summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2014-07-10 17:49:36 -0700
committerKenneth Graunke <[email protected]>2014-07-15 22:09:49 -0700
commit2eaf3f670fea4ce4466340141244e41a45542c13 (patch)
treea4f13667e314d74896de40ca10418989dad36086
parent419871100638483b82c6fb1f54e306f182abeb01 (diff)
i965: Set execution size to 8 for instructions with force_sechalf set.
Both inst->force_uncompressed and inst->force_sechalf mean that the generated instruction should be uncompressed and have an execution size of 8. We don't require the visitor to set both flags - setting inst->force_sechalf by itself is supposed to be enough. On Gen4-7, guess_execution_size() demoted instructions to 8-wide based on the default compression state. On Gen8+, we instead set a default execution size, which worked great...except that we forgot to check inst->force_sechalf when deciding whether to use 8 or 16. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Chris Forbes <[email protected]> Cc: [email protected]
-rw-r--r--src/mesa/drivers/dri/i965/gen8_fs_generator.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp b/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp
index 02e28cf9708..2924820347f 100644
--- a/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp
+++ b/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp
@@ -921,7 +921,7 @@ gen8_fs_generator::generate_code(exec_list *instructions)
default_state.mask_control = ir->force_writemask_all;
default_state.flag_subreg_nr = ir->flag_subreg;
- if (dispatch_width == 16 && !ir->force_uncompressed)
+ if (dispatch_width == 16 && !ir->force_uncompressed && !ir->force_sechalf)
default_state.exec_size = BRW_EXECUTE_16;
else
default_state.exec_size = BRW_EXECUTE_8;