[Mesa-dev] [PATCH 48/95] i965/vec4: add a force_vstride0 flag to src_reg

Iago Toral Quiroga itoral at igalia.com
Tue Jul 19 10:40:45 UTC 2016


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 &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 &reg) :
@@ -77,6 +78,7 @@ src_reg::src_reg(const dst_reg &reg) :
 {
    this->reladdr = reg.reladdr;
    this->swizzle = brw_swizzle_for_mask(reg.writemask);
+   this->force_vstride0 = false;
 }
 
 void
-- 
2.7.4



More information about the mesa-dev mailing list