Mesa (main): freedreno/a6xx: Add UNK fields to CP_REG_TEST and CP_COND_REG_EXEC
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Apr 29 09:50:53 UTC 2022
Module: Mesa
Branch: main
Commit: d5debf0d8afab24e3034288d5a03caacf7b5cdd2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5debf0d8afab24e3034288d5a03caacf7b5cdd2
Author: Danylo Piliaiev <dpiliaiev at igalia.com>
Date: Thu Apr 14 17:15:49 2022 +0300
freedreno/a6xx: Add UNK fields to CP_REG_TEST and CP_COND_REG_EXEC
Their meaning is unknown, however they DO change the behavior.
Signed-off-by: Danylo Piliaiev <dpiliaiev at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15974>
---
src/freedreno/registers/adreno/adreno_pm4.xml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/src/freedreno/registers/adreno/adreno_pm4.xml b/src/freedreno/registers/adreno/adreno_pm4.xml
index 7b898709ab9..0b3bf0f1686 100644
--- a/src/freedreno/registers/adreno/adreno_pm4.xml
+++ b/src/freedreno/registers/adreno/adreno_pm4.xml
@@ -1604,6 +1604,13 @@ opcode: CP_LOAD_STATE4 (30) (4 dwords)
<bitfield name="BIT" low="20" high="24" type="uint"/>
<!-- execute CP_WAIT_FOR_ME beforehand -->
<bitfield name="WAIT_FOR_ME" pos="25" type="boolean"/>
+ <!--
+ Appears only in:
+ opcode: CP_REG_TEST (39) (4 dwords)
+ { REG = 0 | BIT = 0 | WAIT_FOR_ME | UNK31 }
+ Seem to force CP_REG_TEST to write false
+ -->
+ <bitfield name="UNK31" pos="31" type="boolean"/>
</reg32>
</domain>
@@ -1620,6 +1627,16 @@ opcode: CP_LOAD_STATE4 (30) (4 dwords)
<reg32 offset="0" name="0">
<bitfield name="REG0" low="0" high="17" type="hex"/>
+ <!--
+ Blob uses them for vkCmdClearAttachments in gmem mode. Examples:
+ opcode: CP_COND_REG_EXEC (47) (3 dwords)
+ { REG0 = 0 | MODE = PRED_TEST | 0x140000 }
+ opcode: CP_COND_REG_EXEC (47) (3 dwords)
+ { REG0 = 0 | MODE = PRED_TEST | 0x100000 }
+ -->
+ <bitfield name="UNK18" pos="18" varset="chip" variants="A6XX-" type="boolean"/>
+ <bitfield name="UNK20" pos="20" varset="chip" variants="A6XX-" type="boolean"/>
+
<!--
Note: these bits have the same meaning, and use the same
internal mechanism as the bits in CP_SET_DRAW_STATE.
More information about the mesa-commit
mailing list