zink: promote a conditional on gfx shader destroy
it only makes sense to run these loops in the cases where they might be true Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27358>
This commit is contained in:
@@ -5799,16 +5799,17 @@ zink_gfx_shader_free(struct zink_screen *screen, struct zink_shader *shader)
|
||||
zink_gfx_shader_free(screen, shader->non_fs.generated_tcs);
|
||||
shader->non_fs.generated_tcs = NULL;
|
||||
}
|
||||
if (shader->info.stage != MESA_SHADER_FRAGMENT) {
|
||||
for (unsigned int i = 0; i < ARRAY_SIZE(shader->non_fs.generated_gs); i++) {
|
||||
for (int j = 0; j < ARRAY_SIZE(shader->non_fs.generated_gs[0]); j++) {
|
||||
if (shader->info.stage != MESA_SHADER_FRAGMENT &&
|
||||
shader->non_fs.generated_gs[i][j]) {
|
||||
if (shader->non_fs.generated_gs[i][j]) {
|
||||
/* automatically destroy generated gs shaders when owner is destroyed */
|
||||
zink_gfx_shader_free(screen, shader->non_fs.generated_gs[i][j]);
|
||||
shader->non_fs.generated_gs[i][j] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
zink_shader_free(screen, shader);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user