radv: force GS stage for VS as ES compiled separately on GFX9+

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27388>
This commit is contained in:
Samuel Pitoiset
2024-01-30 11:25:18 +01:00
committed by Marge Bot
parent 8ef4c049ec
commit 416b20d381
2 changed files with 6 additions and 0 deletions

View File

@@ -1589,6 +1589,9 @@ radv_postprocess_binary_config(struct radv_device *device, struct radv_shader_bi
/* Update the stage for merged shaders compiled separately with ESO on GFX9+. */ /* Update the stage for merged shaders compiled separately with ESO on GFX9+. */
if (stage == MESA_SHADER_VERTEX && info->vs.as_ls) { if (stage == MESA_SHADER_VERTEX && info->vs.as_ls) {
stage = MESA_SHADER_TESS_CTRL; stage = MESA_SHADER_TESS_CTRL;
} else if (stage == MESA_SHADER_VERTEX && info->vs.as_es) {
es_stage = MESA_SHADER_VERTEX;
stage = MESA_SHADER_GEOMETRY;
} }
} }

View File

@@ -527,6 +527,9 @@ declare_shader_args(const struct radv_device *device, const struct radv_graphics
if (stage == MESA_SHADER_VERTEX && info->vs.as_ls) { if (stage == MESA_SHADER_VERTEX && info->vs.as_ls) {
previous_stage = MESA_SHADER_VERTEX; previous_stage = MESA_SHADER_VERTEX;
stage = MESA_SHADER_TESS_CTRL; stage = MESA_SHADER_TESS_CTRL;
} else if (stage == MESA_SHADER_VERTEX && info->vs.as_es) {
previous_stage = MESA_SHADER_VERTEX;
stage = MESA_SHADER_GEOMETRY;
} }
} }