[Mesa-dev] [PATCH] nir: fix st_nir_assign_var_locations for patch variables
Karol Herbst
kherbst at redhat.com
Sat Jan 6 09:01:20 UTC 2018
Signed-off-by: Karol Herbst <kherbst at redhat.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/state_tracker/st_glsl_to_nir.cpp | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp
index 5683dfcccc..1c5de3d5de 100644
--- a/src/mesa/state_tracker/st_glsl_to_nir.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp
@@ -139,8 +139,12 @@ st_nir_assign_var_locations(struct exec_list *var_list, unsigned *size,
}
bool processed = false;
- if (var->data.patch) {
- unsigned patch_loc = var->data.location - VARYING_SLOT_VAR0;
+ if (var->data.patch &&
+ var->data.location != VARYING_SLOT_TESS_LEVEL_INNER &&
+ var->data.location != VARYING_SLOT_TESS_LEVEL_OUTER &&
+ var->data.location != VARYING_SLOT_BOUNDING_BOX0 &&
+ var->data.location != VARYING_SLOT_BOUNDING_BOX1) {
+ unsigned patch_loc = var->data.location - VARYING_SLOT_PATCH0;
if (processed_patch_locs & (1 << patch_loc))
processed = true;
--
2.14.3
More information about the mesa-dev
mailing list