Mesa (master): i965: Add non-mutating helper functions to modify the register offset.
Francisco Jerez
currojerez at kemper.freedesktop.org
Wed Feb 19 15:57:29 UTC 2014
Module: Mesa
Branch: master
Commit: 2337820d49149126991d0814b225db7b57789016
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2337820d49149126991d0814b225db7b57789016
Author: Francisco Jerez <currojerez at riseup.net>
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 <stereotype441 at gmail.com>
---
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);
More information about the mesa-commit
mailing list