Module: Mesa
Branch: main
Commit: 102445d2c35eae4600be26f04a8d7f8955bf9215
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=102445d2c35eae4600be26f04a8d7f8955bf9215

Author: Rob Clark <[email protected]>
Date:   Mon Mar  6 15:16:05 2023 -0800

freedreno/registers: Add control reg for zap fw base

The zap shader knows the offset of the embedded shader within the zap
sqe instructions, but uses this control reg to get it's own address in
memory, in order to calculate the address of the compute shader part of
the zap shader.

Signed-off-by: Rob Clark <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21748>

---

 src/freedreno/registers/adreno/adreno_control_regs.xml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/freedreno/registers/adreno/adreno_control_regs.xml 
b/src/freedreno/registers/adreno/adreno_control_regs.xml
index 9876c979b45..8e14cdee895 100644
--- a/src/freedreno/registers/adreno/adreno_control_regs.xml
+++ b/src/freedreno/registers/adreno/adreno_control_regs.xml
@@ -147,6 +147,13 @@ xsi:schemaLocation="http://nouveau.freedesktop.org/ 
rules-ng.xsd">
        <reg32 name="PACKET_TABLE_WRITE_ADDR" offset="0x060"/>
        <reg32 name="PACKET_TABLE_WRITE" offset="0x061"/>
 
+       <doc>
+               The zap shader uses the base address of itself, adding the 
offset of the embedded
+               shader instructions, to program SP_CS_OBJ_START with the 
address of the shader
+               part of the zap "shader"
+       </doc>
+       <reg64 name="ZAP_SHADER_ADDR" offset="0x062"/>
+
        <doc> Resettable counter used to implement PERF_CP_LONG_PREEMPTIONS 
</doc>
        <reg32 name="PREEMPTION_TIMER" offset="0x06e"/>
        <doc> Seemingly used to start/stop PREEMPTION_TIMER </doc>

Reply via email to