From 0b50fcbd556ead8d35c2b543f13de433996a5822 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Tue, 29 Jun 2010 01:52:09 +0200 Subject: util: reference surfaces and sampler views in blitter when saving them Ooops. This should possibly fix some bugs... --- src/gallium/auxiliary/util/u_blitter.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/gallium/auxiliary/util/u_blitter.c') diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c index 98d5a25a3f..85c5f36391 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; } -- cgit v1.2.3