vulkan: don't set FFVulkanDescriptorSetBinding.name when not necessary

It just bloats the code with unused strings.
This commit is contained in:
Lynne
2026-02-03 14:36:15 +01:00
parent ae1a227cf6
commit d616269035
5 changed files with 60 additions and 83 deletions

View File

@@ -240,26 +240,22 @@ static int init_shader(AVCodecContext *avctx, FFVulkanContext *s,
VK_SHADER_STAGE_COMPUTE_BIT);
const FFVulkanDescriptorSetBinding desc_set[] = {
{
.name = "dst",
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = av_pix_fmt_count_planes(dec_frames_ctx->sw_format),
{ /* dst */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = av_pix_fmt_count_planes(dec_frames_ctx->sw_format),
},
{
.name = "data_buf",
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
{ /* data_buf */
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
},
{
.name = "data_buf16",
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
{ /* data_buf16 */
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
},
{
.name = "data_buf32",
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
{ /* data_buf32 */
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
},
};
ff_vk_shader_add_descriptor_set(s, shd, desc_set, 2 + (2*!unpack), 0, 0);

View File

@@ -373,22 +373,19 @@ static int init_decode_shader(AVCodecContext *avctx, FFVulkanContext *s,
ff_vk_shader_add_push_const(shd, 0, sizeof(ProresVkParameters),
VK_SHADER_STAGE_COMPUTE_BIT);
FFVulkanDescriptorSetBinding desc_set[] = {
{
.name = "slice_offsets_buf",
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
const FFVulkanDescriptorSetBinding desc_set[] = {
{ /* slice_offsets_buf */
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
},
{
.name = "quant_idx_buf",
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
{ /* quant_idx_buf */
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
},
{
.name = "dst",
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = av_pix_fmt_count_planes(dec_frames_ctx->sw_format),
{ /* dst */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = av_pix_fmt_count_planes(dec_frames_ctx->sw_format),
},
};
ff_vk_shader_add_descriptor_set(s, shd, desc_set, 3, 0, 0);
@@ -432,22 +429,19 @@ static int init_idct_shader(AVCodecContext *avctx, FFVulkanContext *s,
ff_vk_shader_add_push_const(shd, 0, sizeof(ProresVkParameters),
VK_SHADER_STAGE_COMPUTE_BIT);
FFVulkanDescriptorSetBinding desc_set[] = {
{
.name = "quant_idx_buf",
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
const FFVulkanDescriptorSetBinding desc_set[] = {
{ /* quant_idx_buf */
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
},
{
.name = "qmat_buf",
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
{ /* qmat_buf */
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
},
{
.name = "dst",
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = av_pix_fmt_count_planes(dec_frames_ctx->sw_format),
{ /* dst */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.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));

View File

@@ -284,14 +284,12 @@ fail:
static int add_desc(AVCodecContext *avctx, FFVulkanContext *s,
FFVulkanShader *shd)
{
FFVulkanDescriptorSetBinding desc_set[] = {
{
.name = "dst",
const FFVulkanDescriptorSetBinding desc_set[] = {
{ /* dst */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
},
{
.name = "frame_data_buf",
{ /* frame_data_buf */
.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
},

View File

@@ -54,8 +54,6 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in)
FFVulkanContext *vkctx = &s->vkctx;
const int planes = av_pix_fmt_count_planes(s->vkctx.output_format);
FFVulkanDescriptorSetBinding *desc;
s->qf = ff_vk_qf_find(vkctx, VK_QUEUE_COMPUTE_BIT, 0);
if (!s->qf) {
av_log(ctx, AV_LOG_ERROR, "Device has no compute queues\n");
@@ -71,22 +69,19 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in)
ff_vk_shader_add_push_const(&s->shd, 0, sizeof(s->opts),
VK_SHADER_STAGE_COMPUTE_BIT);
desc = (FFVulkanDescriptorSetBinding []) {
{
.name = "input_img",
const FFVulkanDescriptorSetBinding desc_set[] = {
{ /* input_img */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = planes,
},
{
.name = "output_img",
{ /* output_img */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.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_set, 2, 0, 0);
RET(ff_vk_shader_link(vkctx, &s->shd,
ff_avgblur_comp_spv_data,

View File

@@ -51,7 +51,6 @@ static av_cold int init_filter(AVFilterContext *ctx)
BWDIFVulkanContext *s = ctx->priv;
FFVulkanContext *vkctx = &s->vkctx;
const int planes = av_pix_fmt_count_planes(s->vkctx.output_format);
FFVulkanDescriptorSetBinding *desc;
s->qf = ff_vk_qf_find(vkctx, VK_QUEUE_COMPUTE_BIT, 0);
if (!s->qf) {
@@ -65,34 +64,29 @@ static av_cold int init_filter(AVFilterContext *ctx)
ff_vk_shader_load(&s->shd, VK_SHADER_STAGE_COMPUTE_BIT, NULL,
(uint32_t [3]) { 1, 64, planes }, 0);
desc = (FFVulkanDescriptorSetBinding []) {
{
.name = "prev",
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.elems = planes,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
const FFVulkanDescriptorSetBinding desc_set[] = {
{ /* prev */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = planes,
},
{
.name = "cur",
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.elems = planes,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
{ /* cur */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = planes,
},
{
.name = "next",
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.elems = planes,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
{ /* next */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = planes,
},
{
.name = "dst",
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.elems = planes,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
{ /* dst */
.type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
.stages = VK_SHADER_STAGE_COMPUTE_BIT,
.elems = planes,
},
};
ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc, 4, 0, 0);
ff_vk_shader_add_descriptor_set(vkctx, &s->shd, desc_set, 4, 0, 0);
ff_vk_shader_add_push_const(&s->shd, 0, sizeof(BWDIFParameters),
VK_SHADER_STAGE_COMPUTE_BIT);