summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_state_upload.c
AgeCommit message (Collapse)Author
2011-02-21i965: Micro-optimise check_stateChris Wilson
Replace the intermediate tests due to the logical or with the bitwise or. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-21i965: Move repeat-instruction-suppression to batchbuffer coreChris Wilson
Move the tracking of the last emitted instructions into the core batchbuffer routines and take advantage of the shadow batch copy to avoid extra memory allocations and copies. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-21intel: use pwrite for batchChris Wilson
It's faster. Not only is the memcpy more efficiently performed in the kernel (making up for the system call overhead), but by not using mmap we remove the greater overhead of tracking the vma of every batch. And it means we can read back from the batch buffer without incurring the cost of a uncached read through the GTT. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-08i965: Add missing DEFINE_BITS for brw dirty bits.Kenneth Graunke
These are only used for debugging, but should be there. Found by inspection.
2011-01-23i965: remove _NEW_ACCUMBrian Paul
2010-12-28Revert "i965: upload multisample state for fragment program change"Zhenyu Wang
This reverts commit de6fd527a545f8344e074312544517d05573fb72. Revert this workaround as it seems the real trouble is caused by lineloop, which doesn't require GS convert on sandybridge actually.
2010-12-23i965: upload multisample state for fragment program changeZhenyu Wang
This makes conformance tests stable on sandybridge D0 to track multisample state before SF/WM state.
2010-12-07i965: Fix comment about gen6_wm_constants.Eric Anholt
This is the push constant buffer, not the pull constants.
2010-11-03intel: Annotate debug printout checks with unlikely().Eric Anholt
This provides the optimizer with hints about code hotness, which we're quite certain about for debug printouts (or, rather, while we developers often hit the checks for debug printouts, we don't care about performance while doing so).
2010-10-26i965: Set up the constant buffer on gen6 when it's needed.Eric Anholt
This was slightly confused because gen6_wm_constants does the push constant buffer, while brw_wm_constants does pull constants.
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2010-09-28i965: fix scissor state on sandybridgeZhenyu Wang
Fix incorrect scissor rect struct and missed scissor state pointer setting for sandybridge.
2010-09-23mesa: Remove SGI_color_matrix.Eric Anholt
Another optional ARB_imaging subset extension.
2010-08-25i965: Remove unnecessary header.Vinson Lee
2010-08-22i965: Fix up WM push constant setup on gen6.Eric Anholt
Fixes glsl-algebraic-add-add-1.
2010-08-22i965: Use intel->gen >= 6 instead of IS_GEN6.Eric Anholt
2010-06-12i965: Update gen6 paths for the streaming rework.Eric Anholt
2010-06-11i965: Remove caching of surface state objects.Eric Anholt
It turns out that computing a 56 byte key to look up a 20-byte object out of a hash table was some sort of a bad idea. Whoops. before: [ # ] backend test min(s) median(s) stddev. count [ 0] gl firefox-talos-gfx 37.799 38.203 0.39% 6/6 after: [ 0] gl firefox-talos-gfx 34.761 34.784 0.17% 5/6
2010-06-11i965: Convert the binding table to streamed indirect state.Eric Anholt
This slightly reduces reduces cairo-gl firefox-talos-gfx runtime on my Ironlake: before: [ # ] backend test min(s) median(s) stddev. count [ 0] gl firefox-talos-gfx 38.236 38.383 0.43% 5/6 after: [ 0] gl firefox-talos-gfx 37.799 38.203 0.39% 6/6 It turns out the cost of caching these objects and looking them up in the cache again is greater than the cost of just computing the object again, particularly when the overhead of having a separate BO to pin is removed. (Those that are paying close attention will note that this is a reversal of the path I was moving the driver in a couple of years ago. The major thing that has changed is that back then all state was recomputed when we wrapped the streaming state buffer, including recompiling our precious programs. Now, we're uncaching just the objects that are cheap to compute, and retaining caching of expensive objects)
2010-06-11i965: Split constant buffer setup from its surface state/binding state.Eric Anholt
This was bothering me when redoing the binding tables.
2010-06-11i965: Set the CC VP state immediately on state change.Eric Anholt
The cache lookup of these two little floats was .12% of total CPU time on firefox-talos-gfx because we did it any time commonly-changed state changed. On the other hand, updating the CC VP bo immediately whenver CC VP state changes is a .07% overhead due to putting a driver hoook in glEnable().
2010-06-08intel: Change dri_bo_* to drm_intel_bo* to consistently use new API.Eric Anholt
The slightly less mechanical change of converting the emit_reloc calls will follow.
2010-02-25i965: Set up the SNB sampler state pointers.Eric Anholt
2010-02-25i965: Move PIPELINE_SELECT to the top of gen6 3d pipeline setup.Eric Anholt
2010-02-25i965: Untested Sandybridge WM packets.Eric Anholt
2010-02-25i965: Hook up remaining Sandybridge state packets besides WM.Eric Anholt
2010-02-25i965: Untested Sandybridge SF setup.Eric Anholt
2010-02-25i965: Add Sandybridge viewport setup.Eric Anholt
2010-02-25i965: Enable DRAWING_RECTANGLE emit on Sandybridge.Eric Anholt
2010-02-25i965: Add Sandybridge scissor state.Eric Anholt
2010-02-25i965: Set the state base address on Sandybridge.Eric Anholt
2010-02-25i965: Reconnect the index/vertex setup.Eric Anholt
2010-02-25i965: Set up the SNB URB.Eric Anholt
even with vs disabled, still doesn't work.
2010-02-25i965: Get vp-tri batchbuffers running (no rendering).Eric Anholt
2010-02-25i965: Add untested REJECT_ALL clip state.Eric Anholt
2010-02-25i965: Add untested passthrough GS setup.Eric Anholt
2010-02-25i965: Add untested Sandybridge passthrough VS setup.Eric Anholt
2010-02-25i965: Start adding support for the Sandybridge CC unit.Eric Anholt
2010-02-25i965: Update WM surface state setup for sandybridge's new BLEND_STATE.Eric Anholt
2010-02-25i965: Set up sandybridge depthbuffer.Eric Anholt
2010-02-25intel: Start adding defines and some bits for sandybridge bringup.Eric Anholt
2010-02-19Remove _mesa_memset in favor of plain memset.Kenneth Graunke
This may break the SUNOS4 build, but it's no longer relevant.
2010-01-19intel: Remove dead note_fence vtbl hook.Eric Anholt
2010-01-19i965: Remove obsolete comment about the state atoms.Eric Anholt
2009-11-21i965: Fix several memory leaks on exit.Eric Anholt
Bug #25194.
2009-11-03intel: avoid unnecessary front buffer flushing/updatingBrian Paul
Before, if we just called glXMakeCurrent() and didn't render anything we'd still trigger a flushFrontBuffer() call. Now only set the intel->front_buffer_dirty field at state validation time just before we draw something. NOTE: additional calls to intel_check_front_buffer_rendering() might be needed if I missed some rendering paths.
2009-10-27i965: be clear that the Fallback field is a boolean, not a bitfieldBrian Paul
2009-09-24i965: Clean up some mess with the batch cache.Eric Anholt
Its flagging of extra state that's already flagged by the vtbl new_batch when appropriate was confusing my tracking down of the OA clear bug.
2009-08-26i965: added texture unit sanity checkBrian Paul
Check that all the textures needed by the current fragment program actually exist and are valid.
2009-08-12i965: Avoid re-uploading the index buffer when we don't need to.Eric Anholt
No performance difference proven at 95% confidence with my GLSL demo (n=10).