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