Mesa (main): radeonsi/nir: Check for VARYING_SLOT_PRIMITIVE_ID not SYSTEM_VALUE
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Dec 17 16:32:40 UTC 2021
Module: Mesa
Branch: main
Commit: 732b234ddba7ed697cb1ed351d56cc4a8b56539a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=732b234ddba7ed697cb1ed351d56cc4a8b56539a
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Thu Dec 16 23:20:31 2021 -0600
radeonsi/nir: Check for VARYING_SLOT_PRIMITIVE_ID not SYSTEM_VALUE
This function is called on load/store_input/output. It makes no sense
for it to get a SYSTEM_VALUE enum. This only doesn't explode because
SYSTEM_VALUE_PRIMITIVE_ID happens to be below VARYING_SLOT_VAR0 so it
doesn't interact with any actual varyings. The next commit is going to
add another system value which will push SYSTEM_VALUE_PRIMITIVE_ID up by
one so it will equal VARYING_SLOT_VAR0 and then the first FS input will
always get smashed to flat which isn't what we want.
Fixes: b59bb9c07ae4 ("radeonsi: force flat for PrimID early in si_nir_scan_shader")
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14198>
---
src/gallium/drivers/radeonsi/si_shader_nir.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index a3e49d8bec5..5cd5cd32359 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -148,7 +148,7 @@ static void scan_io_usage(struct si_shader_info *info, nir_intrinsic_instr *intr
info->input[loc].semantic = semantic + i;
- if (semantic == SYSTEM_VALUE_PRIMITIVE_ID)
+ if (semantic == VARYING_SLOT_PRIMITIVE_ID)
info->input[loc].interpolate = INTERP_MODE_FLAT;
else
info->input[loc].interpolate = interp;
More information about the mesa-commit
mailing list