asahi: Add XML for linear 2D arrays

These look a bit like compressed images, and elucidate one of the common fields.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446>
This commit is contained in:
Alyssa Rosenzweig
2022-12-20 20:59:26 -05:00
parent 48c9a9676c
commit 17d4486c6a
2 changed files with 16 additions and 4 deletions

View File

@@ -214,13 +214,19 @@
<field name="Levels" size="4" start="104" type="uint" modifier="minus(1)"/>
<field name="Layers" size="14" start="108" type="uint" modifier="minus(1)" default="1"/>
<field name="Page-aligned layers" size="1" start="124" type="bool"/>
<field name="Compressed 2" size="1" start="127" type="bool"/>
<!-- Read the next word (set for compression or linear 2D arrays) -->
<field name="Extended" size="1" start="127" type="bool"/>
<!-- If layout is linear. Off by 4? -->
<field name="Stride" size="24" start="104" type="hex"/>
<!-- If layout is compressed -->
<field name="Acceleration buffer" size="64" start="128" type="address" modifier="shr(4)"/>
<!-- If layout is linear, stride has the minus 1 encoded -->
<field name="Depth (linear)" size="11" start="128" type="uint" modifier="minus(1)" default="1"/>
<field name="Layer stride (linear)" size="27" start="139" type="uint" modifier="shr(7)"/>
</struct>
<struct name="Texture" size="24">
@@ -252,10 +258,16 @@
<!-- Note that 3D/arrays cannot be linear. -->
<field name="Depth" size="14" start="110" type="uint" modifier="minus(1)" default="1"/>
<field name="Page-aligned layers" size="1" start="126" type="bool"/>
<field name="Compressed 2" size="1" start="127" type="bool"/>
<!-- Read the next word (set for compression or linear 2D arrays) -->
<field name="Extended" size="1" start="127" type="bool"/>
<!-- If layout is compressed -->
<field name="Acceleration buffer" size="64" start="128" type="address" modifier="shr(4)"/>
<!-- If layout is linear, stride has the minus 1 encoded -->
<field name="Depth (linear)" size="11" start="128" type="uint" modifier="minus(1)" default="1"/>
<field name="Layer stride (linear)" size="27" start="139" type="uint" modifier="shr(7)"/>
</struct>
<enum name="Wrap">

View File

@@ -612,7 +612,7 @@ agx_pack_texture(void *out, struct agx_resource *rsrc,
if (ail_is_compressed(&rsrc->layout)) {
cfg.compressed_1 = true;
cfg.compressed_2 = true;
cfg.extended = true;
}
if (include_bo) {
@@ -969,7 +969,7 @@ agx_batch_upload_pbe(struct agx_batch *batch, unsigned rt)
if (ail_is_compressed(&tex->layout)) {
cfg.compressed_1 = true;
cfg.compressed_2 = true;
cfg.extended = true;
cfg.acceleration_buffer = cfg.buffer + tex->layout.metadata_offset_B;
}