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