Module: Mesa Branch: master Commit: 2337820d49149126991d0814b225db7b57789016 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2337820d49149126991d0814b225db7b57789016
Author: Francisco Jerez <[email protected]> Date: Wed Feb 19 15:19:10 2014 +0100 i965: Add non-mutating helper functions to modify the register offset. Yes, we could avoid having four copies of essentially the same code by using templates here. Reviewed-by: Paul Berry <[email protected]> --- src/mesa/drivers/dri/i965/brw_fs.h | 8 ++++++++ src/mesa/drivers/dri/i965/brw_vec4.h | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 914ace6..ce5050b 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -130,6 +130,14 @@ public: }; static inline fs_reg +offset(fs_reg reg, unsigned delta) +{ + assert(delta == 0 || (reg.file != HW_REG && reg.file != IMM)); + reg.reg_offset += delta; + return reg; +} + +static inline fs_reg byte_offset(fs_reg reg, unsigned delta) { assert(delta == 0 || (reg.file != HW_REG && reg.file != IMM)); diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index ecb1649..3be17d8 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.h +++ b/src/mesa/drivers/dri/i965/brw_vec4.h @@ -140,6 +140,14 @@ public: src_reg *reladdr; }; +static inline src_reg +offset(src_reg reg, unsigned delta) +{ + assert(delta == 0 || (reg.file != HW_REG && reg.file != IMM)); + reg.reg_offset += delta; + return reg; +} + class dst_reg : public reg { public: @@ -160,6 +168,14 @@ public: src_reg *reladdr; }; +static inline dst_reg +offset(dst_reg reg, unsigned delta) +{ + assert(delta == 0 || (reg.file != HW_REG && reg.file != IMM)); + reg.reg_offset += delta; + return reg; +} + dst_reg with_writemask(dst_reg const &r, int mask); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
