From: Francisco Jerez Date: Mon, 27 Jul 2015 16:09:45 +0000 (+0300) Subject: i965/fs: Set the execution size of the MOVs correctly in opt_combine_constants(). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=53077aee6670022e634a4775d8abbb59c458b7d7;p=mesa.git i965/fs: Set the execution size of the MOVs correctly in opt_combine_constants(). The execution size was being left equal to the default of 8/16, which AFAICT would have overwritten components other than the one we wanted to initialize and could potentially have corrupted other registers. Reviewed-by: Jason Ekstrand --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp b/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp index 0af5a915c9f..c182232285e 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_combine_constants.cpp @@ -277,7 +277,7 @@ fs_visitor::opt_combine_constants() */ exec_node *n = (imm->inst ? imm->inst : imm->block->last_non_control_flow_inst()->next); - const fs_builder ibld = bld.at(imm->block, n).exec_all(); + const fs_builder ibld = bld.at(imm->block, n).exec_all().group(1, 0); ibld.MOV(reg, fs_reg(imm->val)); imm->reg = reg.reg;