[Mesa-dev] [PATCH 1/5] freedreno: a2xx: increase size of the offset field in instr_fetch_vtx_t

Jonathan Marek jonathan at marek.ca
Thu Jun 21 21:06:26 UTC 2018


The offset field is 22 bit large.
11 bits are necessary because MaxVertexAttribRelativeOffset = 2047

Signed-off-by: Jonathan Marek <jonathan at marek.ca>
---
 src/gallium/drivers/freedreno/a2xx/instr-a2xx.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/freedreno/a2xx/instr-a2xx.h b/src/gallium/drivers/freedreno/a2xx/instr-a2xx.h
index 0d6e138daf..ac972ed35a 100644
--- a/src/gallium/drivers/freedreno/a2xx/instr-a2xx.h
+++ b/src/gallium/drivers/freedreno/a2xx/instr-a2xx.h
@@ -366,10 +366,8 @@ typedef struct PACKED {
 	uint8_t             pred_select              : 1;
 	/* dword2: */
 	uint8_t             stride                   : 8;
-	/* possibly offset and reserved4 are swapped on a200? */
-	uint8_t             offset                   : 8;
-	uint8_t             reserved4                : 8;
-	uint8_t             reserved5                : 7;
+	uint32_t            offset                   : 22;
+	uint8_t             reserved4                : 1;
 	uint8_t             pred_condition           : 1;
 } instr_fetch_vtx_t;
 
-- 
2.17.1



More information about the mesa-dev mailing list