From: Kenneth Graunke Date: Fri, 11 Jul 2014 00:49:36 +0000 (-0700) Subject: i965: Set execution size to 8 for instructions with force_sechalf set. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2eaf3f670fea4ce4466340141244e41a45542c13;p=mesa.git 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 Reviewed-by: Matt Turner Reviewed-by: Chris Forbes Cc: mesa-stable@lists.freedesktop.org --- 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;