[Mesa-dev] [PATCH] nir/builder: Use a normal temporary array in nir_channel

Jason Ekstrand jason at jlekstrand.net
Tue Sep 15 12:40:48 PDT 2015


C++ gets cranky if we take references of temporaries.  This isn't a problem
yet in master because nir_builder is never used from C++.  However, it will
be in the future so we should fix it now.

Cc: Rob Clark <robclark at freedesktop.org>
---
 src/glsl/nir/nir_builder.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/glsl/nir/nir_builder.h b/src/glsl/nir/nir_builder.h
index cf50f69..44134cf 100644
--- a/src/glsl/nir/nir_builder.h
+++ b/src/glsl/nir/nir_builder.h
@@ -219,7 +219,8 @@ nir_swizzle(nir_builder *build, nir_ssa_def *src, unsigned swiz[4],
 static inline nir_ssa_def *
 nir_channel(nir_builder *b, nir_ssa_def *def, int c)
 {
-   return nir_swizzle(b, def, (unsigned[4]){c, c, c, c}, 1, false);
+   unsigned swizzle[4] = {c, c, c, c};
+   return nir_swizzle(b, def, swizzle, 1, false);
 }
 
 /**
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list