<div dir="ltr">Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 2, 2019 at 10:25 PM Dave Airlie <<a href="mailto:airlied@gmail.com">airlied@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Dave Airlie <<a href="mailto:airlied@redhat.com" target="_blank">airlied@redhat.com</a>><br>
<br>
This has a couple of hardcoded vec4 limits in it, change them<br>
to the proper sizing to avoid future issues.<br>
---<br>
 src/compiler/nir/nir_lower_vars_to_ssa.c | 8 ++++----<br>
 1 file changed, 4 insertions(+), 4 deletions(-)<br>
<br>
diff --git a/src/compiler/nir/nir_lower_vars_to_ssa.c b/src/compiler/nir/nir_lower_vars_to_ssa.c<br>
index 1e7dc8d3579..a5f4ca53cf9 100644<br>
--- a/src/compiler/nir/nir_lower_vars_to_ssa.c<br>
+++ b/src/compiler/nir/nir_lower_vars_to_ssa.c<br>
@@ -534,7 +534,7 @@ rename_variables(struct lower_variables_state *state)<br>
                                                       nir_op_imov);<br>
             mov->src[0].src = nir_src_for_ssa(<br>
                nir_phi_builder_value_get_block_def(node->pb_value, block));<br>
-            for (unsigned i = intrin->num_components; i < 4; i++)<br>
+            for (unsigned i = intrin->num_components; i < NIR_MAX_VEC_COMPONENTS; i++)<br>
                mov->src[0].swizzle[i] = 0;<br>
<br>
             assert(intrin->dest.is_ssa);<br>
@@ -584,8 +584,8 @@ rename_variables(struct lower_variables_state *state)<br>
                 * intrin->num_components and value->num_components<br>
                 * may differ.<br>
                 */<br>
-               unsigned swiz[4];<br>
-               for (unsigned i = 0; i < 4; i++)<br>
+               unsigned swiz[NIR_MAX_VEC_COMPONENTS];<br>
+               for (unsigned i = 0; i < NIR_MAX_VEC_COMPONENTS; i++)<br>
                   swiz[i] = i < intrin->num_components ? i : 0;<br>
<br>
                new_def = nir_swizzle(&b, value, swiz,<br>
@@ -597,7 +597,7 @@ rename_variables(struct lower_variables_state *state)<br>
                 * written values with the existing contents of unwritten<br>
                 * channels, creating a new SSA value for the whole vector.<br>
                 */<br>
-               nir_ssa_def *srcs[4];<br>
+               nir_ssa_def *srcs[NIR_MAX_VEC_COMPONENTS];<br>
                for (unsigned i = 0; i < intrin->num_components; i++) {<br>
                   if (wrmask & (1 << i)) {<br>
                      srcs[i] = nir_channel(&b, value, i);<br>
-- <br>
2.21.0<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a></blockquote></div>