[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