summaryrefslogtreecommitdiff
path: root/src/i915_3d.h
AgeCommit message (Collapse)Author
2010-06-07i915: Replace structure passing with macros for shader generation.Chris Wilson
gcc is horribly bad at collapsing the constants: text data bss dec hex filename 282336 8720 256 291312 471f0 intel_drv.so.old 269280 8720 256 278256 43ef0 intel_drv.so Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 6555ef5fd16c9e4fe733caf9e831f29f97462278) Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
2010-05-25Use pwrite to upload the batch bufferChris Wilson
By using pwrite() instead of dri_bo_map() we can write to the batch buffer through the GTT and not be forced to map it back into the CPU domain and out again, eliminating a double clflush. Measing x11perf text performance on PineView: Before: 16000000 trep @ 0.0020 msec (511000.0/sec): Char in 80-char aa line (Charter 10) 16000000 trep @ 0.0021 msec (480000.0/sec): Char in 80-char rgb line (Charter 10) After: 16000000 trep @ 0.0019 msec (532000.0/sec): Char in 80-char aa line (Charter 10) 16000000 trep @ 0.0020 msec (496000.0/sec): Char in 80-char rgb line (Charter 10) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 2b050f330f78d02e7f476e55be29d760271ac61c) Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
2010-05-25Kill paranoid assertions on every write into the batchbuffer.Chris Wilson
On my PineView box these represent ~5% overhead on x11perf text: Before: 16000000 trep @ 0.0020 msec (495000.0/sec): Char in 80-char aa line (Charter 10) 12000000 trep @ 0.0022 msec (461000.0/sec): Char in 80-char rgb line (Charter 10) After: 16000000 trep @ 0.0020 msec (511000.0/sec): Char in 80-char aa line (Charter 10) 16000000 trep @ 0.0021 msec (480000.0/sec): Char in 80-char rgb line (Charter 10) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
2010-03-01i915: Check for overflow before overflowing.Chris Wilson
As the immediate victim of the overflow would be to overwrite the maximum permissible value, the test was optimistic. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 33cabbfca6acb5149e26f87a538a7cb79f00cad2) Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
2010-03-01Check that batch buffers are atomic.Chris Wilson
Since batch buffers are rarely emitted by themselves but as part of a sequence of state and vertices, the whole sequence is emitted atomically. Here we just enforce that batches are marked as being part of an atomic sequence as appropriate. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (Cherry picked from commit 67af5a99253b1295f8dc09b28863eb7dc8b59e1d).
2010-02-28Move to kernel coding style.Eric Anholt
We've talked about doing this since the start of the project, putting it off until "some convenient time". Just after removing a third of the driver seems like a convenient time, when backporting's probably not happening much anyway. (cherry picked from 8ae0e44e42db645abe6d385f561260d2ae4a1960 commit)
2008-06-10Use batchbuffers instead of ring emits for general commands.Eric Anholt
The batchbuffers are managed using libdrm and bufmgr_fake, and dispatched from the ring from userland.
2008-03-18Handle projective transforms on 9xx for Composite.Keith Packard
Projective transforms require un-normalized texture coordinates and the use of the texldp instruction. The coordinates are passed as x/y/z/w (the z is unused, but there isn't a vertext format for just x/y/w).
2008-03-11Remove i830+ driver's use of CARD*/INT* types for great justice.Eric Anholt
Several uses are actually left, which are determined by the X Server interfaces we're implementing.
2008-03-11Add support for brightness control to i915 textured video output.Eric Anholt
2006-07-26Fix a couple of typos from code review.Eric Anholt
2006-07-19Fix the alignment padding fix (didn't bump BEGIN_LP_RING count).Eric Anholt
2006-07-19Force texture alpha channels to 1 if not present.Eric Anholt
2006-07-19Add a trailing MI_NOOP to frag shader output for alignment if necessary.Eric Anholt
2006-07-19Replace hand register setting with new i915 fragmet program API.Eric Anholt
2006-07-18Add an API for programming i915 fragment programs.Eric Anholt