<p dir="ltr">Thanks for the quick turnaround.  Patches 6, 6.1, and 7 are</p>
<p dir="ltr">Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>></p>
<p dir="ltr">I assume that the "use flat inputs" patch just tweaks the LOAD_INPUT macro in the obvious way?  If so, then we should be good to go. Thanks for working on this!  I like blorp not trashing as much state. :-)</p>
<div class="gmail_quote">On Jul 3, 2016 11:41 PM, "Topi Pohjolainen" <<a href="mailto:topi.pohjolainen@intel.com">topi.pohjolainen@intel.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">In preparation for loading as flat vertex input.<br>
<br>
</div>v2: Use LOAD_INPUT() macro<br>
<br>
Signed-off-by: Topi Pohjolainen <<a href="mailto:topi.pohjolainen@intel.com">topi.pohjolainen@intel.com</a>><br>
Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> (v1)<br>
---<br>
 src/mesa/drivers/dri/i965/brw_blorp.h        |  3 +--<br>
 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 24 ++++++++++--------------<br>
 2 files changed, 11 insertions(+), 16 deletions(-)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.h b/src/mesa/drivers/dri/i965/brw_blorp.h<br>
index f5dba58..3f77ca4 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_blorp.h<br>
+++ b/src/mesa/drivers/dri/i965/brw_blorp.h<br>
@@ -212,8 +212,7 @@ struct brw_blorp_wm_inputs<br>
 {<br>
    struct brw_blorp_discard_rect discard_rect;<br>
    struct brw_blorp_rect_grid rect_grid;<br>
-   struct brw_blorp_coord_transform x_transform;<br>
-   struct brw_blorp_coord_transform y_transform;<br>
+   struct brw_blorp_coord_transform coord_transform[2];<br>
<br>
    /* Minimum layer setting works for all the textures types but texture_3d<br>
     * for which the setting has no effect. Use the z-coordinate instead.<br>
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp<br>
index dbf33e1..0d9fb92 100644<br>
<div class="quoted-text">--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp<br>
@@ -333,10 +333,7 @@ struct brw_blorp_blit_vars {<br>
    /* Input values from brw_blorp_wm_inputs */<br>
    nir_variable *u_discard_rect;<br>
    nir_variable *u_rect_grid;<br>
-   struct {<br>
-      nir_variable *multiplier;<br>
-      nir_variable *offset;<br>
-   } u_x_transform, u_y_transform;<br>
+   nir_variable *u_coord_transform;<br>
    nir_variable *u_src_z;<br>
<br>
    /* gl_FragCoord */<br>
</div>@@ -360,10 +357,7 @@ brw_blorp_blit_vars_init(nir_builder *b, struct brw_blorp_blit_vars *v,<br>
<br>
    LOAD_INPUT(discard_rect, glsl_vec4_type())<br>
    LOAD_INPUT(rect_grid, glsl_vec4_type())<br>
-   LOAD_INPUT(x_transform.multiplier, glsl_float_type())<br>
-   LOAD_INPUT(x_transform.offset, glsl_float_type())<br>
-   LOAD_INPUT(y_transform.multiplier, glsl_float_type())<br>
-   LOAD_INPUT(y_transform.offset, glsl_float_type())<br>
+   LOAD_INPUT(coord_transform, glsl_vec4_type())<br>
    LOAD_INPUT(src_z, glsl_uint_type())<br>
<br>
 #undef LOAD_INPUT<br>
@@ -401,10 +395,12 @@ nir_ssa_def *<br>
<div class="quoted-text"> blorp_blit_apply_transform(nir_builder *b, nir_ssa_def *src_pos,<br>
                            struct brw_blorp_blit_vars *v)<br>
 {<br>
-   nir_ssa_def *offset = nir_vec2(b, nir_load_var(b, v->u_x_transform.offset),<br>
-                                     nir_load_var(b, v->u_y_transform.offset));<br>
-   nir_ssa_def *mul = nir_vec2(b, nir_load_var(b, v->u_x_transform.multiplier),<br>
-                                  nir_load_var(b, v->u_y_transform.multiplier));<br>
+   nir_ssa_def *coord_transform = nir_load_var(b, v->u_coord_transform);<br>
+<br>
+   nir_ssa_def *offset = nir_vec2(b, nir_channel(b, coord_transform, 1),<br>
+                                     nir_channel(b, coord_transform, 3));<br>
+   nir_ssa_def *mul = nir_vec2(b, nir_channel(b, coord_transform, 0),<br>
+                                  nir_channel(b, coord_transform, 2));<br>
<br>
    return nir_ffma(b, src_pos, mul, offset);<br>
 }<br>
</div>@@ -1847,9 +1843,9 @@ brw_blorp_blit_miptrees(struct brw_context *brw,<br>
    params.wm_inputs.rect_grid.y1 =<br>
       minify(src_mt->logical_height0, src_level) * wm_prog_key.y_scale - 1.0f;<br>
<br>
-   brw_blorp_setup_coord_transform(&params.wm_inputs.x_transform,<br>
+   brw_blorp_setup_coord_transform(&params.wm_inputs.coord_transform[0],<br>
                                    src_x0, src_x1, dst_x0, dst_x1, mirror_x);<br>
-   brw_blorp_setup_coord_transform(&params.wm_inputs.y_transform,<br>
+   brw_blorp_setup_coord_transform(&params.wm_inputs.coord_transform[1],<br>
                                    src_y0, src_y1, dst_y0, dst_y1, mirror_y);<br>
<br>
    if (brw->gen >= 8 && params.src.mt->target == GL_TEXTURE_3D) {<br>
<div class="elided-text">--<br>
2.5.5<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="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</div></blockquote></div>