From: Hyunjun Ko Date: Thu, 25 Oct 2018 08:26:19 +0000 (+0900) Subject: freedreno/ir3: take reg->num out of union in ir3_register X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=703271c22a9b3ac85e9aef38be288e4ce9ba5e3a;p=mesa.git 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 --- diff --git a/src/gallium/drivers/freedreno/ir3/ir3.h b/src/gallium/drivers/freedreno/ir3/ir3.h index 3055c10f1dd..1f47cef7e01 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3.h +++ b/src/gallium/drivers/freedreno/ir3/ir3.h @@ -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;