svga: rebind using render target surfaces in hw draw state
authorCharmaine Lee <charmainel@vmware.com>
Thu, 30 Jun 2016 20:08:25 +0000 (13:08 -0700)
committerBrian Paul <brianp@vmware.com>
Fri, 8 Jul 2016 18:53:20 +0000 (12:53 -0600)
commitc3c7ff014b531b18e87ddef920b20388a675ab94
tree9e4e5aa8fd0e2c6fc62d683c3b43b5bb34f0f9af
parentda98cee067fcf61ac6f2c70c91b0c8eab27eba92
svga: rebind using render target surfaces in hw draw state

Currently when we rebind framebuffer resources at the beginning of
the command buffer, we use the color buffer surfaces saved in the context
hw clear state. But the surfaces could be different from the actual
emitted render target surfaces if any of the color buffer surfaces
is also used for shader resource, in that case, we create
a backed surface for the collided render target surface. So to rebind
the framebuffer resources correctly, use the render target surfaces saved
in the context hw draw state.

Tested with Heaven, Lightsmark2008, MTT piglit, glretrace, conform.

Reviewed-by: Brian Paul <brianp@vmware.com>
src/gallium/drivers/svga/svga_state_framebuffer.c