i965/vec4: Remove swizzle/writemask fields from src/dst_reg.
authorMatt Turner <mattst88@gmail.com>
Mon, 26 Oct 2015 04:14:56 +0000 (21:14 -0700)
committerMatt Turner <mattst88@gmail.com>
Fri, 13 Nov 2015 19:27:50 +0000 (11:27 -0800)
Also allows us to handle HW_REGs in the swizzle() and writemask()
functions.

Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_ir_vec4.h
src/mesa/drivers/dri/i965/brw_vec4.cpp

index 0b2a9258f25c4473ad2c91bcd7436a892ff968d8..a19a262506d62a6b430cffa1bb86cfd699dc9aa7 100644 (file)
@@ -55,8 +55,6 @@ public:
 
    explicit src_reg(const dst_reg &reg);
 
-   unsigned swizzle; /**< BRW_SWIZZLE_XYZW macros from brw_reg.h. */
-
    src_reg *reladdr;
 };
 
@@ -82,7 +80,6 @@ offset(src_reg reg, unsigned delta)
 static inline src_reg
 swizzle(src_reg reg, unsigned swizzle)
 {
-   assert(reg.file != HW_REG);
    reg.swizzle = brw_compose_swizzle(swizzle, reg.swizzle);
    return reg;
 }
@@ -122,8 +119,6 @@ public:
 
    bool equals(const dst_reg &r) const;
 
-   unsigned writemask; /**< Bitfield of WRITEMASK_[XYZW] */
-
    src_reg *reladdr;
 };
 
@@ -145,7 +140,7 @@ offset(dst_reg reg, unsigned delta)
 static inline dst_reg
 writemask(dst_reg reg, unsigned mask)
 {
-   assert(reg.file != HW_REG && reg.file != IMM);
+   assert(reg.file != IMM);
    assert((reg.writemask & mask) != 0);
    reg.writemask &= mask;
    return reg;
index 9155c2e811df90cc2c2e8d94f42056300257b28a..37170e7fc577eb2dfecb7f9690303a0b0ddea479 100644 (file)
@@ -125,7 +125,6 @@ src_reg::src_reg(struct brw_reg reg) :
    this->file = HW_REG;
    this->reg = 0;
    this->reg_offset = 0;
-   this->swizzle = BRW_SWIZZLE_XXXX;
    this->reladdr = NULL;
 }
 
@@ -188,7 +187,6 @@ dst_reg::dst_reg(struct brw_reg reg) :
    this->file = HW_REG;
    this->reg = 0;
    this->reg_offset = 0;
-   this->writemask = WRITEMASK_XYZW;
    this->reladdr = NULL;
 }