Module: Mesa Branch: main Commit: 565ee4fafc9490a4ee7eec117123444843376d1c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=565ee4fafc9490a4ee7eec117123444843376d1c
Author: Mike Blumenkrantz <michael.blumenkra...@gmail.com> Date: Wed Jan 10 12:22:56 2024 -0500 zink: fix separate shader patch variable location adjustment in spirv, these start at location 0, not location 32 fixes #10414 Fixes: d9942442f20 ("zink: handle patch variable locations for separate shaders better") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26981> --- src/gallium/drivers/zink/zink_compiler.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index c13106f516a..a3b9c2ca9e5 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -4909,7 +4909,7 @@ fixup_io_locations(nir_shader *nir) if (var->data.location == VARYING_SLOT_VAR0) var->data.driver_location = 0; else if (var->data.patch) - var->data.driver_location = var->data.location - VARYING_SLOT_VAR0; + var->data.driver_location = var->data.location - VARYING_SLOT_PATCH0; else var->data.driver_location = var->data.location; } @@ -4936,7 +4936,7 @@ fixup_io_locations(nir_shader *nir) size += glsl_count_vec4_slots(var->type, false, false); } if (var->data.patch) - var->data.driver_location = var->data.location - VARYING_SLOT_VAR0; + var->data.driver_location = var->data.location - VARYING_SLOT_PATCH0; else var->data.driver_location = slot; found = true;