vulkan: fix crash in ff_vk_shader_free

The issue is if a shader fails to compile, shd->desc_layout would
not exist, but nb_descriptor_sets would.
master
Lynne 1 week ago
parent 4dc2ae69e7
commit 1029f51285
No known key found for this signature in database
GPG Key ID: A2FEA5F03F034464
  1. 10
      libavutil/vulkan.c

@ -2595,10 +2595,12 @@ void ff_vk_shader_free(FFVulkanContext *s, FFVulkanShader *shd)
av_free(set->binding_offset);
}
for (int i = 0; i < shd->nb_descriptor_sets; i++)
if (shd->desc_layout[i])
vk->DestroyDescriptorSetLayout(s->hwctx->act_dev, shd->desc_layout[i],
s->hwctx->alloc);
if (shd->desc_layout) {
for (int i = 0; i < shd->nb_descriptor_sets; i++)
if (shd->desc_layout[i])
vk->DestroyDescriptorSetLayout(s->hwctx->act_dev, shd->desc_layout[i],
s->hwctx->alloc);
}
av_freep(&shd->desc_pool_size);
av_freep(&shd->desc_layout);

Loading…
Cancel
Save