[Mesa-dev] [PATCH 9/9] tgsi: add ArrayID documentation v2

Christian König deathsimple at vodafone.de
Mon Mar 18 06:36:33 PDT 2013

From: Christian König <christian.koenig at amd.com>

v2: further improve the text with comments from Christoph Bumiller.

Signed-off-by: Christian König <christian.koenig at amd.com>
 src/gallium/docs/source/tgsi.rst |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst
index d9a7fe9..4c55e60 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

More information about the mesa-dev mailing list