svga: Rebind framebuffer and tss bindings strictly when necessary.
authorJosé Fonseca <jfonseca@vmware.com>
Thu, 7 Apr 2011 15:54:37 +0000 (16:54 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 12 Apr 2011 11:00:49 +0000 (12:00 +0100)
commit6b95cfb0de1bcd680679a20d6ecc32b42e5d1546
treefb09be44e1bc379cf25aab685fdc8cdff7a570b8
parente338a1b0cea94f8c57968b01eebd795c6c8ce74e
svga: Rebind framebuffer and tss bindings strictly when necessary.

The earlier change to ensure rendertargets and textures are always
rebound at every command buffer start had the downside of making
successive flushes no longer no-ops, as a command buffer with merely
the rebinding commands were being unnecessarily sent to the vGPU.

This change only re-emits the bindings when necessary, by keeping track
of the need to rebind outside of the dirty state update mechanism.
src/gallium/drivers/svga/svga_context.c
src/gallium/drivers/svga/svga_context.h
src/gallium/drivers/svga/svga_draw.c
src/gallium/drivers/svga/svga_pipe_clear.c
src/gallium/drivers/svga/svga_state_framebuffer.c
src/gallium/drivers/svga/svga_state_tss.c