From e7ccd703a28e14431b90f29540cec0bf67be1e0f Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Mon, 14 Nov 2011 18:12:46 +0100 Subject: [PATCH] gallium: add TGSI_SEMANTIC_VERTEXID --- src/gallium/auxiliary/tgsi/tgsi_dump.c | 1 + src/gallium/auxiliary/tgsi/tgsi_scan.c | 3 +++ src/gallium/auxiliary/tgsi/tgsi_scan.h | 1 + src/gallium/auxiliary/tgsi/tgsi_text.c | 1 + src/gallium/include/pipe/p_shader_tokens.h | 5 +++-- 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c index 64927ed6e02..91bc1245223 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_dump.c +++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c @@ -128,6 +128,7 @@ static const char *semantic_names[] = "EDGEFLAG", "PRIM_ID", "INSTANCEID", + "VERTEXID", "STENCIL" }; diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c index 60de80d0918..97d74e4a9f9 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_scan.c +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c @@ -182,6 +182,9 @@ tgsi_scan_shader(const struct tgsi_token *tokens, if (fulldecl->Semantic.Name == TGSI_SEMANTIC_INSTANCEID) { info->uses_instanceid = TRUE; } + else if (fulldecl->Semantic.Name == TGSI_SEMANTIC_VERTEXID) { + info->uses_vertexid = TRUE; + } } else if (file == TGSI_FILE_OUTPUT) { info->output_semantic_name[reg] = (ubyte)fulldecl->Semantic.Name; diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.h b/src/gallium/auxiliary/tgsi/tgsi_scan.h index 30834b4d000..482c106ae79 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_scan.h +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.h @@ -70,6 +70,7 @@ struct tgsi_shader_info boolean writes_edgeflag; /**< vertex shader outputs edgeflag */ boolean uses_kill; /**< KIL or KILP instruction used? */ boolean uses_instanceid; + boolean uses_vertexid; boolean origin_lower_left; boolean pixel_center_integer; boolean color0_writes_all_cbufs; diff --git a/src/gallium/auxiliary/tgsi/tgsi_text.c b/src/gallium/auxiliary/tgsi/tgsi_text.c index 6b97803711f..eb9190ccb57 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_text.c +++ b/src/gallium/auxiliary/tgsi/tgsi_text.c @@ -1023,6 +1023,7 @@ static const char *semantic_names[TGSI_SEMANTIC_COUNT] = "EDGEFLAG", "PRIM_ID", "INSTANCEID", + "VERTEXID", "STENCIL" }; diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index 7236c9220df..b04e26d308e 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -144,8 +144,9 @@ struct tgsi_declaration_dimension #define TGSI_SEMANTIC_EDGEFLAG 8 #define TGSI_SEMANTIC_PRIMID 9 #define TGSI_SEMANTIC_INSTANCEID 10 -#define TGSI_SEMANTIC_STENCIL 11 -#define TGSI_SEMANTIC_COUNT 12 /**< number of semantic values */ +#define TGSI_SEMANTIC_VERTEXID 11 +#define TGSI_SEMANTIC_STENCIL 12 +#define TGSI_SEMANTIC_COUNT 13 /**< number of semantic values */ struct tgsi_declaration_semantic { -- 2.30.2