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",
|
"FS_DEPTH_LAYOUT",
|
||||||
"VS_PROHIBIT_UCPS",
|
"VS_PROHIBIT_UCPS",
|
||||||
"GS_INVOCATIONS",
|
"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] =
|
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
|
The effect of this property is undefined if a geometry or tessellation shader
|
||||||
are in use.
|
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
|
Texture Sampling and Texture Formats
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
|
@@ -431,6 +431,13 @@ enum pipe_flush_flags
|
|||||||
#define PIPE_PRIM_MAX 15
|
#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
|
* Query object types
|
||||||
*/
|
*/
|
||||||
|
@@ -262,7 +262,12 @@ union tgsi_immediate_data
|
|||||||
#define TGSI_PROPERTY_VS_PROHIBIT_UCPS 7
|
#define TGSI_PROPERTY_VS_PROHIBIT_UCPS 7
|
||||||
#define TGSI_PROPERTY_GS_INVOCATIONS 8
|
#define TGSI_PROPERTY_GS_INVOCATIONS 8
|
||||||
#define TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION 9
|
#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 {
|
struct tgsi_property {
|
||||||
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_PROPERTY */
|
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_PROPERTY */
|
||||||
|
Reference in New Issue
Block a user