gallium: add new semantics for tessellation
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -90,6 +90,11 @@ const char *tgsi_semantic_names[TGSI_SEMANTIC_COUNT] =
|
||||
"INVOCATIONID",
|
||||
"VERTEXID_NOBASE",
|
||||
"BASEVERTEX",
|
||||
"PATCH",
|
||||
"TESSCOORD",
|
||||
"TESSOUTER",
|
||||
"TESSINNER",
|
||||
"VERTICESIN",
|
||||
};
|
||||
|
||||
const char *tgsi_texture_names[TGSI_TEXTURE_COUNT] =
|
||||
|
@@ -2894,6 +2894,43 @@ and only the X component is used.
|
||||
FIXME: This right now can be either a ordinary input or a system value...
|
||||
|
||||
|
||||
TGSI_SEMANTIC_PATCH
|
||||
"""""""""""""""""""
|
||||
|
||||
For tessellation evaluation/control shaders, this semantic label indicates a
|
||||
generic per-patch attribute. Such semantics will not implicitly be per-vertex
|
||||
arrays.
|
||||
|
||||
TGSI_SEMANTIC_TESSCOORD
|
||||
"""""""""""""""""""""""
|
||||
|
||||
For tessellation evaluation shaders, this semantic label indicates the
|
||||
coordinates of the vertex being processed. This is available in XYZ; W is
|
||||
undefined.
|
||||
|
||||
TGSI_SEMANTIC_TESSOUTER
|
||||
"""""""""""""""""""""""
|
||||
|
||||
For tessellation evaluation/control shaders, this semantic label indicates the
|
||||
outer tessellation levels of the patch. Isoline tessellation will only have XY
|
||||
defined, triangle will have XYZ and quads will have XYZW defined. This
|
||||
corresponds to gl_TessLevelOuter.
|
||||
|
||||
TGSI_SEMANTIC_TESSINNER
|
||||
"""""""""""""""""""""""
|
||||
|
||||
For tessellation evaluation/control shaders, this semantic label indicates the
|
||||
inner tessellation levels of the patch. The X value is only defined for
|
||||
triangle tessellation, while quads will have XY defined. This is entirely
|
||||
undefined for isoline tessellation.
|
||||
|
||||
TGSI_SEMANTIC_VERTICESIN
|
||||
""""""""""""""""""""""""
|
||||
|
||||
For tessellation evaluation/control shaders, this semantic label indicates the
|
||||
number of vertices provided in the input patch. Only the X value is defined.
|
||||
|
||||
|
||||
Declaration Interpolate
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
@@ -180,7 +180,12 @@ struct tgsi_declaration_interp
|
||||
#define TGSI_SEMANTIC_INVOCATIONID 27
|
||||
#define TGSI_SEMANTIC_VERTEXID_NOBASE 28
|
||||
#define TGSI_SEMANTIC_BASEVERTEX 29
|
||||
#define TGSI_SEMANTIC_COUNT 30 /**< number of semantic values */
|
||||
#define TGSI_SEMANTIC_PATCH 30 /**< generic per-patch semantic */
|
||||
#define TGSI_SEMANTIC_TESSCOORD 31 /**< coordinate being processed by tess */
|
||||
#define TGSI_SEMANTIC_TESSOUTER 32 /**< outer tessellation levels */
|
||||
#define TGSI_SEMANTIC_TESSINNER 33 /**< inner tessellation levels */
|
||||
#define TGSI_SEMANTIC_VERTICESIN 34 /**< number of input vertices */
|
||||
#define TGSI_SEMANTIC_COUNT 35 /**< number of semantic values */
|
||||
|
||||
struct tgsi_declaration_semantic
|
||||
{
|
||||
|
Reference in New Issue
Block a user