summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/util/u_blitter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/util/u_blitter.c')
-rw-r--r--src/gallium/auxiliary/util/u_blitter.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c
index 98d5a25a3f8..85c5f36391c 100644
--- a/src/gallium/auxiliary/util/u_blitter.c
+++ b/src/gallium/auxiliary/util/u_blitter.c
@@ -302,6 +302,7 @@ static void blitter_restore_CSOs(struct blitter_context_priv *ctx)
*/
if (ctx->blitter.saved_fb_state.nr_cbufs != ~0) {
pipe->set_framebuffer_state(pipe, &ctx->blitter.saved_fb_state);
+ util_assign_framebuffer_state(&ctx->blitter.saved_fb_state, NULL);
ctx->blitter.saved_fb_state.nr_cbufs = ~0;
}
@@ -316,6 +317,11 @@ static void blitter_restore_CSOs(struct blitter_context_priv *ctx)
pipe->set_fragment_sampler_views(pipe,
ctx->blitter.saved_num_sampler_views,
ctx->blitter.saved_sampler_views);
+
+ for (i = 0; i < ctx->blitter.saved_num_sampler_views; i++)
+ pipe_sampler_view_reference(&ctx->blitter.saved_sampler_views[i],
+ NULL);
+
ctx->blitter.saved_num_sampler_views = ~0;
}