mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 15:20:10 +01:00
i965: Add fs_reg/src_reg constructors that take vf[4].
Sometimes it's easier to generate 4x values into an array, and the memcpy is 1 instruction, rather than 11 to piece 4 arguments together. I'd forgotten to remove the prototype from fs_reg from a previous patch, so it's already there for us here. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
0c7f895995
commit
3978585bcc
3 changed files with 19 additions and 0 deletions
|
|
@ -584,6 +584,15 @@ fs_reg::fs_reg(uint32_t u)
|
|||
this->width = 1;
|
||||
}
|
||||
|
||||
/** 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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue