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,13 +5799,14 @@ zink_gfx_shader_free(struct zink_screen *screen, struct zink_shader *shader)
|
|||||||
zink_gfx_shader_free(screen, shader->non_fs.generated_tcs);
|
zink_gfx_shader_free(screen, shader->non_fs.generated_tcs);
|
||||||
shader->non_fs.generated_tcs = NULL;
|
shader->non_fs.generated_tcs = NULL;
|
||||||
}
|
}
|
||||||
for (unsigned int i = 0; i < ARRAY_SIZE(shader->non_fs.generated_gs); i++) {
|
if (shader->info.stage != MESA_SHADER_FRAGMENT) {
|
||||||
for (int j = 0; j < ARRAY_SIZE(shader->non_fs.generated_gs[0]); j++) {
|
for (unsigned int i = 0; i < ARRAY_SIZE(shader->non_fs.generated_gs); i++) {
|
||||||
if (shader->info.stage != MESA_SHADER_FRAGMENT &&
|
for (int j = 0; j < ARRAY_SIZE(shader->non_fs.generated_gs[0]); j++) {
|
||||||
shader->non_fs.generated_gs[i][j]) {
|
if (shader->non_fs.generated_gs[i][j]) {
|
||||||
/* automatically destroy generated gs shaders when owner is destroyed */
|
/* automatically destroy generated gs shaders when owner is destroyed */
|
||||||
zink_gfx_shader_free(screen, shader->non_fs.generated_gs[i][j]);
|
zink_gfx_shader_free(screen, shader->non_fs.generated_gs[i][j]);
|
||||||
shader->non_fs.generated_gs[i][j] = NULL;
|
shader->non_fs.generated_gs[i][j] = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user