summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2010-02-02 16:36:34 -0800
committerCorbin Simpson <[email protected]>2010-02-02 17:03:41 -0800
commit62ca7b85ae1f7d914156a9b376d0520db85ba495 (patch)
treefe26a4622bf839f9f02cadb5a34322615f9d91c7
parent8580522b14b19e5087a6b72fb694630b962e29ba (diff)
gallium/docs: Start turning notes into docs.
Yeah, what's that? You can read it? It's got, hmm, *readability*? Nice, ain't it. :3
-rw-r--r--src/gallium/docs/source/tgsi.rst27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst
index 34d80da1d34..7e6dce99538 100644
--- a/src/gallium/docs/source/tgsi.rst
+++ b/src/gallium/docs/source/tgsi.rst
@@ -6,6 +6,19 @@ for describing shaders. Since Gallium is inherently shaderful, shaders are
an important part of the API. TGSI is the only intermediate representation
used by all drivers.
+Basics
+------
+
+All TGSI instructions, known as *opcodes*, operate on arbitrary-precision
+floating-point four-component vectors. An opcode may have up to one
+destination register, known as *dst*, and between zero and three source
+registers, called *src0* through *src2*, or simply *src* if there is only
+one.
+
+Some instructions, like :opcode:`I2F`, permit re-interpretation of vector
+components as integers. Other instructions permit using registers as
+two-component vectors with double precision; see :ref:`Double Opcodes`.
+
Instruction Set
---------------
@@ -1111,6 +1124,8 @@ ps_2_x
TBD
+.. _doubleopcodes:
+
Double Opcodes
^^^^^^^^^^^^^^^
@@ -1269,20 +1284,8 @@ Keywords
discard Discard fragment.
- dst First destination register.
-
- dst0 First destination register.
-
pc Program counter.
- src First source register.
-
- src0 First source register.
-
- src1 Second source register.
-
- src2 Third source register.
-
target Label of target instruction.