This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 9e9ac0dcd93d0dfe31827237539cb82b4c7e4dc7 Author: Lynne <[email protected]> AuthorDate: Sun Jul 12 14:11:45 2026 +0900 Commit: Lynne <[email protected]> CommitDate: Mon Jul 13 18:57:37 2026 +0900 vulkan: remove runtime shader compilation support No longer needed. --- libavcodec/apv_encode_vulkan.c | 6 +- libavcodec/ffv1enc_vulkan.c | 26 ++--- libavcodec/proresenc_kostya_vulkan.c | 10 +- libavcodec/vulkan_apv.c | 4 +- libavcodec/vulkan_dpx.c | 2 +- libavcodec/vulkan_ffv1.c | 12 +-- libavcodec/vulkan_prores.c | 4 +- libavcodec/vulkan_prores_raw.c | 4 +- libavfilter/vf_avgblur_vulkan.c | 2 +- libavfilter/vf_blackdetect_vulkan.c | 2 +- libavfilter/vf_blend_vulkan.c | 2 +- libavfilter/vf_bwdif_vulkan.c | 2 +- libavfilter/vf_chromaber_vulkan.c | 2 +- libavfilter/vf_flip_vulkan.c | 2 +- libavfilter/vf_gblur_vulkan.c | 6 +- libavfilter/vf_interlace_vulkan.c | 2 +- libavfilter/vf_nlmeans_vulkan.c | 12 +-- libavfilter/vf_overlay_vulkan.c | 2 +- libavfilter/vf_scale_vulkan.c | 4 +- libavfilter/vf_scdet_vulkan.c | 2 +- libavfilter/vf_transpose_vulkan.c | 2 +- libavfilter/vf_v360_vulkan.c | 2 +- libavfilter/vf_xfade_vulkan.c | 2 +- libavfilter/vsrc_testsrc_vulkan.c | 2 +- libavutil/vulkan.c | 181 +---------------------------------- libavutil/vulkan.h | 59 +----------- libswscale/vulkan/ops.c | 4 +- 27 files changed, 67 insertions(+), 293 deletions(-) diff --git a/libavcodec/apv_encode_vulkan.c b/libavcodec/apv_encode_vulkan.c index c4a4e8732c..076d151d77 100644 --- a/libavcodec/apv_encode_vulkan.c +++ b/libavcodec/apv_encode_vulkan.c @@ -258,7 +258,7 @@ static int init_dct_shader(AVCodecContext *avctx) .elems = av_pix_fmt_count_planes(ev->sw_format), }, }; - RET(ff_vk_shader_add_descriptor_set(&ev->s, shd, desc_set, 2, 0, 0)); + ff_vk_shader_add_descriptor_set(&ev->s, shd, desc_set, 2, 0); RET(ff_vk_shader_link(&ev->s, shd, ff_apv_encode_dct_comp_spv_data, @@ -299,7 +299,7 @@ static int init_entropy_shader(AVCodecContext *avctx, int blocks_per_mb, .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - RET(ff_vk_shader_add_descriptor_set(&ev->s, shd, desc_set, 2, 0, 0)); + ff_vk_shader_add_descriptor_set(&ev->s, shd, desc_set, 2, 0); RET(ff_vk_shader_link(&ev->s, shd, ff_apv_encode_tiles_comp_spv_data, @@ -330,7 +330,7 @@ static int init_compact_shader(AVCodecContext *avctx) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - RET(ff_vk_shader_add_descriptor_set(&ev->s, shd, desc_set, 1, 0, 0)); + ff_vk_shader_add_descriptor_set(&ev->s, shd, desc_set, 1, 0); RET(ff_vk_shader_link(&ev->s, shd, ff_seg_gather_comp_spv_data, diff --git a/libavcodec/ffv1enc_vulkan.c b/libavcodec/ffv1enc_vulkan.c index 7e7edbfd0e..34a18fcb57 100644 --- a/libavcodec/ffv1enc_vulkan.c +++ b/libavcodec/ffv1enc_vulkan.c @@ -967,7 +967,7 @@ static int init_rct_search_shader(AVCodecContext *avctx, VkSpecializationInfo *s .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1); const FFVulkanDescriptorSetBinding desc_set[] = { { /* slice_data_buf */ @@ -980,7 +980,7 @@ static int init_rct_search_shader(AVCodecContext *avctx, VkSpecializationInfo *s .elems = av_pix_fmt_count_planes(fv->s.frames->sw_format), }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 2, 0, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 2, 0); RET(ff_vk_shader_link(&fv->s, shd, ff_ffv1_enc_rct_search_comp_spv_data, @@ -1011,7 +1011,7 @@ static int init_sort32_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1); const FFVulkanDescriptorSetBinding desc_set[] = { { /* slice_data_buf */ @@ -1028,7 +1028,7 @@ static int init_sort32_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 3, 0, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 3, 0); RET(ff_vk_shader_link(&fv->s, shd, ff_ffv1_enc_sort32_comp_spv_data, @@ -1058,7 +1058,7 @@ static int init_remap_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1); const FFVulkanDescriptorSetBinding desc_set[] = { { /* slice_data_buf */ @@ -1075,7 +1075,7 @@ static int init_remap_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 3, 0, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 3, 0); RET(ff_vk_shader_link(&fv->s, shd, ff_ffv1_enc_remap_comp_spv_data, @@ -1105,7 +1105,7 @@ static int init_setup_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1); const FFVulkanDescriptorSetBinding desc_set[] = { { /* slice_data_buf */ @@ -1117,7 +1117,7 @@ static int init_setup_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 2, 0, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 2, 0); RET(ff_vk_shader_link(&fv->s, shd, ff_ffv1_enc_setup_comp_spv_data, @@ -1149,7 +1149,7 @@ static int init_reset_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 1, 1); const FFVulkanDescriptorSetBinding desc_set[] = { { /* slice_data_buf */ @@ -1161,7 +1161,7 @@ static int init_reset_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 2, 0, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 2, 0); if (fv->ctx.ac == AC_GOLOMB_RICE) RET(ff_vk_shader_link(&fv->s, shd, @@ -1206,7 +1206,7 @@ static int init_encode_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 3, 1, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set_const, 3, 1); const FFVulkanDescriptorSetBinding desc_set[] = { { /* slice_data_buf */ @@ -1236,7 +1236,7 @@ static int init_encode_shader(AVCodecContext *avctx, VkSpecializationInfo *sl) }, }; ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, - 4 + fv->is_rgb + !!f->remap_mode, 0, 0); + 4 + fv->is_rgb + !!f->remap_mode, 0); if (f->bayer) { if (fv->ctx.ac == AC_GOLOMB_RICE) @@ -1300,7 +1300,7 @@ static int init_gather_shader(AVCodecContext *avctx) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 1, 0, 0); + ff_vk_shader_add_descriptor_set(&fv->s, shd, desc_set, 1, 0); RET(ff_vk_shader_link(&fv->s, shd, ff_seg_gather_comp_spv_data, diff --git a/libavcodec/proresenc_kostya_vulkan.c b/libavcodec/proresenc_kostya_vulkan.c index ab71394337..e95302f928 100644 --- a/libavcodec/proresenc_kostya_vulkan.c +++ b/libavcodec/proresenc_kostya_vulkan.c @@ -169,7 +169,7 @@ static int init_slice_data_pipeline(ProresVulkanContext *pv, FFVulkanShader *shd .elems = av_pix_fmt_count_planes(vkctx->frames->sw_format), }, }; - RET(ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 2, 0, 0)); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 2, 0); ff_vk_shader_add_push_const(shd, 0, sizeof(SliceDataInfo), VK_SHADER_STAGE_COMPUTE_BIT); @@ -210,7 +210,7 @@ static int init_alpha_data_pipeline(ProresVulkanContext *pv, FFVulkanShader* shd .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - RET(ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 2, 0, 0)); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 2, 0); RET(ff_vk_shader_link(vkctx, shd, ff_prores_ks_alpha_data_comp_spv_data, @@ -260,7 +260,7 @@ static int init_estimate_slice_pipeline(ProresVulkanContext *pv, FFVulkanShader* .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - RET(ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 3, 0, 0)); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 3, 0); RET(ff_vk_shader_link(vkctx, shd, ff_prores_ks_estimate_slice_comp_spv_data, @@ -304,7 +304,7 @@ static int init_trellis_node_pipeline(ProresVulkanContext *pv, FFVulkanShader* s .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - RET(ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 2, 0, 0)); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 2, 0); RET(ff_vk_shader_link(vkctx, shd, ff_prores_ks_trellis_node_comp_spv_data, @@ -350,7 +350,7 @@ static int init_encode_slice_pipeline(ProresVulkanContext *pv, FFVulkanShader* s .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - RET(ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 3, 0, 0)); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 3, 0); ff_vk_shader_add_push_const(shd, 0, sizeof(EncodeSliceInfo), VK_SHADER_STAGE_COMPUTE_BIT); diff --git a/libavcodec/vulkan_apv.c b/libavcodec/vulkan_apv.c index 4c9b61d7e6..9c077cafb4 100644 --- a/libavcodec/vulkan_apv.c +++ b/libavcodec/vulkan_apv.c @@ -409,7 +409,7 @@ static int init_decode_shader(AVCodecContext *avctx, FFVulkanContext *s, .stages = VK_SHADER_STAGE_COMPUTE_BIT, } }; - ff_vk_shader_add_descriptor_set(s, shd, desc_set, 3, 0, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set, 3, 0); RET(ff_vk_shader_link(s, shd, ff_apv_decode_comp_spv_data, @@ -464,7 +464,7 @@ static int init_idct_shader(AVCodecContext *avctx, FFVulkanContext *s, .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(s, shd, desc_set, 3, 0, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set, 3, 0); RET(ff_vk_shader_link(s, shd, ff_apv_idct_comp_spv_data, diff --git a/libavcodec/vulkan_dpx.c b/libavcodec/vulkan_dpx.c index f0963f0f39..103dd65694 100644 --- a/libavcodec/vulkan_dpx.c +++ b/libavcodec/vulkan_dpx.c @@ -252,7 +252,7 @@ static int init_shader(AVCodecContext *avctx, FFVulkanContext *s, .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(s, shd, desc_set, 2 + (2*!unpack), 0, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set, 2 + (2*!unpack), 0); const unsigned char *src = ff_dpx_copy_comp_spv_data; size_t src_len = ff_dpx_copy_comp_spv_len; diff --git a/libavcodec/vulkan_ffv1.c b/libavcodec/vulkan_ffv1.c index 4be037d2dc..d61f66455e 100644 --- a/libavcodec/vulkan_ffv1.c +++ b/libavcodec/vulkan_ffv1.c @@ -583,7 +583,7 @@ static int init_setup_shader(FFV1Context *f, FFVulkanContext *s, .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(s, shd, desc_set_const, 2, 1, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set_const, 2, 1); const FFVulkanDescriptorSetBinding desc_set[] = { { /* slice_data_buf */ @@ -603,7 +603,7 @@ static int init_setup_shader(FFV1Context *f, FFVulkanContext *s, .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(s, shd, desc_set, 4, 0, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set, 4, 0); RET(ff_vk_shader_link(s, shd, ff_ffv1_dec_setup_comp_spv_data, @@ -634,7 +634,7 @@ static int init_reset_shader(FFV1Context *f, FFVulkanContext *s, .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(s, shd, desc_set_const, 1, 1, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set_const, 1, 1); const FFVulkanDescriptorSetBinding desc_set[] = { { /* slice_data_buf */ @@ -646,7 +646,7 @@ static int init_reset_shader(FFV1Context *f, FFVulkanContext *s, .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(s, shd, desc_set, 2, 0, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set, 2, 0); if (ac == AC_GOLOMB_RICE) RET(ff_vk_shader_link(s, shd, @@ -689,7 +689,7 @@ static int init_decode_shader(FFV1Context *f, FFVulkanContext *s, .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(s, shd, desc_set_const, 2, 1, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set_const, 2, 1); const FFVulkanDescriptorSetBinding desc_set[] = { { /* slice_data_buf */ @@ -733,7 +733,7 @@ static int init_decode_shader(FFV1Context *f, FFVulkanContext *s, /* Bindings 5 (dst) and 6 (fltmap_buf) are conditional */ ff_vk_shader_add_descriptor_set(s, shd, desc_set, 5 + rgb + (is_float && !bayer), - 0, 0); + 0); if (bayer) { if (ac == AC_GOLOMB_RICE) diff --git a/libavcodec/vulkan_prores.c b/libavcodec/vulkan_prores.c index c5611894b1..ef3b5381a6 100644 --- a/libavcodec/vulkan_prores.c +++ b/libavcodec/vulkan_prores.c @@ -387,7 +387,7 @@ static int init_decode_shader(AVCodecContext *avctx, FFVulkanContext *s, .elems = av_pix_fmt_count_planes(dec_frames_ctx->sw_format), }, }; - ff_vk_shader_add_descriptor_set(s, shd, desc_set, 3, 0, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set, 3, 0); RET(ff_vk_shader_link(s, shd, ff_prores_vld_comp_spv_data, @@ -443,7 +443,7 @@ static int init_idct_shader(AVCodecContext *avctx, FFVulkanContext *s, .elems = av_pix_fmt_count_planes(dec_frames_ctx->sw_format), }, }; - RET(ff_vk_shader_add_descriptor_set(s, shd, desc_set, 3, 0, 0)); + ff_vk_shader_add_descriptor_set(s, shd, desc_set, 3, 0); RET(ff_vk_shader_link(s, shd, ff_prores_idct_comp_spv_data, diff --git a/libavcodec/vulkan_prores_raw.c b/libavcodec/vulkan_prores_raw.c index 4a8d92c627..3642f5aa77 100644 --- a/libavcodec/vulkan_prores_raw.c +++ b/libavcodec/vulkan_prores_raw.c @@ -290,7 +290,9 @@ static int add_desc(AVCodecContext *avctx, FFVulkanContext *s, }, }; - return ff_vk_shader_add_descriptor_set(s, shd, desc_set, 2, 0, 0); + ff_vk_shader_add_descriptor_set(s, shd, desc_set, 2, 0); + + return 0; } static int init_decode_shader(AVCodecContext *avctx, FFVulkanContext *s, diff --git a/libavfilter/vf_avgblur_vulkan.c b/libavfilter/vf_avgblur_vulkan.c index 3716f62ccd..da00e3579d 100644 --- a/libavfilter/vf_avgblur_vulkan.c +++ b/libavfilter/vf_avgblur_vulkan.c @@ -81,7 +81,7 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in) .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc_set, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc_set, 2, 0); RET(ff_vk_shader_link(vkctx, &s->shd, ff_avgblur_comp_spv_data, diff --git a/libavfilter/vf_blackdetect_vulkan.c b/libavfilter/vf_blackdetect_vulkan.c index 3a8da6a7e9..298b298a18 100644 --- a/libavfilter/vf_blackdetect_vulkan.c +++ b/libavfilter/vf_blackdetect_vulkan.c @@ -101,7 +101,7 @@ static av_cold int init_filter(AVFilterContext *ctx) .stages = VK_SHADER_STAGE_COMPUTE_BIT, } }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0); RET(ff_vk_shader_link(vkctx, &s->shd, ff_blackdetect_comp_spv_data, diff --git a/libavfilter/vf_blend_vulkan.c b/libavfilter/vf_blend_vulkan.c index b0eeed0b95..525381c04f 100644 --- a/libavfilter/vf_blend_vulkan.c +++ b/libavfilter/vf_blend_vulkan.c @@ -131,7 +131,7 @@ static av_cold int init_filter(AVFilterContext *avctx) .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0); RET(ff_vk_shader_link(vkctx, &s->shd, ff_blend_comp_spv_data, diff --git a/libavfilter/vf_bwdif_vulkan.c b/libavfilter/vf_bwdif_vulkan.c index ea4154daf5..c8f6ad1fed 100644 --- a/libavfilter/vf_bwdif_vulkan.c +++ b/libavfilter/vf_bwdif_vulkan.c @@ -86,7 +86,7 @@ static av_cold int init_filter(AVFilterContext *ctx) .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc_set, 4, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc_set, 4, 0); ff_vk_shader_add_push_const(&s->shd, 0, sizeof(BWDIFParameters), VK_SHADER_STAGE_COMPUTE_BIT); diff --git a/libavfilter/vf_chromaber_vulkan.c b/libavfilter/vf_chromaber_vulkan.c index fa0bc8e300..7a9bf77e09 100644 --- a/libavfilter/vf_chromaber_vulkan.c +++ b/libavfilter/vf_chromaber_vulkan.c @@ -84,7 +84,7 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in) .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0); RET(ff_vk_shader_link(vkctx, shd, ff_chromaber_comp_spv_data, diff --git a/libavfilter/vf_flip_vulkan.c b/libavfilter/vf_flip_vulkan.c index b86f236d2a..b44c12c49d 100644 --- a/libavfilter/vf_flip_vulkan.c +++ b/libavfilter/vf_flip_vulkan.c @@ -78,7 +78,7 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in) .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0); RET(ff_vk_shader_link(vkctx, shd, ff_flip_comp_spv_data, diff --git a/libavfilter/vf_gblur_vulkan.c b/libavfilter/vf_gblur_vulkan.c index 18d65df8c9..021c94f5a5 100644 --- a/libavfilter/vf_gblur_vulkan.c +++ b/libavfilter/vf_gblur_vulkan.c @@ -122,7 +122,7 @@ static int init_gblur_pipeline(GBlurVulkanContext *s, .type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, .stages = VK_SHADER_STAGE_COMPUTE_BIT, }; - ff_vk_shader_add_descriptor_set(&s->vkctx, shd, &buf_desc, 1, 1, 0); + ff_vk_shader_add_descriptor_set(&s->vkctx, shd, &buf_desc, 1, 1); RET(ff_vk_shader_link(&s->vkctx, shd, ff_gblur_comp_spv_data, @@ -180,13 +180,13 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in) /* Horizontal */ ff_vk_shader_load(&s->shd_hor, VK_SHADER_STAGE_COMPUTE_BIT, NULL, (uint32_t []) { 32, 1, 1 }, 0); - ff_vk_shader_add_descriptor_set(vkctx, &s->shd_hor, desc, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd_hor, desc, 2, 0); RET(init_gblur_pipeline(s, &s->shd_hor, &s->params_hor, s->size, s->sigma)); /* Vertical */ ff_vk_shader_load(&s->shd_ver, VK_SHADER_STAGE_COMPUTE_BIT, NULL, (uint32_t []) { 1, 32, 1 }, 0); - ff_vk_shader_add_descriptor_set(vkctx, &s->shd_ver, desc, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd_ver, desc, 2, 0); RET(init_gblur_pipeline(s, &s->shd_ver, &s->params_ver, s->sizeV, s->sigmaV)); s->initialized = 1; diff --git a/libavfilter/vf_interlace_vulkan.c b/libavfilter/vf_interlace_vulkan.c index 6f393a7a08..3de16c51ed 100644 --- a/libavfilter/vf_interlace_vulkan.c +++ b/libavfilter/vf_interlace_vulkan.c @@ -88,7 +88,7 @@ static av_cold int init_filter(AVFilterContext *ctx) .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0); RET(ff_vk_shader_link(vkctx, &s->shd, ff_interlace_comp_spv_data, diff --git a/libavfilter/vf_nlmeans_vulkan.c b/libavfilter/vf_nlmeans_vulkan.c index 902c072669..2a41f6fd8d 100644 --- a/libavfilter/vf_nlmeans_vulkan.c +++ b/libavfilter/vf_nlmeans_vulkan.c @@ -122,7 +122,7 @@ static av_cold int init_integral_pipeline(FFVulkanContext *vkctx, FFVkExecPool * .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_img, 1, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_img, 1, 0); const FFVulkanDescriptorSetBinding desc_set_xyoffsets[] = { { /* xyoffsets_buffer */ @@ -130,7 +130,7 @@ static av_cold int init_integral_pipeline(FFVulkanContext *vkctx, FFVkExecPool * .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_xyoffsets, 1, 1, 0); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_xyoffsets, 1, 1); RET(ff_vk_shader_link(vkctx, shd, ff_nlmeans_vertical_comp_spv_data, @@ -185,7 +185,7 @@ static av_cold int init_weights_pipeline(FFVulkanContext *vkctx, FFVkExecPool *e .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set, 3, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set, 3, 0); const FFVulkanDescriptorSetBinding desc_set_xyoffsets[] = { { /* xyoffsets_buffer */ @@ -193,7 +193,7 @@ static av_cold int init_weights_pipeline(FFVulkanContext *vkctx, FFVkExecPool *e .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_xyoffsets, 1, 1, 0); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_xyoffsets, 1, 1); RET(ff_vk_shader_link(vkctx, shd, ff_nlmeans_weights_comp_spv_data, @@ -238,7 +238,7 @@ static av_cold int init_denoise_pipeline(FFVulkanContext *vkctx, FFVkExecPool *e .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_img, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_img, 2, 0); const FFVulkanDescriptorSetBinding desc_set_ws[] = { { /* weights_buffer */ @@ -250,7 +250,7 @@ static av_cold int init_denoise_pipeline(FFVulkanContext *vkctx, FFVkExecPool *e .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_ws, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, shd, desc_set_ws, 2, 0); RET(ff_vk_shader_link(vkctx, shd, ff_nlmeans_denoise_comp_spv_data, diff --git a/libavfilter/vf_overlay_vulkan.c b/libavfilter/vf_overlay_vulkan.c index 67b372a6f1..561fd812bd 100644 --- a/libavfilter/vf_overlay_vulkan.c +++ b/libavfilter/vf_overlay_vulkan.c @@ -95,7 +95,7 @@ static av_cold int init_filter(AVFilterContext *ctx) .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0); RET(ff_vk_shader_link(vkctx, shd, ff_overlay_comp_spv_data, diff --git a/libavfilter/vf_scale_vulkan.c b/libavfilter/vf_scale_vulkan.c index 4e54d8806c..2cb5e15587 100644 --- a/libavfilter/vf_scale_vulkan.c +++ b/libavfilter/vf_scale_vulkan.c @@ -143,7 +143,7 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in) }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0); ff_vk_shader_add_push_const(&s->shd, 0, sizeof(s->opts), VK_SHADER_STAGE_COMPUTE_BIT); @@ -211,7 +211,7 @@ static av_cold int init_debayer(AVFilterContext *ctx, AVFrame *in) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0); RET(ff_vk_shader_link(vkctx, shd, ff_debayer_comp_spv_data, diff --git a/libavfilter/vf_scdet_vulkan.c b/libavfilter/vf_scdet_vulkan.c index 552904a2bb..97273cc750 100644 --- a/libavfilter/vf_scdet_vulkan.c +++ b/libavfilter/vf_scdet_vulkan.c @@ -94,7 +94,7 @@ static av_cold int init_filter(AVFilterContext *ctx) .stages = VK_SHADER_STAGE_COMPUTE_BIT, } }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0); RET(ff_vk_shader_link(vkctx, &s->shd, ff_scdet_comp_spv_data, diff --git a/libavfilter/vf_transpose_vulkan.c b/libavfilter/vf_transpose_vulkan.c index e193bb6829..2eef40d061 100644 --- a/libavfilter/vf_transpose_vulkan.c +++ b/libavfilter/vf_transpose_vulkan.c @@ -75,7 +75,7 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in) .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 2, 0); RET(ff_vk_shader_link(vkctx, &s->shd, ff_transpose_comp_spv_data, diff --git a/libavfilter/vf_v360_vulkan.c b/libavfilter/vf_v360_vulkan.c index 25b55276f4..a88fc6f0a6 100644 --- a/libavfilter/vf_v360_vulkan.c +++ b/libavfilter/vf_v360_vulkan.c @@ -145,7 +145,7 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in) .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc_set, 2, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc_set, 2, 0); RET(ff_vk_shader_link(vkctx, &s->shd, ff_v360_comp_spv_data, diff --git a/libavfilter/vf_xfade_vulkan.c b/libavfilter/vf_xfade_vulkan.c index 8dcf0bef5c..82868d6933 100644 --- a/libavfilter/vf_xfade_vulkan.c +++ b/libavfilter/vf_xfade_vulkan.c @@ -128,7 +128,7 @@ static av_cold int init_vulkan(AVFilterContext *avctx) .stages = VK_SHADER_STAGE_COMPUTE_BIT, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 3, 0); ff_vk_shader_add_push_const(&s->shd, 0, sizeof(XFadeParameters), VK_SHADER_STAGE_COMPUTE_BIT); diff --git a/libavfilter/vsrc_testsrc_vulkan.c b/libavfilter/vsrc_testsrc_vulkan.c index 6475423f39..bad6c0372a 100644 --- a/libavfilter/vsrc_testsrc_vulkan.c +++ b/libavfilter/vsrc_testsrc_vulkan.c @@ -94,7 +94,7 @@ static av_cold int init_filter(AVFilterContext *ctx, enum TestSrcVulkanMode mode .elems = planes, }, }; - ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc_set, 1, 0, 0); + ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc_set, 1, 0); if (mode == TESTSRC_COLOR) { double rgb2yuv[3][3]; diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c index 07580dda3b..3b2cc35bf9 100644 --- a/libavutil/vulkan.c +++ b/libavutil/vulkan.c @@ -2162,92 +2162,6 @@ int ff_vk_shader_load(FFVulkanShader *shd, return 0; } -int ff_vk_shader_init(FFVulkanContext *s, FFVulkanShader *shd, const char *name, - VkPipelineStageFlags stage, - const char *extensions[], int nb_extensions, - int lg_x, int lg_y, int lg_z, - uint32_t required_subgroup_size) -{ - ff_vk_shader_load(shd, stage, NULL, - (uint32_t []) { lg_x, lg_y, lg_z }, required_subgroup_size); - - shd->name = name; - shd->precompiled = 0; - av_bprint_init(&shd->src, 0, AV_BPRINT_SIZE_UNLIMITED); - - if (required_subgroup_size) { - shd->subgroup_info.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO; - shd->subgroup_info.requiredSubgroupSize = required_subgroup_size; - } - - av_bprintf(&shd->src, "/* %s shader: %s */\n", - (stage == VK_SHADER_STAGE_TASK_BIT_EXT || - stage == VK_SHADER_STAGE_MESH_BIT_EXT) ? - "Mesh" : - (shd->bind_point == VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR) ? - "Raytrace" : - (shd->bind_point == VK_PIPELINE_BIND_POINT_COMPUTE) ? - "Compute" : "Graphics", - name); - GLSLF(0, #version %i ,460); - GLSLC(0, ); - - /* Common utilities */ - GLSLC(0, #define IS_WITHIN(v1, v2) ((v1.x < v2.x) && (v1.y < v2.y)) ); - GLSLC(0, ); - GLSLC(0, #extension GL_EXT_scalar_block_layout : require ); - GLSLC(0, #extension GL_EXT_shader_explicit_arithmetic_types : require ); - GLSLC(0, #extension GL_EXT_control_flow_attributes : require ); - GLSLC(0, #extension GL_EXT_shader_image_load_formatted : require ); - if (s->extensions & FF_VK_EXT_EXPECT_ASSUME) { - GLSLC(0, #extension GL_EXT_expect_assume : require ); - } else { - GLSLC(0, #define assumeEXT(x) (x) ); - GLSLC(0, #define expectEXT(x, c) (x) ); - } - if ((s->extensions & FF_VK_EXT_DEBUG_UTILS) && - (s->extensions & FF_VK_EXT_RELAXED_EXTENDED_INSTR)) { - GLSLC(0, #extension GL_EXT_debug_printf : require ); - GLSLC(0, #define DEBUG ); - } - - if (stage == VK_SHADER_STAGE_TASK_BIT_EXT || - stage == VK_SHADER_STAGE_MESH_BIT_EXT) - GLSLC(0, #extension GL_EXT_mesh_shader : require ); - - for (int i = 0; i < nb_extensions; i++) - GLSLF(0, #extension %s : %s ,extensions[i], "require"); - GLSLC(0, ); - - GLSLF(0, layout (local_size_x = %i, local_size_y = %i, local_size_z = %i) in; - , shd->lg_size[0], shd->lg_size[1], shd->lg_size[2]); - GLSLC(0, ); - - return 0; -} - -void ff_vk_shader_print(void *ctx, FFVulkanShader *shd, int prio) -{ - int line = 0; - const char *p = shd->src.str; - const char *start = p; - const size_t len = strlen(p); - - AVBPrint buf; - av_bprint_init(&buf, 0, AV_BPRINT_SIZE_UNLIMITED); - - for (int i = 0; i < len; i++) { - if (p[i] == '\n') { - av_bprintf(&buf, "%i\t", ++line); - av_bprint_append_data(&buf, start, &p[i] - start + 1); - start = &p[i + 1]; - } - } - - av_log(ctx, prio, "Shader %s: \n%s", shd->name, buf.str); - av_bprint_finalize(&buf, NULL); -} - static int init_pipeline_layout(FFVulkanContext *s, FFVulkanShader *shd) { VkResult ret; @@ -2522,34 +2436,10 @@ end: return err; } -static const struct descriptor_props { - size_t struct_size; /* Size of the opaque which updates the descriptor */ - const char *type; - int is_uniform; - int mem_quali; /* Can use a memory qualifier */ - int dim_needed; /* Must indicate dimension */ - int buf_content; /* Must indicate buffer contents */ -} descriptor_props[] = { - [VK_DESCRIPTOR_TYPE_SAMPLER] = { sizeof(VkDescriptorImageInfo), "sampler", 1, 0, 0, 0, }, - [VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE] = { sizeof(VkDescriptorImageInfo), "texture", 1, 0, 1, 0, }, - [VK_DESCRIPTOR_TYPE_STORAGE_IMAGE] = { sizeof(VkDescriptorImageInfo), "image", 1, 1, 1, 0, }, - [VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT] = { sizeof(VkDescriptorImageInfo), "subpassInput", 1, 0, 0, 0, }, - [VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER] = { sizeof(VkDescriptorImageInfo), "sampler", 1, 0, 1, 0, }, - [VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER] = { sizeof(VkDescriptorBufferInfo), NULL, 1, 0, 0, 1, }, - [VK_DESCRIPTOR_TYPE_STORAGE_BUFFER] = { sizeof(VkDescriptorBufferInfo), "buffer", 0, 1, 0, 1, }, - [VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC] = { sizeof(VkDescriptorBufferInfo), NULL, 1, 0, 0, 1, }, - [VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC] = { sizeof(VkDescriptorBufferInfo), "buffer", 0, 1, 0, 1, }, - [VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER] = { sizeof(VkBufferView), "samplerBuffer", 1, 0, 0, 0, }, - [VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER] = { sizeof(VkBufferView), "imageBuffer", 1, 0, 0, 0, }, -}; - -int ff_vk_shader_add_descriptor_set(FFVulkanContext *s, FFVulkanShader *shd, - const FFVulkanDescriptorSetBinding *desc, int nb, - int singular, int print_to_shader_only) +void ff_vk_shader_add_descriptor_set(FFVulkanContext *s, FFVulkanShader *shd, + const FFVulkanDescriptorSetBinding *desc, int nb, + int singular) { - if (print_to_shader_only) - goto print; - FFVulkanDescriptorSet *set = &shd->desc_set[shd->nb_descriptor_sets++]; av_assert1(shd->nb_descriptor_sets < FF_VK_MAX_DESCRIPTOR_SETS); av_assert1(nb < FF_VK_MAX_DESCRIPTOR_BINDINGS); @@ -2578,69 +2468,6 @@ int ff_vk_shader_add_descriptor_set(FFVulkanContext *s, FFVulkanShader *shd, set->singular = singular; set->nb_bindings = nb; - - if (shd->precompiled) - return 0; - -print: - /* Write shader info */ - for (int i = 0; i < nb; i++) { - const struct descriptor_props *prop = &descriptor_props[desc[i].type]; - GLSLA("layout (set = %i, binding = %i", FFMAX(shd->nb_descriptor_sets - 1, 0), i); - - if (desc[i].mem_layout && - (desc[i].type != VK_DESCRIPTOR_TYPE_STORAGE_IMAGE)) - GLSLA(", %s", desc[i].mem_layout); - - GLSLA(")"); - - if (prop->is_uniform) - GLSLA(" uniform"); - - if (prop->mem_quali && desc[i].mem_quali) - GLSLA(" %s", desc[i].mem_quali); - - if (prop->type) { - GLSLA(" "); - if (desc[i].type == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) { - if (desc[i].mem_layout) { - int len = strlen(desc[i].mem_layout); - if (desc[i].mem_layout[len - 1] == 'i' && - desc[i].mem_layout[len - 2] == 'u') { - GLSLA("u"); - } else if (desc[i].mem_layout[len - 1] == 'i') { - GLSLA("i"); - } - } - } - GLSLA("%s", prop->type); - } - - if (prop->dim_needed) - GLSLA("%iD", desc[i].dimensions); - - GLSLA(" %s", desc[i].name); - - if (prop->buf_content) { - GLSLA(" {\n "); - if (desc[i].buf_elems) { - GLSLA("%s", desc[i].buf_content); - GLSLA("[%i];", desc[i].buf_elems); - } else { - GLSLA("%s", desc[i].buf_content); - } - GLSLA("\n}"); - } - - if (desc[i].elems > 0) - GLSLA("[%i]", desc[i].elems); - - GLSLA(";"); - GLSLA("\n"); - } - GLSLA("\n"); - - return 0; } int ff_vk_shader_register_exec(FFVulkanContext *s, FFVkExecPool *pool, @@ -2854,8 +2681,6 @@ void ff_vk_shader_free(FFVulkanContext *s, FFVulkanShader *shd) { FFVulkanFunctions *vk = &s->vkfn; - av_bprint_finalize(&shd->src, NULL); - #if 0 if (shd->shader.module) vk->DestroyShaderModule(s->hwctx->act_dev, shd->shader.module, diff --git a/libavutil/vulkan.h b/libavutil/vulkan.h index 1a2fcc74f1..b37d998d37 100644 --- a/libavutil/vulkan.h +++ b/libavutil/vulkan.h @@ -24,46 +24,12 @@ #include <stdatomic.h> #include "pixdesc.h" -#include "bprint.h" #include "hwcontext.h" #include "vulkan_functions.h" #include "hwcontext_vulkan.h" #include "avassert.h" #include "intreadwrite.h" -/* GLSL management macros */ -#define INDENT(N) INDENT_##N -#define INDENT_0 -#define INDENT_1 INDENT_0 " " -#define INDENT_2 INDENT_1 INDENT_1 -#define INDENT_3 INDENT_2 INDENT_1 -#define INDENT_4 INDENT_3 INDENT_1 -#define INDENT_5 INDENT_4 INDENT_1 -#define INDENT_6 INDENT_5 INDENT_1 -#define C(N, S) INDENT(N) #S "\n" - -#define GLSLC(N, S) \ - do { \ - av_bprintf(&shd->src, C(N, S)); \ - } while (0) - -#define GLSLA(...) \ - do { \ - av_bprintf(&shd->src, __VA_ARGS__); \ - } while (0) - -#define GLSLF(N, S, ...) \ - do { \ - av_bprintf(&shd->src, C(N, S), __VA_ARGS__); \ - } while (0) - -#define GLSLD(D) \ - do { \ - av_bprintf(&shd->src, "\n"); \ - av_bprint_append_data(&shd->src, D, strlen(D)); \ - av_bprintf(&shd->src, "\n"); \ - } while (0) - /* Helper, pretty much every Vulkan return value needs to be checked */ #define RET(x) \ do { \ @@ -230,9 +196,6 @@ typedef struct FFVulkanShader { int precompiled; VkSpecializationInfo *specialization_info; - /* Shader text */ - AVBPrint src; - /* Compute shader local group sizes */ uint32_t lg_size[3]; @@ -636,16 +599,6 @@ int ff_vk_host_map_buffer(FFVulkanContext *s, AVBufferRef **dst, int ff_vk_init_sampler(FFVulkanContext *s, VkSampler *sampler, int unnorm_coords, VkFilter filt); -/** - * Initialize a shader object, with a specific set of extensions, type+bind, - * local group size, and subgroup requirements. - */ -int ff_vk_shader_init(FFVulkanContext *s, FFVulkanShader *shd, const char *name, - VkPipelineStageFlags stage, - const char *extensions[], int nb_extensions, - int lg_x, int lg_y, int lg_z, - uint32_t required_subgroup_size); - /** * Initialize a shader object. * If spec is non-null, it must have been created with SPEC_LIST_CREATE(). @@ -655,12 +608,6 @@ int ff_vk_shader_load(FFVulkanShader *shd, VkPipelineStageFlags stage, VkSpecializationInfo *spec, uint32_t wg_size[3], uint32_t required_subgroup_size); -/** - * Output the shader code as logging data, with a specific - * priority. - */ -void ff_vk_shader_print(void *ctx, FFVulkanShader *shd, int prio); - /** * Link a shader into an executable. */ @@ -677,9 +624,9 @@ int ff_vk_shader_add_push_const(FFVulkanShader *shd, int offset, int size, /** * Add descriptor to a shader. Must be called before shader init. */ -int ff_vk_shader_add_descriptor_set(FFVulkanContext *s, FFVulkanShader *shd, - const FFVulkanDescriptorSetBinding *desc, int nb, - int singular, int print_to_shader_only); +void ff_vk_shader_add_descriptor_set(FFVulkanContext *s, FFVulkanShader *shd, + const FFVulkanDescriptorSetBinding *desc, int nb, + int singular); /** * Register a shader with an exec pool. diff --git a/libswscale/vulkan/ops.c b/libswscale/vulkan/ops.c index 4206340273..8fc16274a3 100644 --- a/libswscale/vulkan/ops.c +++ b/libswscale/vulkan/ops.c @@ -947,7 +947,7 @@ static int add_ops_spirv(SwsContext *sws, VulkanPriv *p, FFVulkanOpsCtx *s, .elems = 4, }, }; - ff_vk_shader_add_descriptor_set(&s->vkctx, shd, desc_set, 2, 0, 0); + ff_vk_shader_add_descriptor_set(&s->vkctx, shd, desc_set, 2, 0); /* Create dither buffers */ int err = create_bufs(s, p, ops); @@ -1007,7 +1007,7 @@ static int add_ops_spirv(SwsContext *sws, VulkanPriv *p, FFVulkanOpsCtx *s, } if (nb_data_bufs) ff_vk_shader_add_descriptor_set(&s->vkctx, shd, desc_set, - nb_data_bufs, 1, 0); + nb_data_bufs, 1); if (id->interlaced) { id->push_const_struct_id = spi_get_id(spi); _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
