diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 9 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4.cpp | 9 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4.h | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 3639ed28de1..2837fc0477d 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -585,6 +585,15 @@ fs_reg::fs_reg(uint32_t u) } /** Vector float immediate value constructor. */ +fs_reg::fs_reg(uint8_t vf[4]) +{ + init(); + this->file = IMM; + this->type = BRW_REGISTER_TYPE_VF; + memcpy(&this->fixed_hw_reg.dw1.ud, vf, sizeof(unsigned)); +} + +/** Vector float immediate value constructor. */ fs_reg::fs_reg(uint8_t vf0, uint8_t vf1, uint8_t vf2, uint8_t vf3) { init(); diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp index 2fb578e11f9..b303eb68699 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp @@ -113,6 +113,15 @@ src_reg::src_reg(int32_t i) this->fixed_hw_reg.dw1.d = i; } +src_reg::src_reg(uint8_t vf[4]) +{ + init(); + + this->file = IMM; + this->type = BRW_REGISTER_TYPE_VF; + memcpy(&this->fixed_hw_reg.dw1.ud, vf, sizeof(unsigned)); +} + src_reg::src_reg(uint8_t vf0, uint8_t vf1, uint8_t vf2, uint8_t vf3) { init(); diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index be52fbc54b9..0c44ad3123d 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.h +++ b/src/mesa/drivers/dri/i965/brw_vec4.h @@ -82,6 +82,7 @@ public: src_reg(float f); src_reg(uint32_t u); src_reg(int32_t i); + src_reg(uint8_t vf[4]); src_reg(uint8_t vf0, uint8_t vf1, uint8_t vf2, uint8_t vf3); src_reg(struct brw_reg reg); |