diff --git a/src/freedreno/registers/a6xx.xml b/src/freedreno/registers/a6xx.xml index a001c9ae631..6868ed5528b 100644 --- a/src/freedreno/registers/a6xx.xml +++ b/src/freedreno/registers/a6xx.xml @@ -1771,6 +1771,16 @@ to upconvert to 32b float internally? TODO now there seem to be two buffers of VSC data (both referenced by CP_SET_BIN_DATA packet. Not sure what this new DATA2 one is, but seems to have the larger pitch. + + The "DATA2" buffer is probably actually the main visibility stream; it + is at least the larger of the two. + + For VSC_DATA_PITCH, 0x20 actually seems to be sufficient (although blob + uses something somewhat larger) for many cases, although required value + can ramp up somewhat higher. Values less than 0x20 trigger GPU hangs + even with small amount of geometry (so possibly 0x20 is minimum + alignment or something like that). So far I can't seem to find any- + thing that needs values larger than 0x20 --> @@ -1781,10 +1791,25 @@ to upconvert to 32b float internally? - + + + Seems to be a bitmap of which tiles mapped to the VSC + pipe contain geometry. + + I suppose we can connect a maximum of 32 tiles to a + single VSC pipe. + + + + + + + Has the size of data written to corresponding VSC_DATA2 + buffer. + + + + Has the size of data written to corresponding VSC pipe, ie. diff --git a/src/freedreno/registers/adreno_pm4.xml b/src/freedreno/registers/adreno_pm4.xml index dfb50bfdaf9..06175d3e1ad 100644 --- a/src/freedreno/registers/adreno_pm4.xml +++ b/src/freedreno/registers/adreno_pm4.xml @@ -41,6 +41,9 @@ xsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd"> + + + @@ -1156,5 +1159,15 @@ opcode: CP_LOAD_STATE4 (30) (4 dwords) + + + + + + + + + +