[Mesa-dev] [PATCH 02/21] i965/fs: Fix offset() for registers with zero stride.
Francisco Jerez
currojerez at riseup.net
Tue Apr 28 10:08:18 PDT 2015
stride == 0 implies that the register has one channel per vector
component.
---
src/mesa/drivers/dri/i965/brw_ir_fs.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_ir_fs.h b/src/mesa/drivers/dri/i965/brw_ir_fs.h
index 68a2818..e2d2617 100644
--- a/src/mesa/drivers/dri/i965/brw_ir_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_ir_fs.h
@@ -139,14 +139,15 @@ horiz_offset(fs_reg reg, unsigned delta)
static inline fs_reg
offset(fs_reg reg, unsigned delta)
{
- assert(reg.stride > 0);
switch (reg.file) {
case BAD_FILE:
break;
case GRF:
case MRF:
case ATTR:
- return byte_offset(reg, delta * reg.width * reg.stride * type_sz(reg.type));
+ return byte_offset(reg,
+ delta * MAX2(reg.width * reg.stride, 1) *
+ type_sz(reg.type));
case UNIFORM:
reg.reg_offset += delta;
break;
--
2.3.5
More information about the mesa-dev
mailing list