diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 80c9f06cc6d..29b815685e7 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -3351,6 +3351,9 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_device *device, gather_tess_info(device, nir, infos, pipeline_key); } + radv_fill_shader_keys(device, keys, pipeline_key, nir); + radv_fill_shader_info(pipeline, pStages, keys, infos, nir); + for (int i = 0; i < MESA_SHADER_STAGES; ++i) { if (nir[i]) { radv_start_feedback(stage_feedbacks[i]); @@ -3478,10 +3481,6 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_device *device, nir_print_shader(nir[i], stderr); } - radv_fill_shader_keys(device, keys, pipeline_key, nir); - - radv_fill_shader_info(pipeline, pStages, keys, infos, nir); - if ((nir[MESA_SHADER_VERTEX] && keys[MESA_SHADER_VERTEX].vs_common_out.as_ngg) || (nir[MESA_SHADER_TESS_EVAL] && keys[MESA_SHADER_TESS_EVAL].vs_common_out.as_ngg)) { struct gfx10_ngg_info *ngg_info;