asahi: Add XML for indirect draws

Nice and simple.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21272>
This commit is contained in:
Alyssa Rosenzweig
2023-02-11 17:39:37 -05:00
committed by Marge Bot
parent c3b8928b84
commit 8e0e68510f
2 changed files with 8 additions and 1 deletions
+6
View File
@@ -735,6 +735,7 @@
<field name="Index count present" size="1" start="22" type="bool" default="true"/>
<field name="Instance count present" size="1" start="23" type="bool" default="true"/>
<field name="Start present" size="1" start="24" type="bool" default="true"/>
<field name="Indirect buffer present" size="1" start="26" type="bool"/>
<field name="Block Type" size="3" start="29" type="VDM Block Type" default="Index List"/>
</struct>
@@ -762,6 +763,11 @@
<field name="Size" size="32" start="0" type="uint" modifier="shr(2)"/>
</struct>
<struct name="Index List: Indirect buffer" size="8">
<field name="Address hi" size="8" start="0" type="hex"/>
<field name="Address lo" size="32" start="32" type="hex"/>
</struct>
<!-- Conditional branching and function calls may be supported, see the
STREAM_LINK0 struct in mesa/src/imagination/csbgen/rogue_vdm.xml for a
probable dfinition -->
+2 -1
View File
@@ -653,10 +653,11 @@ agxdecode_vdm(const uint8_t *map, uint64_t *link, bool verbose,
IDX_PRINT(index_count, COUNT, "Index count");
IDX_PRINT(instance_count, INSTANCES, "Instance count");
IDX_PRINT(start, START, "Start");
IDX_PRINT(indirect_buffer, INDIRECT_BUFFER, "Indirect buffer");
IDX_PRINT(index_buffer_size, BUFFER_SIZE, "Index buffer size");
#undef IDX_PRINT
return ALIGN_POT(length, 8);
return length;
}
case AGX_VDM_BLOCK_TYPE_STREAM_LINK: {