docs/freedreno: Add documentation on A7XX LRZ
Signed-off-by: Mark Collins <mark@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29453>
This commit is contained in:
@@ -21,8 +21,6 @@ Citing official Adreno documentation:
|
|||||||
is then used during the rendering pass to reject pixels efficiently before testing
|
is then used during the rendering pass to reject pixels efficiently before testing
|
||||||
against the full resolution Z-buffer.
|
against the full resolution Z-buffer.
|
||||||
|
|
||||||
TODO: a7xx
|
|
||||||
|
|
||||||
Limitations
|
Limitations
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
@@ -63,6 +61,21 @@ stored in the buffer. If not, LRZ is disabled. This is necessary
|
|||||||
because depth buffer may have several layers and mip levels, while the
|
because depth buffer may have several layers and mip levels, while the
|
||||||
LRZ buffer represents only a single layer + mip level.
|
LRZ buffer represents only a single layer + mip level.
|
||||||
|
|
||||||
|
A7XX
|
||||||
|
-------------
|
||||||
|
|
||||||
|
A7XX introduces the concept of bidirectional LRZ where there are two LRZ
|
||||||
|
buffers, one for each direction. This way LRZ doesn't need to be disabled
|
||||||
|
when the direction changes, by default, this behavior is disabled but the
|
||||||
|
LRZ buffers have to be allocated with this space in mind as fast clears
|
||||||
|
will always write metadata for both.
|
||||||
|
|
||||||
|
Additionally, there are now two seperate LRZ buffers (on top of one for
|
||||||
|
each direction, a total of four) - due to concurrent binning, one can be
|
||||||
|
used for binning and the other for rendering concurrently. These can be
|
||||||
|
flipped between via the `LRZ_FLIP_BUFFER` event which can be put inside
|
||||||
|
a conditional block for either the BV or BR.
|
||||||
|
|
||||||
LRZ Fast-Clear
|
LRZ Fast-Clear
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
@@ -79,6 +92,9 @@ written the LRZ block which corresponds to a single fast-clear bit is cleared:
|
|||||||
|
|
||||||
This way it's always valid to fast-clear.
|
This way it's always valid to fast-clear.
|
||||||
|
|
||||||
|
On A7XX, the original depth clear value can be specified exactly allowing for
|
||||||
|
fast-clear to any value rather than just ``1.0`` or ``0.0``.
|
||||||
|
|
||||||
LRZ Precision
|
LRZ Precision
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user