nir/builder: Use a normal temporary array in nir_channel
authorJason Ekstrand <jason.ekstrand@intel.com>
Tue, 15 Sep 2015 19:09:06 +0000 (12:09 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 15 Sep 2015 21:51:05 +0000 (14:51 -0700)
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.

Reviewed-by: Rob Clark <robclark@freedesktop.org>
src/glsl/nir/nir_builder.h

index cf50f69..44134cf 100644 (file)
@@ -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);
 }
 
 /**