Mesa (master): nir/linker: fix ARRAY_SIZE query with xfb varyings

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Mar 8 14:01:27 UTC 2019


Module: Mesa
Branch: master
Commit: 686b7b1d48fea0ff62bdb177f9696316a02d2b07
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=686b7b1d48fea0ff62bdb177f9696316a02d2b07

Author: Alejandro Piñeiro <apinheiro at igalia.com>
Date:   Thu Mar  7 16:57:10 2019 +0100

nir/linker: fix ARRAY_SIZE query with xfb varyings

For a non-array varying, it is expecting ARRAY_SIZE as 1, instead of 0.

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

---

 src/compiler/glsl/gl_nir_link_xfb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/compiler/glsl/gl_nir_link_xfb.c b/src/compiler/glsl/gl_nir_link_xfb.c
index 587d65bfb37..7623492ba96 100644
--- a/src/compiler/glsl/gl_nir_link_xfb.c
+++ b/src/compiler/glsl/gl_nir_link_xfb.c
@@ -156,7 +156,8 @@ gl_nir_link_assign_xfb_resources(struct gl_context *ctx,
       varying->Name = NULL;
       varying->Type = glsl_get_gl_type(xfb_varying->type);
       varying->BufferIndex = buffer_index;
-      varying->Size = glsl_get_length(xfb_varying->type);
+      varying->Size = glsl_type_is_array(xfb_varying->type) ?
+         glsl_get_length(xfb_varying->type) : 1;
       varying->Offset = xfb_varying->offset;
    }
 




More information about the mesa-commit mailing list