diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index a88ac375927..78dfe6490b2 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -1600,6 +1600,9 @@ radv_postprocess_binary_config(struct radv_device *device, struct radv_shader_bi } else if (stage == MESA_SHADER_VERTEX && info->vs.as_es) { es_stage = MESA_SHADER_VERTEX; stage = MESA_SHADER_GEOMETRY; + } else if (stage == MESA_SHADER_TESS_EVAL && info->tes.as_es) { + es_stage = MESA_SHADER_TESS_EVAL; + stage = MESA_SHADER_GEOMETRY; } } diff --git a/src/amd/vulkan/radv_shader_args.c b/src/amd/vulkan/radv_shader_args.c index 49b5dad2355..59afdceed2d 100644 --- a/src/amd/vulkan/radv_shader_args.c +++ b/src/amd/vulkan/radv_shader_args.c @@ -530,6 +530,9 @@ declare_shader_args(const struct radv_device *device, const struct radv_graphics } else if (stage == MESA_SHADER_VERTEX && info->vs.as_es) { previous_stage = MESA_SHADER_VERTEX; stage = MESA_SHADER_GEOMETRY; + } else if (stage == MESA_SHADER_TESS_EVAL && info->tes.as_es) { + previous_stage = MESA_SHADER_TESS_EVAL; + stage = MESA_SHADER_GEOMETRY; } }