From 897303f8ffb78026bf6563c87c699e37465e9f33 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20K=C3=B6nig?= Date: Thu, 14 Mar 2013 11:10:16 +0100 Subject: [PATCH] tgsi: add ArrayID documentation v2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit v2: further improve the text with comments from Christoph Bumiller. Signed-off-by: Christian König --- 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 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 ^^^^^^^^^^^^^^^^^^^^^^^^ -- 2.30.2