svga: no-op sampler view referencing if no change

Just to be safe with ref counting and avoid atomic operations.
This commit is contained in:
Brian Paul 2012-02-17 10:18:55 -07:00
parent 0fffaa512c
commit 810584270d

View file

@ -225,12 +225,14 @@ svga_set_fragment_sampler_views(struct pipe_context *pipe,
}
for (i = 0; i < num; i++) {
/* Note: we're using pipe_sampler_view_release() here to work around
* a possible crash when the old view belongs to another context that
* was already destroyed.
*/
pipe_sampler_view_release(pipe, &svga->curr.sampler_views[i]);
pipe_sampler_view_reference(&svga->curr.sampler_views[i], views[i]);
if (svga->curr.sampler_views[i] != views[i]) {
/* Note: we're using pipe_sampler_view_release() here to work around
* a possible crash when the old view belongs to another context that
* was already destroyed.
*/
pipe_sampler_view_release(pipe, &svga->curr.sampler_views[i]);
pipe_sampler_view_reference(&svga->curr.sampler_views[i], views[i]);
}
if (!views[i])
continue;