From: Connor Abbott Date: Tue, 11 Aug 2015 21:23:57 +0000 (-0700) Subject: i965/fs: fix regs_written in LOAD_PAYLOAD for doubles X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fccd15524f4c5b863e2e6570c66dbf1c15fee404;p=mesa.git i965/fs: fix regs_written in LOAD_PAYLOAD for doubles v2: Account for the stride of the dst (Iago) Signed-off-by: Iago Toral Quiroga Reviewed-by: Kenneth Graunke Reviewed-by: Jordan Justen --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_builder.h b/src/mesa/drivers/dri/i965/brw_fs_builder.h index 9a3cc3a50c2..268ecc6f4ac 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_builder.h +++ b/src/mesa/drivers/dri/i965/brw_fs_builder.h @@ -557,8 +557,12 @@ namespace brw { { instruction *inst = emit(SHADER_OPCODE_LOAD_PAYLOAD, dst, src, sources); inst->header_size = header_size; - inst->regs_written = header_size + - (sources - header_size) * (dispatch_width() / 8); + inst->regs_written = header_size; + for (unsigned i = header_size; i < sources; i++) { + inst->regs_written += + DIV_ROUND_UP(dispatch_width() * type_sz(src[i].type) * + dst.stride, REG_SIZE); + } return inst; }