• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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::TGLbitfield:
226             WriteParamValueReplay<ParamType::TGLbitfield>(os, call, param.value.GLbitfieldVal);
227             break;
228         case ParamType::TGLboolean:
229             WriteParamValueReplay<ParamType::TGLboolean>(os, call, param.value.GLbooleanVal);
230             break;
231         case ParamType::TGLbooleanConstPointer:
232             WriteParamValueReplay<ParamType::TGLbooleanConstPointer>(
233                 os, call, param.value.GLbooleanConstPointerVal);
234             break;
235         case ParamType::TGLbooleanPointer:
236             WriteParamValueReplay<ParamType::TGLbooleanPointer>(os, call,
237                                                                 param.value.GLbooleanPointerVal);
238             break;
239         case ParamType::TGLbyte:
240             WriteParamValueReplay<ParamType::TGLbyte>(os, call, param.value.GLbyteVal);
241             break;
242         case ParamType::TGLbyteConstPointer:
243             WriteParamValueReplay<ParamType::TGLbyteConstPointer>(
244                 os, call, param.value.GLbyteConstPointerVal);
245             break;
246         case ParamType::TGLcharConstPointer:
247             WriteParamValueReplay<ParamType::TGLcharConstPointer>(
248                 os, call, param.value.GLcharConstPointerVal);
249             break;
250         case ParamType::TGLcharConstPointerPointer:
251             WriteParamValueReplay<ParamType::TGLcharConstPointerPointer>(
252                 os, call, param.value.GLcharConstPointerPointerVal);
253             break;
254         case ParamType::TGLcharPointer:
255             WriteParamValueReplay<ParamType::TGLcharPointer>(os, call,
256                                                              param.value.GLcharPointerVal);
257             break;
258         case ParamType::TGLclampx:
259             WriteParamValueReplay<ParamType::TGLclampx>(os, call, param.value.GLclampxVal);
260             break;
261         case ParamType::TGLdouble:
262             WriteParamValueReplay<ParamType::TGLdouble>(os, call, param.value.GLdoubleVal);
263             break;
264         case ParamType::TGLdoubleConstPointer:
265             WriteParamValueReplay<ParamType::TGLdoubleConstPointer>(
266                 os, call, param.value.GLdoubleConstPointerVal);
267             break;
268         case ParamType::TGLdoublePointer:
269             WriteParamValueReplay<ParamType::TGLdoublePointer>(os, call,
270                                                                param.value.GLdoublePointerVal);
271             break;
272         case ParamType::TGLeglClientBufferEXT:
273             WriteParamValueReplay<ParamType::TGLeglClientBufferEXT>(
274                 os, call, param.value.GLeglClientBufferEXTVal);
275             break;
276         case ParamType::TGLenum:
277             WriteParamValueReplay<ParamType::TGLenum>(os, call, param.value.GLenumVal);
278             break;
279         case ParamType::TGLenumConstPointer:
280             WriteParamValueReplay<ParamType::TGLenumConstPointer>(
281                 os, call, param.value.GLenumConstPointerVal);
282             break;
283         case ParamType::TGLenumPointer:
284             WriteParamValueReplay<ParamType::TGLenumPointer>(os, call,
285                                                              param.value.GLenumPointerVal);
286             break;
287         case ParamType::TGLfixed:
288             WriteParamValueReplay<ParamType::TGLfixed>(os, call, param.value.GLfixedVal);
289             break;
290         case ParamType::TGLfixedConstPointer:
291             WriteParamValueReplay<ParamType::TGLfixedConstPointer>(
292                 os, call, param.value.GLfixedConstPointerVal);
293             break;
294         case ParamType::TGLfixedPointer:
295             WriteParamValueReplay<ParamType::TGLfixedPointer>(os, call,
296                                                               param.value.GLfixedPointerVal);
297             break;
298         case ParamType::TGLfloat:
299             WriteParamValueReplay<ParamType::TGLfloat>(os, call, param.value.GLfloatVal);
300             break;
301         case ParamType::TGLfloatConstPointer:
302             WriteParamValueReplay<ParamType::TGLfloatConstPointer>(
303                 os, call, param.value.GLfloatConstPointerVal);
304             break;
305         case ParamType::TGLfloatPointer:
306             WriteParamValueReplay<ParamType::TGLfloatPointer>(os, call,
307                                                               param.value.GLfloatPointerVal);
308             break;
309         case ParamType::TGLint:
310             WriteParamValueReplay<ParamType::TGLint>(os, call, param.value.GLintVal);
311             break;
312         case ParamType::TGLint64:
313             WriteParamValueReplay<ParamType::TGLint64>(os, call, param.value.GLint64Val);
314             break;
315         case ParamType::TGLint64Pointer:
316             WriteParamValueReplay<ParamType::TGLint64Pointer>(os, call,
317                                                               param.value.GLint64PointerVal);
318             break;
319         case ParamType::TGLintConstPointer:
320             WriteParamValueReplay<ParamType::TGLintConstPointer>(os, call,
321                                                                  param.value.GLintConstPointerVal);
322             break;
323         case ParamType::TGLintPointer:
324             WriteParamValueReplay<ParamType::TGLintPointer>(os, call, param.value.GLintPointerVal);
325             break;
326         case ParamType::TGLintptr:
327             WriteParamValueReplay<ParamType::TGLintptr>(os, call, param.value.GLintptrVal);
328             break;
329         case ParamType::TGLintptrConstPointer:
330             WriteParamValueReplay<ParamType::TGLintptrConstPointer>(
331                 os, call, param.value.GLintptrConstPointerVal);
332             break;
333         case ParamType::TGLshort:
334             WriteParamValueReplay<ParamType::TGLshort>(os, call, param.value.GLshortVal);
335             break;
336         case ParamType::TGLshortConstPointer:
337             WriteParamValueReplay<ParamType::TGLshortConstPointer>(
338                 os, call, param.value.GLshortConstPointerVal);
339             break;
340         case ParamType::TGLsizei:
341             WriteParamValueReplay<ParamType::TGLsizei>(os, call, param.value.GLsizeiVal);
342             break;
343         case ParamType::TGLsizeiConstPointer:
344             WriteParamValueReplay<ParamType::TGLsizeiConstPointer>(
345                 os, call, param.value.GLsizeiConstPointerVal);
346             break;
347         case ParamType::TGLsizeiPointer:
348             WriteParamValueReplay<ParamType::TGLsizeiPointer>(os, call,
349                                                               param.value.GLsizeiPointerVal);
350             break;
351         case ParamType::TGLsizeiptr:
352             WriteParamValueReplay<ParamType::TGLsizeiptr>(os, call, param.value.GLsizeiptrVal);
353             break;
354         case ParamType::TGLsizeiptrConstPointer:
355             WriteParamValueReplay<ParamType::TGLsizeiptrConstPointer>(
356                 os, call, param.value.GLsizeiptrConstPointerVal);
357             break;
358         case ParamType::TGLsync:
359             WriteParamValueReplay<ParamType::TGLsync>(os, call, param.value.GLsyncVal);
360             break;
361         case ParamType::TGLubyte:
362             WriteParamValueReplay<ParamType::TGLubyte>(os, call, param.value.GLubyteVal);
363             break;
364         case ParamType::TGLubyteConstPointer:
365             WriteParamValueReplay<ParamType::TGLubyteConstPointer>(
366                 os, call, param.value.GLubyteConstPointerVal);
367             break;
368         case ParamType::TGLubytePointer:
369             WriteParamValueReplay<ParamType::TGLubytePointer>(os, call,
370                                                               param.value.GLubytePointerVal);
371             break;
372         case ParamType::TGLuint:
373             WriteParamValueReplay<ParamType::TGLuint>(os, call, param.value.GLuintVal);
374             break;
375         case ParamType::TGLuint64:
376             WriteParamValueReplay<ParamType::TGLuint64>(os, call, param.value.GLuint64Val);
377             break;
378         case ParamType::TGLuint64ConstPointer:
379             WriteParamValueReplay<ParamType::TGLuint64ConstPointer>(
380                 os, call, param.value.GLuint64ConstPointerVal);
381             break;
382         case ParamType::TGLuint64Pointer:
383             WriteParamValueReplay<ParamType::TGLuint64Pointer>(os, call,
384                                                                param.value.GLuint64PointerVal);
385             break;
386         case ParamType::TGLuintConstPointer:
387             WriteParamValueReplay<ParamType::TGLuintConstPointer>(
388                 os, call, param.value.GLuintConstPointerVal);
389             break;
390         case ParamType::TGLuintPointer:
391             WriteParamValueReplay<ParamType::TGLuintPointer>(os, call,
392                                                              param.value.GLuintPointerVal);
393             break;
394         case ParamType::TGLushort:
395             WriteParamValueReplay<ParamType::TGLushort>(os, call, param.value.GLushortVal);
396             break;
397         case ParamType::TGLushortConstPointer:
398             WriteParamValueReplay<ParamType::TGLushortConstPointer>(
399                 os, call, param.value.GLushortConstPointerVal);
400             break;
401         case ParamType::TGLushortPointer:
402             WriteParamValueReplay<ParamType::TGLushortPointer>(os, call,
403                                                                param.value.GLushortPointerVal);
404             break;
405         case ParamType::TGraphicsResetStatus:
406             WriteParamValueReplay<ParamType::TGraphicsResetStatus>(
407                 os, call, param.value.GraphicsResetStatusVal);
408             break;
409         case ParamType::THandleType:
410             WriteParamValueReplay<ParamType::THandleType>(os, call, param.value.HandleTypeVal);
411             break;
412         case ParamType::TImageID:
413             WriteParamValueReplay<ParamType::TImageID>(os, call, param.value.ImageIDVal);
414             break;
415         case ParamType::TLightParameter:
416             WriteParamValueReplay<ParamType::TLightParameter>(os, call,
417                                                               param.value.LightParameterVal);
418             break;
419         case ParamType::TLogicalOperation:
420             WriteParamValueReplay<ParamType::TLogicalOperation>(os, call,
421                                                                 param.value.LogicalOperationVal);
422             break;
423         case ParamType::TMaterialParameter:
424             WriteParamValueReplay<ParamType::TMaterialParameter>(os, call,
425                                                                  param.value.MaterialParameterVal);
426             break;
427         case ParamType::TMatrixType:
428             WriteParamValueReplay<ParamType::TMatrixType>(os, call, param.value.MatrixTypeVal);
429             break;
430         case ParamType::TMemoryObjectID:
431             WriteParamValueReplay<ParamType::TMemoryObjectID>(os, call,
432                                                               param.value.MemoryObjectIDVal);
433             break;
434         case ParamType::TMemoryObjectIDConstPointer:
435             WriteParamValueReplay<ParamType::TMemoryObjectIDConstPointer>(
436                 os, call, param.value.MemoryObjectIDConstPointerVal);
437             break;
438         case ParamType::TMemoryObjectIDPointer:
439             WriteParamValueReplay<ParamType::TMemoryObjectIDPointer>(
440                 os, call, param.value.MemoryObjectIDPointerVal);
441             break;
442         case ParamType::TObjectType:
443             WriteParamValueReplay<ParamType::TObjectType>(os, call, param.value.ObjectTypeVal);
444             break;
445         case ParamType::TPointParameter:
446             WriteParamValueReplay<ParamType::TPointParameter>(os, call,
447                                                               param.value.PointParameterVal);
448             break;
449         case ParamType::TPolygonMode:
450             WriteParamValueReplay<ParamType::TPolygonMode>(os, call, param.value.PolygonModeVal);
451             break;
452         case ParamType::TPrimitiveMode:
453             WriteParamValueReplay<ParamType::TPrimitiveMode>(os, call,
454                                                              param.value.PrimitiveModeVal);
455             break;
456         case ParamType::TProgramPipelineID:
457             WriteParamValueReplay<ParamType::TProgramPipelineID>(os, call,
458                                                                  param.value.ProgramPipelineIDVal);
459             break;
460         case ParamType::TProgramPipelineIDConstPointer:
461             WriteParamValueReplay<ParamType::TProgramPipelineIDConstPointer>(
462                 os, call, param.value.ProgramPipelineIDConstPointerVal);
463             break;
464         case ParamType::TProgramPipelineIDPointer:
465             WriteParamValueReplay<ParamType::TProgramPipelineIDPointer>(
466                 os, call, param.value.ProgramPipelineIDPointerVal);
467             break;
468         case ParamType::TProvokingVertexConvention:
469             WriteParamValueReplay<ParamType::TProvokingVertexConvention>(
470                 os, call, param.value.ProvokingVertexConventionVal);
471             break;
472         case ParamType::TQueryID:
473             WriteParamValueReplay<ParamType::TQueryID>(os, call, param.value.QueryIDVal);
474             break;
475         case ParamType::TQueryIDConstPointer:
476             WriteParamValueReplay<ParamType::TQueryIDConstPointer>(
477                 os, call, param.value.QueryIDConstPointerVal);
478             break;
479         case ParamType::TQueryIDPointer:
480             WriteParamValueReplay<ParamType::TQueryIDPointer>(os, call,
481                                                               param.value.QueryIDPointerVal);
482             break;
483         case ParamType::TQueryType:
484             WriteParamValueReplay<ParamType::TQueryType>(os, call, param.value.QueryTypeVal);
485             break;
486         case ParamType::TRenderbufferID:
487             WriteParamValueReplay<ParamType::TRenderbufferID>(os, call,
488                                                               param.value.RenderbufferIDVal);
489             break;
490         case ParamType::TRenderbufferIDConstPointer:
491             WriteParamValueReplay<ParamType::TRenderbufferIDConstPointer>(
492                 os, call, param.value.RenderbufferIDConstPointerVal);
493             break;
494         case ParamType::TRenderbufferIDPointer:
495             WriteParamValueReplay<ParamType::TRenderbufferIDPointer>(
496                 os, call, param.value.RenderbufferIDPointerVal);
497             break;
498         case ParamType::TSamplerID:
499             WriteParamValueReplay<ParamType::TSamplerID>(os, call, param.value.SamplerIDVal);
500             break;
501         case ParamType::TSamplerIDConstPointer:
502             WriteParamValueReplay<ParamType::TSamplerIDConstPointer>(
503                 os, call, param.value.SamplerIDConstPointerVal);
504             break;
505         case ParamType::TSamplerIDPointer:
506             WriteParamValueReplay<ParamType::TSamplerIDPointer>(os, call,
507                                                                 param.value.SamplerIDPointerVal);
508             break;
509         case ParamType::TSemaphoreID:
510             WriteParamValueReplay<ParamType::TSemaphoreID>(os, call, param.value.SemaphoreIDVal);
511             break;
512         case ParamType::TSemaphoreIDConstPointer:
513             WriteParamValueReplay<ParamType::TSemaphoreIDConstPointer>(
514                 os, call, param.value.SemaphoreIDConstPointerVal);
515             break;
516         case ParamType::TSemaphoreIDPointer:
517             WriteParamValueReplay<ParamType::TSemaphoreIDPointer>(
518                 os, call, param.value.SemaphoreIDPointerVal);
519             break;
520         case ParamType::TShaderProgramID:
521             WriteParamValueReplay<ParamType::TShaderProgramID>(os, call,
522                                                                param.value.ShaderProgramIDVal);
523             break;
524         case ParamType::TShaderProgramIDConstPointer:
525             WriteParamValueReplay<ParamType::TShaderProgramIDConstPointer>(
526                 os, call, param.value.ShaderProgramIDConstPointerVal);
527             break;
528         case ParamType::TShaderProgramIDPointer:
529             WriteParamValueReplay<ParamType::TShaderProgramIDPointer>(
530                 os, call, param.value.ShaderProgramIDPointerVal);
531             break;
532         case ParamType::TShaderType:
533             WriteParamValueReplay<ParamType::TShaderType>(os, call, param.value.ShaderTypeVal);
534             break;
535         case ParamType::TShadingModel:
536             WriteParamValueReplay<ParamType::TShadingModel>(os, call, param.value.ShadingModelVal);
537             break;
538         case ParamType::TSurfaceID:
539             WriteParamValueReplay<ParamType::TSurfaceID>(os, call, param.value.SurfaceIDVal);
540             break;
541         case ParamType::TSyncID:
542             WriteParamValueReplay<ParamType::TSyncID>(os, call, param.value.SyncIDVal);
543             break;
544         case ParamType::TTextureEnvParameter:
545             WriteParamValueReplay<ParamType::TTextureEnvParameter>(
546                 os, call, param.value.TextureEnvParameterVal);
547             break;
548         case ParamType::TTextureEnvTarget:
549             WriteParamValueReplay<ParamType::TTextureEnvTarget>(os, call,
550                                                                 param.value.TextureEnvTargetVal);
551             break;
552         case ParamType::TTextureID:
553             WriteParamValueReplay<ParamType::TTextureID>(os, call, param.value.TextureIDVal);
554             break;
555         case ParamType::TTextureIDConstPointer:
556             WriteParamValueReplay<ParamType::TTextureIDConstPointer>(
557                 os, call, param.value.TextureIDConstPointerVal);
558             break;
559         case ParamType::TTextureIDPointer:
560             WriteParamValueReplay<ParamType::TTextureIDPointer>(os, call,
561                                                                 param.value.TextureIDPointerVal);
562             break;
563         case ParamType::TTextureTarget:
564             WriteParamValueReplay<ParamType::TTextureTarget>(os, call,
565                                                              param.value.TextureTargetVal);
566             break;
567         case ParamType::TTextureType:
568             WriteParamValueReplay<ParamType::TTextureType>(os, call, param.value.TextureTypeVal);
569             break;
570         case ParamType::TTimestamp:
571             WriteParamValueReplay<ParamType::TTimestamp>(os, call, param.value.TimestampVal);
572             break;
573         case ParamType::TTransformFeedbackID:
574             WriteParamValueReplay<ParamType::TTransformFeedbackID>(
575                 os, call, param.value.TransformFeedbackIDVal);
576             break;
577         case ParamType::TTransformFeedbackIDConstPointer:
578             WriteParamValueReplay<ParamType::TTransformFeedbackIDConstPointer>(
579                 os, call, param.value.TransformFeedbackIDConstPointerVal);
580             break;
581         case ParamType::TTransformFeedbackIDPointer:
582             WriteParamValueReplay<ParamType::TTransformFeedbackIDPointer>(
583                 os, call, param.value.TransformFeedbackIDPointerVal);
584             break;
585         case ParamType::TUniformBlockIndex:
586             WriteParamValueReplay<ParamType::TUniformBlockIndex>(os, call,
587                                                                  param.value.UniformBlockIndexVal);
588             break;
589         case ParamType::TUniformLocation:
590             WriteParamValueReplay<ParamType::TUniformLocation>(os, call,
591                                                                param.value.UniformLocationVal);
592             break;
593         case ParamType::TVertexArrayID:
594             WriteParamValueReplay<ParamType::TVertexArrayID>(os, call,
595                                                              param.value.VertexArrayIDVal);
596             break;
597         case ParamType::TVertexArrayIDConstPointer:
598             WriteParamValueReplay<ParamType::TVertexArrayIDConstPointer>(
599                 os, call, param.value.VertexArrayIDConstPointerVal);
600             break;
601         case ParamType::TVertexArrayIDPointer:
602             WriteParamValueReplay<ParamType::TVertexArrayIDPointer>(
603                 os, call, param.value.VertexArrayIDPointerVal);
604             break;
605         case ParamType::TVertexAttribType:
606             WriteParamValueReplay<ParamType::TVertexAttribType>(os, call,
607                                                                 param.value.VertexAttribTypeVal);
608             break;
609         case ParamType::TcharConstPointer:
610             WriteParamValueReplay<ParamType::TcharConstPointer>(os, call,
611                                                                 param.value.charConstPointerVal);
612             break;
613         case ParamType::Tegl_ConfigPointer:
614             WriteParamValueReplay<ParamType::Tegl_ConfigPointer>(os, call,
615                                                                  param.value.egl_ConfigPointerVal);
616             break;
617         case ParamType::Tegl_DevicePointer:
618             WriteParamValueReplay<ParamType::Tegl_DevicePointer>(os, call,
619                                                                  param.value.egl_DevicePointerVal);
620             break;
621         case ParamType::Tegl_DisplayPointer:
622             WriteParamValueReplay<ParamType::Tegl_DisplayPointer>(
623                 os, call, param.value.egl_DisplayPointerVal);
624             break;
625         case ParamType::Tegl_StreamPointer:
626             WriteParamValueReplay<ParamType::Tegl_StreamPointer>(os, call,
627                                                                  param.value.egl_StreamPointerVal);
628             break;
629         case ParamType::Tegl_SyncID:
630             WriteParamValueReplay<ParamType::Tegl_SyncID>(os, call, param.value.egl_SyncIDVal);
631             break;
632         case ParamType::TvoidConstPointer:
633             WriteParamValueReplay<ParamType::TvoidConstPointer>(os, call,
634                                                                 param.value.voidConstPointerVal);
635             break;
636         case ParamType::TvoidConstPointerPointer:
637             WriteParamValueReplay<ParamType::TvoidConstPointerPointer>(
638                 os, call, param.value.voidConstPointerPointerVal);
639             break;
640         case ParamType::TvoidPointer:
641             WriteParamValueReplay<ParamType::TvoidPointer>(os, call, param.value.voidPointerVal);
642             break;
643         case ParamType::TvoidPointerPointer:
644             WriteParamValueReplay<ParamType::TvoidPointerPointer>(
645                 os, call, param.value.voidPointerPointerVal);
646             break;
647         default:
648             os << "unknown";
649             break;
650     }
651 }
652 
ParamTypeToString(ParamType paramType)653 const char *ParamTypeToString(ParamType paramType)
654 {
655     switch (paramType)
656     {
657         case ParamType::TAHardwareBufferConstPointer:
658             return "const GLenum *";
659         case ParamType::TAlphaTestFunc:
660             return "GLenum";
661         case ParamType::TBufferBinding:
662             return "GLenum";
663         case ParamType::TBufferID:
664             return "GLuint";
665         case ParamType::TBufferIDConstPointer:
666             return "const GLuint *";
667         case ParamType::TBufferIDPointer:
668             return "GLuint *";
669         case ParamType::TBufferUsage:
670             return "GLenum";
671         case ParamType::TClientVertexArrayType:
672             return "GLenum";
673         case ParamType::TClipDepthMode:
674             return "GLenum";
675         case ParamType::TClipOrigin:
676             return "GLenum";
677         case ParamType::TCompositorTiming:
678             return "GLenum";
679         case ParamType::TContextID:
680             return "GLuint";
681         case ParamType::TCullFaceMode:
682             return "GLenum";
683         case ParamType::TDrawElementsType:
684             return "GLenum";
685         case ParamType::TEGLAttribConstPointer:
686             return "const EGLAttrib *";
687         case ParamType::TEGLAttribKHRPointer:
688             return "EGLAttribKHR *";
689         case ParamType::TEGLAttribPointer:
690             return "EGLAttrib *";
691         case ParamType::TEGLBoolean:
692             return "EGLBoolean";
693         case ParamType::TEGLBooleanPointer:
694             return "EGLBoolean *";
695         case ParamType::TEGLClientBuffer:
696             return "EGLClientBuffer";
697         case ParamType::TEGLConfigPointer:
698             return "EGLConfig *";
699         case ParamType::TEGLContext:
700             return "EGLContext";
701         case ParamType::TEGLDEBUGPROCKHR:
702             return "EGLDEBUGPROCKHR";
703         case ParamType::TEGLDeviceEXT:
704             return "EGLDeviceEXT";
705         case ParamType::TEGLDisplay:
706             return "EGLDisplay";
707         case ParamType::TEGLFrameTokenANGLE:
708             return "EGLFrameTokenANGLE";
709         case ParamType::TEGLGetBlobFuncANDROID:
710             return "EGLGetBlobFuncANDROID";
711         case ParamType::TEGLImage:
712             return "EGLImage";
713         case ParamType::TEGLImageKHR:
714             return "EGLImageKHR";
715         case ParamType::TEGLLabelKHR:
716             return "EGLLabelKHR";
717         case ParamType::TEGLNativeDisplayType:
718             return "EGLNativeDisplayType";
719         case ParamType::TEGLNativePixmapType:
720             return "EGLNativePixmapType";
721         case ParamType::TEGLNativeWindowType:
722             return "EGLNativeWindowType";
723         case ParamType::TEGLObjectKHR:
724             return "EGLObjectKHR";
725         case ParamType::TEGLSetBlobFuncANDROID:
726             return "EGLSetBlobFuncANDROID";
727         case ParamType::TEGLStreamKHR:
728             return "EGLStreamKHR";
729         case ParamType::TEGLSurface:
730             return "EGLSurface";
731         case ParamType::TEGLSync:
732             return "EGLSync";
733         case ParamType::TEGLSyncKHR:
734             return "EGLSyncKHR";
735         case ParamType::TEGLTime:
736             return "EGLTime";
737         case ParamType::TEGLTimeKHR:
738             return "EGLTimeKHR";
739         case ParamType::TEGLenum:
740             return "EGLenum";
741         case ParamType::TEGLint:
742             return "EGLint";
743         case ParamType::TEGLintConstPointer:
744             return "const EGLint *";
745         case ParamType::TEGLintPointer:
746             return "EGLint *";
747         case ParamType::TEGLnsecsANDROID:
748             return "EGLnsecsANDROID";
749         case ParamType::TEGLnsecsANDROIDPointer:
750             return "EGLnsecsANDROID *";
751         case ParamType::TEGLuint64KHR:
752             return "EGLuint64KHR";
753         case ParamType::TEGLuint64KHRPointer:
754             return "EGLuint64KHR *";
755         case ParamType::TFenceNVID:
756             return "GLuint";
757         case ParamType::TFenceNVIDConstPointer:
758             return "const GLuint *";
759         case ParamType::TFenceNVIDPointer:
760             return "GLuint *";
761         case ParamType::TFramebufferID:
762             return "GLuint";
763         case ParamType::TFramebufferIDConstPointer:
764             return "const GLuint *";
765         case ParamType::TFramebufferIDPointer:
766             return "GLuint *";
767         case ParamType::TGLDEBUGPROC:
768             return "GLDEBUGPROC";
769         case ParamType::TGLDEBUGPROCKHR:
770             return "GLDEBUGPROCKHR";
771         case ParamType::TGLbitfield:
772             return "GLbitfield";
773         case ParamType::TGLboolean:
774             return "GLboolean";
775         case ParamType::TGLbooleanConstPointer:
776             return "const GLboolean *";
777         case ParamType::TGLbooleanPointer:
778             return "GLboolean *";
779         case ParamType::TGLbyte:
780             return "GLbyte";
781         case ParamType::TGLbyteConstPointer:
782             return "const GLbyte *";
783         case ParamType::TGLcharConstPointer:
784             return "const GLchar *";
785         case ParamType::TGLcharConstPointerPointer:
786             return "const GLchar * const *";
787         case ParamType::TGLcharPointer:
788             return "GLchar *";
789         case ParamType::TGLclampx:
790             return "GLclampx";
791         case ParamType::TGLdouble:
792             return "GLdouble";
793         case ParamType::TGLdoubleConstPointer:
794             return "const GLdouble *";
795         case ParamType::TGLdoublePointer:
796             return "GLdouble *";
797         case ParamType::TGLeglClientBufferEXT:
798             return "GLeglClientBufferEXT";
799         case ParamType::TGLenum:
800             return "GLenum";
801         case ParamType::TGLenumConstPointer:
802             return "const GLenum *";
803         case ParamType::TGLenumPointer:
804             return "GLenum *";
805         case ParamType::TGLfixed:
806             return "GLfixed";
807         case ParamType::TGLfixedConstPointer:
808             return "const GLfixed *";
809         case ParamType::TGLfixedPointer:
810             return "GLfixed *";
811         case ParamType::TGLfloat:
812             return "GLfloat";
813         case ParamType::TGLfloatConstPointer:
814             return "const GLfloat *";
815         case ParamType::TGLfloatPointer:
816             return "GLfloat *";
817         case ParamType::TGLint:
818             return "GLint";
819         case ParamType::TGLint64:
820             return "GLint64";
821         case ParamType::TGLint64Pointer:
822             return "GLint64 *";
823         case ParamType::TGLintConstPointer:
824             return "const GLint *";
825         case ParamType::TGLintPointer:
826             return "GLint *";
827         case ParamType::TGLintptr:
828             return "GLintptr";
829         case ParamType::TGLintptrConstPointer:
830             return "const GLintptr *";
831         case ParamType::TGLshort:
832             return "GLshort";
833         case ParamType::TGLshortConstPointer:
834             return "const GLshort *";
835         case ParamType::TGLsizei:
836             return "GLsizei";
837         case ParamType::TGLsizeiConstPointer:
838             return "const GLsizei *";
839         case ParamType::TGLsizeiPointer:
840             return "GLsizei *";
841         case ParamType::TGLsizeiptr:
842             return "GLsizeiptr";
843         case ParamType::TGLsizeiptrConstPointer:
844             return "const GLsizeiptr *";
845         case ParamType::TGLsync:
846             return "GLsync";
847         case ParamType::TGLubyte:
848             return "GLubyte";
849         case ParamType::TGLubyteConstPointer:
850             return "const GLubyte *";
851         case ParamType::TGLubytePointer:
852             return "GLubyte *";
853         case ParamType::TGLuint:
854             return "GLuint";
855         case ParamType::TGLuint64:
856             return "GLuint64";
857         case ParamType::TGLuint64ConstPointer:
858             return "const GLuint64 *";
859         case ParamType::TGLuint64Pointer:
860             return "GLuint64 *";
861         case ParamType::TGLuintConstPointer:
862             return "const GLuint *";
863         case ParamType::TGLuintPointer:
864             return "GLuint *";
865         case ParamType::TGLushort:
866             return "GLushort";
867         case ParamType::TGLushortConstPointer:
868             return "const GLushort *";
869         case ParamType::TGLushortPointer:
870             return "GLushort *";
871         case ParamType::TGraphicsResetStatus:
872             return "GLenum";
873         case ParamType::THandleType:
874             return "GLenum";
875         case ParamType::TImageID:
876             return "GLuint";
877         case ParamType::TLightParameter:
878             return "GLenum";
879         case ParamType::TLogicalOperation:
880             return "GLenum";
881         case ParamType::TMaterialParameter:
882             return "GLenum";
883         case ParamType::TMatrixType:
884             return "GLenum";
885         case ParamType::TMemoryObjectID:
886             return "GLuint";
887         case ParamType::TMemoryObjectIDConstPointer:
888             return "const GLuint *";
889         case ParamType::TMemoryObjectIDPointer:
890             return "GLuint *";
891         case ParamType::TObjectType:
892             return "GLenum";
893         case ParamType::TPointParameter:
894             return "GLenum";
895         case ParamType::TPolygonMode:
896             return "GLenum";
897         case ParamType::TPrimitiveMode:
898             return "GLenum";
899         case ParamType::TProgramPipelineID:
900             return "GLuint";
901         case ParamType::TProgramPipelineIDConstPointer:
902             return "const GLuint *";
903         case ParamType::TProgramPipelineIDPointer:
904             return "GLuint *";
905         case ParamType::TProvokingVertexConvention:
906             return "GLenum";
907         case ParamType::TQueryID:
908             return "GLuint";
909         case ParamType::TQueryIDConstPointer:
910             return "const GLuint *";
911         case ParamType::TQueryIDPointer:
912             return "GLuint *";
913         case ParamType::TQueryType:
914             return "GLenum";
915         case ParamType::TRenderbufferID:
916             return "GLuint";
917         case ParamType::TRenderbufferIDConstPointer:
918             return "const GLuint *";
919         case ParamType::TRenderbufferIDPointer:
920             return "GLuint *";
921         case ParamType::TSamplerID:
922             return "GLuint";
923         case ParamType::TSamplerIDConstPointer:
924             return "const GLuint *";
925         case ParamType::TSamplerIDPointer:
926             return "GLuint *";
927         case ParamType::TSemaphoreID:
928             return "GLuint";
929         case ParamType::TSemaphoreIDConstPointer:
930             return "const GLuint *";
931         case ParamType::TSemaphoreIDPointer:
932             return "GLuint *";
933         case ParamType::TShaderProgramID:
934             return "GLuint";
935         case ParamType::TShaderProgramIDConstPointer:
936             return "const GLuint *";
937         case ParamType::TShaderProgramIDPointer:
938             return "GLuint *";
939         case ParamType::TShaderType:
940             return "GLenum";
941         case ParamType::TShadingModel:
942             return "GLenum";
943         case ParamType::TSurfaceID:
944             return "GLuint";
945         case ParamType::TSyncID:
946             return "GLuint";
947         case ParamType::TTextureEnvParameter:
948             return "GLenum";
949         case ParamType::TTextureEnvTarget:
950             return "GLenum";
951         case ParamType::TTextureID:
952             return "GLuint";
953         case ParamType::TTextureIDConstPointer:
954             return "const GLuint *";
955         case ParamType::TTextureIDPointer:
956             return "GLuint *";
957         case ParamType::TTextureTarget:
958             return "GLenum";
959         case ParamType::TTextureType:
960             return "GLenum";
961         case ParamType::TTimestamp:
962             return "GLenum";
963         case ParamType::TTransformFeedbackID:
964             return "GLuint";
965         case ParamType::TTransformFeedbackIDConstPointer:
966             return "const GLuint *";
967         case ParamType::TTransformFeedbackIDPointer:
968             return "GLuint *";
969         case ParamType::TUniformBlockIndex:
970             return "GLenum";
971         case ParamType::TUniformLocation:
972             return "GLenum";
973         case ParamType::TVertexArrayID:
974             return "GLuint";
975         case ParamType::TVertexArrayIDConstPointer:
976             return "const GLuint *";
977         case ParamType::TVertexArrayIDPointer:
978             return "GLuint *";
979         case ParamType::TVertexAttribType:
980             return "GLenum";
981         case ParamType::TcharConstPointer:
982             return "const GLenum *";
983         case ParamType::Tegl_ConfigPointer:
984             return "GLenum *";
985         case ParamType::Tegl_DevicePointer:
986             return "GLenum *";
987         case ParamType::Tegl_DisplayPointer:
988             return "GLenum *";
989         case ParamType::Tegl_StreamPointer:
990             return "GLenum *";
991         case ParamType::Tegl_SyncID:
992             return "GLuint";
993         case ParamType::TvoidConstPointer:
994             return "const void *";
995         case ParamType::TvoidConstPointerPointer:
996             return "const void * const *";
997         case ParamType::TvoidPointer:
998             return "void *";
999         case ParamType::TvoidPointerPointer:
1000             return "void **";
1001         default:
1002             UNREACHABLE();
1003             return "unknown";
1004     }
1005 }
1006 
GetResourceIDTypeFromParamType(ParamType paramType)1007 ResourceIDType GetResourceIDTypeFromParamType(ParamType paramType)
1008 {
1009     switch (paramType)
1010     {
1011         case ParamType::TBufferID:
1012             return ResourceIDType::Buffer;
1013         case ParamType::TBufferIDConstPointer:
1014             return ResourceIDType::Buffer;
1015         case ParamType::TBufferIDPointer:
1016             return ResourceIDType::Buffer;
1017         case ParamType::TContextID:
1018             return ResourceIDType::Context;
1019         case ParamType::TFenceNVID:
1020             return ResourceIDType::FenceNV;
1021         case ParamType::TFenceNVIDConstPointer:
1022             return ResourceIDType::FenceNV;
1023         case ParamType::TFenceNVIDPointer:
1024             return ResourceIDType::FenceNV;
1025         case ParamType::TFramebufferID:
1026             return ResourceIDType::Framebuffer;
1027         case ParamType::TFramebufferIDConstPointer:
1028             return ResourceIDType::Framebuffer;
1029         case ParamType::TFramebufferIDPointer:
1030             return ResourceIDType::Framebuffer;
1031         case ParamType::TImageID:
1032             return ResourceIDType::Image;
1033         case ParamType::TMemoryObjectID:
1034             return ResourceIDType::MemoryObject;
1035         case ParamType::TMemoryObjectIDConstPointer:
1036             return ResourceIDType::MemoryObject;
1037         case ParamType::TMemoryObjectIDPointer:
1038             return ResourceIDType::MemoryObject;
1039         case ParamType::TProgramPipelineID:
1040             return ResourceIDType::ProgramPipeline;
1041         case ParamType::TProgramPipelineIDConstPointer:
1042             return ResourceIDType::ProgramPipeline;
1043         case ParamType::TProgramPipelineIDPointer:
1044             return ResourceIDType::ProgramPipeline;
1045         case ParamType::TQueryID:
1046             return ResourceIDType::Query;
1047         case ParamType::TQueryIDConstPointer:
1048             return ResourceIDType::Query;
1049         case ParamType::TQueryIDPointer:
1050             return ResourceIDType::Query;
1051         case ParamType::TRenderbufferID:
1052             return ResourceIDType::Renderbuffer;
1053         case ParamType::TRenderbufferIDConstPointer:
1054             return ResourceIDType::Renderbuffer;
1055         case ParamType::TRenderbufferIDPointer:
1056             return ResourceIDType::Renderbuffer;
1057         case ParamType::TSamplerID:
1058             return ResourceIDType::Sampler;
1059         case ParamType::TSamplerIDConstPointer:
1060             return ResourceIDType::Sampler;
1061         case ParamType::TSamplerIDPointer:
1062             return ResourceIDType::Sampler;
1063         case ParamType::TSemaphoreID:
1064             return ResourceIDType::Semaphore;
1065         case ParamType::TSemaphoreIDConstPointer:
1066             return ResourceIDType::Semaphore;
1067         case ParamType::TSemaphoreIDPointer:
1068             return ResourceIDType::Semaphore;
1069         case ParamType::TShaderProgramID:
1070             return ResourceIDType::ShaderProgram;
1071         case ParamType::TShaderProgramIDConstPointer:
1072             return ResourceIDType::ShaderProgram;
1073         case ParamType::TShaderProgramIDPointer:
1074             return ResourceIDType::ShaderProgram;
1075         case ParamType::TSurfaceID:
1076             return ResourceIDType::Surface;
1077         case ParamType::TSyncID:
1078             return ResourceIDType::Sync;
1079         case ParamType::TTextureID:
1080             return ResourceIDType::Texture;
1081         case ParamType::TTextureIDConstPointer:
1082             return ResourceIDType::Texture;
1083         case ParamType::TTextureIDPointer:
1084             return ResourceIDType::Texture;
1085         case ParamType::TTransformFeedbackID:
1086             return ResourceIDType::TransformFeedback;
1087         case ParamType::TTransformFeedbackIDConstPointer:
1088             return ResourceIDType::TransformFeedback;
1089         case ParamType::TTransformFeedbackIDPointer:
1090             return ResourceIDType::TransformFeedback;
1091         case ParamType::TVertexArrayID:
1092             return ResourceIDType::VertexArray;
1093         case ParamType::TVertexArrayIDConstPointer:
1094             return ResourceIDType::VertexArray;
1095         case ParamType::TVertexArrayIDPointer:
1096             return ResourceIDType::VertexArray;
1097         case ParamType::Tegl_SyncID:
1098             return ResourceIDType::egl_Sync;
1099         default:
1100             return ResourceIDType::InvalidEnum;
1101     }
1102 }
1103 
GetResourceIDTypeName(ResourceIDType resourceIDType)1104 const char *GetResourceIDTypeName(ResourceIDType resourceIDType)
1105 {
1106     switch (resourceIDType)
1107     {
1108         case ResourceIDType::Buffer:
1109             return "Buffer";
1110         case ResourceIDType::Context:
1111             return "Context";
1112         case ResourceIDType::FenceNV:
1113             return "FenceNV";
1114         case ResourceIDType::Framebuffer:
1115             return "Framebuffer";
1116         case ResourceIDType::Image:
1117             return "Image";
1118         case ResourceIDType::MemoryObject:
1119             return "MemoryObject";
1120         case ResourceIDType::ProgramPipeline:
1121             return "ProgramPipeline";
1122         case ResourceIDType::Query:
1123             return "Query";
1124         case ResourceIDType::Renderbuffer:
1125             return "Renderbuffer";
1126         case ResourceIDType::Sampler:
1127             return "Sampler";
1128         case ResourceIDType::Semaphore:
1129             return "Semaphore";
1130         case ResourceIDType::ShaderProgram:
1131             return "ShaderProgram";
1132         case ResourceIDType::Surface:
1133             return "Surface";
1134         case ResourceIDType::Sync:
1135             return "Sync";
1136         case ResourceIDType::Texture:
1137             return "Texture";
1138         case ResourceIDType::TransformFeedback:
1139             return "TransformFeedback";
1140         case ResourceIDType::VertexArray:
1141             return "VertexArray";
1142         case ResourceIDType::egl_Sync:
1143             return "egl_Sync";
1144         default:
1145             UNREACHABLE();
1146             return "GetResourceIDTypeName error";
1147     }
1148 }
1149 }  // namespace angle
1150