svga: flush our command buffer after the 8th distinct render target
authorKeith Whitwell <keithw@vmware.com>
Fri, 27 Nov 2009 12:19:28 +0000 (12:19 +0000)
committerKeith Whitwell <keithw@vmware.com>
Fri, 27 Nov 2009 12:24:57 +0000 (12:24 +0000)
commitb84b7f19dfdc0ac02175847065b39110db7ad98f
tree9de4431e0067509b1533302a3e8450008f371077
parentb911688b87a011eacf2034bd61562e633952a66b
svga: flush our command buffer after the 8th distinct render target

This helps improve the surface cache behaviour in the face of the
large number of single-use render targets generated by EXA and the xorg
state tracker.  Without this we can reference hundreds of individual
render targets from a command buffer, which leaves little scope for
sharing or reuse of those targets.

Flushing early means we can start reusing textures much sooner.

This shouldn't have much effect on normal 3d rendering as it's pretty
rare to have a command buffer with >8 different render targets in that
world.
src/gallium/drivers/svga/svga_context.c
src/gallium/drivers/svga/svga_context.h
src/gallium/drivers/svga/svga_state_framebuffer.c