Module: Mesa
Branch: main
Commit: bf910c94e061893e0ab722c817d9b66d366f1c30
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf910c94e061893e0ab722c817d9b66d366f1c30

Author: Oleksii Bozhenko <[email protected]>
Date:   Thu Mar  9 14:06:15 2023 +0200

glsl: fix gl_CullDistance lowering from float[8] to vec4[2]

Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7152
Fixes: ad355652c20b ("glsl: Extend lowering pass for gl_ClipDistance to support 
other arrays")

Signed-off-by: Oleksii Bozhenko [email protected]

Reviewed-by: Timothy Arceri <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21810>

---

 src/compiler/glsl/gl_nir_link_varyings.c | 4 +---
 src/compiler/glsl/lower_distance.cpp     | 1 +
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/compiler/glsl/gl_nir_link_varyings.c 
b/src/compiler/glsl/gl_nir_link_varyings.c
index a4c6a0f7403..bb8de2d526d 100644
--- a/src/compiler/glsl/gl_nir_link_varyings.c
+++ b/src/compiler/glsl/gl_nir_link_varyings.c
@@ -686,10 +686,8 @@ xfb_decl_find_candidate(struct xfb_decl *xfb_decl,
       name = xfb_decl->var_name;
       break;
    case clip_distance:
-      name = "gl_ClipDistanceMESA";
-      break;
    case cull_distance:
-      name = "gl_CullDistanceMESA";
+      name = "gl_ClipDistanceMESA";
       break;
    case tess_level_outer:
       name = "gl_TessLevelOuterMESA";
diff --git a/src/compiler/glsl/lower_distance.cpp 
b/src/compiler/glsl/lower_distance.cpp
index 1df0421133a..a91c58cf5d5 100644
--- a/src/compiler/glsl/lower_distance.cpp
+++ b/src/compiler/glsl/lower_distance.cpp
@@ -169,6 +169,7 @@ lower_distance_visitor::visit(ir_variable *ir)
       *new_var = ir->clone(ralloc_parent(ir), NULL);
       (*new_var)->name = ralloc_strdup(*new_var, GLSL_CLIP_VAR_NAME);
       (*new_var)->data.location = VARYING_SLOT_CLIP_DIST0;
+      (*new_var)->data.assigned = true;
 
       if (!ir->type->fields.array->is_array()) {
          /* gl_ClipDistance (used for vertex, tessellation evaluation and

Reply via email to