Indeed, gs_copy_shader was not freed.
Fixes: commit
1371d65a7fbd695d3516861fe733685569d890d0
r600g: initial support for geometry shaders on evergreen (v2)
For instance, with "piglit/bin/shader_runner generated_tests/spec/arb_gpu_shader_int64/execution/built-in-functions/gs-abs-i64vec2.shader_test -auto -fbo"
while setting GALLIUM_REFCNT_LOG=refcnt.log.
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22087>
struct r600_pipe_shader *p = sel->current, *c;
while (p) {
c = p->next_variant;
+ if (p->gs_copy_shader) {
+ r600_pipe_shader_destroy(ctx, p->gs_copy_shader);
+ free(p->gs_copy_shader);
+ }
r600_pipe_shader_destroy(ctx, p);
free(p);
p = c;