[FFmpeg-cvslog] libavutil/vulkan: Prevent crash on shaders with no descriptors
IndecisiveTurtle
git at videolan.org
Sun Oct 6 02:35:01 EEST 2024
ffmpeg | branch: master | IndecisiveTurtle <geoster3d at gmail.com> | Sat Oct 5 03:51:42 2024 +0300| [d80676117a80e8759c4f2ee44b613d2bf9e27d0b] | committer: Lynne
libavutil/vulkan: Prevent crash on shaders with no descriptors
Needed to prevent crashes on vc2 vulkan encoder patch
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d80676117a80e8759c4f2ee44b613d2bf9e27d0b
---
libavutil/vulkan.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
index 44552e97b8..cd617496dc 100644
--- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c
@@ -2022,7 +2022,7 @@ static inline FFVulkanShaderData *get_shd_data(FFVkExecContext *e,
for (int i = 0; i < e->parent->nb_reg_shd; i++)
if (e->parent->reg_shd[i].shd == shd)
return &e->parent->reg_shd[i];
- av_assert0(0);
+ return NULL;
}
static inline void update_set_descriptor(FFVulkanContext *s, FFVkExecContext *e,
@@ -2239,7 +2239,7 @@ void ff_vk_exec_bind_shader(FFVulkanContext *s, FFVkExecContext *e,
vk->CmdBindPipeline(e->buf, shd->bind_point, shd->pipeline);
}
- if (sd->nb_descriptor_sets) {
+ if (sd && sd->nb_descriptor_sets) {
if (s->extensions & FF_VK_EXT_DESCRIPTOR_BUFFER) {
for (int i = 0; i < sd->nb_descriptor_sets; i++)
offsets[i] = shd->desc_set[i].singular ? 0 : shd->desc_set[i].aligned_size*e->idx;
More information about the ffmpeg-cvslog
mailing list