<p dir="ltr">I don't think this applies on top of the patch Matt sent yesterday to use fewer moves for loading constants.<br>
On Aug 14, 2015 4:56 AM, "Antia Puentes" <<a href="mailto:apuentes@igalia.com">apuentes@igalia.com</a>> wrote:<br>
><br>
> Loads constants using integer as their register type, this is done<br>
> for consistency with the FS backend.<br>
> ---<br>
> src/mesa/drivers/dri/i965/brw_vec4_nir.cpp | 4 ++--<br>
> 1 file changed, 2 insertions(+), 2 deletions(-)<br>
><br>
> diff --git a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp b/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp<br>
> index 923e2d3..e4ae899 100644<br>
> --- a/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp<br>
> +++ b/src/mesa/drivers/dri/i965/brw_vec4_nir.cpp<br>
> @@ -456,7 +456,7 @@ void<br>
> vec4_visitor::nir_emit_load_const(nir_load_const_instr *instr)<br>
> {<br>
> dst_reg reg = dst_reg(GRF, alloc.allocate(1));<br>
> - reg.type = BRW_REGISTER_TYPE_F;<br>
> + reg.type = BRW_REGISTER_TYPE_D;<br>
><br>
> /* @FIXME: consider emitting vector operations to save some MOVs in<br>
> * cases where the components are representable in 8 bits.<br>
> @@ -464,7 +464,7 @@ vec4_visitor::nir_emit_load_const(nir_load_const_instr *instr)<br>
> */<br>
> for (unsigned i = 0; i < instr->def.num_components; ++i) {<br>
> reg.writemask = 1 << i;<br>
> - emit(MOV(reg, src_reg(instr->value.f[i])));<br>
> + emit(MOV(reg, src_reg(instr->value.i[i])));<br>
> }<br>
><br>
> /* Set final writemask */<br>
> --<br>
> 2.1.0<br>
><br>
> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</p>