On Mon, Apr 7, 2014 at 12:32 PM, Thomas Hellstrom <thellst...@vmware.com> wrote: > Binding a new destination may cause the svga driver to emit draw calls > while propagating the surface. Make sure this doesn't happen in the middle > of sampler state setup where state may be incosistent. > > In practice, surface propagation should never happen here and even if it did, > it wouldn't be a valid reason for the svga driver to emit partially set up > state, but to avoid future uncertainties, make sure this doesn't happen > anyway. > > Found while auditing the state tracker for inconsistent sampler state / > sampler view setup. > > Signed-off-by: Thomas Hellstrom <thellst...@vmware.com> > --- > src/gallium/state_trackers/xa/xa_renderer.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-)
Reviewed-by: Jakob Bornecrantz <ja...@vmware.com> Cheers, Jakob. > > diff --git a/src/gallium/state_trackers/xa/xa_renderer.c > b/src/gallium/state_trackers/xa/xa_renderer.c > index b775509..d22851f 100644 > --- a/src/gallium/state_trackers/xa/xa_renderer.c > +++ b/src/gallium/state_trackers/xa/xa_renderer.c > @@ -406,6 +406,9 @@ renderer_copy_prepare(struct xa_context *r, > PIPE_BIND_RENDER_TARGET)); > (void)screen; > > + renderer_bind_destination(r, dst_surface, > + dst_surface->width, dst_surface->height); > + > /* set misc state we care about */ > { > struct pipe_blend_state blend; > @@ -435,9 +438,6 @@ renderer_copy_prepare(struct xa_context *r, > cso_single_sampler_done(r->cso, PIPE_SHADER_FRAGMENT); > } > > - renderer_bind_destination(r, dst_surface, > - dst_surface->width, dst_surface->height); > - > /* texture/sampler view */ > { > struct pipe_sampler_view templ; > -- > 1.9.1 > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev