panfrost: Identify "Base vertex offset" signedness

This is signed, not unsigned. We were already passing negatives and silently
relying on 2's complement and C to do the right thing. But that's silly. We
should just, actually do the right thing.

Found while struggling to debug primitive-restart-draw-mode.

v2: Update the other architectures too, including a decode_csf.c change for the
v10 incarnation of this v4-era field.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net> [v1]
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21891>
This commit is contained in:
Alyssa Rosenzweig
2023-03-13 21:22:20 -04:00
committed by Marge Bot
parent 90e78f6008
commit 589a0fe865
7 changed files with 7 additions and 7 deletions

View File

@@ -208,7 +208,7 @@ pandecode_run_idvs(FILE *fp, struct queue_ctx *ctx, struct MALI_CEU_RUN_IDVS *I)
if (tiler_flags.index_type)
pandecode_log("Index offset: %u\n", cs_get_u32(ctx, 35));
pandecode_log("Vertex offset: %u\n", cs_get_u32(ctx, 36));
pandecode_log("Vertex offset: %d\n", cs_get_u32(ctx, 36));
pandecode_log("Instance offset: %u\n", cs_get_u32(ctx, 37));
pandecode_log("Tiler DCD flags2: %X\n", cs_get_u32(ctx, 38));

View File

@@ -952,7 +952,7 @@
<field name="Layer index enable" size="1" start="0:20" type="bool"/>
<field name="Scissor array enable" size="1" start="0:21" type="bool"/>
<field name="Base vertex offset" size="32" start="1:0" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="int"/>
<field name="Instance offset" size="32" start="2:0" type="uint"/>
<field name="Index count" size="32" start="3:0" type="uint"/>
</struct>

View File

@@ -518,7 +518,7 @@
<field name="High Depth Cull" size="1" start="0:17" type="bool" default="true"/>
<field name="Primitive restart" size="2" start="0:19" type="Primitive Restart"/>
<field name="Job Task Split" size="6" start="0:26" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="int"/>
<field name="Primitive Restart Index" size="32" start="2:0" type="uint"/>
<field name="Index count" size="32" start="3:0" type="uint" modifier="minus(1)"/>
<field name="Indices" size="64" start="4:0" type="address"/>

View File

@@ -539,7 +539,7 @@
<field name="High Depth Cull" size="1" start="0:17" type="bool" default="true"/>
<field name="Primitive restart" size="2" start="0:19" type="Primitive Restart"/>
<field name="Job Task Split" size="6" start="0:26" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="int"/>
<field name="Primitive Restart Index" size="32" start="2:0" type="uint"/>
<field name="Index count" size="32" start="3:0" type="uint" modifier="minus(1)"/>
<field name="Indices" size="64" start="4:0" type="address"/>

View File

@@ -581,7 +581,7 @@
<field name="Secondary Shader" size="1" start="0:18" type="bool"/>
<field name="Primitive restart" size="2" start="0:19" type="Primitive Restart"/>
<field name="Job Task Split" size="6" start="0:26" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="int"/>
<field name="Primitive Restart Index" size="32" start="2:0" type="uint"/>
<field name="Index count" size="32" start="3:0" type="uint" modifier="minus(1)"/>
<field name="Indices" size="64" start="4:0" type="address"/>

View File

@@ -637,7 +637,7 @@
<field name="Secondary Shader" size="1" start="0:18" type="bool"/>
<field name="Primitive restart" size="2" start="0:19" type="Primitive Restart"/>
<field name="Job Task Split" size="6" start="0:26" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="int"/>
<field name="Primitive Restart Index" size="32" start="2:0" type="uint"/>
<field name="Index count" size="32" start="3:0" type="uint" modifier="minus(1)"/>
<field name="Indices" size="64" start="4:0" type="address"/>

View File

@@ -613,7 +613,7 @@
<field name="Layer index enable" size="1" start="0:20" type="bool"/>
<field name="Scissor array enable" size="1" start="0:21" type="bool"/>
<field name="Base vertex offset" size="32" start="1:0" type="uint"/>
<field name="Base vertex offset" size="32" start="1:0" type="int"/>
<field name="Instance offset" size="32" start="2:0" type="uint"/>
<field name="Index count" size="32" start="3:0" type="uint"/>
</struct>