From cb04294b42ff8fac269eae3b76ad0814bd984dfe Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 10 Jul 2014 17:49:36 -0700 Subject: [PATCH] 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 Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit 1c62126612752f6eedb66f705cc3ff1e11beea5d) --- src/mesa/drivers/dri/i965/gen8_fs_generator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp b/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp index 97f6404c036..b96860e3365 100644 --- a/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp +++ b/src/mesa/drivers/dri/i965/gen8_fs_generator.cpp @@ -973,7 +973,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;