We will use this in cases where we want to force the vstride of a src_reg to 0 to exploit a particular behavior of the hardware. It will come in handy to implement access to components Z/W. --- src/mesa/drivers/dri/i965/brw_ir_vec4.h | 1 + src/mesa/drivers/dri/i965/brw_vec4.cpp | 2 ++ 2 files changed, 3 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_ir_vec4.h b/src/mesa/drivers/dri/i965/brw_ir_vec4.h index f66c093..f3cce4b 100644 --- a/src/mesa/drivers/dri/i965/brw_ir_vec4.h +++ b/src/mesa/drivers/dri/i965/brw_ir_vec4.h @@ -51,6 +51,7 @@ public: explicit src_reg(const dst_reg ®); src_reg *reladdr; + bool force_vstride0; }; static inline src_reg diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp index a20b2fd..bfbbd96 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp @@ -70,6 +70,7 @@ src_reg::src_reg(struct ::brw_reg reg) : { this->reg_offset = 0; this->reladdr = NULL; + this->force_vstride0 = false; } src_reg::src_reg(const dst_reg ®) : @@ -77,6 +78,7 @@ src_reg::src_reg(const dst_reg ®) : { this->reladdr = reg.reladdr; this->swizzle = brw_swizzle_for_mask(reg.writemask); + this->force_vstride0 = false; } void -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev