Path: blob/21.2-virgl/src/gallium/auxiliary/tgsi/tgsi_strings.c
4565 views
/**************************************************************************1*2* Copyright 2007-2008 VMware, Inc.3* Copyright 2012 VMware, Inc.4* All Rights Reserved.5*6* Permission is hereby granted, free of charge, to any person obtaining a7* copy of this software and associated documentation files (the8* "Software"), to deal in the Software without restriction, including9* without limitation the rights to use, copy, modify, merge, publish,10* distribute, sub license, and/or sell copies of the Software, and to11* permit persons to whom the Software is furnished to do so, subject to12* the following conditions:13*14* The above copyright notice and this permission notice (including the15* next paragraph) shall be included in all copies or substantial portions16* of the Software.17*18* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS19* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF20* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.21* IN NO EVENT SHALL THE AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR22* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,23* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE24* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.25*26**************************************************************************/272829#include "pipe/p_compiler.h"30#include "util/u_memory.h"31#include "tgsi_strings.h"323334const char *tgsi_processor_type_names[6] =35{36"VERT",37"FRAG",38"GEOM",39"TESS_CTRL",40"TESS_EVAL",41"COMP"42};4344static const char *tgsi_file_names[] =45{46"NULL",47"CONST",48"IN",49"OUT",50"TEMP",51"SAMP",52"ADDR",53"IMM",54"SV",55"IMAGE",56"SVIEW",57"BUFFER",58"MEMORY",59"CONSTBUF",60"HWATOMIC",61};6263const char *tgsi_semantic_names[TGSI_SEMANTIC_COUNT] =64{65"POSITION",66"COLOR",67"BCOLOR",68"FOG",69"PSIZE",70"GENERIC",71"NORMAL",72"FACE",73"EDGEFLAG",74"PRIM_ID",75"INSTANCEID",76"VERTEXID",77"STENCIL",78"CLIPDIST",79"CLIPVERTEX",80"GRID_SIZE",81"BLOCK_ID",82"BLOCK_SIZE",83"THREAD_ID",84"TEXCOORD",85"PCOORD",86"VIEWPORT_INDEX",87"LAYER",88"SAMPLEID",89"SAMPLEPOS",90"SAMPLEMASK",91"INVOCATIONID",92"VERTEXID_NOBASE",93"BASEVERTEX",94"PATCH",95"TESSCOORD",96"TESSOUTER",97"TESSINNER",98"VERTICESIN",99"HELPER_INVOCATION",100"BASEINSTANCE",101"DRAWID",102"WORK_DIM",103"SUBGROUP_SIZE",104"SUBGROUP_INVOCATION",105"SUBGROUP_EQ_MASK",106"SUBGROUP_GE_MASK",107"SUBGROUP_GT_MASK",108"SUBGROUP_LE_MASK",109"SUBGROUP_LT_MASK",110"CS_USER_DATA_AMD",111"VIEWPORT_MASK",112};113114const char *tgsi_texture_names[TGSI_TEXTURE_COUNT] =115{116"BUFFER",117"1D",118"2D",119"3D",120"CUBE",121"RECT",122"SHADOW1D",123"SHADOW2D",124"SHADOWRECT",125"1D_ARRAY",126"2D_ARRAY",127"SHADOW1D_ARRAY",128"SHADOW2D_ARRAY",129"SHADOWCUBE",130"2D_MSAA",131"2D_ARRAY_MSAA",132"CUBEARRAY",133"SHADOWCUBEARRAY",134"UNKNOWN",135};136137const char *tgsi_property_names[TGSI_PROPERTY_COUNT] =138{139"GS_INPUT_PRIMITIVE",140"GS_OUTPUT_PRIMITIVE",141"GS_MAX_OUTPUT_VERTICES",142"FS_COORD_ORIGIN",143"FS_COORD_PIXEL_CENTER",144"FS_COLOR0_WRITES_ALL_CBUFS",145"FS_DEPTH_LAYOUT",146"VS_PROHIBIT_UCPS",147"GS_INVOCATIONS",148"VS_WINDOW_SPACE_POSITION",149"TCS_VERTICES_OUT",150"TES_PRIM_MODE",151"TES_SPACING",152"TES_VERTEX_ORDER_CW",153"TES_POINT_MODE",154"NUM_CLIPDIST_ENABLED",155"NUM_CULLDIST_ENABLED",156"FS_EARLY_DEPTH_STENCIL",157"FS_POST_DEPTH_COVERAGE",158"NEXT_SHADER",159"CS_FIXED_BLOCK_WIDTH",160"CS_FIXED_BLOCK_HEIGHT",161"CS_FIXED_BLOCK_DEPTH",162"MUL_ZERO_WINS",163"VS_BLIT_SGPRS_AMD",164"CS_USER_DATA_COMPONENTS_AMD",165"LAYER_VIEWPORT_RELATIVE",166"FS_BLEND_EQUATION_ADVANCED",167};168169const char *tgsi_return_type_names[TGSI_RETURN_TYPE_COUNT] =170{171"UNORM",172"SNORM",173"SINT",174"UINT",175"FLOAT"176};177178const char *tgsi_interpolate_names[TGSI_INTERPOLATE_COUNT] =179{180"CONSTANT",181"LINEAR",182"PERSPECTIVE",183"COLOR"184};185186const char *tgsi_interpolate_locations[TGSI_INTERPOLATE_LOC_COUNT] =187{188"CENTER",189"CENTROID",190"SAMPLE",191};192193const char *tgsi_invariant_name = "INVARIANT";194195const char *tgsi_primitive_names[PIPE_PRIM_MAX] =196{197"POINTS",198"LINES",199"LINE_LOOP",200"LINE_STRIP",201"TRIANGLES",202"TRIANGLE_STRIP",203"TRIANGLE_FAN",204"QUADS",205"QUAD_STRIP",206"POLYGON",207"LINES_ADJACENCY",208"LINE_STRIP_ADJACENCY",209"TRIANGLES_ADJACENCY",210"TRIANGLE_STRIP_ADJACENCY",211"PATCHES",212};213214const char *tgsi_fs_coord_origin_names[2] =215{216"UPPER_LEFT",217"LOWER_LEFT"218};219220const char *tgsi_fs_coord_pixel_center_names[2] =221{222"HALF_INTEGER",223"INTEGER"224};225226const char *tgsi_immediate_type_names[6] =227{228"FLT32",229"UINT32",230"INT32",231"FLT64",232"UINT64",233"INT64",234};235236const char *tgsi_memory_names[4] =237{238"COHERENT",239"RESTRICT",240"VOLATILE",241"STREAM_CACHE_POLICY",242};243244245UNUSED static inline void246tgsi_strings_check(void)247{248STATIC_ASSERT(ARRAY_SIZE(tgsi_semantic_names) == TGSI_SEMANTIC_COUNT);249STATIC_ASSERT(ARRAY_SIZE(tgsi_texture_names) == TGSI_TEXTURE_COUNT);250STATIC_ASSERT(ARRAY_SIZE(tgsi_property_names) == TGSI_PROPERTY_COUNT);251STATIC_ASSERT(ARRAY_SIZE(tgsi_primitive_names) == PIPE_PRIM_MAX);252STATIC_ASSERT(ARRAY_SIZE(tgsi_interpolate_names) == TGSI_INTERPOLATE_COUNT);253STATIC_ASSERT(ARRAY_SIZE(tgsi_return_type_names) == TGSI_RETURN_TYPE_COUNT);254(void) tgsi_processor_type_names;255(void) tgsi_return_type_names;256(void) tgsi_immediate_type_names;257(void) tgsi_fs_coord_origin_names;258(void) tgsi_fs_coord_pixel_center_names;259}260261262const char *263tgsi_file_name(unsigned file)264{265STATIC_ASSERT(ARRAY_SIZE(tgsi_file_names) == TGSI_FILE_COUNT);266if (file < ARRAY_SIZE(tgsi_file_names))267return tgsi_file_names[file];268else269return "invalid file";270}271272273