ir3/a7xx: document alias.rt

It works completely differently from alias.tex.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31222>
This commit is contained in:
Job Noorman 2025-01-22 15:33:47 +01:00 committed by Marge Bot
parent d9241c6360
commit fb9de08efd

View file

@ -298,6 +298,8 @@ SOFTWARE.
<bitset name="alias" extends="#instruction"> <bitset name="alias" extends="#instruction">
<doc> <doc>
For alias.tex (and possibly alias.mem):
Add an entry to the scope-specific "alias table", when instruction Add an entry to the scope-specific "alias table", when instruction
from that scope tries to access a source register it would search from that scope tries to access a source register it would search
its alias table first. its alias table first.
@ -322,6 +324,20 @@ SOFTWARE.
In this case, the size of the table is bounded (max 16 entries) In this case, the size of the table is bounded (max 16 entries)
and the number of entries in the table is indicated by and the number of entries in the table is indicated by
the first alias instruction in the TABLE_SIZE_MINUS_ONE field. the first alias instruction in the TABLE_SIZE_MINUS_ONE field.
For alias.rt: create an entry into the alias table for a render
target. For example, this would map the 4th component of render
target 0 (FRAG_RESULT_DATA0) to the constant 0x0:
alias.rt.b32.0 rt0.w, (0x0)
alias.rt has to be executed in the preamble and can only map
const registers and immediates. Additionally, the register
SP_PS_ALIASED_COMPONENTS has to be set to a mask of render
target components that will be aliased.
In this case, the size of the table is only bounded by the
number of render targets/components and the TABLE_SIZE_MINUS_ONE
field is not used.
</doc> </doc>
<gen min="700"/> <gen min="700"/>
<display> <display>