radeonsi: unreference framebuffer state with set_framebuffer_state
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
e607a6be2b
commit
ebb9c7d7c4
|
@ -43,7 +43,11 @@ static void si_destroy_context(struct pipe_context *context)
|
|||
struct si_context *sctx = (struct si_context *)context;
|
||||
int i;
|
||||
|
||||
si_dec_framebuffer_counters(&sctx->framebuffer.state);
|
||||
/* Unreference the framebuffer normally to disable related logic
|
||||
* properly.
|
||||
*/
|
||||
struct pipe_framebuffer_state fb = {};
|
||||
context->set_framebuffer_state(context, &fb);
|
||||
|
||||
si_release_all_descriptors(sctx);
|
||||
|
||||
|
@ -79,7 +83,6 @@ static void si_destroy_context(struct pipe_context *context)
|
|||
sctx->b.b.delete_blend_state(&sctx->b.b, sctx->custom_blend_fastclear);
|
||||
if (sctx->custom_blend_dcc_decompress)
|
||||
sctx->b.b.delete_blend_state(&sctx->b.b, sctx->custom_blend_dcc_decompress);
|
||||
util_unreference_framebuffer_state(&sctx->framebuffer.state);
|
||||
|
||||
if (sctx->blitter)
|
||||
util_blitter_destroy(sctx->blitter);
|
||||
|
|
|
@ -2209,7 +2209,7 @@ static void si_init_depth_surface(struct si_context *sctx,
|
|||
surf->depth_initialized = true;
|
||||
}
|
||||
|
||||
void si_dec_framebuffer_counters(const struct pipe_framebuffer_state *state)
|
||||
static void si_dec_framebuffer_counters(const struct pipe_framebuffer_state *state)
|
||||
{
|
||||
for (int i = 0; i < state->nr_cbufs; ++i) {
|
||||
struct r600_surface *surf = NULL;
|
||||
|
|
|
@ -332,7 +332,6 @@ si_create_sampler_view_custom(struct pipe_context *ctx,
|
|||
const struct pipe_sampler_view *state,
|
||||
unsigned width0, unsigned height0,
|
||||
unsigned force_level);
|
||||
void si_dec_framebuffer_counters(const struct pipe_framebuffer_state *state);
|
||||
|
||||
/* si_state_shader.c */
|
||||
bool si_update_shaders(struct si_context *sctx);
|
||||
|
|
Loading…
Reference in New Issue