Module: Mesa Branch: main Commit: 657cabe17e532db4e010d757bf92c88748eafce3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=657cabe17e532db4e010d757bf92c88748eafce3
Author: Samuel Pitoiset <[email protected]> Date: Fri Sep 8 11:41:18 2023 +0200 radv: adjust next stage for VS prologs and merged shaders compiled separately It should be the merged shader stage. Signed-off-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24933> --- src/amd/vulkan/radv_cmd_buffer.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 0de11824df5..a027ceb6497 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -3803,7 +3803,13 @@ lookup_vs_prolog(struct radv_cmd_buffer *cmd_buffer, const struct radv_shader *v key.as_ls = vs_shader->info.vs.as_ls && instance_rate_inputs; key.is_ngg = vs_shader->info.is_ngg; key.wave32 = vs_shader->info.wave_size == 32; - key.next_stage = vs_shader->info.stage; + + if (vs_shader->info.merged_shader_compiled_separately) { + assert(vs_shader->info.next_stage == MESA_SHADER_TESS_CTRL || vs_shader->info.next_stage == MESA_SHADER_GEOMETRY); + key.next_stage = vs_shader->info.next_stage; + } else { + key.next_stage = vs_shader->info.stage; + } union vs_prolog_key_header header; header.v = 0;
