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