gallium: add baseinstance/drawid semantics

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
Ilia Mirkin
2015-12-29 16:37:19 -05:00
parent d50e6128b8
commit bb52ea45cc
3 changed files with 18 additions and 1 deletions

View File

@@ -96,6 +96,8 @@ const char *tgsi_semantic_names[TGSI_SEMANTIC_COUNT] =
"TESSINNER", "TESSINNER",
"VERTICESIN", "VERTICESIN",
"HELPER_INVOCATION", "HELPER_INVOCATION",
"BASEINSTANCE",
"DRAWID",
}; };
const char *tgsi_texture_names[TGSI_TEXTURE_COUNT] = const char *tgsi_texture_names[TGSI_TEXTURE_COUNT] =

View File

@@ -2949,6 +2949,19 @@ invocation is covered or not. Helper invocations are created in order
to properly compute derivatives, however it may be desirable to skip to properly compute derivatives, however it may be desirable to skip
some of the logic in those cases. See ``gl_HelperInvocation`` documentation. some of the logic in those cases. See ``gl_HelperInvocation`` documentation.
TGSI_SEMANTIC_BASEINSTANCE
""""""""""""""""""""""""""
For vertex shaders, the base instance argument supplied for this
draw. This is an integer value, and only the X component is used.
TGSI_SEMANTIC_DRAWID
""""""""""""""""""""
For vertex shaders, the zero-based index of the current draw in a
``glMultiDraw*`` invocation. This is an integer value, and only the X
component is used.
Declaration Interpolate Declaration Interpolate
^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -186,7 +186,9 @@ struct tgsi_declaration_interp
#define TGSI_SEMANTIC_TESSINNER 33 /**< inner tessellation levels */ #define TGSI_SEMANTIC_TESSINNER 33 /**< inner tessellation levels */
#define TGSI_SEMANTIC_VERTICESIN 34 /**< number of input vertices */ #define TGSI_SEMANTIC_VERTICESIN 34 /**< number of input vertices */
#define TGSI_SEMANTIC_HELPER_INVOCATION 35 /**< current invocation is helper */ #define TGSI_SEMANTIC_HELPER_INVOCATION 35 /**< current invocation is helper */
#define TGSI_SEMANTIC_COUNT 36 /**< number of semantic values */ #define TGSI_SEMANTIC_BASEINSTANCE 36
#define TGSI_SEMANTIC_DRAWID 37
#define TGSI_SEMANTIC_COUNT 38 /**< number of semantic values */
struct tgsi_declaration_semantic struct tgsi_declaration_semantic
{ {