diff options
author | Christian König <christian.koenig@amd.com> | 2013-03-14 11:10:16 +0100 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2013-03-19 13:38:32 +0100 |
commit | 897303f8ffb78026bf6563c87c699e37465e9f33 (patch) | |
tree | 653cbbc267d362988ec91350b93c27b93985aac5 | |
parent | 21190fbd56ec2f12dc5a1bf1d9fc32d507e8f0a3 (diff) |
tgsi: add ArrayID documentation v2
v2: further improve the text with comments from Christoph Bumiller.
Signed-off-by: Christian König <christian.koenig@amd.com>
-rw-r--r-- | src/gallium/docs/source/tgsi.rst | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst index d9a7fe9774a..4c55e60cff0 100644 --- a/src/gallium/docs/source/tgsi.rst +++ b/src/gallium/docs/source/tgsi.rst @@ -1833,6 +1833,24 @@ If Interpolate flag is set to 1, a Declaration Interpolate token follows. If file is TGSI_FILE_RESOURCE, a Declaration Resource token follows. +If Array flag is set to 1, a Declaration Array token follows. + +Array Declaration +^^^^^^^^^^^^^^^^^^^^^^^^ + +Declarations can optional have an ArrayID attribute which can be referred by +indirect addressing operands. An ArrayID of zero is reserved and treaded as +if no ArrayID is specified. + +If an indirect addressing operand refers to a specific declaration by using +an ArrayID only the registers in this declaration are guaranteed to be +accessed, accessing any register outside this declaration results in undefined +behavior. Note that for compatibility the effective index is zero-based and +not relative to the specified declaration + +If no ArrayID is specified with an indirect addressing operand the whole +register file might be accessed by this operand. This is strongly discouraged +and will prevent packing of scalar/vec2 arrays and effective alias analysis. Declaration Semantic ^^^^^^^^^^^^^^^^^^^^^^^^ |