gallium: add tessellation shader properties
v2: Marek: rename tess spacing definitions 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:
@@ -131,7 +131,12 @@ const char *tgsi_property_names[TGSI_PROPERTY_COUNT] =
|
||||
"FS_DEPTH_LAYOUT",
|
||||
"VS_PROHIBIT_UCPS",
|
||||
"GS_INVOCATIONS",
|
||||
"VS_WINDOW_SPACE_POSITION"
|
||||
"VS_WINDOW_SPACE_POSITION",
|
||||
"TCS_VERTICES_OUT",
|
||||
"TES_PRIM_MODE",
|
||||
"TES_SPACING",
|
||||
"TES_VERTEX_ORDER_CW",
|
||||
"TES_POINT_MODE",
|
||||
};
|
||||
|
||||
const char *tgsi_return_type_names[TGSI_RETURN_TYPE_COUNT] =
|
||||
|
@@ -3071,6 +3071,39 @@ Naturally, clipping is not performed on window coordinates either.
|
||||
The effect of this property is undefined if a geometry or tessellation shader
|
||||
are in use.
|
||||
|
||||
TCS_VERTICES_OUT
|
||||
""""""""""""""""
|
||||
|
||||
The number of vertices written by the tessellation control shader. This
|
||||
effectively defines the patch input size of the tessellation evaluation shader
|
||||
as well.
|
||||
|
||||
TES_PRIM_MODE
|
||||
"""""""""""""
|
||||
|
||||
This sets the tessellation primitive mode, one of ``PIPE_PRIM_TRIANGLES``,
|
||||
``PIPE_PRIM_QUADS``, or ``PIPE_PRIM_LINES``. (Unlike in GL, there is no
|
||||
separate isolines settings, the regular lines is assumed to mean isolines.)
|
||||
|
||||
TES_SPACING
|
||||
"""""""""""
|
||||
|
||||
This sets the spacing mode of the tessellation generator, one of
|
||||
``PIPE_TESS_SPACING_*``.
|
||||
|
||||
TES_VERTEX_ORDER_CW
|
||||
"""""""""""""""""""
|
||||
|
||||
This sets the vertex order to be clockwise if the value is 1, or
|
||||
counter-clockwise if set to 0.
|
||||
|
||||
TES_POINT_MODE
|
||||
""""""""""""""
|
||||
|
||||
If set to a non-zero value, this turns on point mode for the tessellator,
|
||||
which means that points will be generated instead of primitives.
|
||||
|
||||
|
||||
Texture Sampling and Texture Formats
|
||||
------------------------------------
|
||||
|
||||
|
@@ -431,6 +431,13 @@ enum pipe_flush_flags
|
||||
#define PIPE_PRIM_MAX 15
|
||||
|
||||
|
||||
/**
|
||||
* Tessellator spacing types
|
||||
*/
|
||||
#define PIPE_TESS_SPACING_FRACTIONAL_ODD 0
|
||||
#define PIPE_TESS_SPACING_FRACTIONAL_EVEN 1
|
||||
#define PIPE_TESS_SPACING_EQUAL 2
|
||||
|
||||
/**
|
||||
* Query object types
|
||||
*/
|
||||
|
@@ -262,7 +262,12 @@ union tgsi_immediate_data
|
||||
#define TGSI_PROPERTY_VS_PROHIBIT_UCPS 7
|
||||
#define TGSI_PROPERTY_GS_INVOCATIONS 8
|
||||
#define TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION 9
|
||||
#define TGSI_PROPERTY_COUNT 10
|
||||
#define TGSI_PROPERTY_TCS_VERTICES_OUT 10
|
||||
#define TGSI_PROPERTY_TES_PRIM_MODE 11
|
||||
#define TGSI_PROPERTY_TES_SPACING 12
|
||||
#define TGSI_PROPERTY_TES_VERTEX_ORDER_CW 13
|
||||
#define TGSI_PROPERTY_TES_POINT_MODE 14
|
||||
#define TGSI_PROPERTY_COUNT 15
|
||||
|
||||
struct tgsi_property {
|
||||
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_PROPERTY */
|
||||
|
Reference in New Issue
Block a user