xref: /aosp_15_r20/external/angle/src/common/frame_capture_utils_autogen.cpp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by generate_entry_points.py using data from gl.xml and gl_angle_ext.xml.
3 //
4 // Copyright 2020 The ANGLE Project Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style license that can be
6 // found in the LICENSE file.
7 //
8 // frame_capture_utils_autogen.cpp:
9 //   ANGLE Frame capture types and helper functions.
10 
11 #include "common/frame_capture_utils_autogen.h"
12 
13 #include "common/frame_capture_utils.h"
14 
15 namespace angle
16 {
WriteParamCaptureReplay(std::ostream & os,const CallCapture & call,const ParamCapture & param)17 void WriteParamCaptureReplay(std::ostream &os, const CallCapture &call, const ParamCapture &param)
18 {
19     switch (param.type)
20     {
21         case ParamType::TAHardwareBufferConstPointer:
22             WriteParamValueReplay<ParamType::TAHardwareBufferConstPointer>(
23                 os, call, param.value.AHardwareBufferConstPointerVal);
24             break;
25         case ParamType::TAlphaTestFunc:
26             WriteParamValueReplay<ParamType::TAlphaTestFunc>(os, call,
27                                                              param.value.AlphaTestFuncVal);
28             break;
29         case ParamType::TBufferBinding:
30             WriteParamValueReplay<ParamType::TBufferBinding>(os, call,
31                                                              param.value.BufferBindingVal);
32             break;
33         case ParamType::TBufferID:
34             WriteParamValueReplay<ParamType::TBufferID>(os, call, param.value.BufferIDVal);
35             break;
36         case ParamType::TBufferIDConstPointer:
37             WriteParamValueReplay<ParamType::TBufferIDConstPointer>(
38                 os, call, param.value.BufferIDConstPointerVal);
39             break;
40         case ParamType::TBufferIDPointer:
41             WriteParamValueReplay<ParamType::TBufferIDPointer>(os, call,
42                                                                param.value.BufferIDPointerVal);
43             break;
44         case ParamType::TBufferUsage:
45             WriteParamValueReplay<ParamType::TBufferUsage>(os, call, param.value.BufferUsageVal);
46             break;
47         case ParamType::TClientVertexArrayType:
48             WriteParamValueReplay<ParamType::TClientVertexArrayType>(
49                 os, call, param.value.ClientVertexArrayTypeVal);
50             break;
51         case ParamType::TClipDepthMode:
52             WriteParamValueReplay<ParamType::TClipDepthMode>(os, call,
53                                                              param.value.ClipDepthModeVal);
54             break;
55         case ParamType::TClipOrigin:
56             WriteParamValueReplay<ParamType::TClipOrigin>(os, call, param.value.ClipOriginVal);
57             break;
58         case ParamType::TCompositorTiming:
59             WriteParamValueReplay<ParamType::TCompositorTiming>(os, call,
60                                                                 param.value.CompositorTimingVal);
61             break;
62         case ParamType::TContextID:
63             WriteParamValueReplay<ParamType::TContextID>(os, call, param.value.ContextIDVal);
64             break;
65         case ParamType::TCullFaceMode:
66             WriteParamValueReplay<ParamType::TCullFaceMode>(os, call, param.value.CullFaceModeVal);
67             break;
68         case ParamType::TDrawElementsType:
69             WriteParamValueReplay<ParamType::TDrawElementsType>(os, call,
70                                                                 param.value.DrawElementsTypeVal);
71             break;
72         case ParamType::TEGLAttribConstPointer:
73             WriteParamValueReplay<ParamType::TEGLAttribConstPointer>(
74                 os, call, param.value.EGLAttribConstPointerVal);
75             break;
76         case ParamType::TEGLAttribKHRPointer:
77             WriteParamValueReplay<ParamType::TEGLAttribKHRPointer>(
78                 os, call, param.value.EGLAttribKHRPointerVal);
79             break;
80         case ParamType::TEGLAttribPointer:
81             WriteParamValueReplay<ParamType::TEGLAttribPointer>(os, call,
82                                                                 param.value.EGLAttribPointerVal);
83             break;
84         case ParamType::TEGLBoolean:
85             WriteParamValueReplay<ParamType::TEGLBoolean>(os, call, param.value.EGLBooleanVal);
86             break;
87         case ParamType::TEGLBooleanPointer:
88             WriteParamValueReplay<ParamType::TEGLBooleanPointer>(os, call,
89                                                                  param.value.EGLBooleanPointerVal);
90             break;
91         case ParamType::TEGLClientBuffer:
92             WriteParamValueReplay<ParamType::TEGLClientBuffer>(os, call,
93                                                                param.value.EGLClientBufferVal);
94             break;
95         case ParamType::TEGLConfigPointer:
96             WriteParamValueReplay<ParamType::TEGLConfigPointer>(os, call,
97                                                                 param.value.EGLConfigPointerVal);
98             break;
99         case ParamType::TEGLContext:
100             WriteParamValueReplay<ParamType::TEGLContext>(os, call, param.value.EGLContextVal);
101             break;
102         case ParamType::TEGLDEBUGPROCKHR:
103             WriteParamValueReplay<ParamType::TEGLDEBUGPROCKHR>(os, call,
104                                                                param.value.EGLDEBUGPROCKHRVal);
105             break;
106         case ParamType::TEGLDeviceEXT:
107             WriteParamValueReplay<ParamType::TEGLDeviceEXT>(os, call, param.value.EGLDeviceEXTVal);
108             break;
109         case ParamType::TEGLDisplay:
110             WriteParamValueReplay<ParamType::TEGLDisplay>(os, call, param.value.EGLDisplayVal);
111             break;
112         case ParamType::TEGLFrameTokenANGLE:
113             WriteParamValueReplay<ParamType::TEGLFrameTokenANGLE>(
114                 os, call, param.value.EGLFrameTokenANGLEVal);
115             break;
116         case ParamType::TEGLGetBlobFuncANDROID:
117             WriteParamValueReplay<ParamType::TEGLGetBlobFuncANDROID>(
118                 os, call, param.value.EGLGetBlobFuncANDROIDVal);
119             break;
120         case ParamType::TEGLImage:
121             WriteParamValueReplay<ParamType::TEGLImage>(os, call, param.value.EGLImageVal);
122             break;
123         case ParamType::TEGLImageKHR:
124             WriteParamValueReplay<ParamType::TEGLImageKHR>(os, call, param.value.EGLImageKHRVal);
125             break;
126         case ParamType::TEGLLabelKHR:
127             WriteParamValueReplay<ParamType::TEGLLabelKHR>(os, call, param.value.EGLLabelKHRVal);
128             break;
129         case ParamType::TEGLNativeDisplayType:
130             WriteParamValueReplay<ParamType::TEGLNativeDisplayType>(
131                 os, call, param.value.EGLNativeDisplayTypeVal);
132             break;
133         case ParamType::TEGLNativePixmapType:
134             WriteParamValueReplay<ParamType::TEGLNativePixmapType>(
135                 os, call, param.value.EGLNativePixmapTypeVal);
136             break;
137         case ParamType::TEGLNativeWindowType:
138             WriteParamValueReplay<ParamType::TEGLNativeWindowType>(
139                 os, call, param.value.EGLNativeWindowTypeVal);
140             break;
141         case ParamType::TEGLObjectKHR:
142             WriteParamValueReplay<ParamType::TEGLObjectKHR>(os, call, param.value.EGLObjectKHRVal);
143             break;
144         case ParamType::TEGLSetBlobFuncANDROID:
145             WriteParamValueReplay<ParamType::TEGLSetBlobFuncANDROID>(
146                 os, call, param.value.EGLSetBlobFuncANDROIDVal);
147             break;
148         case ParamType::TEGLStreamKHR:
149             WriteParamValueReplay<ParamType::TEGLStreamKHR>(os, call, param.value.EGLStreamKHRVal);
150             break;
151         case ParamType::TEGLSurface:
152             WriteParamValueReplay<ParamType::TEGLSurface>(os, call, param.value.EGLSurfaceVal);
153             break;
154         case ParamType::TEGLSync:
155             WriteParamValueReplay<ParamType::TEGLSync>(os, call, param.value.EGLSyncVal);
156             break;
157         case ParamType::TEGLSyncKHR:
158             WriteParamValueReplay<ParamType::TEGLSyncKHR>(os, call, param.value.EGLSyncKHRVal);
159             break;
160         case ParamType::TEGLTime:
161             WriteParamValueReplay<ParamType::TEGLTime>(os, call, param.value.EGLTimeVal);
162             break;
163         case ParamType::TEGLTimeKHR:
164             WriteParamValueReplay<ParamType::TEGLTimeKHR>(os, call, param.value.EGLTimeKHRVal);
165             break;
166         case ParamType::TEGLenum:
167             WriteParamValueReplay<ParamType::TEGLenum>(os, call, param.value.EGLenumVal);
168             break;
169         case ParamType::TEGLint:
170             WriteParamValueReplay<ParamType::TEGLint>(os, call, param.value.EGLintVal);
171             break;
172         case ParamType::TEGLintConstPointer:
173             WriteParamValueReplay<ParamType::TEGLintConstPointer>(
174                 os, call, param.value.EGLintConstPointerVal);
175             break;
176         case ParamType::TEGLintPointer:
177             WriteParamValueReplay<ParamType::TEGLintPointer>(os, call,
178                                                              param.value.EGLintPointerVal);
179             break;
180         case ParamType::TEGLnsecsANDROID:
181             WriteParamValueReplay<ParamType::TEGLnsecsANDROID>(os, call,
182                                                                param.value.EGLnsecsANDROIDVal);
183             break;
184         case ParamType::TEGLnsecsANDROIDPointer:
185             WriteParamValueReplay<ParamType::TEGLnsecsANDROIDPointer>(
186                 os, call, param.value.EGLnsecsANDROIDPointerVal);
187             break;
188         case ParamType::TEGLuint64KHR:
189             WriteParamValueReplay<ParamType::TEGLuint64KHR>(os, call, param.value.EGLuint64KHRVal);
190             break;
191         case ParamType::TEGLuint64KHRPointer:
192             WriteParamValueReplay<ParamType::TEGLuint64KHRPointer>(
193                 os, call, param.value.EGLuint64KHRPointerVal);
194             break;
195         case ParamType::TFenceNVID:
196             WriteParamValueReplay<ParamType::TFenceNVID>(os, call, param.value.FenceNVIDVal);
197             break;
198         case ParamType::TFenceNVIDConstPointer:
199             WriteParamValueReplay<ParamType::TFenceNVIDConstPointer>(
200                 os, call, param.value.FenceNVIDConstPointerVal);
201             break;
202         case ParamType::TFenceNVIDPointer:
203             WriteParamValueReplay<ParamType::TFenceNVIDPointer>(os, call,
204                                                                 param.value.FenceNVIDPointerVal);
205             break;
206         case ParamType::TFramebufferID:
207             WriteParamValueReplay<ParamType::TFramebufferID>(os, call,
208                                                              param.value.FramebufferIDVal);
209             break;
210         case ParamType::TFramebufferIDConstPointer:
211             WriteParamValueReplay<ParamType::TFramebufferIDConstPointer>(
212                 os, call, param.value.FramebufferIDConstPointerVal);
213             break;
214         case ParamType::TFramebufferIDPointer:
215             WriteParamValueReplay<ParamType::TFramebufferIDPointer>(
216                 os, call, param.value.FramebufferIDPointerVal);
217             break;
218         case ParamType::TGLDEBUGPROC:
219             WriteParamValueReplay<ParamType::TGLDEBUGPROC>(os, call, param.value.GLDEBUGPROCVal);
220             break;
221         case ParamType::TGLDEBUGPROCKHR:
222             WriteParamValueReplay<ParamType::TGLDEBUGPROCKHR>(os, call,
223                                                               param.value.GLDEBUGPROCKHRVal);
224             break;
225         case ParamType::TGLGETBLOBPROCANGLE:
226             WriteParamValueReplay<ParamType::TGLGETBLOBPROCANGLE>(
227                 os, call, param.value.GLGETBLOBPROCANGLEVal);
228             break;
229         case ParamType::TGLSETBLOBPROCANGLE:
230             WriteParamValueReplay<ParamType::TGLSETBLOBPROCANGLE>(
231                 os, call, param.value.GLSETBLOBPROCANGLEVal);
232             break;
233         case ParamType::TGLbitfield:
234             WriteParamValueReplay<ParamType::TGLbitfield>(os, call, param.value.GLbitfieldVal);
235             break;
236         case ParamType::TGLboolean:
237             WriteParamValueReplay<ParamType::TGLboolean>(os, call, param.value.GLbooleanVal);
238             break;
239         case ParamType::TGLbooleanPointer:
240             WriteParamValueReplay<ParamType::TGLbooleanPointer>(os, call,
241                                                                 param.value.GLbooleanPointerVal);
242             break;
243         case ParamType::TGLcharConstPointer:
244             WriteParamValueReplay<ParamType::TGLcharConstPointer>(
245                 os, call, param.value.GLcharConstPointerVal);
246             break;
247         case ParamType::TGLcharConstPointerPointer:
248             WriteParamValueReplay<ParamType::TGLcharConstPointerPointer>(
249                 os, call, param.value.GLcharConstPointerPointerVal);
250             break;
251         case ParamType::TGLcharPointer:
252             WriteParamValueReplay<ParamType::TGLcharPointer>(os, call,
253                                                              param.value.GLcharPointerVal);
254             break;
255         case ParamType::TGLclampx:
256             WriteParamValueReplay<ParamType::TGLclampx>(os, call, param.value.GLclampxVal);
257             break;
258         case ParamType::TGLeglClientBufferEXT:
259             WriteParamValueReplay<ParamType::TGLeglClientBufferEXT>(
260                 os, call, param.value.GLeglClientBufferEXTVal);
261             break;
262         case ParamType::TGLenum:
263             WriteParamValueReplay<ParamType::TGLenum>(os, call, param.value.GLenumVal);
264             break;
265         case ParamType::TGLenumConstPointer:
266             WriteParamValueReplay<ParamType::TGLenumConstPointer>(
267                 os, call, param.value.GLenumConstPointerVal);
268             break;
269         case ParamType::TGLenumPointer:
270             WriteParamValueReplay<ParamType::TGLenumPointer>(os, call,
271                                                              param.value.GLenumPointerVal);
272             break;
273         case ParamType::TGLfixed:
274             WriteParamValueReplay<ParamType::TGLfixed>(os, call, param.value.GLfixedVal);
275             break;
276         case ParamType::TGLfixedConstPointer:
277             WriteParamValueReplay<ParamType::TGLfixedConstPointer>(
278                 os, call, param.value.GLfixedConstPointerVal);
279             break;
280         case ParamType::TGLfixedPointer:
281             WriteParamValueReplay<ParamType::TGLfixedPointer>(os, call,
282                                                               param.value.GLfixedPointerVal);
283             break;
284         case ParamType::TGLfloat:
285             WriteParamValueReplay<ParamType::TGLfloat>(os, call, param.value.GLfloatVal);
286             break;
287         case ParamType::TGLfloatConstPointer:
288             WriteParamValueReplay<ParamType::TGLfloatConstPointer>(
289                 os, call, param.value.GLfloatConstPointerVal);
290             break;
291         case ParamType::TGLfloatPointer:
292             WriteParamValueReplay<ParamType::TGLfloatPointer>(os, call,
293                                                               param.value.GLfloatPointerVal);
294             break;
295         case ParamType::TGLint:
296             WriteParamValueReplay<ParamType::TGLint>(os, call, param.value.GLintVal);
297             break;
298         case ParamType::TGLint64:
299             WriteParamValueReplay<ParamType::TGLint64>(os, call, param.value.GLint64Val);
300             break;
301         case ParamType::TGLint64Pointer:
302             WriteParamValueReplay<ParamType::TGLint64Pointer>(os, call,
303                                                               param.value.GLint64PointerVal);
304             break;
305         case ParamType::TGLintConstPointer:
306             WriteParamValueReplay<ParamType::TGLintConstPointer>(os, call,
307                                                                  param.value.GLintConstPointerVal);
308             break;
309         case ParamType::TGLintPointer:
310             WriteParamValueReplay<ParamType::TGLintPointer>(os, call, param.value.GLintPointerVal);
311             break;
312         case ParamType::TGLintptr:
313             WriteParamValueReplay<ParamType::TGLintptr>(os, call, param.value.GLintptrVal);
314             break;
315         case ParamType::TGLshort:
316             WriteParamValueReplay<ParamType::TGLshort>(os, call, param.value.GLshortVal);
317             break;
318         case ParamType::TGLshortConstPointer:
319             WriteParamValueReplay<ParamType::TGLshortConstPointer>(
320                 os, call, param.value.GLshortConstPointerVal);
321             break;
322         case ParamType::TGLsizei:
323             WriteParamValueReplay<ParamType::TGLsizei>(os, call, param.value.GLsizeiVal);
324             break;
325         case ParamType::TGLsizeiConstPointer:
326             WriteParamValueReplay<ParamType::TGLsizeiConstPointer>(
327                 os, call, param.value.GLsizeiConstPointerVal);
328             break;
329         case ParamType::TGLsizeiPointer:
330             WriteParamValueReplay<ParamType::TGLsizeiPointer>(os, call,
331                                                               param.value.GLsizeiPointerVal);
332             break;
333         case ParamType::TGLsizeiptr:
334             WriteParamValueReplay<ParamType::TGLsizeiptr>(os, call, param.value.GLsizeiptrVal);
335             break;
336         case ParamType::TGLsync:
337             WriteParamValueReplay<ParamType::TGLsync>(os, call, param.value.GLsyncVal);
338             break;
339         case ParamType::TGLubyte:
340             WriteParamValueReplay<ParamType::TGLubyte>(os, call, param.value.GLubyteVal);
341             break;
342         case ParamType::TGLubyteConstPointer:
343             WriteParamValueReplay<ParamType::TGLubyteConstPointer>(
344                 os, call, param.value.GLubyteConstPointerVal);
345             break;
346         case ParamType::TGLubytePointer:
347             WriteParamValueReplay<ParamType::TGLubytePointer>(os, call,
348                                                               param.value.GLubytePointerVal);
349             break;
350         case ParamType::TGLuint:
351             WriteParamValueReplay<ParamType::TGLuint>(os, call, param.value.GLuintVal);
352             break;
353         case ParamType::TGLuint64:
354             WriteParamValueReplay<ParamType::TGLuint64>(os, call, param.value.GLuint64Val);
355             break;
356         case ParamType::TGLuint64ConstPointer:
357             WriteParamValueReplay<ParamType::TGLuint64ConstPointer>(
358                 os, call, param.value.GLuint64ConstPointerVal);
359             break;
360         case ParamType::TGLuint64Pointer:
361             WriteParamValueReplay<ParamType::TGLuint64Pointer>(os, call,
362                                                                param.value.GLuint64PointerVal);
363             break;
364         case ParamType::TGLuintConstPointer:
365             WriteParamValueReplay<ParamType::TGLuintConstPointer>(
366                 os, call, param.value.GLuintConstPointerVal);
367             break;
368         case ParamType::TGLuintPointer:
369             WriteParamValueReplay<ParamType::TGLuintPointer>(os, call,
370                                                              param.value.GLuintPointerVal);
371             break;
372         case ParamType::TGraphicsResetStatus:
373             WriteParamValueReplay<ParamType::TGraphicsResetStatus>(
374                 os, call, param.value.GraphicsResetStatusVal);
375             break;
376         case ParamType::THandleType:
377             WriteParamValueReplay<ParamType::THandleType>(os, call, param.value.HandleTypeVal);
378             break;
379         case ParamType::TImageID:
380             WriteParamValueReplay<ParamType::TImageID>(os, call, param.value.ImageIDVal);
381             break;
382         case ParamType::TLightParameter:
383             WriteParamValueReplay<ParamType::TLightParameter>(os, call,
384                                                               param.value.LightParameterVal);
385             break;
386         case ParamType::TLogicalOperation:
387             WriteParamValueReplay<ParamType::TLogicalOperation>(os, call,
388                                                                 param.value.LogicalOperationVal);
389             break;
390         case ParamType::TMaterialParameter:
391             WriteParamValueReplay<ParamType::TMaterialParameter>(os, call,
392                                                                  param.value.MaterialParameterVal);
393             break;
394         case ParamType::TMatrixType:
395             WriteParamValueReplay<ParamType::TMatrixType>(os, call, param.value.MatrixTypeVal);
396             break;
397         case ParamType::TMemoryObjectID:
398             WriteParamValueReplay<ParamType::TMemoryObjectID>(os, call,
399                                                               param.value.MemoryObjectIDVal);
400             break;
401         case ParamType::TMemoryObjectIDConstPointer:
402             WriteParamValueReplay<ParamType::TMemoryObjectIDConstPointer>(
403                 os, call, param.value.MemoryObjectIDConstPointerVal);
404             break;
405         case ParamType::TMemoryObjectIDPointer:
406             WriteParamValueReplay<ParamType::TMemoryObjectIDPointer>(
407                 os, call, param.value.MemoryObjectIDPointerVal);
408             break;
409         case ParamType::TObjectType:
410             WriteParamValueReplay<ParamType::TObjectType>(os, call, param.value.ObjectTypeVal);
411             break;
412         case ParamType::TPointParameter:
413             WriteParamValueReplay<ParamType::TPointParameter>(os, call,
414                                                               param.value.PointParameterVal);
415             break;
416         case ParamType::TPolygonMode:
417             WriteParamValueReplay<ParamType::TPolygonMode>(os, call, param.value.PolygonModeVal);
418             break;
419         case ParamType::TPrimitiveMode:
420             WriteParamValueReplay<ParamType::TPrimitiveMode>(os, call,
421                                                              param.value.PrimitiveModeVal);
422             break;
423         case ParamType::TProgramPipelineID:
424             WriteParamValueReplay<ParamType::TProgramPipelineID>(os, call,
425                                                                  param.value.ProgramPipelineIDVal);
426             break;
427         case ParamType::TProgramPipelineIDConstPointer:
428             WriteParamValueReplay<ParamType::TProgramPipelineIDConstPointer>(
429                 os, call, param.value.ProgramPipelineIDConstPointerVal);
430             break;
431         case ParamType::TProgramPipelineIDPointer:
432             WriteParamValueReplay<ParamType::TProgramPipelineIDPointer>(
433                 os, call, param.value.ProgramPipelineIDPointerVal);
434             break;
435         case ParamType::TProvokingVertexConvention:
436             WriteParamValueReplay<ParamType::TProvokingVertexConvention>(
437                 os, call, param.value.ProvokingVertexConventionVal);
438             break;
439         case ParamType::TQueryID:
440             WriteParamValueReplay<ParamType::TQueryID>(os, call, param.value.QueryIDVal);
441             break;
442         case ParamType::TQueryIDConstPointer:
443             WriteParamValueReplay<ParamType::TQueryIDConstPointer>(
444                 os, call, param.value.QueryIDConstPointerVal);
445             break;
446         case ParamType::TQueryIDPointer:
447             WriteParamValueReplay<ParamType::TQueryIDPointer>(os, call,
448                                                               param.value.QueryIDPointerVal);
449             break;
450         case ParamType::TQueryType:
451             WriteParamValueReplay<ParamType::TQueryType>(os, call, param.value.QueryTypeVal);
452             break;
453         case ParamType::TRenderbufferID:
454             WriteParamValueReplay<ParamType::TRenderbufferID>(os, call,
455                                                               param.value.RenderbufferIDVal);
456             break;
457         case ParamType::TRenderbufferIDConstPointer:
458             WriteParamValueReplay<ParamType::TRenderbufferIDConstPointer>(
459                 os, call, param.value.RenderbufferIDConstPointerVal);
460             break;
461         case ParamType::TRenderbufferIDPointer:
462             WriteParamValueReplay<ParamType::TRenderbufferIDPointer>(
463                 os, call, param.value.RenderbufferIDPointerVal);
464             break;
465         case ParamType::TSamplerID:
466             WriteParamValueReplay<ParamType::TSamplerID>(os, call, param.value.SamplerIDVal);
467             break;
468         case ParamType::TSamplerIDConstPointer:
469             WriteParamValueReplay<ParamType::TSamplerIDConstPointer>(
470                 os, call, param.value.SamplerIDConstPointerVal);
471             break;
472         case ParamType::TSamplerIDPointer:
473             WriteParamValueReplay<ParamType::TSamplerIDPointer>(os, call,
474                                                                 param.value.SamplerIDPointerVal);
475             break;
476         case ParamType::TSemaphoreID:
477             WriteParamValueReplay<ParamType::TSemaphoreID>(os, call, param.value.SemaphoreIDVal);
478             break;
479         case ParamType::TSemaphoreIDConstPointer:
480             WriteParamValueReplay<ParamType::TSemaphoreIDConstPointer>(
481                 os, call, param.value.SemaphoreIDConstPointerVal);
482             break;
483         case ParamType::TSemaphoreIDPointer:
484             WriteParamValueReplay<ParamType::TSemaphoreIDPointer>(
485                 os, call, param.value.SemaphoreIDPointerVal);
486             break;
487         case ParamType::TShaderProgramID:
488             WriteParamValueReplay<ParamType::TShaderProgramID>(os, call,
489                                                                param.value.ShaderProgramIDVal);
490             break;
491         case ParamType::TShaderProgramIDConstPointer:
492             WriteParamValueReplay<ParamType::TShaderProgramIDConstPointer>(
493                 os, call, param.value.ShaderProgramIDConstPointerVal);
494             break;
495         case ParamType::TShaderProgramIDPointer:
496             WriteParamValueReplay<ParamType::TShaderProgramIDPointer>(
497                 os, call, param.value.ShaderProgramIDPointerVal);
498             break;
499         case ParamType::TShaderType:
500             WriteParamValueReplay<ParamType::TShaderType>(os, call, param.value.ShaderTypeVal);
501             break;
502         case ParamType::TShadingModel:
503             WriteParamValueReplay<ParamType::TShadingModel>(os, call, param.value.ShadingModelVal);
504             break;
505         case ParamType::TSurfaceID:
506             WriteParamValueReplay<ParamType::TSurfaceID>(os, call, param.value.SurfaceIDVal);
507             break;
508         case ParamType::TSyncID:
509             WriteParamValueReplay<ParamType::TSyncID>(os, call, param.value.SyncIDVal);
510             break;
511         case ParamType::TTextureEnvParameter:
512             WriteParamValueReplay<ParamType::TTextureEnvParameter>(
513                 os, call, param.value.TextureEnvParameterVal);
514             break;
515         case ParamType::TTextureEnvTarget:
516             WriteParamValueReplay<ParamType::TTextureEnvTarget>(os, call,
517                                                                 param.value.TextureEnvTargetVal);
518             break;
519         case ParamType::TTextureID:
520             WriteParamValueReplay<ParamType::TTextureID>(os, call, param.value.TextureIDVal);
521             break;
522         case ParamType::TTextureIDConstPointer:
523             WriteParamValueReplay<ParamType::TTextureIDConstPointer>(
524                 os, call, param.value.TextureIDConstPointerVal);
525             break;
526         case ParamType::TTextureIDPointer:
527             WriteParamValueReplay<ParamType::TTextureIDPointer>(os, call,
528                                                                 param.value.TextureIDPointerVal);
529             break;
530         case ParamType::TTextureTarget:
531             WriteParamValueReplay<ParamType::TTextureTarget>(os, call,
532                                                              param.value.TextureTargetVal);
533             break;
534         case ParamType::TTextureType:
535             WriteParamValueReplay<ParamType::TTextureType>(os, call, param.value.TextureTypeVal);
536             break;
537         case ParamType::TTimestamp:
538             WriteParamValueReplay<ParamType::TTimestamp>(os, call, param.value.TimestampVal);
539             break;
540         case ParamType::TTransformFeedbackID:
541             WriteParamValueReplay<ParamType::TTransformFeedbackID>(
542                 os, call, param.value.TransformFeedbackIDVal);
543             break;
544         case ParamType::TTransformFeedbackIDConstPointer:
545             WriteParamValueReplay<ParamType::TTransformFeedbackIDConstPointer>(
546                 os, call, param.value.TransformFeedbackIDConstPointerVal);
547             break;
548         case ParamType::TTransformFeedbackIDPointer:
549             WriteParamValueReplay<ParamType::TTransformFeedbackIDPointer>(
550                 os, call, param.value.TransformFeedbackIDPointerVal);
551             break;
552         case ParamType::TUniformBlockIndex:
553             WriteParamValueReplay<ParamType::TUniformBlockIndex>(os, call,
554                                                                  param.value.UniformBlockIndexVal);
555             break;
556         case ParamType::TUniformLocation:
557             WriteParamValueReplay<ParamType::TUniformLocation>(os, call,
558                                                                param.value.UniformLocationVal);
559             break;
560         case ParamType::TVertexArrayID:
561             WriteParamValueReplay<ParamType::TVertexArrayID>(os, call,
562                                                              param.value.VertexArrayIDVal);
563             break;
564         case ParamType::TVertexArrayIDConstPointer:
565             WriteParamValueReplay<ParamType::TVertexArrayIDConstPointer>(
566                 os, call, param.value.VertexArrayIDConstPointerVal);
567             break;
568         case ParamType::TVertexArrayIDPointer:
569             WriteParamValueReplay<ParamType::TVertexArrayIDPointer>(
570                 os, call, param.value.VertexArrayIDPointerVal);
571             break;
572         case ParamType::TVertexAttribType:
573             WriteParamValueReplay<ParamType::TVertexAttribType>(os, call,
574                                                                 param.value.VertexAttribTypeVal);
575             break;
576         case ParamType::TcharConstPointer:
577             WriteParamValueReplay<ParamType::TcharConstPointer>(os, call,
578                                                                 param.value.charConstPointerVal);
579             break;
580         case ParamType::Tegl_ConfigPointer:
581             WriteParamValueReplay<ParamType::Tegl_ConfigPointer>(os, call,
582                                                                  param.value.egl_ConfigPointerVal);
583             break;
584         case ParamType::Tegl_DevicePointer:
585             WriteParamValueReplay<ParamType::Tegl_DevicePointer>(os, call,
586                                                                  param.value.egl_DevicePointerVal);
587             break;
588         case ParamType::Tegl_DisplayPointer:
589             WriteParamValueReplay<ParamType::Tegl_DisplayPointer>(
590                 os, call, param.value.egl_DisplayPointerVal);
591             break;
592         case ParamType::Tegl_StreamPointer:
593             WriteParamValueReplay<ParamType::Tegl_StreamPointer>(os, call,
594                                                                  param.value.egl_StreamPointerVal);
595             break;
596         case ParamType::Tegl_SyncID:
597             WriteParamValueReplay<ParamType::Tegl_SyncID>(os, call, param.value.egl_SyncIDVal);
598             break;
599         case ParamType::TvoidConstPointer:
600             WriteParamValueReplay<ParamType::TvoidConstPointer>(os, call,
601                                                                 param.value.voidConstPointerVal);
602             break;
603         case ParamType::TvoidConstPointerPointer:
604             WriteParamValueReplay<ParamType::TvoidConstPointerPointer>(
605                 os, call, param.value.voidConstPointerPointerVal);
606             break;
607         case ParamType::TvoidPointer:
608             WriteParamValueReplay<ParamType::TvoidPointer>(os, call, param.value.voidPointerVal);
609             break;
610         case ParamType::TvoidPointerPointer:
611             WriteParamValueReplay<ParamType::TvoidPointerPointer>(
612                 os, call, param.value.voidPointerPointerVal);
613             break;
614         default:
615             os << "unknown";
616             break;
617     }
618 }
619 
ParamTypeToString(ParamType paramType)620 const char *ParamTypeToString(ParamType paramType)
621 {
622     switch (paramType)
623     {
624         case ParamType::TAHardwareBufferConstPointer:
625             return "const GLenum *";
626         case ParamType::TAlphaTestFunc:
627             return "GLenum";
628         case ParamType::TBufferBinding:
629             return "GLenum";
630         case ParamType::TBufferID:
631             return "GLuint";
632         case ParamType::TBufferIDConstPointer:
633             return "const GLuint *";
634         case ParamType::TBufferIDPointer:
635             return "GLuint *";
636         case ParamType::TBufferUsage:
637             return "GLenum";
638         case ParamType::TClientVertexArrayType:
639             return "GLenum";
640         case ParamType::TClipDepthMode:
641             return "GLenum";
642         case ParamType::TClipOrigin:
643             return "GLenum";
644         case ParamType::TCompositorTiming:
645             return "GLenum";
646         case ParamType::TContextID:
647             return "GLuint";
648         case ParamType::TCullFaceMode:
649             return "GLenum";
650         case ParamType::TDrawElementsType:
651             return "GLenum";
652         case ParamType::TEGLAttribConstPointer:
653             return "const EGLAttrib *";
654         case ParamType::TEGLAttribKHRPointer:
655             return "EGLAttribKHR *";
656         case ParamType::TEGLAttribPointer:
657             return "EGLAttrib *";
658         case ParamType::TEGLBoolean:
659             return "EGLBoolean";
660         case ParamType::TEGLBooleanPointer:
661             return "EGLBoolean *";
662         case ParamType::TEGLClientBuffer:
663             return "EGLClientBuffer";
664         case ParamType::TEGLConfigPointer:
665             return "EGLConfig *";
666         case ParamType::TEGLContext:
667             return "EGLContext";
668         case ParamType::TEGLDEBUGPROCKHR:
669             return "EGLDEBUGPROCKHR";
670         case ParamType::TEGLDeviceEXT:
671             return "EGLDeviceEXT";
672         case ParamType::TEGLDisplay:
673             return "EGLDisplay";
674         case ParamType::TEGLFrameTokenANGLE:
675             return "EGLFrameTokenANGLE";
676         case ParamType::TEGLGetBlobFuncANDROID:
677             return "EGLGetBlobFuncANDROID";
678         case ParamType::TEGLImage:
679             return "EGLImage";
680         case ParamType::TEGLImageKHR:
681             return "EGLImageKHR";
682         case ParamType::TEGLLabelKHR:
683             return "EGLLabelKHR";
684         case ParamType::TEGLNativeDisplayType:
685             return "EGLNativeDisplayType";
686         case ParamType::TEGLNativePixmapType:
687             return "EGLNativePixmapType";
688         case ParamType::TEGLNativeWindowType:
689             return "EGLNativeWindowType";
690         case ParamType::TEGLObjectKHR:
691             return "EGLObjectKHR";
692         case ParamType::TEGLSetBlobFuncANDROID:
693             return "EGLSetBlobFuncANDROID";
694         case ParamType::TEGLStreamKHR:
695             return "EGLStreamKHR";
696         case ParamType::TEGLSurface:
697             return "EGLSurface";
698         case ParamType::TEGLSync:
699             return "EGLSync";
700         case ParamType::TEGLSyncKHR:
701             return "EGLSyncKHR";
702         case ParamType::TEGLTime:
703             return "EGLTime";
704         case ParamType::TEGLTimeKHR:
705             return "EGLTimeKHR";
706         case ParamType::TEGLenum:
707             return "EGLenum";
708         case ParamType::TEGLint:
709             return "EGLint";
710         case ParamType::TEGLintConstPointer:
711             return "const EGLint *";
712         case ParamType::TEGLintPointer:
713             return "EGLint *";
714         case ParamType::TEGLnsecsANDROID:
715             return "EGLnsecsANDROID";
716         case ParamType::TEGLnsecsANDROIDPointer:
717             return "EGLnsecsANDROID *";
718         case ParamType::TEGLuint64KHR:
719             return "EGLuint64KHR";
720         case ParamType::TEGLuint64KHRPointer:
721             return "EGLuint64KHR *";
722         case ParamType::TFenceNVID:
723             return "GLuint";
724         case ParamType::TFenceNVIDConstPointer:
725             return "const GLuint *";
726         case ParamType::TFenceNVIDPointer:
727             return "GLuint *";
728         case ParamType::TFramebufferID:
729             return "GLuint";
730         case ParamType::TFramebufferIDConstPointer:
731             return "const GLuint *";
732         case ParamType::TFramebufferIDPointer:
733             return "GLuint *";
734         case ParamType::TGLDEBUGPROC:
735             return "GLDEBUGPROC";
736         case ParamType::TGLDEBUGPROCKHR:
737             return "GLDEBUGPROCKHR";
738         case ParamType::TGLGETBLOBPROCANGLE:
739             return "GLGETBLOBPROCANGLE";
740         case ParamType::TGLSETBLOBPROCANGLE:
741             return "GLSETBLOBPROCANGLE";
742         case ParamType::TGLbitfield:
743             return "GLbitfield";
744         case ParamType::TGLboolean:
745             return "GLboolean";
746         case ParamType::TGLbooleanPointer:
747             return "GLboolean *";
748         case ParamType::TGLcharConstPointer:
749             return "const GLchar *";
750         case ParamType::TGLcharConstPointerPointer:
751             return "const GLchar * const *";
752         case ParamType::TGLcharPointer:
753             return "GLchar *";
754         case ParamType::TGLclampx:
755             return "GLclampx";
756         case ParamType::TGLeglClientBufferEXT:
757             return "GLeglClientBufferEXT";
758         case ParamType::TGLenum:
759             return "GLenum";
760         case ParamType::TGLenumConstPointer:
761             return "const GLenum *";
762         case ParamType::TGLenumPointer:
763             return "GLenum *";
764         case ParamType::TGLfixed:
765             return "GLfixed";
766         case ParamType::TGLfixedConstPointer:
767             return "const GLfixed *";
768         case ParamType::TGLfixedPointer:
769             return "GLfixed *";
770         case ParamType::TGLfloat:
771             return "GLfloat";
772         case ParamType::TGLfloatConstPointer:
773             return "const GLfloat *";
774         case ParamType::TGLfloatPointer:
775             return "GLfloat *";
776         case ParamType::TGLint:
777             return "GLint";
778         case ParamType::TGLint64:
779             return "GLint64";
780         case ParamType::TGLint64Pointer:
781             return "GLint64 *";
782         case ParamType::TGLintConstPointer:
783             return "const GLint *";
784         case ParamType::TGLintPointer:
785             return "GLint *";
786         case ParamType::TGLintptr:
787             return "GLintptr";
788         case ParamType::TGLshort:
789             return "GLshort";
790         case ParamType::TGLshortConstPointer:
791             return "const GLshort *";
792         case ParamType::TGLsizei:
793             return "GLsizei";
794         case ParamType::TGLsizeiConstPointer:
795             return "const GLsizei *";
796         case ParamType::TGLsizeiPointer:
797             return "GLsizei *";
798         case ParamType::TGLsizeiptr:
799             return "GLsizeiptr";
800         case ParamType::TGLsync:
801             return "GLsync";
802         case ParamType::TGLubyte:
803             return "GLubyte";
804         case ParamType::TGLubyteConstPointer:
805             return "const GLubyte *";
806         case ParamType::TGLubytePointer:
807             return "GLubyte *";
808         case ParamType::TGLuint:
809             return "GLuint";
810         case ParamType::TGLuint64:
811             return "GLuint64";
812         case ParamType::TGLuint64ConstPointer:
813             return "const GLuint64 *";
814         case ParamType::TGLuint64Pointer:
815             return "GLuint64 *";
816         case ParamType::TGLuintConstPointer:
817             return "const GLuint *";
818         case ParamType::TGLuintPointer:
819             return "GLuint *";
820         case ParamType::TGraphicsResetStatus:
821             return "GLenum";
822         case ParamType::THandleType:
823             return "GLenum";
824         case ParamType::TImageID:
825             return "GLuint";
826         case ParamType::TLightParameter:
827             return "GLenum";
828         case ParamType::TLogicalOperation:
829             return "GLenum";
830         case ParamType::TMaterialParameter:
831             return "GLenum";
832         case ParamType::TMatrixType:
833             return "GLenum";
834         case ParamType::TMemoryObjectID:
835             return "GLuint";
836         case ParamType::TMemoryObjectIDConstPointer:
837             return "const GLuint *";
838         case ParamType::TMemoryObjectIDPointer:
839             return "GLuint *";
840         case ParamType::TObjectType:
841             return "GLenum";
842         case ParamType::TPointParameter:
843             return "GLenum";
844         case ParamType::TPolygonMode:
845             return "GLenum";
846         case ParamType::TPrimitiveMode:
847             return "GLenum";
848         case ParamType::TProgramPipelineID:
849             return "GLuint";
850         case ParamType::TProgramPipelineIDConstPointer:
851             return "const GLuint *";
852         case ParamType::TProgramPipelineIDPointer:
853             return "GLuint *";
854         case ParamType::TProvokingVertexConvention:
855             return "GLenum";
856         case ParamType::TQueryID:
857             return "GLuint";
858         case ParamType::TQueryIDConstPointer:
859             return "const GLuint *";
860         case ParamType::TQueryIDPointer:
861             return "GLuint *";
862         case ParamType::TQueryType:
863             return "GLenum";
864         case ParamType::TRenderbufferID:
865             return "GLuint";
866         case ParamType::TRenderbufferIDConstPointer:
867             return "const GLuint *";
868         case ParamType::TRenderbufferIDPointer:
869             return "GLuint *";
870         case ParamType::TSamplerID:
871             return "GLuint";
872         case ParamType::TSamplerIDConstPointer:
873             return "const GLuint *";
874         case ParamType::TSamplerIDPointer:
875             return "GLuint *";
876         case ParamType::TSemaphoreID:
877             return "GLuint";
878         case ParamType::TSemaphoreIDConstPointer:
879             return "const GLuint *";
880         case ParamType::TSemaphoreIDPointer:
881             return "GLuint *";
882         case ParamType::TShaderProgramID:
883             return "GLuint";
884         case ParamType::TShaderProgramIDConstPointer:
885             return "const GLuint *";
886         case ParamType::TShaderProgramIDPointer:
887             return "GLuint *";
888         case ParamType::TShaderType:
889             return "GLenum";
890         case ParamType::TShadingModel:
891             return "GLenum";
892         case ParamType::TSurfaceID:
893             return "GLuint";
894         case ParamType::TSyncID:
895             return "GLuint";
896         case ParamType::TTextureEnvParameter:
897             return "GLenum";
898         case ParamType::TTextureEnvTarget:
899             return "GLenum";
900         case ParamType::TTextureID:
901             return "GLuint";
902         case ParamType::TTextureIDConstPointer:
903             return "const GLuint *";
904         case ParamType::TTextureIDPointer:
905             return "GLuint *";
906         case ParamType::TTextureTarget:
907             return "GLenum";
908         case ParamType::TTextureType:
909             return "GLenum";
910         case ParamType::TTimestamp:
911             return "GLenum";
912         case ParamType::TTransformFeedbackID:
913             return "GLuint";
914         case ParamType::TTransformFeedbackIDConstPointer:
915             return "const GLuint *";
916         case ParamType::TTransformFeedbackIDPointer:
917             return "GLuint *";
918         case ParamType::TUniformBlockIndex:
919             return "GLenum";
920         case ParamType::TUniformLocation:
921             return "GLenum";
922         case ParamType::TVertexArrayID:
923             return "GLuint";
924         case ParamType::TVertexArrayIDConstPointer:
925             return "const GLuint *";
926         case ParamType::TVertexArrayIDPointer:
927             return "GLuint *";
928         case ParamType::TVertexAttribType:
929             return "GLenum";
930         case ParamType::TcharConstPointer:
931             return "const GLenum *";
932         case ParamType::Tegl_ConfigPointer:
933             return "GLenum *";
934         case ParamType::Tegl_DevicePointer:
935             return "GLenum *";
936         case ParamType::Tegl_DisplayPointer:
937             return "GLenum *";
938         case ParamType::Tegl_StreamPointer:
939             return "GLenum *";
940         case ParamType::Tegl_SyncID:
941             return "GLuint";
942         case ParamType::TvoidConstPointer:
943             return "const void *";
944         case ParamType::TvoidConstPointerPointer:
945             return "const void * const *";
946         case ParamType::TvoidPointer:
947             return "void *";
948         case ParamType::TvoidPointerPointer:
949             return "void **";
950         default:
951             UNREACHABLE();
952             return "unknown";
953     }
954 }
955 
GetResourceIDTypeFromParamType(ParamType paramType)956 ResourceIDType GetResourceIDTypeFromParamType(ParamType paramType)
957 {
958     switch (paramType)
959     {
960         case ParamType::TBufferID:
961             return ResourceIDType::Buffer;
962         case ParamType::TBufferIDConstPointer:
963             return ResourceIDType::Buffer;
964         case ParamType::TBufferIDPointer:
965             return ResourceIDType::Buffer;
966         case ParamType::TContextID:
967             return ResourceIDType::Context;
968         case ParamType::TFenceNVID:
969             return ResourceIDType::FenceNV;
970         case ParamType::TFenceNVIDConstPointer:
971             return ResourceIDType::FenceNV;
972         case ParamType::TFenceNVIDPointer:
973             return ResourceIDType::FenceNV;
974         case ParamType::TFramebufferID:
975             return ResourceIDType::Framebuffer;
976         case ParamType::TFramebufferIDConstPointer:
977             return ResourceIDType::Framebuffer;
978         case ParamType::TFramebufferIDPointer:
979             return ResourceIDType::Framebuffer;
980         case ParamType::TImageID:
981             return ResourceIDType::Image;
982         case ParamType::TMemoryObjectID:
983             return ResourceIDType::MemoryObject;
984         case ParamType::TMemoryObjectIDConstPointer:
985             return ResourceIDType::MemoryObject;
986         case ParamType::TMemoryObjectIDPointer:
987             return ResourceIDType::MemoryObject;
988         case ParamType::TProgramPipelineID:
989             return ResourceIDType::ProgramPipeline;
990         case ParamType::TProgramPipelineIDConstPointer:
991             return ResourceIDType::ProgramPipeline;
992         case ParamType::TProgramPipelineIDPointer:
993             return ResourceIDType::ProgramPipeline;
994         case ParamType::TQueryID:
995             return ResourceIDType::Query;
996         case ParamType::TQueryIDConstPointer:
997             return ResourceIDType::Query;
998         case ParamType::TQueryIDPointer:
999             return ResourceIDType::Query;
1000         case ParamType::TRenderbufferID:
1001             return ResourceIDType::Renderbuffer;
1002         case ParamType::TRenderbufferIDConstPointer:
1003             return ResourceIDType::Renderbuffer;
1004         case ParamType::TRenderbufferIDPointer:
1005             return ResourceIDType::Renderbuffer;
1006         case ParamType::TSamplerID:
1007             return ResourceIDType::Sampler;
1008         case ParamType::TSamplerIDConstPointer:
1009             return ResourceIDType::Sampler;
1010         case ParamType::TSamplerIDPointer:
1011             return ResourceIDType::Sampler;
1012         case ParamType::TSemaphoreID:
1013             return ResourceIDType::Semaphore;
1014         case ParamType::TSemaphoreIDConstPointer:
1015             return ResourceIDType::Semaphore;
1016         case ParamType::TSemaphoreIDPointer:
1017             return ResourceIDType::Semaphore;
1018         case ParamType::TShaderProgramID:
1019             return ResourceIDType::ShaderProgram;
1020         case ParamType::TShaderProgramIDConstPointer:
1021             return ResourceIDType::ShaderProgram;
1022         case ParamType::TShaderProgramIDPointer:
1023             return ResourceIDType::ShaderProgram;
1024         case ParamType::TSurfaceID:
1025             return ResourceIDType::Surface;
1026         case ParamType::TSyncID:
1027             return ResourceIDType::Sync;
1028         case ParamType::TTextureID:
1029             return ResourceIDType::Texture;
1030         case ParamType::TTextureIDConstPointer:
1031             return ResourceIDType::Texture;
1032         case ParamType::TTextureIDPointer:
1033             return ResourceIDType::Texture;
1034         case ParamType::TTransformFeedbackID:
1035             return ResourceIDType::TransformFeedback;
1036         case ParamType::TTransformFeedbackIDConstPointer:
1037             return ResourceIDType::TransformFeedback;
1038         case ParamType::TTransformFeedbackIDPointer:
1039             return ResourceIDType::TransformFeedback;
1040         case ParamType::TVertexArrayID:
1041             return ResourceIDType::VertexArray;
1042         case ParamType::TVertexArrayIDConstPointer:
1043             return ResourceIDType::VertexArray;
1044         case ParamType::TVertexArrayIDPointer:
1045             return ResourceIDType::VertexArray;
1046         case ParamType::Tegl_SyncID:
1047             return ResourceIDType::egl_Sync;
1048         default:
1049             return ResourceIDType::InvalidEnum;
1050     }
1051 }
1052 
GetResourceIDTypeName(ResourceIDType resourceIDType)1053 const char *GetResourceIDTypeName(ResourceIDType resourceIDType)
1054 {
1055     switch (resourceIDType)
1056     {
1057         case ResourceIDType::Buffer:
1058             return "Buffer";
1059         case ResourceIDType::Context:
1060             return "Context";
1061         case ResourceIDType::FenceNV:
1062             return "FenceNV";
1063         case ResourceIDType::Framebuffer:
1064             return "Framebuffer";
1065         case ResourceIDType::Image:
1066             return "Image";
1067         case ResourceIDType::MemoryObject:
1068             return "MemoryObject";
1069         case ResourceIDType::ProgramPipeline:
1070             return "ProgramPipeline";
1071         case ResourceIDType::Query:
1072             return "Query";
1073         case ResourceIDType::Renderbuffer:
1074             return "Renderbuffer";
1075         case ResourceIDType::Sampler:
1076             return "Sampler";
1077         case ResourceIDType::Semaphore:
1078             return "Semaphore";
1079         case ResourceIDType::ShaderProgram:
1080             return "ShaderProgram";
1081         case ResourceIDType::Surface:
1082             return "Surface";
1083         case ResourceIDType::Sync:
1084             return "Sync";
1085         case ResourceIDType::Texture:
1086             return "Texture";
1087         case ResourceIDType::TransformFeedback:
1088             return "TransformFeedback";
1089         case ResourceIDType::VertexArray:
1090             return "VertexArray";
1091         case ResourceIDType::egl_Sync:
1092             return "egl_Sync";
1093         default:
1094             UNREACHABLE();
1095             return "GetResourceIDTypeName error";
1096     }
1097 }
1098 }  // namespace angle
1099