tgsi_strings.c revision 85b5dac705fcf3fafb734696e1f863cfc21e2d6e
1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver/************************************************************************** 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Copyright 2007-2008 Tungsten Graphics, Inc., Cedar Park, Texas. 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Copyright 2012 VMware, Inc. 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * All Rights Reserved. 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * Permission is hereby granted, free of charge, to any person obtaining a 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * copy of this software and associated documentation files (the 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * "Software"), to deal in the Software without restriction, including 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * without limitation the rights to use, copy, modify, merge, publish, 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * distribute, sub license, and/or sell copies of the Software, and to 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * permit persons to whom the Software is furnished to do so, subject to 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * the following conditions: 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * The above copyright notice and this permission notice (including the 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * next paragraph) shall be included in all copies or substantial portions 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * of the Software. 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * IN NO EVENT SHALL THE AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver * 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver **************************************************************************/ 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include "pipe/p_compiler.h" 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include "util/u_memory.h" 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include "tgsi_strings.h" 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst char *tgsi_processor_type_names[3] = 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "FRAG", 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "VERT", 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "GEOM" 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}; 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst char *tgsi_file_names[TGSI_FILE_COUNT] = 43324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 44324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "NULL", 45324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "CONST", 46324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "IN", 47324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "OUT", 48324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "TEMP", 49324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "SAMP", 50324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "ADDR", 51324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "IMM", 52324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "PRED", 53324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "SV", 54324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "IMMX", 55324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "TEMPX", 56324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "RES" 57324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}; 58324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 59324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst char *tgsi_semantic_names[TGSI_SEMANTIC_COUNT] = 60324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 61324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "POSITION", 62324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "COLOR", 63324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "BCOLOR", 64324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "FOG", 65324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "PSIZE", 66324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "GENERIC", 67324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "NORMAL", 68324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "FACE", 69324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "EDGEFLAG", 70324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "PRIM_ID", 71324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "INSTANCEID", 72324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "VERTEXID", 73324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "STENCIL" 74324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver}; 75324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 76324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverconst char *tgsi_texture_names[TGSI_TEXTURE_COUNT] = 77324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 78324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "UNKNOWN", 79324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "1D", 80324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "2D", 81324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "3D", 82324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "CUBE", 83324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver "RECT", 84 "SHADOW1D", 85 "SHADOW2D", 86 "SHADOWRECT", 87 "1DARRAY", 88 "2DARRAY", 89 "SHADOW1DARRAY", 90 "SHADOW2DARRAY", 91}; 92 93const char *tgsi_property_names[TGSI_PROPERTY_COUNT] = 94{ 95 "GS_INPUT_PRIMITIVE", 96 "GS_OUTPUT_PRIMITIVE", 97 "GS_MAX_OUTPUT_VERTICES", 98 "FS_COORD_ORIGIN", 99 "FS_COORD_PIXEL_CENTER", 100 "FS_COLOR0_WRITES_ALL_CBUFS", 101 "FS_DEPTH_LAYOUT" 102}; 103 104const char *tgsi_type_names[5] = 105{ 106 "UNORM", 107 "SNORM", 108 "SINT", 109 "UINT", 110 "FLOAT" 111}; 112 113const char *tgsi_interpolate_names[TGSI_INTERPOLATE_COUNT] = 114{ 115 "CONSTANT", 116 "LINEAR", 117 "PERSPECTIVE" 118}; 119 120const char *tgsi_primitive_names[PIPE_PRIM_MAX] = 121{ 122 "POINTS", 123 "LINES", 124 "LINE_LOOP", 125 "LINE_STRIP", 126 "TRIANGLES", 127 "TRIANGLE_STRIP", 128 "TRIANGLE_FAN", 129 "QUADS", 130 "QUAD_STRIP", 131 "POLYGON", 132 "LINES_ADJACENCY", 133 "LINE_STRIP_ADJACENCY", 134 "TRIANGLES_ADJACENCY", 135 "TRIANGLE_STRIP_ADJACENCY" 136}; 137 138const char *tgsi_fs_coord_origin_names[2] = 139{ 140 "UPPER_LEFT", 141 "LOWER_LEFT" 142}; 143 144const char *tgsi_fs_coord_pixel_center_names[2] = 145{ 146 "HALF_INTEGER", 147 "INTEGER" 148}; 149 150const char *tgsi_immediate_type_names[3] = 151{ 152 "FLT32", 153 "UINT32", 154 "INT32" 155}; 156 157 158static INLINE void 159tgsi_strings_check(void) 160{ 161 STATIC_ASSERT(Elements(tgsi_file_names) == TGSI_FILE_COUNT); 162 STATIC_ASSERT(Elements(tgsi_semantic_names) == TGSI_SEMANTIC_COUNT); 163 STATIC_ASSERT(Elements(tgsi_texture_names) == TGSI_TEXTURE_COUNT); 164 STATIC_ASSERT(Elements(tgsi_property_names) == TGSI_PROPERTY_COUNT); 165 STATIC_ASSERT(Elements(tgsi_primitive_names) == PIPE_PRIM_MAX); 166 STATIC_ASSERT(Elements(tgsi_interpolate_names) == TGSI_INTERPOLATE_COUNT); 167 (void) tgsi_processor_type_names; 168 (void) tgsi_type_names; 169 (void) tgsi_immediate_type_names; 170 (void) tgsi_fs_coord_origin_names; 171 (void) tgsi_fs_coord_pixel_center_names; 172} 173