[Mesa-dev] [PATCH 04/17] i965/fs: Explicitly set the exec_size on the add(32) in interpolation setup

Jason Ekstrand jason at jlekstrand.net
Thu Jun 18 17:50:10 PDT 2015


Soon we will start using the builder to explicitly set all the execution
sizes.  We could make a 32-wide builder, but the builder asserts that we
never grow it which is usually a reasonable assumption.  Sinc this one
instruction is a bit of an odd-ball, we just set the exec_size explicitly.
---
 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index 4770838..b00825e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -1357,10 +1357,11 @@ fs_visitor::emit_interpolation_setup_gen6()
        */
       fs_reg int_pixel_xy(GRF, alloc.allocate(dispatch_width / 8),
                           BRW_REGISTER_TYPE_UW, dispatch_width * 2);
-      abld.exec_all()
-          .ADD(int_pixel_xy,
-               fs_reg(stride(suboffset(g1_uw, 4), 1, 4, 0)),
-               fs_reg(brw_imm_v(0x11001010)));
+      fs_inst *add = abld.exec_all()
+                         .ADD(int_pixel_xy,
+                              fs_reg(stride(suboffset(g1_uw, 4), 1, 4, 0)),
+                              fs_reg(brw_imm_v(0x11001010)));
+      add->exec_size = dispatch_width * 2;
 
       this->pixel_x = vgrf(glsl_type::float_type);
       this->pixel_y = vgrf(glsl_type::float_type);
-- 
2.4.3



More information about the mesa-dev mailing list