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