Module: Mesa Branch: master Commit: 4c8cbe9b1340db826fa21eec5fcbee6e6fc35efe URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c8cbe9b1340db826fa21eec5fcbee6e6fc35efe
Author: Jason Ekstrand <ja...@jlekstrand.net> Date: Mon Oct 26 20:53:37 2020 -0500 intel/compiler: Return 1 for immediates in regs_read Previously, we were returning 2 whenever the source was a Q type. As far as I can tell, the only reason why this hasn't blown up before is that it was only ever used for VGRFs until the SWSB pass landed which uses it for everything. This wasn't a problem because Q types generally aren't a thing on TGL. However, they are for a small handful of instructions. Cc: mesa-sta...@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7329> --- src/intel/compiler/brw_ir_fs.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/intel/compiler/brw_ir_fs.h b/src/intel/compiler/brw_ir_fs.h index 6ba3a6ca97e..3a4acc1834a 100644 --- a/src/intel/compiler/brw_ir_fs.h +++ b/src/intel/compiler/brw_ir_fs.h @@ -451,13 +451,15 @@ regs_written(const fs_inst *inst) * Return the number of dataflow registers read by the instruction (either * fully or partially) counted from 'floor(reg_offset(inst->src[i]) / * register_size)'. The somewhat arbitrary register size unit is 4B for the - * UNIFORM and IMM files and 32B for all other files. + * UNIFORM files and 32B for all other files. */ inline unsigned regs_read(const fs_inst *inst, unsigned i) { - const unsigned reg_size = - inst->src[i].file == UNIFORM || inst->src[i].file == IMM ? 4 : REG_SIZE; + if (inst->src[i].file == IMM) + return 1; + + const unsigned reg_size = inst->src[i].file == UNIFORM ? 4 : REG_SIZE; return DIV_ROUND_UP(reg_offset(inst->src[i]) % reg_size + inst->size_read(i) - MIN2(inst->size_read(i), reg_padding(inst->src[i])), _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit