Will get more complicated when fs_reg src becomes a pointer. --- src/mesa/drivers/dri/i965/brw_fs.cpp | 5 +++++ src/mesa/drivers/dri/i965/brw_fs.h | 1 + 2 files changed, 6 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index bd77e0c..5b7d84f 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -139,6 +139,11 @@ fs_inst::fs_inst(enum opcode opcode, fs_reg dst, assert(src[2].reg_offset >= 0); } +fs_inst::fs_inst(const fs_inst &that) +{ + memcpy(this, &that, sizeof(that)); +} + #define ALU1(op) \ fs_inst * \ fs_visitor::op(fs_reg dst, fs_reg src0) \ diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 789f0b3..bda233c 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -197,6 +197,7 @@ public: fs_inst(enum opcode opcode, fs_reg dst, fs_reg src0, fs_reg src1); fs_inst(enum opcode opcode, fs_reg dst, fs_reg src0, fs_reg src1,fs_reg src2); + fs_inst(const fs_inst &that); bool equals(fs_inst *inst) const; bool overwrites_reg(const fs_reg ®) const; -- 1.8.3.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev