From 06332ef60e8c597c051e615fd3d15b1a0f5ab78f Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Sat, 18 Jul 2020 19:25:01 +0200 Subject: [PATCH 1/1] freedreno: Document draw predication packets Part-of: --- src/freedreno/registers/adreno/adreno_pm4.xml | 64 +++++++++++++++++-- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/src/freedreno/registers/adreno/adreno_pm4.xml b/src/freedreno/registers/adreno/adreno_pm4.xml index 24c95ee9d32..144e7166853 100644 --- a/src/freedreno/registers/adreno/adreno_pm4.xml +++ b/src/freedreno/registers/adreno/adreno_pm4.xml @@ -313,12 +313,30 @@ xsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd"> - + + Enable or disable predication globally. Also resets the + predicate to "passing" and the local bit to enabled when + enabling global predication. + + - set to 1 for fastclear..: - + + Enable or disable predication locally. Unlike globally enabling + predication, this packet doesn't touch any other state. + Predication only happens when enabled globally and locally and a + predicate has been set. This should be used for internal draws + which aren't supposed to use the predication state: + + CP_DRAW_PRED_ENABLE_LOCAL(0) + ... do draw... + CP_DRAW_PRED_ENABLE_LOCAL(1) + + - + + Latch a draw predicate into the internal register. + + for A4xx @@ -832,6 +850,44 @@ opcode: CP_LOAD_STATE4 (30) (4 dwords) + + + + + + + + + + + + + + + + + + Read a 64-bit value at the given address and + test if it equals/doesn't equal 0. + + + + + + + + + + + + + + -- 2.30.2