<div dir="ltr">On 21 September 2013 16:59, Eric Anholt <span dir="ltr"><<a href="mailto:eric@anholt.net" target="_blank">eric@anholt.net</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The UD values were getting set up as floats.  This happened to work out<br>
because they were used as the second argument where the first was a dword,<br>
and gen6+ doesn't do source conversions.  But it did trigger fulsim<br>
warnings, and it meant if you used the push constant as the first operand<br>
you would have been disappointed.<br>
---<br>
 src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 32 ++++++++++++++--------------<br>
 1 file changed, 16 insertions(+), 16 deletions(-)<br></blockquote><div><br></div><div>Reviewed-by: Paul Berry <<a href="mailto:stereotype441@gmail.com">stereotype441@gmail.com</a>><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<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 f07d39f..c1880e3 100644<br>
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp<br>
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp<br>
@@ -899,22 +899,22 @@ void<br>
 brw_blorp_blit_program::alloc_push_const_regs(int base_reg)<br>
 {<br>
 #define CONST_LOC(name) offsetof(brw_blorp_wm_push_constants, name)<br>
-#define ALLOC_REG(name) \<br>
-   this->name = \<br>
-      brw_vec1_reg(BRW_GENERAL_REGISTER_FILE, \<br>
-                   base_reg + CONST_LOC(name) / 32, \<br>
-                   (CONST_LOC(name) % 32) / 4)<br>
-<br>
-   ALLOC_REG(dst_x0);<br>
-   ALLOC_REG(dst_x1);<br>
-   ALLOC_REG(dst_y0);<br>
-   ALLOC_REG(dst_y1);<br>
-   ALLOC_REG(rect_grid_x1);<br>
-   ALLOC_REG(rect_grid_y1);<br>
-   ALLOC_REG(x_transform.multiplier);<br>
-   ALLOC_REG(x_transform.offset);<br>
-   ALLOC_REG(y_transform.multiplier);<br>
-   ALLOC_REG(y_transform.offset);<br>
+#define ALLOC_REG(name, type)                                   \<br>
+   this->name =                                                 \<br>
+      retype(brw_vec1_reg(BRW_GENERAL_REGISTER_FILE,            \<br>
+                          base_reg + CONST_LOC(name) / 32,      \<br>
+                          (CONST_LOC(name) % 32) / 4), type)<br>
+<br>
+   ALLOC_REG(dst_x0, BRW_REGISTER_TYPE_UD);<br>
+   ALLOC_REG(dst_x1, BRW_REGISTER_TYPE_UD);<br>
+   ALLOC_REG(dst_y0, BRW_REGISTER_TYPE_UD);<br>
+   ALLOC_REG(dst_y1, BRW_REGISTER_TYPE_UD);<br>
+   ALLOC_REG(rect_grid_x1, BRW_REGISTER_TYPE_F);<br>
+   ALLOC_REG(rect_grid_y1, BRW_REGISTER_TYPE_F);<br>
+   ALLOC_REG(x_transform.multiplier, BRW_REGISTER_TYPE_F);<br>
+   ALLOC_REG(x_transform.offset, BRW_REGISTER_TYPE_F);<br>
+   ALLOC_REG(y_transform.multiplier, BRW_REGISTER_TYPE_F);<br>
+   ALLOC_REG(y_transform.offset, BRW_REGISTER_TYPE_F);<br>
 #undef CONST_LOC<br>
 #undef ALLOC_REG<br>
 }<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.8.4.rc3<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" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>