From 83bc7e27a5778dd69e12bb64f7870487c21c246c Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 2 Feb 2024 10:22:04 +0100 Subject: [PATCH] radv: force GS stage for TES as ES compiled separately on GFX9+ Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_shader.c | 3 +++ src/amd/vulkan/radv_shader_args.c | 3 +++ 2 files changed, 6 insertions(+) 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; } }