freedreno/regs: add extra bits for UBWC array pitch
authorJonathan Marek <jonathan@marek.ca>
Sun, 28 Jun 2020 23:57:42 +0000 (19:57 -0400)
committerMarge Bot <eric+marge@anholt.net>
Mon, 29 Jun 2020 13:08:51 +0000 (13:08 +0000)
This is not completely tested, but matches the max array pitch allowed by
A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH.

Note this still doesn't allow all image sizes, but it allows 16384x16384
cpp=4 images to work.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5678>

src/freedreno/registers/a6xx.xml

index 32a5c0778557ceeb2c6f783c647f8613c45d4d30..129ec464e48f5dc707af9cd003e3e7d42dcea34a 100644 (file)
@@ -2449,7 +2449,7 @@ to upconvert to 32b float internally?
        <reg64 offset="0x8900" name="RB_DEPTH_FLAG_BUFFER_BASE" type="waddress"/>
        <reg32 offset="0x8902" name="RB_DEPTH_FLAG_BUFFER_PITCH">
                <bitfield name="PITCH" low="0" high="10" shr="6" type="uint"/>
-               <bitfield name="ARRAY_PITCH" low="11" high="21" shr="7" type="uint"/>
+               <bitfield name="ARRAY_PITCH" low="11" high="24" shr="7" type="uint"/>
        </reg32>
        <array offset="0x8903" name="RB_MRT_FLAG_BUFFER" stride="3" length="8">
                <reg32 offset="0" name="ADDR_LO"/>
@@ -2457,7 +2457,7 @@ to upconvert to 32b float internally?
                <reg64 offset="0" name="ADDR" type="waddress"/>
                <reg32 offset="2" name="PITCH">
                        <bitfield name="PITCH" low="0" high="10" shr="6" type="uint"/>
-                       <bitfield name="ARRAY_PITCH" low="11" high="21" shr="7" type="uint"/> <!-- ??? -->
+                       <bitfield name="ARRAY_PITCH" low="11" high="24" shr="7" type="uint"/> <!-- ??? -->
                </reg32>
        </array>
        <reg32 offset="0x8927" name="RB_SAMPLE_COUNT_ADDR_LO"/>