diff options
Diffstat (limited to 'src/gallium/docs/source')
-rw-r--r-- | src/gallium/docs/source/screen.rst | 8 | ||||
-rw-r--r-- | src/gallium/docs/source/tgsi.rst | 52 |
2 files changed, 55 insertions, 5 deletions
diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst index e711ad40bef..55d114c829f 100644 --- a/src/gallium/docs/source/screen.rst +++ b/src/gallium/docs/source/screen.rst @@ -233,6 +233,14 @@ The integer capabilities: * ``PIPE_CAP_CLIP_HALFZ``: Whether the driver supports the pipe_rasterizer_state::clip_halfz being set to true. This is required for enabling ARB_clip_control. +* ``PIPE_CAP_VERTEXID_NOBASE``: If true, the driver only supports + TGSI_SEMANTIC_VERTEXID_NOBASE (and not TGSI_SEMANTIC_VERTEXID). This means + state trackers for APIs whose vertexIDs are offset by basevertex (such as GL) + will need to lower TGSI_SEMANTIC_VERTEXID to TGSI_SEMANTIC_VERTEXID_NOBASE + and TGSI_SEMANTIC_BASEVERTEX, so drivers setting this must handle both these + semantics. Only relevant if geometry shaders are supported. + (Currently not possible to query availability of these two semantics outside + this, at least BASEVERTEX should be exposed separately too). .. _pipe_capf: diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst index cbb8f74ab89..ff322e864ec 100644 --- a/src/gallium/docs/source/tgsi.rst +++ b/src/gallium/docs/source/tgsi.rst @@ -2651,7 +2651,7 @@ TGSI_SEMANTIC_VIEWPORT_INDEX For geometry shaders, this semantic label indicates that an output contains the index of the viewport (and scissor) to use. -Only the X value is used. +This is an integer value, and only the X component is used. TGSI_SEMANTIC_LAYER @@ -2659,7 +2659,8 @@ TGSI_SEMANTIC_LAYER For geometry shaders, this semantic label indicates that an output contains the layer value to use for the color and depth/stencil surfaces. -Only the X value is used. (Also known as rendertarget array index.) +This is an integer value, and only the X component is used. +(Also known as rendertarget array index.) TGSI_SEMANTIC_CULLDIST @@ -2700,7 +2701,8 @@ TGSI_SEMANTIC_SAMPLEID """""""""""""""""""""" For fragment shaders, this semantic label indicates that a system value -contains the current sample id (i.e. gl_SampleID). Only the X value is used. +contains the current sample id (i.e. gl_SampleID). +This is an integer value, and only the X component is used. TGSI_SEMANTIC_SAMPLEPOS """"""""""""""""""""""" @@ -2720,8 +2722,48 @@ TGSI_SEMANTIC_INVOCATIONID """""""""""""""""""""""""" For geometry shaders, this semantic label indicates that a system value -contains the current invocation id (i.e. gl_InvocationID). Only the X value is -used. +contains the current invocation id (i.e. gl_InvocationID). +This is an integer value, and only the X component is used. + +TGSI_SEMANTIC_INSTANCEID +"""""""""""""""""""""""" + +For vertex shaders, this semantic label indicates that a system value contains +the current instance id (i.e. gl_InstanceID). It does not include the base +instance. This is an integer value, and only the X component is used. + +TGSI_SEMANTIC_VERTEXID +"""""""""""""""""""""" + +For vertex shaders, this semantic label indicates that a system value contains +the current vertex id (i.e. gl_VertexID). It does (unlike in d3d10) include the +base vertex. This is an integer value, and only the X component is used. + +TGSI_SEMANTIC_VERTEXID_NOBASE +""""""""""""""""""""""""""""""" + +For vertex shaders, this semantic label indicates that a system value contains +the current vertex id without including the base vertex (this corresponds to +d3d10 vertex id, so TGSI_SEMANTIC_VERTEXID_NOBASE + TGSI_SEMANTIC_BASEVERTEX +== TGSI_SEMANTIC_VERTEXID). This is an integer value, and only the X component +is used. + +TGSI_SEMANTIC_BASEVERTEX +"""""""""""""""""""""""" + +For vertex shaders, this semantic label indicates that a system value contains +the base vertex (i.e. gl_BaseVertex). Note that for non-indexed draw calls, +this contains the first (or start) value instead. +This is an integer value, and only the X component is used. + +TGSI_SEMANTIC_PRIMID +"""""""""""""""""""" + +For geometry and fragment shaders, this semantic label indicates the value +contains the primitive id (i.e. gl_PrimitiveID). This is an integer value, +and only the X component is used. +FIXME: This right now can be either a ordinary input or a system value... + Declaration Interpolate ^^^^^^^^^^^^^^^^^^^^^^^ |