freedreno/ir3: take reg->num out of union in ir3_register

To avoid wrong result when identifying the type of register.
Ie. If the reg is an array, it might be identified as address or
predicate register.

Fixes: dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays.6

Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Hyunjun Ko 2018-10-25 17:26:19 +09:00 committed by Rob Clark
parent 3c402d0dc2
commit 703271c22a

View file

@ -95,12 +95,13 @@ struct ir3_register {
IR3_REG_ARRAY = 0x8000,
} flags;
/* normal registers:
* the component is in the low two bits of the reg #, so
* rN.x becomes: (N << 2) | x
*/
int num;
union {
/* normal registers:
* the component is in the low two bits of the reg #, so
* rN.x becomes: (N << 2) | x
*/
int num;
/* immediate: */
int32_t iim_val;
uint32_t uim_val;