Lines Matching defs:shd
798 FFVkSPIRVShader *shd = create_shader(pl);
799 if (!shd)
802 av_bprint_init(&shd->src, 0, AV_BPRINT_SIZE_UNLIMITED);
804 shd->shader.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
805 shd->shader.stage = stage;
807 shd->name = name;
813 return shd;
816 void ff_vk_set_compute_shader_sizes(FFVkSPIRVShader *shd, int local_size[3])
818 shd->local_size[0] = local_size[0];
819 shd->local_size[1] = local_size[1];
820 shd->local_size[2] = local_size[2];
822 av_bprintf(&shd->src, "layout (local_size_x = %i, "
824 shd->local_size[0], shd->local_size[1], shd->local_size[2]);
827 void ff_vk_print_shader(void *ctx, FFVkSPIRVShader *shd, int prio)
830 const char *p = shd->src.str;
845 av_log(ctx, prio, "Shader %s: \n%s", shd->name, buf.str);
849 int ff_vk_compile_shader(FFVulkanContext *s, FFVkSPIRVShader *shd,
860 shd->shader.pName = entrypoint;
874 err = s->spirv_compiler->compile_shader(s->spirv_compiler, s, shd, &spirv,
880 shd->name, spirv_size);
889 &shd->shader.module);
924 FFVkSPIRVShader *shd, FFVulkanDescriptorSetBinding *desc,
1332 FFVkSPIRVShader *shd = pl->shaders[i];
1333 av_bprint_finalize(&shd->src, NULL);
1334 vk->DestroyShaderModule(s->hwctx->act_dev, shd->shader.module,
1336 av_free(shd);