• 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 // capture_gl_1_autogen.cpp:
9 //   Capture functions for the OpenGL ES Desktop GL 1.x entry points.
10 
11 #include "libANGLE/capture/capture_gl_1_autogen.h"
12 
13 #include "common/gl_enum_utils.h"
14 #include "libANGLE/Context.h"
15 #include "libANGLE/capture/FrameCapture.h"
16 #include "libANGLE/validationGL1_autogen.h"
17 
18 using namespace angle;
19 
20 namespace gl
21 {
22 
23 // GL 1.0
CaptureAccum(const State & glState,bool isCallValid,GLenum op,GLfloat value)24 CallCapture CaptureAccum(const State &glState, bool isCallValid, GLenum op, GLfloat value)
25 {
26     ParamBuffer paramBuffer;
27 
28     paramBuffer.addEnumParam("op", BigGLEnum::AccumOp, ParamType::TGLenum, op);
29     paramBuffer.addValueParam("value", ParamType::TGLfloat, value);
30 
31     return CallCapture(angle::EntryPoint::GLAccum, std::move(paramBuffer));
32 }
33 
CaptureBegin(const State & glState,bool isCallValid,GLenum mode)34 CallCapture CaptureBegin(const State &glState, bool isCallValid, GLenum mode)
35 {
36     ParamBuffer paramBuffer;
37 
38     paramBuffer.addEnumParam("mode", BigGLEnum::PrimitiveType, ParamType::TGLenum, mode);
39 
40     return CallCapture(angle::EntryPoint::GLBegin, std::move(paramBuffer));
41 }
42 
CaptureBitmap(const State & glState,bool isCallValid,GLsizei width,GLsizei height,GLfloat xorig,GLfloat yorig,GLfloat xmove,GLfloat ymove,const GLubyte * bitmap)43 CallCapture CaptureBitmap(const State &glState,
44                           bool isCallValid,
45                           GLsizei width,
46                           GLsizei height,
47                           GLfloat xorig,
48                           GLfloat yorig,
49                           GLfloat xmove,
50                           GLfloat ymove,
51                           const GLubyte *bitmap)
52 {
53     ParamBuffer paramBuffer;
54 
55     paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
56     paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
57     paramBuffer.addValueParam("xorig", ParamType::TGLfloat, xorig);
58     paramBuffer.addValueParam("yorig", ParamType::TGLfloat, yorig);
59     paramBuffer.addValueParam("xmove", ParamType::TGLfloat, xmove);
60     paramBuffer.addValueParam("ymove", ParamType::TGLfloat, ymove);
61 
62     if (isCallValid)
63     {
64         ParamCapture bitmapParam("bitmap", ParamType::TGLubyteConstPointer);
65         InitParamValue(ParamType::TGLubyteConstPointer, bitmap, &bitmapParam.value);
66         CaptureBitmap_bitmap(glState, isCallValid, width, height, xorig, yorig, xmove, ymove,
67                              bitmap, &bitmapParam);
68         paramBuffer.addParam(std::move(bitmapParam));
69     }
70     else
71     {
72         ParamCapture bitmapParam("bitmap", ParamType::TGLubyteConstPointer);
73         InitParamValue(ParamType::TGLubyteConstPointer, static_cast<const GLubyte *>(nullptr),
74                        &bitmapParam.value);
75         paramBuffer.addParam(std::move(bitmapParam));
76     }
77 
78     return CallCapture(angle::EntryPoint::GLBitmap, std::move(paramBuffer));
79 }
80 
CaptureCallList(const State & glState,bool isCallValid,GLuint list)81 CallCapture CaptureCallList(const State &glState, bool isCallValid, GLuint list)
82 {
83     ParamBuffer paramBuffer;
84 
85     paramBuffer.addValueParam("list", ParamType::TGLuint, list);
86 
87     return CallCapture(angle::EntryPoint::GLCallList, std::move(paramBuffer));
88 }
89 
CaptureCallLists(const State & glState,bool isCallValid,GLsizei n,GLenum type,const void * lists)90 CallCapture CaptureCallLists(const State &glState,
91                              bool isCallValid,
92                              GLsizei n,
93                              GLenum type,
94                              const void *lists)
95 {
96     ParamBuffer paramBuffer;
97 
98     paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
99     paramBuffer.addEnumParam("type", BigGLEnum::ListNameType, ParamType::TGLenum, type);
100 
101     if (isCallValid)
102     {
103         ParamCapture listsParam("lists", ParamType::TvoidConstPointer);
104         InitParamValue(ParamType::TvoidConstPointer, lists, &listsParam.value);
105         CaptureCallLists_lists(glState, isCallValid, n, type, lists, &listsParam);
106         paramBuffer.addParam(std::move(listsParam));
107     }
108     else
109     {
110         ParamCapture listsParam("lists", ParamType::TvoidConstPointer);
111         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
112                        &listsParam.value);
113         paramBuffer.addParam(std::move(listsParam));
114     }
115 
116     return CallCapture(angle::EntryPoint::GLCallLists, std::move(paramBuffer));
117 }
118 
CaptureClearAccum(const State & glState,bool isCallValid,GLfloat red,GLfloat green,GLfloat blue,GLfloat alpha)119 CallCapture CaptureClearAccum(const State &glState,
120                               bool isCallValid,
121                               GLfloat red,
122                               GLfloat green,
123                               GLfloat blue,
124                               GLfloat alpha)
125 {
126     ParamBuffer paramBuffer;
127 
128     paramBuffer.addValueParam("red", ParamType::TGLfloat, red);
129     paramBuffer.addValueParam("green", ParamType::TGLfloat, green);
130     paramBuffer.addValueParam("blue", ParamType::TGLfloat, blue);
131     paramBuffer.addValueParam("alpha", ParamType::TGLfloat, alpha);
132 
133     return CallCapture(angle::EntryPoint::GLClearAccum, std::move(paramBuffer));
134 }
135 
CaptureClearDepth(const State & glState,bool isCallValid,GLdouble depth)136 CallCapture CaptureClearDepth(const State &glState, bool isCallValid, GLdouble depth)
137 {
138     ParamBuffer paramBuffer;
139 
140     paramBuffer.addValueParam("depth", ParamType::TGLdouble, depth);
141 
142     return CallCapture(angle::EntryPoint::GLClearDepth, std::move(paramBuffer));
143 }
144 
CaptureClearIndex(const State & glState,bool isCallValid,GLfloat c)145 CallCapture CaptureClearIndex(const State &glState, bool isCallValid, GLfloat c)
146 {
147     ParamBuffer paramBuffer;
148 
149     paramBuffer.addValueParam("c", ParamType::TGLfloat, c);
150 
151     return CallCapture(angle::EntryPoint::GLClearIndex, std::move(paramBuffer));
152 }
153 
CaptureClipPlane(const State & glState,bool isCallValid,GLenum plane,const GLdouble * equation)154 CallCapture CaptureClipPlane(const State &glState,
155                              bool isCallValid,
156                              GLenum plane,
157                              const GLdouble *equation)
158 {
159     ParamBuffer paramBuffer;
160 
161     paramBuffer.addEnumParam("plane", BigGLEnum::ClipPlaneName, ParamType::TGLenum, plane);
162 
163     if (isCallValid)
164     {
165         ParamCapture equationParam("equation", ParamType::TGLdoubleConstPointer);
166         InitParamValue(ParamType::TGLdoubleConstPointer, equation, &equationParam.value);
167         CaptureClipPlane_equation(glState, isCallValid, plane, equation, &equationParam);
168         paramBuffer.addParam(std::move(equationParam));
169     }
170     else
171     {
172         ParamCapture equationParam("equation", ParamType::TGLdoubleConstPointer);
173         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
174                        &equationParam.value);
175         paramBuffer.addParam(std::move(equationParam));
176     }
177 
178     return CallCapture(angle::EntryPoint::GLClipPlane, std::move(paramBuffer));
179 }
180 
CaptureColor3b(const State & glState,bool isCallValid,GLbyte red,GLbyte green,GLbyte blue)181 CallCapture CaptureColor3b(const State &glState,
182                            bool isCallValid,
183                            GLbyte red,
184                            GLbyte green,
185                            GLbyte blue)
186 {
187     ParamBuffer paramBuffer;
188 
189     paramBuffer.addValueParam("red", ParamType::TGLbyte, red);
190     paramBuffer.addValueParam("green", ParamType::TGLbyte, green);
191     paramBuffer.addValueParam("blue", ParamType::TGLbyte, blue);
192 
193     return CallCapture(angle::EntryPoint::GLColor3b, std::move(paramBuffer));
194 }
195 
CaptureColor3bv(const State & glState,bool isCallValid,const GLbyte * v)196 CallCapture CaptureColor3bv(const State &glState, bool isCallValid, const GLbyte *v)
197 {
198     ParamBuffer paramBuffer;
199 
200     if (isCallValid)
201     {
202         ParamCapture vParam("v", ParamType::TGLbyteConstPointer);
203         InitParamValue(ParamType::TGLbyteConstPointer, v, &vParam.value);
204         CaptureColor3bv_v(glState, isCallValid, v, &vParam);
205         paramBuffer.addParam(std::move(vParam));
206     }
207     else
208     {
209         ParamCapture vParam("v", ParamType::TGLbyteConstPointer);
210         InitParamValue(ParamType::TGLbyteConstPointer, static_cast<const GLbyte *>(nullptr),
211                        &vParam.value);
212         paramBuffer.addParam(std::move(vParam));
213     }
214 
215     return CallCapture(angle::EntryPoint::GLColor3bv, std::move(paramBuffer));
216 }
217 
CaptureColor3d(const State & glState,bool isCallValid,GLdouble red,GLdouble green,GLdouble blue)218 CallCapture CaptureColor3d(const State &glState,
219                            bool isCallValid,
220                            GLdouble red,
221                            GLdouble green,
222                            GLdouble blue)
223 {
224     ParamBuffer paramBuffer;
225 
226     paramBuffer.addValueParam("red", ParamType::TGLdouble, red);
227     paramBuffer.addValueParam("green", ParamType::TGLdouble, green);
228     paramBuffer.addValueParam("blue", ParamType::TGLdouble, blue);
229 
230     return CallCapture(angle::EntryPoint::GLColor3d, std::move(paramBuffer));
231 }
232 
CaptureColor3dv(const State & glState,bool isCallValid,const GLdouble * v)233 CallCapture CaptureColor3dv(const State &glState, bool isCallValid, const GLdouble *v)
234 {
235     ParamBuffer paramBuffer;
236 
237     if (isCallValid)
238     {
239         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
240         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
241         CaptureColor3dv_v(glState, isCallValid, v, &vParam);
242         paramBuffer.addParam(std::move(vParam));
243     }
244     else
245     {
246         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
247         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
248                        &vParam.value);
249         paramBuffer.addParam(std::move(vParam));
250     }
251 
252     return CallCapture(angle::EntryPoint::GLColor3dv, std::move(paramBuffer));
253 }
254 
CaptureColor3f(const State & glState,bool isCallValid,GLfloat red,GLfloat green,GLfloat blue)255 CallCapture CaptureColor3f(const State &glState,
256                            bool isCallValid,
257                            GLfloat red,
258                            GLfloat green,
259                            GLfloat blue)
260 {
261     ParamBuffer paramBuffer;
262 
263     paramBuffer.addValueParam("red", ParamType::TGLfloat, red);
264     paramBuffer.addValueParam("green", ParamType::TGLfloat, green);
265     paramBuffer.addValueParam("blue", ParamType::TGLfloat, blue);
266 
267     return CallCapture(angle::EntryPoint::GLColor3f, std::move(paramBuffer));
268 }
269 
CaptureColor3fv(const State & glState,bool isCallValid,const GLfloat * v)270 CallCapture CaptureColor3fv(const State &glState, bool isCallValid, const GLfloat *v)
271 {
272     ParamBuffer paramBuffer;
273 
274     if (isCallValid)
275     {
276         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
277         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
278         CaptureColor3fv_v(glState, isCallValid, v, &vParam);
279         paramBuffer.addParam(std::move(vParam));
280     }
281     else
282     {
283         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
284         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
285                        &vParam.value);
286         paramBuffer.addParam(std::move(vParam));
287     }
288 
289     return CallCapture(angle::EntryPoint::GLColor3fv, std::move(paramBuffer));
290 }
291 
CaptureColor3i(const State & glState,bool isCallValid,GLint red,GLint green,GLint blue)292 CallCapture CaptureColor3i(const State &glState,
293                            bool isCallValid,
294                            GLint red,
295                            GLint green,
296                            GLint blue)
297 {
298     ParamBuffer paramBuffer;
299 
300     paramBuffer.addValueParam("red", ParamType::TGLint, red);
301     paramBuffer.addValueParam("green", ParamType::TGLint, green);
302     paramBuffer.addValueParam("blue", ParamType::TGLint, blue);
303 
304     return CallCapture(angle::EntryPoint::GLColor3i, std::move(paramBuffer));
305 }
306 
CaptureColor3iv(const State & glState,bool isCallValid,const GLint * v)307 CallCapture CaptureColor3iv(const State &glState, bool isCallValid, const GLint *v)
308 {
309     ParamBuffer paramBuffer;
310 
311     if (isCallValid)
312     {
313         ParamCapture vParam("v", ParamType::TGLintConstPointer);
314         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
315         CaptureColor3iv_v(glState, isCallValid, v, &vParam);
316         paramBuffer.addParam(std::move(vParam));
317     }
318     else
319     {
320         ParamCapture vParam("v", ParamType::TGLintConstPointer);
321         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
322                        &vParam.value);
323         paramBuffer.addParam(std::move(vParam));
324     }
325 
326     return CallCapture(angle::EntryPoint::GLColor3iv, std::move(paramBuffer));
327 }
328 
CaptureColor3s(const State & glState,bool isCallValid,GLshort red,GLshort green,GLshort blue)329 CallCapture CaptureColor3s(const State &glState,
330                            bool isCallValid,
331                            GLshort red,
332                            GLshort green,
333                            GLshort blue)
334 {
335     ParamBuffer paramBuffer;
336 
337     paramBuffer.addValueParam("red", ParamType::TGLshort, red);
338     paramBuffer.addValueParam("green", ParamType::TGLshort, green);
339     paramBuffer.addValueParam("blue", ParamType::TGLshort, blue);
340 
341     return CallCapture(angle::EntryPoint::GLColor3s, std::move(paramBuffer));
342 }
343 
CaptureColor3sv(const State & glState,bool isCallValid,const GLshort * v)344 CallCapture CaptureColor3sv(const State &glState, bool isCallValid, const GLshort *v)
345 {
346     ParamBuffer paramBuffer;
347 
348     if (isCallValid)
349     {
350         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
351         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
352         CaptureColor3sv_v(glState, isCallValid, v, &vParam);
353         paramBuffer.addParam(std::move(vParam));
354     }
355     else
356     {
357         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
358         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
359                        &vParam.value);
360         paramBuffer.addParam(std::move(vParam));
361     }
362 
363     return CallCapture(angle::EntryPoint::GLColor3sv, std::move(paramBuffer));
364 }
365 
CaptureColor3ub(const State & glState,bool isCallValid,GLubyte red,GLubyte green,GLubyte blue)366 CallCapture CaptureColor3ub(const State &glState,
367                             bool isCallValid,
368                             GLubyte red,
369                             GLubyte green,
370                             GLubyte blue)
371 {
372     ParamBuffer paramBuffer;
373 
374     paramBuffer.addValueParam("red", ParamType::TGLubyte, red);
375     paramBuffer.addValueParam("green", ParamType::TGLubyte, green);
376     paramBuffer.addValueParam("blue", ParamType::TGLubyte, blue);
377 
378     return CallCapture(angle::EntryPoint::GLColor3ub, std::move(paramBuffer));
379 }
380 
CaptureColor3ubv(const State & glState,bool isCallValid,const GLubyte * v)381 CallCapture CaptureColor3ubv(const State &glState, bool isCallValid, const GLubyte *v)
382 {
383     ParamBuffer paramBuffer;
384 
385     if (isCallValid)
386     {
387         ParamCapture vParam("v", ParamType::TGLubyteConstPointer);
388         InitParamValue(ParamType::TGLubyteConstPointer, v, &vParam.value);
389         CaptureColor3ubv_v(glState, isCallValid, v, &vParam);
390         paramBuffer.addParam(std::move(vParam));
391     }
392     else
393     {
394         ParamCapture vParam("v", ParamType::TGLubyteConstPointer);
395         InitParamValue(ParamType::TGLubyteConstPointer, static_cast<const GLubyte *>(nullptr),
396                        &vParam.value);
397         paramBuffer.addParam(std::move(vParam));
398     }
399 
400     return CallCapture(angle::EntryPoint::GLColor3ubv, std::move(paramBuffer));
401 }
402 
CaptureColor3ui(const State & glState,bool isCallValid,GLuint red,GLuint green,GLuint blue)403 CallCapture CaptureColor3ui(const State &glState,
404                             bool isCallValid,
405                             GLuint red,
406                             GLuint green,
407                             GLuint blue)
408 {
409     ParamBuffer paramBuffer;
410 
411     paramBuffer.addValueParam("red", ParamType::TGLuint, red);
412     paramBuffer.addValueParam("green", ParamType::TGLuint, green);
413     paramBuffer.addValueParam("blue", ParamType::TGLuint, blue);
414 
415     return CallCapture(angle::EntryPoint::GLColor3ui, std::move(paramBuffer));
416 }
417 
CaptureColor3uiv(const State & glState,bool isCallValid,const GLuint * v)418 CallCapture CaptureColor3uiv(const State &glState, bool isCallValid, const GLuint *v)
419 {
420     ParamBuffer paramBuffer;
421 
422     if (isCallValid)
423     {
424         ParamCapture vParam("v", ParamType::TGLuintConstPointer);
425         InitParamValue(ParamType::TGLuintConstPointer, v, &vParam.value);
426         CaptureColor3uiv_v(glState, isCallValid, v, &vParam);
427         paramBuffer.addParam(std::move(vParam));
428     }
429     else
430     {
431         ParamCapture vParam("v", ParamType::TGLuintConstPointer);
432         InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
433                        &vParam.value);
434         paramBuffer.addParam(std::move(vParam));
435     }
436 
437     return CallCapture(angle::EntryPoint::GLColor3uiv, std::move(paramBuffer));
438 }
439 
CaptureColor3us(const State & glState,bool isCallValid,GLushort red,GLushort green,GLushort blue)440 CallCapture CaptureColor3us(const State &glState,
441                             bool isCallValid,
442                             GLushort red,
443                             GLushort green,
444                             GLushort blue)
445 {
446     ParamBuffer paramBuffer;
447 
448     paramBuffer.addValueParam("red", ParamType::TGLushort, red);
449     paramBuffer.addValueParam("green", ParamType::TGLushort, green);
450     paramBuffer.addValueParam("blue", ParamType::TGLushort, blue);
451 
452     return CallCapture(angle::EntryPoint::GLColor3us, std::move(paramBuffer));
453 }
454 
CaptureColor3usv(const State & glState,bool isCallValid,const GLushort * v)455 CallCapture CaptureColor3usv(const State &glState, bool isCallValid, const GLushort *v)
456 {
457     ParamBuffer paramBuffer;
458 
459     if (isCallValid)
460     {
461         ParamCapture vParam("v", ParamType::TGLushortConstPointer);
462         InitParamValue(ParamType::TGLushortConstPointer, v, &vParam.value);
463         CaptureColor3usv_v(glState, isCallValid, v, &vParam);
464         paramBuffer.addParam(std::move(vParam));
465     }
466     else
467     {
468         ParamCapture vParam("v", ParamType::TGLushortConstPointer);
469         InitParamValue(ParamType::TGLushortConstPointer, static_cast<const GLushort *>(nullptr),
470                        &vParam.value);
471         paramBuffer.addParam(std::move(vParam));
472     }
473 
474     return CallCapture(angle::EntryPoint::GLColor3usv, std::move(paramBuffer));
475 }
476 
CaptureColor4b(const State & glState,bool isCallValid,GLbyte red,GLbyte green,GLbyte blue,GLbyte alpha)477 CallCapture CaptureColor4b(const State &glState,
478                            bool isCallValid,
479                            GLbyte red,
480                            GLbyte green,
481                            GLbyte blue,
482                            GLbyte alpha)
483 {
484     ParamBuffer paramBuffer;
485 
486     paramBuffer.addValueParam("red", ParamType::TGLbyte, red);
487     paramBuffer.addValueParam("green", ParamType::TGLbyte, green);
488     paramBuffer.addValueParam("blue", ParamType::TGLbyte, blue);
489     paramBuffer.addValueParam("alpha", ParamType::TGLbyte, alpha);
490 
491     return CallCapture(angle::EntryPoint::GLColor4b, std::move(paramBuffer));
492 }
493 
CaptureColor4bv(const State & glState,bool isCallValid,const GLbyte * v)494 CallCapture CaptureColor4bv(const State &glState, bool isCallValid, const GLbyte *v)
495 {
496     ParamBuffer paramBuffer;
497 
498     if (isCallValid)
499     {
500         ParamCapture vParam("v", ParamType::TGLbyteConstPointer);
501         InitParamValue(ParamType::TGLbyteConstPointer, v, &vParam.value);
502         CaptureColor4bv_v(glState, isCallValid, v, &vParam);
503         paramBuffer.addParam(std::move(vParam));
504     }
505     else
506     {
507         ParamCapture vParam("v", ParamType::TGLbyteConstPointer);
508         InitParamValue(ParamType::TGLbyteConstPointer, static_cast<const GLbyte *>(nullptr),
509                        &vParam.value);
510         paramBuffer.addParam(std::move(vParam));
511     }
512 
513     return CallCapture(angle::EntryPoint::GLColor4bv, std::move(paramBuffer));
514 }
515 
CaptureColor4d(const State & glState,bool isCallValid,GLdouble red,GLdouble green,GLdouble blue,GLdouble alpha)516 CallCapture CaptureColor4d(const State &glState,
517                            bool isCallValid,
518                            GLdouble red,
519                            GLdouble green,
520                            GLdouble blue,
521                            GLdouble alpha)
522 {
523     ParamBuffer paramBuffer;
524 
525     paramBuffer.addValueParam("red", ParamType::TGLdouble, red);
526     paramBuffer.addValueParam("green", ParamType::TGLdouble, green);
527     paramBuffer.addValueParam("blue", ParamType::TGLdouble, blue);
528     paramBuffer.addValueParam("alpha", ParamType::TGLdouble, alpha);
529 
530     return CallCapture(angle::EntryPoint::GLColor4d, std::move(paramBuffer));
531 }
532 
CaptureColor4dv(const State & glState,bool isCallValid,const GLdouble * v)533 CallCapture CaptureColor4dv(const State &glState, bool isCallValid, const GLdouble *v)
534 {
535     ParamBuffer paramBuffer;
536 
537     if (isCallValid)
538     {
539         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
540         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
541         CaptureColor4dv_v(glState, isCallValid, v, &vParam);
542         paramBuffer.addParam(std::move(vParam));
543     }
544     else
545     {
546         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
547         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
548                        &vParam.value);
549         paramBuffer.addParam(std::move(vParam));
550     }
551 
552     return CallCapture(angle::EntryPoint::GLColor4dv, std::move(paramBuffer));
553 }
554 
CaptureColor4fv(const State & glState,bool isCallValid,const GLfloat * v)555 CallCapture CaptureColor4fv(const State &glState, bool isCallValid, const GLfloat *v)
556 {
557     ParamBuffer paramBuffer;
558 
559     if (isCallValid)
560     {
561         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
562         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
563         CaptureColor4fv_v(glState, isCallValid, v, &vParam);
564         paramBuffer.addParam(std::move(vParam));
565     }
566     else
567     {
568         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
569         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
570                        &vParam.value);
571         paramBuffer.addParam(std::move(vParam));
572     }
573 
574     return CallCapture(angle::EntryPoint::GLColor4fv, std::move(paramBuffer));
575 }
576 
CaptureColor4i(const State & glState,bool isCallValid,GLint red,GLint green,GLint blue,GLint alpha)577 CallCapture CaptureColor4i(const State &glState,
578                            bool isCallValid,
579                            GLint red,
580                            GLint green,
581                            GLint blue,
582                            GLint alpha)
583 {
584     ParamBuffer paramBuffer;
585 
586     paramBuffer.addValueParam("red", ParamType::TGLint, red);
587     paramBuffer.addValueParam("green", ParamType::TGLint, green);
588     paramBuffer.addValueParam("blue", ParamType::TGLint, blue);
589     paramBuffer.addValueParam("alpha", ParamType::TGLint, alpha);
590 
591     return CallCapture(angle::EntryPoint::GLColor4i, std::move(paramBuffer));
592 }
593 
CaptureColor4iv(const State & glState,bool isCallValid,const GLint * v)594 CallCapture CaptureColor4iv(const State &glState, bool isCallValid, const GLint *v)
595 {
596     ParamBuffer paramBuffer;
597 
598     if (isCallValid)
599     {
600         ParamCapture vParam("v", ParamType::TGLintConstPointer);
601         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
602         CaptureColor4iv_v(glState, isCallValid, v, &vParam);
603         paramBuffer.addParam(std::move(vParam));
604     }
605     else
606     {
607         ParamCapture vParam("v", ParamType::TGLintConstPointer);
608         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
609                        &vParam.value);
610         paramBuffer.addParam(std::move(vParam));
611     }
612 
613     return CallCapture(angle::EntryPoint::GLColor4iv, std::move(paramBuffer));
614 }
615 
CaptureColor4s(const State & glState,bool isCallValid,GLshort red,GLshort green,GLshort blue,GLshort alpha)616 CallCapture CaptureColor4s(const State &glState,
617                            bool isCallValid,
618                            GLshort red,
619                            GLshort green,
620                            GLshort blue,
621                            GLshort alpha)
622 {
623     ParamBuffer paramBuffer;
624 
625     paramBuffer.addValueParam("red", ParamType::TGLshort, red);
626     paramBuffer.addValueParam("green", ParamType::TGLshort, green);
627     paramBuffer.addValueParam("blue", ParamType::TGLshort, blue);
628     paramBuffer.addValueParam("alpha", ParamType::TGLshort, alpha);
629 
630     return CallCapture(angle::EntryPoint::GLColor4s, std::move(paramBuffer));
631 }
632 
CaptureColor4sv(const State & glState,bool isCallValid,const GLshort * v)633 CallCapture CaptureColor4sv(const State &glState, bool isCallValid, const GLshort *v)
634 {
635     ParamBuffer paramBuffer;
636 
637     if (isCallValid)
638     {
639         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
640         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
641         CaptureColor4sv_v(glState, isCallValid, v, &vParam);
642         paramBuffer.addParam(std::move(vParam));
643     }
644     else
645     {
646         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
647         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
648                        &vParam.value);
649         paramBuffer.addParam(std::move(vParam));
650     }
651 
652     return CallCapture(angle::EntryPoint::GLColor4sv, std::move(paramBuffer));
653 }
654 
CaptureColor4ubv(const State & glState,bool isCallValid,const GLubyte * v)655 CallCapture CaptureColor4ubv(const State &glState, bool isCallValid, const GLubyte *v)
656 {
657     ParamBuffer paramBuffer;
658 
659     if (isCallValid)
660     {
661         ParamCapture vParam("v", ParamType::TGLubyteConstPointer);
662         InitParamValue(ParamType::TGLubyteConstPointer, v, &vParam.value);
663         CaptureColor4ubv_v(glState, isCallValid, v, &vParam);
664         paramBuffer.addParam(std::move(vParam));
665     }
666     else
667     {
668         ParamCapture vParam("v", ParamType::TGLubyteConstPointer);
669         InitParamValue(ParamType::TGLubyteConstPointer, static_cast<const GLubyte *>(nullptr),
670                        &vParam.value);
671         paramBuffer.addParam(std::move(vParam));
672     }
673 
674     return CallCapture(angle::EntryPoint::GLColor4ubv, std::move(paramBuffer));
675 }
676 
CaptureColor4ui(const State & glState,bool isCallValid,GLuint red,GLuint green,GLuint blue,GLuint alpha)677 CallCapture CaptureColor4ui(const State &glState,
678                             bool isCallValid,
679                             GLuint red,
680                             GLuint green,
681                             GLuint blue,
682                             GLuint alpha)
683 {
684     ParamBuffer paramBuffer;
685 
686     paramBuffer.addValueParam("red", ParamType::TGLuint, red);
687     paramBuffer.addValueParam("green", ParamType::TGLuint, green);
688     paramBuffer.addValueParam("blue", ParamType::TGLuint, blue);
689     paramBuffer.addValueParam("alpha", ParamType::TGLuint, alpha);
690 
691     return CallCapture(angle::EntryPoint::GLColor4ui, std::move(paramBuffer));
692 }
693 
CaptureColor4uiv(const State & glState,bool isCallValid,const GLuint * v)694 CallCapture CaptureColor4uiv(const State &glState, bool isCallValid, const GLuint *v)
695 {
696     ParamBuffer paramBuffer;
697 
698     if (isCallValid)
699     {
700         ParamCapture vParam("v", ParamType::TGLuintConstPointer);
701         InitParamValue(ParamType::TGLuintConstPointer, v, &vParam.value);
702         CaptureColor4uiv_v(glState, isCallValid, v, &vParam);
703         paramBuffer.addParam(std::move(vParam));
704     }
705     else
706     {
707         ParamCapture vParam("v", ParamType::TGLuintConstPointer);
708         InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
709                        &vParam.value);
710         paramBuffer.addParam(std::move(vParam));
711     }
712 
713     return CallCapture(angle::EntryPoint::GLColor4uiv, std::move(paramBuffer));
714 }
715 
CaptureColor4us(const State & glState,bool isCallValid,GLushort red,GLushort green,GLushort blue,GLushort alpha)716 CallCapture CaptureColor4us(const State &glState,
717                             bool isCallValid,
718                             GLushort red,
719                             GLushort green,
720                             GLushort blue,
721                             GLushort alpha)
722 {
723     ParamBuffer paramBuffer;
724 
725     paramBuffer.addValueParam("red", ParamType::TGLushort, red);
726     paramBuffer.addValueParam("green", ParamType::TGLushort, green);
727     paramBuffer.addValueParam("blue", ParamType::TGLushort, blue);
728     paramBuffer.addValueParam("alpha", ParamType::TGLushort, alpha);
729 
730     return CallCapture(angle::EntryPoint::GLColor4us, std::move(paramBuffer));
731 }
732 
CaptureColor4usv(const State & glState,bool isCallValid,const GLushort * v)733 CallCapture CaptureColor4usv(const State &glState, bool isCallValid, const GLushort *v)
734 {
735     ParamBuffer paramBuffer;
736 
737     if (isCallValid)
738     {
739         ParamCapture vParam("v", ParamType::TGLushortConstPointer);
740         InitParamValue(ParamType::TGLushortConstPointer, v, &vParam.value);
741         CaptureColor4usv_v(glState, isCallValid, v, &vParam);
742         paramBuffer.addParam(std::move(vParam));
743     }
744     else
745     {
746         ParamCapture vParam("v", ParamType::TGLushortConstPointer);
747         InitParamValue(ParamType::TGLushortConstPointer, static_cast<const GLushort *>(nullptr),
748                        &vParam.value);
749         paramBuffer.addParam(std::move(vParam));
750     }
751 
752     return CallCapture(angle::EntryPoint::GLColor4usv, std::move(paramBuffer));
753 }
754 
CaptureColorMaterial(const State & glState,bool isCallValid,GLenum face,GLenum mode)755 CallCapture CaptureColorMaterial(const State &glState, bool isCallValid, GLenum face, GLenum mode)
756 {
757     ParamBuffer paramBuffer;
758 
759     paramBuffer.addEnumParam("face", BigGLEnum::TriangleFace, ParamType::TGLenum, face);
760     paramBuffer.addEnumParam("mode", BigGLEnum::ColorMaterialParameter, ParamType::TGLenum, mode);
761 
762     return CallCapture(angle::EntryPoint::GLColorMaterial, std::move(paramBuffer));
763 }
764 
CaptureCopyPixels(const State & glState,bool isCallValid,GLint x,GLint y,GLsizei width,GLsizei height,GLenum type)765 CallCapture CaptureCopyPixels(const State &glState,
766                               bool isCallValid,
767                               GLint x,
768                               GLint y,
769                               GLsizei width,
770                               GLsizei height,
771                               GLenum type)
772 {
773     ParamBuffer paramBuffer;
774 
775     paramBuffer.addValueParam("x", ParamType::TGLint, x);
776     paramBuffer.addValueParam("y", ParamType::TGLint, y);
777     paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
778     paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
779     paramBuffer.addEnumParam("type", BigGLEnum::PixelCopyType, ParamType::TGLenum, type);
780 
781     return CallCapture(angle::EntryPoint::GLCopyPixels, std::move(paramBuffer));
782 }
783 
CaptureDeleteLists(const State & glState,bool isCallValid,GLuint list,GLsizei range)784 CallCapture CaptureDeleteLists(const State &glState, bool isCallValid, GLuint list, GLsizei range)
785 {
786     ParamBuffer paramBuffer;
787 
788     paramBuffer.addValueParam("list", ParamType::TGLuint, list);
789     paramBuffer.addValueParam("range", ParamType::TGLsizei, range);
790 
791     return CallCapture(angle::EntryPoint::GLDeleteLists, std::move(paramBuffer));
792 }
793 
CaptureDepthRange(const State & glState,bool isCallValid,GLdouble n,GLdouble f)794 CallCapture CaptureDepthRange(const State &glState, bool isCallValid, GLdouble n, GLdouble f)
795 {
796     ParamBuffer paramBuffer;
797 
798     paramBuffer.addValueParam("n", ParamType::TGLdouble, n);
799     paramBuffer.addValueParam("f", ParamType::TGLdouble, f);
800 
801     return CallCapture(angle::EntryPoint::GLDepthRange, std::move(paramBuffer));
802 }
803 
CaptureDrawBuffer(const State & glState,bool isCallValid,GLenum buf)804 CallCapture CaptureDrawBuffer(const State &glState, bool isCallValid, GLenum buf)
805 {
806     ParamBuffer paramBuffer;
807 
808     paramBuffer.addEnumParam("buf", BigGLEnum::DrawBufferMode, ParamType::TGLenum, buf);
809 
810     return CallCapture(angle::EntryPoint::GLDrawBuffer, std::move(paramBuffer));
811 }
812 
CaptureDrawPixels(const State & glState,bool isCallValid,GLsizei width,GLsizei height,GLenum format,GLenum type,const void * pixels)813 CallCapture CaptureDrawPixels(const State &glState,
814                               bool isCallValid,
815                               GLsizei width,
816                               GLsizei height,
817                               GLenum format,
818                               GLenum type,
819                               const void *pixels)
820 {
821     ParamBuffer paramBuffer;
822 
823     paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
824     paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
825     paramBuffer.addEnumParam("format", BigGLEnum::PixelFormat, ParamType::TGLenum, format);
826     paramBuffer.addEnumParam("type", BigGLEnum::PixelType, ParamType::TGLenum, type);
827 
828     if (isCallValid)
829     {
830         ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
831         InitParamValue(ParamType::TvoidConstPointer, pixels, &pixelsParam.value);
832         CaptureDrawPixels_pixels(glState, isCallValid, width, height, format, type, pixels,
833                                  &pixelsParam);
834         paramBuffer.addParam(std::move(pixelsParam));
835     }
836     else
837     {
838         ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
839         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
840                        &pixelsParam.value);
841         paramBuffer.addParam(std::move(pixelsParam));
842     }
843 
844     return CallCapture(angle::EntryPoint::GLDrawPixels, std::move(paramBuffer));
845 }
846 
CaptureEdgeFlag(const State & glState,bool isCallValid,GLboolean flag)847 CallCapture CaptureEdgeFlag(const State &glState, bool isCallValid, GLboolean flag)
848 {
849     ParamBuffer paramBuffer;
850 
851     paramBuffer.addValueParam("flag", ParamType::TGLboolean, flag);
852 
853     return CallCapture(angle::EntryPoint::GLEdgeFlag, std::move(paramBuffer));
854 }
855 
CaptureEdgeFlagv(const State & glState,bool isCallValid,const GLboolean * flag)856 CallCapture CaptureEdgeFlagv(const State &glState, bool isCallValid, const GLboolean *flag)
857 {
858     ParamBuffer paramBuffer;
859 
860     if (isCallValid)
861     {
862         ParamCapture flagParam("flag", ParamType::TGLbooleanConstPointer);
863         InitParamValue(ParamType::TGLbooleanConstPointer, flag, &flagParam.value);
864         CaptureEdgeFlagv_flag(glState, isCallValid, flag, &flagParam);
865         paramBuffer.addParam(std::move(flagParam));
866     }
867     else
868     {
869         ParamCapture flagParam("flag", ParamType::TGLbooleanConstPointer);
870         InitParamValue(ParamType::TGLbooleanConstPointer, static_cast<const GLboolean *>(nullptr),
871                        &flagParam.value);
872         paramBuffer.addParam(std::move(flagParam));
873     }
874 
875     return CallCapture(angle::EntryPoint::GLEdgeFlagv, std::move(paramBuffer));
876 }
877 
CaptureEnd(const State & glState,bool isCallValid)878 CallCapture CaptureEnd(const State &glState, bool isCallValid)
879 {
880     ParamBuffer paramBuffer;
881 
882     return CallCapture(angle::EntryPoint::GLEnd, std::move(paramBuffer));
883 }
884 
CaptureEndList(const State & glState,bool isCallValid)885 CallCapture CaptureEndList(const State &glState, bool isCallValid)
886 {
887     ParamBuffer paramBuffer;
888 
889     return CallCapture(angle::EntryPoint::GLEndList, std::move(paramBuffer));
890 }
891 
CaptureEvalCoord1d(const State & glState,bool isCallValid,GLdouble u)892 CallCapture CaptureEvalCoord1d(const State &glState, bool isCallValid, GLdouble u)
893 {
894     ParamBuffer paramBuffer;
895 
896     paramBuffer.addValueParam("u", ParamType::TGLdouble, u);
897 
898     return CallCapture(angle::EntryPoint::GLEvalCoord1d, std::move(paramBuffer));
899 }
900 
CaptureEvalCoord1dv(const State & glState,bool isCallValid,const GLdouble * u)901 CallCapture CaptureEvalCoord1dv(const State &glState, bool isCallValid, const GLdouble *u)
902 {
903     ParamBuffer paramBuffer;
904 
905     if (isCallValid)
906     {
907         ParamCapture uParam("u", ParamType::TGLdoubleConstPointer);
908         InitParamValue(ParamType::TGLdoubleConstPointer, u, &uParam.value);
909         CaptureEvalCoord1dv_u(glState, isCallValid, u, &uParam);
910         paramBuffer.addParam(std::move(uParam));
911     }
912     else
913     {
914         ParamCapture uParam("u", ParamType::TGLdoubleConstPointer);
915         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
916                        &uParam.value);
917         paramBuffer.addParam(std::move(uParam));
918     }
919 
920     return CallCapture(angle::EntryPoint::GLEvalCoord1dv, std::move(paramBuffer));
921 }
922 
CaptureEvalCoord1f(const State & glState,bool isCallValid,GLfloat u)923 CallCapture CaptureEvalCoord1f(const State &glState, bool isCallValid, GLfloat u)
924 {
925     ParamBuffer paramBuffer;
926 
927     paramBuffer.addValueParam("u", ParamType::TGLfloat, u);
928 
929     return CallCapture(angle::EntryPoint::GLEvalCoord1f, std::move(paramBuffer));
930 }
931 
CaptureEvalCoord1fv(const State & glState,bool isCallValid,const GLfloat * u)932 CallCapture CaptureEvalCoord1fv(const State &glState, bool isCallValid, const GLfloat *u)
933 {
934     ParamBuffer paramBuffer;
935 
936     if (isCallValid)
937     {
938         ParamCapture uParam("u", ParamType::TGLfloatConstPointer);
939         InitParamValue(ParamType::TGLfloatConstPointer, u, &uParam.value);
940         CaptureEvalCoord1fv_u(glState, isCallValid, u, &uParam);
941         paramBuffer.addParam(std::move(uParam));
942     }
943     else
944     {
945         ParamCapture uParam("u", ParamType::TGLfloatConstPointer);
946         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
947                        &uParam.value);
948         paramBuffer.addParam(std::move(uParam));
949     }
950 
951     return CallCapture(angle::EntryPoint::GLEvalCoord1fv, std::move(paramBuffer));
952 }
953 
CaptureEvalCoord2d(const State & glState,bool isCallValid,GLdouble u,GLdouble v)954 CallCapture CaptureEvalCoord2d(const State &glState, bool isCallValid, GLdouble u, GLdouble v)
955 {
956     ParamBuffer paramBuffer;
957 
958     paramBuffer.addValueParam("u", ParamType::TGLdouble, u);
959     paramBuffer.addValueParam("v", ParamType::TGLdouble, v);
960 
961     return CallCapture(angle::EntryPoint::GLEvalCoord2d, std::move(paramBuffer));
962 }
963 
CaptureEvalCoord2dv(const State & glState,bool isCallValid,const GLdouble * u)964 CallCapture CaptureEvalCoord2dv(const State &glState, bool isCallValid, const GLdouble *u)
965 {
966     ParamBuffer paramBuffer;
967 
968     if (isCallValid)
969     {
970         ParamCapture uParam("u", ParamType::TGLdoubleConstPointer);
971         InitParamValue(ParamType::TGLdoubleConstPointer, u, &uParam.value);
972         CaptureEvalCoord2dv_u(glState, isCallValid, u, &uParam);
973         paramBuffer.addParam(std::move(uParam));
974     }
975     else
976     {
977         ParamCapture uParam("u", ParamType::TGLdoubleConstPointer);
978         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
979                        &uParam.value);
980         paramBuffer.addParam(std::move(uParam));
981     }
982 
983     return CallCapture(angle::EntryPoint::GLEvalCoord2dv, std::move(paramBuffer));
984 }
985 
CaptureEvalCoord2f(const State & glState,bool isCallValid,GLfloat u,GLfloat v)986 CallCapture CaptureEvalCoord2f(const State &glState, bool isCallValid, GLfloat u, GLfloat v)
987 {
988     ParamBuffer paramBuffer;
989 
990     paramBuffer.addValueParam("u", ParamType::TGLfloat, u);
991     paramBuffer.addValueParam("v", ParamType::TGLfloat, v);
992 
993     return CallCapture(angle::EntryPoint::GLEvalCoord2f, std::move(paramBuffer));
994 }
995 
CaptureEvalCoord2fv(const State & glState,bool isCallValid,const GLfloat * u)996 CallCapture CaptureEvalCoord2fv(const State &glState, bool isCallValid, const GLfloat *u)
997 {
998     ParamBuffer paramBuffer;
999 
1000     if (isCallValid)
1001     {
1002         ParamCapture uParam("u", ParamType::TGLfloatConstPointer);
1003         InitParamValue(ParamType::TGLfloatConstPointer, u, &uParam.value);
1004         CaptureEvalCoord2fv_u(glState, isCallValid, u, &uParam);
1005         paramBuffer.addParam(std::move(uParam));
1006     }
1007     else
1008     {
1009         ParamCapture uParam("u", ParamType::TGLfloatConstPointer);
1010         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
1011                        &uParam.value);
1012         paramBuffer.addParam(std::move(uParam));
1013     }
1014 
1015     return CallCapture(angle::EntryPoint::GLEvalCoord2fv, std::move(paramBuffer));
1016 }
1017 
CaptureEvalMesh1(const State & glState,bool isCallValid,GLenum mode,GLint i1,GLint i2)1018 CallCapture CaptureEvalMesh1(const State &glState,
1019                              bool isCallValid,
1020                              GLenum mode,
1021                              GLint i1,
1022                              GLint i2)
1023 {
1024     ParamBuffer paramBuffer;
1025 
1026     paramBuffer.addEnumParam("mode", BigGLEnum::MeshMode1, ParamType::TGLenum, mode);
1027     paramBuffer.addValueParam("i1", ParamType::TGLint, i1);
1028     paramBuffer.addValueParam("i2", ParamType::TGLint, i2);
1029 
1030     return CallCapture(angle::EntryPoint::GLEvalMesh1, std::move(paramBuffer));
1031 }
1032 
CaptureEvalMesh2(const State & glState,bool isCallValid,GLenum mode,GLint i1,GLint i2,GLint j1,GLint j2)1033 CallCapture CaptureEvalMesh2(const State &glState,
1034                              bool isCallValid,
1035                              GLenum mode,
1036                              GLint i1,
1037                              GLint i2,
1038                              GLint j1,
1039                              GLint j2)
1040 {
1041     ParamBuffer paramBuffer;
1042 
1043     paramBuffer.addEnumParam("mode", BigGLEnum::MeshMode2, ParamType::TGLenum, mode);
1044     paramBuffer.addValueParam("i1", ParamType::TGLint, i1);
1045     paramBuffer.addValueParam("i2", ParamType::TGLint, i2);
1046     paramBuffer.addValueParam("j1", ParamType::TGLint, j1);
1047     paramBuffer.addValueParam("j2", ParamType::TGLint, j2);
1048 
1049     return CallCapture(angle::EntryPoint::GLEvalMesh2, std::move(paramBuffer));
1050 }
1051 
CaptureEvalPoint1(const State & glState,bool isCallValid,GLint i)1052 CallCapture CaptureEvalPoint1(const State &glState, bool isCallValid, GLint i)
1053 {
1054     ParamBuffer paramBuffer;
1055 
1056     paramBuffer.addValueParam("i", ParamType::TGLint, i);
1057 
1058     return CallCapture(angle::EntryPoint::GLEvalPoint1, std::move(paramBuffer));
1059 }
1060 
CaptureEvalPoint2(const State & glState,bool isCallValid,GLint i,GLint j)1061 CallCapture CaptureEvalPoint2(const State &glState, bool isCallValid, GLint i, GLint j)
1062 {
1063     ParamBuffer paramBuffer;
1064 
1065     paramBuffer.addValueParam("i", ParamType::TGLint, i);
1066     paramBuffer.addValueParam("j", ParamType::TGLint, j);
1067 
1068     return CallCapture(angle::EntryPoint::GLEvalPoint2, std::move(paramBuffer));
1069 }
1070 
CaptureFeedbackBuffer(const State & glState,bool isCallValid,GLsizei size,GLenum type,GLfloat * buffer)1071 CallCapture CaptureFeedbackBuffer(const State &glState,
1072                                   bool isCallValid,
1073                                   GLsizei size,
1074                                   GLenum type,
1075                                   GLfloat *buffer)
1076 {
1077     ParamBuffer paramBuffer;
1078 
1079     paramBuffer.addValueParam("size", ParamType::TGLsizei, size);
1080     paramBuffer.addEnumParam("type", BigGLEnum::FeedbackType, ParamType::TGLenum, type);
1081 
1082     if (isCallValid)
1083     {
1084         ParamCapture bufferParam("buffer", ParamType::TGLfloatPointer);
1085         InitParamValue(ParamType::TGLfloatPointer, buffer, &bufferParam.value);
1086         CaptureFeedbackBuffer_buffer(glState, isCallValid, size, type, buffer, &bufferParam);
1087         paramBuffer.addParam(std::move(bufferParam));
1088     }
1089     else
1090     {
1091         ParamCapture bufferParam("buffer", ParamType::TGLfloatPointer);
1092         InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
1093                        &bufferParam.value);
1094         paramBuffer.addParam(std::move(bufferParam));
1095     }
1096 
1097     return CallCapture(angle::EntryPoint::GLFeedbackBuffer, std::move(paramBuffer));
1098 }
1099 
CaptureFogi(const State & glState,bool isCallValid,GLenum pname,GLint param)1100 CallCapture CaptureFogi(const State &glState, bool isCallValid, GLenum pname, GLint param)
1101 {
1102     ParamBuffer paramBuffer;
1103 
1104     paramBuffer.addEnumParam("pname", BigGLEnum::FogParameter, ParamType::TGLenum, pname);
1105     paramBuffer.addValueParam("param", ParamType::TGLint, param);
1106 
1107     return CallCapture(angle::EntryPoint::GLFogi, std::move(paramBuffer));
1108 }
1109 
CaptureFogiv(const State & glState,bool isCallValid,GLenum pname,const GLint * params)1110 CallCapture CaptureFogiv(const State &glState, bool isCallValid, GLenum pname, const GLint *params)
1111 {
1112     ParamBuffer paramBuffer;
1113 
1114     paramBuffer.addEnumParam("pname", BigGLEnum::FogParameter, ParamType::TGLenum, pname);
1115 
1116     if (isCallValid)
1117     {
1118         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
1119         InitParamValue(ParamType::TGLintConstPointer, params, &paramsParam.value);
1120         CaptureFogiv_params(glState, isCallValid, pname, params, &paramsParam);
1121         paramBuffer.addParam(std::move(paramsParam));
1122     }
1123     else
1124     {
1125         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
1126         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
1127                        &paramsParam.value);
1128         paramBuffer.addParam(std::move(paramsParam));
1129     }
1130 
1131     return CallCapture(angle::EntryPoint::GLFogiv, std::move(paramBuffer));
1132 }
1133 
CaptureFrustum(const State & glState,bool isCallValid,GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble zNear,GLdouble zFar)1134 CallCapture CaptureFrustum(const State &glState,
1135                            bool isCallValid,
1136                            GLdouble left,
1137                            GLdouble right,
1138                            GLdouble bottom,
1139                            GLdouble top,
1140                            GLdouble zNear,
1141                            GLdouble zFar)
1142 {
1143     ParamBuffer paramBuffer;
1144 
1145     paramBuffer.addValueParam("left", ParamType::TGLdouble, left);
1146     paramBuffer.addValueParam("right", ParamType::TGLdouble, right);
1147     paramBuffer.addValueParam("bottom", ParamType::TGLdouble, bottom);
1148     paramBuffer.addValueParam("top", ParamType::TGLdouble, top);
1149     paramBuffer.addValueParam("zNear", ParamType::TGLdouble, zNear);
1150     paramBuffer.addValueParam("zFar", ParamType::TGLdouble, zFar);
1151 
1152     return CallCapture(angle::EntryPoint::GLFrustum, std::move(paramBuffer));
1153 }
1154 
CaptureGenLists(const State & glState,bool isCallValid,GLsizei range,GLuint returnValue)1155 CallCapture CaptureGenLists(const State &glState,
1156                             bool isCallValid,
1157                             GLsizei range,
1158                             GLuint returnValue)
1159 {
1160     ParamBuffer paramBuffer;
1161 
1162     paramBuffer.addValueParam("range", ParamType::TGLsizei, range);
1163 
1164     ParamCapture returnValueCapture("returnValue", ParamType::TGLuint);
1165     InitParamValue(ParamType::TGLuint, returnValue, &returnValueCapture.value);
1166     paramBuffer.addReturnValue(std::move(returnValueCapture));
1167 
1168     return CallCapture(angle::EntryPoint::GLGenLists, std::move(paramBuffer));
1169 }
1170 
CaptureGetClipPlane(const State & glState,bool isCallValid,GLenum plane,GLdouble * equation)1171 CallCapture CaptureGetClipPlane(const State &glState,
1172                                 bool isCallValid,
1173                                 GLenum plane,
1174                                 GLdouble *equation)
1175 {
1176     ParamBuffer paramBuffer;
1177 
1178     paramBuffer.addEnumParam("plane", BigGLEnum::ClipPlaneName, ParamType::TGLenum, plane);
1179 
1180     if (isCallValid)
1181     {
1182         ParamCapture equationParam("equation", ParamType::TGLdoublePointer);
1183         InitParamValue(ParamType::TGLdoublePointer, equation, &equationParam.value);
1184         CaptureGetClipPlane_equation(glState, isCallValid, plane, equation, &equationParam);
1185         paramBuffer.addParam(std::move(equationParam));
1186     }
1187     else
1188     {
1189         ParamCapture equationParam("equation", ParamType::TGLdoublePointer);
1190         InitParamValue(ParamType::TGLdoublePointer, static_cast<GLdouble *>(nullptr),
1191                        &equationParam.value);
1192         paramBuffer.addParam(std::move(equationParam));
1193     }
1194 
1195     return CallCapture(angle::EntryPoint::GLGetClipPlane, std::move(paramBuffer));
1196 }
1197 
CaptureGetDoublev(const State & glState,bool isCallValid,GLenum pname,GLdouble * data)1198 CallCapture CaptureGetDoublev(const State &glState, bool isCallValid, GLenum pname, GLdouble *data)
1199 {
1200     ParamBuffer paramBuffer;
1201 
1202     paramBuffer.addEnumParam("pname", BigGLEnum::GetPName, ParamType::TGLenum, pname);
1203 
1204     if (isCallValid)
1205     {
1206         ParamCapture dataParam("data", ParamType::TGLdoublePointer);
1207         InitParamValue(ParamType::TGLdoublePointer, data, &dataParam.value);
1208         CaptureGetDoublev_data(glState, isCallValid, pname, data, &dataParam);
1209         paramBuffer.addParam(std::move(dataParam));
1210     }
1211     else
1212     {
1213         ParamCapture dataParam("data", ParamType::TGLdoublePointer);
1214         InitParamValue(ParamType::TGLdoublePointer, static_cast<GLdouble *>(nullptr),
1215                        &dataParam.value);
1216         paramBuffer.addParam(std::move(dataParam));
1217     }
1218 
1219     return CallCapture(angle::EntryPoint::GLGetDoublev, std::move(paramBuffer));
1220 }
1221 
CaptureGetLightiv(const State & glState,bool isCallValid,GLenum light,GLenum pname,GLint * params)1222 CallCapture CaptureGetLightiv(const State &glState,
1223                               bool isCallValid,
1224                               GLenum light,
1225                               GLenum pname,
1226                               GLint *params)
1227 {
1228     ParamBuffer paramBuffer;
1229 
1230     paramBuffer.addEnumParam("light", BigGLEnum::LightName, ParamType::TGLenum, light);
1231     paramBuffer.addEnumParam("pname", BigGLEnum::LightParameter, ParamType::TGLenum, pname);
1232 
1233     if (isCallValid)
1234     {
1235         ParamCapture paramsParam("params", ParamType::TGLintPointer);
1236         InitParamValue(ParamType::TGLintPointer, params, &paramsParam.value);
1237         CaptureGetLightiv_params(glState, isCallValid, light, pname, params, &paramsParam);
1238         paramBuffer.addParam(std::move(paramsParam));
1239     }
1240     else
1241     {
1242         ParamCapture paramsParam("params", ParamType::TGLintPointer);
1243         InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), &paramsParam.value);
1244         paramBuffer.addParam(std::move(paramsParam));
1245     }
1246 
1247     return CallCapture(angle::EntryPoint::GLGetLightiv, std::move(paramBuffer));
1248 }
1249 
CaptureGetMapdv(const State & glState,bool isCallValid,GLenum target,GLenum query,GLdouble * v)1250 CallCapture CaptureGetMapdv(const State &glState,
1251                             bool isCallValid,
1252                             GLenum target,
1253                             GLenum query,
1254                             GLdouble *v)
1255 {
1256     ParamBuffer paramBuffer;
1257 
1258     paramBuffer.addEnumParam("target", BigGLEnum::MapTarget, ParamType::TGLenum, target);
1259     paramBuffer.addEnumParam("query", BigGLEnum::GetMapQuery, ParamType::TGLenum, query);
1260 
1261     if (isCallValid)
1262     {
1263         ParamCapture vParam("v", ParamType::TGLdoublePointer);
1264         InitParamValue(ParamType::TGLdoublePointer, v, &vParam.value);
1265         CaptureGetMapdv_v(glState, isCallValid, target, query, v, &vParam);
1266         paramBuffer.addParam(std::move(vParam));
1267     }
1268     else
1269     {
1270         ParamCapture vParam("v", ParamType::TGLdoublePointer);
1271         InitParamValue(ParamType::TGLdoublePointer, static_cast<GLdouble *>(nullptr),
1272                        &vParam.value);
1273         paramBuffer.addParam(std::move(vParam));
1274     }
1275 
1276     return CallCapture(angle::EntryPoint::GLGetMapdv, std::move(paramBuffer));
1277 }
1278 
CaptureGetMapfv(const State & glState,bool isCallValid,GLenum target,GLenum query,GLfloat * v)1279 CallCapture CaptureGetMapfv(const State &glState,
1280                             bool isCallValid,
1281                             GLenum target,
1282                             GLenum query,
1283                             GLfloat *v)
1284 {
1285     ParamBuffer paramBuffer;
1286 
1287     paramBuffer.addEnumParam("target", BigGLEnum::MapTarget, ParamType::TGLenum, target);
1288     paramBuffer.addEnumParam("query", BigGLEnum::GetMapQuery, ParamType::TGLenum, query);
1289 
1290     if (isCallValid)
1291     {
1292         ParamCapture vParam("v", ParamType::TGLfloatPointer);
1293         InitParamValue(ParamType::TGLfloatPointer, v, &vParam.value);
1294         CaptureGetMapfv_v(glState, isCallValid, target, query, v, &vParam);
1295         paramBuffer.addParam(std::move(vParam));
1296     }
1297     else
1298     {
1299         ParamCapture vParam("v", ParamType::TGLfloatPointer);
1300         InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr), &vParam.value);
1301         paramBuffer.addParam(std::move(vParam));
1302     }
1303 
1304     return CallCapture(angle::EntryPoint::GLGetMapfv, std::move(paramBuffer));
1305 }
1306 
CaptureGetMapiv(const State & glState,bool isCallValid,GLenum target,GLenum query,GLint * v)1307 CallCapture CaptureGetMapiv(const State &glState,
1308                             bool isCallValid,
1309                             GLenum target,
1310                             GLenum query,
1311                             GLint *v)
1312 {
1313     ParamBuffer paramBuffer;
1314 
1315     paramBuffer.addEnumParam("target", BigGLEnum::MapTarget, ParamType::TGLenum, target);
1316     paramBuffer.addEnumParam("query", BigGLEnum::GetMapQuery, ParamType::TGLenum, query);
1317 
1318     if (isCallValid)
1319     {
1320         ParamCapture vParam("v", ParamType::TGLintPointer);
1321         InitParamValue(ParamType::TGLintPointer, v, &vParam.value);
1322         CaptureGetMapiv_v(glState, isCallValid, target, query, v, &vParam);
1323         paramBuffer.addParam(std::move(vParam));
1324     }
1325     else
1326     {
1327         ParamCapture vParam("v", ParamType::TGLintPointer);
1328         InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), &vParam.value);
1329         paramBuffer.addParam(std::move(vParam));
1330     }
1331 
1332     return CallCapture(angle::EntryPoint::GLGetMapiv, std::move(paramBuffer));
1333 }
1334 
CaptureGetMaterialiv(const State & glState,bool isCallValid,GLenum face,GLenum pname,GLint * params)1335 CallCapture CaptureGetMaterialiv(const State &glState,
1336                                  bool isCallValid,
1337                                  GLenum face,
1338                                  GLenum pname,
1339                                  GLint *params)
1340 {
1341     ParamBuffer paramBuffer;
1342 
1343     paramBuffer.addEnumParam("face", BigGLEnum::TriangleFace, ParamType::TGLenum, face);
1344     paramBuffer.addEnumParam("pname", BigGLEnum::MaterialParameter, ParamType::TGLenum, pname);
1345 
1346     if (isCallValid)
1347     {
1348         ParamCapture paramsParam("params", ParamType::TGLintPointer);
1349         InitParamValue(ParamType::TGLintPointer, params, &paramsParam.value);
1350         CaptureGetMaterialiv_params(glState, isCallValid, face, pname, params, &paramsParam);
1351         paramBuffer.addParam(std::move(paramsParam));
1352     }
1353     else
1354     {
1355         ParamCapture paramsParam("params", ParamType::TGLintPointer);
1356         InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), &paramsParam.value);
1357         paramBuffer.addParam(std::move(paramsParam));
1358     }
1359 
1360     return CallCapture(angle::EntryPoint::GLGetMaterialiv, std::move(paramBuffer));
1361 }
1362 
CaptureGetPixelMapfv(const State & glState,bool isCallValid,GLenum map,GLfloat * values)1363 CallCapture CaptureGetPixelMapfv(const State &glState,
1364                                  bool isCallValid,
1365                                  GLenum map,
1366                                  GLfloat *values)
1367 {
1368     ParamBuffer paramBuffer;
1369 
1370     paramBuffer.addEnumParam("map", BigGLEnum::PixelMap, ParamType::TGLenum, map);
1371 
1372     if (isCallValid)
1373     {
1374         ParamCapture valuesParam("values", ParamType::TGLfloatPointer);
1375         InitParamValue(ParamType::TGLfloatPointer, values, &valuesParam.value);
1376         CaptureGetPixelMapfv_values(glState, isCallValid, map, values, &valuesParam);
1377         paramBuffer.addParam(std::move(valuesParam));
1378     }
1379     else
1380     {
1381         ParamCapture valuesParam("values", ParamType::TGLfloatPointer);
1382         InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
1383                        &valuesParam.value);
1384         paramBuffer.addParam(std::move(valuesParam));
1385     }
1386 
1387     return CallCapture(angle::EntryPoint::GLGetPixelMapfv, std::move(paramBuffer));
1388 }
1389 
CaptureGetPixelMapuiv(const State & glState,bool isCallValid,GLenum map,GLuint * values)1390 CallCapture CaptureGetPixelMapuiv(const State &glState,
1391                                   bool isCallValid,
1392                                   GLenum map,
1393                                   GLuint *values)
1394 {
1395     ParamBuffer paramBuffer;
1396 
1397     paramBuffer.addEnumParam("map", BigGLEnum::PixelMap, ParamType::TGLenum, map);
1398 
1399     if (isCallValid)
1400     {
1401         ParamCapture valuesParam("values", ParamType::TGLuintPointer);
1402         InitParamValue(ParamType::TGLuintPointer, values, &valuesParam.value);
1403         CaptureGetPixelMapuiv_values(glState, isCallValid, map, values, &valuesParam);
1404         paramBuffer.addParam(std::move(valuesParam));
1405     }
1406     else
1407     {
1408         ParamCapture valuesParam("values", ParamType::TGLuintPointer);
1409         InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
1410                        &valuesParam.value);
1411         paramBuffer.addParam(std::move(valuesParam));
1412     }
1413 
1414     return CallCapture(angle::EntryPoint::GLGetPixelMapuiv, std::move(paramBuffer));
1415 }
1416 
CaptureGetPixelMapusv(const State & glState,bool isCallValid,GLenum map,GLushort * values)1417 CallCapture CaptureGetPixelMapusv(const State &glState,
1418                                   bool isCallValid,
1419                                   GLenum map,
1420                                   GLushort *values)
1421 {
1422     ParamBuffer paramBuffer;
1423 
1424     paramBuffer.addEnumParam("map", BigGLEnum::PixelMap, ParamType::TGLenum, map);
1425 
1426     if (isCallValid)
1427     {
1428         ParamCapture valuesParam("values", ParamType::TGLushortPointer);
1429         InitParamValue(ParamType::TGLushortPointer, values, &valuesParam.value);
1430         CaptureGetPixelMapusv_values(glState, isCallValid, map, values, &valuesParam);
1431         paramBuffer.addParam(std::move(valuesParam));
1432     }
1433     else
1434     {
1435         ParamCapture valuesParam("values", ParamType::TGLushortPointer);
1436         InitParamValue(ParamType::TGLushortPointer, static_cast<GLushort *>(nullptr),
1437                        &valuesParam.value);
1438         paramBuffer.addParam(std::move(valuesParam));
1439     }
1440 
1441     return CallCapture(angle::EntryPoint::GLGetPixelMapusv, std::move(paramBuffer));
1442 }
1443 
CaptureGetPolygonStipple(const State & glState,bool isCallValid,GLubyte * mask)1444 CallCapture CaptureGetPolygonStipple(const State &glState, bool isCallValid, GLubyte *mask)
1445 {
1446     ParamBuffer paramBuffer;
1447 
1448     if (isCallValid)
1449     {
1450         ParamCapture maskParam("mask", ParamType::TGLubytePointer);
1451         InitParamValue(ParamType::TGLubytePointer, mask, &maskParam.value);
1452         CaptureGetPolygonStipple_mask(glState, isCallValid, mask, &maskParam);
1453         paramBuffer.addParam(std::move(maskParam));
1454     }
1455     else
1456     {
1457         ParamCapture maskParam("mask", ParamType::TGLubytePointer);
1458         InitParamValue(ParamType::TGLubytePointer, static_cast<GLubyte *>(nullptr),
1459                        &maskParam.value);
1460         paramBuffer.addParam(std::move(maskParam));
1461     }
1462 
1463     return CallCapture(angle::EntryPoint::GLGetPolygonStipple, std::move(paramBuffer));
1464 }
1465 
CaptureGetTexGendv(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLdouble * params)1466 CallCapture CaptureGetTexGendv(const State &glState,
1467                                bool isCallValid,
1468                                GLenum coord,
1469                                GLenum pname,
1470                                GLdouble *params)
1471 {
1472     ParamBuffer paramBuffer;
1473 
1474     paramBuffer.addEnumParam("coord", BigGLEnum::TextureCoordName, ParamType::TGLenum, coord);
1475     paramBuffer.addEnumParam("pname", BigGLEnum::TextureGenParameter, ParamType::TGLenum, pname);
1476 
1477     if (isCallValid)
1478     {
1479         ParamCapture paramsParam("params", ParamType::TGLdoublePointer);
1480         InitParamValue(ParamType::TGLdoublePointer, params, &paramsParam.value);
1481         CaptureGetTexGendv_params(glState, isCallValid, coord, pname, params, &paramsParam);
1482         paramBuffer.addParam(std::move(paramsParam));
1483     }
1484     else
1485     {
1486         ParamCapture paramsParam("params", ParamType::TGLdoublePointer);
1487         InitParamValue(ParamType::TGLdoublePointer, static_cast<GLdouble *>(nullptr),
1488                        &paramsParam.value);
1489         paramBuffer.addParam(std::move(paramsParam));
1490     }
1491 
1492     return CallCapture(angle::EntryPoint::GLGetTexGendv, std::move(paramBuffer));
1493 }
1494 
CaptureGetTexGenfv(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLfloat * params)1495 CallCapture CaptureGetTexGenfv(const State &glState,
1496                                bool isCallValid,
1497                                GLenum coord,
1498                                GLenum pname,
1499                                GLfloat *params)
1500 {
1501     ParamBuffer paramBuffer;
1502 
1503     paramBuffer.addEnumParam("coord", BigGLEnum::TextureCoordName, ParamType::TGLenum, coord);
1504     paramBuffer.addEnumParam("pname", BigGLEnum::TextureGenParameter, ParamType::TGLenum, pname);
1505 
1506     if (isCallValid)
1507     {
1508         ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1509         InitParamValue(ParamType::TGLfloatPointer, params, &paramsParam.value);
1510         CaptureGetTexGenfv_params(glState, isCallValid, coord, pname, params, &paramsParam);
1511         paramBuffer.addParam(std::move(paramsParam));
1512     }
1513     else
1514     {
1515         ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1516         InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
1517                        &paramsParam.value);
1518         paramBuffer.addParam(std::move(paramsParam));
1519     }
1520 
1521     return CallCapture(angle::EntryPoint::GLGetTexGenfv, std::move(paramBuffer));
1522 }
1523 
CaptureGetTexGeniv(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLint * params)1524 CallCapture CaptureGetTexGeniv(const State &glState,
1525                                bool isCallValid,
1526                                GLenum coord,
1527                                GLenum pname,
1528                                GLint *params)
1529 {
1530     ParamBuffer paramBuffer;
1531 
1532     paramBuffer.addEnumParam("coord", BigGLEnum::TextureCoordName, ParamType::TGLenum, coord);
1533     paramBuffer.addEnumParam("pname", BigGLEnum::TextureGenParameter, ParamType::TGLenum, pname);
1534 
1535     if (isCallValid)
1536     {
1537         ParamCapture paramsParam("params", ParamType::TGLintPointer);
1538         InitParamValue(ParamType::TGLintPointer, params, &paramsParam.value);
1539         CaptureGetTexGeniv_params(glState, isCallValid, coord, pname, params, &paramsParam);
1540         paramBuffer.addParam(std::move(paramsParam));
1541     }
1542     else
1543     {
1544         ParamCapture paramsParam("params", ParamType::TGLintPointer);
1545         InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), &paramsParam.value);
1546         paramBuffer.addParam(std::move(paramsParam));
1547     }
1548 
1549     return CallCapture(angle::EntryPoint::GLGetTexGeniv, std::move(paramBuffer));
1550 }
1551 
CaptureGetTexImage(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum format,GLenum type,void * pixels)1552 CallCapture CaptureGetTexImage(const State &glState,
1553                                bool isCallValid,
1554                                TextureTarget targetPacked,
1555                                GLint level,
1556                                GLenum format,
1557                                GLenum type,
1558                                void *pixels)
1559 {
1560     ParamBuffer paramBuffer;
1561 
1562     paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
1563     paramBuffer.addValueParam("level", ParamType::TGLint, level);
1564     paramBuffer.addEnumParam("format", BigGLEnum::PixelFormat, ParamType::TGLenum, format);
1565     paramBuffer.addEnumParam("type", BigGLEnum::PixelType, ParamType::TGLenum, type);
1566 
1567     if (isCallValid)
1568     {
1569         ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
1570         InitParamValue(ParamType::TvoidPointer, pixels, &pixelsParam.value);
1571         CaptureGetTexImage_pixels(glState, isCallValid, targetPacked, level, format, type, pixels,
1572                                   &pixelsParam);
1573         paramBuffer.addParam(std::move(pixelsParam));
1574     }
1575     else
1576     {
1577         ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
1578         InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &pixelsParam.value);
1579         paramBuffer.addParam(std::move(pixelsParam));
1580     }
1581 
1582     return CallCapture(angle::EntryPoint::GLGetTexImage, std::move(paramBuffer));
1583 }
1584 
CaptureIndexMask(const State & glState,bool isCallValid,GLuint mask)1585 CallCapture CaptureIndexMask(const State &glState, bool isCallValid, GLuint mask)
1586 {
1587     ParamBuffer paramBuffer;
1588 
1589     paramBuffer.addValueParam("mask", ParamType::TGLuint, mask);
1590 
1591     return CallCapture(angle::EntryPoint::GLIndexMask, std::move(paramBuffer));
1592 }
1593 
CaptureIndexd(const State & glState,bool isCallValid,GLdouble c)1594 CallCapture CaptureIndexd(const State &glState, bool isCallValid, GLdouble c)
1595 {
1596     ParamBuffer paramBuffer;
1597 
1598     paramBuffer.addValueParam("c", ParamType::TGLdouble, c);
1599 
1600     return CallCapture(angle::EntryPoint::GLIndexd, std::move(paramBuffer));
1601 }
1602 
CaptureIndexdv(const State & glState,bool isCallValid,const GLdouble * c)1603 CallCapture CaptureIndexdv(const State &glState, bool isCallValid, const GLdouble *c)
1604 {
1605     ParamBuffer paramBuffer;
1606 
1607     if (isCallValid)
1608     {
1609         ParamCapture cParam("c", ParamType::TGLdoubleConstPointer);
1610         InitParamValue(ParamType::TGLdoubleConstPointer, c, &cParam.value);
1611         CaptureIndexdv_c(glState, isCallValid, c, &cParam);
1612         paramBuffer.addParam(std::move(cParam));
1613     }
1614     else
1615     {
1616         ParamCapture cParam("c", ParamType::TGLdoubleConstPointer);
1617         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
1618                        &cParam.value);
1619         paramBuffer.addParam(std::move(cParam));
1620     }
1621 
1622     return CallCapture(angle::EntryPoint::GLIndexdv, std::move(paramBuffer));
1623 }
1624 
CaptureIndexf(const State & glState,bool isCallValid,GLfloat c)1625 CallCapture CaptureIndexf(const State &glState, bool isCallValid, GLfloat c)
1626 {
1627     ParamBuffer paramBuffer;
1628 
1629     paramBuffer.addValueParam("c", ParamType::TGLfloat, c);
1630 
1631     return CallCapture(angle::EntryPoint::GLIndexf, std::move(paramBuffer));
1632 }
1633 
CaptureIndexfv(const State & glState,bool isCallValid,const GLfloat * c)1634 CallCapture CaptureIndexfv(const State &glState, bool isCallValid, const GLfloat *c)
1635 {
1636     ParamBuffer paramBuffer;
1637 
1638     if (isCallValid)
1639     {
1640         ParamCapture cParam("c", ParamType::TGLfloatConstPointer);
1641         InitParamValue(ParamType::TGLfloatConstPointer, c, &cParam.value);
1642         CaptureIndexfv_c(glState, isCallValid, c, &cParam);
1643         paramBuffer.addParam(std::move(cParam));
1644     }
1645     else
1646     {
1647         ParamCapture cParam("c", ParamType::TGLfloatConstPointer);
1648         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
1649                        &cParam.value);
1650         paramBuffer.addParam(std::move(cParam));
1651     }
1652 
1653     return CallCapture(angle::EntryPoint::GLIndexfv, std::move(paramBuffer));
1654 }
1655 
CaptureIndexi(const State & glState,bool isCallValid,GLint c)1656 CallCapture CaptureIndexi(const State &glState, bool isCallValid, GLint c)
1657 {
1658     ParamBuffer paramBuffer;
1659 
1660     paramBuffer.addValueParam("c", ParamType::TGLint, c);
1661 
1662     return CallCapture(angle::EntryPoint::GLIndexi, std::move(paramBuffer));
1663 }
1664 
CaptureIndexiv(const State & glState,bool isCallValid,const GLint * c)1665 CallCapture CaptureIndexiv(const State &glState, bool isCallValid, const GLint *c)
1666 {
1667     ParamBuffer paramBuffer;
1668 
1669     if (isCallValid)
1670     {
1671         ParamCapture cParam("c", ParamType::TGLintConstPointer);
1672         InitParamValue(ParamType::TGLintConstPointer, c, &cParam.value);
1673         CaptureIndexiv_c(glState, isCallValid, c, &cParam);
1674         paramBuffer.addParam(std::move(cParam));
1675     }
1676     else
1677     {
1678         ParamCapture cParam("c", ParamType::TGLintConstPointer);
1679         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
1680                        &cParam.value);
1681         paramBuffer.addParam(std::move(cParam));
1682     }
1683 
1684     return CallCapture(angle::EntryPoint::GLIndexiv, std::move(paramBuffer));
1685 }
1686 
CaptureIndexs(const State & glState,bool isCallValid,GLshort c)1687 CallCapture CaptureIndexs(const State &glState, bool isCallValid, GLshort c)
1688 {
1689     ParamBuffer paramBuffer;
1690 
1691     paramBuffer.addValueParam("c", ParamType::TGLshort, c);
1692 
1693     return CallCapture(angle::EntryPoint::GLIndexs, std::move(paramBuffer));
1694 }
1695 
CaptureIndexsv(const State & glState,bool isCallValid,const GLshort * c)1696 CallCapture CaptureIndexsv(const State &glState, bool isCallValid, const GLshort *c)
1697 {
1698     ParamBuffer paramBuffer;
1699 
1700     if (isCallValid)
1701     {
1702         ParamCapture cParam("c", ParamType::TGLshortConstPointer);
1703         InitParamValue(ParamType::TGLshortConstPointer, c, &cParam.value);
1704         CaptureIndexsv_c(glState, isCallValid, c, &cParam);
1705         paramBuffer.addParam(std::move(cParam));
1706     }
1707     else
1708     {
1709         ParamCapture cParam("c", ParamType::TGLshortConstPointer);
1710         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
1711                        &cParam.value);
1712         paramBuffer.addParam(std::move(cParam));
1713     }
1714 
1715     return CallCapture(angle::EntryPoint::GLIndexsv, std::move(paramBuffer));
1716 }
1717 
CaptureInitNames(const State & glState,bool isCallValid)1718 CallCapture CaptureInitNames(const State &glState, bool isCallValid)
1719 {
1720     ParamBuffer paramBuffer;
1721 
1722     return CallCapture(angle::EntryPoint::GLInitNames, std::move(paramBuffer));
1723 }
1724 
CaptureIsList(const State & glState,bool isCallValid,GLuint list,GLboolean returnValue)1725 CallCapture CaptureIsList(const State &glState,
1726                           bool isCallValid,
1727                           GLuint list,
1728                           GLboolean returnValue)
1729 {
1730     ParamBuffer paramBuffer;
1731 
1732     paramBuffer.addValueParam("list", ParamType::TGLuint, list);
1733 
1734     ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
1735     InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
1736     paramBuffer.addReturnValue(std::move(returnValueCapture));
1737 
1738     return CallCapture(angle::EntryPoint::GLIsList, std::move(paramBuffer));
1739 }
1740 
CaptureLightModeli(const State & glState,bool isCallValid,GLenum pname,GLint param)1741 CallCapture CaptureLightModeli(const State &glState, bool isCallValid, GLenum pname, GLint param)
1742 {
1743     ParamBuffer paramBuffer;
1744 
1745     paramBuffer.addEnumParam("pname", BigGLEnum::LightModelParameter, ParamType::TGLenum, pname);
1746     paramBuffer.addValueParam("param", ParamType::TGLint, param);
1747 
1748     return CallCapture(angle::EntryPoint::GLLightModeli, std::move(paramBuffer));
1749 }
1750 
CaptureLightModeliv(const State & glState,bool isCallValid,GLenum pname,const GLint * params)1751 CallCapture CaptureLightModeliv(const State &glState,
1752                                 bool isCallValid,
1753                                 GLenum pname,
1754                                 const GLint *params)
1755 {
1756     ParamBuffer paramBuffer;
1757 
1758     paramBuffer.addEnumParam("pname", BigGLEnum::LightModelParameter, ParamType::TGLenum, pname);
1759 
1760     if (isCallValid)
1761     {
1762         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
1763         InitParamValue(ParamType::TGLintConstPointer, params, &paramsParam.value);
1764         CaptureLightModeliv_params(glState, isCallValid, pname, params, &paramsParam);
1765         paramBuffer.addParam(std::move(paramsParam));
1766     }
1767     else
1768     {
1769         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
1770         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
1771                        &paramsParam.value);
1772         paramBuffer.addParam(std::move(paramsParam));
1773     }
1774 
1775     return CallCapture(angle::EntryPoint::GLLightModeliv, std::move(paramBuffer));
1776 }
1777 
CaptureLighti(const State & glState,bool isCallValid,GLenum light,GLenum pname,GLint param)1778 CallCapture CaptureLighti(const State &glState,
1779                           bool isCallValid,
1780                           GLenum light,
1781                           GLenum pname,
1782                           GLint param)
1783 {
1784     ParamBuffer paramBuffer;
1785 
1786     paramBuffer.addEnumParam("light", BigGLEnum::LightName, ParamType::TGLenum, light);
1787     paramBuffer.addEnumParam("pname", BigGLEnum::LightParameter, ParamType::TGLenum, pname);
1788     paramBuffer.addValueParam("param", ParamType::TGLint, param);
1789 
1790     return CallCapture(angle::EntryPoint::GLLighti, std::move(paramBuffer));
1791 }
1792 
CaptureLightiv(const State & glState,bool isCallValid,GLenum light,GLenum pname,const GLint * params)1793 CallCapture CaptureLightiv(const State &glState,
1794                            bool isCallValid,
1795                            GLenum light,
1796                            GLenum pname,
1797                            const GLint *params)
1798 {
1799     ParamBuffer paramBuffer;
1800 
1801     paramBuffer.addEnumParam("light", BigGLEnum::LightName, ParamType::TGLenum, light);
1802     paramBuffer.addEnumParam("pname", BigGLEnum::LightParameter, ParamType::TGLenum, pname);
1803 
1804     if (isCallValid)
1805     {
1806         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
1807         InitParamValue(ParamType::TGLintConstPointer, params, &paramsParam.value);
1808         CaptureLightiv_params(glState, isCallValid, light, pname, params, &paramsParam);
1809         paramBuffer.addParam(std::move(paramsParam));
1810     }
1811     else
1812     {
1813         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
1814         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
1815                        &paramsParam.value);
1816         paramBuffer.addParam(std::move(paramsParam));
1817     }
1818 
1819     return CallCapture(angle::EntryPoint::GLLightiv, std::move(paramBuffer));
1820 }
1821 
CaptureLineStipple(const State & glState,bool isCallValid,GLint factor,GLushort pattern)1822 CallCapture CaptureLineStipple(const State &glState,
1823                                bool isCallValid,
1824                                GLint factor,
1825                                GLushort pattern)
1826 {
1827     ParamBuffer paramBuffer;
1828 
1829     paramBuffer.addValueParam("factor", ParamType::TGLint, factor);
1830     paramBuffer.addValueParam("pattern", ParamType::TGLushort, pattern);
1831 
1832     return CallCapture(angle::EntryPoint::GLLineStipple, std::move(paramBuffer));
1833 }
1834 
CaptureListBase(const State & glState,bool isCallValid,GLuint base)1835 CallCapture CaptureListBase(const State &glState, bool isCallValid, GLuint base)
1836 {
1837     ParamBuffer paramBuffer;
1838 
1839     paramBuffer.addValueParam("base", ParamType::TGLuint, base);
1840 
1841     return CallCapture(angle::EntryPoint::GLListBase, std::move(paramBuffer));
1842 }
1843 
CaptureLoadMatrixd(const State & glState,bool isCallValid,const GLdouble * m)1844 CallCapture CaptureLoadMatrixd(const State &glState, bool isCallValid, const GLdouble *m)
1845 {
1846     ParamBuffer paramBuffer;
1847 
1848     if (isCallValid)
1849     {
1850         ParamCapture mParam("m", ParamType::TGLdoubleConstPointer);
1851         InitParamValue(ParamType::TGLdoubleConstPointer, m, &mParam.value);
1852         CaptureLoadMatrixd_m(glState, isCallValid, m, &mParam);
1853         paramBuffer.addParam(std::move(mParam));
1854     }
1855     else
1856     {
1857         ParamCapture mParam("m", ParamType::TGLdoubleConstPointer);
1858         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
1859                        &mParam.value);
1860         paramBuffer.addParam(std::move(mParam));
1861     }
1862 
1863     return CallCapture(angle::EntryPoint::GLLoadMatrixd, std::move(paramBuffer));
1864 }
1865 
CaptureLoadName(const State & glState,bool isCallValid,GLuint name)1866 CallCapture CaptureLoadName(const State &glState, bool isCallValid, GLuint name)
1867 {
1868     ParamBuffer paramBuffer;
1869 
1870     paramBuffer.addValueParam("name", ParamType::TGLuint, name);
1871 
1872     return CallCapture(angle::EntryPoint::GLLoadName, std::move(paramBuffer));
1873 }
1874 
CaptureMap1d(const State & glState,bool isCallValid,GLenum target,GLdouble u1,GLdouble u2,GLint stride,GLint order,const GLdouble * points)1875 CallCapture CaptureMap1d(const State &glState,
1876                          bool isCallValid,
1877                          GLenum target,
1878                          GLdouble u1,
1879                          GLdouble u2,
1880                          GLint stride,
1881                          GLint order,
1882                          const GLdouble *points)
1883 {
1884     ParamBuffer paramBuffer;
1885 
1886     paramBuffer.addEnumParam("target", BigGLEnum::MapTarget, ParamType::TGLenum, target);
1887     paramBuffer.addValueParam("u1", ParamType::TGLdouble, u1);
1888     paramBuffer.addValueParam("u2", ParamType::TGLdouble, u2);
1889     paramBuffer.addValueParam("stride", ParamType::TGLint, stride);
1890     paramBuffer.addValueParam("order", ParamType::TGLint, order);
1891 
1892     if (isCallValid)
1893     {
1894         ParamCapture pointsParam("points", ParamType::TGLdoubleConstPointer);
1895         InitParamValue(ParamType::TGLdoubleConstPointer, points, &pointsParam.value);
1896         CaptureMap1d_points(glState, isCallValid, target, u1, u2, stride, order, points,
1897                             &pointsParam);
1898         paramBuffer.addParam(std::move(pointsParam));
1899     }
1900     else
1901     {
1902         ParamCapture pointsParam("points", ParamType::TGLdoubleConstPointer);
1903         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
1904                        &pointsParam.value);
1905         paramBuffer.addParam(std::move(pointsParam));
1906     }
1907 
1908     return CallCapture(angle::EntryPoint::GLMap1d, std::move(paramBuffer));
1909 }
1910 
CaptureMap1f(const State & glState,bool isCallValid,GLenum target,GLfloat u1,GLfloat u2,GLint stride,GLint order,const GLfloat * points)1911 CallCapture CaptureMap1f(const State &glState,
1912                          bool isCallValid,
1913                          GLenum target,
1914                          GLfloat u1,
1915                          GLfloat u2,
1916                          GLint stride,
1917                          GLint order,
1918                          const GLfloat *points)
1919 {
1920     ParamBuffer paramBuffer;
1921 
1922     paramBuffer.addEnumParam("target", BigGLEnum::MapTarget, ParamType::TGLenum, target);
1923     paramBuffer.addValueParam("u1", ParamType::TGLfloat, u1);
1924     paramBuffer.addValueParam("u2", ParamType::TGLfloat, u2);
1925     paramBuffer.addValueParam("stride", ParamType::TGLint, stride);
1926     paramBuffer.addValueParam("order", ParamType::TGLint, order);
1927 
1928     if (isCallValid)
1929     {
1930         ParamCapture pointsParam("points", ParamType::TGLfloatConstPointer);
1931         InitParamValue(ParamType::TGLfloatConstPointer, points, &pointsParam.value);
1932         CaptureMap1f_points(glState, isCallValid, target, u1, u2, stride, order, points,
1933                             &pointsParam);
1934         paramBuffer.addParam(std::move(pointsParam));
1935     }
1936     else
1937     {
1938         ParamCapture pointsParam("points", ParamType::TGLfloatConstPointer);
1939         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
1940                        &pointsParam.value);
1941         paramBuffer.addParam(std::move(pointsParam));
1942     }
1943 
1944     return CallCapture(angle::EntryPoint::GLMap1f, std::move(paramBuffer));
1945 }
1946 
CaptureMap2d(const State & glState,bool isCallValid,GLenum target,GLdouble u1,GLdouble u2,GLint ustride,GLint uorder,GLdouble v1,GLdouble v2,GLint vstride,GLint vorder,const GLdouble * points)1947 CallCapture CaptureMap2d(const State &glState,
1948                          bool isCallValid,
1949                          GLenum target,
1950                          GLdouble u1,
1951                          GLdouble u2,
1952                          GLint ustride,
1953                          GLint uorder,
1954                          GLdouble v1,
1955                          GLdouble v2,
1956                          GLint vstride,
1957                          GLint vorder,
1958                          const GLdouble *points)
1959 {
1960     ParamBuffer paramBuffer;
1961 
1962     paramBuffer.addEnumParam("target", BigGLEnum::MapTarget, ParamType::TGLenum, target);
1963     paramBuffer.addValueParam("u1", ParamType::TGLdouble, u1);
1964     paramBuffer.addValueParam("u2", ParamType::TGLdouble, u2);
1965     paramBuffer.addValueParam("ustride", ParamType::TGLint, ustride);
1966     paramBuffer.addValueParam("uorder", ParamType::TGLint, uorder);
1967     paramBuffer.addValueParam("v1", ParamType::TGLdouble, v1);
1968     paramBuffer.addValueParam("v2", ParamType::TGLdouble, v2);
1969     paramBuffer.addValueParam("vstride", ParamType::TGLint, vstride);
1970     paramBuffer.addValueParam("vorder", ParamType::TGLint, vorder);
1971 
1972     if (isCallValid)
1973     {
1974         ParamCapture pointsParam("points", ParamType::TGLdoubleConstPointer);
1975         InitParamValue(ParamType::TGLdoubleConstPointer, points, &pointsParam.value);
1976         CaptureMap2d_points(glState, isCallValid, target, u1, u2, ustride, uorder, v1, v2, vstride,
1977                             vorder, points, &pointsParam);
1978         paramBuffer.addParam(std::move(pointsParam));
1979     }
1980     else
1981     {
1982         ParamCapture pointsParam("points", ParamType::TGLdoubleConstPointer);
1983         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
1984                        &pointsParam.value);
1985         paramBuffer.addParam(std::move(pointsParam));
1986     }
1987 
1988     return CallCapture(angle::EntryPoint::GLMap2d, std::move(paramBuffer));
1989 }
1990 
CaptureMap2f(const State & glState,bool isCallValid,GLenum target,GLfloat u1,GLfloat u2,GLint ustride,GLint uorder,GLfloat v1,GLfloat v2,GLint vstride,GLint vorder,const GLfloat * points)1991 CallCapture CaptureMap2f(const State &glState,
1992                          bool isCallValid,
1993                          GLenum target,
1994                          GLfloat u1,
1995                          GLfloat u2,
1996                          GLint ustride,
1997                          GLint uorder,
1998                          GLfloat v1,
1999                          GLfloat v2,
2000                          GLint vstride,
2001                          GLint vorder,
2002                          const GLfloat *points)
2003 {
2004     ParamBuffer paramBuffer;
2005 
2006     paramBuffer.addEnumParam("target", BigGLEnum::MapTarget, ParamType::TGLenum, target);
2007     paramBuffer.addValueParam("u1", ParamType::TGLfloat, u1);
2008     paramBuffer.addValueParam("u2", ParamType::TGLfloat, u2);
2009     paramBuffer.addValueParam("ustride", ParamType::TGLint, ustride);
2010     paramBuffer.addValueParam("uorder", ParamType::TGLint, uorder);
2011     paramBuffer.addValueParam("v1", ParamType::TGLfloat, v1);
2012     paramBuffer.addValueParam("v2", ParamType::TGLfloat, v2);
2013     paramBuffer.addValueParam("vstride", ParamType::TGLint, vstride);
2014     paramBuffer.addValueParam("vorder", ParamType::TGLint, vorder);
2015 
2016     if (isCallValid)
2017     {
2018         ParamCapture pointsParam("points", ParamType::TGLfloatConstPointer);
2019         InitParamValue(ParamType::TGLfloatConstPointer, points, &pointsParam.value);
2020         CaptureMap2f_points(glState, isCallValid, target, u1, u2, ustride, uorder, v1, v2, vstride,
2021                             vorder, points, &pointsParam);
2022         paramBuffer.addParam(std::move(pointsParam));
2023     }
2024     else
2025     {
2026         ParamCapture pointsParam("points", ParamType::TGLfloatConstPointer);
2027         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
2028                        &pointsParam.value);
2029         paramBuffer.addParam(std::move(pointsParam));
2030     }
2031 
2032     return CallCapture(angle::EntryPoint::GLMap2f, std::move(paramBuffer));
2033 }
2034 
CaptureMapGrid1d(const State & glState,bool isCallValid,GLint un,GLdouble u1,GLdouble u2)2035 CallCapture CaptureMapGrid1d(const State &glState,
2036                              bool isCallValid,
2037                              GLint un,
2038                              GLdouble u1,
2039                              GLdouble u2)
2040 {
2041     ParamBuffer paramBuffer;
2042 
2043     paramBuffer.addValueParam("un", ParamType::TGLint, un);
2044     paramBuffer.addValueParam("u1", ParamType::TGLdouble, u1);
2045     paramBuffer.addValueParam("u2", ParamType::TGLdouble, u2);
2046 
2047     return CallCapture(angle::EntryPoint::GLMapGrid1d, std::move(paramBuffer));
2048 }
2049 
CaptureMapGrid1f(const State & glState,bool isCallValid,GLint un,GLfloat u1,GLfloat u2)2050 CallCapture CaptureMapGrid1f(const State &glState,
2051                              bool isCallValid,
2052                              GLint un,
2053                              GLfloat u1,
2054                              GLfloat u2)
2055 {
2056     ParamBuffer paramBuffer;
2057 
2058     paramBuffer.addValueParam("un", ParamType::TGLint, un);
2059     paramBuffer.addValueParam("u1", ParamType::TGLfloat, u1);
2060     paramBuffer.addValueParam("u2", ParamType::TGLfloat, u2);
2061 
2062     return CallCapture(angle::EntryPoint::GLMapGrid1f, std::move(paramBuffer));
2063 }
2064 
CaptureMapGrid2d(const State & glState,bool isCallValid,GLint un,GLdouble u1,GLdouble u2,GLint vn,GLdouble v1,GLdouble v2)2065 CallCapture CaptureMapGrid2d(const State &glState,
2066                              bool isCallValid,
2067                              GLint un,
2068                              GLdouble u1,
2069                              GLdouble u2,
2070                              GLint vn,
2071                              GLdouble v1,
2072                              GLdouble v2)
2073 {
2074     ParamBuffer paramBuffer;
2075 
2076     paramBuffer.addValueParam("un", ParamType::TGLint, un);
2077     paramBuffer.addValueParam("u1", ParamType::TGLdouble, u1);
2078     paramBuffer.addValueParam("u2", ParamType::TGLdouble, u2);
2079     paramBuffer.addValueParam("vn", ParamType::TGLint, vn);
2080     paramBuffer.addValueParam("v1", ParamType::TGLdouble, v1);
2081     paramBuffer.addValueParam("v2", ParamType::TGLdouble, v2);
2082 
2083     return CallCapture(angle::EntryPoint::GLMapGrid2d, std::move(paramBuffer));
2084 }
2085 
CaptureMapGrid2f(const State & glState,bool isCallValid,GLint un,GLfloat u1,GLfloat u2,GLint vn,GLfloat v1,GLfloat v2)2086 CallCapture CaptureMapGrid2f(const State &glState,
2087                              bool isCallValid,
2088                              GLint un,
2089                              GLfloat u1,
2090                              GLfloat u2,
2091                              GLint vn,
2092                              GLfloat v1,
2093                              GLfloat v2)
2094 {
2095     ParamBuffer paramBuffer;
2096 
2097     paramBuffer.addValueParam("un", ParamType::TGLint, un);
2098     paramBuffer.addValueParam("u1", ParamType::TGLfloat, u1);
2099     paramBuffer.addValueParam("u2", ParamType::TGLfloat, u2);
2100     paramBuffer.addValueParam("vn", ParamType::TGLint, vn);
2101     paramBuffer.addValueParam("v1", ParamType::TGLfloat, v1);
2102     paramBuffer.addValueParam("v2", ParamType::TGLfloat, v2);
2103 
2104     return CallCapture(angle::EntryPoint::GLMapGrid2f, std::move(paramBuffer));
2105 }
2106 
CaptureMateriali(const State & glState,bool isCallValid,GLenum face,GLenum pname,GLint param)2107 CallCapture CaptureMateriali(const State &glState,
2108                              bool isCallValid,
2109                              GLenum face,
2110                              GLenum pname,
2111                              GLint param)
2112 {
2113     ParamBuffer paramBuffer;
2114 
2115     paramBuffer.addEnumParam("face", BigGLEnum::TriangleFace, ParamType::TGLenum, face);
2116     paramBuffer.addEnumParam("pname", BigGLEnum::MaterialParameter, ParamType::TGLenum, pname);
2117     paramBuffer.addValueParam("param", ParamType::TGLint, param);
2118 
2119     return CallCapture(angle::EntryPoint::GLMateriali, std::move(paramBuffer));
2120 }
2121 
CaptureMaterialiv(const State & glState,bool isCallValid,GLenum face,GLenum pname,const GLint * params)2122 CallCapture CaptureMaterialiv(const State &glState,
2123                               bool isCallValid,
2124                               GLenum face,
2125                               GLenum pname,
2126                               const GLint *params)
2127 {
2128     ParamBuffer paramBuffer;
2129 
2130     paramBuffer.addEnumParam("face", BigGLEnum::TriangleFace, ParamType::TGLenum, face);
2131     paramBuffer.addEnumParam("pname", BigGLEnum::MaterialParameter, ParamType::TGLenum, pname);
2132 
2133     if (isCallValid)
2134     {
2135         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
2136         InitParamValue(ParamType::TGLintConstPointer, params, &paramsParam.value);
2137         CaptureMaterialiv_params(glState, isCallValid, face, pname, params, &paramsParam);
2138         paramBuffer.addParam(std::move(paramsParam));
2139     }
2140     else
2141     {
2142         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
2143         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
2144                        &paramsParam.value);
2145         paramBuffer.addParam(std::move(paramsParam));
2146     }
2147 
2148     return CallCapture(angle::EntryPoint::GLMaterialiv, std::move(paramBuffer));
2149 }
2150 
CaptureMultMatrixd(const State & glState,bool isCallValid,const GLdouble * m)2151 CallCapture CaptureMultMatrixd(const State &glState, bool isCallValid, const GLdouble *m)
2152 {
2153     ParamBuffer paramBuffer;
2154 
2155     if (isCallValid)
2156     {
2157         ParamCapture mParam("m", ParamType::TGLdoubleConstPointer);
2158         InitParamValue(ParamType::TGLdoubleConstPointer, m, &mParam.value);
2159         CaptureMultMatrixd_m(glState, isCallValid, m, &mParam);
2160         paramBuffer.addParam(std::move(mParam));
2161     }
2162     else
2163     {
2164         ParamCapture mParam("m", ParamType::TGLdoubleConstPointer);
2165         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
2166                        &mParam.value);
2167         paramBuffer.addParam(std::move(mParam));
2168     }
2169 
2170     return CallCapture(angle::EntryPoint::GLMultMatrixd, std::move(paramBuffer));
2171 }
2172 
CaptureNewList(const State & glState,bool isCallValid,GLuint list,GLenum mode)2173 CallCapture CaptureNewList(const State &glState, bool isCallValid, GLuint list, GLenum mode)
2174 {
2175     ParamBuffer paramBuffer;
2176 
2177     paramBuffer.addValueParam("list", ParamType::TGLuint, list);
2178     paramBuffer.addEnumParam("mode", BigGLEnum::ListMode, ParamType::TGLenum, mode);
2179 
2180     return CallCapture(angle::EntryPoint::GLNewList, std::move(paramBuffer));
2181 }
2182 
CaptureNormal3b(const State & glState,bool isCallValid,GLbyte nx,GLbyte ny,GLbyte nz)2183 CallCapture CaptureNormal3b(const State &glState, bool isCallValid, GLbyte nx, GLbyte ny, GLbyte nz)
2184 {
2185     ParamBuffer paramBuffer;
2186 
2187     paramBuffer.addValueParam("nx", ParamType::TGLbyte, nx);
2188     paramBuffer.addValueParam("ny", ParamType::TGLbyte, ny);
2189     paramBuffer.addValueParam("nz", ParamType::TGLbyte, nz);
2190 
2191     return CallCapture(angle::EntryPoint::GLNormal3b, std::move(paramBuffer));
2192 }
2193 
CaptureNormal3bv(const State & glState,bool isCallValid,const GLbyte * v)2194 CallCapture CaptureNormal3bv(const State &glState, bool isCallValid, const GLbyte *v)
2195 {
2196     ParamBuffer paramBuffer;
2197 
2198     if (isCallValid)
2199     {
2200         ParamCapture vParam("v", ParamType::TGLbyteConstPointer);
2201         InitParamValue(ParamType::TGLbyteConstPointer, v, &vParam.value);
2202         CaptureNormal3bv_v(glState, isCallValid, v, &vParam);
2203         paramBuffer.addParam(std::move(vParam));
2204     }
2205     else
2206     {
2207         ParamCapture vParam("v", ParamType::TGLbyteConstPointer);
2208         InitParamValue(ParamType::TGLbyteConstPointer, static_cast<const GLbyte *>(nullptr),
2209                        &vParam.value);
2210         paramBuffer.addParam(std::move(vParam));
2211     }
2212 
2213     return CallCapture(angle::EntryPoint::GLNormal3bv, std::move(paramBuffer));
2214 }
2215 
CaptureNormal3d(const State & glState,bool isCallValid,GLdouble nx,GLdouble ny,GLdouble nz)2216 CallCapture CaptureNormal3d(const State &glState,
2217                             bool isCallValid,
2218                             GLdouble nx,
2219                             GLdouble ny,
2220                             GLdouble nz)
2221 {
2222     ParamBuffer paramBuffer;
2223 
2224     paramBuffer.addValueParam("nx", ParamType::TGLdouble, nx);
2225     paramBuffer.addValueParam("ny", ParamType::TGLdouble, ny);
2226     paramBuffer.addValueParam("nz", ParamType::TGLdouble, nz);
2227 
2228     return CallCapture(angle::EntryPoint::GLNormal3d, std::move(paramBuffer));
2229 }
2230 
CaptureNormal3dv(const State & glState,bool isCallValid,const GLdouble * v)2231 CallCapture CaptureNormal3dv(const State &glState, bool isCallValid, const GLdouble *v)
2232 {
2233     ParamBuffer paramBuffer;
2234 
2235     if (isCallValid)
2236     {
2237         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
2238         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
2239         CaptureNormal3dv_v(glState, isCallValid, v, &vParam);
2240         paramBuffer.addParam(std::move(vParam));
2241     }
2242     else
2243     {
2244         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
2245         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
2246                        &vParam.value);
2247         paramBuffer.addParam(std::move(vParam));
2248     }
2249 
2250     return CallCapture(angle::EntryPoint::GLNormal3dv, std::move(paramBuffer));
2251 }
2252 
CaptureNormal3fv(const State & glState,bool isCallValid,const GLfloat * v)2253 CallCapture CaptureNormal3fv(const State &glState, bool isCallValid, const GLfloat *v)
2254 {
2255     ParamBuffer paramBuffer;
2256 
2257     if (isCallValid)
2258     {
2259         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
2260         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
2261         CaptureNormal3fv_v(glState, isCallValid, v, &vParam);
2262         paramBuffer.addParam(std::move(vParam));
2263     }
2264     else
2265     {
2266         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
2267         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
2268                        &vParam.value);
2269         paramBuffer.addParam(std::move(vParam));
2270     }
2271 
2272     return CallCapture(angle::EntryPoint::GLNormal3fv, std::move(paramBuffer));
2273 }
2274 
CaptureNormal3i(const State & glState,bool isCallValid,GLint nx,GLint ny,GLint nz)2275 CallCapture CaptureNormal3i(const State &glState, bool isCallValid, GLint nx, GLint ny, GLint nz)
2276 {
2277     ParamBuffer paramBuffer;
2278 
2279     paramBuffer.addValueParam("nx", ParamType::TGLint, nx);
2280     paramBuffer.addValueParam("ny", ParamType::TGLint, ny);
2281     paramBuffer.addValueParam("nz", ParamType::TGLint, nz);
2282 
2283     return CallCapture(angle::EntryPoint::GLNormal3i, std::move(paramBuffer));
2284 }
2285 
CaptureNormal3iv(const State & glState,bool isCallValid,const GLint * v)2286 CallCapture CaptureNormal3iv(const State &glState, bool isCallValid, const GLint *v)
2287 {
2288     ParamBuffer paramBuffer;
2289 
2290     if (isCallValid)
2291     {
2292         ParamCapture vParam("v", ParamType::TGLintConstPointer);
2293         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
2294         CaptureNormal3iv_v(glState, isCallValid, v, &vParam);
2295         paramBuffer.addParam(std::move(vParam));
2296     }
2297     else
2298     {
2299         ParamCapture vParam("v", ParamType::TGLintConstPointer);
2300         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
2301                        &vParam.value);
2302         paramBuffer.addParam(std::move(vParam));
2303     }
2304 
2305     return CallCapture(angle::EntryPoint::GLNormal3iv, std::move(paramBuffer));
2306 }
2307 
CaptureNormal3s(const State & glState,bool isCallValid,GLshort nx,GLshort ny,GLshort nz)2308 CallCapture CaptureNormal3s(const State &glState,
2309                             bool isCallValid,
2310                             GLshort nx,
2311                             GLshort ny,
2312                             GLshort nz)
2313 {
2314     ParamBuffer paramBuffer;
2315 
2316     paramBuffer.addValueParam("nx", ParamType::TGLshort, nx);
2317     paramBuffer.addValueParam("ny", ParamType::TGLshort, ny);
2318     paramBuffer.addValueParam("nz", ParamType::TGLshort, nz);
2319 
2320     return CallCapture(angle::EntryPoint::GLNormal3s, std::move(paramBuffer));
2321 }
2322 
CaptureNormal3sv(const State & glState,bool isCallValid,const GLshort * v)2323 CallCapture CaptureNormal3sv(const State &glState, bool isCallValid, const GLshort *v)
2324 {
2325     ParamBuffer paramBuffer;
2326 
2327     if (isCallValid)
2328     {
2329         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
2330         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
2331         CaptureNormal3sv_v(glState, isCallValid, v, &vParam);
2332         paramBuffer.addParam(std::move(vParam));
2333     }
2334     else
2335     {
2336         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
2337         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
2338                        &vParam.value);
2339         paramBuffer.addParam(std::move(vParam));
2340     }
2341 
2342     return CallCapture(angle::EntryPoint::GLNormal3sv, std::move(paramBuffer));
2343 }
2344 
CaptureOrtho(const State & glState,bool isCallValid,GLdouble left,GLdouble right,GLdouble bottom,GLdouble top,GLdouble zNear,GLdouble zFar)2345 CallCapture CaptureOrtho(const State &glState,
2346                          bool isCallValid,
2347                          GLdouble left,
2348                          GLdouble right,
2349                          GLdouble bottom,
2350                          GLdouble top,
2351                          GLdouble zNear,
2352                          GLdouble zFar)
2353 {
2354     ParamBuffer paramBuffer;
2355 
2356     paramBuffer.addValueParam("left", ParamType::TGLdouble, left);
2357     paramBuffer.addValueParam("right", ParamType::TGLdouble, right);
2358     paramBuffer.addValueParam("bottom", ParamType::TGLdouble, bottom);
2359     paramBuffer.addValueParam("top", ParamType::TGLdouble, top);
2360     paramBuffer.addValueParam("zNear", ParamType::TGLdouble, zNear);
2361     paramBuffer.addValueParam("zFar", ParamType::TGLdouble, zFar);
2362 
2363     return CallCapture(angle::EntryPoint::GLOrtho, std::move(paramBuffer));
2364 }
2365 
CapturePassThrough(const State & glState,bool isCallValid,GLfloat token)2366 CallCapture CapturePassThrough(const State &glState, bool isCallValid, GLfloat token)
2367 {
2368     ParamBuffer paramBuffer;
2369 
2370     paramBuffer.addValueParam("token", ParamType::TGLfloat, token);
2371 
2372     return CallCapture(angle::EntryPoint::GLPassThrough, std::move(paramBuffer));
2373 }
2374 
CapturePixelMapfv(const State & glState,bool isCallValid,GLenum map,GLsizei mapsize,const GLfloat * values)2375 CallCapture CapturePixelMapfv(const State &glState,
2376                               bool isCallValid,
2377                               GLenum map,
2378                               GLsizei mapsize,
2379                               const GLfloat *values)
2380 {
2381     ParamBuffer paramBuffer;
2382 
2383     paramBuffer.addEnumParam("map", BigGLEnum::PixelMap, ParamType::TGLenum, map);
2384     paramBuffer.addValueParam("mapsize", ParamType::TGLsizei, mapsize);
2385 
2386     if (isCallValid)
2387     {
2388         ParamCapture valuesParam("values", ParamType::TGLfloatConstPointer);
2389         InitParamValue(ParamType::TGLfloatConstPointer, values, &valuesParam.value);
2390         CapturePixelMapfv_values(glState, isCallValid, map, mapsize, values, &valuesParam);
2391         paramBuffer.addParam(std::move(valuesParam));
2392     }
2393     else
2394     {
2395         ParamCapture valuesParam("values", ParamType::TGLfloatConstPointer);
2396         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
2397                        &valuesParam.value);
2398         paramBuffer.addParam(std::move(valuesParam));
2399     }
2400 
2401     return CallCapture(angle::EntryPoint::GLPixelMapfv, std::move(paramBuffer));
2402 }
2403 
CapturePixelMapuiv(const State & glState,bool isCallValid,GLenum map,GLsizei mapsize,const GLuint * values)2404 CallCapture CapturePixelMapuiv(const State &glState,
2405                                bool isCallValid,
2406                                GLenum map,
2407                                GLsizei mapsize,
2408                                const GLuint *values)
2409 {
2410     ParamBuffer paramBuffer;
2411 
2412     paramBuffer.addEnumParam("map", BigGLEnum::PixelMap, ParamType::TGLenum, map);
2413     paramBuffer.addValueParam("mapsize", ParamType::TGLsizei, mapsize);
2414 
2415     if (isCallValid)
2416     {
2417         ParamCapture valuesParam("values", ParamType::TGLuintConstPointer);
2418         InitParamValue(ParamType::TGLuintConstPointer, values, &valuesParam.value);
2419         CapturePixelMapuiv_values(glState, isCallValid, map, mapsize, values, &valuesParam);
2420         paramBuffer.addParam(std::move(valuesParam));
2421     }
2422     else
2423     {
2424         ParamCapture valuesParam("values", ParamType::TGLuintConstPointer);
2425         InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
2426                        &valuesParam.value);
2427         paramBuffer.addParam(std::move(valuesParam));
2428     }
2429 
2430     return CallCapture(angle::EntryPoint::GLPixelMapuiv, std::move(paramBuffer));
2431 }
2432 
CapturePixelMapusv(const State & glState,bool isCallValid,GLenum map,GLsizei mapsize,const GLushort * values)2433 CallCapture CapturePixelMapusv(const State &glState,
2434                                bool isCallValid,
2435                                GLenum map,
2436                                GLsizei mapsize,
2437                                const GLushort *values)
2438 {
2439     ParamBuffer paramBuffer;
2440 
2441     paramBuffer.addEnumParam("map", BigGLEnum::PixelMap, ParamType::TGLenum, map);
2442     paramBuffer.addValueParam("mapsize", ParamType::TGLsizei, mapsize);
2443 
2444     if (isCallValid)
2445     {
2446         ParamCapture valuesParam("values", ParamType::TGLushortConstPointer);
2447         InitParamValue(ParamType::TGLushortConstPointer, values, &valuesParam.value);
2448         CapturePixelMapusv_values(glState, isCallValid, map, mapsize, values, &valuesParam);
2449         paramBuffer.addParam(std::move(valuesParam));
2450     }
2451     else
2452     {
2453         ParamCapture valuesParam("values", ParamType::TGLushortConstPointer);
2454         InitParamValue(ParamType::TGLushortConstPointer, static_cast<const GLushort *>(nullptr),
2455                        &valuesParam.value);
2456         paramBuffer.addParam(std::move(valuesParam));
2457     }
2458 
2459     return CallCapture(angle::EntryPoint::GLPixelMapusv, std::move(paramBuffer));
2460 }
2461 
CapturePixelStoref(const State & glState,bool isCallValid,GLenum pname,GLfloat param)2462 CallCapture CapturePixelStoref(const State &glState, bool isCallValid, GLenum pname, GLfloat param)
2463 {
2464     ParamBuffer paramBuffer;
2465 
2466     paramBuffer.addEnumParam("pname", BigGLEnum::PixelStoreParameter, ParamType::TGLenum, pname);
2467     paramBuffer.addValueParam("param", ParamType::TGLfloat, param);
2468 
2469     return CallCapture(angle::EntryPoint::GLPixelStoref, std::move(paramBuffer));
2470 }
2471 
CapturePixelTransferf(const State & glState,bool isCallValid,GLenum pname,GLfloat param)2472 CallCapture CapturePixelTransferf(const State &glState,
2473                                   bool isCallValid,
2474                                   GLenum pname,
2475                                   GLfloat param)
2476 {
2477     ParamBuffer paramBuffer;
2478 
2479     paramBuffer.addEnumParam("pname", BigGLEnum::PixelTransferParameter, ParamType::TGLenum, pname);
2480     paramBuffer.addValueParam("param", ParamType::TGLfloat, param);
2481 
2482     return CallCapture(angle::EntryPoint::GLPixelTransferf, std::move(paramBuffer));
2483 }
2484 
CapturePixelTransferi(const State & glState,bool isCallValid,GLenum pname,GLint param)2485 CallCapture CapturePixelTransferi(const State &glState, bool isCallValid, GLenum pname, GLint param)
2486 {
2487     ParamBuffer paramBuffer;
2488 
2489     paramBuffer.addEnumParam("pname", BigGLEnum::PixelTransferParameter, ParamType::TGLenum, pname);
2490     paramBuffer.addValueParam("param", ParamType::TGLint, param);
2491 
2492     return CallCapture(angle::EntryPoint::GLPixelTransferi, std::move(paramBuffer));
2493 }
2494 
CapturePixelZoom(const State & glState,bool isCallValid,GLfloat xfactor,GLfloat yfactor)2495 CallCapture CapturePixelZoom(const State &glState,
2496                              bool isCallValid,
2497                              GLfloat xfactor,
2498                              GLfloat yfactor)
2499 {
2500     ParamBuffer paramBuffer;
2501 
2502     paramBuffer.addValueParam("xfactor", ParamType::TGLfloat, xfactor);
2503     paramBuffer.addValueParam("yfactor", ParamType::TGLfloat, yfactor);
2504 
2505     return CallCapture(angle::EntryPoint::GLPixelZoom, std::move(paramBuffer));
2506 }
2507 
CapturePolygonMode(const State & glState,bool isCallValid,GLenum face,PolygonMode modePacked)2508 CallCapture CapturePolygonMode(const State &glState,
2509                                bool isCallValid,
2510                                GLenum face,
2511                                PolygonMode modePacked)
2512 {
2513     ParamBuffer paramBuffer;
2514 
2515     paramBuffer.addEnumParam("face", BigGLEnum::TriangleFace, ParamType::TGLenum, face);
2516     paramBuffer.addValueParam("modePacked", ParamType::TPolygonMode, modePacked);
2517 
2518     return CallCapture(angle::EntryPoint::GLPolygonMode, std::move(paramBuffer));
2519 }
2520 
CapturePolygonStipple(const State & glState,bool isCallValid,const GLubyte * mask)2521 CallCapture CapturePolygonStipple(const State &glState, bool isCallValid, const GLubyte *mask)
2522 {
2523     ParamBuffer paramBuffer;
2524 
2525     if (isCallValid)
2526     {
2527         ParamCapture maskParam("mask", ParamType::TGLubyteConstPointer);
2528         InitParamValue(ParamType::TGLubyteConstPointer, mask, &maskParam.value);
2529         CapturePolygonStipple_mask(glState, isCallValid, mask, &maskParam);
2530         paramBuffer.addParam(std::move(maskParam));
2531     }
2532     else
2533     {
2534         ParamCapture maskParam("mask", ParamType::TGLubyteConstPointer);
2535         InitParamValue(ParamType::TGLubyteConstPointer, static_cast<const GLubyte *>(nullptr),
2536                        &maskParam.value);
2537         paramBuffer.addParam(std::move(maskParam));
2538     }
2539 
2540     return CallCapture(angle::EntryPoint::GLPolygonStipple, std::move(paramBuffer));
2541 }
2542 
CapturePopAttrib(const State & glState,bool isCallValid)2543 CallCapture CapturePopAttrib(const State &glState, bool isCallValid)
2544 {
2545     ParamBuffer paramBuffer;
2546 
2547     return CallCapture(angle::EntryPoint::GLPopAttrib, std::move(paramBuffer));
2548 }
2549 
CapturePopName(const State & glState,bool isCallValid)2550 CallCapture CapturePopName(const State &glState, bool isCallValid)
2551 {
2552     ParamBuffer paramBuffer;
2553 
2554     return CallCapture(angle::EntryPoint::GLPopName, std::move(paramBuffer));
2555 }
2556 
CapturePushAttrib(const State & glState,bool isCallValid,GLbitfield mask)2557 CallCapture CapturePushAttrib(const State &glState, bool isCallValid, GLbitfield mask)
2558 {
2559     ParamBuffer paramBuffer;
2560 
2561     paramBuffer.addEnumParam("mask", BigGLEnum::AttribMask, ParamType::TGLbitfield, mask);
2562 
2563     return CallCapture(angle::EntryPoint::GLPushAttrib, std::move(paramBuffer));
2564 }
2565 
CapturePushName(const State & glState,bool isCallValid,GLuint name)2566 CallCapture CapturePushName(const State &glState, bool isCallValid, GLuint name)
2567 {
2568     ParamBuffer paramBuffer;
2569 
2570     paramBuffer.addValueParam("name", ParamType::TGLuint, name);
2571 
2572     return CallCapture(angle::EntryPoint::GLPushName, std::move(paramBuffer));
2573 }
2574 
CaptureRasterPos2d(const State & glState,bool isCallValid,GLdouble x,GLdouble y)2575 CallCapture CaptureRasterPos2d(const State &glState, bool isCallValid, GLdouble x, GLdouble y)
2576 {
2577     ParamBuffer paramBuffer;
2578 
2579     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
2580     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
2581 
2582     return CallCapture(angle::EntryPoint::GLRasterPos2d, std::move(paramBuffer));
2583 }
2584 
CaptureRasterPos2dv(const State & glState,bool isCallValid,const GLdouble * v)2585 CallCapture CaptureRasterPos2dv(const State &glState, bool isCallValid, const GLdouble *v)
2586 {
2587     ParamBuffer paramBuffer;
2588 
2589     if (isCallValid)
2590     {
2591         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
2592         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
2593         CaptureRasterPos2dv_v(glState, isCallValid, v, &vParam);
2594         paramBuffer.addParam(std::move(vParam));
2595     }
2596     else
2597     {
2598         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
2599         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
2600                        &vParam.value);
2601         paramBuffer.addParam(std::move(vParam));
2602     }
2603 
2604     return CallCapture(angle::EntryPoint::GLRasterPos2dv, std::move(paramBuffer));
2605 }
2606 
CaptureRasterPos2f(const State & glState,bool isCallValid,GLfloat x,GLfloat y)2607 CallCapture CaptureRasterPos2f(const State &glState, bool isCallValid, GLfloat x, GLfloat y)
2608 {
2609     ParamBuffer paramBuffer;
2610 
2611     paramBuffer.addValueParam("x", ParamType::TGLfloat, x);
2612     paramBuffer.addValueParam("y", ParamType::TGLfloat, y);
2613 
2614     return CallCapture(angle::EntryPoint::GLRasterPos2f, std::move(paramBuffer));
2615 }
2616 
CaptureRasterPos2fv(const State & glState,bool isCallValid,const GLfloat * v)2617 CallCapture CaptureRasterPos2fv(const State &glState, bool isCallValid, const GLfloat *v)
2618 {
2619     ParamBuffer paramBuffer;
2620 
2621     if (isCallValid)
2622     {
2623         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
2624         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
2625         CaptureRasterPos2fv_v(glState, isCallValid, v, &vParam);
2626         paramBuffer.addParam(std::move(vParam));
2627     }
2628     else
2629     {
2630         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
2631         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
2632                        &vParam.value);
2633         paramBuffer.addParam(std::move(vParam));
2634     }
2635 
2636     return CallCapture(angle::EntryPoint::GLRasterPos2fv, std::move(paramBuffer));
2637 }
2638 
CaptureRasterPos2i(const State & glState,bool isCallValid,GLint x,GLint y)2639 CallCapture CaptureRasterPos2i(const State &glState, bool isCallValid, GLint x, GLint y)
2640 {
2641     ParamBuffer paramBuffer;
2642 
2643     paramBuffer.addValueParam("x", ParamType::TGLint, x);
2644     paramBuffer.addValueParam("y", ParamType::TGLint, y);
2645 
2646     return CallCapture(angle::EntryPoint::GLRasterPos2i, std::move(paramBuffer));
2647 }
2648 
CaptureRasterPos2iv(const State & glState,bool isCallValid,const GLint * v)2649 CallCapture CaptureRasterPos2iv(const State &glState, bool isCallValid, const GLint *v)
2650 {
2651     ParamBuffer paramBuffer;
2652 
2653     if (isCallValid)
2654     {
2655         ParamCapture vParam("v", ParamType::TGLintConstPointer);
2656         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
2657         CaptureRasterPos2iv_v(glState, isCallValid, v, &vParam);
2658         paramBuffer.addParam(std::move(vParam));
2659     }
2660     else
2661     {
2662         ParamCapture vParam("v", ParamType::TGLintConstPointer);
2663         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
2664                        &vParam.value);
2665         paramBuffer.addParam(std::move(vParam));
2666     }
2667 
2668     return CallCapture(angle::EntryPoint::GLRasterPos2iv, std::move(paramBuffer));
2669 }
2670 
CaptureRasterPos2s(const State & glState,bool isCallValid,GLshort x,GLshort y)2671 CallCapture CaptureRasterPos2s(const State &glState, bool isCallValid, GLshort x, GLshort y)
2672 {
2673     ParamBuffer paramBuffer;
2674 
2675     paramBuffer.addValueParam("x", ParamType::TGLshort, x);
2676     paramBuffer.addValueParam("y", ParamType::TGLshort, y);
2677 
2678     return CallCapture(angle::EntryPoint::GLRasterPos2s, std::move(paramBuffer));
2679 }
2680 
CaptureRasterPos2sv(const State & glState,bool isCallValid,const GLshort * v)2681 CallCapture CaptureRasterPos2sv(const State &glState, bool isCallValid, const GLshort *v)
2682 {
2683     ParamBuffer paramBuffer;
2684 
2685     if (isCallValid)
2686     {
2687         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
2688         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
2689         CaptureRasterPos2sv_v(glState, isCallValid, v, &vParam);
2690         paramBuffer.addParam(std::move(vParam));
2691     }
2692     else
2693     {
2694         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
2695         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
2696                        &vParam.value);
2697         paramBuffer.addParam(std::move(vParam));
2698     }
2699 
2700     return CallCapture(angle::EntryPoint::GLRasterPos2sv, std::move(paramBuffer));
2701 }
2702 
CaptureRasterPos3d(const State & glState,bool isCallValid,GLdouble x,GLdouble y,GLdouble z)2703 CallCapture CaptureRasterPos3d(const State &glState,
2704                                bool isCallValid,
2705                                GLdouble x,
2706                                GLdouble y,
2707                                GLdouble z)
2708 {
2709     ParamBuffer paramBuffer;
2710 
2711     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
2712     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
2713     paramBuffer.addValueParam("z", ParamType::TGLdouble, z);
2714 
2715     return CallCapture(angle::EntryPoint::GLRasterPos3d, std::move(paramBuffer));
2716 }
2717 
CaptureRasterPos3dv(const State & glState,bool isCallValid,const GLdouble * v)2718 CallCapture CaptureRasterPos3dv(const State &glState, bool isCallValid, const GLdouble *v)
2719 {
2720     ParamBuffer paramBuffer;
2721 
2722     if (isCallValid)
2723     {
2724         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
2725         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
2726         CaptureRasterPos3dv_v(glState, isCallValid, v, &vParam);
2727         paramBuffer.addParam(std::move(vParam));
2728     }
2729     else
2730     {
2731         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
2732         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
2733                        &vParam.value);
2734         paramBuffer.addParam(std::move(vParam));
2735     }
2736 
2737     return CallCapture(angle::EntryPoint::GLRasterPos3dv, std::move(paramBuffer));
2738 }
2739 
CaptureRasterPos3f(const State & glState,bool isCallValid,GLfloat x,GLfloat y,GLfloat z)2740 CallCapture CaptureRasterPos3f(const State &glState,
2741                                bool isCallValid,
2742                                GLfloat x,
2743                                GLfloat y,
2744                                GLfloat z)
2745 {
2746     ParamBuffer paramBuffer;
2747 
2748     paramBuffer.addValueParam("x", ParamType::TGLfloat, x);
2749     paramBuffer.addValueParam("y", ParamType::TGLfloat, y);
2750     paramBuffer.addValueParam("z", ParamType::TGLfloat, z);
2751 
2752     return CallCapture(angle::EntryPoint::GLRasterPos3f, std::move(paramBuffer));
2753 }
2754 
CaptureRasterPos3fv(const State & glState,bool isCallValid,const GLfloat * v)2755 CallCapture CaptureRasterPos3fv(const State &glState, bool isCallValid, const GLfloat *v)
2756 {
2757     ParamBuffer paramBuffer;
2758 
2759     if (isCallValid)
2760     {
2761         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
2762         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
2763         CaptureRasterPos3fv_v(glState, isCallValid, v, &vParam);
2764         paramBuffer.addParam(std::move(vParam));
2765     }
2766     else
2767     {
2768         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
2769         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
2770                        &vParam.value);
2771         paramBuffer.addParam(std::move(vParam));
2772     }
2773 
2774     return CallCapture(angle::EntryPoint::GLRasterPos3fv, std::move(paramBuffer));
2775 }
2776 
CaptureRasterPos3i(const State & glState,bool isCallValid,GLint x,GLint y,GLint z)2777 CallCapture CaptureRasterPos3i(const State &glState, bool isCallValid, GLint x, GLint y, GLint z)
2778 {
2779     ParamBuffer paramBuffer;
2780 
2781     paramBuffer.addValueParam("x", ParamType::TGLint, x);
2782     paramBuffer.addValueParam("y", ParamType::TGLint, y);
2783     paramBuffer.addValueParam("z", ParamType::TGLint, z);
2784 
2785     return CallCapture(angle::EntryPoint::GLRasterPos3i, std::move(paramBuffer));
2786 }
2787 
CaptureRasterPos3iv(const State & glState,bool isCallValid,const GLint * v)2788 CallCapture CaptureRasterPos3iv(const State &glState, bool isCallValid, const GLint *v)
2789 {
2790     ParamBuffer paramBuffer;
2791 
2792     if (isCallValid)
2793     {
2794         ParamCapture vParam("v", ParamType::TGLintConstPointer);
2795         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
2796         CaptureRasterPos3iv_v(glState, isCallValid, v, &vParam);
2797         paramBuffer.addParam(std::move(vParam));
2798     }
2799     else
2800     {
2801         ParamCapture vParam("v", ParamType::TGLintConstPointer);
2802         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
2803                        &vParam.value);
2804         paramBuffer.addParam(std::move(vParam));
2805     }
2806 
2807     return CallCapture(angle::EntryPoint::GLRasterPos3iv, std::move(paramBuffer));
2808 }
2809 
CaptureRasterPos3s(const State & glState,bool isCallValid,GLshort x,GLshort y,GLshort z)2810 CallCapture CaptureRasterPos3s(const State &glState,
2811                                bool isCallValid,
2812                                GLshort x,
2813                                GLshort y,
2814                                GLshort z)
2815 {
2816     ParamBuffer paramBuffer;
2817 
2818     paramBuffer.addValueParam("x", ParamType::TGLshort, x);
2819     paramBuffer.addValueParam("y", ParamType::TGLshort, y);
2820     paramBuffer.addValueParam("z", ParamType::TGLshort, z);
2821 
2822     return CallCapture(angle::EntryPoint::GLRasterPos3s, std::move(paramBuffer));
2823 }
2824 
CaptureRasterPos3sv(const State & glState,bool isCallValid,const GLshort * v)2825 CallCapture CaptureRasterPos3sv(const State &glState, bool isCallValid, const GLshort *v)
2826 {
2827     ParamBuffer paramBuffer;
2828 
2829     if (isCallValid)
2830     {
2831         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
2832         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
2833         CaptureRasterPos3sv_v(glState, isCallValid, v, &vParam);
2834         paramBuffer.addParam(std::move(vParam));
2835     }
2836     else
2837     {
2838         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
2839         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
2840                        &vParam.value);
2841         paramBuffer.addParam(std::move(vParam));
2842     }
2843 
2844     return CallCapture(angle::EntryPoint::GLRasterPos3sv, std::move(paramBuffer));
2845 }
2846 
CaptureRasterPos4d(const State & glState,bool isCallValid,GLdouble x,GLdouble y,GLdouble z,GLdouble w)2847 CallCapture CaptureRasterPos4d(const State &glState,
2848                                bool isCallValid,
2849                                GLdouble x,
2850                                GLdouble y,
2851                                GLdouble z,
2852                                GLdouble w)
2853 {
2854     ParamBuffer paramBuffer;
2855 
2856     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
2857     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
2858     paramBuffer.addValueParam("z", ParamType::TGLdouble, z);
2859     paramBuffer.addValueParam("w", ParamType::TGLdouble, w);
2860 
2861     return CallCapture(angle::EntryPoint::GLRasterPos4d, std::move(paramBuffer));
2862 }
2863 
CaptureRasterPos4dv(const State & glState,bool isCallValid,const GLdouble * v)2864 CallCapture CaptureRasterPos4dv(const State &glState, bool isCallValid, const GLdouble *v)
2865 {
2866     ParamBuffer paramBuffer;
2867 
2868     if (isCallValid)
2869     {
2870         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
2871         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
2872         CaptureRasterPos4dv_v(glState, isCallValid, v, &vParam);
2873         paramBuffer.addParam(std::move(vParam));
2874     }
2875     else
2876     {
2877         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
2878         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
2879                        &vParam.value);
2880         paramBuffer.addParam(std::move(vParam));
2881     }
2882 
2883     return CallCapture(angle::EntryPoint::GLRasterPos4dv, std::move(paramBuffer));
2884 }
2885 
CaptureRasterPos4f(const State & glState,bool isCallValid,GLfloat x,GLfloat y,GLfloat z,GLfloat w)2886 CallCapture CaptureRasterPos4f(const State &glState,
2887                                bool isCallValid,
2888                                GLfloat x,
2889                                GLfloat y,
2890                                GLfloat z,
2891                                GLfloat w)
2892 {
2893     ParamBuffer paramBuffer;
2894 
2895     paramBuffer.addValueParam("x", ParamType::TGLfloat, x);
2896     paramBuffer.addValueParam("y", ParamType::TGLfloat, y);
2897     paramBuffer.addValueParam("z", ParamType::TGLfloat, z);
2898     paramBuffer.addValueParam("w", ParamType::TGLfloat, w);
2899 
2900     return CallCapture(angle::EntryPoint::GLRasterPos4f, std::move(paramBuffer));
2901 }
2902 
CaptureRasterPos4fv(const State & glState,bool isCallValid,const GLfloat * v)2903 CallCapture CaptureRasterPos4fv(const State &glState, bool isCallValid, const GLfloat *v)
2904 {
2905     ParamBuffer paramBuffer;
2906 
2907     if (isCallValid)
2908     {
2909         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
2910         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
2911         CaptureRasterPos4fv_v(glState, isCallValid, v, &vParam);
2912         paramBuffer.addParam(std::move(vParam));
2913     }
2914     else
2915     {
2916         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
2917         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
2918                        &vParam.value);
2919         paramBuffer.addParam(std::move(vParam));
2920     }
2921 
2922     return CallCapture(angle::EntryPoint::GLRasterPos4fv, std::move(paramBuffer));
2923 }
2924 
CaptureRasterPos4i(const State & glState,bool isCallValid,GLint x,GLint y,GLint z,GLint w)2925 CallCapture CaptureRasterPos4i(const State &glState,
2926                                bool isCallValid,
2927                                GLint x,
2928                                GLint y,
2929                                GLint z,
2930                                GLint w)
2931 {
2932     ParamBuffer paramBuffer;
2933 
2934     paramBuffer.addValueParam("x", ParamType::TGLint, x);
2935     paramBuffer.addValueParam("y", ParamType::TGLint, y);
2936     paramBuffer.addValueParam("z", ParamType::TGLint, z);
2937     paramBuffer.addValueParam("w", ParamType::TGLint, w);
2938 
2939     return CallCapture(angle::EntryPoint::GLRasterPos4i, std::move(paramBuffer));
2940 }
2941 
CaptureRasterPos4iv(const State & glState,bool isCallValid,const GLint * v)2942 CallCapture CaptureRasterPos4iv(const State &glState, bool isCallValid, const GLint *v)
2943 {
2944     ParamBuffer paramBuffer;
2945 
2946     if (isCallValid)
2947     {
2948         ParamCapture vParam("v", ParamType::TGLintConstPointer);
2949         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
2950         CaptureRasterPos4iv_v(glState, isCallValid, v, &vParam);
2951         paramBuffer.addParam(std::move(vParam));
2952     }
2953     else
2954     {
2955         ParamCapture vParam("v", ParamType::TGLintConstPointer);
2956         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
2957                        &vParam.value);
2958         paramBuffer.addParam(std::move(vParam));
2959     }
2960 
2961     return CallCapture(angle::EntryPoint::GLRasterPos4iv, std::move(paramBuffer));
2962 }
2963 
CaptureRasterPos4s(const State & glState,bool isCallValid,GLshort x,GLshort y,GLshort z,GLshort w)2964 CallCapture CaptureRasterPos4s(const State &glState,
2965                                bool isCallValid,
2966                                GLshort x,
2967                                GLshort y,
2968                                GLshort z,
2969                                GLshort w)
2970 {
2971     ParamBuffer paramBuffer;
2972 
2973     paramBuffer.addValueParam("x", ParamType::TGLshort, x);
2974     paramBuffer.addValueParam("y", ParamType::TGLshort, y);
2975     paramBuffer.addValueParam("z", ParamType::TGLshort, z);
2976     paramBuffer.addValueParam("w", ParamType::TGLshort, w);
2977 
2978     return CallCapture(angle::EntryPoint::GLRasterPos4s, std::move(paramBuffer));
2979 }
2980 
CaptureRasterPos4sv(const State & glState,bool isCallValid,const GLshort * v)2981 CallCapture CaptureRasterPos4sv(const State &glState, bool isCallValid, const GLshort *v)
2982 {
2983     ParamBuffer paramBuffer;
2984 
2985     if (isCallValid)
2986     {
2987         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
2988         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
2989         CaptureRasterPos4sv_v(glState, isCallValid, v, &vParam);
2990         paramBuffer.addParam(std::move(vParam));
2991     }
2992     else
2993     {
2994         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
2995         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
2996                        &vParam.value);
2997         paramBuffer.addParam(std::move(vParam));
2998     }
2999 
3000     return CallCapture(angle::EntryPoint::GLRasterPos4sv, std::move(paramBuffer));
3001 }
3002 
CaptureRectd(const State & glState,bool isCallValid,GLdouble x1,GLdouble y1,GLdouble x2,GLdouble y2)3003 CallCapture CaptureRectd(const State &glState,
3004                          bool isCallValid,
3005                          GLdouble x1,
3006                          GLdouble y1,
3007                          GLdouble x2,
3008                          GLdouble y2)
3009 {
3010     ParamBuffer paramBuffer;
3011 
3012     paramBuffer.addValueParam("x1", ParamType::TGLdouble, x1);
3013     paramBuffer.addValueParam("y1", ParamType::TGLdouble, y1);
3014     paramBuffer.addValueParam("x2", ParamType::TGLdouble, x2);
3015     paramBuffer.addValueParam("y2", ParamType::TGLdouble, y2);
3016 
3017     return CallCapture(angle::EntryPoint::GLRectd, std::move(paramBuffer));
3018 }
3019 
CaptureRectdv(const State & glState,bool isCallValid,const GLdouble * v1,const GLdouble * v2)3020 CallCapture CaptureRectdv(const State &glState,
3021                           bool isCallValid,
3022                           const GLdouble *v1,
3023                           const GLdouble *v2)
3024 {
3025     ParamBuffer paramBuffer;
3026 
3027     if (isCallValid)
3028     {
3029         ParamCapture v1Param("v1", ParamType::TGLdoubleConstPointer);
3030         InitParamValue(ParamType::TGLdoubleConstPointer, v1, &v1Param.value);
3031         CaptureRectdv_v1(glState, isCallValid, v1, v2, &v1Param);
3032         paramBuffer.addParam(std::move(v1Param));
3033     }
3034     else
3035     {
3036         ParamCapture v1Param("v1", ParamType::TGLdoubleConstPointer);
3037         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
3038                        &v1Param.value);
3039         paramBuffer.addParam(std::move(v1Param));
3040     }
3041 
3042     if (isCallValid)
3043     {
3044         ParamCapture v2Param("v2", ParamType::TGLdoubleConstPointer);
3045         InitParamValue(ParamType::TGLdoubleConstPointer, v2, &v2Param.value);
3046         CaptureRectdv_v2(glState, isCallValid, v1, v2, &v2Param);
3047         paramBuffer.addParam(std::move(v2Param));
3048     }
3049     else
3050     {
3051         ParamCapture v2Param("v2", ParamType::TGLdoubleConstPointer);
3052         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
3053                        &v2Param.value);
3054         paramBuffer.addParam(std::move(v2Param));
3055     }
3056 
3057     return CallCapture(angle::EntryPoint::GLRectdv, std::move(paramBuffer));
3058 }
3059 
CaptureRectf(const State & glState,bool isCallValid,GLfloat x1,GLfloat y1,GLfloat x2,GLfloat y2)3060 CallCapture CaptureRectf(const State &glState,
3061                          bool isCallValid,
3062                          GLfloat x1,
3063                          GLfloat y1,
3064                          GLfloat x2,
3065                          GLfloat y2)
3066 {
3067     ParamBuffer paramBuffer;
3068 
3069     paramBuffer.addValueParam("x1", ParamType::TGLfloat, x1);
3070     paramBuffer.addValueParam("y1", ParamType::TGLfloat, y1);
3071     paramBuffer.addValueParam("x2", ParamType::TGLfloat, x2);
3072     paramBuffer.addValueParam("y2", ParamType::TGLfloat, y2);
3073 
3074     return CallCapture(angle::EntryPoint::GLRectf, std::move(paramBuffer));
3075 }
3076 
CaptureRectfv(const State & glState,bool isCallValid,const GLfloat * v1,const GLfloat * v2)3077 CallCapture CaptureRectfv(const State &glState,
3078                           bool isCallValid,
3079                           const GLfloat *v1,
3080                           const GLfloat *v2)
3081 {
3082     ParamBuffer paramBuffer;
3083 
3084     if (isCallValid)
3085     {
3086         ParamCapture v1Param("v1", ParamType::TGLfloatConstPointer);
3087         InitParamValue(ParamType::TGLfloatConstPointer, v1, &v1Param.value);
3088         CaptureRectfv_v1(glState, isCallValid, v1, v2, &v1Param);
3089         paramBuffer.addParam(std::move(v1Param));
3090     }
3091     else
3092     {
3093         ParamCapture v1Param("v1", ParamType::TGLfloatConstPointer);
3094         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
3095                        &v1Param.value);
3096         paramBuffer.addParam(std::move(v1Param));
3097     }
3098 
3099     if (isCallValid)
3100     {
3101         ParamCapture v2Param("v2", ParamType::TGLfloatConstPointer);
3102         InitParamValue(ParamType::TGLfloatConstPointer, v2, &v2Param.value);
3103         CaptureRectfv_v2(glState, isCallValid, v1, v2, &v2Param);
3104         paramBuffer.addParam(std::move(v2Param));
3105     }
3106     else
3107     {
3108         ParamCapture v2Param("v2", ParamType::TGLfloatConstPointer);
3109         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
3110                        &v2Param.value);
3111         paramBuffer.addParam(std::move(v2Param));
3112     }
3113 
3114     return CallCapture(angle::EntryPoint::GLRectfv, std::move(paramBuffer));
3115 }
3116 
CaptureRecti(const State & glState,bool isCallValid,GLint x1,GLint y1,GLint x2,GLint y2)3117 CallCapture CaptureRecti(const State &glState,
3118                          bool isCallValid,
3119                          GLint x1,
3120                          GLint y1,
3121                          GLint x2,
3122                          GLint y2)
3123 {
3124     ParamBuffer paramBuffer;
3125 
3126     paramBuffer.addValueParam("x1", ParamType::TGLint, x1);
3127     paramBuffer.addValueParam("y1", ParamType::TGLint, y1);
3128     paramBuffer.addValueParam("x2", ParamType::TGLint, x2);
3129     paramBuffer.addValueParam("y2", ParamType::TGLint, y2);
3130 
3131     return CallCapture(angle::EntryPoint::GLRecti, std::move(paramBuffer));
3132 }
3133 
CaptureRectiv(const State & glState,bool isCallValid,const GLint * v1,const GLint * v2)3134 CallCapture CaptureRectiv(const State &glState, bool isCallValid, const GLint *v1, const GLint *v2)
3135 {
3136     ParamBuffer paramBuffer;
3137 
3138     if (isCallValid)
3139     {
3140         ParamCapture v1Param("v1", ParamType::TGLintConstPointer);
3141         InitParamValue(ParamType::TGLintConstPointer, v1, &v1Param.value);
3142         CaptureRectiv_v1(glState, isCallValid, v1, v2, &v1Param);
3143         paramBuffer.addParam(std::move(v1Param));
3144     }
3145     else
3146     {
3147         ParamCapture v1Param("v1", ParamType::TGLintConstPointer);
3148         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3149                        &v1Param.value);
3150         paramBuffer.addParam(std::move(v1Param));
3151     }
3152 
3153     if (isCallValid)
3154     {
3155         ParamCapture v2Param("v2", ParamType::TGLintConstPointer);
3156         InitParamValue(ParamType::TGLintConstPointer, v2, &v2Param.value);
3157         CaptureRectiv_v2(glState, isCallValid, v1, v2, &v2Param);
3158         paramBuffer.addParam(std::move(v2Param));
3159     }
3160     else
3161     {
3162         ParamCapture v2Param("v2", ParamType::TGLintConstPointer);
3163         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3164                        &v2Param.value);
3165         paramBuffer.addParam(std::move(v2Param));
3166     }
3167 
3168     return CallCapture(angle::EntryPoint::GLRectiv, std::move(paramBuffer));
3169 }
3170 
CaptureRects(const State & glState,bool isCallValid,GLshort x1,GLshort y1,GLshort x2,GLshort y2)3171 CallCapture CaptureRects(const State &glState,
3172                          bool isCallValid,
3173                          GLshort x1,
3174                          GLshort y1,
3175                          GLshort x2,
3176                          GLshort y2)
3177 {
3178     ParamBuffer paramBuffer;
3179 
3180     paramBuffer.addValueParam("x1", ParamType::TGLshort, x1);
3181     paramBuffer.addValueParam("y1", ParamType::TGLshort, y1);
3182     paramBuffer.addValueParam("x2", ParamType::TGLshort, x2);
3183     paramBuffer.addValueParam("y2", ParamType::TGLshort, y2);
3184 
3185     return CallCapture(angle::EntryPoint::GLRects, std::move(paramBuffer));
3186 }
3187 
CaptureRectsv(const State & glState,bool isCallValid,const GLshort * v1,const GLshort * v2)3188 CallCapture CaptureRectsv(const State &glState,
3189                           bool isCallValid,
3190                           const GLshort *v1,
3191                           const GLshort *v2)
3192 {
3193     ParamBuffer paramBuffer;
3194 
3195     if (isCallValid)
3196     {
3197         ParamCapture v1Param("v1", ParamType::TGLshortConstPointer);
3198         InitParamValue(ParamType::TGLshortConstPointer, v1, &v1Param.value);
3199         CaptureRectsv_v1(glState, isCallValid, v1, v2, &v1Param);
3200         paramBuffer.addParam(std::move(v1Param));
3201     }
3202     else
3203     {
3204         ParamCapture v1Param("v1", ParamType::TGLshortConstPointer);
3205         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
3206                        &v1Param.value);
3207         paramBuffer.addParam(std::move(v1Param));
3208     }
3209 
3210     if (isCallValid)
3211     {
3212         ParamCapture v2Param("v2", ParamType::TGLshortConstPointer);
3213         InitParamValue(ParamType::TGLshortConstPointer, v2, &v2Param.value);
3214         CaptureRectsv_v2(glState, isCallValid, v1, v2, &v2Param);
3215         paramBuffer.addParam(std::move(v2Param));
3216     }
3217     else
3218     {
3219         ParamCapture v2Param("v2", ParamType::TGLshortConstPointer);
3220         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
3221                        &v2Param.value);
3222         paramBuffer.addParam(std::move(v2Param));
3223     }
3224 
3225     return CallCapture(angle::EntryPoint::GLRectsv, std::move(paramBuffer));
3226 }
3227 
CaptureRenderMode(const State & glState,bool isCallValid,GLenum mode,GLint returnValue)3228 CallCapture CaptureRenderMode(const State &glState,
3229                               bool isCallValid,
3230                               GLenum mode,
3231                               GLint returnValue)
3232 {
3233     ParamBuffer paramBuffer;
3234 
3235     paramBuffer.addEnumParam("mode", BigGLEnum::RenderingMode, ParamType::TGLenum, mode);
3236 
3237     ParamCapture returnValueCapture("returnValue", ParamType::TGLint);
3238     InitParamValue(ParamType::TGLint, returnValue, &returnValueCapture.value);
3239     paramBuffer.addReturnValue(std::move(returnValueCapture));
3240 
3241     return CallCapture(angle::EntryPoint::GLRenderMode, std::move(paramBuffer));
3242 }
3243 
CaptureRotated(const State & glState,bool isCallValid,GLdouble angle,GLdouble x,GLdouble y,GLdouble z)3244 CallCapture CaptureRotated(const State &glState,
3245                            bool isCallValid,
3246                            GLdouble angle,
3247                            GLdouble x,
3248                            GLdouble y,
3249                            GLdouble z)
3250 {
3251     ParamBuffer paramBuffer;
3252 
3253     paramBuffer.addValueParam("angle", ParamType::TGLdouble, angle);
3254     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
3255     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
3256     paramBuffer.addValueParam("z", ParamType::TGLdouble, z);
3257 
3258     return CallCapture(angle::EntryPoint::GLRotated, std::move(paramBuffer));
3259 }
3260 
CaptureScaled(const State & glState,bool isCallValid,GLdouble x,GLdouble y,GLdouble z)3261 CallCapture CaptureScaled(const State &glState,
3262                           bool isCallValid,
3263                           GLdouble x,
3264                           GLdouble y,
3265                           GLdouble z)
3266 {
3267     ParamBuffer paramBuffer;
3268 
3269     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
3270     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
3271     paramBuffer.addValueParam("z", ParamType::TGLdouble, z);
3272 
3273     return CallCapture(angle::EntryPoint::GLScaled, std::move(paramBuffer));
3274 }
3275 
CaptureSelectBuffer(const State & glState,bool isCallValid,GLsizei size,GLuint * buffer)3276 CallCapture CaptureSelectBuffer(const State &glState,
3277                                 bool isCallValid,
3278                                 GLsizei size,
3279                                 GLuint *buffer)
3280 {
3281     ParamBuffer paramBuffer;
3282 
3283     paramBuffer.addValueParam("size", ParamType::TGLsizei, size);
3284 
3285     if (isCallValid)
3286     {
3287         ParamCapture bufferParam("buffer", ParamType::TGLuintPointer);
3288         InitParamValue(ParamType::TGLuintPointer, buffer, &bufferParam.value);
3289         CaptureSelectBuffer_buffer(glState, isCallValid, size, buffer, &bufferParam);
3290         paramBuffer.addParam(std::move(bufferParam));
3291     }
3292     else
3293     {
3294         ParamCapture bufferParam("buffer", ParamType::TGLuintPointer);
3295         InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
3296                        &bufferParam.value);
3297         paramBuffer.addParam(std::move(bufferParam));
3298     }
3299 
3300     return CallCapture(angle::EntryPoint::GLSelectBuffer, std::move(paramBuffer));
3301 }
3302 
CaptureTexCoord1d(const State & glState,bool isCallValid,GLdouble s)3303 CallCapture CaptureTexCoord1d(const State &glState, bool isCallValid, GLdouble s)
3304 {
3305     ParamBuffer paramBuffer;
3306 
3307     paramBuffer.addValueParam("s", ParamType::TGLdouble, s);
3308 
3309     return CallCapture(angle::EntryPoint::GLTexCoord1d, std::move(paramBuffer));
3310 }
3311 
CaptureTexCoord1dv(const State & glState,bool isCallValid,const GLdouble * v)3312 CallCapture CaptureTexCoord1dv(const State &glState, bool isCallValid, const GLdouble *v)
3313 {
3314     ParamBuffer paramBuffer;
3315 
3316     if (isCallValid)
3317     {
3318         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
3319         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
3320         CaptureTexCoord1dv_v(glState, isCallValid, v, &vParam);
3321         paramBuffer.addParam(std::move(vParam));
3322     }
3323     else
3324     {
3325         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
3326         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
3327                        &vParam.value);
3328         paramBuffer.addParam(std::move(vParam));
3329     }
3330 
3331     return CallCapture(angle::EntryPoint::GLTexCoord1dv, std::move(paramBuffer));
3332 }
3333 
CaptureTexCoord1f(const State & glState,bool isCallValid,GLfloat s)3334 CallCapture CaptureTexCoord1f(const State &glState, bool isCallValid, GLfloat s)
3335 {
3336     ParamBuffer paramBuffer;
3337 
3338     paramBuffer.addValueParam("s", ParamType::TGLfloat, s);
3339 
3340     return CallCapture(angle::EntryPoint::GLTexCoord1f, std::move(paramBuffer));
3341 }
3342 
CaptureTexCoord1fv(const State & glState,bool isCallValid,const GLfloat * v)3343 CallCapture CaptureTexCoord1fv(const State &glState, bool isCallValid, const GLfloat *v)
3344 {
3345     ParamBuffer paramBuffer;
3346 
3347     if (isCallValid)
3348     {
3349         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
3350         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
3351         CaptureTexCoord1fv_v(glState, isCallValid, v, &vParam);
3352         paramBuffer.addParam(std::move(vParam));
3353     }
3354     else
3355     {
3356         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
3357         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
3358                        &vParam.value);
3359         paramBuffer.addParam(std::move(vParam));
3360     }
3361 
3362     return CallCapture(angle::EntryPoint::GLTexCoord1fv, std::move(paramBuffer));
3363 }
3364 
CaptureTexCoord1i(const State & glState,bool isCallValid,GLint s)3365 CallCapture CaptureTexCoord1i(const State &glState, bool isCallValid, GLint s)
3366 {
3367     ParamBuffer paramBuffer;
3368 
3369     paramBuffer.addValueParam("s", ParamType::TGLint, s);
3370 
3371     return CallCapture(angle::EntryPoint::GLTexCoord1i, std::move(paramBuffer));
3372 }
3373 
CaptureTexCoord1iv(const State & glState,bool isCallValid,const GLint * v)3374 CallCapture CaptureTexCoord1iv(const State &glState, bool isCallValid, const GLint *v)
3375 {
3376     ParamBuffer paramBuffer;
3377 
3378     if (isCallValid)
3379     {
3380         ParamCapture vParam("v", ParamType::TGLintConstPointer);
3381         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
3382         CaptureTexCoord1iv_v(glState, isCallValid, v, &vParam);
3383         paramBuffer.addParam(std::move(vParam));
3384     }
3385     else
3386     {
3387         ParamCapture vParam("v", ParamType::TGLintConstPointer);
3388         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3389                        &vParam.value);
3390         paramBuffer.addParam(std::move(vParam));
3391     }
3392 
3393     return CallCapture(angle::EntryPoint::GLTexCoord1iv, std::move(paramBuffer));
3394 }
3395 
CaptureTexCoord1s(const State & glState,bool isCallValid,GLshort s)3396 CallCapture CaptureTexCoord1s(const State &glState, bool isCallValid, GLshort s)
3397 {
3398     ParamBuffer paramBuffer;
3399 
3400     paramBuffer.addValueParam("s", ParamType::TGLshort, s);
3401 
3402     return CallCapture(angle::EntryPoint::GLTexCoord1s, std::move(paramBuffer));
3403 }
3404 
CaptureTexCoord1sv(const State & glState,bool isCallValid,const GLshort * v)3405 CallCapture CaptureTexCoord1sv(const State &glState, bool isCallValid, const GLshort *v)
3406 {
3407     ParamBuffer paramBuffer;
3408 
3409     if (isCallValid)
3410     {
3411         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
3412         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
3413         CaptureTexCoord1sv_v(glState, isCallValid, v, &vParam);
3414         paramBuffer.addParam(std::move(vParam));
3415     }
3416     else
3417     {
3418         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
3419         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
3420                        &vParam.value);
3421         paramBuffer.addParam(std::move(vParam));
3422     }
3423 
3424     return CallCapture(angle::EntryPoint::GLTexCoord1sv, std::move(paramBuffer));
3425 }
3426 
CaptureTexCoord2d(const State & glState,bool isCallValid,GLdouble s,GLdouble t)3427 CallCapture CaptureTexCoord2d(const State &glState, bool isCallValid, GLdouble s, GLdouble t)
3428 {
3429     ParamBuffer paramBuffer;
3430 
3431     paramBuffer.addValueParam("s", ParamType::TGLdouble, s);
3432     paramBuffer.addValueParam("t", ParamType::TGLdouble, t);
3433 
3434     return CallCapture(angle::EntryPoint::GLTexCoord2d, std::move(paramBuffer));
3435 }
3436 
CaptureTexCoord2dv(const State & glState,bool isCallValid,const GLdouble * v)3437 CallCapture CaptureTexCoord2dv(const State &glState, bool isCallValid, const GLdouble *v)
3438 {
3439     ParamBuffer paramBuffer;
3440 
3441     if (isCallValid)
3442     {
3443         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
3444         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
3445         CaptureTexCoord2dv_v(glState, isCallValid, v, &vParam);
3446         paramBuffer.addParam(std::move(vParam));
3447     }
3448     else
3449     {
3450         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
3451         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
3452                        &vParam.value);
3453         paramBuffer.addParam(std::move(vParam));
3454     }
3455 
3456     return CallCapture(angle::EntryPoint::GLTexCoord2dv, std::move(paramBuffer));
3457 }
3458 
CaptureTexCoord2f(const State & glState,bool isCallValid,GLfloat s,GLfloat t)3459 CallCapture CaptureTexCoord2f(const State &glState, bool isCallValid, GLfloat s, GLfloat t)
3460 {
3461     ParamBuffer paramBuffer;
3462 
3463     paramBuffer.addValueParam("s", ParamType::TGLfloat, s);
3464     paramBuffer.addValueParam("t", ParamType::TGLfloat, t);
3465 
3466     return CallCapture(angle::EntryPoint::GLTexCoord2f, std::move(paramBuffer));
3467 }
3468 
CaptureTexCoord2fv(const State & glState,bool isCallValid,const GLfloat * v)3469 CallCapture CaptureTexCoord2fv(const State &glState, bool isCallValid, const GLfloat *v)
3470 {
3471     ParamBuffer paramBuffer;
3472 
3473     if (isCallValid)
3474     {
3475         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
3476         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
3477         CaptureTexCoord2fv_v(glState, isCallValid, v, &vParam);
3478         paramBuffer.addParam(std::move(vParam));
3479     }
3480     else
3481     {
3482         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
3483         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
3484                        &vParam.value);
3485         paramBuffer.addParam(std::move(vParam));
3486     }
3487 
3488     return CallCapture(angle::EntryPoint::GLTexCoord2fv, std::move(paramBuffer));
3489 }
3490 
CaptureTexCoord2i(const State & glState,bool isCallValid,GLint s,GLint t)3491 CallCapture CaptureTexCoord2i(const State &glState, bool isCallValid, GLint s, GLint t)
3492 {
3493     ParamBuffer paramBuffer;
3494 
3495     paramBuffer.addValueParam("s", ParamType::TGLint, s);
3496     paramBuffer.addValueParam("t", ParamType::TGLint, t);
3497 
3498     return CallCapture(angle::EntryPoint::GLTexCoord2i, std::move(paramBuffer));
3499 }
3500 
CaptureTexCoord2iv(const State & glState,bool isCallValid,const GLint * v)3501 CallCapture CaptureTexCoord2iv(const State &glState, bool isCallValid, const GLint *v)
3502 {
3503     ParamBuffer paramBuffer;
3504 
3505     if (isCallValid)
3506     {
3507         ParamCapture vParam("v", ParamType::TGLintConstPointer);
3508         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
3509         CaptureTexCoord2iv_v(glState, isCallValid, v, &vParam);
3510         paramBuffer.addParam(std::move(vParam));
3511     }
3512     else
3513     {
3514         ParamCapture vParam("v", ParamType::TGLintConstPointer);
3515         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3516                        &vParam.value);
3517         paramBuffer.addParam(std::move(vParam));
3518     }
3519 
3520     return CallCapture(angle::EntryPoint::GLTexCoord2iv, std::move(paramBuffer));
3521 }
3522 
CaptureTexCoord2s(const State & glState,bool isCallValid,GLshort s,GLshort t)3523 CallCapture CaptureTexCoord2s(const State &glState, bool isCallValid, GLshort s, GLshort t)
3524 {
3525     ParamBuffer paramBuffer;
3526 
3527     paramBuffer.addValueParam("s", ParamType::TGLshort, s);
3528     paramBuffer.addValueParam("t", ParamType::TGLshort, t);
3529 
3530     return CallCapture(angle::EntryPoint::GLTexCoord2s, std::move(paramBuffer));
3531 }
3532 
CaptureTexCoord2sv(const State & glState,bool isCallValid,const GLshort * v)3533 CallCapture CaptureTexCoord2sv(const State &glState, bool isCallValid, const GLshort *v)
3534 {
3535     ParamBuffer paramBuffer;
3536 
3537     if (isCallValid)
3538     {
3539         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
3540         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
3541         CaptureTexCoord2sv_v(glState, isCallValid, v, &vParam);
3542         paramBuffer.addParam(std::move(vParam));
3543     }
3544     else
3545     {
3546         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
3547         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
3548                        &vParam.value);
3549         paramBuffer.addParam(std::move(vParam));
3550     }
3551 
3552     return CallCapture(angle::EntryPoint::GLTexCoord2sv, std::move(paramBuffer));
3553 }
3554 
CaptureTexCoord3d(const State & glState,bool isCallValid,GLdouble s,GLdouble t,GLdouble r)3555 CallCapture CaptureTexCoord3d(const State &glState,
3556                               bool isCallValid,
3557                               GLdouble s,
3558                               GLdouble t,
3559                               GLdouble r)
3560 {
3561     ParamBuffer paramBuffer;
3562 
3563     paramBuffer.addValueParam("s", ParamType::TGLdouble, s);
3564     paramBuffer.addValueParam("t", ParamType::TGLdouble, t);
3565     paramBuffer.addValueParam("r", ParamType::TGLdouble, r);
3566 
3567     return CallCapture(angle::EntryPoint::GLTexCoord3d, std::move(paramBuffer));
3568 }
3569 
CaptureTexCoord3dv(const State & glState,bool isCallValid,const GLdouble * v)3570 CallCapture CaptureTexCoord3dv(const State &glState, bool isCallValid, const GLdouble *v)
3571 {
3572     ParamBuffer paramBuffer;
3573 
3574     if (isCallValid)
3575     {
3576         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
3577         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
3578         CaptureTexCoord3dv_v(glState, isCallValid, v, &vParam);
3579         paramBuffer.addParam(std::move(vParam));
3580     }
3581     else
3582     {
3583         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
3584         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
3585                        &vParam.value);
3586         paramBuffer.addParam(std::move(vParam));
3587     }
3588 
3589     return CallCapture(angle::EntryPoint::GLTexCoord3dv, std::move(paramBuffer));
3590 }
3591 
CaptureTexCoord3f(const State & glState,bool isCallValid,GLfloat s,GLfloat t,GLfloat r)3592 CallCapture CaptureTexCoord3f(const State &glState,
3593                               bool isCallValid,
3594                               GLfloat s,
3595                               GLfloat t,
3596                               GLfloat r)
3597 {
3598     ParamBuffer paramBuffer;
3599 
3600     paramBuffer.addValueParam("s", ParamType::TGLfloat, s);
3601     paramBuffer.addValueParam("t", ParamType::TGLfloat, t);
3602     paramBuffer.addValueParam("r", ParamType::TGLfloat, r);
3603 
3604     return CallCapture(angle::EntryPoint::GLTexCoord3f, std::move(paramBuffer));
3605 }
3606 
CaptureTexCoord3fv(const State & glState,bool isCallValid,const GLfloat * v)3607 CallCapture CaptureTexCoord3fv(const State &glState, bool isCallValid, const GLfloat *v)
3608 {
3609     ParamBuffer paramBuffer;
3610 
3611     if (isCallValid)
3612     {
3613         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
3614         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
3615         CaptureTexCoord3fv_v(glState, isCallValid, v, &vParam);
3616         paramBuffer.addParam(std::move(vParam));
3617     }
3618     else
3619     {
3620         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
3621         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
3622                        &vParam.value);
3623         paramBuffer.addParam(std::move(vParam));
3624     }
3625 
3626     return CallCapture(angle::EntryPoint::GLTexCoord3fv, std::move(paramBuffer));
3627 }
3628 
CaptureTexCoord3i(const State & glState,bool isCallValid,GLint s,GLint t,GLint r)3629 CallCapture CaptureTexCoord3i(const State &glState, bool isCallValid, GLint s, GLint t, GLint r)
3630 {
3631     ParamBuffer paramBuffer;
3632 
3633     paramBuffer.addValueParam("s", ParamType::TGLint, s);
3634     paramBuffer.addValueParam("t", ParamType::TGLint, t);
3635     paramBuffer.addValueParam("r", ParamType::TGLint, r);
3636 
3637     return CallCapture(angle::EntryPoint::GLTexCoord3i, std::move(paramBuffer));
3638 }
3639 
CaptureTexCoord3iv(const State & glState,bool isCallValid,const GLint * v)3640 CallCapture CaptureTexCoord3iv(const State &glState, bool isCallValid, const GLint *v)
3641 {
3642     ParamBuffer paramBuffer;
3643 
3644     if (isCallValid)
3645     {
3646         ParamCapture vParam("v", ParamType::TGLintConstPointer);
3647         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
3648         CaptureTexCoord3iv_v(glState, isCallValid, v, &vParam);
3649         paramBuffer.addParam(std::move(vParam));
3650     }
3651     else
3652     {
3653         ParamCapture vParam("v", ParamType::TGLintConstPointer);
3654         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3655                        &vParam.value);
3656         paramBuffer.addParam(std::move(vParam));
3657     }
3658 
3659     return CallCapture(angle::EntryPoint::GLTexCoord3iv, std::move(paramBuffer));
3660 }
3661 
CaptureTexCoord3s(const State & glState,bool isCallValid,GLshort s,GLshort t,GLshort r)3662 CallCapture CaptureTexCoord3s(const State &glState,
3663                               bool isCallValid,
3664                               GLshort s,
3665                               GLshort t,
3666                               GLshort r)
3667 {
3668     ParamBuffer paramBuffer;
3669 
3670     paramBuffer.addValueParam("s", ParamType::TGLshort, s);
3671     paramBuffer.addValueParam("t", ParamType::TGLshort, t);
3672     paramBuffer.addValueParam("r", ParamType::TGLshort, r);
3673 
3674     return CallCapture(angle::EntryPoint::GLTexCoord3s, std::move(paramBuffer));
3675 }
3676 
CaptureTexCoord3sv(const State & glState,bool isCallValid,const GLshort * v)3677 CallCapture CaptureTexCoord3sv(const State &glState, bool isCallValid, const GLshort *v)
3678 {
3679     ParamBuffer paramBuffer;
3680 
3681     if (isCallValid)
3682     {
3683         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
3684         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
3685         CaptureTexCoord3sv_v(glState, isCallValid, v, &vParam);
3686         paramBuffer.addParam(std::move(vParam));
3687     }
3688     else
3689     {
3690         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
3691         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
3692                        &vParam.value);
3693         paramBuffer.addParam(std::move(vParam));
3694     }
3695 
3696     return CallCapture(angle::EntryPoint::GLTexCoord3sv, std::move(paramBuffer));
3697 }
3698 
CaptureTexCoord4d(const State & glState,bool isCallValid,GLdouble s,GLdouble t,GLdouble r,GLdouble q)3699 CallCapture CaptureTexCoord4d(const State &glState,
3700                               bool isCallValid,
3701                               GLdouble s,
3702                               GLdouble t,
3703                               GLdouble r,
3704                               GLdouble q)
3705 {
3706     ParamBuffer paramBuffer;
3707 
3708     paramBuffer.addValueParam("s", ParamType::TGLdouble, s);
3709     paramBuffer.addValueParam("t", ParamType::TGLdouble, t);
3710     paramBuffer.addValueParam("r", ParamType::TGLdouble, r);
3711     paramBuffer.addValueParam("q", ParamType::TGLdouble, q);
3712 
3713     return CallCapture(angle::EntryPoint::GLTexCoord4d, std::move(paramBuffer));
3714 }
3715 
CaptureTexCoord4dv(const State & glState,bool isCallValid,const GLdouble * v)3716 CallCapture CaptureTexCoord4dv(const State &glState, bool isCallValid, const GLdouble *v)
3717 {
3718     ParamBuffer paramBuffer;
3719 
3720     if (isCallValid)
3721     {
3722         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
3723         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
3724         CaptureTexCoord4dv_v(glState, isCallValid, v, &vParam);
3725         paramBuffer.addParam(std::move(vParam));
3726     }
3727     else
3728     {
3729         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
3730         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
3731                        &vParam.value);
3732         paramBuffer.addParam(std::move(vParam));
3733     }
3734 
3735     return CallCapture(angle::EntryPoint::GLTexCoord4dv, std::move(paramBuffer));
3736 }
3737 
CaptureTexCoord4f(const State & glState,bool isCallValid,GLfloat s,GLfloat t,GLfloat r,GLfloat q)3738 CallCapture CaptureTexCoord4f(const State &glState,
3739                               bool isCallValid,
3740                               GLfloat s,
3741                               GLfloat t,
3742                               GLfloat r,
3743                               GLfloat q)
3744 {
3745     ParamBuffer paramBuffer;
3746 
3747     paramBuffer.addValueParam("s", ParamType::TGLfloat, s);
3748     paramBuffer.addValueParam("t", ParamType::TGLfloat, t);
3749     paramBuffer.addValueParam("r", ParamType::TGLfloat, r);
3750     paramBuffer.addValueParam("q", ParamType::TGLfloat, q);
3751 
3752     return CallCapture(angle::EntryPoint::GLTexCoord4f, std::move(paramBuffer));
3753 }
3754 
CaptureTexCoord4fv(const State & glState,bool isCallValid,const GLfloat * v)3755 CallCapture CaptureTexCoord4fv(const State &glState, bool isCallValid, const GLfloat *v)
3756 {
3757     ParamBuffer paramBuffer;
3758 
3759     if (isCallValid)
3760     {
3761         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
3762         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
3763         CaptureTexCoord4fv_v(glState, isCallValid, v, &vParam);
3764         paramBuffer.addParam(std::move(vParam));
3765     }
3766     else
3767     {
3768         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
3769         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
3770                        &vParam.value);
3771         paramBuffer.addParam(std::move(vParam));
3772     }
3773 
3774     return CallCapture(angle::EntryPoint::GLTexCoord4fv, std::move(paramBuffer));
3775 }
3776 
CaptureTexCoord4i(const State & glState,bool isCallValid,GLint s,GLint t,GLint r,GLint q)3777 CallCapture CaptureTexCoord4i(const State &glState,
3778                               bool isCallValid,
3779                               GLint s,
3780                               GLint t,
3781                               GLint r,
3782                               GLint q)
3783 {
3784     ParamBuffer paramBuffer;
3785 
3786     paramBuffer.addValueParam("s", ParamType::TGLint, s);
3787     paramBuffer.addValueParam("t", ParamType::TGLint, t);
3788     paramBuffer.addValueParam("r", ParamType::TGLint, r);
3789     paramBuffer.addValueParam("q", ParamType::TGLint, q);
3790 
3791     return CallCapture(angle::EntryPoint::GLTexCoord4i, std::move(paramBuffer));
3792 }
3793 
CaptureTexCoord4iv(const State & glState,bool isCallValid,const GLint * v)3794 CallCapture CaptureTexCoord4iv(const State &glState, bool isCallValid, const GLint *v)
3795 {
3796     ParamBuffer paramBuffer;
3797 
3798     if (isCallValid)
3799     {
3800         ParamCapture vParam("v", ParamType::TGLintConstPointer);
3801         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
3802         CaptureTexCoord4iv_v(glState, isCallValid, v, &vParam);
3803         paramBuffer.addParam(std::move(vParam));
3804     }
3805     else
3806     {
3807         ParamCapture vParam("v", ParamType::TGLintConstPointer);
3808         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3809                        &vParam.value);
3810         paramBuffer.addParam(std::move(vParam));
3811     }
3812 
3813     return CallCapture(angle::EntryPoint::GLTexCoord4iv, std::move(paramBuffer));
3814 }
3815 
CaptureTexCoord4s(const State & glState,bool isCallValid,GLshort s,GLshort t,GLshort r,GLshort q)3816 CallCapture CaptureTexCoord4s(const State &glState,
3817                               bool isCallValid,
3818                               GLshort s,
3819                               GLshort t,
3820                               GLshort r,
3821                               GLshort q)
3822 {
3823     ParamBuffer paramBuffer;
3824 
3825     paramBuffer.addValueParam("s", ParamType::TGLshort, s);
3826     paramBuffer.addValueParam("t", ParamType::TGLshort, t);
3827     paramBuffer.addValueParam("r", ParamType::TGLshort, r);
3828     paramBuffer.addValueParam("q", ParamType::TGLshort, q);
3829 
3830     return CallCapture(angle::EntryPoint::GLTexCoord4s, std::move(paramBuffer));
3831 }
3832 
CaptureTexCoord4sv(const State & glState,bool isCallValid,const GLshort * v)3833 CallCapture CaptureTexCoord4sv(const State &glState, bool isCallValid, const GLshort *v)
3834 {
3835     ParamBuffer paramBuffer;
3836 
3837     if (isCallValid)
3838     {
3839         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
3840         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
3841         CaptureTexCoord4sv_v(glState, isCallValid, v, &vParam);
3842         paramBuffer.addParam(std::move(vParam));
3843     }
3844     else
3845     {
3846         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
3847         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
3848                        &vParam.value);
3849         paramBuffer.addParam(std::move(vParam));
3850     }
3851 
3852     return CallCapture(angle::EntryPoint::GLTexCoord4sv, std::move(paramBuffer));
3853 }
3854 
CaptureTexGend(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLdouble param)3855 CallCapture CaptureTexGend(const State &glState,
3856                            bool isCallValid,
3857                            GLenum coord,
3858                            GLenum pname,
3859                            GLdouble param)
3860 {
3861     ParamBuffer paramBuffer;
3862 
3863     paramBuffer.addEnumParam("coord", BigGLEnum::TextureCoordName, ParamType::TGLenum, coord);
3864     paramBuffer.addEnumParam("pname", BigGLEnum::TextureGenParameter, ParamType::TGLenum, pname);
3865     paramBuffer.addValueParam("param", ParamType::TGLdouble, param);
3866 
3867     return CallCapture(angle::EntryPoint::GLTexGend, std::move(paramBuffer));
3868 }
3869 
CaptureTexGendv(const State & glState,bool isCallValid,GLenum coord,GLenum pname,const GLdouble * params)3870 CallCapture CaptureTexGendv(const State &glState,
3871                             bool isCallValid,
3872                             GLenum coord,
3873                             GLenum pname,
3874                             const GLdouble *params)
3875 {
3876     ParamBuffer paramBuffer;
3877 
3878     paramBuffer.addEnumParam("coord", BigGLEnum::TextureCoordName, ParamType::TGLenum, coord);
3879     paramBuffer.addEnumParam("pname", BigGLEnum::TextureGenParameter, ParamType::TGLenum, pname);
3880 
3881     if (isCallValid)
3882     {
3883         ParamCapture paramsParam("params", ParamType::TGLdoubleConstPointer);
3884         InitParamValue(ParamType::TGLdoubleConstPointer, params, &paramsParam.value);
3885         CaptureTexGendv_params(glState, isCallValid, coord, pname, params, &paramsParam);
3886         paramBuffer.addParam(std::move(paramsParam));
3887     }
3888     else
3889     {
3890         ParamCapture paramsParam("params", ParamType::TGLdoubleConstPointer);
3891         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
3892                        &paramsParam.value);
3893         paramBuffer.addParam(std::move(paramsParam));
3894     }
3895 
3896     return CallCapture(angle::EntryPoint::GLTexGendv, std::move(paramBuffer));
3897 }
3898 
CaptureTexGenf(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLfloat param)3899 CallCapture CaptureTexGenf(const State &glState,
3900                            bool isCallValid,
3901                            GLenum coord,
3902                            GLenum pname,
3903                            GLfloat param)
3904 {
3905     ParamBuffer paramBuffer;
3906 
3907     paramBuffer.addEnumParam("coord", BigGLEnum::TextureCoordName, ParamType::TGLenum, coord);
3908     paramBuffer.addEnumParam("pname", BigGLEnum::TextureGenParameter, ParamType::TGLenum, pname);
3909     paramBuffer.addValueParam("param", ParamType::TGLfloat, param);
3910 
3911     return CallCapture(angle::EntryPoint::GLTexGenf, std::move(paramBuffer));
3912 }
3913 
CaptureTexGenfv(const State & glState,bool isCallValid,GLenum coord,GLenum pname,const GLfloat * params)3914 CallCapture CaptureTexGenfv(const State &glState,
3915                             bool isCallValid,
3916                             GLenum coord,
3917                             GLenum pname,
3918                             const GLfloat *params)
3919 {
3920     ParamBuffer paramBuffer;
3921 
3922     paramBuffer.addEnumParam("coord", BigGLEnum::TextureCoordName, ParamType::TGLenum, coord);
3923     paramBuffer.addEnumParam("pname", BigGLEnum::TextureGenParameter, ParamType::TGLenum, pname);
3924 
3925     if (isCallValid)
3926     {
3927         ParamCapture paramsParam("params", ParamType::TGLfloatConstPointer);
3928         InitParamValue(ParamType::TGLfloatConstPointer, params, &paramsParam.value);
3929         CaptureTexGenfv_params(glState, isCallValid, coord, pname, params, &paramsParam);
3930         paramBuffer.addParam(std::move(paramsParam));
3931     }
3932     else
3933     {
3934         ParamCapture paramsParam("params", ParamType::TGLfloatConstPointer);
3935         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
3936                        &paramsParam.value);
3937         paramBuffer.addParam(std::move(paramsParam));
3938     }
3939 
3940     return CallCapture(angle::EntryPoint::GLTexGenfv, std::move(paramBuffer));
3941 }
3942 
CaptureTexGeni(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLint param)3943 CallCapture CaptureTexGeni(const State &glState,
3944                            bool isCallValid,
3945                            GLenum coord,
3946                            GLenum pname,
3947                            GLint param)
3948 {
3949     ParamBuffer paramBuffer;
3950 
3951     paramBuffer.addEnumParam("coord", BigGLEnum::TextureCoordName, ParamType::TGLenum, coord);
3952     paramBuffer.addEnumParam("pname", BigGLEnum::TextureGenParameter, ParamType::TGLenum, pname);
3953     paramBuffer.addValueParam("param", ParamType::TGLint, param);
3954 
3955     return CallCapture(angle::EntryPoint::GLTexGeni, std::move(paramBuffer));
3956 }
3957 
CaptureTexGeniv(const State & glState,bool isCallValid,GLenum coord,GLenum pname,const GLint * params)3958 CallCapture CaptureTexGeniv(const State &glState,
3959                             bool isCallValid,
3960                             GLenum coord,
3961                             GLenum pname,
3962                             const GLint *params)
3963 {
3964     ParamBuffer paramBuffer;
3965 
3966     paramBuffer.addEnumParam("coord", BigGLEnum::TextureCoordName, ParamType::TGLenum, coord);
3967     paramBuffer.addEnumParam("pname", BigGLEnum::TextureGenParameter, ParamType::TGLenum, pname);
3968 
3969     if (isCallValid)
3970     {
3971         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
3972         InitParamValue(ParamType::TGLintConstPointer, params, &paramsParam.value);
3973         CaptureTexGeniv_params(glState, isCallValid, coord, pname, params, &paramsParam);
3974         paramBuffer.addParam(std::move(paramsParam));
3975     }
3976     else
3977     {
3978         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
3979         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3980                        &paramsParam.value);
3981         paramBuffer.addParam(std::move(paramsParam));
3982     }
3983 
3984     return CallCapture(angle::EntryPoint::GLTexGeniv, std::move(paramBuffer));
3985 }
3986 
CaptureTexImage1D(const State & glState,bool isCallValid,GLenum target,GLint level,GLint internalformat,GLsizei width,GLint border,GLenum format,GLenum type,const void * pixels)3987 CallCapture CaptureTexImage1D(const State &glState,
3988                               bool isCallValid,
3989                               GLenum target,
3990                               GLint level,
3991                               GLint internalformat,
3992                               GLsizei width,
3993                               GLint border,
3994                               GLenum format,
3995                               GLenum type,
3996                               const void *pixels)
3997 {
3998     ParamBuffer paramBuffer;
3999 
4000     paramBuffer.addEnumParam("target", BigGLEnum::TextureTarget, ParamType::TGLenum, target);
4001     paramBuffer.addValueParam("level", ParamType::TGLint, level);
4002     paramBuffer.addValueParam("internalformat", ParamType::TGLint, internalformat);
4003     paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
4004     paramBuffer.addValueParam("border", ParamType::TGLint, border);
4005     paramBuffer.addEnumParam("format", BigGLEnum::PixelFormat, ParamType::TGLenum, format);
4006     paramBuffer.addEnumParam("type", BigGLEnum::PixelType, ParamType::TGLenum, type);
4007 
4008     if (isCallValid)
4009     {
4010         ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
4011         InitParamValue(ParamType::TvoidConstPointer, pixels, &pixelsParam.value);
4012         CaptureTexImage1D_pixels(glState, isCallValid, target, level, internalformat, width, border,
4013                                  format, type, pixels, &pixelsParam);
4014         paramBuffer.addParam(std::move(pixelsParam));
4015     }
4016     else
4017     {
4018         ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
4019         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
4020                        &pixelsParam.value);
4021         paramBuffer.addParam(std::move(pixelsParam));
4022     }
4023 
4024     return CallCapture(angle::EntryPoint::GLTexImage1D, std::move(paramBuffer));
4025 }
4026 
CaptureTranslated(const State & glState,bool isCallValid,GLdouble x,GLdouble y,GLdouble z)4027 CallCapture CaptureTranslated(const State &glState,
4028                               bool isCallValid,
4029                               GLdouble x,
4030                               GLdouble y,
4031                               GLdouble z)
4032 {
4033     ParamBuffer paramBuffer;
4034 
4035     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
4036     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
4037     paramBuffer.addValueParam("z", ParamType::TGLdouble, z);
4038 
4039     return CallCapture(angle::EntryPoint::GLTranslated, std::move(paramBuffer));
4040 }
4041 
CaptureVertex2d(const State & glState,bool isCallValid,GLdouble x,GLdouble y)4042 CallCapture CaptureVertex2d(const State &glState, bool isCallValid, GLdouble x, GLdouble y)
4043 {
4044     ParamBuffer paramBuffer;
4045 
4046     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
4047     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
4048 
4049     return CallCapture(angle::EntryPoint::GLVertex2d, std::move(paramBuffer));
4050 }
4051 
CaptureVertex2dv(const State & glState,bool isCallValid,const GLdouble * v)4052 CallCapture CaptureVertex2dv(const State &glState, bool isCallValid, const GLdouble *v)
4053 {
4054     ParamBuffer paramBuffer;
4055 
4056     if (isCallValid)
4057     {
4058         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
4059         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
4060         CaptureVertex2dv_v(glState, isCallValid, v, &vParam);
4061         paramBuffer.addParam(std::move(vParam));
4062     }
4063     else
4064     {
4065         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
4066         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
4067                        &vParam.value);
4068         paramBuffer.addParam(std::move(vParam));
4069     }
4070 
4071     return CallCapture(angle::EntryPoint::GLVertex2dv, std::move(paramBuffer));
4072 }
4073 
CaptureVertex2f(const State & glState,bool isCallValid,GLfloat x,GLfloat y)4074 CallCapture CaptureVertex2f(const State &glState, bool isCallValid, GLfloat x, GLfloat y)
4075 {
4076     ParamBuffer paramBuffer;
4077 
4078     paramBuffer.addValueParam("x", ParamType::TGLfloat, x);
4079     paramBuffer.addValueParam("y", ParamType::TGLfloat, y);
4080 
4081     return CallCapture(angle::EntryPoint::GLVertex2f, std::move(paramBuffer));
4082 }
4083 
CaptureVertex2fv(const State & glState,bool isCallValid,const GLfloat * v)4084 CallCapture CaptureVertex2fv(const State &glState, bool isCallValid, const GLfloat *v)
4085 {
4086     ParamBuffer paramBuffer;
4087 
4088     if (isCallValid)
4089     {
4090         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
4091         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
4092         CaptureVertex2fv_v(glState, isCallValid, v, &vParam);
4093         paramBuffer.addParam(std::move(vParam));
4094     }
4095     else
4096     {
4097         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
4098         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
4099                        &vParam.value);
4100         paramBuffer.addParam(std::move(vParam));
4101     }
4102 
4103     return CallCapture(angle::EntryPoint::GLVertex2fv, std::move(paramBuffer));
4104 }
4105 
CaptureVertex2i(const State & glState,bool isCallValid,GLint x,GLint y)4106 CallCapture CaptureVertex2i(const State &glState, bool isCallValid, GLint x, GLint y)
4107 {
4108     ParamBuffer paramBuffer;
4109 
4110     paramBuffer.addValueParam("x", ParamType::TGLint, x);
4111     paramBuffer.addValueParam("y", ParamType::TGLint, y);
4112 
4113     return CallCapture(angle::EntryPoint::GLVertex2i, std::move(paramBuffer));
4114 }
4115 
CaptureVertex2iv(const State & glState,bool isCallValid,const GLint * v)4116 CallCapture CaptureVertex2iv(const State &glState, bool isCallValid, const GLint *v)
4117 {
4118     ParamBuffer paramBuffer;
4119 
4120     if (isCallValid)
4121     {
4122         ParamCapture vParam("v", ParamType::TGLintConstPointer);
4123         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
4124         CaptureVertex2iv_v(glState, isCallValid, v, &vParam);
4125         paramBuffer.addParam(std::move(vParam));
4126     }
4127     else
4128     {
4129         ParamCapture vParam("v", ParamType::TGLintConstPointer);
4130         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
4131                        &vParam.value);
4132         paramBuffer.addParam(std::move(vParam));
4133     }
4134 
4135     return CallCapture(angle::EntryPoint::GLVertex2iv, std::move(paramBuffer));
4136 }
4137 
CaptureVertex2s(const State & glState,bool isCallValid,GLshort x,GLshort y)4138 CallCapture CaptureVertex2s(const State &glState, bool isCallValid, GLshort x, GLshort y)
4139 {
4140     ParamBuffer paramBuffer;
4141 
4142     paramBuffer.addValueParam("x", ParamType::TGLshort, x);
4143     paramBuffer.addValueParam("y", ParamType::TGLshort, y);
4144 
4145     return CallCapture(angle::EntryPoint::GLVertex2s, std::move(paramBuffer));
4146 }
4147 
CaptureVertex2sv(const State & glState,bool isCallValid,const GLshort * v)4148 CallCapture CaptureVertex2sv(const State &glState, bool isCallValid, const GLshort *v)
4149 {
4150     ParamBuffer paramBuffer;
4151 
4152     if (isCallValid)
4153     {
4154         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
4155         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
4156         CaptureVertex2sv_v(glState, isCallValid, v, &vParam);
4157         paramBuffer.addParam(std::move(vParam));
4158     }
4159     else
4160     {
4161         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
4162         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
4163                        &vParam.value);
4164         paramBuffer.addParam(std::move(vParam));
4165     }
4166 
4167     return CallCapture(angle::EntryPoint::GLVertex2sv, std::move(paramBuffer));
4168 }
4169 
CaptureVertex3d(const State & glState,bool isCallValid,GLdouble x,GLdouble y,GLdouble z)4170 CallCapture CaptureVertex3d(const State &glState,
4171                             bool isCallValid,
4172                             GLdouble x,
4173                             GLdouble y,
4174                             GLdouble z)
4175 {
4176     ParamBuffer paramBuffer;
4177 
4178     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
4179     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
4180     paramBuffer.addValueParam("z", ParamType::TGLdouble, z);
4181 
4182     return CallCapture(angle::EntryPoint::GLVertex3d, std::move(paramBuffer));
4183 }
4184 
CaptureVertex3dv(const State & glState,bool isCallValid,const GLdouble * v)4185 CallCapture CaptureVertex3dv(const State &glState, bool isCallValid, const GLdouble *v)
4186 {
4187     ParamBuffer paramBuffer;
4188 
4189     if (isCallValid)
4190     {
4191         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
4192         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
4193         CaptureVertex3dv_v(glState, isCallValid, v, &vParam);
4194         paramBuffer.addParam(std::move(vParam));
4195     }
4196     else
4197     {
4198         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
4199         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
4200                        &vParam.value);
4201         paramBuffer.addParam(std::move(vParam));
4202     }
4203 
4204     return CallCapture(angle::EntryPoint::GLVertex3dv, std::move(paramBuffer));
4205 }
4206 
CaptureVertex3f(const State & glState,bool isCallValid,GLfloat x,GLfloat y,GLfloat z)4207 CallCapture CaptureVertex3f(const State &glState, bool isCallValid, GLfloat x, GLfloat y, GLfloat z)
4208 {
4209     ParamBuffer paramBuffer;
4210 
4211     paramBuffer.addValueParam("x", ParamType::TGLfloat, x);
4212     paramBuffer.addValueParam("y", ParamType::TGLfloat, y);
4213     paramBuffer.addValueParam("z", ParamType::TGLfloat, z);
4214 
4215     return CallCapture(angle::EntryPoint::GLVertex3f, std::move(paramBuffer));
4216 }
4217 
CaptureVertex3fv(const State & glState,bool isCallValid,const GLfloat * v)4218 CallCapture CaptureVertex3fv(const State &glState, bool isCallValid, const GLfloat *v)
4219 {
4220     ParamBuffer paramBuffer;
4221 
4222     if (isCallValid)
4223     {
4224         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
4225         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
4226         CaptureVertex3fv_v(glState, isCallValid, v, &vParam);
4227         paramBuffer.addParam(std::move(vParam));
4228     }
4229     else
4230     {
4231         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
4232         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
4233                        &vParam.value);
4234         paramBuffer.addParam(std::move(vParam));
4235     }
4236 
4237     return CallCapture(angle::EntryPoint::GLVertex3fv, std::move(paramBuffer));
4238 }
4239 
CaptureVertex3i(const State & glState,bool isCallValid,GLint x,GLint y,GLint z)4240 CallCapture CaptureVertex3i(const State &glState, bool isCallValid, GLint x, GLint y, GLint z)
4241 {
4242     ParamBuffer paramBuffer;
4243 
4244     paramBuffer.addValueParam("x", ParamType::TGLint, x);
4245     paramBuffer.addValueParam("y", ParamType::TGLint, y);
4246     paramBuffer.addValueParam("z", ParamType::TGLint, z);
4247 
4248     return CallCapture(angle::EntryPoint::GLVertex3i, std::move(paramBuffer));
4249 }
4250 
CaptureVertex3iv(const State & glState,bool isCallValid,const GLint * v)4251 CallCapture CaptureVertex3iv(const State &glState, bool isCallValid, const GLint *v)
4252 {
4253     ParamBuffer paramBuffer;
4254 
4255     if (isCallValid)
4256     {
4257         ParamCapture vParam("v", ParamType::TGLintConstPointer);
4258         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
4259         CaptureVertex3iv_v(glState, isCallValid, v, &vParam);
4260         paramBuffer.addParam(std::move(vParam));
4261     }
4262     else
4263     {
4264         ParamCapture vParam("v", ParamType::TGLintConstPointer);
4265         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
4266                        &vParam.value);
4267         paramBuffer.addParam(std::move(vParam));
4268     }
4269 
4270     return CallCapture(angle::EntryPoint::GLVertex3iv, std::move(paramBuffer));
4271 }
4272 
CaptureVertex3s(const State & glState,bool isCallValid,GLshort x,GLshort y,GLshort z)4273 CallCapture CaptureVertex3s(const State &glState, bool isCallValid, GLshort x, GLshort y, GLshort z)
4274 {
4275     ParamBuffer paramBuffer;
4276 
4277     paramBuffer.addValueParam("x", ParamType::TGLshort, x);
4278     paramBuffer.addValueParam("y", ParamType::TGLshort, y);
4279     paramBuffer.addValueParam("z", ParamType::TGLshort, z);
4280 
4281     return CallCapture(angle::EntryPoint::GLVertex3s, std::move(paramBuffer));
4282 }
4283 
CaptureVertex3sv(const State & glState,bool isCallValid,const GLshort * v)4284 CallCapture CaptureVertex3sv(const State &glState, bool isCallValid, const GLshort *v)
4285 {
4286     ParamBuffer paramBuffer;
4287 
4288     if (isCallValid)
4289     {
4290         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
4291         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
4292         CaptureVertex3sv_v(glState, isCallValid, v, &vParam);
4293         paramBuffer.addParam(std::move(vParam));
4294     }
4295     else
4296     {
4297         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
4298         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
4299                        &vParam.value);
4300         paramBuffer.addParam(std::move(vParam));
4301     }
4302 
4303     return CallCapture(angle::EntryPoint::GLVertex3sv, std::move(paramBuffer));
4304 }
4305 
CaptureVertex4d(const State & glState,bool isCallValid,GLdouble x,GLdouble y,GLdouble z,GLdouble w)4306 CallCapture CaptureVertex4d(const State &glState,
4307                             bool isCallValid,
4308                             GLdouble x,
4309                             GLdouble y,
4310                             GLdouble z,
4311                             GLdouble w)
4312 {
4313     ParamBuffer paramBuffer;
4314 
4315     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
4316     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
4317     paramBuffer.addValueParam("z", ParamType::TGLdouble, z);
4318     paramBuffer.addValueParam("w", ParamType::TGLdouble, w);
4319 
4320     return CallCapture(angle::EntryPoint::GLVertex4d, std::move(paramBuffer));
4321 }
4322 
CaptureVertex4dv(const State & glState,bool isCallValid,const GLdouble * v)4323 CallCapture CaptureVertex4dv(const State &glState, bool isCallValid, const GLdouble *v)
4324 {
4325     ParamBuffer paramBuffer;
4326 
4327     if (isCallValid)
4328     {
4329         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
4330         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
4331         CaptureVertex4dv_v(glState, isCallValid, v, &vParam);
4332         paramBuffer.addParam(std::move(vParam));
4333     }
4334     else
4335     {
4336         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
4337         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
4338                        &vParam.value);
4339         paramBuffer.addParam(std::move(vParam));
4340     }
4341 
4342     return CallCapture(angle::EntryPoint::GLVertex4dv, std::move(paramBuffer));
4343 }
4344 
CaptureVertex4f(const State & glState,bool isCallValid,GLfloat x,GLfloat y,GLfloat z,GLfloat w)4345 CallCapture CaptureVertex4f(const State &glState,
4346                             bool isCallValid,
4347                             GLfloat x,
4348                             GLfloat y,
4349                             GLfloat z,
4350                             GLfloat w)
4351 {
4352     ParamBuffer paramBuffer;
4353 
4354     paramBuffer.addValueParam("x", ParamType::TGLfloat, x);
4355     paramBuffer.addValueParam("y", ParamType::TGLfloat, y);
4356     paramBuffer.addValueParam("z", ParamType::TGLfloat, z);
4357     paramBuffer.addValueParam("w", ParamType::TGLfloat, w);
4358 
4359     return CallCapture(angle::EntryPoint::GLVertex4f, std::move(paramBuffer));
4360 }
4361 
CaptureVertex4fv(const State & glState,bool isCallValid,const GLfloat * v)4362 CallCapture CaptureVertex4fv(const State &glState, bool isCallValid, const GLfloat *v)
4363 {
4364     ParamBuffer paramBuffer;
4365 
4366     if (isCallValid)
4367     {
4368         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
4369         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
4370         CaptureVertex4fv_v(glState, isCallValid, v, &vParam);
4371         paramBuffer.addParam(std::move(vParam));
4372     }
4373     else
4374     {
4375         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
4376         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
4377                        &vParam.value);
4378         paramBuffer.addParam(std::move(vParam));
4379     }
4380 
4381     return CallCapture(angle::EntryPoint::GLVertex4fv, std::move(paramBuffer));
4382 }
4383 
CaptureVertex4i(const State & glState,bool isCallValid,GLint x,GLint y,GLint z,GLint w)4384 CallCapture CaptureVertex4i(const State &glState,
4385                             bool isCallValid,
4386                             GLint x,
4387                             GLint y,
4388                             GLint z,
4389                             GLint w)
4390 {
4391     ParamBuffer paramBuffer;
4392 
4393     paramBuffer.addValueParam("x", ParamType::TGLint, x);
4394     paramBuffer.addValueParam("y", ParamType::TGLint, y);
4395     paramBuffer.addValueParam("z", ParamType::TGLint, z);
4396     paramBuffer.addValueParam("w", ParamType::TGLint, w);
4397 
4398     return CallCapture(angle::EntryPoint::GLVertex4i, std::move(paramBuffer));
4399 }
4400 
CaptureVertex4iv(const State & glState,bool isCallValid,const GLint * v)4401 CallCapture CaptureVertex4iv(const State &glState, bool isCallValid, const GLint *v)
4402 {
4403     ParamBuffer paramBuffer;
4404 
4405     if (isCallValid)
4406     {
4407         ParamCapture vParam("v", ParamType::TGLintConstPointer);
4408         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
4409         CaptureVertex4iv_v(glState, isCallValid, v, &vParam);
4410         paramBuffer.addParam(std::move(vParam));
4411     }
4412     else
4413     {
4414         ParamCapture vParam("v", ParamType::TGLintConstPointer);
4415         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
4416                        &vParam.value);
4417         paramBuffer.addParam(std::move(vParam));
4418     }
4419 
4420     return CallCapture(angle::EntryPoint::GLVertex4iv, std::move(paramBuffer));
4421 }
4422 
CaptureVertex4s(const State & glState,bool isCallValid,GLshort x,GLshort y,GLshort z,GLshort w)4423 CallCapture CaptureVertex4s(const State &glState,
4424                             bool isCallValid,
4425                             GLshort x,
4426                             GLshort y,
4427                             GLshort z,
4428                             GLshort w)
4429 {
4430     ParamBuffer paramBuffer;
4431 
4432     paramBuffer.addValueParam("x", ParamType::TGLshort, x);
4433     paramBuffer.addValueParam("y", ParamType::TGLshort, y);
4434     paramBuffer.addValueParam("z", ParamType::TGLshort, z);
4435     paramBuffer.addValueParam("w", ParamType::TGLshort, w);
4436 
4437     return CallCapture(angle::EntryPoint::GLVertex4s, std::move(paramBuffer));
4438 }
4439 
CaptureVertex4sv(const State & glState,bool isCallValid,const GLshort * v)4440 CallCapture CaptureVertex4sv(const State &glState, bool isCallValid, const GLshort *v)
4441 {
4442     ParamBuffer paramBuffer;
4443 
4444     if (isCallValid)
4445     {
4446         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
4447         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
4448         CaptureVertex4sv_v(glState, isCallValid, v, &vParam);
4449         paramBuffer.addParam(std::move(vParam));
4450     }
4451     else
4452     {
4453         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
4454         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
4455                        &vParam.value);
4456         paramBuffer.addParam(std::move(vParam));
4457     }
4458 
4459     return CallCapture(angle::EntryPoint::GLVertex4sv, std::move(paramBuffer));
4460 }
4461 
4462 // GL 1.1
CaptureAreTexturesResident(const State & glState,bool isCallValid,GLsizei n,const GLuint * textures,GLboolean * residences,GLboolean returnValue)4463 CallCapture CaptureAreTexturesResident(const State &glState,
4464                                        bool isCallValid,
4465                                        GLsizei n,
4466                                        const GLuint *textures,
4467                                        GLboolean *residences,
4468                                        GLboolean returnValue)
4469 {
4470     ParamBuffer paramBuffer;
4471 
4472     paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
4473 
4474     if (isCallValid)
4475     {
4476         ParamCapture texturesParam("textures", ParamType::TGLuintConstPointer);
4477         InitParamValue(ParamType::TGLuintConstPointer, textures, &texturesParam.value);
4478         CaptureAreTexturesResident_textures(glState, isCallValid, n, textures, residences,
4479                                             &texturesParam);
4480         paramBuffer.addParam(std::move(texturesParam));
4481     }
4482     else
4483     {
4484         ParamCapture texturesParam("textures", ParamType::TGLuintConstPointer);
4485         InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
4486                        &texturesParam.value);
4487         paramBuffer.addParam(std::move(texturesParam));
4488     }
4489 
4490     if (isCallValid)
4491     {
4492         ParamCapture residencesParam("residences", ParamType::TGLbooleanPointer);
4493         InitParamValue(ParamType::TGLbooleanPointer, residences, &residencesParam.value);
4494         CaptureAreTexturesResident_residences(glState, isCallValid, n, textures, residences,
4495                                               &residencesParam);
4496         paramBuffer.addParam(std::move(residencesParam));
4497     }
4498     else
4499     {
4500         ParamCapture residencesParam("residences", ParamType::TGLbooleanPointer);
4501         InitParamValue(ParamType::TGLbooleanPointer, static_cast<GLboolean *>(nullptr),
4502                        &residencesParam.value);
4503         paramBuffer.addParam(std::move(residencesParam));
4504     }
4505 
4506     ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
4507     InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
4508     paramBuffer.addReturnValue(std::move(returnValueCapture));
4509 
4510     return CallCapture(angle::EntryPoint::GLAreTexturesResident, std::move(paramBuffer));
4511 }
4512 
CaptureArrayElement(const State & glState,bool isCallValid,GLint i)4513 CallCapture CaptureArrayElement(const State &glState, bool isCallValid, GLint i)
4514 {
4515     ParamBuffer paramBuffer;
4516 
4517     paramBuffer.addValueParam("i", ParamType::TGLint, i);
4518 
4519     return CallCapture(angle::EntryPoint::GLArrayElement, std::move(paramBuffer));
4520 }
4521 
CaptureCopyTexImage1D(const State & glState,bool isCallValid,GLenum target,GLint level,GLenum internalformat,GLint x,GLint y,GLsizei width,GLint border)4522 CallCapture CaptureCopyTexImage1D(const State &glState,
4523                                   bool isCallValid,
4524                                   GLenum target,
4525                                   GLint level,
4526                                   GLenum internalformat,
4527                                   GLint x,
4528                                   GLint y,
4529                                   GLsizei width,
4530                                   GLint border)
4531 {
4532     ParamBuffer paramBuffer;
4533 
4534     paramBuffer.addEnumParam("target", BigGLEnum::TextureTarget, ParamType::TGLenum, target);
4535     paramBuffer.addValueParam("level", ParamType::TGLint, level);
4536     paramBuffer.addEnumParam("internalformat", BigGLEnum::InternalFormat, ParamType::TGLenum,
4537                              internalformat);
4538     paramBuffer.addValueParam("x", ParamType::TGLint, x);
4539     paramBuffer.addValueParam("y", ParamType::TGLint, y);
4540     paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
4541     paramBuffer.addValueParam("border", ParamType::TGLint, border);
4542 
4543     return CallCapture(angle::EntryPoint::GLCopyTexImage1D, std::move(paramBuffer));
4544 }
4545 
CaptureCopyTexSubImage1D(const State & glState,bool isCallValid,GLenum target,GLint level,GLint xoffset,GLint x,GLint y,GLsizei width)4546 CallCapture CaptureCopyTexSubImage1D(const State &glState,
4547                                      bool isCallValid,
4548                                      GLenum target,
4549                                      GLint level,
4550                                      GLint xoffset,
4551                                      GLint x,
4552                                      GLint y,
4553                                      GLsizei width)
4554 {
4555     ParamBuffer paramBuffer;
4556 
4557     paramBuffer.addEnumParam("target", BigGLEnum::TextureTarget, ParamType::TGLenum, target);
4558     paramBuffer.addValueParam("level", ParamType::TGLint, level);
4559     paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
4560     paramBuffer.addValueParam("x", ParamType::TGLint, x);
4561     paramBuffer.addValueParam("y", ParamType::TGLint, y);
4562     paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
4563 
4564     return CallCapture(angle::EntryPoint::GLCopyTexSubImage1D, std::move(paramBuffer));
4565 }
4566 
CaptureEdgeFlagPointer(const State & glState,bool isCallValid,GLsizei stride,const void * pointer)4567 CallCapture CaptureEdgeFlagPointer(const State &glState,
4568                                    bool isCallValid,
4569                                    GLsizei stride,
4570                                    const void *pointer)
4571 {
4572     ParamBuffer paramBuffer;
4573 
4574     paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
4575 
4576     if (isCallValid)
4577     {
4578         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
4579         InitParamValue(ParamType::TvoidConstPointer, pointer, &pointerParam.value);
4580         CaptureEdgeFlagPointer_pointer(glState, isCallValid, stride, pointer, &pointerParam);
4581         paramBuffer.addParam(std::move(pointerParam));
4582     }
4583     else
4584     {
4585         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
4586         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
4587                        &pointerParam.value);
4588         paramBuffer.addParam(std::move(pointerParam));
4589     }
4590 
4591     return CallCapture(angle::EntryPoint::GLEdgeFlagPointer, std::move(paramBuffer));
4592 }
4593 
CaptureIndexPointer(const State & glState,bool isCallValid,GLenum type,GLsizei stride,const void * pointer)4594 CallCapture CaptureIndexPointer(const State &glState,
4595                                 bool isCallValid,
4596                                 GLenum type,
4597                                 GLsizei stride,
4598                                 const void *pointer)
4599 {
4600     ParamBuffer paramBuffer;
4601 
4602     paramBuffer.addEnumParam("type", BigGLEnum::IndexPointerType, ParamType::TGLenum, type);
4603     paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
4604 
4605     if (isCallValid)
4606     {
4607         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
4608         InitParamValue(ParamType::TvoidConstPointer, pointer, &pointerParam.value);
4609         CaptureIndexPointer_pointer(glState, isCallValid, type, stride, pointer, &pointerParam);
4610         paramBuffer.addParam(std::move(pointerParam));
4611     }
4612     else
4613     {
4614         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
4615         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
4616                        &pointerParam.value);
4617         paramBuffer.addParam(std::move(pointerParam));
4618     }
4619 
4620     return CallCapture(angle::EntryPoint::GLIndexPointer, std::move(paramBuffer));
4621 }
4622 
CaptureIndexub(const State & glState,bool isCallValid,GLubyte c)4623 CallCapture CaptureIndexub(const State &glState, bool isCallValid, GLubyte c)
4624 {
4625     ParamBuffer paramBuffer;
4626 
4627     paramBuffer.addValueParam("c", ParamType::TGLubyte, c);
4628 
4629     return CallCapture(angle::EntryPoint::GLIndexub, std::move(paramBuffer));
4630 }
4631 
CaptureIndexubv(const State & glState,bool isCallValid,const GLubyte * c)4632 CallCapture CaptureIndexubv(const State &glState, bool isCallValid, const GLubyte *c)
4633 {
4634     ParamBuffer paramBuffer;
4635 
4636     if (isCallValid)
4637     {
4638         ParamCapture cParam("c", ParamType::TGLubyteConstPointer);
4639         InitParamValue(ParamType::TGLubyteConstPointer, c, &cParam.value);
4640         CaptureIndexubv_c(glState, isCallValid, c, &cParam);
4641         paramBuffer.addParam(std::move(cParam));
4642     }
4643     else
4644     {
4645         ParamCapture cParam("c", ParamType::TGLubyteConstPointer);
4646         InitParamValue(ParamType::TGLubyteConstPointer, static_cast<const GLubyte *>(nullptr),
4647                        &cParam.value);
4648         paramBuffer.addParam(std::move(cParam));
4649     }
4650 
4651     return CallCapture(angle::EntryPoint::GLIndexubv, std::move(paramBuffer));
4652 }
4653 
CaptureInterleavedArrays(const State & glState,bool isCallValid,GLenum format,GLsizei stride,const void * pointer)4654 CallCapture CaptureInterleavedArrays(const State &glState,
4655                                      bool isCallValid,
4656                                      GLenum format,
4657                                      GLsizei stride,
4658                                      const void *pointer)
4659 {
4660     ParamBuffer paramBuffer;
4661 
4662     paramBuffer.addEnumParam("format", BigGLEnum::InterleavedArrayFormat, ParamType::TGLenum,
4663                              format);
4664     paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
4665 
4666     if (isCallValid)
4667     {
4668         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
4669         InitParamValue(ParamType::TvoidConstPointer, pointer, &pointerParam.value);
4670         CaptureInterleavedArrays_pointer(glState, isCallValid, format, stride, pointer,
4671                                          &pointerParam);
4672         paramBuffer.addParam(std::move(pointerParam));
4673     }
4674     else
4675     {
4676         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
4677         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
4678                        &pointerParam.value);
4679         paramBuffer.addParam(std::move(pointerParam));
4680     }
4681 
4682     return CallCapture(angle::EntryPoint::GLInterleavedArrays, std::move(paramBuffer));
4683 }
4684 
CapturePopClientAttrib(const State & glState,bool isCallValid)4685 CallCapture CapturePopClientAttrib(const State &glState, bool isCallValid)
4686 {
4687     ParamBuffer paramBuffer;
4688 
4689     return CallCapture(angle::EntryPoint::GLPopClientAttrib, std::move(paramBuffer));
4690 }
4691 
CapturePrioritizeTextures(const State & glState,bool isCallValid,GLsizei n,const GLuint * textures,const GLfloat * priorities)4692 CallCapture CapturePrioritizeTextures(const State &glState,
4693                                       bool isCallValid,
4694                                       GLsizei n,
4695                                       const GLuint *textures,
4696                                       const GLfloat *priorities)
4697 {
4698     ParamBuffer paramBuffer;
4699 
4700     paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
4701 
4702     if (isCallValid)
4703     {
4704         ParamCapture texturesParam("textures", ParamType::TGLuintConstPointer);
4705         InitParamValue(ParamType::TGLuintConstPointer, textures, &texturesParam.value);
4706         CapturePrioritizeTextures_textures(glState, isCallValid, n, textures, priorities,
4707                                            &texturesParam);
4708         paramBuffer.addParam(std::move(texturesParam));
4709     }
4710     else
4711     {
4712         ParamCapture texturesParam("textures", ParamType::TGLuintConstPointer);
4713         InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
4714                        &texturesParam.value);
4715         paramBuffer.addParam(std::move(texturesParam));
4716     }
4717 
4718     if (isCallValid)
4719     {
4720         ParamCapture prioritiesParam("priorities", ParamType::TGLfloatConstPointer);
4721         InitParamValue(ParamType::TGLfloatConstPointer, priorities, &prioritiesParam.value);
4722         CapturePrioritizeTextures_priorities(glState, isCallValid, n, textures, priorities,
4723                                              &prioritiesParam);
4724         paramBuffer.addParam(std::move(prioritiesParam));
4725     }
4726     else
4727     {
4728         ParamCapture prioritiesParam("priorities", ParamType::TGLfloatConstPointer);
4729         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
4730                        &prioritiesParam.value);
4731         paramBuffer.addParam(std::move(prioritiesParam));
4732     }
4733 
4734     return CallCapture(angle::EntryPoint::GLPrioritizeTextures, std::move(paramBuffer));
4735 }
4736 
CapturePushClientAttrib(const State & glState,bool isCallValid,GLbitfield mask)4737 CallCapture CapturePushClientAttrib(const State &glState, bool isCallValid, GLbitfield mask)
4738 {
4739     ParamBuffer paramBuffer;
4740 
4741     paramBuffer.addEnumParam("mask", BigGLEnum::ClientAttribMask, ParamType::TGLbitfield, mask);
4742 
4743     return CallCapture(angle::EntryPoint::GLPushClientAttrib, std::move(paramBuffer));
4744 }
4745 
CaptureTexSubImage1D(const State & glState,bool isCallValid,GLenum target,GLint level,GLint xoffset,GLsizei width,GLenum format,GLenum type,const void * pixels)4746 CallCapture CaptureTexSubImage1D(const State &glState,
4747                                  bool isCallValid,
4748                                  GLenum target,
4749                                  GLint level,
4750                                  GLint xoffset,
4751                                  GLsizei width,
4752                                  GLenum format,
4753                                  GLenum type,
4754                                  const void *pixels)
4755 {
4756     ParamBuffer paramBuffer;
4757 
4758     paramBuffer.addEnumParam("target", BigGLEnum::TextureTarget, ParamType::TGLenum, target);
4759     paramBuffer.addValueParam("level", ParamType::TGLint, level);
4760     paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
4761     paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
4762     paramBuffer.addEnumParam("format", BigGLEnum::PixelFormat, ParamType::TGLenum, format);
4763     paramBuffer.addEnumParam("type", BigGLEnum::PixelType, ParamType::TGLenum, type);
4764 
4765     if (isCallValid)
4766     {
4767         ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
4768         InitParamValue(ParamType::TvoidConstPointer, pixels, &pixelsParam.value);
4769         CaptureTexSubImage1D_pixels(glState, isCallValid, target, level, xoffset, width, format,
4770                                     type, pixels, &pixelsParam);
4771         paramBuffer.addParam(std::move(pixelsParam));
4772     }
4773     else
4774     {
4775         ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
4776         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
4777                        &pixelsParam.value);
4778         paramBuffer.addParam(std::move(pixelsParam));
4779     }
4780 
4781     return CallCapture(angle::EntryPoint::GLTexSubImage1D, std::move(paramBuffer));
4782 }
4783 
4784 // GL 1.2
4785 
4786 // GL 1.3
CaptureCompressedTexImage1D(const State & glState,bool isCallValid,GLenum target,GLint level,GLenum internalformat,GLsizei width,GLint border,GLsizei imageSize,const void * data)4787 CallCapture CaptureCompressedTexImage1D(const State &glState,
4788                                         bool isCallValid,
4789                                         GLenum target,
4790                                         GLint level,
4791                                         GLenum internalformat,
4792                                         GLsizei width,
4793                                         GLint border,
4794                                         GLsizei imageSize,
4795                                         const void *data)
4796 {
4797     ParamBuffer paramBuffer;
4798 
4799     paramBuffer.addEnumParam("target", BigGLEnum::TextureTarget, ParamType::TGLenum, target);
4800     paramBuffer.addValueParam("level", ParamType::TGLint, level);
4801     paramBuffer.addEnumParam("internalformat", BigGLEnum::InternalFormat, ParamType::TGLenum,
4802                              internalformat);
4803     paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
4804     paramBuffer.addValueParam("border", ParamType::TGLint, border);
4805     paramBuffer.addValueParam("imageSize", ParamType::TGLsizei, imageSize);
4806 
4807     if (isCallValid)
4808     {
4809         ParamCapture dataParam("data", ParamType::TvoidConstPointer);
4810         InitParamValue(ParamType::TvoidConstPointer, data, &dataParam.value);
4811         CaptureCompressedTexImage1D_data(glState, isCallValid, target, level, internalformat, width,
4812                                          border, imageSize, data, &dataParam);
4813         paramBuffer.addParam(std::move(dataParam));
4814     }
4815     else
4816     {
4817         ParamCapture dataParam("data", ParamType::TvoidConstPointer);
4818         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
4819                        &dataParam.value);
4820         paramBuffer.addParam(std::move(dataParam));
4821     }
4822 
4823     return CallCapture(angle::EntryPoint::GLCompressedTexImage1D, std::move(paramBuffer));
4824 }
4825 
CaptureCompressedTexSubImage1D(const State & glState,bool isCallValid,GLenum target,GLint level,GLint xoffset,GLsizei width,GLenum format,GLsizei imageSize,const void * data)4826 CallCapture CaptureCompressedTexSubImage1D(const State &glState,
4827                                            bool isCallValid,
4828                                            GLenum target,
4829                                            GLint level,
4830                                            GLint xoffset,
4831                                            GLsizei width,
4832                                            GLenum format,
4833                                            GLsizei imageSize,
4834                                            const void *data)
4835 {
4836     ParamBuffer paramBuffer;
4837 
4838     paramBuffer.addEnumParam("target", BigGLEnum::TextureTarget, ParamType::TGLenum, target);
4839     paramBuffer.addValueParam("level", ParamType::TGLint, level);
4840     paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
4841     paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
4842     paramBuffer.addEnumParam("format", BigGLEnum::InternalFormat, ParamType::TGLenum, format);
4843     paramBuffer.addValueParam("imageSize", ParamType::TGLsizei, imageSize);
4844 
4845     if (isCallValid)
4846     {
4847         ParamCapture dataParam("data", ParamType::TvoidConstPointer);
4848         InitParamValue(ParamType::TvoidConstPointer, data, &dataParam.value);
4849         CaptureCompressedTexSubImage1D_data(glState, isCallValid, target, level, xoffset, width,
4850                                             format, imageSize, data, &dataParam);
4851         paramBuffer.addParam(std::move(dataParam));
4852     }
4853     else
4854     {
4855         ParamCapture dataParam("data", ParamType::TvoidConstPointer);
4856         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
4857                        &dataParam.value);
4858         paramBuffer.addParam(std::move(dataParam));
4859     }
4860 
4861     return CallCapture(angle::EntryPoint::GLCompressedTexSubImage1D, std::move(paramBuffer));
4862 }
4863 
CaptureGetCompressedTexImage(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,void * img)4864 CallCapture CaptureGetCompressedTexImage(const State &glState,
4865                                          bool isCallValid,
4866                                          TextureTarget targetPacked,
4867                                          GLint level,
4868                                          void *img)
4869 {
4870     ParamBuffer paramBuffer;
4871 
4872     paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
4873     paramBuffer.addValueParam("level", ParamType::TGLint, level);
4874 
4875     if (isCallValid)
4876     {
4877         ParamCapture imgParam("img", ParamType::TvoidPointer);
4878         InitParamValue(ParamType::TvoidPointer, img, &imgParam.value);
4879         CaptureGetCompressedTexImage_img(glState, isCallValid, targetPacked, level, img, &imgParam);
4880         paramBuffer.addParam(std::move(imgParam));
4881     }
4882     else
4883     {
4884         ParamCapture imgParam("img", ParamType::TvoidPointer);
4885         InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &imgParam.value);
4886         paramBuffer.addParam(std::move(imgParam));
4887     }
4888 
4889     return CallCapture(angle::EntryPoint::GLGetCompressedTexImage, std::move(paramBuffer));
4890 }
4891 
CaptureLoadTransposeMatrixd(const State & glState,bool isCallValid,const GLdouble * m)4892 CallCapture CaptureLoadTransposeMatrixd(const State &glState, bool isCallValid, const GLdouble *m)
4893 {
4894     ParamBuffer paramBuffer;
4895 
4896     if (isCallValid)
4897     {
4898         ParamCapture mParam("m", ParamType::TGLdoubleConstPointer);
4899         InitParamValue(ParamType::TGLdoubleConstPointer, m, &mParam.value);
4900         CaptureLoadTransposeMatrixd_m(glState, isCallValid, m, &mParam);
4901         paramBuffer.addParam(std::move(mParam));
4902     }
4903     else
4904     {
4905         ParamCapture mParam("m", ParamType::TGLdoubleConstPointer);
4906         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
4907                        &mParam.value);
4908         paramBuffer.addParam(std::move(mParam));
4909     }
4910 
4911     return CallCapture(angle::EntryPoint::GLLoadTransposeMatrixd, std::move(paramBuffer));
4912 }
4913 
CaptureLoadTransposeMatrixf(const State & glState,bool isCallValid,const GLfloat * m)4914 CallCapture CaptureLoadTransposeMatrixf(const State &glState, bool isCallValid, const GLfloat *m)
4915 {
4916     ParamBuffer paramBuffer;
4917 
4918     if (isCallValid)
4919     {
4920         ParamCapture mParam("m", ParamType::TGLfloatConstPointer);
4921         InitParamValue(ParamType::TGLfloatConstPointer, m, &mParam.value);
4922         CaptureLoadTransposeMatrixf_m(glState, isCallValid, m, &mParam);
4923         paramBuffer.addParam(std::move(mParam));
4924     }
4925     else
4926     {
4927         ParamCapture mParam("m", ParamType::TGLfloatConstPointer);
4928         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
4929                        &mParam.value);
4930         paramBuffer.addParam(std::move(mParam));
4931     }
4932 
4933     return CallCapture(angle::EntryPoint::GLLoadTransposeMatrixf, std::move(paramBuffer));
4934 }
4935 
CaptureMultTransposeMatrixd(const State & glState,bool isCallValid,const GLdouble * m)4936 CallCapture CaptureMultTransposeMatrixd(const State &glState, bool isCallValid, const GLdouble *m)
4937 {
4938     ParamBuffer paramBuffer;
4939 
4940     if (isCallValid)
4941     {
4942         ParamCapture mParam("m", ParamType::TGLdoubleConstPointer);
4943         InitParamValue(ParamType::TGLdoubleConstPointer, m, &mParam.value);
4944         CaptureMultTransposeMatrixd_m(glState, isCallValid, m, &mParam);
4945         paramBuffer.addParam(std::move(mParam));
4946     }
4947     else
4948     {
4949         ParamCapture mParam("m", ParamType::TGLdoubleConstPointer);
4950         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
4951                        &mParam.value);
4952         paramBuffer.addParam(std::move(mParam));
4953     }
4954 
4955     return CallCapture(angle::EntryPoint::GLMultTransposeMatrixd, std::move(paramBuffer));
4956 }
4957 
CaptureMultTransposeMatrixf(const State & glState,bool isCallValid,const GLfloat * m)4958 CallCapture CaptureMultTransposeMatrixf(const State &glState, bool isCallValid, const GLfloat *m)
4959 {
4960     ParamBuffer paramBuffer;
4961 
4962     if (isCallValid)
4963     {
4964         ParamCapture mParam("m", ParamType::TGLfloatConstPointer);
4965         InitParamValue(ParamType::TGLfloatConstPointer, m, &mParam.value);
4966         CaptureMultTransposeMatrixf_m(glState, isCallValid, m, &mParam);
4967         paramBuffer.addParam(std::move(mParam));
4968     }
4969     else
4970     {
4971         ParamCapture mParam("m", ParamType::TGLfloatConstPointer);
4972         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
4973                        &mParam.value);
4974         paramBuffer.addParam(std::move(mParam));
4975     }
4976 
4977     return CallCapture(angle::EntryPoint::GLMultTransposeMatrixf, std::move(paramBuffer));
4978 }
4979 
CaptureMultiTexCoord1d(const State & glState,bool isCallValid,GLenum target,GLdouble s)4980 CallCapture CaptureMultiTexCoord1d(const State &glState,
4981                                    bool isCallValid,
4982                                    GLenum target,
4983                                    GLdouble s)
4984 {
4985     ParamBuffer paramBuffer;
4986 
4987     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
4988     paramBuffer.addValueParam("s", ParamType::TGLdouble, s);
4989 
4990     return CallCapture(angle::EntryPoint::GLMultiTexCoord1d, std::move(paramBuffer));
4991 }
4992 
CaptureMultiTexCoord1dv(const State & glState,bool isCallValid,GLenum target,const GLdouble * v)4993 CallCapture CaptureMultiTexCoord1dv(const State &glState,
4994                                     bool isCallValid,
4995                                     GLenum target,
4996                                     const GLdouble *v)
4997 {
4998     ParamBuffer paramBuffer;
4999 
5000     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5001 
5002     if (isCallValid)
5003     {
5004         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5005         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
5006         CaptureMultiTexCoord1dv_v(glState, isCallValid, target, v, &vParam);
5007         paramBuffer.addParam(std::move(vParam));
5008     }
5009     else
5010     {
5011         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5012         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
5013                        &vParam.value);
5014         paramBuffer.addParam(std::move(vParam));
5015     }
5016 
5017     return CallCapture(angle::EntryPoint::GLMultiTexCoord1dv, std::move(paramBuffer));
5018 }
5019 
CaptureMultiTexCoord1f(const State & glState,bool isCallValid,GLenum target,GLfloat s)5020 CallCapture CaptureMultiTexCoord1f(const State &glState, bool isCallValid, GLenum target, GLfloat s)
5021 {
5022     ParamBuffer paramBuffer;
5023 
5024     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5025     paramBuffer.addValueParam("s", ParamType::TGLfloat, s);
5026 
5027     return CallCapture(angle::EntryPoint::GLMultiTexCoord1f, std::move(paramBuffer));
5028 }
5029 
CaptureMultiTexCoord1fv(const State & glState,bool isCallValid,GLenum target,const GLfloat * v)5030 CallCapture CaptureMultiTexCoord1fv(const State &glState,
5031                                     bool isCallValid,
5032                                     GLenum target,
5033                                     const GLfloat *v)
5034 {
5035     ParamBuffer paramBuffer;
5036 
5037     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5038 
5039     if (isCallValid)
5040     {
5041         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5042         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
5043         CaptureMultiTexCoord1fv_v(glState, isCallValid, target, v, &vParam);
5044         paramBuffer.addParam(std::move(vParam));
5045     }
5046     else
5047     {
5048         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5049         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
5050                        &vParam.value);
5051         paramBuffer.addParam(std::move(vParam));
5052     }
5053 
5054     return CallCapture(angle::EntryPoint::GLMultiTexCoord1fv, std::move(paramBuffer));
5055 }
5056 
CaptureMultiTexCoord1i(const State & glState,bool isCallValid,GLenum target,GLint s)5057 CallCapture CaptureMultiTexCoord1i(const State &glState, bool isCallValid, GLenum target, GLint s)
5058 {
5059     ParamBuffer paramBuffer;
5060 
5061     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5062     paramBuffer.addValueParam("s", ParamType::TGLint, s);
5063 
5064     return CallCapture(angle::EntryPoint::GLMultiTexCoord1i, std::move(paramBuffer));
5065 }
5066 
CaptureMultiTexCoord1iv(const State & glState,bool isCallValid,GLenum target,const GLint * v)5067 CallCapture CaptureMultiTexCoord1iv(const State &glState,
5068                                     bool isCallValid,
5069                                     GLenum target,
5070                                     const GLint *v)
5071 {
5072     ParamBuffer paramBuffer;
5073 
5074     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5075 
5076     if (isCallValid)
5077     {
5078         ParamCapture vParam("v", ParamType::TGLintConstPointer);
5079         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
5080         CaptureMultiTexCoord1iv_v(glState, isCallValid, target, v, &vParam);
5081         paramBuffer.addParam(std::move(vParam));
5082     }
5083     else
5084     {
5085         ParamCapture vParam("v", ParamType::TGLintConstPointer);
5086         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
5087                        &vParam.value);
5088         paramBuffer.addParam(std::move(vParam));
5089     }
5090 
5091     return CallCapture(angle::EntryPoint::GLMultiTexCoord1iv, std::move(paramBuffer));
5092 }
5093 
CaptureMultiTexCoord1s(const State & glState,bool isCallValid,GLenum target,GLshort s)5094 CallCapture CaptureMultiTexCoord1s(const State &glState, bool isCallValid, GLenum target, GLshort s)
5095 {
5096     ParamBuffer paramBuffer;
5097 
5098     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5099     paramBuffer.addValueParam("s", ParamType::TGLshort, s);
5100 
5101     return CallCapture(angle::EntryPoint::GLMultiTexCoord1s, std::move(paramBuffer));
5102 }
5103 
CaptureMultiTexCoord1sv(const State & glState,bool isCallValid,GLenum target,const GLshort * v)5104 CallCapture CaptureMultiTexCoord1sv(const State &glState,
5105                                     bool isCallValid,
5106                                     GLenum target,
5107                                     const GLshort *v)
5108 {
5109     ParamBuffer paramBuffer;
5110 
5111     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5112 
5113     if (isCallValid)
5114     {
5115         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
5116         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
5117         CaptureMultiTexCoord1sv_v(glState, isCallValid, target, v, &vParam);
5118         paramBuffer.addParam(std::move(vParam));
5119     }
5120     else
5121     {
5122         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
5123         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
5124                        &vParam.value);
5125         paramBuffer.addParam(std::move(vParam));
5126     }
5127 
5128     return CallCapture(angle::EntryPoint::GLMultiTexCoord1sv, std::move(paramBuffer));
5129 }
5130 
CaptureMultiTexCoord2d(const State & glState,bool isCallValid,GLenum target,GLdouble s,GLdouble t)5131 CallCapture CaptureMultiTexCoord2d(const State &glState,
5132                                    bool isCallValid,
5133                                    GLenum target,
5134                                    GLdouble s,
5135                                    GLdouble t)
5136 {
5137     ParamBuffer paramBuffer;
5138 
5139     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5140     paramBuffer.addValueParam("s", ParamType::TGLdouble, s);
5141     paramBuffer.addValueParam("t", ParamType::TGLdouble, t);
5142 
5143     return CallCapture(angle::EntryPoint::GLMultiTexCoord2d, std::move(paramBuffer));
5144 }
5145 
CaptureMultiTexCoord2dv(const State & glState,bool isCallValid,GLenum target,const GLdouble * v)5146 CallCapture CaptureMultiTexCoord2dv(const State &glState,
5147                                     bool isCallValid,
5148                                     GLenum target,
5149                                     const GLdouble *v)
5150 {
5151     ParamBuffer paramBuffer;
5152 
5153     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5154 
5155     if (isCallValid)
5156     {
5157         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5158         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
5159         CaptureMultiTexCoord2dv_v(glState, isCallValid, target, v, &vParam);
5160         paramBuffer.addParam(std::move(vParam));
5161     }
5162     else
5163     {
5164         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5165         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
5166                        &vParam.value);
5167         paramBuffer.addParam(std::move(vParam));
5168     }
5169 
5170     return CallCapture(angle::EntryPoint::GLMultiTexCoord2dv, std::move(paramBuffer));
5171 }
5172 
CaptureMultiTexCoord2f(const State & glState,bool isCallValid,GLenum target,GLfloat s,GLfloat t)5173 CallCapture CaptureMultiTexCoord2f(const State &glState,
5174                                    bool isCallValid,
5175                                    GLenum target,
5176                                    GLfloat s,
5177                                    GLfloat t)
5178 {
5179     ParamBuffer paramBuffer;
5180 
5181     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5182     paramBuffer.addValueParam("s", ParamType::TGLfloat, s);
5183     paramBuffer.addValueParam("t", ParamType::TGLfloat, t);
5184 
5185     return CallCapture(angle::EntryPoint::GLMultiTexCoord2f, std::move(paramBuffer));
5186 }
5187 
CaptureMultiTexCoord2fv(const State & glState,bool isCallValid,GLenum target,const GLfloat * v)5188 CallCapture CaptureMultiTexCoord2fv(const State &glState,
5189                                     bool isCallValid,
5190                                     GLenum target,
5191                                     const GLfloat *v)
5192 {
5193     ParamBuffer paramBuffer;
5194 
5195     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5196 
5197     if (isCallValid)
5198     {
5199         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5200         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
5201         CaptureMultiTexCoord2fv_v(glState, isCallValid, target, v, &vParam);
5202         paramBuffer.addParam(std::move(vParam));
5203     }
5204     else
5205     {
5206         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5207         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
5208                        &vParam.value);
5209         paramBuffer.addParam(std::move(vParam));
5210     }
5211 
5212     return CallCapture(angle::EntryPoint::GLMultiTexCoord2fv, std::move(paramBuffer));
5213 }
5214 
CaptureMultiTexCoord2i(const State & glState,bool isCallValid,GLenum target,GLint s,GLint t)5215 CallCapture CaptureMultiTexCoord2i(const State &glState,
5216                                    bool isCallValid,
5217                                    GLenum target,
5218                                    GLint s,
5219                                    GLint t)
5220 {
5221     ParamBuffer paramBuffer;
5222 
5223     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5224     paramBuffer.addValueParam("s", ParamType::TGLint, s);
5225     paramBuffer.addValueParam("t", ParamType::TGLint, t);
5226 
5227     return CallCapture(angle::EntryPoint::GLMultiTexCoord2i, std::move(paramBuffer));
5228 }
5229 
CaptureMultiTexCoord2iv(const State & glState,bool isCallValid,GLenum target,const GLint * v)5230 CallCapture CaptureMultiTexCoord2iv(const State &glState,
5231                                     bool isCallValid,
5232                                     GLenum target,
5233                                     const GLint *v)
5234 {
5235     ParamBuffer paramBuffer;
5236 
5237     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5238 
5239     if (isCallValid)
5240     {
5241         ParamCapture vParam("v", ParamType::TGLintConstPointer);
5242         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
5243         CaptureMultiTexCoord2iv_v(glState, isCallValid, target, v, &vParam);
5244         paramBuffer.addParam(std::move(vParam));
5245     }
5246     else
5247     {
5248         ParamCapture vParam("v", ParamType::TGLintConstPointer);
5249         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
5250                        &vParam.value);
5251         paramBuffer.addParam(std::move(vParam));
5252     }
5253 
5254     return CallCapture(angle::EntryPoint::GLMultiTexCoord2iv, std::move(paramBuffer));
5255 }
5256 
CaptureMultiTexCoord2s(const State & glState,bool isCallValid,GLenum target,GLshort s,GLshort t)5257 CallCapture CaptureMultiTexCoord2s(const State &glState,
5258                                    bool isCallValid,
5259                                    GLenum target,
5260                                    GLshort s,
5261                                    GLshort t)
5262 {
5263     ParamBuffer paramBuffer;
5264 
5265     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5266     paramBuffer.addValueParam("s", ParamType::TGLshort, s);
5267     paramBuffer.addValueParam("t", ParamType::TGLshort, t);
5268 
5269     return CallCapture(angle::EntryPoint::GLMultiTexCoord2s, std::move(paramBuffer));
5270 }
5271 
CaptureMultiTexCoord2sv(const State & glState,bool isCallValid,GLenum target,const GLshort * v)5272 CallCapture CaptureMultiTexCoord2sv(const State &glState,
5273                                     bool isCallValid,
5274                                     GLenum target,
5275                                     const GLshort *v)
5276 {
5277     ParamBuffer paramBuffer;
5278 
5279     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5280 
5281     if (isCallValid)
5282     {
5283         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
5284         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
5285         CaptureMultiTexCoord2sv_v(glState, isCallValid, target, v, &vParam);
5286         paramBuffer.addParam(std::move(vParam));
5287     }
5288     else
5289     {
5290         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
5291         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
5292                        &vParam.value);
5293         paramBuffer.addParam(std::move(vParam));
5294     }
5295 
5296     return CallCapture(angle::EntryPoint::GLMultiTexCoord2sv, std::move(paramBuffer));
5297 }
5298 
CaptureMultiTexCoord3d(const State & glState,bool isCallValid,GLenum target,GLdouble s,GLdouble t,GLdouble r)5299 CallCapture CaptureMultiTexCoord3d(const State &glState,
5300                                    bool isCallValid,
5301                                    GLenum target,
5302                                    GLdouble s,
5303                                    GLdouble t,
5304                                    GLdouble r)
5305 {
5306     ParamBuffer paramBuffer;
5307 
5308     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5309     paramBuffer.addValueParam("s", ParamType::TGLdouble, s);
5310     paramBuffer.addValueParam("t", ParamType::TGLdouble, t);
5311     paramBuffer.addValueParam("r", ParamType::TGLdouble, r);
5312 
5313     return CallCapture(angle::EntryPoint::GLMultiTexCoord3d, std::move(paramBuffer));
5314 }
5315 
CaptureMultiTexCoord3dv(const State & glState,bool isCallValid,GLenum target,const GLdouble * v)5316 CallCapture CaptureMultiTexCoord3dv(const State &glState,
5317                                     bool isCallValid,
5318                                     GLenum target,
5319                                     const GLdouble *v)
5320 {
5321     ParamBuffer paramBuffer;
5322 
5323     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5324 
5325     if (isCallValid)
5326     {
5327         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5328         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
5329         CaptureMultiTexCoord3dv_v(glState, isCallValid, target, v, &vParam);
5330         paramBuffer.addParam(std::move(vParam));
5331     }
5332     else
5333     {
5334         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5335         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
5336                        &vParam.value);
5337         paramBuffer.addParam(std::move(vParam));
5338     }
5339 
5340     return CallCapture(angle::EntryPoint::GLMultiTexCoord3dv, std::move(paramBuffer));
5341 }
5342 
CaptureMultiTexCoord3f(const State & glState,bool isCallValid,GLenum target,GLfloat s,GLfloat t,GLfloat r)5343 CallCapture CaptureMultiTexCoord3f(const State &glState,
5344                                    bool isCallValid,
5345                                    GLenum target,
5346                                    GLfloat s,
5347                                    GLfloat t,
5348                                    GLfloat r)
5349 {
5350     ParamBuffer paramBuffer;
5351 
5352     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5353     paramBuffer.addValueParam("s", ParamType::TGLfloat, s);
5354     paramBuffer.addValueParam("t", ParamType::TGLfloat, t);
5355     paramBuffer.addValueParam("r", ParamType::TGLfloat, r);
5356 
5357     return CallCapture(angle::EntryPoint::GLMultiTexCoord3f, std::move(paramBuffer));
5358 }
5359 
CaptureMultiTexCoord3fv(const State & glState,bool isCallValid,GLenum target,const GLfloat * v)5360 CallCapture CaptureMultiTexCoord3fv(const State &glState,
5361                                     bool isCallValid,
5362                                     GLenum target,
5363                                     const GLfloat *v)
5364 {
5365     ParamBuffer paramBuffer;
5366 
5367     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5368 
5369     if (isCallValid)
5370     {
5371         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5372         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
5373         CaptureMultiTexCoord3fv_v(glState, isCallValid, target, v, &vParam);
5374         paramBuffer.addParam(std::move(vParam));
5375     }
5376     else
5377     {
5378         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5379         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
5380                        &vParam.value);
5381         paramBuffer.addParam(std::move(vParam));
5382     }
5383 
5384     return CallCapture(angle::EntryPoint::GLMultiTexCoord3fv, std::move(paramBuffer));
5385 }
5386 
CaptureMultiTexCoord3i(const State & glState,bool isCallValid,GLenum target,GLint s,GLint t,GLint r)5387 CallCapture CaptureMultiTexCoord3i(const State &glState,
5388                                    bool isCallValid,
5389                                    GLenum target,
5390                                    GLint s,
5391                                    GLint t,
5392                                    GLint r)
5393 {
5394     ParamBuffer paramBuffer;
5395 
5396     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5397     paramBuffer.addValueParam("s", ParamType::TGLint, s);
5398     paramBuffer.addValueParam("t", ParamType::TGLint, t);
5399     paramBuffer.addValueParam("r", ParamType::TGLint, r);
5400 
5401     return CallCapture(angle::EntryPoint::GLMultiTexCoord3i, std::move(paramBuffer));
5402 }
5403 
CaptureMultiTexCoord3iv(const State & glState,bool isCallValid,GLenum target,const GLint * v)5404 CallCapture CaptureMultiTexCoord3iv(const State &glState,
5405                                     bool isCallValid,
5406                                     GLenum target,
5407                                     const GLint *v)
5408 {
5409     ParamBuffer paramBuffer;
5410 
5411     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5412 
5413     if (isCallValid)
5414     {
5415         ParamCapture vParam("v", ParamType::TGLintConstPointer);
5416         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
5417         CaptureMultiTexCoord3iv_v(glState, isCallValid, target, v, &vParam);
5418         paramBuffer.addParam(std::move(vParam));
5419     }
5420     else
5421     {
5422         ParamCapture vParam("v", ParamType::TGLintConstPointer);
5423         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
5424                        &vParam.value);
5425         paramBuffer.addParam(std::move(vParam));
5426     }
5427 
5428     return CallCapture(angle::EntryPoint::GLMultiTexCoord3iv, std::move(paramBuffer));
5429 }
5430 
CaptureMultiTexCoord3s(const State & glState,bool isCallValid,GLenum target,GLshort s,GLshort t,GLshort r)5431 CallCapture CaptureMultiTexCoord3s(const State &glState,
5432                                    bool isCallValid,
5433                                    GLenum target,
5434                                    GLshort s,
5435                                    GLshort t,
5436                                    GLshort r)
5437 {
5438     ParamBuffer paramBuffer;
5439 
5440     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5441     paramBuffer.addValueParam("s", ParamType::TGLshort, s);
5442     paramBuffer.addValueParam("t", ParamType::TGLshort, t);
5443     paramBuffer.addValueParam("r", ParamType::TGLshort, r);
5444 
5445     return CallCapture(angle::EntryPoint::GLMultiTexCoord3s, std::move(paramBuffer));
5446 }
5447 
CaptureMultiTexCoord3sv(const State & glState,bool isCallValid,GLenum target,const GLshort * v)5448 CallCapture CaptureMultiTexCoord3sv(const State &glState,
5449                                     bool isCallValid,
5450                                     GLenum target,
5451                                     const GLshort *v)
5452 {
5453     ParamBuffer paramBuffer;
5454 
5455     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5456 
5457     if (isCallValid)
5458     {
5459         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
5460         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
5461         CaptureMultiTexCoord3sv_v(glState, isCallValid, target, v, &vParam);
5462         paramBuffer.addParam(std::move(vParam));
5463     }
5464     else
5465     {
5466         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
5467         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
5468                        &vParam.value);
5469         paramBuffer.addParam(std::move(vParam));
5470     }
5471 
5472     return CallCapture(angle::EntryPoint::GLMultiTexCoord3sv, std::move(paramBuffer));
5473 }
5474 
CaptureMultiTexCoord4d(const State & glState,bool isCallValid,GLenum target,GLdouble s,GLdouble t,GLdouble r,GLdouble q)5475 CallCapture CaptureMultiTexCoord4d(const State &glState,
5476                                    bool isCallValid,
5477                                    GLenum target,
5478                                    GLdouble s,
5479                                    GLdouble t,
5480                                    GLdouble r,
5481                                    GLdouble q)
5482 {
5483     ParamBuffer paramBuffer;
5484 
5485     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5486     paramBuffer.addValueParam("s", ParamType::TGLdouble, s);
5487     paramBuffer.addValueParam("t", ParamType::TGLdouble, t);
5488     paramBuffer.addValueParam("r", ParamType::TGLdouble, r);
5489     paramBuffer.addValueParam("q", ParamType::TGLdouble, q);
5490 
5491     return CallCapture(angle::EntryPoint::GLMultiTexCoord4d, std::move(paramBuffer));
5492 }
5493 
CaptureMultiTexCoord4dv(const State & glState,bool isCallValid,GLenum target,const GLdouble * v)5494 CallCapture CaptureMultiTexCoord4dv(const State &glState,
5495                                     bool isCallValid,
5496                                     GLenum target,
5497                                     const GLdouble *v)
5498 {
5499     ParamBuffer paramBuffer;
5500 
5501     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5502 
5503     if (isCallValid)
5504     {
5505         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5506         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
5507         CaptureMultiTexCoord4dv_v(glState, isCallValid, target, v, &vParam);
5508         paramBuffer.addParam(std::move(vParam));
5509     }
5510     else
5511     {
5512         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5513         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
5514                        &vParam.value);
5515         paramBuffer.addParam(std::move(vParam));
5516     }
5517 
5518     return CallCapture(angle::EntryPoint::GLMultiTexCoord4dv, std::move(paramBuffer));
5519 }
5520 
CaptureMultiTexCoord4fv(const State & glState,bool isCallValid,GLenum target,const GLfloat * v)5521 CallCapture CaptureMultiTexCoord4fv(const State &glState,
5522                                     bool isCallValid,
5523                                     GLenum target,
5524                                     const GLfloat *v)
5525 {
5526     ParamBuffer paramBuffer;
5527 
5528     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5529 
5530     if (isCallValid)
5531     {
5532         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5533         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
5534         CaptureMultiTexCoord4fv_v(glState, isCallValid, target, v, &vParam);
5535         paramBuffer.addParam(std::move(vParam));
5536     }
5537     else
5538     {
5539         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5540         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
5541                        &vParam.value);
5542         paramBuffer.addParam(std::move(vParam));
5543     }
5544 
5545     return CallCapture(angle::EntryPoint::GLMultiTexCoord4fv, std::move(paramBuffer));
5546 }
5547 
CaptureMultiTexCoord4i(const State & glState,bool isCallValid,GLenum target,GLint s,GLint t,GLint r,GLint q)5548 CallCapture CaptureMultiTexCoord4i(const State &glState,
5549                                    bool isCallValid,
5550                                    GLenum target,
5551                                    GLint s,
5552                                    GLint t,
5553                                    GLint r,
5554                                    GLint q)
5555 {
5556     ParamBuffer paramBuffer;
5557 
5558     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5559     paramBuffer.addValueParam("s", ParamType::TGLint, s);
5560     paramBuffer.addValueParam("t", ParamType::TGLint, t);
5561     paramBuffer.addValueParam("r", ParamType::TGLint, r);
5562     paramBuffer.addValueParam("q", ParamType::TGLint, q);
5563 
5564     return CallCapture(angle::EntryPoint::GLMultiTexCoord4i, std::move(paramBuffer));
5565 }
5566 
CaptureMultiTexCoord4iv(const State & glState,bool isCallValid,GLenum target,const GLint * v)5567 CallCapture CaptureMultiTexCoord4iv(const State &glState,
5568                                     bool isCallValid,
5569                                     GLenum target,
5570                                     const GLint *v)
5571 {
5572     ParamBuffer paramBuffer;
5573 
5574     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5575 
5576     if (isCallValid)
5577     {
5578         ParamCapture vParam("v", ParamType::TGLintConstPointer);
5579         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
5580         CaptureMultiTexCoord4iv_v(glState, isCallValid, target, v, &vParam);
5581         paramBuffer.addParam(std::move(vParam));
5582     }
5583     else
5584     {
5585         ParamCapture vParam("v", ParamType::TGLintConstPointer);
5586         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
5587                        &vParam.value);
5588         paramBuffer.addParam(std::move(vParam));
5589     }
5590 
5591     return CallCapture(angle::EntryPoint::GLMultiTexCoord4iv, std::move(paramBuffer));
5592 }
5593 
CaptureMultiTexCoord4s(const State & glState,bool isCallValid,GLenum target,GLshort s,GLshort t,GLshort r,GLshort q)5594 CallCapture CaptureMultiTexCoord4s(const State &glState,
5595                                    bool isCallValid,
5596                                    GLenum target,
5597                                    GLshort s,
5598                                    GLshort t,
5599                                    GLshort r,
5600                                    GLshort q)
5601 {
5602     ParamBuffer paramBuffer;
5603 
5604     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5605     paramBuffer.addValueParam("s", ParamType::TGLshort, s);
5606     paramBuffer.addValueParam("t", ParamType::TGLshort, t);
5607     paramBuffer.addValueParam("r", ParamType::TGLshort, r);
5608     paramBuffer.addValueParam("q", ParamType::TGLshort, q);
5609 
5610     return CallCapture(angle::EntryPoint::GLMultiTexCoord4s, std::move(paramBuffer));
5611 }
5612 
CaptureMultiTexCoord4sv(const State & glState,bool isCallValid,GLenum target,const GLshort * v)5613 CallCapture CaptureMultiTexCoord4sv(const State &glState,
5614                                     bool isCallValid,
5615                                     GLenum target,
5616                                     const GLshort *v)
5617 {
5618     ParamBuffer paramBuffer;
5619 
5620     paramBuffer.addEnumParam("target", BigGLEnum::TextureUnit, ParamType::TGLenum, target);
5621 
5622     if (isCallValid)
5623     {
5624         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
5625         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
5626         CaptureMultiTexCoord4sv_v(glState, isCallValid, target, v, &vParam);
5627         paramBuffer.addParam(std::move(vParam));
5628     }
5629     else
5630     {
5631         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
5632         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
5633                        &vParam.value);
5634         paramBuffer.addParam(std::move(vParam));
5635     }
5636 
5637     return CallCapture(angle::EntryPoint::GLMultiTexCoord4sv, std::move(paramBuffer));
5638 }
5639 
5640 // GL 1.4
CaptureFogCoordPointer(const State & glState,bool isCallValid,GLenum type,GLsizei stride,const void * pointer)5641 CallCapture CaptureFogCoordPointer(const State &glState,
5642                                    bool isCallValid,
5643                                    GLenum type,
5644                                    GLsizei stride,
5645                                    const void *pointer)
5646 {
5647     ParamBuffer paramBuffer;
5648 
5649     paramBuffer.addEnumParam("type", BigGLEnum::FogPointerTypeEXT, ParamType::TGLenum, type);
5650     paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
5651 
5652     if (isCallValid)
5653     {
5654         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
5655         InitParamValue(ParamType::TvoidConstPointer, pointer, &pointerParam.value);
5656         CaptureFogCoordPointer_pointer(glState, isCallValid, type, stride, pointer, &pointerParam);
5657         paramBuffer.addParam(std::move(pointerParam));
5658     }
5659     else
5660     {
5661         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
5662         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
5663                        &pointerParam.value);
5664         paramBuffer.addParam(std::move(pointerParam));
5665     }
5666 
5667     return CallCapture(angle::EntryPoint::GLFogCoordPointer, std::move(paramBuffer));
5668 }
5669 
CaptureFogCoordd(const State & glState,bool isCallValid,GLdouble coord)5670 CallCapture CaptureFogCoordd(const State &glState, bool isCallValid, GLdouble coord)
5671 {
5672     ParamBuffer paramBuffer;
5673 
5674     paramBuffer.addValueParam("coord", ParamType::TGLdouble, coord);
5675 
5676     return CallCapture(angle::EntryPoint::GLFogCoordd, std::move(paramBuffer));
5677 }
5678 
CaptureFogCoorddv(const State & glState,bool isCallValid,const GLdouble * coord)5679 CallCapture CaptureFogCoorddv(const State &glState, bool isCallValid, const GLdouble *coord)
5680 {
5681     ParamBuffer paramBuffer;
5682 
5683     if (isCallValid)
5684     {
5685         ParamCapture coordParam("coord", ParamType::TGLdoubleConstPointer);
5686         InitParamValue(ParamType::TGLdoubleConstPointer, coord, &coordParam.value);
5687         CaptureFogCoorddv_coord(glState, isCallValid, coord, &coordParam);
5688         paramBuffer.addParam(std::move(coordParam));
5689     }
5690     else
5691     {
5692         ParamCapture coordParam("coord", ParamType::TGLdoubleConstPointer);
5693         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
5694                        &coordParam.value);
5695         paramBuffer.addParam(std::move(coordParam));
5696     }
5697 
5698     return CallCapture(angle::EntryPoint::GLFogCoorddv, std::move(paramBuffer));
5699 }
5700 
CaptureFogCoordf(const State & glState,bool isCallValid,GLfloat coord)5701 CallCapture CaptureFogCoordf(const State &glState, bool isCallValid, GLfloat coord)
5702 {
5703     ParamBuffer paramBuffer;
5704 
5705     paramBuffer.addValueParam("coord", ParamType::TGLfloat, coord);
5706 
5707     return CallCapture(angle::EntryPoint::GLFogCoordf, std::move(paramBuffer));
5708 }
5709 
CaptureFogCoordfv(const State & glState,bool isCallValid,const GLfloat * coord)5710 CallCapture CaptureFogCoordfv(const State &glState, bool isCallValid, const GLfloat *coord)
5711 {
5712     ParamBuffer paramBuffer;
5713 
5714     if (isCallValid)
5715     {
5716         ParamCapture coordParam("coord", ParamType::TGLfloatConstPointer);
5717         InitParamValue(ParamType::TGLfloatConstPointer, coord, &coordParam.value);
5718         CaptureFogCoordfv_coord(glState, isCallValid, coord, &coordParam);
5719         paramBuffer.addParam(std::move(coordParam));
5720     }
5721     else
5722     {
5723         ParamCapture coordParam("coord", ParamType::TGLfloatConstPointer);
5724         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
5725                        &coordParam.value);
5726         paramBuffer.addParam(std::move(coordParam));
5727     }
5728 
5729     return CallCapture(angle::EntryPoint::GLFogCoordfv, std::move(paramBuffer));
5730 }
5731 
CaptureMultiDrawArrays(const State & glState,bool isCallValid,PrimitiveMode modePacked,const GLint * first,const GLsizei * count,GLsizei drawcount)5732 CallCapture CaptureMultiDrawArrays(const State &glState,
5733                                    bool isCallValid,
5734                                    PrimitiveMode modePacked,
5735                                    const GLint *first,
5736                                    const GLsizei *count,
5737                                    GLsizei drawcount)
5738 {
5739     ParamBuffer paramBuffer;
5740 
5741     paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
5742 
5743     if (isCallValid)
5744     {
5745         ParamCapture firstParam("first", ParamType::TGLintConstPointer);
5746         InitParamValue(ParamType::TGLintConstPointer, first, &firstParam.value);
5747         CaptureMultiDrawArrays_first(glState, isCallValid, modePacked, first, count, drawcount,
5748                                      &firstParam);
5749         paramBuffer.addParam(std::move(firstParam));
5750     }
5751     else
5752     {
5753         ParamCapture firstParam("first", ParamType::TGLintConstPointer);
5754         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
5755                        &firstParam.value);
5756         paramBuffer.addParam(std::move(firstParam));
5757     }
5758 
5759     if (isCallValid)
5760     {
5761         ParamCapture countParam("count", ParamType::TGLsizeiConstPointer);
5762         InitParamValue(ParamType::TGLsizeiConstPointer, count, &countParam.value);
5763         CaptureMultiDrawArrays_count(glState, isCallValid, modePacked, first, count, drawcount,
5764                                      &countParam);
5765         paramBuffer.addParam(std::move(countParam));
5766     }
5767     else
5768     {
5769         ParamCapture countParam("count", ParamType::TGLsizeiConstPointer);
5770         InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
5771                        &countParam.value);
5772         paramBuffer.addParam(std::move(countParam));
5773     }
5774 
5775     paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
5776 
5777     return CallCapture(angle::EntryPoint::GLMultiDrawArrays, std::move(paramBuffer));
5778 }
5779 
CaptureMultiDrawElements(const State & glState,bool isCallValid,PrimitiveMode modePacked,const GLsizei * count,DrawElementsType typePacked,const void * const * indices,GLsizei drawcount)5780 CallCapture CaptureMultiDrawElements(const State &glState,
5781                                      bool isCallValid,
5782                                      PrimitiveMode modePacked,
5783                                      const GLsizei *count,
5784                                      DrawElementsType typePacked,
5785                                      const void *const *indices,
5786                                      GLsizei drawcount)
5787 {
5788     ParamBuffer paramBuffer;
5789 
5790     paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
5791 
5792     if (isCallValid)
5793     {
5794         ParamCapture countParam("count", ParamType::TGLsizeiConstPointer);
5795         InitParamValue(ParamType::TGLsizeiConstPointer, count, &countParam.value);
5796         CaptureMultiDrawElements_count(glState, isCallValid, modePacked, count, typePacked, indices,
5797                                        drawcount, &countParam);
5798         paramBuffer.addParam(std::move(countParam));
5799     }
5800     else
5801     {
5802         ParamCapture countParam("count", ParamType::TGLsizeiConstPointer);
5803         InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
5804                        &countParam.value);
5805         paramBuffer.addParam(std::move(countParam));
5806     }
5807 
5808     paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
5809 
5810     if (isCallValid)
5811     {
5812         ParamCapture indicesParam("indices", ParamType::TvoidConstPointerPointer);
5813         InitParamValue(ParamType::TvoidConstPointerPointer, indices, &indicesParam.value);
5814         CaptureMultiDrawElements_indices(glState, isCallValid, modePacked, count, typePacked,
5815                                          indices, drawcount, &indicesParam);
5816         paramBuffer.addParam(std::move(indicesParam));
5817     }
5818     else
5819     {
5820         ParamCapture indicesParam("indices", ParamType::TvoidConstPointerPointer);
5821         InitParamValue(ParamType::TvoidConstPointerPointer,
5822                        static_cast<const void *const *>(nullptr), &indicesParam.value);
5823         paramBuffer.addParam(std::move(indicesParam));
5824     }
5825 
5826     paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
5827 
5828     return CallCapture(angle::EntryPoint::GLMultiDrawElements, std::move(paramBuffer));
5829 }
5830 
CapturePointParameteri(const State & glState,bool isCallValid,GLenum pname,GLint param)5831 CallCapture CapturePointParameteri(const State &glState,
5832                                    bool isCallValid,
5833                                    GLenum pname,
5834                                    GLint param)
5835 {
5836     ParamBuffer paramBuffer;
5837 
5838     paramBuffer.addEnumParam("pname", BigGLEnum::AllEnums, ParamType::TGLenum, pname);
5839     paramBuffer.addValueParam("param", ParamType::TGLint, param);
5840 
5841     return CallCapture(angle::EntryPoint::GLPointParameteri, std::move(paramBuffer));
5842 }
5843 
CapturePointParameteriv(const State & glState,bool isCallValid,GLenum pname,const GLint * params)5844 CallCapture CapturePointParameteriv(const State &glState,
5845                                     bool isCallValid,
5846                                     GLenum pname,
5847                                     const GLint *params)
5848 {
5849     ParamBuffer paramBuffer;
5850 
5851     paramBuffer.addEnumParam("pname", BigGLEnum::AllEnums, ParamType::TGLenum, pname);
5852 
5853     if (isCallValid)
5854     {
5855         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
5856         InitParamValue(ParamType::TGLintConstPointer, params, &paramsParam.value);
5857         CapturePointParameteriv_params(glState, isCallValid, pname, params, &paramsParam);
5858         paramBuffer.addParam(std::move(paramsParam));
5859     }
5860     else
5861     {
5862         ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
5863         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
5864                        &paramsParam.value);
5865         paramBuffer.addParam(std::move(paramsParam));
5866     }
5867 
5868     return CallCapture(angle::EntryPoint::GLPointParameteriv, std::move(paramBuffer));
5869 }
5870 
CaptureSecondaryColor3b(const State & glState,bool isCallValid,GLbyte red,GLbyte green,GLbyte blue)5871 CallCapture CaptureSecondaryColor3b(const State &glState,
5872                                     bool isCallValid,
5873                                     GLbyte red,
5874                                     GLbyte green,
5875                                     GLbyte blue)
5876 {
5877     ParamBuffer paramBuffer;
5878 
5879     paramBuffer.addValueParam("red", ParamType::TGLbyte, red);
5880     paramBuffer.addValueParam("green", ParamType::TGLbyte, green);
5881     paramBuffer.addValueParam("blue", ParamType::TGLbyte, blue);
5882 
5883     return CallCapture(angle::EntryPoint::GLSecondaryColor3b, std::move(paramBuffer));
5884 }
5885 
CaptureSecondaryColor3bv(const State & glState,bool isCallValid,const GLbyte * v)5886 CallCapture CaptureSecondaryColor3bv(const State &glState, bool isCallValid, const GLbyte *v)
5887 {
5888     ParamBuffer paramBuffer;
5889 
5890     if (isCallValid)
5891     {
5892         ParamCapture vParam("v", ParamType::TGLbyteConstPointer);
5893         InitParamValue(ParamType::TGLbyteConstPointer, v, &vParam.value);
5894         CaptureSecondaryColor3bv_v(glState, isCallValid, v, &vParam);
5895         paramBuffer.addParam(std::move(vParam));
5896     }
5897     else
5898     {
5899         ParamCapture vParam("v", ParamType::TGLbyteConstPointer);
5900         InitParamValue(ParamType::TGLbyteConstPointer, static_cast<const GLbyte *>(nullptr),
5901                        &vParam.value);
5902         paramBuffer.addParam(std::move(vParam));
5903     }
5904 
5905     return CallCapture(angle::EntryPoint::GLSecondaryColor3bv, std::move(paramBuffer));
5906 }
5907 
CaptureSecondaryColor3d(const State & glState,bool isCallValid,GLdouble red,GLdouble green,GLdouble blue)5908 CallCapture CaptureSecondaryColor3d(const State &glState,
5909                                     bool isCallValid,
5910                                     GLdouble red,
5911                                     GLdouble green,
5912                                     GLdouble blue)
5913 {
5914     ParamBuffer paramBuffer;
5915 
5916     paramBuffer.addValueParam("red", ParamType::TGLdouble, red);
5917     paramBuffer.addValueParam("green", ParamType::TGLdouble, green);
5918     paramBuffer.addValueParam("blue", ParamType::TGLdouble, blue);
5919 
5920     return CallCapture(angle::EntryPoint::GLSecondaryColor3d, std::move(paramBuffer));
5921 }
5922 
CaptureSecondaryColor3dv(const State & glState,bool isCallValid,const GLdouble * v)5923 CallCapture CaptureSecondaryColor3dv(const State &glState, bool isCallValid, const GLdouble *v)
5924 {
5925     ParamBuffer paramBuffer;
5926 
5927     if (isCallValid)
5928     {
5929         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5930         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
5931         CaptureSecondaryColor3dv_v(glState, isCallValid, v, &vParam);
5932         paramBuffer.addParam(std::move(vParam));
5933     }
5934     else
5935     {
5936         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
5937         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
5938                        &vParam.value);
5939         paramBuffer.addParam(std::move(vParam));
5940     }
5941 
5942     return CallCapture(angle::EntryPoint::GLSecondaryColor3dv, std::move(paramBuffer));
5943 }
5944 
CaptureSecondaryColor3f(const State & glState,bool isCallValid,GLfloat red,GLfloat green,GLfloat blue)5945 CallCapture CaptureSecondaryColor3f(const State &glState,
5946                                     bool isCallValid,
5947                                     GLfloat red,
5948                                     GLfloat green,
5949                                     GLfloat blue)
5950 {
5951     ParamBuffer paramBuffer;
5952 
5953     paramBuffer.addValueParam("red", ParamType::TGLfloat, red);
5954     paramBuffer.addValueParam("green", ParamType::TGLfloat, green);
5955     paramBuffer.addValueParam("blue", ParamType::TGLfloat, blue);
5956 
5957     return CallCapture(angle::EntryPoint::GLSecondaryColor3f, std::move(paramBuffer));
5958 }
5959 
CaptureSecondaryColor3fv(const State & glState,bool isCallValid,const GLfloat * v)5960 CallCapture CaptureSecondaryColor3fv(const State &glState, bool isCallValid, const GLfloat *v)
5961 {
5962     ParamBuffer paramBuffer;
5963 
5964     if (isCallValid)
5965     {
5966         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5967         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
5968         CaptureSecondaryColor3fv_v(glState, isCallValid, v, &vParam);
5969         paramBuffer.addParam(std::move(vParam));
5970     }
5971     else
5972     {
5973         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
5974         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
5975                        &vParam.value);
5976         paramBuffer.addParam(std::move(vParam));
5977     }
5978 
5979     return CallCapture(angle::EntryPoint::GLSecondaryColor3fv, std::move(paramBuffer));
5980 }
5981 
CaptureSecondaryColor3i(const State & glState,bool isCallValid,GLint red,GLint green,GLint blue)5982 CallCapture CaptureSecondaryColor3i(const State &glState,
5983                                     bool isCallValid,
5984                                     GLint red,
5985                                     GLint green,
5986                                     GLint blue)
5987 {
5988     ParamBuffer paramBuffer;
5989 
5990     paramBuffer.addValueParam("red", ParamType::TGLint, red);
5991     paramBuffer.addValueParam("green", ParamType::TGLint, green);
5992     paramBuffer.addValueParam("blue", ParamType::TGLint, blue);
5993 
5994     return CallCapture(angle::EntryPoint::GLSecondaryColor3i, std::move(paramBuffer));
5995 }
5996 
CaptureSecondaryColor3iv(const State & glState,bool isCallValid,const GLint * v)5997 CallCapture CaptureSecondaryColor3iv(const State &glState, bool isCallValid, const GLint *v)
5998 {
5999     ParamBuffer paramBuffer;
6000 
6001     if (isCallValid)
6002     {
6003         ParamCapture vParam("v", ParamType::TGLintConstPointer);
6004         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
6005         CaptureSecondaryColor3iv_v(glState, isCallValid, v, &vParam);
6006         paramBuffer.addParam(std::move(vParam));
6007     }
6008     else
6009     {
6010         ParamCapture vParam("v", ParamType::TGLintConstPointer);
6011         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
6012                        &vParam.value);
6013         paramBuffer.addParam(std::move(vParam));
6014     }
6015 
6016     return CallCapture(angle::EntryPoint::GLSecondaryColor3iv, std::move(paramBuffer));
6017 }
6018 
CaptureSecondaryColor3s(const State & glState,bool isCallValid,GLshort red,GLshort green,GLshort blue)6019 CallCapture CaptureSecondaryColor3s(const State &glState,
6020                                     bool isCallValid,
6021                                     GLshort red,
6022                                     GLshort green,
6023                                     GLshort blue)
6024 {
6025     ParamBuffer paramBuffer;
6026 
6027     paramBuffer.addValueParam("red", ParamType::TGLshort, red);
6028     paramBuffer.addValueParam("green", ParamType::TGLshort, green);
6029     paramBuffer.addValueParam("blue", ParamType::TGLshort, blue);
6030 
6031     return CallCapture(angle::EntryPoint::GLSecondaryColor3s, std::move(paramBuffer));
6032 }
6033 
CaptureSecondaryColor3sv(const State & glState,bool isCallValid,const GLshort * v)6034 CallCapture CaptureSecondaryColor3sv(const State &glState, bool isCallValid, const GLshort *v)
6035 {
6036     ParamBuffer paramBuffer;
6037 
6038     if (isCallValid)
6039     {
6040         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
6041         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
6042         CaptureSecondaryColor3sv_v(glState, isCallValid, v, &vParam);
6043         paramBuffer.addParam(std::move(vParam));
6044     }
6045     else
6046     {
6047         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
6048         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
6049                        &vParam.value);
6050         paramBuffer.addParam(std::move(vParam));
6051     }
6052 
6053     return CallCapture(angle::EntryPoint::GLSecondaryColor3sv, std::move(paramBuffer));
6054 }
6055 
CaptureSecondaryColor3ub(const State & glState,bool isCallValid,GLubyte red,GLubyte green,GLubyte blue)6056 CallCapture CaptureSecondaryColor3ub(const State &glState,
6057                                      bool isCallValid,
6058                                      GLubyte red,
6059                                      GLubyte green,
6060                                      GLubyte blue)
6061 {
6062     ParamBuffer paramBuffer;
6063 
6064     paramBuffer.addValueParam("red", ParamType::TGLubyte, red);
6065     paramBuffer.addValueParam("green", ParamType::TGLubyte, green);
6066     paramBuffer.addValueParam("blue", ParamType::TGLubyte, blue);
6067 
6068     return CallCapture(angle::EntryPoint::GLSecondaryColor3ub, std::move(paramBuffer));
6069 }
6070 
CaptureSecondaryColor3ubv(const State & glState,bool isCallValid,const GLubyte * v)6071 CallCapture CaptureSecondaryColor3ubv(const State &glState, bool isCallValid, const GLubyte *v)
6072 {
6073     ParamBuffer paramBuffer;
6074 
6075     if (isCallValid)
6076     {
6077         ParamCapture vParam("v", ParamType::TGLubyteConstPointer);
6078         InitParamValue(ParamType::TGLubyteConstPointer, v, &vParam.value);
6079         CaptureSecondaryColor3ubv_v(glState, isCallValid, v, &vParam);
6080         paramBuffer.addParam(std::move(vParam));
6081     }
6082     else
6083     {
6084         ParamCapture vParam("v", ParamType::TGLubyteConstPointer);
6085         InitParamValue(ParamType::TGLubyteConstPointer, static_cast<const GLubyte *>(nullptr),
6086                        &vParam.value);
6087         paramBuffer.addParam(std::move(vParam));
6088     }
6089 
6090     return CallCapture(angle::EntryPoint::GLSecondaryColor3ubv, std::move(paramBuffer));
6091 }
6092 
CaptureSecondaryColor3ui(const State & glState,bool isCallValid,GLuint red,GLuint green,GLuint blue)6093 CallCapture CaptureSecondaryColor3ui(const State &glState,
6094                                      bool isCallValid,
6095                                      GLuint red,
6096                                      GLuint green,
6097                                      GLuint blue)
6098 {
6099     ParamBuffer paramBuffer;
6100 
6101     paramBuffer.addValueParam("red", ParamType::TGLuint, red);
6102     paramBuffer.addValueParam("green", ParamType::TGLuint, green);
6103     paramBuffer.addValueParam("blue", ParamType::TGLuint, blue);
6104 
6105     return CallCapture(angle::EntryPoint::GLSecondaryColor3ui, std::move(paramBuffer));
6106 }
6107 
CaptureSecondaryColor3uiv(const State & glState,bool isCallValid,const GLuint * v)6108 CallCapture CaptureSecondaryColor3uiv(const State &glState, bool isCallValid, const GLuint *v)
6109 {
6110     ParamBuffer paramBuffer;
6111 
6112     if (isCallValid)
6113     {
6114         ParamCapture vParam("v", ParamType::TGLuintConstPointer);
6115         InitParamValue(ParamType::TGLuintConstPointer, v, &vParam.value);
6116         CaptureSecondaryColor3uiv_v(glState, isCallValid, v, &vParam);
6117         paramBuffer.addParam(std::move(vParam));
6118     }
6119     else
6120     {
6121         ParamCapture vParam("v", ParamType::TGLuintConstPointer);
6122         InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
6123                        &vParam.value);
6124         paramBuffer.addParam(std::move(vParam));
6125     }
6126 
6127     return CallCapture(angle::EntryPoint::GLSecondaryColor3uiv, std::move(paramBuffer));
6128 }
6129 
CaptureSecondaryColor3us(const State & glState,bool isCallValid,GLushort red,GLushort green,GLushort blue)6130 CallCapture CaptureSecondaryColor3us(const State &glState,
6131                                      bool isCallValid,
6132                                      GLushort red,
6133                                      GLushort green,
6134                                      GLushort blue)
6135 {
6136     ParamBuffer paramBuffer;
6137 
6138     paramBuffer.addValueParam("red", ParamType::TGLushort, red);
6139     paramBuffer.addValueParam("green", ParamType::TGLushort, green);
6140     paramBuffer.addValueParam("blue", ParamType::TGLushort, blue);
6141 
6142     return CallCapture(angle::EntryPoint::GLSecondaryColor3us, std::move(paramBuffer));
6143 }
6144 
CaptureSecondaryColor3usv(const State & glState,bool isCallValid,const GLushort * v)6145 CallCapture CaptureSecondaryColor3usv(const State &glState, bool isCallValid, const GLushort *v)
6146 {
6147     ParamBuffer paramBuffer;
6148 
6149     if (isCallValid)
6150     {
6151         ParamCapture vParam("v", ParamType::TGLushortConstPointer);
6152         InitParamValue(ParamType::TGLushortConstPointer, v, &vParam.value);
6153         CaptureSecondaryColor3usv_v(glState, isCallValid, v, &vParam);
6154         paramBuffer.addParam(std::move(vParam));
6155     }
6156     else
6157     {
6158         ParamCapture vParam("v", ParamType::TGLushortConstPointer);
6159         InitParamValue(ParamType::TGLushortConstPointer, static_cast<const GLushort *>(nullptr),
6160                        &vParam.value);
6161         paramBuffer.addParam(std::move(vParam));
6162     }
6163 
6164     return CallCapture(angle::EntryPoint::GLSecondaryColor3usv, std::move(paramBuffer));
6165 }
6166 
CaptureSecondaryColorPointer(const State & glState,bool isCallValid,GLint size,GLenum type,GLsizei stride,const void * pointer)6167 CallCapture CaptureSecondaryColorPointer(const State &glState,
6168                                          bool isCallValid,
6169                                          GLint size,
6170                                          GLenum type,
6171                                          GLsizei stride,
6172                                          const void *pointer)
6173 {
6174     ParamBuffer paramBuffer;
6175 
6176     paramBuffer.addValueParam("size", ParamType::TGLint, size);
6177     paramBuffer.addEnumParam("type", BigGLEnum::ColorPointerType, ParamType::TGLenum, type);
6178     paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
6179 
6180     if (isCallValid)
6181     {
6182         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
6183         InitParamValue(ParamType::TvoidConstPointer, pointer, &pointerParam.value);
6184         CaptureSecondaryColorPointer_pointer(glState, isCallValid, size, type, stride, pointer,
6185                                              &pointerParam);
6186         paramBuffer.addParam(std::move(pointerParam));
6187     }
6188     else
6189     {
6190         ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
6191         InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
6192                        &pointerParam.value);
6193         paramBuffer.addParam(std::move(pointerParam));
6194     }
6195 
6196     return CallCapture(angle::EntryPoint::GLSecondaryColorPointer, std::move(paramBuffer));
6197 }
6198 
CaptureWindowPos2d(const State & glState,bool isCallValid,GLdouble x,GLdouble y)6199 CallCapture CaptureWindowPos2d(const State &glState, bool isCallValid, GLdouble x, GLdouble y)
6200 {
6201     ParamBuffer paramBuffer;
6202 
6203     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
6204     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
6205 
6206     return CallCapture(angle::EntryPoint::GLWindowPos2d, std::move(paramBuffer));
6207 }
6208 
CaptureWindowPos2dv(const State & glState,bool isCallValid,const GLdouble * v)6209 CallCapture CaptureWindowPos2dv(const State &glState, bool isCallValid, const GLdouble *v)
6210 {
6211     ParamBuffer paramBuffer;
6212 
6213     if (isCallValid)
6214     {
6215         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
6216         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
6217         CaptureWindowPos2dv_v(glState, isCallValid, v, &vParam);
6218         paramBuffer.addParam(std::move(vParam));
6219     }
6220     else
6221     {
6222         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
6223         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
6224                        &vParam.value);
6225         paramBuffer.addParam(std::move(vParam));
6226     }
6227 
6228     return CallCapture(angle::EntryPoint::GLWindowPos2dv, std::move(paramBuffer));
6229 }
6230 
CaptureWindowPos2f(const State & glState,bool isCallValid,GLfloat x,GLfloat y)6231 CallCapture CaptureWindowPos2f(const State &glState, bool isCallValid, GLfloat x, GLfloat y)
6232 {
6233     ParamBuffer paramBuffer;
6234 
6235     paramBuffer.addValueParam("x", ParamType::TGLfloat, x);
6236     paramBuffer.addValueParam("y", ParamType::TGLfloat, y);
6237 
6238     return CallCapture(angle::EntryPoint::GLWindowPos2f, std::move(paramBuffer));
6239 }
6240 
CaptureWindowPos2fv(const State & glState,bool isCallValid,const GLfloat * v)6241 CallCapture CaptureWindowPos2fv(const State &glState, bool isCallValid, const GLfloat *v)
6242 {
6243     ParamBuffer paramBuffer;
6244 
6245     if (isCallValid)
6246     {
6247         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
6248         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
6249         CaptureWindowPos2fv_v(glState, isCallValid, v, &vParam);
6250         paramBuffer.addParam(std::move(vParam));
6251     }
6252     else
6253     {
6254         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
6255         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
6256                        &vParam.value);
6257         paramBuffer.addParam(std::move(vParam));
6258     }
6259 
6260     return CallCapture(angle::EntryPoint::GLWindowPos2fv, std::move(paramBuffer));
6261 }
6262 
CaptureWindowPos2i(const State & glState,bool isCallValid,GLint x,GLint y)6263 CallCapture CaptureWindowPos2i(const State &glState, bool isCallValid, GLint x, GLint y)
6264 {
6265     ParamBuffer paramBuffer;
6266 
6267     paramBuffer.addValueParam("x", ParamType::TGLint, x);
6268     paramBuffer.addValueParam("y", ParamType::TGLint, y);
6269 
6270     return CallCapture(angle::EntryPoint::GLWindowPos2i, std::move(paramBuffer));
6271 }
6272 
CaptureWindowPos2iv(const State & glState,bool isCallValid,const GLint * v)6273 CallCapture CaptureWindowPos2iv(const State &glState, bool isCallValid, const GLint *v)
6274 {
6275     ParamBuffer paramBuffer;
6276 
6277     if (isCallValid)
6278     {
6279         ParamCapture vParam("v", ParamType::TGLintConstPointer);
6280         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
6281         CaptureWindowPos2iv_v(glState, isCallValid, v, &vParam);
6282         paramBuffer.addParam(std::move(vParam));
6283     }
6284     else
6285     {
6286         ParamCapture vParam("v", ParamType::TGLintConstPointer);
6287         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
6288                        &vParam.value);
6289         paramBuffer.addParam(std::move(vParam));
6290     }
6291 
6292     return CallCapture(angle::EntryPoint::GLWindowPos2iv, std::move(paramBuffer));
6293 }
6294 
CaptureWindowPos2s(const State & glState,bool isCallValid,GLshort x,GLshort y)6295 CallCapture CaptureWindowPos2s(const State &glState, bool isCallValid, GLshort x, GLshort y)
6296 {
6297     ParamBuffer paramBuffer;
6298 
6299     paramBuffer.addValueParam("x", ParamType::TGLshort, x);
6300     paramBuffer.addValueParam("y", ParamType::TGLshort, y);
6301 
6302     return CallCapture(angle::EntryPoint::GLWindowPos2s, std::move(paramBuffer));
6303 }
6304 
CaptureWindowPos2sv(const State & glState,bool isCallValid,const GLshort * v)6305 CallCapture CaptureWindowPos2sv(const State &glState, bool isCallValid, const GLshort *v)
6306 {
6307     ParamBuffer paramBuffer;
6308 
6309     if (isCallValid)
6310     {
6311         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
6312         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
6313         CaptureWindowPos2sv_v(glState, isCallValid, v, &vParam);
6314         paramBuffer.addParam(std::move(vParam));
6315     }
6316     else
6317     {
6318         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
6319         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
6320                        &vParam.value);
6321         paramBuffer.addParam(std::move(vParam));
6322     }
6323 
6324     return CallCapture(angle::EntryPoint::GLWindowPos2sv, std::move(paramBuffer));
6325 }
6326 
CaptureWindowPos3d(const State & glState,bool isCallValid,GLdouble x,GLdouble y,GLdouble z)6327 CallCapture CaptureWindowPos3d(const State &glState,
6328                                bool isCallValid,
6329                                GLdouble x,
6330                                GLdouble y,
6331                                GLdouble z)
6332 {
6333     ParamBuffer paramBuffer;
6334 
6335     paramBuffer.addValueParam("x", ParamType::TGLdouble, x);
6336     paramBuffer.addValueParam("y", ParamType::TGLdouble, y);
6337     paramBuffer.addValueParam("z", ParamType::TGLdouble, z);
6338 
6339     return CallCapture(angle::EntryPoint::GLWindowPos3d, std::move(paramBuffer));
6340 }
6341 
CaptureWindowPos3dv(const State & glState,bool isCallValid,const GLdouble * v)6342 CallCapture CaptureWindowPos3dv(const State &glState, bool isCallValid, const GLdouble *v)
6343 {
6344     ParamBuffer paramBuffer;
6345 
6346     if (isCallValid)
6347     {
6348         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
6349         InitParamValue(ParamType::TGLdoubleConstPointer, v, &vParam.value);
6350         CaptureWindowPos3dv_v(glState, isCallValid, v, &vParam);
6351         paramBuffer.addParam(std::move(vParam));
6352     }
6353     else
6354     {
6355         ParamCapture vParam("v", ParamType::TGLdoubleConstPointer);
6356         InitParamValue(ParamType::TGLdoubleConstPointer, static_cast<const GLdouble *>(nullptr),
6357                        &vParam.value);
6358         paramBuffer.addParam(std::move(vParam));
6359     }
6360 
6361     return CallCapture(angle::EntryPoint::GLWindowPos3dv, std::move(paramBuffer));
6362 }
6363 
CaptureWindowPos3f(const State & glState,bool isCallValid,GLfloat x,GLfloat y,GLfloat z)6364 CallCapture CaptureWindowPos3f(const State &glState,
6365                                bool isCallValid,
6366                                GLfloat x,
6367                                GLfloat y,
6368                                GLfloat z)
6369 {
6370     ParamBuffer paramBuffer;
6371 
6372     paramBuffer.addValueParam("x", ParamType::TGLfloat, x);
6373     paramBuffer.addValueParam("y", ParamType::TGLfloat, y);
6374     paramBuffer.addValueParam("z", ParamType::TGLfloat, z);
6375 
6376     return CallCapture(angle::EntryPoint::GLWindowPos3f, std::move(paramBuffer));
6377 }
6378 
CaptureWindowPos3fv(const State & glState,bool isCallValid,const GLfloat * v)6379 CallCapture CaptureWindowPos3fv(const State &glState, bool isCallValid, const GLfloat *v)
6380 {
6381     ParamBuffer paramBuffer;
6382 
6383     if (isCallValid)
6384     {
6385         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
6386         InitParamValue(ParamType::TGLfloatConstPointer, v, &vParam.value);
6387         CaptureWindowPos3fv_v(glState, isCallValid, v, &vParam);
6388         paramBuffer.addParam(std::move(vParam));
6389     }
6390     else
6391     {
6392         ParamCapture vParam("v", ParamType::TGLfloatConstPointer);
6393         InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
6394                        &vParam.value);
6395         paramBuffer.addParam(std::move(vParam));
6396     }
6397 
6398     return CallCapture(angle::EntryPoint::GLWindowPos3fv, std::move(paramBuffer));
6399 }
6400 
CaptureWindowPos3i(const State & glState,bool isCallValid,GLint x,GLint y,GLint z)6401 CallCapture CaptureWindowPos3i(const State &glState, bool isCallValid, GLint x, GLint y, GLint z)
6402 {
6403     ParamBuffer paramBuffer;
6404 
6405     paramBuffer.addValueParam("x", ParamType::TGLint, x);
6406     paramBuffer.addValueParam("y", ParamType::TGLint, y);
6407     paramBuffer.addValueParam("z", ParamType::TGLint, z);
6408 
6409     return CallCapture(angle::EntryPoint::GLWindowPos3i, std::move(paramBuffer));
6410 }
6411 
CaptureWindowPos3iv(const State & glState,bool isCallValid,const GLint * v)6412 CallCapture CaptureWindowPos3iv(const State &glState, bool isCallValid, const GLint *v)
6413 {
6414     ParamBuffer paramBuffer;
6415 
6416     if (isCallValid)
6417     {
6418         ParamCapture vParam("v", ParamType::TGLintConstPointer);
6419         InitParamValue(ParamType::TGLintConstPointer, v, &vParam.value);
6420         CaptureWindowPos3iv_v(glState, isCallValid, v, &vParam);
6421         paramBuffer.addParam(std::move(vParam));
6422     }
6423     else
6424     {
6425         ParamCapture vParam("v", ParamType::TGLintConstPointer);
6426         InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
6427                        &vParam.value);
6428         paramBuffer.addParam(std::move(vParam));
6429     }
6430 
6431     return CallCapture(angle::EntryPoint::GLWindowPos3iv, std::move(paramBuffer));
6432 }
6433 
CaptureWindowPos3s(const State & glState,bool isCallValid,GLshort x,GLshort y,GLshort z)6434 CallCapture CaptureWindowPos3s(const State &glState,
6435                                bool isCallValid,
6436                                GLshort x,
6437                                GLshort y,
6438                                GLshort z)
6439 {
6440     ParamBuffer paramBuffer;
6441 
6442     paramBuffer.addValueParam("x", ParamType::TGLshort, x);
6443     paramBuffer.addValueParam("y", ParamType::TGLshort, y);
6444     paramBuffer.addValueParam("z", ParamType::TGLshort, z);
6445 
6446     return CallCapture(angle::EntryPoint::GLWindowPos3s, std::move(paramBuffer));
6447 }
6448 
CaptureWindowPos3sv(const State & glState,bool isCallValid,const GLshort * v)6449 CallCapture CaptureWindowPos3sv(const State &glState, bool isCallValid, const GLshort *v)
6450 {
6451     ParamBuffer paramBuffer;
6452 
6453     if (isCallValid)
6454     {
6455         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
6456         InitParamValue(ParamType::TGLshortConstPointer, v, &vParam.value);
6457         CaptureWindowPos3sv_v(glState, isCallValid, v, &vParam);
6458         paramBuffer.addParam(std::move(vParam));
6459     }
6460     else
6461     {
6462         ParamCapture vParam("v", ParamType::TGLshortConstPointer);
6463         InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
6464                        &vParam.value);
6465         paramBuffer.addParam(std::move(vParam));
6466     }
6467 
6468     return CallCapture(angle::EntryPoint::GLWindowPos3sv, std::move(paramBuffer));
6469 }
6470 
6471 // GL 1.5
CaptureGetBufferSubData(const State & glState,bool isCallValid,GLenum target,GLintptr offset,GLsizeiptr size,void * data)6472 CallCapture CaptureGetBufferSubData(const State &glState,
6473                                     bool isCallValid,
6474                                     GLenum target,
6475                                     GLintptr offset,
6476                                     GLsizeiptr size,
6477                                     void *data)
6478 {
6479     ParamBuffer paramBuffer;
6480 
6481     paramBuffer.addEnumParam("target", BigGLEnum::BufferTargetARB, ParamType::TGLenum, target);
6482     paramBuffer.addValueParam("offset", ParamType::TGLintptr, offset);
6483     paramBuffer.addValueParam("size", ParamType::TGLsizeiptr, size);
6484 
6485     if (isCallValid)
6486     {
6487         ParamCapture dataParam("data", ParamType::TvoidPointer);
6488         InitParamValue(ParamType::TvoidPointer, data, &dataParam.value);
6489         CaptureGetBufferSubData_data(glState, isCallValid, target, offset, size, data, &dataParam);
6490         paramBuffer.addParam(std::move(dataParam));
6491     }
6492     else
6493     {
6494         ParamCapture dataParam("data", ParamType::TvoidPointer);
6495         InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &dataParam.value);
6496         paramBuffer.addParam(std::move(dataParam));
6497     }
6498 
6499     return CallCapture(angle::EntryPoint::GLGetBufferSubData, std::move(paramBuffer));
6500 }
6501 
CaptureGetQueryObjectiv(const State & glState,bool isCallValid,QueryID idPacked,GLenum pname,GLint * params)6502 CallCapture CaptureGetQueryObjectiv(const State &glState,
6503                                     bool isCallValid,
6504                                     QueryID idPacked,
6505                                     GLenum pname,
6506                                     GLint *params)
6507 {
6508     ParamBuffer paramBuffer;
6509 
6510     paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
6511     paramBuffer.addEnumParam("pname", BigGLEnum::QueryObjectParameterName, ParamType::TGLenum,
6512                              pname);
6513 
6514     if (isCallValid)
6515     {
6516         ParamCapture paramsParam("params", ParamType::TGLintPointer);
6517         InitParamValue(ParamType::TGLintPointer, params, &paramsParam.value);
6518         CaptureGetQueryObjectiv_params(glState, isCallValid, idPacked, pname, params, &paramsParam);
6519         paramBuffer.addParam(std::move(paramsParam));
6520     }
6521     else
6522     {
6523         ParamCapture paramsParam("params", ParamType::TGLintPointer);
6524         InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), &paramsParam.value);
6525         paramBuffer.addParam(std::move(paramsParam));
6526     }
6527 
6528     return CallCapture(angle::EntryPoint::GLGetQueryObjectiv, std::move(paramBuffer));
6529 }
6530 
CaptureMapBuffer(const State & glState,bool isCallValid,BufferBinding targetPacked,GLenum access,void * returnValue)6531 CallCapture CaptureMapBuffer(const State &glState,
6532                              bool isCallValid,
6533                              BufferBinding targetPacked,
6534                              GLenum access,
6535                              void *returnValue)
6536 {
6537     ParamBuffer paramBuffer;
6538 
6539     paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
6540     paramBuffer.addEnumParam("access", BigGLEnum::BufferAccessARB, ParamType::TGLenum, access);
6541 
6542     ParamCapture returnValueCapture("returnValue", ParamType::TvoidPointer);
6543     InitParamValue(ParamType::TvoidPointer, returnValue, &returnValueCapture.value);
6544     paramBuffer.addReturnValue(std::move(returnValueCapture));
6545 
6546     return CallCapture(angle::EntryPoint::GLMapBuffer, std::move(paramBuffer));
6547 }
6548 
6549 }  // namespace gl
6550