mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 07:10:15 +01:00
i965/fs: Set stride correctly for immediates in fs_reg(brw_reg).
The fs_reg() constructors for immediates set stride to 0, except for vector-immediates, which set stride to 1. This patch makes the fs_reg constructor that takes a brw_reg do likewise, so that stride is set correctly for cases such as fs_reg(brw_imm_v(...)). The generator asserts that this is true (and presumably it's useful in some optimization passes?) and the VF fs_reg constructors did this (by virtue of the fact that it doesn't override what init() does). In the next commit, calling this constructor with brw_imm_* will generate an IMM file register rather than a HW_REG, making this change necessary to avoid breakage with existing uses of brw_imm_v(). Reviewed-by: Emil Velikov <emil.velikov@collabora.co.uk> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
b99e1fd547
commit
4b0fbebf02
1 changed files with 6 additions and 0 deletions
|
|
@ -428,6 +428,12 @@ fs_reg::fs_reg(struct brw_reg reg) :
|
|||
this->subreg_offset = 0;
|
||||
this->reladdr = NULL;
|
||||
this->stride = 1;
|
||||
if (this->file == IMM &&
|
||||
(this->type != BRW_REGISTER_TYPE_V &&
|
||||
this->type != BRW_REGISTER_TYPE_UV &&
|
||||
this->type != BRW_REGISTER_TYPE_VF)) {
|
||||
this->stride = 0;
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue