diff options
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 917e1484299..608cb727449 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -6137,9 +6137,15 @@ si_generate_gs_copy_shader(struct si_screen *sscreen, outputs = MALLOC(gsinfo->num_outputs * sizeof(outputs[0])); + if (!outputs) + return NULL; + shader = CALLOC_STRUCT(si_shader); - if (!shader) + if (!shader) { + FREE(outputs); return NULL; + } + shader->selector = gs_selector; shader->is_gs_copy_shader = true; |