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
