diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_pipeline.c index 89af33110f2..c839196c1d6 100644 --- a/src/intel/vulkan/anv_pipeline.c +++ b/src/intel/vulkan/anv_pipeline.c @@ -1856,11 +1856,12 @@ fail: VkResult anv_pipeline_compile_cs(struct anv_compute_pipeline *pipeline, struct vk_pipeline_cache *cache, - const VkComputePipelineCreateInfo *info, - const struct vk_shader_module *module, - const char *entrypoint, - const VkSpecializationInfo *spec_info) + const VkComputePipelineCreateInfo *info) { + const VkPipelineShaderStageCreateInfo *sinfo = &info->stage; + VK_FROM_HANDLE(vk_shader_module, module, sinfo->module); + assert(sinfo->stage == VK_SHADER_STAGE_COMPUTE_BIT); + VkPipelineCreationFeedbackEXT pipeline_feedback = { .flags = VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT, }; @@ -1872,8 +1873,8 @@ anv_pipeline_compile_cs(struct anv_compute_pipeline *pipeline, struct anv_pipeline_stage stage = { .stage = MESA_SHADER_COMPUTE, .module = module, - .entrypoint = entrypoint, - .spec_info = spec_info, + .entrypoint = sinfo->pName, + .spec_info = sinfo->pSpecializationInfo, .cache_key = { .stage = MESA_SHADER_COMPUTE, }, diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index b3c81f23a2c..52630335096 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -3545,10 +3545,7 @@ anv_graphics_pipeline_init(struct anv_graphics_pipeline *pipeline, struct anv_de VkResult anv_pipeline_compile_cs(struct anv_compute_pipeline *pipeline, struct vk_pipeline_cache *cache, - const VkComputePipelineCreateInfo *info, - const struct vk_shader_module *module, - const char *entrypoint, - const VkSpecializationInfo *spec_info); + const VkComputePipelineCreateInfo *info); VkResult anv_ray_tracing_pipeline_init(struct anv_ray_tracing_pipeline *pipeline, diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index bcee8787a79..366b4d6f5a2 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -2986,11 +2986,7 @@ compute_pipeline_create( anv_batch_set_storage(&pipeline->base.batch, ANV_NULL_ADDRESS, pipeline->batch_data, sizeof(pipeline->batch_data)); - assert(pCreateInfo->stage.stage == VK_SHADER_STAGE_COMPUTE_BIT); - VK_FROM_HANDLE(vk_shader_module, module, pCreateInfo->stage.module); - result = anv_pipeline_compile_cs(pipeline, cache, pCreateInfo, module, - pCreateInfo->stage.pName, - pCreateInfo->stage.pSpecializationInfo); + result = anv_pipeline_compile_cs(pipeline, cache, pCreateInfo); if (result != VK_SUCCESS) { anv_pipeline_finish(&pipeline->base, device, pAllocator); vk_free2(&device->vk.alloc, pAllocator, pipeline);