[Mesa-dev] [PATCH 04/10] i965/fs: Allow an execution size of 32.

Matt Turner mattst88 at gmail.com
Tue Apr 14 16:15:41 PDT 2015


In a few commits, we'll start emitting an add(32) instruction on some
platforms.
---
 src/mesa/drivers/dri/i965/brw_eu_emit.c        | 2 +-
 src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 7 ++-----
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c
index 706b66b..44b9ffb 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c
@@ -213,7 +213,7 @@ validate_reg(const struct brw_context *brw, brw_inst *inst, struct brw_reg reg)
    const int hstride_for_reg[] = {0, 1, 2, 4};
    const int vstride_for_reg[] = {0, 1, 2, 4, 8, 16, 32};
    const int width_for_reg[] = {1, 2, 4, 8, 16};
-   const int execsize_for_reg[] = {1, 2, 4, 8, 16};
+   const int execsize_for_reg[] = {1, 2, 4, 8, 16, 32};
    int width, hstride, vstride, execsize;
 
    if (reg.file == BRW_IMMEDIATE_VALUE) {
diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
index a62ba03..102923a 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
@@ -1602,11 +1602,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
       brw_set_default_saturate(p, inst->saturate);
       brw_set_default_mask_control(p, inst->force_writemask_all);
       brw_set_default_acc_write_control(p, inst->writes_accumulator);
-
-      if (dispatch_width == 16 && !inst->force_uncompressed)
-         brw_set_default_exec_size(p, BRW_EXECUTE_16);
-      else
-         brw_set_default_exec_size(p, BRW_EXECUTE_8);
+      brw_set_default_exec_size(p, cvt(inst->exec_size) - 1);
 
       switch (inst->exec_size) {
       case 1:
@@ -1623,6 +1619,7 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width)
          }
          break;
       case 16:
+      case 32:
          brw_set_default_compression_control(p, BRW_COMPRESSION_COMPRESSED);
          break;
       default:
-- 
2.0.5



More information about the mesa-dev mailing list