From 9d0406c52f01f3e8a8b5dbd523a7ff10b91b0b42 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 5 Jul 2018 13:34:14 -0700 Subject: [PATCH] v3d: Fix leak of the default attributes BOs. The GLES3 CTS makes a lot more progress on a run now. --- src/gallium/drivers/v3d/v3dx_state.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/v3d/v3dx_state.c b/src/gallium/drivers/v3d/v3dx_state.c index ff1c4b52125..f775c531e5f 100644 --- a/src/gallium/drivers/v3d/v3dx_state.c +++ b/src/gallium/drivers/v3d/v3dx_state.c @@ -416,6 +416,15 @@ v3d_vertex_state_create(struct pipe_context *pctx, unsigned num_elements, return so; } +static void +v3d_vertex_state_delete(struct pipe_context *pctx, void *hwcso) +{ + struct v3d_vertex_stateobj *so = hwcso; + + v3d_bo_unreference(&so->default_attribute_values); + free(so); +} + static void v3d_vertex_state_bind(struct pipe_context *pctx, void *hwcso) { @@ -959,7 +968,7 @@ v3dX(state_init)(struct pipe_context *pctx) pctx->delete_depth_stencil_alpha_state = v3d_generic_cso_state_delete; pctx->create_vertex_elements_state = v3d_vertex_state_create; - pctx->delete_vertex_elements_state = v3d_generic_cso_state_delete; + pctx->delete_vertex_elements_state = v3d_vertex_state_delete; pctx->bind_vertex_elements_state = v3d_vertex_state_bind; pctx->create_sampler_state = v3d_create_sampler_state; -- 2.30.2