namespace brw {
class dst_reg;
-class vec4_visitor;
unsigned
swizzle_for_size(int size);
explicit src_reg(dst_reg reg);
- GLuint swizzle; /**< BRW_SWIZZLE_XYZW macros from brw_reg.h. */
+ unsigned swizzle; /**< BRW_SWIZZLE_XYZW macros from brw_reg.h. */
src_reg *reladdr;
};
dst_reg();
dst_reg(register_file file, int reg);
- dst_reg(register_file file, int reg, const glsl_type *type, int writemask);
+ dst_reg(register_file file, int reg, const glsl_type *type,
+ unsigned writemask);
dst_reg(struct brw_reg reg);
dst_reg(class vec4_visitor *v, const struct glsl_type *type);
explicit dst_reg(src_reg reg);
- int writemask; /**< Bitfield of WRITEMASK_[XYZW] */
+ bool equals(const dst_reg &r) const;
+
+ unsigned writemask; /**< Bitfield of WRITEMASK_[XYZW] */
src_reg *reladdr;
};
public:
DECLARE_RALLOC_CXX_OPERATORS(vec4_instruction)
- vec4_instruction(vec4_visitor *v, enum opcode opcode,
+ vec4_instruction(enum opcode opcode,
const dst_reg &dst = dst_reg(),
const src_reg &src0 = src_reg(),
const src_reg &src1 = src_reg(),
unsigned sol_vertex; /**< gen6: used for setting dst index in SVB header */
bool is_send_from_grf();
+ unsigned regs_read(unsigned arg) const;
bool can_reswizzle(int dst_writemask, int swizzle, int swizzle_mask);
void reswizzle(int dst_writemask, int swizzle);
bool can_do_source_mods(struct brw_context *brw);