summaryrefslogtreecommitdiffstats
path: root/src/gallium/docs/source/screen.rst
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2010-01-28 12:29:53 -0800
committerCorbin Simpson <[email protected]>2010-01-28 12:35:12 -0800
commit505a43aff23d0a6b71f89c25fc67f097cfa8c080 (patch)
tree15606ae16fefdab237ae8fb1fdbeaf9609bfe2b9 /src/gallium/docs/source/screen.rst
parenta5f7c63fc09d9924f3579bcef178e75fec6bfac3 (diff)
gallium-docs: Clean up constantbuf info a bit.
Hmm, does this belong in context, next to set_constant_buffer? Maybe a paragraph in shaders might be useful.
Diffstat (limited to 'src/gallium/docs/source/screen.rst')
-rw-r--r--src/gallium/docs/source/screen.rst47
1 files changed, 24 insertions, 23 deletions
diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst
index f0833bfe541..39938f7bb79 100644
--- a/src/gallium/docs/source/screen.rst
+++ b/src/gallium/docs/source/screen.rst
@@ -51,6 +51,11 @@ The integer capabilities:
* ``MAX_PREDICATE_REGISTERS``: XXX
* ``MAX_COMBINED_SAMPLERS``: The total number of samplers accessible from
the vertex and fragment shader, inclusive.
+* ``MAX_CONST_BUFFERS``: Maximum number of constant buffers that can be bound
+ to any shader stage using ``set_constant_buffer``. If 0 or 1, the pipe will
+ only permit binding one constant buffer per shader, and the shaders will
+ not permit two-dimensional access to constants.
+* ``MAX_CONST_BUFFER_SIZE``: Maximum byte size of a single constant buffer.
The floating-point capabilities:
@@ -61,6 +66,24 @@ The floating-point capabilities:
* ``GUARD_BAND_LEFT``, ``GUARD_BAND_TOP``, ``GUARD_BAND_RIGHT``,
``GUARD_BAND_BOTTOM``: XXX
+XXX Is there a better home for this? vvv
+
+If 0 is returned, the driver is not aware of multiple constant buffers,
+supports binding of only one constant buffer, and does not support
+two-dimensional CONST register file access in TGSI shaders.
+
+If a value greater than 0 is returned, the driver can have multiple
+constant buffers bound to shader stages. The CONST register file can
+be accessed with two-dimensional indices, like in the example below.
+
+DCL CONST[0][0..7] # declare first 8 vectors of constbuf 0
+DCL CONST[3][0] # declare first vector of constbuf 3
+MOV OUT[0], CONST[0][3] # copy vector 3 of constbuf 0
+
+For backwards compatibility, one-dimensional access to CONST register
+file is still supported. In that case, the constbuf index is assumed
+to be 0.
+
.. _pipe_buffer_usage:
PIPE_BUFFER_USAGE
@@ -135,29 +158,7 @@ Returns the screen vendor.
get_param
^^^^^^^^^
-Get an integer/boolean screen parameter. Valid parameter names include.
-
-* ``PIPE_CAP_MAX_CONST_BUFFERS``: Maximum number of constant buffers that
- can be bound to any shader stage using ``set_constant_buffer``.
-
- If 0 is returned, the driver is not aware of multiple constant buffers,
- supports binding of only one constant buffer, and does not support
- two-dimensional CONST register file access in TGSI shaders.
-
- If a value greater than 0 is returned, the driver can have multiple
- constant buffers bound to shader stages. The CONST register file can
- be accessed with two-dimensional indices, like in the example below.
-
- DCL CONST[0][0..7] # declare first 8 vectors of constbuf 0
- DCL CONST[3][0] # declare first vector of constbuf 3
- MOV OUT[0], CONST[0][3] # copy vector 3 of constbuf 0
-
- For backwards compatibility, one-dimensional access to CONST register
- file is still supported. In that case, the constbuf index is assumed
- to be 0.
-
-* ``PIPE_CAP_MAX_CONST_BUFFER_SIZE``: Maximum byte size of a single constant
- buffer.
+Get an integer/boolean screen parameter.
**param** is one of the :ref:`PIPE_CAP` names.