<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>