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_gles_ext_autogen.cpp:
9 // Capture functions for the OpenGL ES extension entry points.
10
11 #include "libANGLE/capture/capture_gles_ext_autogen.h"
12
13 #include "libANGLE/Context.h"
14 #include "libANGLE/capture/FrameCapture.h"
15 #include "libANGLE/capture/gl_enum_utils.h"
16 #include "libANGLE/validationESEXT.h"
17
18 using namespace angle;
19
20 namespace gl
21 {
22
CaptureDrawArraysInstancedBaseInstanceANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLint first,GLsizei count,GLsizei instanceCount,GLuint baseInstance)23 CallCapture CaptureDrawArraysInstancedBaseInstanceANGLE(const State &glState,
24 bool isCallValid,
25 PrimitiveMode modePacked,
26 GLint first,
27 GLsizei count,
28 GLsizei instanceCount,
29 GLuint baseInstance)
30 {
31 ParamBuffer paramBuffer;
32
33 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
34 paramBuffer.addValueParam("first", ParamType::TGLint, first);
35 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
36 paramBuffer.addValueParam("instanceCount", ParamType::TGLsizei, instanceCount);
37 paramBuffer.addValueParam("baseInstance", ParamType::TGLuint, baseInstance);
38
39 return CallCapture(angle::EntryPoint::GLDrawArraysInstancedBaseInstanceANGLE,
40 std::move(paramBuffer));
41 }
42
CaptureDrawElementsInstancedBaseVertexBaseInstanceANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLsizei count,DrawElementsType typePacked,const GLvoid * indices,GLsizei instanceCounts,GLint baseVertex,GLuint baseInstance)43 CallCapture CaptureDrawElementsInstancedBaseVertexBaseInstanceANGLE(const State &glState,
44 bool isCallValid,
45 PrimitiveMode modePacked,
46 GLsizei count,
47 DrawElementsType typePacked,
48 const GLvoid *indices,
49 GLsizei instanceCounts,
50 GLint baseVertex,
51 GLuint baseInstance)
52 {
53 ParamBuffer paramBuffer;
54
55 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
56 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
57 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
58
59 if (isCallValid)
60 {
61 ParamCapture indicesParam("indices", ParamType::TGLvoidConstPointer);
62 InitParamValue(ParamType::TGLvoidConstPointer, indices, &indicesParam.value);
63 CaptureDrawElementsInstancedBaseVertexBaseInstanceANGLE_indices(
64 glState, isCallValid, modePacked, count, typePacked, indices, instanceCounts,
65 baseVertex, baseInstance, &indicesParam);
66 paramBuffer.addParam(std::move(indicesParam));
67 }
68 else
69 {
70 ParamCapture indicesParam("indices", ParamType::TGLvoidConstPointer);
71 InitParamValue(ParamType::TGLvoidConstPointer, static_cast<const GLvoid *>(nullptr),
72 &indicesParam.value);
73 paramBuffer.addParam(std::move(indicesParam));
74 }
75
76 paramBuffer.addValueParam("instanceCounts", ParamType::TGLsizei, instanceCounts);
77 paramBuffer.addValueParam("baseVertex", ParamType::TGLint, baseVertex);
78 paramBuffer.addValueParam("baseInstance", ParamType::TGLuint, baseInstance);
79
80 return CallCapture(angle::EntryPoint::GLDrawElementsInstancedBaseVertexBaseInstanceANGLE,
81 std::move(paramBuffer));
82 }
83
CaptureMultiDrawArraysInstancedBaseInstanceANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,const GLint * firsts,const GLsizei * counts,const GLsizei * instanceCounts,const GLuint * baseInstances,GLsizei drawcount)84 CallCapture CaptureMultiDrawArraysInstancedBaseInstanceANGLE(const State &glState,
85 bool isCallValid,
86 PrimitiveMode modePacked,
87 const GLint *firsts,
88 const GLsizei *counts,
89 const GLsizei *instanceCounts,
90 const GLuint *baseInstances,
91 GLsizei drawcount)
92 {
93 ParamBuffer paramBuffer;
94
95 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
96
97 if (isCallValid)
98 {
99 ParamCapture firstsParam("firsts", ParamType::TGLintConstPointer);
100 InitParamValue(ParamType::TGLintConstPointer, firsts, &firstsParam.value);
101 CaptureMultiDrawArraysInstancedBaseInstanceANGLE_firsts(
102 glState, isCallValid, modePacked, firsts, counts, instanceCounts, baseInstances,
103 drawcount, &firstsParam);
104 paramBuffer.addParam(std::move(firstsParam));
105 }
106 else
107 {
108 ParamCapture firstsParam("firsts", ParamType::TGLintConstPointer);
109 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
110 &firstsParam.value);
111 paramBuffer.addParam(std::move(firstsParam));
112 }
113
114 if (isCallValid)
115 {
116 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
117 InitParamValue(ParamType::TGLsizeiConstPointer, counts, &countsParam.value);
118 CaptureMultiDrawArraysInstancedBaseInstanceANGLE_counts(
119 glState, isCallValid, modePacked, firsts, counts, instanceCounts, baseInstances,
120 drawcount, &countsParam);
121 paramBuffer.addParam(std::move(countsParam));
122 }
123 else
124 {
125 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
126 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
127 &countsParam.value);
128 paramBuffer.addParam(std::move(countsParam));
129 }
130
131 if (isCallValid)
132 {
133 ParamCapture instanceCountsParam("instanceCounts", ParamType::TGLsizeiConstPointer);
134 InitParamValue(ParamType::TGLsizeiConstPointer, instanceCounts, &instanceCountsParam.value);
135 CaptureMultiDrawArraysInstancedBaseInstanceANGLE_instanceCounts(
136 glState, isCallValid, modePacked, firsts, counts, instanceCounts, baseInstances,
137 drawcount, &instanceCountsParam);
138 paramBuffer.addParam(std::move(instanceCountsParam));
139 }
140 else
141 {
142 ParamCapture instanceCountsParam("instanceCounts", ParamType::TGLsizeiConstPointer);
143 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
144 &instanceCountsParam.value);
145 paramBuffer.addParam(std::move(instanceCountsParam));
146 }
147
148 if (isCallValid)
149 {
150 ParamCapture baseInstancesParam("baseInstances", ParamType::TGLuintConstPointer);
151 InitParamValue(ParamType::TGLuintConstPointer, baseInstances, &baseInstancesParam.value);
152 CaptureMultiDrawArraysInstancedBaseInstanceANGLE_baseInstances(
153 glState, isCallValid, modePacked, firsts, counts, instanceCounts, baseInstances,
154 drawcount, &baseInstancesParam);
155 paramBuffer.addParam(std::move(baseInstancesParam));
156 }
157 else
158 {
159 ParamCapture baseInstancesParam("baseInstances", ParamType::TGLuintConstPointer);
160 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
161 &baseInstancesParam.value);
162 paramBuffer.addParam(std::move(baseInstancesParam));
163 }
164
165 paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
166
167 return CallCapture(angle::EntryPoint::GLMultiDrawArraysInstancedBaseInstanceANGLE,
168 std::move(paramBuffer));
169 }
170
CaptureMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,const GLsizei * counts,DrawElementsType typePacked,const GLvoid * const * indices,const GLsizei * instanceCounts,const GLint * baseVertices,const GLuint * baseInstances,GLsizei drawcount)171 CallCapture CaptureMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE(
172 const State &glState,
173 bool isCallValid,
174 PrimitiveMode modePacked,
175 const GLsizei *counts,
176 DrawElementsType typePacked,
177 const GLvoid *const *indices,
178 const GLsizei *instanceCounts,
179 const GLint *baseVertices,
180 const GLuint *baseInstances,
181 GLsizei drawcount)
182 {
183 ParamBuffer paramBuffer;
184
185 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
186
187 if (isCallValid)
188 {
189 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
190 InitParamValue(ParamType::TGLsizeiConstPointer, counts, &countsParam.value);
191 CaptureMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE_counts(
192 glState, isCallValid, modePacked, counts, typePacked, indices, instanceCounts,
193 baseVertices, baseInstances, drawcount, &countsParam);
194 paramBuffer.addParam(std::move(countsParam));
195 }
196 else
197 {
198 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
199 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
200 &countsParam.value);
201 paramBuffer.addParam(std::move(countsParam));
202 }
203
204 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
205
206 if (isCallValid)
207 {
208 ParamCapture indicesParam("indices", ParamType::TGLvoidConstPointerPointer);
209 InitParamValue(ParamType::TGLvoidConstPointerPointer, indices, &indicesParam.value);
210 CaptureMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE_indices(
211 glState, isCallValid, modePacked, counts, typePacked, indices, instanceCounts,
212 baseVertices, baseInstances, drawcount, &indicesParam);
213 paramBuffer.addParam(std::move(indicesParam));
214 }
215 else
216 {
217 ParamCapture indicesParam("indices", ParamType::TGLvoidConstPointerPointer);
218 InitParamValue(ParamType::TGLvoidConstPointerPointer,
219 static_cast<const GLvoid *const *>(nullptr), &indicesParam.value);
220 paramBuffer.addParam(std::move(indicesParam));
221 }
222
223 if (isCallValid)
224 {
225 ParamCapture instanceCountsParam("instanceCounts", ParamType::TGLsizeiConstPointer);
226 InitParamValue(ParamType::TGLsizeiConstPointer, instanceCounts, &instanceCountsParam.value);
227 CaptureMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE_instanceCounts(
228 glState, isCallValid, modePacked, counts, typePacked, indices, instanceCounts,
229 baseVertices, baseInstances, drawcount, &instanceCountsParam);
230 paramBuffer.addParam(std::move(instanceCountsParam));
231 }
232 else
233 {
234 ParamCapture instanceCountsParam("instanceCounts", ParamType::TGLsizeiConstPointer);
235 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
236 &instanceCountsParam.value);
237 paramBuffer.addParam(std::move(instanceCountsParam));
238 }
239
240 if (isCallValid)
241 {
242 ParamCapture baseVerticesParam("baseVertices", ParamType::TGLintConstPointer);
243 InitParamValue(ParamType::TGLintConstPointer, baseVertices, &baseVerticesParam.value);
244 CaptureMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE_baseVertices(
245 glState, isCallValid, modePacked, counts, typePacked, indices, instanceCounts,
246 baseVertices, baseInstances, drawcount, &baseVerticesParam);
247 paramBuffer.addParam(std::move(baseVerticesParam));
248 }
249 else
250 {
251 ParamCapture baseVerticesParam("baseVertices", ParamType::TGLintConstPointer);
252 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
253 &baseVerticesParam.value);
254 paramBuffer.addParam(std::move(baseVerticesParam));
255 }
256
257 if (isCallValid)
258 {
259 ParamCapture baseInstancesParam("baseInstances", ParamType::TGLuintConstPointer);
260 InitParamValue(ParamType::TGLuintConstPointer, baseInstances, &baseInstancesParam.value);
261 CaptureMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE_baseInstances(
262 glState, isCallValid, modePacked, counts, typePacked, indices, instanceCounts,
263 baseVertices, baseInstances, drawcount, &baseInstancesParam);
264 paramBuffer.addParam(std::move(baseInstancesParam));
265 }
266 else
267 {
268 ParamCapture baseInstancesParam("baseInstances", ParamType::TGLuintConstPointer);
269 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
270 &baseInstancesParam.value);
271 paramBuffer.addParam(std::move(baseInstancesParam));
272 }
273
274 paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
275
276 return CallCapture(angle::EntryPoint::GLMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE,
277 std::move(paramBuffer));
278 }
279
CaptureCopyTexture3DANGLE(const State & glState,bool isCallValid,TextureID sourceIdPacked,GLint sourceLevel,TextureTarget destTargetPacked,TextureID destIdPacked,GLint destLevel,GLint internalFormat,GLenum destType,GLboolean unpackFlipY,GLboolean unpackPremultiplyAlpha,GLboolean unpackUnmultiplyAlpha)280 CallCapture CaptureCopyTexture3DANGLE(const State &glState,
281 bool isCallValid,
282 TextureID sourceIdPacked,
283 GLint sourceLevel,
284 TextureTarget destTargetPacked,
285 TextureID destIdPacked,
286 GLint destLevel,
287 GLint internalFormat,
288 GLenum destType,
289 GLboolean unpackFlipY,
290 GLboolean unpackPremultiplyAlpha,
291 GLboolean unpackUnmultiplyAlpha)
292 {
293 ParamBuffer paramBuffer;
294
295 paramBuffer.addValueParam("sourceIdPacked", ParamType::TTextureID, sourceIdPacked);
296 paramBuffer.addValueParam("sourceLevel", ParamType::TGLint, sourceLevel);
297 paramBuffer.addValueParam("destTargetPacked", ParamType::TTextureTarget, destTargetPacked);
298 paramBuffer.addValueParam("destIdPacked", ParamType::TTextureID, destIdPacked);
299 paramBuffer.addValueParam("destLevel", ParamType::TGLint, destLevel);
300 paramBuffer.addValueParam("internalFormat", ParamType::TGLint, internalFormat);
301 paramBuffer.addEnumParam("destType", GLenumGroup::DefaultGroup, ParamType::TGLenum, destType);
302 paramBuffer.addValueParam("unpackFlipY", ParamType::TGLboolean, unpackFlipY);
303 paramBuffer.addValueParam("unpackPremultiplyAlpha", ParamType::TGLboolean,
304 unpackPremultiplyAlpha);
305 paramBuffer.addValueParam("unpackUnmultiplyAlpha", ParamType::TGLboolean,
306 unpackUnmultiplyAlpha);
307
308 return CallCapture(angle::EntryPoint::GLCopyTexture3DANGLE, std::move(paramBuffer));
309 }
310
CaptureCopySubTexture3DANGLE(const State & glState,bool isCallValid,TextureID sourceIdPacked,GLint sourceLevel,TextureTarget destTargetPacked,TextureID destIdPacked,GLint destLevel,GLint xoffset,GLint yoffset,GLint zoffset,GLint x,GLint y,GLint z,GLint width,GLint height,GLint depth,GLboolean unpackFlipY,GLboolean unpackPremultiplyAlpha,GLboolean unpackUnmultiplyAlpha)311 CallCapture CaptureCopySubTexture3DANGLE(const State &glState,
312 bool isCallValid,
313 TextureID sourceIdPacked,
314 GLint sourceLevel,
315 TextureTarget destTargetPacked,
316 TextureID destIdPacked,
317 GLint destLevel,
318 GLint xoffset,
319 GLint yoffset,
320 GLint zoffset,
321 GLint x,
322 GLint y,
323 GLint z,
324 GLint width,
325 GLint height,
326 GLint depth,
327 GLboolean unpackFlipY,
328 GLboolean unpackPremultiplyAlpha,
329 GLboolean unpackUnmultiplyAlpha)
330 {
331 ParamBuffer paramBuffer;
332
333 paramBuffer.addValueParam("sourceIdPacked", ParamType::TTextureID, sourceIdPacked);
334 paramBuffer.addValueParam("sourceLevel", ParamType::TGLint, sourceLevel);
335 paramBuffer.addValueParam("destTargetPacked", ParamType::TTextureTarget, destTargetPacked);
336 paramBuffer.addValueParam("destIdPacked", ParamType::TTextureID, destIdPacked);
337 paramBuffer.addValueParam("destLevel", ParamType::TGLint, destLevel);
338 paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
339 paramBuffer.addValueParam("yoffset", ParamType::TGLint, yoffset);
340 paramBuffer.addValueParam("zoffset", ParamType::TGLint, zoffset);
341 paramBuffer.addValueParam("x", ParamType::TGLint, x);
342 paramBuffer.addValueParam("y", ParamType::TGLint, y);
343 paramBuffer.addValueParam("z", ParamType::TGLint, z);
344 paramBuffer.addValueParam("width", ParamType::TGLint, width);
345 paramBuffer.addValueParam("height", ParamType::TGLint, height);
346 paramBuffer.addValueParam("depth", ParamType::TGLint, depth);
347 paramBuffer.addValueParam("unpackFlipY", ParamType::TGLboolean, unpackFlipY);
348 paramBuffer.addValueParam("unpackPremultiplyAlpha", ParamType::TGLboolean,
349 unpackPremultiplyAlpha);
350 paramBuffer.addValueParam("unpackUnmultiplyAlpha", ParamType::TGLboolean,
351 unpackUnmultiplyAlpha);
352
353 return CallCapture(angle::EntryPoint::GLCopySubTexture3DANGLE, std::move(paramBuffer));
354 }
355
CaptureBlitFramebufferANGLE(const State & glState,bool isCallValid,GLint srcX0,GLint srcY0,GLint srcX1,GLint srcY1,GLint dstX0,GLint dstY0,GLint dstX1,GLint dstY1,GLbitfield mask,GLenum filter)356 CallCapture CaptureBlitFramebufferANGLE(const State &glState,
357 bool isCallValid,
358 GLint srcX0,
359 GLint srcY0,
360 GLint srcX1,
361 GLint srcY1,
362 GLint dstX0,
363 GLint dstY0,
364 GLint dstX1,
365 GLint dstY1,
366 GLbitfield mask,
367 GLenum filter)
368 {
369 ParamBuffer paramBuffer;
370
371 paramBuffer.addValueParam("srcX0", ParamType::TGLint, srcX0);
372 paramBuffer.addValueParam("srcY0", ParamType::TGLint, srcY0);
373 paramBuffer.addValueParam("srcX1", ParamType::TGLint, srcX1);
374 paramBuffer.addValueParam("srcY1", ParamType::TGLint, srcY1);
375 paramBuffer.addValueParam("dstX0", ParamType::TGLint, dstX0);
376 paramBuffer.addValueParam("dstY0", ParamType::TGLint, dstY0);
377 paramBuffer.addValueParam("dstX1", ParamType::TGLint, dstX1);
378 paramBuffer.addValueParam("dstY1", ParamType::TGLint, dstY1);
379 paramBuffer.addEnumParam("mask", GLenumGroup::ClearBufferMask, ParamType::TGLbitfield, mask);
380 paramBuffer.addEnumParam("filter", GLenumGroup::BlitFramebufferFilter, ParamType::TGLenum,
381 filter);
382
383 return CallCapture(angle::EntryPoint::GLBlitFramebufferANGLE, std::move(paramBuffer));
384 }
385
CaptureRenderbufferStorageMultisampleANGLE(const State & glState,bool isCallValid,GLenum target,GLsizei samples,GLenum internalformat,GLsizei width,GLsizei height)386 CallCapture CaptureRenderbufferStorageMultisampleANGLE(const State &glState,
387 bool isCallValid,
388 GLenum target,
389 GLsizei samples,
390 GLenum internalformat,
391 GLsizei width,
392 GLsizei height)
393 {
394 ParamBuffer paramBuffer;
395
396 paramBuffer.addEnumParam("target", GLenumGroup::RenderbufferTarget, ParamType::TGLenum, target);
397 paramBuffer.addValueParam("samples", ParamType::TGLsizei, samples);
398 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
399 internalformat);
400 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
401 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
402
403 return CallCapture(angle::EntryPoint::GLRenderbufferStorageMultisampleANGLE,
404 std::move(paramBuffer));
405 }
406
CaptureGetTexImageANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum format,GLenum type,void * pixels)407 CallCapture CaptureGetTexImageANGLE(const State &glState,
408 bool isCallValid,
409 TextureTarget targetPacked,
410 GLint level,
411 GLenum format,
412 GLenum type,
413 void *pixels)
414 {
415 ParamBuffer paramBuffer;
416
417 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
418 paramBuffer.addValueParam("level", ParamType::TGLint, level);
419 paramBuffer.addEnumParam("format", GLenumGroup::PixelFormat, ParamType::TGLenum, format);
420 paramBuffer.addEnumParam("type", GLenumGroup::PixelType, ParamType::TGLenum, type);
421
422 if (isCallValid)
423 {
424 ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
425 InitParamValue(ParamType::TvoidPointer, pixels, &pixelsParam.value);
426 CaptureGetTexImageANGLE_pixels(glState, isCallValid, targetPacked, level, format, type,
427 pixels, &pixelsParam);
428 paramBuffer.addParam(std::move(pixelsParam));
429 }
430 else
431 {
432 ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
433 InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &pixelsParam.value);
434 paramBuffer.addParam(std::move(pixelsParam));
435 }
436
437 return CallCapture(angle::EntryPoint::GLGetTexImageANGLE, std::move(paramBuffer));
438 }
439
CaptureGetCompressedTexImageANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,void * pixels)440 CallCapture CaptureGetCompressedTexImageANGLE(const State &glState,
441 bool isCallValid,
442 TextureTarget targetPacked,
443 GLint level,
444 void *pixels)
445 {
446 ParamBuffer paramBuffer;
447
448 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
449 paramBuffer.addValueParam("level", ParamType::TGLint, level);
450
451 if (isCallValid)
452 {
453 ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
454 InitParamValue(ParamType::TvoidPointer, pixels, &pixelsParam.value);
455 CaptureGetCompressedTexImageANGLE_pixels(glState, isCallValid, targetPacked, level, pixels,
456 &pixelsParam);
457 paramBuffer.addParam(std::move(pixelsParam));
458 }
459 else
460 {
461 ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
462 InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &pixelsParam.value);
463 paramBuffer.addParam(std::move(pixelsParam));
464 }
465
466 return CallCapture(angle::EntryPoint::GLGetCompressedTexImageANGLE, std::move(paramBuffer));
467 }
468
CaptureGetRenderbufferImageANGLE(const State & glState,bool isCallValid,GLenum target,GLenum format,GLenum type,void * pixels)469 CallCapture CaptureGetRenderbufferImageANGLE(const State &glState,
470 bool isCallValid,
471 GLenum target,
472 GLenum format,
473 GLenum type,
474 void *pixels)
475 {
476 ParamBuffer paramBuffer;
477
478 paramBuffer.addEnumParam("target", GLenumGroup::RenderbufferTarget, ParamType::TGLenum, target);
479 paramBuffer.addEnumParam("format", GLenumGroup::PixelFormat, ParamType::TGLenum, format);
480 paramBuffer.addEnumParam("type", GLenumGroup::PixelType, ParamType::TGLenum, type);
481
482 if (isCallValid)
483 {
484 ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
485 InitParamValue(ParamType::TvoidPointer, pixels, &pixelsParam.value);
486 CaptureGetRenderbufferImageANGLE_pixels(glState, isCallValid, target, format, type, pixels,
487 &pixelsParam);
488 paramBuffer.addParam(std::move(pixelsParam));
489 }
490 else
491 {
492 ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
493 InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &pixelsParam.value);
494 paramBuffer.addParam(std::move(pixelsParam));
495 }
496
497 return CallCapture(angle::EntryPoint::GLGetRenderbufferImageANGLE, std::move(paramBuffer));
498 }
499
CaptureGetTexLevelParameterivANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum pname,GLint * params)500 CallCapture CaptureGetTexLevelParameterivANGLE(const State &glState,
501 bool isCallValid,
502 TextureTarget targetPacked,
503 GLint level,
504 GLenum pname,
505 GLint *params)
506 {
507 ParamBuffer paramBuffer;
508
509 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
510 paramBuffer.addValueParam("level", ParamType::TGLint, level);
511 paramBuffer.addEnumParam("pname", GLenumGroup::GetTextureParameter, ParamType::TGLenum, pname);
512
513 if (isCallValid)
514 {
515 ParamCapture paramsParam("params", ParamType::TGLintPointer);
516 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
517 CaptureGetTexLevelParameterivANGLE_params(glState, isCallValid, targetPacked, level, pname,
518 params, ¶msParam);
519 paramBuffer.addParam(std::move(paramsParam));
520 }
521 else
522 {
523 ParamCapture paramsParam("params", ParamType::TGLintPointer);
524 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
525 paramBuffer.addParam(std::move(paramsParam));
526 }
527
528 return CallCapture(angle::EntryPoint::GLGetTexLevelParameterivANGLE, std::move(paramBuffer));
529 }
530
CaptureGetTexLevelParameterfvANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum pname,GLfloat * params)531 CallCapture CaptureGetTexLevelParameterfvANGLE(const State &glState,
532 bool isCallValid,
533 TextureTarget targetPacked,
534 GLint level,
535 GLenum pname,
536 GLfloat *params)
537 {
538 ParamBuffer paramBuffer;
539
540 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
541 paramBuffer.addValueParam("level", ParamType::TGLint, level);
542 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
543
544 if (isCallValid)
545 {
546 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
547 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
548 CaptureGetTexLevelParameterfvANGLE_params(glState, isCallValid, targetPacked, level, pname,
549 params, ¶msParam);
550 paramBuffer.addParam(std::move(paramsParam));
551 }
552 else
553 {
554 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
555 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
556 ¶msParam.value);
557 paramBuffer.addParam(std::move(paramsParam));
558 }
559
560 return CallCapture(angle::EntryPoint::GLGetTexLevelParameterfvANGLE, std::move(paramBuffer));
561 }
562
CaptureDrawArraysInstancedANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLint first,GLsizei count,GLsizei primcount)563 CallCapture CaptureDrawArraysInstancedANGLE(const State &glState,
564 bool isCallValid,
565 PrimitiveMode modePacked,
566 GLint first,
567 GLsizei count,
568 GLsizei primcount)
569 {
570 ParamBuffer paramBuffer;
571
572 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
573 paramBuffer.addValueParam("first", ParamType::TGLint, first);
574 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
575 paramBuffer.addValueParam("primcount", ParamType::TGLsizei, primcount);
576
577 return CallCapture(angle::EntryPoint::GLDrawArraysInstancedANGLE, std::move(paramBuffer));
578 }
579
CaptureDrawElementsInstancedANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLsizei count,DrawElementsType typePacked,const void * indices,GLsizei primcount)580 CallCapture CaptureDrawElementsInstancedANGLE(const State &glState,
581 bool isCallValid,
582 PrimitiveMode modePacked,
583 GLsizei count,
584 DrawElementsType typePacked,
585 const void *indices,
586 GLsizei primcount)
587 {
588 ParamBuffer paramBuffer;
589
590 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
591 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
592 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
593
594 if (isCallValid)
595 {
596 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
597 InitParamValue(ParamType::TvoidConstPointer, indices, &indicesParam.value);
598 CaptureDrawElementsInstancedANGLE_indices(glState, isCallValid, modePacked, count,
599 typePacked, indices, primcount, &indicesParam);
600 paramBuffer.addParam(std::move(indicesParam));
601 }
602 else
603 {
604 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
605 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
606 &indicesParam.value);
607 paramBuffer.addParam(std::move(indicesParam));
608 }
609
610 paramBuffer.addValueParam("primcount", ParamType::TGLsizei, primcount);
611
612 return CallCapture(angle::EntryPoint::GLDrawElementsInstancedANGLE, std::move(paramBuffer));
613 }
614
CaptureVertexAttribDivisorANGLE(const State & glState,bool isCallValid,GLuint index,GLuint divisor)615 CallCapture CaptureVertexAttribDivisorANGLE(const State &glState,
616 bool isCallValid,
617 GLuint index,
618 GLuint divisor)
619 {
620 ParamBuffer paramBuffer;
621
622 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
623 paramBuffer.addValueParam("divisor", ParamType::TGLuint, divisor);
624
625 return CallCapture(angle::EntryPoint::GLVertexAttribDivisorANGLE, std::move(paramBuffer));
626 }
627
CaptureTexStorageMemFlags2DANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei levels,GLenum internalFormat,GLsizei width,GLsizei height,MemoryObjectID memoryPacked,GLuint64 offset,GLbitfield createFlags,GLbitfield usageFlags,const void * imageCreateInfoPNext)628 CallCapture CaptureTexStorageMemFlags2DANGLE(const State &glState,
629 bool isCallValid,
630 TextureType targetPacked,
631 GLsizei levels,
632 GLenum internalFormat,
633 GLsizei width,
634 GLsizei height,
635 MemoryObjectID memoryPacked,
636 GLuint64 offset,
637 GLbitfield createFlags,
638 GLbitfield usageFlags,
639 const void *imageCreateInfoPNext)
640 {
641 ParamBuffer paramBuffer;
642
643 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
644 paramBuffer.addValueParam("levels", ParamType::TGLsizei, levels);
645 paramBuffer.addEnumParam("internalFormat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
646 internalFormat);
647 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
648 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
649 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
650 paramBuffer.addValueParam("offset", ParamType::TGLuint64, offset);
651 paramBuffer.addEnumParam("createFlags", GLenumGroup::DefaultGroup, ParamType::TGLbitfield,
652 createFlags);
653 paramBuffer.addEnumParam("usageFlags", GLenumGroup::DefaultGroup, ParamType::TGLbitfield,
654 usageFlags);
655
656 if (isCallValid)
657 {
658 ParamCapture imageCreateInfoPNextParam("imageCreateInfoPNext",
659 ParamType::TvoidConstPointer);
660 InitParamValue(ParamType::TvoidConstPointer, imageCreateInfoPNext,
661 &imageCreateInfoPNextParam.value);
662 CaptureTexStorageMemFlags2DANGLE_imageCreateInfoPNext(
663 glState, isCallValid, targetPacked, levels, internalFormat, width, height, memoryPacked,
664 offset, createFlags, usageFlags, imageCreateInfoPNext, &imageCreateInfoPNextParam);
665 paramBuffer.addParam(std::move(imageCreateInfoPNextParam));
666 }
667 else
668 {
669 ParamCapture imageCreateInfoPNextParam("imageCreateInfoPNext",
670 ParamType::TvoidConstPointer);
671 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
672 &imageCreateInfoPNextParam.value);
673 paramBuffer.addParam(std::move(imageCreateInfoPNextParam));
674 }
675
676 return CallCapture(angle::EntryPoint::GLTexStorageMemFlags2DANGLE, std::move(paramBuffer));
677 }
678
CaptureTexStorageMemFlags2DMultisampleANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei samples,GLenum internalFormat,GLsizei width,GLsizei height,GLboolean fixedSampleLocations,MemoryObjectID memoryPacked,GLuint64 offset,GLbitfield createFlags,GLbitfield usageFlags,const void * imageCreateInfoPNext)679 CallCapture CaptureTexStorageMemFlags2DMultisampleANGLE(const State &glState,
680 bool isCallValid,
681 TextureType targetPacked,
682 GLsizei samples,
683 GLenum internalFormat,
684 GLsizei width,
685 GLsizei height,
686 GLboolean fixedSampleLocations,
687 MemoryObjectID memoryPacked,
688 GLuint64 offset,
689 GLbitfield createFlags,
690 GLbitfield usageFlags,
691 const void *imageCreateInfoPNext)
692 {
693 ParamBuffer paramBuffer;
694
695 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
696 paramBuffer.addValueParam("samples", ParamType::TGLsizei, samples);
697 paramBuffer.addEnumParam("internalFormat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
698 internalFormat);
699 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
700 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
701 paramBuffer.addValueParam("fixedSampleLocations", ParamType::TGLboolean, fixedSampleLocations);
702 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
703 paramBuffer.addValueParam("offset", ParamType::TGLuint64, offset);
704 paramBuffer.addEnumParam("createFlags", GLenumGroup::DefaultGroup, ParamType::TGLbitfield,
705 createFlags);
706 paramBuffer.addEnumParam("usageFlags", GLenumGroup::DefaultGroup, ParamType::TGLbitfield,
707 usageFlags);
708
709 if (isCallValid)
710 {
711 ParamCapture imageCreateInfoPNextParam("imageCreateInfoPNext",
712 ParamType::TvoidConstPointer);
713 InitParamValue(ParamType::TvoidConstPointer, imageCreateInfoPNext,
714 &imageCreateInfoPNextParam.value);
715 CaptureTexStorageMemFlags2DMultisampleANGLE_imageCreateInfoPNext(
716 glState, isCallValid, targetPacked, samples, internalFormat, width, height,
717 fixedSampleLocations, memoryPacked, offset, createFlags, usageFlags,
718 imageCreateInfoPNext, &imageCreateInfoPNextParam);
719 paramBuffer.addParam(std::move(imageCreateInfoPNextParam));
720 }
721 else
722 {
723 ParamCapture imageCreateInfoPNextParam("imageCreateInfoPNext",
724 ParamType::TvoidConstPointer);
725 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
726 &imageCreateInfoPNextParam.value);
727 paramBuffer.addParam(std::move(imageCreateInfoPNextParam));
728 }
729
730 return CallCapture(angle::EntryPoint::GLTexStorageMemFlags2DMultisampleANGLE,
731 std::move(paramBuffer));
732 }
733
CaptureTexStorageMemFlags3DANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei levels,GLenum internalFormat,GLsizei width,GLsizei height,GLsizei depth,MemoryObjectID memoryPacked,GLuint64 offset,GLbitfield createFlags,GLbitfield usageFlags,const void * imageCreateInfoPNext)734 CallCapture CaptureTexStorageMemFlags3DANGLE(const State &glState,
735 bool isCallValid,
736 TextureType targetPacked,
737 GLsizei levels,
738 GLenum internalFormat,
739 GLsizei width,
740 GLsizei height,
741 GLsizei depth,
742 MemoryObjectID memoryPacked,
743 GLuint64 offset,
744 GLbitfield createFlags,
745 GLbitfield usageFlags,
746 const void *imageCreateInfoPNext)
747 {
748 ParamBuffer paramBuffer;
749
750 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
751 paramBuffer.addValueParam("levels", ParamType::TGLsizei, levels);
752 paramBuffer.addEnumParam("internalFormat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
753 internalFormat);
754 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
755 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
756 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
757 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
758 paramBuffer.addValueParam("offset", ParamType::TGLuint64, offset);
759 paramBuffer.addEnumParam("createFlags", GLenumGroup::DefaultGroup, ParamType::TGLbitfield,
760 createFlags);
761 paramBuffer.addEnumParam("usageFlags", GLenumGroup::DefaultGroup, ParamType::TGLbitfield,
762 usageFlags);
763
764 if (isCallValid)
765 {
766 ParamCapture imageCreateInfoPNextParam("imageCreateInfoPNext",
767 ParamType::TvoidConstPointer);
768 InitParamValue(ParamType::TvoidConstPointer, imageCreateInfoPNext,
769 &imageCreateInfoPNextParam.value);
770 CaptureTexStorageMemFlags3DANGLE_imageCreateInfoPNext(
771 glState, isCallValid, targetPacked, levels, internalFormat, width, height, depth,
772 memoryPacked, offset, createFlags, usageFlags, imageCreateInfoPNext,
773 &imageCreateInfoPNextParam);
774 paramBuffer.addParam(std::move(imageCreateInfoPNextParam));
775 }
776 else
777 {
778 ParamCapture imageCreateInfoPNextParam("imageCreateInfoPNext",
779 ParamType::TvoidConstPointer);
780 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
781 &imageCreateInfoPNextParam.value);
782 paramBuffer.addParam(std::move(imageCreateInfoPNextParam));
783 }
784
785 return CallCapture(angle::EntryPoint::GLTexStorageMemFlags3DANGLE, std::move(paramBuffer));
786 }
787
CaptureTexStorageMemFlags3DMultisampleANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei samples,GLenum internalFormat,GLsizei width,GLsizei height,GLsizei depth,GLboolean fixedSampleLocations,MemoryObjectID memoryPacked,GLuint64 offset,GLbitfield createFlags,GLbitfield usageFlags,const void * imageCreateInfoPNext)788 CallCapture CaptureTexStorageMemFlags3DMultisampleANGLE(const State &glState,
789 bool isCallValid,
790 TextureType targetPacked,
791 GLsizei samples,
792 GLenum internalFormat,
793 GLsizei width,
794 GLsizei height,
795 GLsizei depth,
796 GLboolean fixedSampleLocations,
797 MemoryObjectID memoryPacked,
798 GLuint64 offset,
799 GLbitfield createFlags,
800 GLbitfield usageFlags,
801 const void *imageCreateInfoPNext)
802 {
803 ParamBuffer paramBuffer;
804
805 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
806 paramBuffer.addValueParam("samples", ParamType::TGLsizei, samples);
807 paramBuffer.addEnumParam("internalFormat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
808 internalFormat);
809 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
810 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
811 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
812 paramBuffer.addValueParam("fixedSampleLocations", ParamType::TGLboolean, fixedSampleLocations);
813 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
814 paramBuffer.addValueParam("offset", ParamType::TGLuint64, offset);
815 paramBuffer.addEnumParam("createFlags", GLenumGroup::DefaultGroup, ParamType::TGLbitfield,
816 createFlags);
817 paramBuffer.addEnumParam("usageFlags", GLenumGroup::DefaultGroup, ParamType::TGLbitfield,
818 usageFlags);
819
820 if (isCallValid)
821 {
822 ParamCapture imageCreateInfoPNextParam("imageCreateInfoPNext",
823 ParamType::TvoidConstPointer);
824 InitParamValue(ParamType::TvoidConstPointer, imageCreateInfoPNext,
825 &imageCreateInfoPNextParam.value);
826 CaptureTexStorageMemFlags3DMultisampleANGLE_imageCreateInfoPNext(
827 glState, isCallValid, targetPacked, samples, internalFormat, width, height, depth,
828 fixedSampleLocations, memoryPacked, offset, createFlags, usageFlags,
829 imageCreateInfoPNext, &imageCreateInfoPNextParam);
830 paramBuffer.addParam(std::move(imageCreateInfoPNextParam));
831 }
832 else
833 {
834 ParamCapture imageCreateInfoPNextParam("imageCreateInfoPNext",
835 ParamType::TvoidConstPointer);
836 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
837 &imageCreateInfoPNextParam.value);
838 paramBuffer.addParam(std::move(imageCreateInfoPNextParam));
839 }
840
841 return CallCapture(angle::EntryPoint::GLTexStorageMemFlags3DMultisampleANGLE,
842 std::move(paramBuffer));
843 }
844
CaptureImportMemoryZirconHandleANGLE(const State & glState,bool isCallValid,MemoryObjectID memoryPacked,GLuint64 size,HandleType handleTypePacked,GLuint handle)845 CallCapture CaptureImportMemoryZirconHandleANGLE(const State &glState,
846 bool isCallValid,
847 MemoryObjectID memoryPacked,
848 GLuint64 size,
849 HandleType handleTypePacked,
850 GLuint handle)
851 {
852 ParamBuffer paramBuffer;
853
854 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
855 paramBuffer.addValueParam("size", ParamType::TGLuint64, size);
856 paramBuffer.addValueParam("handleTypePacked", ParamType::THandleType, handleTypePacked);
857 paramBuffer.addValueParam("handle", ParamType::TGLuint, handle);
858
859 return CallCapture(angle::EntryPoint::GLImportMemoryZirconHandleANGLE, std::move(paramBuffer));
860 }
861
CaptureMultiDrawArraysANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,const GLint * firsts,const GLsizei * counts,GLsizei drawcount)862 CallCapture CaptureMultiDrawArraysANGLE(const State &glState,
863 bool isCallValid,
864 PrimitiveMode modePacked,
865 const GLint *firsts,
866 const GLsizei *counts,
867 GLsizei drawcount)
868 {
869 ParamBuffer paramBuffer;
870
871 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
872
873 if (isCallValid)
874 {
875 ParamCapture firstsParam("firsts", ParamType::TGLintConstPointer);
876 InitParamValue(ParamType::TGLintConstPointer, firsts, &firstsParam.value);
877 CaptureMultiDrawArraysANGLE_firsts(glState, isCallValid, modePacked, firsts, counts,
878 drawcount, &firstsParam);
879 paramBuffer.addParam(std::move(firstsParam));
880 }
881 else
882 {
883 ParamCapture firstsParam("firsts", ParamType::TGLintConstPointer);
884 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
885 &firstsParam.value);
886 paramBuffer.addParam(std::move(firstsParam));
887 }
888
889 if (isCallValid)
890 {
891 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
892 InitParamValue(ParamType::TGLsizeiConstPointer, counts, &countsParam.value);
893 CaptureMultiDrawArraysANGLE_counts(glState, isCallValid, modePacked, firsts, counts,
894 drawcount, &countsParam);
895 paramBuffer.addParam(std::move(countsParam));
896 }
897 else
898 {
899 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
900 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
901 &countsParam.value);
902 paramBuffer.addParam(std::move(countsParam));
903 }
904
905 paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
906
907 return CallCapture(angle::EntryPoint::GLMultiDrawArraysANGLE, std::move(paramBuffer));
908 }
909
CaptureMultiDrawArraysInstancedANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,const GLint * firsts,const GLsizei * counts,const GLsizei * instanceCounts,GLsizei drawcount)910 CallCapture CaptureMultiDrawArraysInstancedANGLE(const State &glState,
911 bool isCallValid,
912 PrimitiveMode modePacked,
913 const GLint *firsts,
914 const GLsizei *counts,
915 const GLsizei *instanceCounts,
916 GLsizei drawcount)
917 {
918 ParamBuffer paramBuffer;
919
920 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
921
922 if (isCallValid)
923 {
924 ParamCapture firstsParam("firsts", ParamType::TGLintConstPointer);
925 InitParamValue(ParamType::TGLintConstPointer, firsts, &firstsParam.value);
926 CaptureMultiDrawArraysInstancedANGLE_firsts(glState, isCallValid, modePacked, firsts,
927 counts, instanceCounts, drawcount,
928 &firstsParam);
929 paramBuffer.addParam(std::move(firstsParam));
930 }
931 else
932 {
933 ParamCapture firstsParam("firsts", ParamType::TGLintConstPointer);
934 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
935 &firstsParam.value);
936 paramBuffer.addParam(std::move(firstsParam));
937 }
938
939 if (isCallValid)
940 {
941 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
942 InitParamValue(ParamType::TGLsizeiConstPointer, counts, &countsParam.value);
943 CaptureMultiDrawArraysInstancedANGLE_counts(glState, isCallValid, modePacked, firsts,
944 counts, instanceCounts, drawcount,
945 &countsParam);
946 paramBuffer.addParam(std::move(countsParam));
947 }
948 else
949 {
950 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
951 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
952 &countsParam.value);
953 paramBuffer.addParam(std::move(countsParam));
954 }
955
956 if (isCallValid)
957 {
958 ParamCapture instanceCountsParam("instanceCounts", ParamType::TGLsizeiConstPointer);
959 InitParamValue(ParamType::TGLsizeiConstPointer, instanceCounts, &instanceCountsParam.value);
960 CaptureMultiDrawArraysInstancedANGLE_instanceCounts(glState, isCallValid, modePacked,
961 firsts, counts, instanceCounts,
962 drawcount, &instanceCountsParam);
963 paramBuffer.addParam(std::move(instanceCountsParam));
964 }
965 else
966 {
967 ParamCapture instanceCountsParam("instanceCounts", ParamType::TGLsizeiConstPointer);
968 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
969 &instanceCountsParam.value);
970 paramBuffer.addParam(std::move(instanceCountsParam));
971 }
972
973 paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
974
975 return CallCapture(angle::EntryPoint::GLMultiDrawArraysInstancedANGLE, std::move(paramBuffer));
976 }
977
CaptureMultiDrawElementsANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,const GLsizei * counts,DrawElementsType typePacked,const GLvoid * const * indices,GLsizei drawcount)978 CallCapture CaptureMultiDrawElementsANGLE(const State &glState,
979 bool isCallValid,
980 PrimitiveMode modePacked,
981 const GLsizei *counts,
982 DrawElementsType typePacked,
983 const GLvoid *const *indices,
984 GLsizei drawcount)
985 {
986 ParamBuffer paramBuffer;
987
988 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
989
990 if (isCallValid)
991 {
992 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
993 InitParamValue(ParamType::TGLsizeiConstPointer, counts, &countsParam.value);
994 CaptureMultiDrawElementsANGLE_counts(glState, isCallValid, modePacked, counts, typePacked,
995 indices, drawcount, &countsParam);
996 paramBuffer.addParam(std::move(countsParam));
997 }
998 else
999 {
1000 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
1001 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
1002 &countsParam.value);
1003 paramBuffer.addParam(std::move(countsParam));
1004 }
1005
1006 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
1007
1008 if (isCallValid)
1009 {
1010 ParamCapture indicesParam("indices", ParamType::TGLvoidConstPointerPointer);
1011 InitParamValue(ParamType::TGLvoidConstPointerPointer, indices, &indicesParam.value);
1012 CaptureMultiDrawElementsANGLE_indices(glState, isCallValid, modePacked, counts, typePacked,
1013 indices, drawcount, &indicesParam);
1014 paramBuffer.addParam(std::move(indicesParam));
1015 }
1016 else
1017 {
1018 ParamCapture indicesParam("indices", ParamType::TGLvoidConstPointerPointer);
1019 InitParamValue(ParamType::TGLvoidConstPointerPointer,
1020 static_cast<const GLvoid *const *>(nullptr), &indicesParam.value);
1021 paramBuffer.addParam(std::move(indicesParam));
1022 }
1023
1024 paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
1025
1026 return CallCapture(angle::EntryPoint::GLMultiDrawElementsANGLE, std::move(paramBuffer));
1027 }
1028
CaptureMultiDrawElementsInstancedANGLE(const State & glState,bool isCallValid,PrimitiveMode modePacked,const GLsizei * counts,DrawElementsType typePacked,const GLvoid * const * indices,const GLsizei * instanceCounts,GLsizei drawcount)1029 CallCapture CaptureMultiDrawElementsInstancedANGLE(const State &glState,
1030 bool isCallValid,
1031 PrimitiveMode modePacked,
1032 const GLsizei *counts,
1033 DrawElementsType typePacked,
1034 const GLvoid *const *indices,
1035 const GLsizei *instanceCounts,
1036 GLsizei drawcount)
1037 {
1038 ParamBuffer paramBuffer;
1039
1040 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
1041
1042 if (isCallValid)
1043 {
1044 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
1045 InitParamValue(ParamType::TGLsizeiConstPointer, counts, &countsParam.value);
1046 CaptureMultiDrawElementsInstancedANGLE_counts(glState, isCallValid, modePacked, counts,
1047 typePacked, indices, instanceCounts,
1048 drawcount, &countsParam);
1049 paramBuffer.addParam(std::move(countsParam));
1050 }
1051 else
1052 {
1053 ParamCapture countsParam("counts", ParamType::TGLsizeiConstPointer);
1054 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
1055 &countsParam.value);
1056 paramBuffer.addParam(std::move(countsParam));
1057 }
1058
1059 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
1060
1061 if (isCallValid)
1062 {
1063 ParamCapture indicesParam("indices", ParamType::TGLvoidConstPointerPointer);
1064 InitParamValue(ParamType::TGLvoidConstPointerPointer, indices, &indicesParam.value);
1065 CaptureMultiDrawElementsInstancedANGLE_indices(glState, isCallValid, modePacked, counts,
1066 typePacked, indices, instanceCounts,
1067 drawcount, &indicesParam);
1068 paramBuffer.addParam(std::move(indicesParam));
1069 }
1070 else
1071 {
1072 ParamCapture indicesParam("indices", ParamType::TGLvoidConstPointerPointer);
1073 InitParamValue(ParamType::TGLvoidConstPointerPointer,
1074 static_cast<const GLvoid *const *>(nullptr), &indicesParam.value);
1075 paramBuffer.addParam(std::move(indicesParam));
1076 }
1077
1078 if (isCallValid)
1079 {
1080 ParamCapture instanceCountsParam("instanceCounts", ParamType::TGLsizeiConstPointer);
1081 InitParamValue(ParamType::TGLsizeiConstPointer, instanceCounts, &instanceCountsParam.value);
1082 CaptureMultiDrawElementsInstancedANGLE_instanceCounts(
1083 glState, isCallValid, modePacked, counts, typePacked, indices, instanceCounts,
1084 drawcount, &instanceCountsParam);
1085 paramBuffer.addParam(std::move(instanceCountsParam));
1086 }
1087 else
1088 {
1089 ParamCapture instanceCountsParam("instanceCounts", ParamType::TGLsizeiConstPointer);
1090 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
1091 &instanceCountsParam.value);
1092 paramBuffer.addParam(std::move(instanceCountsParam));
1093 }
1094
1095 paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
1096
1097 return CallCapture(angle::EntryPoint::GLMultiDrawElementsInstancedANGLE,
1098 std::move(paramBuffer));
1099 }
1100
CaptureProvokingVertexANGLE(const State & glState,bool isCallValid,ProvokingVertexConvention modePacked)1101 CallCapture CaptureProvokingVertexANGLE(const State &glState,
1102 bool isCallValid,
1103 ProvokingVertexConvention modePacked)
1104 {
1105 ParamBuffer paramBuffer;
1106
1107 paramBuffer.addValueParam("modePacked", ParamType::TProvokingVertexConvention, modePacked);
1108
1109 return CallCapture(angle::EntryPoint::GLProvokingVertexANGLE, std::move(paramBuffer));
1110 }
1111
CaptureRequestExtensionANGLE(const State & glState,bool isCallValid,const GLchar * name)1112 CallCapture CaptureRequestExtensionANGLE(const State &glState, bool isCallValid, const GLchar *name)
1113 {
1114 ParamBuffer paramBuffer;
1115
1116 if (isCallValid)
1117 {
1118 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
1119 InitParamValue(ParamType::TGLcharConstPointer, name, &nameParam.value);
1120 CaptureRequestExtensionANGLE_name(glState, isCallValid, name, &nameParam);
1121 paramBuffer.addParam(std::move(nameParam));
1122 }
1123 else
1124 {
1125 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
1126 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
1127 &nameParam.value);
1128 paramBuffer.addParam(std::move(nameParam));
1129 }
1130
1131 return CallCapture(angle::EntryPoint::GLRequestExtensionANGLE, std::move(paramBuffer));
1132 }
1133
CaptureDisableExtensionANGLE(const State & glState,bool isCallValid,const GLchar * name)1134 CallCapture CaptureDisableExtensionANGLE(const State &glState, bool isCallValid, const GLchar *name)
1135 {
1136 ParamBuffer paramBuffer;
1137
1138 if (isCallValid)
1139 {
1140 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
1141 InitParamValue(ParamType::TGLcharConstPointer, name, &nameParam.value);
1142 CaptureDisableExtensionANGLE_name(glState, isCallValid, name, &nameParam);
1143 paramBuffer.addParam(std::move(nameParam));
1144 }
1145 else
1146 {
1147 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
1148 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
1149 &nameParam.value);
1150 paramBuffer.addParam(std::move(nameParam));
1151 }
1152
1153 return CallCapture(angle::EntryPoint::GLDisableExtensionANGLE, std::move(paramBuffer));
1154 }
1155
CaptureGetBooleanvRobustANGLE(const State & glState,bool isCallValid,GLenum pname,GLsizei bufSize,GLsizei * length,GLboolean * params)1156 CallCapture CaptureGetBooleanvRobustANGLE(const State &glState,
1157 bool isCallValid,
1158 GLenum pname,
1159 GLsizei bufSize,
1160 GLsizei *length,
1161 GLboolean *params)
1162 {
1163 ParamBuffer paramBuffer;
1164
1165 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1166 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1167
1168 if (isCallValid)
1169 {
1170 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1171 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1172 CaptureGetBooleanvRobustANGLE_length(glState, isCallValid, pname, bufSize, length, params,
1173 &lengthParam);
1174 paramBuffer.addParam(std::move(lengthParam));
1175 }
1176 else
1177 {
1178 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1179 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1180 &lengthParam.value);
1181 paramBuffer.addParam(std::move(lengthParam));
1182 }
1183
1184 if (isCallValid)
1185 {
1186 ParamCapture paramsParam("params", ParamType::TGLbooleanPointer);
1187 InitParamValue(ParamType::TGLbooleanPointer, params, ¶msParam.value);
1188 CaptureGetBooleanvRobustANGLE_params(glState, isCallValid, pname, bufSize, length, params,
1189 ¶msParam);
1190 paramBuffer.addParam(std::move(paramsParam));
1191 }
1192 else
1193 {
1194 ParamCapture paramsParam("params", ParamType::TGLbooleanPointer);
1195 InitParamValue(ParamType::TGLbooleanPointer, static_cast<GLboolean *>(nullptr),
1196 ¶msParam.value);
1197 paramBuffer.addParam(std::move(paramsParam));
1198 }
1199
1200 return CallCapture(angle::EntryPoint::GLGetBooleanvRobustANGLE, std::move(paramBuffer));
1201 }
1202
CaptureGetBufferParameterivRobustANGLE(const State & glState,bool isCallValid,BufferBinding targetPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)1203 CallCapture CaptureGetBufferParameterivRobustANGLE(const State &glState,
1204 bool isCallValid,
1205 BufferBinding targetPacked,
1206 GLenum pname,
1207 GLsizei bufSize,
1208 GLsizei *length,
1209 GLint *params)
1210 {
1211 ParamBuffer paramBuffer;
1212
1213 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
1214 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1215 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1216
1217 if (isCallValid)
1218 {
1219 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1220 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1221 CaptureGetBufferParameterivRobustANGLE_length(glState, isCallValid, targetPacked, pname,
1222 bufSize, length, params, &lengthParam);
1223 paramBuffer.addParam(std::move(lengthParam));
1224 }
1225 else
1226 {
1227 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1228 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1229 &lengthParam.value);
1230 paramBuffer.addParam(std::move(lengthParam));
1231 }
1232
1233 if (isCallValid)
1234 {
1235 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1236 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
1237 CaptureGetBufferParameterivRobustANGLE_params(glState, isCallValid, targetPacked, pname,
1238 bufSize, length, params, ¶msParam);
1239 paramBuffer.addParam(std::move(paramsParam));
1240 }
1241 else
1242 {
1243 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1244 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
1245 paramBuffer.addParam(std::move(paramsParam));
1246 }
1247
1248 return CallCapture(angle::EntryPoint::GLGetBufferParameterivRobustANGLE,
1249 std::move(paramBuffer));
1250 }
1251
CaptureGetFloatvRobustANGLE(const State & glState,bool isCallValid,GLenum pname,GLsizei bufSize,GLsizei * length,GLfloat * params)1252 CallCapture CaptureGetFloatvRobustANGLE(const State &glState,
1253 bool isCallValid,
1254 GLenum pname,
1255 GLsizei bufSize,
1256 GLsizei *length,
1257 GLfloat *params)
1258 {
1259 ParamBuffer paramBuffer;
1260
1261 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1262 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1263
1264 if (isCallValid)
1265 {
1266 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1267 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1268 CaptureGetFloatvRobustANGLE_length(glState, isCallValid, pname, bufSize, length, params,
1269 &lengthParam);
1270 paramBuffer.addParam(std::move(lengthParam));
1271 }
1272 else
1273 {
1274 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1275 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1276 &lengthParam.value);
1277 paramBuffer.addParam(std::move(lengthParam));
1278 }
1279
1280 if (isCallValid)
1281 {
1282 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1283 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
1284 CaptureGetFloatvRobustANGLE_params(glState, isCallValid, pname, bufSize, length, params,
1285 ¶msParam);
1286 paramBuffer.addParam(std::move(paramsParam));
1287 }
1288 else
1289 {
1290 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1291 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
1292 ¶msParam.value);
1293 paramBuffer.addParam(std::move(paramsParam));
1294 }
1295
1296 return CallCapture(angle::EntryPoint::GLGetFloatvRobustANGLE, std::move(paramBuffer));
1297 }
1298
CaptureGetFramebufferAttachmentParameterivRobustANGLE(const State & glState,bool isCallValid,GLenum target,GLenum attachment,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)1299 CallCapture CaptureGetFramebufferAttachmentParameterivRobustANGLE(const State &glState,
1300 bool isCallValid,
1301 GLenum target,
1302 GLenum attachment,
1303 GLenum pname,
1304 GLsizei bufSize,
1305 GLsizei *length,
1306 GLint *params)
1307 {
1308 ParamBuffer paramBuffer;
1309
1310 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
1311 paramBuffer.addEnumParam("attachment", GLenumGroup::DefaultGroup, ParamType::TGLenum,
1312 attachment);
1313 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1314 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1315
1316 if (isCallValid)
1317 {
1318 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1319 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1320 CaptureGetFramebufferAttachmentParameterivRobustANGLE_length(
1321 glState, isCallValid, target, attachment, pname, bufSize, length, params, &lengthParam);
1322 paramBuffer.addParam(std::move(lengthParam));
1323 }
1324 else
1325 {
1326 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1327 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1328 &lengthParam.value);
1329 paramBuffer.addParam(std::move(lengthParam));
1330 }
1331
1332 if (isCallValid)
1333 {
1334 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1335 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
1336 CaptureGetFramebufferAttachmentParameterivRobustANGLE_params(
1337 glState, isCallValid, target, attachment, pname, bufSize, length, params, ¶msParam);
1338 paramBuffer.addParam(std::move(paramsParam));
1339 }
1340 else
1341 {
1342 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1343 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
1344 paramBuffer.addParam(std::move(paramsParam));
1345 }
1346
1347 return CallCapture(angle::EntryPoint::GLGetFramebufferAttachmentParameterivRobustANGLE,
1348 std::move(paramBuffer));
1349 }
1350
CaptureGetIntegervRobustANGLE(const State & glState,bool isCallValid,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * data)1351 CallCapture CaptureGetIntegervRobustANGLE(const State &glState,
1352 bool isCallValid,
1353 GLenum pname,
1354 GLsizei bufSize,
1355 GLsizei *length,
1356 GLint *data)
1357 {
1358 ParamBuffer paramBuffer;
1359
1360 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1361 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1362
1363 if (isCallValid)
1364 {
1365 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1366 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1367 CaptureGetIntegervRobustANGLE_length(glState, isCallValid, pname, bufSize, length, data,
1368 &lengthParam);
1369 paramBuffer.addParam(std::move(lengthParam));
1370 }
1371 else
1372 {
1373 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1374 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1375 &lengthParam.value);
1376 paramBuffer.addParam(std::move(lengthParam));
1377 }
1378
1379 if (isCallValid)
1380 {
1381 ParamCapture dataParam("data", ParamType::TGLintPointer);
1382 InitParamValue(ParamType::TGLintPointer, data, &dataParam.value);
1383 CaptureGetIntegervRobustANGLE_data(glState, isCallValid, pname, bufSize, length, data,
1384 &dataParam);
1385 paramBuffer.addParam(std::move(dataParam));
1386 }
1387 else
1388 {
1389 ParamCapture dataParam("data", ParamType::TGLintPointer);
1390 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), &dataParam.value);
1391 paramBuffer.addParam(std::move(dataParam));
1392 }
1393
1394 return CallCapture(angle::EntryPoint::GLGetIntegervRobustANGLE, std::move(paramBuffer));
1395 }
1396
CaptureGetProgramivRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID programPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)1397 CallCapture CaptureGetProgramivRobustANGLE(const State &glState,
1398 bool isCallValid,
1399 ShaderProgramID programPacked,
1400 GLenum pname,
1401 GLsizei bufSize,
1402 GLsizei *length,
1403 GLint *params)
1404 {
1405 ParamBuffer paramBuffer;
1406
1407 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
1408 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1409 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1410
1411 if (isCallValid)
1412 {
1413 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1414 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1415 CaptureGetProgramivRobustANGLE_length(glState, isCallValid, programPacked, pname, bufSize,
1416 length, params, &lengthParam);
1417 paramBuffer.addParam(std::move(lengthParam));
1418 }
1419 else
1420 {
1421 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1422 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1423 &lengthParam.value);
1424 paramBuffer.addParam(std::move(lengthParam));
1425 }
1426
1427 if (isCallValid)
1428 {
1429 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1430 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
1431 CaptureGetProgramivRobustANGLE_params(glState, isCallValid, programPacked, pname, bufSize,
1432 length, params, ¶msParam);
1433 paramBuffer.addParam(std::move(paramsParam));
1434 }
1435 else
1436 {
1437 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1438 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
1439 paramBuffer.addParam(std::move(paramsParam));
1440 }
1441
1442 return CallCapture(angle::EntryPoint::GLGetProgramivRobustANGLE, std::move(paramBuffer));
1443 }
1444
CaptureGetRenderbufferParameterivRobustANGLE(const State & glState,bool isCallValid,GLenum target,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)1445 CallCapture CaptureGetRenderbufferParameterivRobustANGLE(const State &glState,
1446 bool isCallValid,
1447 GLenum target,
1448 GLenum pname,
1449 GLsizei bufSize,
1450 GLsizei *length,
1451 GLint *params)
1452 {
1453 ParamBuffer paramBuffer;
1454
1455 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
1456 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1457 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1458
1459 if (isCallValid)
1460 {
1461 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1462 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1463 CaptureGetRenderbufferParameterivRobustANGLE_length(glState, isCallValid, target, pname,
1464 bufSize, length, params, &lengthParam);
1465 paramBuffer.addParam(std::move(lengthParam));
1466 }
1467 else
1468 {
1469 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1470 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1471 &lengthParam.value);
1472 paramBuffer.addParam(std::move(lengthParam));
1473 }
1474
1475 if (isCallValid)
1476 {
1477 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1478 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
1479 CaptureGetRenderbufferParameterivRobustANGLE_params(glState, isCallValid, target, pname,
1480 bufSize, length, params, ¶msParam);
1481 paramBuffer.addParam(std::move(paramsParam));
1482 }
1483 else
1484 {
1485 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1486 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
1487 paramBuffer.addParam(std::move(paramsParam));
1488 }
1489
1490 return CallCapture(angle::EntryPoint::GLGetRenderbufferParameterivRobustANGLE,
1491 std::move(paramBuffer));
1492 }
1493
CaptureGetShaderivRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID shaderPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)1494 CallCapture CaptureGetShaderivRobustANGLE(const State &glState,
1495 bool isCallValid,
1496 ShaderProgramID shaderPacked,
1497 GLenum pname,
1498 GLsizei bufSize,
1499 GLsizei *length,
1500 GLint *params)
1501 {
1502 ParamBuffer paramBuffer;
1503
1504 paramBuffer.addValueParam("shaderPacked", ParamType::TShaderProgramID, shaderPacked);
1505 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1506 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1507
1508 if (isCallValid)
1509 {
1510 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1511 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1512 CaptureGetShaderivRobustANGLE_length(glState, isCallValid, shaderPacked, pname, bufSize,
1513 length, params, &lengthParam);
1514 paramBuffer.addParam(std::move(lengthParam));
1515 }
1516 else
1517 {
1518 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1519 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1520 &lengthParam.value);
1521 paramBuffer.addParam(std::move(lengthParam));
1522 }
1523
1524 if (isCallValid)
1525 {
1526 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1527 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
1528 CaptureGetShaderivRobustANGLE_params(glState, isCallValid, shaderPacked, pname, bufSize,
1529 length, params, ¶msParam);
1530 paramBuffer.addParam(std::move(paramsParam));
1531 }
1532 else
1533 {
1534 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1535 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
1536 paramBuffer.addParam(std::move(paramsParam));
1537 }
1538
1539 return CallCapture(angle::EntryPoint::GLGetShaderivRobustANGLE, std::move(paramBuffer));
1540 }
1541
CaptureGetTexParameterfvRobustANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLfloat * params)1542 CallCapture CaptureGetTexParameterfvRobustANGLE(const State &glState,
1543 bool isCallValid,
1544 TextureType targetPacked,
1545 GLenum pname,
1546 GLsizei bufSize,
1547 GLsizei *length,
1548 GLfloat *params)
1549 {
1550 ParamBuffer paramBuffer;
1551
1552 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
1553 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1554 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1555
1556 if (isCallValid)
1557 {
1558 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1559 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1560 CaptureGetTexParameterfvRobustANGLE_length(glState, isCallValid, targetPacked, pname,
1561 bufSize, length, params, &lengthParam);
1562 paramBuffer.addParam(std::move(lengthParam));
1563 }
1564 else
1565 {
1566 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1567 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1568 &lengthParam.value);
1569 paramBuffer.addParam(std::move(lengthParam));
1570 }
1571
1572 if (isCallValid)
1573 {
1574 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1575 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
1576 CaptureGetTexParameterfvRobustANGLE_params(glState, isCallValid, targetPacked, pname,
1577 bufSize, length, params, ¶msParam);
1578 paramBuffer.addParam(std::move(paramsParam));
1579 }
1580 else
1581 {
1582 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1583 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
1584 ¶msParam.value);
1585 paramBuffer.addParam(std::move(paramsParam));
1586 }
1587
1588 return CallCapture(angle::EntryPoint::GLGetTexParameterfvRobustANGLE, std::move(paramBuffer));
1589 }
1590
CaptureGetTexParameterivRobustANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)1591 CallCapture CaptureGetTexParameterivRobustANGLE(const State &glState,
1592 bool isCallValid,
1593 TextureType targetPacked,
1594 GLenum pname,
1595 GLsizei bufSize,
1596 GLsizei *length,
1597 GLint *params)
1598 {
1599 ParamBuffer paramBuffer;
1600
1601 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
1602 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1603 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1604
1605 if (isCallValid)
1606 {
1607 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1608 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1609 CaptureGetTexParameterivRobustANGLE_length(glState, isCallValid, targetPacked, pname,
1610 bufSize, length, params, &lengthParam);
1611 paramBuffer.addParam(std::move(lengthParam));
1612 }
1613 else
1614 {
1615 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1616 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1617 &lengthParam.value);
1618 paramBuffer.addParam(std::move(lengthParam));
1619 }
1620
1621 if (isCallValid)
1622 {
1623 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1624 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
1625 CaptureGetTexParameterivRobustANGLE_params(glState, isCallValid, targetPacked, pname,
1626 bufSize, length, params, ¶msParam);
1627 paramBuffer.addParam(std::move(paramsParam));
1628 }
1629 else
1630 {
1631 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1632 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
1633 paramBuffer.addParam(std::move(paramsParam));
1634 }
1635
1636 return CallCapture(angle::EntryPoint::GLGetTexParameterivRobustANGLE, std::move(paramBuffer));
1637 }
1638
CaptureGetUniformfvRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei bufSize,GLsizei * length,GLfloat * params)1639 CallCapture CaptureGetUniformfvRobustANGLE(const State &glState,
1640 bool isCallValid,
1641 ShaderProgramID programPacked,
1642 UniformLocation locationPacked,
1643 GLsizei bufSize,
1644 GLsizei *length,
1645 GLfloat *params)
1646 {
1647 ParamBuffer paramBuffer;
1648
1649 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
1650 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
1651 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1652
1653 if (isCallValid)
1654 {
1655 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1656 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1657 CaptureGetUniformfvRobustANGLE_length(glState, isCallValid, programPacked, locationPacked,
1658 bufSize, length, params, &lengthParam);
1659 paramBuffer.addParam(std::move(lengthParam));
1660 }
1661 else
1662 {
1663 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1664 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1665 &lengthParam.value);
1666 paramBuffer.addParam(std::move(lengthParam));
1667 }
1668
1669 if (isCallValid)
1670 {
1671 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1672 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
1673 CaptureGetUniformfvRobustANGLE_params(glState, isCallValid, programPacked, locationPacked,
1674 bufSize, length, params, ¶msParam);
1675 paramBuffer.addParam(std::move(paramsParam));
1676 }
1677 else
1678 {
1679 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1680 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
1681 ¶msParam.value);
1682 paramBuffer.addParam(std::move(paramsParam));
1683 }
1684
1685 return CallCapture(angle::EntryPoint::GLGetUniformfvRobustANGLE, std::move(paramBuffer));
1686 }
1687
CaptureGetUniformivRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei bufSize,GLsizei * length,GLint * params)1688 CallCapture CaptureGetUniformivRobustANGLE(const State &glState,
1689 bool isCallValid,
1690 ShaderProgramID programPacked,
1691 UniformLocation locationPacked,
1692 GLsizei bufSize,
1693 GLsizei *length,
1694 GLint *params)
1695 {
1696 ParamBuffer paramBuffer;
1697
1698 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
1699 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
1700 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1701
1702 if (isCallValid)
1703 {
1704 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1705 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1706 CaptureGetUniformivRobustANGLE_length(glState, isCallValid, programPacked, locationPacked,
1707 bufSize, length, params, &lengthParam);
1708 paramBuffer.addParam(std::move(lengthParam));
1709 }
1710 else
1711 {
1712 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1713 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1714 &lengthParam.value);
1715 paramBuffer.addParam(std::move(lengthParam));
1716 }
1717
1718 if (isCallValid)
1719 {
1720 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1721 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
1722 CaptureGetUniformivRobustANGLE_params(glState, isCallValid, programPacked, locationPacked,
1723 bufSize, length, params, ¶msParam);
1724 paramBuffer.addParam(std::move(paramsParam));
1725 }
1726 else
1727 {
1728 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1729 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
1730 paramBuffer.addParam(std::move(paramsParam));
1731 }
1732
1733 return CallCapture(angle::EntryPoint::GLGetUniformivRobustANGLE, std::move(paramBuffer));
1734 }
1735
CaptureGetVertexAttribfvRobustANGLE(const State & glState,bool isCallValid,GLuint index,GLenum pname,GLsizei bufSize,GLsizei * length,GLfloat * params)1736 CallCapture CaptureGetVertexAttribfvRobustANGLE(const State &glState,
1737 bool isCallValid,
1738 GLuint index,
1739 GLenum pname,
1740 GLsizei bufSize,
1741 GLsizei *length,
1742 GLfloat *params)
1743 {
1744 ParamBuffer paramBuffer;
1745
1746 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
1747 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1748 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1749
1750 if (isCallValid)
1751 {
1752 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1753 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1754 CaptureGetVertexAttribfvRobustANGLE_length(glState, isCallValid, index, pname, bufSize,
1755 length, params, &lengthParam);
1756 paramBuffer.addParam(std::move(lengthParam));
1757 }
1758 else
1759 {
1760 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1761 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1762 &lengthParam.value);
1763 paramBuffer.addParam(std::move(lengthParam));
1764 }
1765
1766 if (isCallValid)
1767 {
1768 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1769 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
1770 CaptureGetVertexAttribfvRobustANGLE_params(glState, isCallValid, index, pname, bufSize,
1771 length, params, ¶msParam);
1772 paramBuffer.addParam(std::move(paramsParam));
1773 }
1774 else
1775 {
1776 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
1777 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
1778 ¶msParam.value);
1779 paramBuffer.addParam(std::move(paramsParam));
1780 }
1781
1782 return CallCapture(angle::EntryPoint::GLGetVertexAttribfvRobustANGLE, std::move(paramBuffer));
1783 }
1784
CaptureGetVertexAttribivRobustANGLE(const State & glState,bool isCallValid,GLuint index,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)1785 CallCapture CaptureGetVertexAttribivRobustANGLE(const State &glState,
1786 bool isCallValid,
1787 GLuint index,
1788 GLenum pname,
1789 GLsizei bufSize,
1790 GLsizei *length,
1791 GLint *params)
1792 {
1793 ParamBuffer paramBuffer;
1794
1795 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
1796 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1797 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1798
1799 if (isCallValid)
1800 {
1801 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1802 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1803 CaptureGetVertexAttribivRobustANGLE_length(glState, isCallValid, index, pname, bufSize,
1804 length, params, &lengthParam);
1805 paramBuffer.addParam(std::move(lengthParam));
1806 }
1807 else
1808 {
1809 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1810 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1811 &lengthParam.value);
1812 paramBuffer.addParam(std::move(lengthParam));
1813 }
1814
1815 if (isCallValid)
1816 {
1817 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1818 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
1819 CaptureGetVertexAttribivRobustANGLE_params(glState, isCallValid, index, pname, bufSize,
1820 length, params, ¶msParam);
1821 paramBuffer.addParam(std::move(paramsParam));
1822 }
1823 else
1824 {
1825 ParamCapture paramsParam("params", ParamType::TGLintPointer);
1826 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
1827 paramBuffer.addParam(std::move(paramsParam));
1828 }
1829
1830 return CallCapture(angle::EntryPoint::GLGetVertexAttribivRobustANGLE, std::move(paramBuffer));
1831 }
1832
CaptureGetVertexAttribPointervRobustANGLE(const State & glState,bool isCallValid,GLuint index,GLenum pname,GLsizei bufSize,GLsizei * length,void ** pointer)1833 CallCapture CaptureGetVertexAttribPointervRobustANGLE(const State &glState,
1834 bool isCallValid,
1835 GLuint index,
1836 GLenum pname,
1837 GLsizei bufSize,
1838 GLsizei *length,
1839 void **pointer)
1840 {
1841 ParamBuffer paramBuffer;
1842
1843 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
1844 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
1845 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1846
1847 if (isCallValid)
1848 {
1849 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1850 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1851 CaptureGetVertexAttribPointervRobustANGLE_length(glState, isCallValid, index, pname,
1852 bufSize, length, pointer, &lengthParam);
1853 paramBuffer.addParam(std::move(lengthParam));
1854 }
1855 else
1856 {
1857 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1858 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1859 &lengthParam.value);
1860 paramBuffer.addParam(std::move(lengthParam));
1861 }
1862
1863 if (isCallValid)
1864 {
1865 ParamCapture pointerParam("pointer", ParamType::TvoidPointerPointer);
1866 InitParamValue(ParamType::TvoidPointerPointer, pointer, &pointerParam.value);
1867 CaptureGetVertexAttribPointervRobustANGLE_pointer(glState, isCallValid, index, pname,
1868 bufSize, length, pointer, &pointerParam);
1869 paramBuffer.addParam(std::move(pointerParam));
1870 }
1871 else
1872 {
1873 ParamCapture pointerParam("pointer", ParamType::TvoidPointerPointer);
1874 InitParamValue(ParamType::TvoidPointerPointer, static_cast<void **>(nullptr),
1875 &pointerParam.value);
1876 paramBuffer.addParam(std::move(pointerParam));
1877 }
1878
1879 return CallCapture(angle::EntryPoint::GLGetVertexAttribPointervRobustANGLE,
1880 std::move(paramBuffer));
1881 }
1882
CaptureReadPixelsRobustANGLE(const State & glState,bool isCallValid,GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLsizei bufSize,GLsizei * length,GLsizei * columns,GLsizei * rows,void * pixels)1883 CallCapture CaptureReadPixelsRobustANGLE(const State &glState,
1884 bool isCallValid,
1885 GLint x,
1886 GLint y,
1887 GLsizei width,
1888 GLsizei height,
1889 GLenum format,
1890 GLenum type,
1891 GLsizei bufSize,
1892 GLsizei *length,
1893 GLsizei *columns,
1894 GLsizei *rows,
1895 void *pixels)
1896 {
1897 ParamBuffer paramBuffer;
1898
1899 paramBuffer.addValueParam("x", ParamType::TGLint, x);
1900 paramBuffer.addValueParam("y", ParamType::TGLint, y);
1901 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
1902 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
1903 paramBuffer.addEnumParam("format", GLenumGroup::DefaultGroup, ParamType::TGLenum, format);
1904 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
1905 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1906
1907 if (isCallValid)
1908 {
1909 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1910 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
1911 CaptureReadPixelsRobustANGLE_length(glState, isCallValid, x, y, width, height, format, type,
1912 bufSize, length, columns, rows, pixels, &lengthParam);
1913 paramBuffer.addParam(std::move(lengthParam));
1914 }
1915 else
1916 {
1917 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
1918 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1919 &lengthParam.value);
1920 paramBuffer.addParam(std::move(lengthParam));
1921 }
1922
1923 if (isCallValid)
1924 {
1925 ParamCapture columnsParam("columns", ParamType::TGLsizeiPointer);
1926 InitParamValue(ParamType::TGLsizeiPointer, columns, &columnsParam.value);
1927 CaptureReadPixelsRobustANGLE_columns(glState, isCallValid, x, y, width, height, format,
1928 type, bufSize, length, columns, rows, pixels,
1929 &columnsParam);
1930 paramBuffer.addParam(std::move(columnsParam));
1931 }
1932 else
1933 {
1934 ParamCapture columnsParam("columns", ParamType::TGLsizeiPointer);
1935 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1936 &columnsParam.value);
1937 paramBuffer.addParam(std::move(columnsParam));
1938 }
1939
1940 if (isCallValid)
1941 {
1942 ParamCapture rowsParam("rows", ParamType::TGLsizeiPointer);
1943 InitParamValue(ParamType::TGLsizeiPointer, rows, &rowsParam.value);
1944 CaptureReadPixelsRobustANGLE_rows(glState, isCallValid, x, y, width, height, format, type,
1945 bufSize, length, columns, rows, pixels, &rowsParam);
1946 paramBuffer.addParam(std::move(rowsParam));
1947 }
1948 else
1949 {
1950 ParamCapture rowsParam("rows", ParamType::TGLsizeiPointer);
1951 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
1952 &rowsParam.value);
1953 paramBuffer.addParam(std::move(rowsParam));
1954 }
1955
1956 if (isCallValid)
1957 {
1958 ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
1959 InitParamValue(ParamType::TvoidPointer, pixels, &pixelsParam.value);
1960 CaptureReadPixelsRobustANGLE_pixels(glState, isCallValid, x, y, width, height, format, type,
1961 bufSize, length, columns, rows, pixels, &pixelsParam);
1962 paramBuffer.addParam(std::move(pixelsParam));
1963 }
1964 else
1965 {
1966 ParamCapture pixelsParam("pixels", ParamType::TvoidPointer);
1967 InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &pixelsParam.value);
1968 paramBuffer.addParam(std::move(pixelsParam));
1969 }
1970
1971 return CallCapture(angle::EntryPoint::GLReadPixelsRobustANGLE, std::move(paramBuffer));
1972 }
1973
CaptureTexImage2DRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,GLsizei bufSize,const void * pixels)1974 CallCapture CaptureTexImage2DRobustANGLE(const State &glState,
1975 bool isCallValid,
1976 TextureTarget targetPacked,
1977 GLint level,
1978 GLint internalformat,
1979 GLsizei width,
1980 GLsizei height,
1981 GLint border,
1982 GLenum format,
1983 GLenum type,
1984 GLsizei bufSize,
1985 const void *pixels)
1986 {
1987 ParamBuffer paramBuffer;
1988
1989 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
1990 paramBuffer.addValueParam("level", ParamType::TGLint, level);
1991 paramBuffer.addValueParam("internalformat", ParamType::TGLint, internalformat);
1992 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
1993 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
1994 paramBuffer.addValueParam("border", ParamType::TGLint, border);
1995 paramBuffer.addEnumParam("format", GLenumGroup::DefaultGroup, ParamType::TGLenum, format);
1996 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
1997 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
1998
1999 if (isCallValid)
2000 {
2001 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
2002 InitParamValue(ParamType::TvoidConstPointer, pixels, &pixelsParam.value);
2003 CaptureTexImage2DRobustANGLE_pixels(glState, isCallValid, targetPacked, level,
2004 internalformat, width, height, border, format, type,
2005 bufSize, pixels, &pixelsParam);
2006 paramBuffer.addParam(std::move(pixelsParam));
2007 }
2008 else
2009 {
2010 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
2011 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
2012 &pixelsParam.value);
2013 paramBuffer.addParam(std::move(pixelsParam));
2014 }
2015
2016 return CallCapture(angle::EntryPoint::GLTexImage2DRobustANGLE, std::move(paramBuffer));
2017 }
2018
CaptureTexParameterfvRobustANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLsizei bufSize,const GLfloat * params)2019 CallCapture CaptureTexParameterfvRobustANGLE(const State &glState,
2020 bool isCallValid,
2021 TextureType targetPacked,
2022 GLenum pname,
2023 GLsizei bufSize,
2024 const GLfloat *params)
2025 {
2026 ParamBuffer paramBuffer;
2027
2028 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
2029 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2030 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2031
2032 if (isCallValid)
2033 {
2034 ParamCapture paramsParam("params", ParamType::TGLfloatConstPointer);
2035 InitParamValue(ParamType::TGLfloatConstPointer, params, ¶msParam.value);
2036 CaptureTexParameterfvRobustANGLE_params(glState, isCallValid, targetPacked, pname, bufSize,
2037 params, ¶msParam);
2038 paramBuffer.addParam(std::move(paramsParam));
2039 }
2040 else
2041 {
2042 ParamCapture paramsParam("params", ParamType::TGLfloatConstPointer);
2043 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
2044 ¶msParam.value);
2045 paramBuffer.addParam(std::move(paramsParam));
2046 }
2047
2048 return CallCapture(angle::EntryPoint::GLTexParameterfvRobustANGLE, std::move(paramBuffer));
2049 }
2050
CaptureTexParameterivRobustANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLsizei bufSize,const GLint * params)2051 CallCapture CaptureTexParameterivRobustANGLE(const State &glState,
2052 bool isCallValid,
2053 TextureType targetPacked,
2054 GLenum pname,
2055 GLsizei bufSize,
2056 const GLint *params)
2057 {
2058 ParamBuffer paramBuffer;
2059
2060 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
2061 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2062 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2063
2064 if (isCallValid)
2065 {
2066 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
2067 InitParamValue(ParamType::TGLintConstPointer, params, ¶msParam.value);
2068 CaptureTexParameterivRobustANGLE_params(glState, isCallValid, targetPacked, pname, bufSize,
2069 params, ¶msParam);
2070 paramBuffer.addParam(std::move(paramsParam));
2071 }
2072 else
2073 {
2074 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
2075 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
2076 ¶msParam.value);
2077 paramBuffer.addParam(std::move(paramsParam));
2078 }
2079
2080 return CallCapture(angle::EntryPoint::GLTexParameterivRobustANGLE, std::move(paramBuffer));
2081 }
2082
CaptureTexSubImage2DRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLenum type,GLsizei bufSize,const void * pixels)2083 CallCapture CaptureTexSubImage2DRobustANGLE(const State &glState,
2084 bool isCallValid,
2085 TextureTarget targetPacked,
2086 GLint level,
2087 GLint xoffset,
2088 GLint yoffset,
2089 GLsizei width,
2090 GLsizei height,
2091 GLenum format,
2092 GLenum type,
2093 GLsizei bufSize,
2094 const void *pixels)
2095 {
2096 ParamBuffer paramBuffer;
2097
2098 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
2099 paramBuffer.addValueParam("level", ParamType::TGLint, level);
2100 paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
2101 paramBuffer.addValueParam("yoffset", ParamType::TGLint, yoffset);
2102 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
2103 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
2104 paramBuffer.addEnumParam("format", GLenumGroup::DefaultGroup, ParamType::TGLenum, format);
2105 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
2106 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2107
2108 if (isCallValid)
2109 {
2110 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
2111 InitParamValue(ParamType::TvoidConstPointer, pixels, &pixelsParam.value);
2112 CaptureTexSubImage2DRobustANGLE_pixels(glState, isCallValid, targetPacked, level, xoffset,
2113 yoffset, width, height, format, type, bufSize,
2114 pixels, &pixelsParam);
2115 paramBuffer.addParam(std::move(pixelsParam));
2116 }
2117 else
2118 {
2119 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
2120 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
2121 &pixelsParam.value);
2122 paramBuffer.addParam(std::move(pixelsParam));
2123 }
2124
2125 return CallCapture(angle::EntryPoint::GLTexSubImage2DRobustANGLE, std::move(paramBuffer));
2126 }
2127
CaptureTexImage3DRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLenum format,GLenum type,GLsizei bufSize,const void * pixels)2128 CallCapture CaptureTexImage3DRobustANGLE(const State &glState,
2129 bool isCallValid,
2130 TextureTarget targetPacked,
2131 GLint level,
2132 GLint internalformat,
2133 GLsizei width,
2134 GLsizei height,
2135 GLsizei depth,
2136 GLint border,
2137 GLenum format,
2138 GLenum type,
2139 GLsizei bufSize,
2140 const void *pixels)
2141 {
2142 ParamBuffer paramBuffer;
2143
2144 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
2145 paramBuffer.addValueParam("level", ParamType::TGLint, level);
2146 paramBuffer.addValueParam("internalformat", ParamType::TGLint, internalformat);
2147 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
2148 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
2149 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
2150 paramBuffer.addValueParam("border", ParamType::TGLint, border);
2151 paramBuffer.addEnumParam("format", GLenumGroup::DefaultGroup, ParamType::TGLenum, format);
2152 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
2153 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2154
2155 if (isCallValid)
2156 {
2157 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
2158 InitParamValue(ParamType::TvoidConstPointer, pixels, &pixelsParam.value);
2159 CaptureTexImage3DRobustANGLE_pixels(glState, isCallValid, targetPacked, level,
2160 internalformat, width, height, depth, border, format,
2161 type, bufSize, pixels, &pixelsParam);
2162 paramBuffer.addParam(std::move(pixelsParam));
2163 }
2164 else
2165 {
2166 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
2167 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
2168 &pixelsParam.value);
2169 paramBuffer.addParam(std::move(pixelsParam));
2170 }
2171
2172 return CallCapture(angle::EntryPoint::GLTexImage3DRobustANGLE, std::move(paramBuffer));
2173 }
2174
CaptureTexSubImage3DRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLenum type,GLsizei bufSize,const void * pixels)2175 CallCapture CaptureTexSubImage3DRobustANGLE(const State &glState,
2176 bool isCallValid,
2177 TextureTarget targetPacked,
2178 GLint level,
2179 GLint xoffset,
2180 GLint yoffset,
2181 GLint zoffset,
2182 GLsizei width,
2183 GLsizei height,
2184 GLsizei depth,
2185 GLenum format,
2186 GLenum type,
2187 GLsizei bufSize,
2188 const void *pixels)
2189 {
2190 ParamBuffer paramBuffer;
2191
2192 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
2193 paramBuffer.addValueParam("level", ParamType::TGLint, level);
2194 paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
2195 paramBuffer.addValueParam("yoffset", ParamType::TGLint, yoffset);
2196 paramBuffer.addValueParam("zoffset", ParamType::TGLint, zoffset);
2197 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
2198 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
2199 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
2200 paramBuffer.addEnumParam("format", GLenumGroup::DefaultGroup, ParamType::TGLenum, format);
2201 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
2202 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2203
2204 if (isCallValid)
2205 {
2206 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
2207 InitParamValue(ParamType::TvoidConstPointer, pixels, &pixelsParam.value);
2208 CaptureTexSubImage3DRobustANGLE_pixels(glState, isCallValid, targetPacked, level, xoffset,
2209 yoffset, zoffset, width, height, depth, format, type,
2210 bufSize, pixels, &pixelsParam);
2211 paramBuffer.addParam(std::move(pixelsParam));
2212 }
2213 else
2214 {
2215 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
2216 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
2217 &pixelsParam.value);
2218 paramBuffer.addParam(std::move(pixelsParam));
2219 }
2220
2221 return CallCapture(angle::EntryPoint::GLTexSubImage3DRobustANGLE, std::move(paramBuffer));
2222 }
2223
CaptureCompressedTexImage2DRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLint border,GLsizei imageSize,GLsizei dataSize,const GLvoid * data)2224 CallCapture CaptureCompressedTexImage2DRobustANGLE(const State &glState,
2225 bool isCallValid,
2226 TextureTarget targetPacked,
2227 GLint level,
2228 GLenum internalformat,
2229 GLsizei width,
2230 GLsizei height,
2231 GLint border,
2232 GLsizei imageSize,
2233 GLsizei dataSize,
2234 const GLvoid *data)
2235 {
2236 ParamBuffer paramBuffer;
2237
2238 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
2239 paramBuffer.addValueParam("level", ParamType::TGLint, level);
2240 paramBuffer.addEnumParam("internalformat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
2241 internalformat);
2242 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
2243 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
2244 paramBuffer.addValueParam("border", ParamType::TGLint, border);
2245 paramBuffer.addValueParam("imageSize", ParamType::TGLsizei, imageSize);
2246 paramBuffer.addValueParam("dataSize", ParamType::TGLsizei, dataSize);
2247
2248 if (isCallValid)
2249 {
2250 ParamCapture dataParam("data", ParamType::TGLvoidConstPointer);
2251 InitParamValue(ParamType::TGLvoidConstPointer, data, &dataParam.value);
2252 CaptureCompressedTexImage2DRobustANGLE_data(glState, isCallValid, targetPacked, level,
2253 internalformat, width, height, border,
2254 imageSize, dataSize, data, &dataParam);
2255 paramBuffer.addParam(std::move(dataParam));
2256 }
2257 else
2258 {
2259 ParamCapture dataParam("data", ParamType::TGLvoidConstPointer);
2260 InitParamValue(ParamType::TGLvoidConstPointer, static_cast<const GLvoid *>(nullptr),
2261 &dataParam.value);
2262 paramBuffer.addParam(std::move(dataParam));
2263 }
2264
2265 return CallCapture(angle::EntryPoint::GLCompressedTexImage2DRobustANGLE,
2266 std::move(paramBuffer));
2267 }
2268
CaptureCompressedTexSubImage2DRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLsizei xoffset,GLsizei yoffset,GLsizei width,GLsizei height,GLenum format,GLsizei imageSize,GLsizei dataSize,const GLvoid * data)2269 CallCapture CaptureCompressedTexSubImage2DRobustANGLE(const State &glState,
2270 bool isCallValid,
2271 TextureTarget targetPacked,
2272 GLint level,
2273 GLsizei xoffset,
2274 GLsizei yoffset,
2275 GLsizei width,
2276 GLsizei height,
2277 GLenum format,
2278 GLsizei imageSize,
2279 GLsizei dataSize,
2280 const GLvoid *data)
2281 {
2282 ParamBuffer paramBuffer;
2283
2284 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
2285 paramBuffer.addValueParam("level", ParamType::TGLint, level);
2286 paramBuffer.addValueParam("xoffset", ParamType::TGLsizei, xoffset);
2287 paramBuffer.addValueParam("yoffset", ParamType::TGLsizei, yoffset);
2288 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
2289 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
2290 paramBuffer.addEnumParam("format", GLenumGroup::DefaultGroup, ParamType::TGLenum, format);
2291 paramBuffer.addValueParam("imageSize", ParamType::TGLsizei, imageSize);
2292 paramBuffer.addValueParam("dataSize", ParamType::TGLsizei, dataSize);
2293
2294 if (isCallValid)
2295 {
2296 ParamCapture dataParam("data", ParamType::TGLvoidConstPointer);
2297 InitParamValue(ParamType::TGLvoidConstPointer, data, &dataParam.value);
2298 CaptureCompressedTexSubImage2DRobustANGLE_data(glState, isCallValid, targetPacked, level,
2299 xoffset, yoffset, width, height, format,
2300 imageSize, dataSize, data, &dataParam);
2301 paramBuffer.addParam(std::move(dataParam));
2302 }
2303 else
2304 {
2305 ParamCapture dataParam("data", ParamType::TGLvoidConstPointer);
2306 InitParamValue(ParamType::TGLvoidConstPointer, static_cast<const GLvoid *>(nullptr),
2307 &dataParam.value);
2308 paramBuffer.addParam(std::move(dataParam));
2309 }
2310
2311 return CallCapture(angle::EntryPoint::GLCompressedTexSubImage2DRobustANGLE,
2312 std::move(paramBuffer));
2313 }
2314
CaptureCompressedTexImage3DRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLsizei imageSize,GLsizei dataSize,const GLvoid * data)2315 CallCapture CaptureCompressedTexImage3DRobustANGLE(const State &glState,
2316 bool isCallValid,
2317 TextureTarget targetPacked,
2318 GLint level,
2319 GLenum internalformat,
2320 GLsizei width,
2321 GLsizei height,
2322 GLsizei depth,
2323 GLint border,
2324 GLsizei imageSize,
2325 GLsizei dataSize,
2326 const GLvoid *data)
2327 {
2328 ParamBuffer paramBuffer;
2329
2330 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
2331 paramBuffer.addValueParam("level", ParamType::TGLint, level);
2332 paramBuffer.addEnumParam("internalformat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
2333 internalformat);
2334 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
2335 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
2336 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
2337 paramBuffer.addValueParam("border", ParamType::TGLint, border);
2338 paramBuffer.addValueParam("imageSize", ParamType::TGLsizei, imageSize);
2339 paramBuffer.addValueParam("dataSize", ParamType::TGLsizei, dataSize);
2340
2341 if (isCallValid)
2342 {
2343 ParamCapture dataParam("data", ParamType::TGLvoidConstPointer);
2344 InitParamValue(ParamType::TGLvoidConstPointer, data, &dataParam.value);
2345 CaptureCompressedTexImage3DRobustANGLE_data(glState, isCallValid, targetPacked, level,
2346 internalformat, width, height, depth, border,
2347 imageSize, dataSize, data, &dataParam);
2348 paramBuffer.addParam(std::move(dataParam));
2349 }
2350 else
2351 {
2352 ParamCapture dataParam("data", ParamType::TGLvoidConstPointer);
2353 InitParamValue(ParamType::TGLvoidConstPointer, static_cast<const GLvoid *>(nullptr),
2354 &dataParam.value);
2355 paramBuffer.addParam(std::move(dataParam));
2356 }
2357
2358 return CallCapture(angle::EntryPoint::GLCompressedTexImage3DRobustANGLE,
2359 std::move(paramBuffer));
2360 }
2361
CaptureCompressedTexSubImage3DRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLsizei imageSize,GLsizei dataSize,const GLvoid * data)2362 CallCapture CaptureCompressedTexSubImage3DRobustANGLE(const State &glState,
2363 bool isCallValid,
2364 TextureTarget targetPacked,
2365 GLint level,
2366 GLint xoffset,
2367 GLint yoffset,
2368 GLint zoffset,
2369 GLsizei width,
2370 GLsizei height,
2371 GLsizei depth,
2372 GLenum format,
2373 GLsizei imageSize,
2374 GLsizei dataSize,
2375 const GLvoid *data)
2376 {
2377 ParamBuffer paramBuffer;
2378
2379 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
2380 paramBuffer.addValueParam("level", ParamType::TGLint, level);
2381 paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
2382 paramBuffer.addValueParam("yoffset", ParamType::TGLint, yoffset);
2383 paramBuffer.addValueParam("zoffset", ParamType::TGLint, zoffset);
2384 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
2385 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
2386 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
2387 paramBuffer.addEnumParam("format", GLenumGroup::DefaultGroup, ParamType::TGLenum, format);
2388 paramBuffer.addValueParam("imageSize", ParamType::TGLsizei, imageSize);
2389 paramBuffer.addValueParam("dataSize", ParamType::TGLsizei, dataSize);
2390
2391 if (isCallValid)
2392 {
2393 ParamCapture dataParam("data", ParamType::TGLvoidConstPointer);
2394 InitParamValue(ParamType::TGLvoidConstPointer, data, &dataParam.value);
2395 CaptureCompressedTexSubImage3DRobustANGLE_data(
2396 glState, isCallValid, targetPacked, level, xoffset, yoffset, zoffset, width, height,
2397 depth, format, imageSize, dataSize, data, &dataParam);
2398 paramBuffer.addParam(std::move(dataParam));
2399 }
2400 else
2401 {
2402 ParamCapture dataParam("data", ParamType::TGLvoidConstPointer);
2403 InitParamValue(ParamType::TGLvoidConstPointer, static_cast<const GLvoid *>(nullptr),
2404 &dataParam.value);
2405 paramBuffer.addParam(std::move(dataParam));
2406 }
2407
2408 return CallCapture(angle::EntryPoint::GLCompressedTexSubImage3DRobustANGLE,
2409 std::move(paramBuffer));
2410 }
2411
CaptureGetQueryivRobustANGLE(const State & glState,bool isCallValid,QueryType targetPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)2412 CallCapture CaptureGetQueryivRobustANGLE(const State &glState,
2413 bool isCallValid,
2414 QueryType targetPacked,
2415 GLenum pname,
2416 GLsizei bufSize,
2417 GLsizei *length,
2418 GLint *params)
2419 {
2420 ParamBuffer paramBuffer;
2421
2422 paramBuffer.addValueParam("targetPacked", ParamType::TQueryType, targetPacked);
2423 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2424 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2425
2426 if (isCallValid)
2427 {
2428 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2429 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2430 CaptureGetQueryivRobustANGLE_length(glState, isCallValid, targetPacked, pname, bufSize,
2431 length, params, &lengthParam);
2432 paramBuffer.addParam(std::move(lengthParam));
2433 }
2434 else
2435 {
2436 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2437 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2438 &lengthParam.value);
2439 paramBuffer.addParam(std::move(lengthParam));
2440 }
2441
2442 if (isCallValid)
2443 {
2444 ParamCapture paramsParam("params", ParamType::TGLintPointer);
2445 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
2446 CaptureGetQueryivRobustANGLE_params(glState, isCallValid, targetPacked, pname, bufSize,
2447 length, params, ¶msParam);
2448 paramBuffer.addParam(std::move(paramsParam));
2449 }
2450 else
2451 {
2452 ParamCapture paramsParam("params", ParamType::TGLintPointer);
2453 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
2454 paramBuffer.addParam(std::move(paramsParam));
2455 }
2456
2457 return CallCapture(angle::EntryPoint::GLGetQueryivRobustANGLE, std::move(paramBuffer));
2458 }
2459
CaptureGetQueryObjectuivRobustANGLE(const State & glState,bool isCallValid,QueryID idPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLuint * params)2460 CallCapture CaptureGetQueryObjectuivRobustANGLE(const State &glState,
2461 bool isCallValid,
2462 QueryID idPacked,
2463 GLenum pname,
2464 GLsizei bufSize,
2465 GLsizei *length,
2466 GLuint *params)
2467 {
2468 ParamBuffer paramBuffer;
2469
2470 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
2471 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2472 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2473
2474 if (isCallValid)
2475 {
2476 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2477 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2478 CaptureGetQueryObjectuivRobustANGLE_length(glState, isCallValid, idPacked, pname, bufSize,
2479 length, params, &lengthParam);
2480 paramBuffer.addParam(std::move(lengthParam));
2481 }
2482 else
2483 {
2484 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2485 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2486 &lengthParam.value);
2487 paramBuffer.addParam(std::move(lengthParam));
2488 }
2489
2490 if (isCallValid)
2491 {
2492 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
2493 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
2494 CaptureGetQueryObjectuivRobustANGLE_params(glState, isCallValid, idPacked, pname, bufSize,
2495 length, params, ¶msParam);
2496 paramBuffer.addParam(std::move(paramsParam));
2497 }
2498 else
2499 {
2500 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
2501 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
2502 ¶msParam.value);
2503 paramBuffer.addParam(std::move(paramsParam));
2504 }
2505
2506 return CallCapture(angle::EntryPoint::GLGetQueryObjectuivRobustANGLE, std::move(paramBuffer));
2507 }
2508
CaptureGetBufferPointervRobustANGLE(const State & glState,bool isCallValid,BufferBinding targetPacked,GLenum pname,GLsizei bufSize,GLsizei * length,void ** params)2509 CallCapture CaptureGetBufferPointervRobustANGLE(const State &glState,
2510 bool isCallValid,
2511 BufferBinding targetPacked,
2512 GLenum pname,
2513 GLsizei bufSize,
2514 GLsizei *length,
2515 void **params)
2516 {
2517 ParamBuffer paramBuffer;
2518
2519 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
2520 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2521 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2522
2523 if (isCallValid)
2524 {
2525 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2526 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2527 CaptureGetBufferPointervRobustANGLE_length(glState, isCallValid, targetPacked, pname,
2528 bufSize, length, params, &lengthParam);
2529 paramBuffer.addParam(std::move(lengthParam));
2530 }
2531 else
2532 {
2533 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2534 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2535 &lengthParam.value);
2536 paramBuffer.addParam(std::move(lengthParam));
2537 }
2538
2539 if (isCallValid)
2540 {
2541 ParamCapture paramsParam("params", ParamType::TvoidPointerPointer);
2542 InitParamValue(ParamType::TvoidPointerPointer, params, ¶msParam.value);
2543 CaptureGetBufferPointervRobustANGLE_params(glState, isCallValid, targetPacked, pname,
2544 bufSize, length, params, ¶msParam);
2545 paramBuffer.addParam(std::move(paramsParam));
2546 }
2547 else
2548 {
2549 ParamCapture paramsParam("params", ParamType::TvoidPointerPointer);
2550 InitParamValue(ParamType::TvoidPointerPointer, static_cast<void **>(nullptr),
2551 ¶msParam.value);
2552 paramBuffer.addParam(std::move(paramsParam));
2553 }
2554
2555 return CallCapture(angle::EntryPoint::GLGetBufferPointervRobustANGLE, std::move(paramBuffer));
2556 }
2557
CaptureGetIntegeri_vRobustANGLE(const State & glState,bool isCallValid,GLenum target,GLuint index,GLsizei bufSize,GLsizei * length,GLint * data)2558 CallCapture CaptureGetIntegeri_vRobustANGLE(const State &glState,
2559 bool isCallValid,
2560 GLenum target,
2561 GLuint index,
2562 GLsizei bufSize,
2563 GLsizei *length,
2564 GLint *data)
2565 {
2566 ParamBuffer paramBuffer;
2567
2568 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
2569 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
2570 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2571
2572 if (isCallValid)
2573 {
2574 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2575 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2576 CaptureGetIntegeri_vRobustANGLE_length(glState, isCallValid, target, index, bufSize, length,
2577 data, &lengthParam);
2578 paramBuffer.addParam(std::move(lengthParam));
2579 }
2580 else
2581 {
2582 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2583 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2584 &lengthParam.value);
2585 paramBuffer.addParam(std::move(lengthParam));
2586 }
2587
2588 if (isCallValid)
2589 {
2590 ParamCapture dataParam("data", ParamType::TGLintPointer);
2591 InitParamValue(ParamType::TGLintPointer, data, &dataParam.value);
2592 CaptureGetIntegeri_vRobustANGLE_data(glState, isCallValid, target, index, bufSize, length,
2593 data, &dataParam);
2594 paramBuffer.addParam(std::move(dataParam));
2595 }
2596 else
2597 {
2598 ParamCapture dataParam("data", ParamType::TGLintPointer);
2599 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), &dataParam.value);
2600 paramBuffer.addParam(std::move(dataParam));
2601 }
2602
2603 return CallCapture(angle::EntryPoint::GLGetIntegeri_vRobustANGLE, std::move(paramBuffer));
2604 }
2605
CaptureGetInternalformativRobustANGLE(const State & glState,bool isCallValid,GLenum target,GLenum internalformat,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)2606 CallCapture CaptureGetInternalformativRobustANGLE(const State &glState,
2607 bool isCallValid,
2608 GLenum target,
2609 GLenum internalformat,
2610 GLenum pname,
2611 GLsizei bufSize,
2612 GLsizei *length,
2613 GLint *params)
2614 {
2615 ParamBuffer paramBuffer;
2616
2617 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
2618 paramBuffer.addEnumParam("internalformat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
2619 internalformat);
2620 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2621 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2622
2623 if (isCallValid)
2624 {
2625 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2626 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2627 CaptureGetInternalformativRobustANGLE_length(glState, isCallValid, target, internalformat,
2628 pname, bufSize, length, params, &lengthParam);
2629 paramBuffer.addParam(std::move(lengthParam));
2630 }
2631 else
2632 {
2633 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2634 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2635 &lengthParam.value);
2636 paramBuffer.addParam(std::move(lengthParam));
2637 }
2638
2639 if (isCallValid)
2640 {
2641 ParamCapture paramsParam("params", ParamType::TGLintPointer);
2642 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
2643 CaptureGetInternalformativRobustANGLE_params(glState, isCallValid, target, internalformat,
2644 pname, bufSize, length, params, ¶msParam);
2645 paramBuffer.addParam(std::move(paramsParam));
2646 }
2647 else
2648 {
2649 ParamCapture paramsParam("params", ParamType::TGLintPointer);
2650 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
2651 paramBuffer.addParam(std::move(paramsParam));
2652 }
2653
2654 return CallCapture(angle::EntryPoint::GLGetInternalformativRobustANGLE, std::move(paramBuffer));
2655 }
2656
CaptureGetVertexAttribIivRobustANGLE(const State & glState,bool isCallValid,GLuint index,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)2657 CallCapture CaptureGetVertexAttribIivRobustANGLE(const State &glState,
2658 bool isCallValid,
2659 GLuint index,
2660 GLenum pname,
2661 GLsizei bufSize,
2662 GLsizei *length,
2663 GLint *params)
2664 {
2665 ParamBuffer paramBuffer;
2666
2667 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
2668 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2669 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2670
2671 if (isCallValid)
2672 {
2673 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2674 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2675 CaptureGetVertexAttribIivRobustANGLE_length(glState, isCallValid, index, pname, bufSize,
2676 length, params, &lengthParam);
2677 paramBuffer.addParam(std::move(lengthParam));
2678 }
2679 else
2680 {
2681 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2682 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2683 &lengthParam.value);
2684 paramBuffer.addParam(std::move(lengthParam));
2685 }
2686
2687 if (isCallValid)
2688 {
2689 ParamCapture paramsParam("params", ParamType::TGLintPointer);
2690 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
2691 CaptureGetVertexAttribIivRobustANGLE_params(glState, isCallValid, index, pname, bufSize,
2692 length, params, ¶msParam);
2693 paramBuffer.addParam(std::move(paramsParam));
2694 }
2695 else
2696 {
2697 ParamCapture paramsParam("params", ParamType::TGLintPointer);
2698 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
2699 paramBuffer.addParam(std::move(paramsParam));
2700 }
2701
2702 return CallCapture(angle::EntryPoint::GLGetVertexAttribIivRobustANGLE, std::move(paramBuffer));
2703 }
2704
CaptureGetVertexAttribIuivRobustANGLE(const State & glState,bool isCallValid,GLuint index,GLenum pname,GLsizei bufSize,GLsizei * length,GLuint * params)2705 CallCapture CaptureGetVertexAttribIuivRobustANGLE(const State &glState,
2706 bool isCallValid,
2707 GLuint index,
2708 GLenum pname,
2709 GLsizei bufSize,
2710 GLsizei *length,
2711 GLuint *params)
2712 {
2713 ParamBuffer paramBuffer;
2714
2715 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
2716 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2717 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2718
2719 if (isCallValid)
2720 {
2721 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2722 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2723 CaptureGetVertexAttribIuivRobustANGLE_length(glState, isCallValid, index, pname, bufSize,
2724 length, params, &lengthParam);
2725 paramBuffer.addParam(std::move(lengthParam));
2726 }
2727 else
2728 {
2729 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2730 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2731 &lengthParam.value);
2732 paramBuffer.addParam(std::move(lengthParam));
2733 }
2734
2735 if (isCallValid)
2736 {
2737 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
2738 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
2739 CaptureGetVertexAttribIuivRobustANGLE_params(glState, isCallValid, index, pname, bufSize,
2740 length, params, ¶msParam);
2741 paramBuffer.addParam(std::move(paramsParam));
2742 }
2743 else
2744 {
2745 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
2746 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
2747 ¶msParam.value);
2748 paramBuffer.addParam(std::move(paramsParam));
2749 }
2750
2751 return CallCapture(angle::EntryPoint::GLGetVertexAttribIuivRobustANGLE, std::move(paramBuffer));
2752 }
2753
CaptureGetUniformuivRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei bufSize,GLsizei * length,GLuint * params)2754 CallCapture CaptureGetUniformuivRobustANGLE(const State &glState,
2755 bool isCallValid,
2756 ShaderProgramID programPacked,
2757 UniformLocation locationPacked,
2758 GLsizei bufSize,
2759 GLsizei *length,
2760 GLuint *params)
2761 {
2762 ParamBuffer paramBuffer;
2763
2764 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
2765 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
2766 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2767
2768 if (isCallValid)
2769 {
2770 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2771 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2772 CaptureGetUniformuivRobustANGLE_length(glState, isCallValid, programPacked, locationPacked,
2773 bufSize, length, params, &lengthParam);
2774 paramBuffer.addParam(std::move(lengthParam));
2775 }
2776 else
2777 {
2778 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2779 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2780 &lengthParam.value);
2781 paramBuffer.addParam(std::move(lengthParam));
2782 }
2783
2784 if (isCallValid)
2785 {
2786 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
2787 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
2788 CaptureGetUniformuivRobustANGLE_params(glState, isCallValid, programPacked, locationPacked,
2789 bufSize, length, params, ¶msParam);
2790 paramBuffer.addParam(std::move(paramsParam));
2791 }
2792 else
2793 {
2794 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
2795 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
2796 ¶msParam.value);
2797 paramBuffer.addParam(std::move(paramsParam));
2798 }
2799
2800 return CallCapture(angle::EntryPoint::GLGetUniformuivRobustANGLE, std::move(paramBuffer));
2801 }
2802
CaptureGetActiveUniformBlockivRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformBlockIndex uniformBlockIndexPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)2803 CallCapture CaptureGetActiveUniformBlockivRobustANGLE(const State &glState,
2804 bool isCallValid,
2805 ShaderProgramID programPacked,
2806 UniformBlockIndex uniformBlockIndexPacked,
2807 GLenum pname,
2808 GLsizei bufSize,
2809 GLsizei *length,
2810 GLint *params)
2811 {
2812 ParamBuffer paramBuffer;
2813
2814 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
2815 paramBuffer.addValueParam("uniformBlockIndexPacked", ParamType::TUniformBlockIndex,
2816 uniformBlockIndexPacked);
2817 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2818 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2819
2820 if (isCallValid)
2821 {
2822 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2823 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2824 CaptureGetActiveUniformBlockivRobustANGLE_length(glState, isCallValid, programPacked,
2825 uniformBlockIndexPacked, pname, bufSize,
2826 length, params, &lengthParam);
2827 paramBuffer.addParam(std::move(lengthParam));
2828 }
2829 else
2830 {
2831 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2832 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2833 &lengthParam.value);
2834 paramBuffer.addParam(std::move(lengthParam));
2835 }
2836
2837 if (isCallValid)
2838 {
2839 ParamCapture paramsParam("params", ParamType::TGLintPointer);
2840 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
2841 CaptureGetActiveUniformBlockivRobustANGLE_params(glState, isCallValid, programPacked,
2842 uniformBlockIndexPacked, pname, bufSize,
2843 length, params, ¶msParam);
2844 paramBuffer.addParam(std::move(paramsParam));
2845 }
2846 else
2847 {
2848 ParamCapture paramsParam("params", ParamType::TGLintPointer);
2849 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
2850 paramBuffer.addParam(std::move(paramsParam));
2851 }
2852
2853 return CallCapture(angle::EntryPoint::GLGetActiveUniformBlockivRobustANGLE,
2854 std::move(paramBuffer));
2855 }
2856
CaptureGetInteger64vRobustANGLE(const State & glState,bool isCallValid,GLenum pname,GLsizei bufSize,GLsizei * length,GLint64 * data)2857 CallCapture CaptureGetInteger64vRobustANGLE(const State &glState,
2858 bool isCallValid,
2859 GLenum pname,
2860 GLsizei bufSize,
2861 GLsizei *length,
2862 GLint64 *data)
2863 {
2864 ParamBuffer paramBuffer;
2865
2866 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2867 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2868
2869 if (isCallValid)
2870 {
2871 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2872 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2873 CaptureGetInteger64vRobustANGLE_length(glState, isCallValid, pname, bufSize, length, data,
2874 &lengthParam);
2875 paramBuffer.addParam(std::move(lengthParam));
2876 }
2877 else
2878 {
2879 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2880 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2881 &lengthParam.value);
2882 paramBuffer.addParam(std::move(lengthParam));
2883 }
2884
2885 if (isCallValid)
2886 {
2887 ParamCapture dataParam("data", ParamType::TGLint64Pointer);
2888 InitParamValue(ParamType::TGLint64Pointer, data, &dataParam.value);
2889 CaptureGetInteger64vRobustANGLE_data(glState, isCallValid, pname, bufSize, length, data,
2890 &dataParam);
2891 paramBuffer.addParam(std::move(dataParam));
2892 }
2893 else
2894 {
2895 ParamCapture dataParam("data", ParamType::TGLint64Pointer);
2896 InitParamValue(ParamType::TGLint64Pointer, static_cast<GLint64 *>(nullptr),
2897 &dataParam.value);
2898 paramBuffer.addParam(std::move(dataParam));
2899 }
2900
2901 return CallCapture(angle::EntryPoint::GLGetInteger64vRobustANGLE, std::move(paramBuffer));
2902 }
2903
CaptureGetInteger64i_vRobustANGLE(const State & glState,bool isCallValid,GLenum target,GLuint index,GLsizei bufSize,GLsizei * length,GLint64 * data)2904 CallCapture CaptureGetInteger64i_vRobustANGLE(const State &glState,
2905 bool isCallValid,
2906 GLenum target,
2907 GLuint index,
2908 GLsizei bufSize,
2909 GLsizei *length,
2910 GLint64 *data)
2911 {
2912 ParamBuffer paramBuffer;
2913
2914 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
2915 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
2916 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2917
2918 if (isCallValid)
2919 {
2920 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2921 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2922 CaptureGetInteger64i_vRobustANGLE_length(glState, isCallValid, target, index, bufSize,
2923 length, data, &lengthParam);
2924 paramBuffer.addParam(std::move(lengthParam));
2925 }
2926 else
2927 {
2928 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2929 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2930 &lengthParam.value);
2931 paramBuffer.addParam(std::move(lengthParam));
2932 }
2933
2934 if (isCallValid)
2935 {
2936 ParamCapture dataParam("data", ParamType::TGLint64Pointer);
2937 InitParamValue(ParamType::TGLint64Pointer, data, &dataParam.value);
2938 CaptureGetInteger64i_vRobustANGLE_data(glState, isCallValid, target, index, bufSize, length,
2939 data, &dataParam);
2940 paramBuffer.addParam(std::move(dataParam));
2941 }
2942 else
2943 {
2944 ParamCapture dataParam("data", ParamType::TGLint64Pointer);
2945 InitParamValue(ParamType::TGLint64Pointer, static_cast<GLint64 *>(nullptr),
2946 &dataParam.value);
2947 paramBuffer.addParam(std::move(dataParam));
2948 }
2949
2950 return CallCapture(angle::EntryPoint::GLGetInteger64i_vRobustANGLE, std::move(paramBuffer));
2951 }
2952
CaptureGetBufferParameteri64vRobustANGLE(const State & glState,bool isCallValid,BufferBinding targetPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint64 * params)2953 CallCapture CaptureGetBufferParameteri64vRobustANGLE(const State &glState,
2954 bool isCallValid,
2955 BufferBinding targetPacked,
2956 GLenum pname,
2957 GLsizei bufSize,
2958 GLsizei *length,
2959 GLint64 *params)
2960 {
2961 ParamBuffer paramBuffer;
2962
2963 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
2964 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
2965 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
2966
2967 if (isCallValid)
2968 {
2969 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2970 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
2971 CaptureGetBufferParameteri64vRobustANGLE_length(glState, isCallValid, targetPacked, pname,
2972 bufSize, length, params, &lengthParam);
2973 paramBuffer.addParam(std::move(lengthParam));
2974 }
2975 else
2976 {
2977 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
2978 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
2979 &lengthParam.value);
2980 paramBuffer.addParam(std::move(lengthParam));
2981 }
2982
2983 if (isCallValid)
2984 {
2985 ParamCapture paramsParam("params", ParamType::TGLint64Pointer);
2986 InitParamValue(ParamType::TGLint64Pointer, params, ¶msParam.value);
2987 CaptureGetBufferParameteri64vRobustANGLE_params(glState, isCallValid, targetPacked, pname,
2988 bufSize, length, params, ¶msParam);
2989 paramBuffer.addParam(std::move(paramsParam));
2990 }
2991 else
2992 {
2993 ParamCapture paramsParam("params", ParamType::TGLint64Pointer);
2994 InitParamValue(ParamType::TGLint64Pointer, static_cast<GLint64 *>(nullptr),
2995 ¶msParam.value);
2996 paramBuffer.addParam(std::move(paramsParam));
2997 }
2998
2999 return CallCapture(angle::EntryPoint::GLGetBufferParameteri64vRobustANGLE,
3000 std::move(paramBuffer));
3001 }
3002
CaptureSamplerParameterivRobustANGLE(const State & glState,bool isCallValid,SamplerID samplerPacked,GLuint pname,GLsizei bufSize,const GLint * param)3003 CallCapture CaptureSamplerParameterivRobustANGLE(const State &glState,
3004 bool isCallValid,
3005 SamplerID samplerPacked,
3006 GLuint pname,
3007 GLsizei bufSize,
3008 const GLint *param)
3009 {
3010 ParamBuffer paramBuffer;
3011
3012 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
3013 paramBuffer.addValueParam("pname", ParamType::TGLuint, pname);
3014 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3015
3016 if (isCallValid)
3017 {
3018 ParamCapture paramParam("param", ParamType::TGLintConstPointer);
3019 InitParamValue(ParamType::TGLintConstPointer, param, ¶mParam.value);
3020 CaptureSamplerParameterivRobustANGLE_param(glState, isCallValid, samplerPacked, pname,
3021 bufSize, param, ¶mParam);
3022 paramBuffer.addParam(std::move(paramParam));
3023 }
3024 else
3025 {
3026 ParamCapture paramParam("param", ParamType::TGLintConstPointer);
3027 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3028 ¶mParam.value);
3029 paramBuffer.addParam(std::move(paramParam));
3030 }
3031
3032 return CallCapture(angle::EntryPoint::GLSamplerParameterivRobustANGLE, std::move(paramBuffer));
3033 }
3034
CaptureSamplerParameterfvRobustANGLE(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLsizei bufSize,const GLfloat * param)3035 CallCapture CaptureSamplerParameterfvRobustANGLE(const State &glState,
3036 bool isCallValid,
3037 SamplerID samplerPacked,
3038 GLenum pname,
3039 GLsizei bufSize,
3040 const GLfloat *param)
3041 {
3042 ParamBuffer paramBuffer;
3043
3044 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
3045 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3046 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3047
3048 if (isCallValid)
3049 {
3050 ParamCapture paramParam("param", ParamType::TGLfloatConstPointer);
3051 InitParamValue(ParamType::TGLfloatConstPointer, param, ¶mParam.value);
3052 CaptureSamplerParameterfvRobustANGLE_param(glState, isCallValid, samplerPacked, pname,
3053 bufSize, param, ¶mParam);
3054 paramBuffer.addParam(std::move(paramParam));
3055 }
3056 else
3057 {
3058 ParamCapture paramParam("param", ParamType::TGLfloatConstPointer);
3059 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
3060 ¶mParam.value);
3061 paramBuffer.addParam(std::move(paramParam));
3062 }
3063
3064 return CallCapture(angle::EntryPoint::GLSamplerParameterfvRobustANGLE, std::move(paramBuffer));
3065 }
3066
CaptureGetSamplerParameterivRobustANGLE(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)3067 CallCapture CaptureGetSamplerParameterivRobustANGLE(const State &glState,
3068 bool isCallValid,
3069 SamplerID samplerPacked,
3070 GLenum pname,
3071 GLsizei bufSize,
3072 GLsizei *length,
3073 GLint *params)
3074 {
3075 ParamBuffer paramBuffer;
3076
3077 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
3078 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3079 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3080
3081 if (isCallValid)
3082 {
3083 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3084 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3085 CaptureGetSamplerParameterivRobustANGLE_length(glState, isCallValid, samplerPacked, pname,
3086 bufSize, length, params, &lengthParam);
3087 paramBuffer.addParam(std::move(lengthParam));
3088 }
3089 else
3090 {
3091 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3092 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3093 &lengthParam.value);
3094 paramBuffer.addParam(std::move(lengthParam));
3095 }
3096
3097 if (isCallValid)
3098 {
3099 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3100 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
3101 CaptureGetSamplerParameterivRobustANGLE_params(glState, isCallValid, samplerPacked, pname,
3102 bufSize, length, params, ¶msParam);
3103 paramBuffer.addParam(std::move(paramsParam));
3104 }
3105 else
3106 {
3107 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3108 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
3109 paramBuffer.addParam(std::move(paramsParam));
3110 }
3111
3112 return CallCapture(angle::EntryPoint::GLGetSamplerParameterivRobustANGLE,
3113 std::move(paramBuffer));
3114 }
3115
CaptureGetSamplerParameterfvRobustANGLE(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLfloat * params)3116 CallCapture CaptureGetSamplerParameterfvRobustANGLE(const State &glState,
3117 bool isCallValid,
3118 SamplerID samplerPacked,
3119 GLenum pname,
3120 GLsizei bufSize,
3121 GLsizei *length,
3122 GLfloat *params)
3123 {
3124 ParamBuffer paramBuffer;
3125
3126 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
3127 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3128 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3129
3130 if (isCallValid)
3131 {
3132 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3133 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3134 CaptureGetSamplerParameterfvRobustANGLE_length(glState, isCallValid, samplerPacked, pname,
3135 bufSize, length, params, &lengthParam);
3136 paramBuffer.addParam(std::move(lengthParam));
3137 }
3138 else
3139 {
3140 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3141 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3142 &lengthParam.value);
3143 paramBuffer.addParam(std::move(lengthParam));
3144 }
3145
3146 if (isCallValid)
3147 {
3148 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
3149 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
3150 CaptureGetSamplerParameterfvRobustANGLE_params(glState, isCallValid, samplerPacked, pname,
3151 bufSize, length, params, ¶msParam);
3152 paramBuffer.addParam(std::move(paramsParam));
3153 }
3154 else
3155 {
3156 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
3157 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
3158 ¶msParam.value);
3159 paramBuffer.addParam(std::move(paramsParam));
3160 }
3161
3162 return CallCapture(angle::EntryPoint::GLGetSamplerParameterfvRobustANGLE,
3163 std::move(paramBuffer));
3164 }
3165
CaptureGetFramebufferParameterivRobustANGLE(const State & glState,bool isCallValid,GLenum target,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)3166 CallCapture CaptureGetFramebufferParameterivRobustANGLE(const State &glState,
3167 bool isCallValid,
3168 GLenum target,
3169 GLenum pname,
3170 GLsizei bufSize,
3171 GLsizei *length,
3172 GLint *params)
3173 {
3174 ParamBuffer paramBuffer;
3175
3176 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
3177 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3178 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3179
3180 if (isCallValid)
3181 {
3182 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3183 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3184 CaptureGetFramebufferParameterivRobustANGLE_length(glState, isCallValid, target, pname,
3185 bufSize, length, params, &lengthParam);
3186 paramBuffer.addParam(std::move(lengthParam));
3187 }
3188 else
3189 {
3190 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3191 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3192 &lengthParam.value);
3193 paramBuffer.addParam(std::move(lengthParam));
3194 }
3195
3196 if (isCallValid)
3197 {
3198 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3199 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
3200 CaptureGetFramebufferParameterivRobustANGLE_params(glState, isCallValid, target, pname,
3201 bufSize, length, params, ¶msParam);
3202 paramBuffer.addParam(std::move(paramsParam));
3203 }
3204 else
3205 {
3206 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3207 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
3208 paramBuffer.addParam(std::move(paramsParam));
3209 }
3210
3211 return CallCapture(angle::EntryPoint::GLGetFramebufferParameterivRobustANGLE,
3212 std::move(paramBuffer));
3213 }
3214
CaptureGetProgramInterfaceivRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID programPacked,GLenum programInterface,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)3215 CallCapture CaptureGetProgramInterfaceivRobustANGLE(const State &glState,
3216 bool isCallValid,
3217 ShaderProgramID programPacked,
3218 GLenum programInterface,
3219 GLenum pname,
3220 GLsizei bufSize,
3221 GLsizei *length,
3222 GLint *params)
3223 {
3224 ParamBuffer paramBuffer;
3225
3226 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
3227 paramBuffer.addEnumParam("programInterface", GLenumGroup::DefaultGroup, ParamType::TGLenum,
3228 programInterface);
3229 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3230 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3231
3232 if (isCallValid)
3233 {
3234 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3235 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3236 CaptureGetProgramInterfaceivRobustANGLE_length(glState, isCallValid, programPacked,
3237 programInterface, pname, bufSize, length,
3238 params, &lengthParam);
3239 paramBuffer.addParam(std::move(lengthParam));
3240 }
3241 else
3242 {
3243 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3244 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3245 &lengthParam.value);
3246 paramBuffer.addParam(std::move(lengthParam));
3247 }
3248
3249 if (isCallValid)
3250 {
3251 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3252 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
3253 CaptureGetProgramInterfaceivRobustANGLE_params(glState, isCallValid, programPacked,
3254 programInterface, pname, bufSize, length,
3255 params, ¶msParam);
3256 paramBuffer.addParam(std::move(paramsParam));
3257 }
3258 else
3259 {
3260 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3261 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
3262 paramBuffer.addParam(std::move(paramsParam));
3263 }
3264
3265 return CallCapture(angle::EntryPoint::GLGetProgramInterfaceivRobustANGLE,
3266 std::move(paramBuffer));
3267 }
3268
CaptureGetBooleani_vRobustANGLE(const State & glState,bool isCallValid,GLenum target,GLuint index,GLsizei bufSize,GLsizei * length,GLboolean * data)3269 CallCapture CaptureGetBooleani_vRobustANGLE(const State &glState,
3270 bool isCallValid,
3271 GLenum target,
3272 GLuint index,
3273 GLsizei bufSize,
3274 GLsizei *length,
3275 GLboolean *data)
3276 {
3277 ParamBuffer paramBuffer;
3278
3279 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
3280 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
3281 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3282
3283 if (isCallValid)
3284 {
3285 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3286 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3287 CaptureGetBooleani_vRobustANGLE_length(glState, isCallValid, target, index, bufSize, length,
3288 data, &lengthParam);
3289 paramBuffer.addParam(std::move(lengthParam));
3290 }
3291 else
3292 {
3293 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3294 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3295 &lengthParam.value);
3296 paramBuffer.addParam(std::move(lengthParam));
3297 }
3298
3299 if (isCallValid)
3300 {
3301 ParamCapture dataParam("data", ParamType::TGLbooleanPointer);
3302 InitParamValue(ParamType::TGLbooleanPointer, data, &dataParam.value);
3303 CaptureGetBooleani_vRobustANGLE_data(glState, isCallValid, target, index, bufSize, length,
3304 data, &dataParam);
3305 paramBuffer.addParam(std::move(dataParam));
3306 }
3307 else
3308 {
3309 ParamCapture dataParam("data", ParamType::TGLbooleanPointer);
3310 InitParamValue(ParamType::TGLbooleanPointer, static_cast<GLboolean *>(nullptr),
3311 &dataParam.value);
3312 paramBuffer.addParam(std::move(dataParam));
3313 }
3314
3315 return CallCapture(angle::EntryPoint::GLGetBooleani_vRobustANGLE, std::move(paramBuffer));
3316 }
3317
CaptureGetMultisamplefvRobustANGLE(const State & glState,bool isCallValid,GLenum pname,GLuint index,GLsizei bufSize,GLsizei * length,GLfloat * val)3318 CallCapture CaptureGetMultisamplefvRobustANGLE(const State &glState,
3319 bool isCallValid,
3320 GLenum pname,
3321 GLuint index,
3322 GLsizei bufSize,
3323 GLsizei *length,
3324 GLfloat *val)
3325 {
3326 ParamBuffer paramBuffer;
3327
3328 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3329 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
3330 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3331
3332 if (isCallValid)
3333 {
3334 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3335 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3336 CaptureGetMultisamplefvRobustANGLE_length(glState, isCallValid, pname, index, bufSize,
3337 length, val, &lengthParam);
3338 paramBuffer.addParam(std::move(lengthParam));
3339 }
3340 else
3341 {
3342 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3343 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3344 &lengthParam.value);
3345 paramBuffer.addParam(std::move(lengthParam));
3346 }
3347
3348 if (isCallValid)
3349 {
3350 ParamCapture valParam("val", ParamType::TGLfloatPointer);
3351 InitParamValue(ParamType::TGLfloatPointer, val, &valParam.value);
3352 CaptureGetMultisamplefvRobustANGLE_val(glState, isCallValid, pname, index, bufSize, length,
3353 val, &valParam);
3354 paramBuffer.addParam(std::move(valParam));
3355 }
3356 else
3357 {
3358 ParamCapture valParam("val", ParamType::TGLfloatPointer);
3359 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
3360 &valParam.value);
3361 paramBuffer.addParam(std::move(valParam));
3362 }
3363
3364 return CallCapture(angle::EntryPoint::GLGetMultisamplefvRobustANGLE, std::move(paramBuffer));
3365 }
3366
CaptureGetTexLevelParameterivRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)3367 CallCapture CaptureGetTexLevelParameterivRobustANGLE(const State &glState,
3368 bool isCallValid,
3369 TextureTarget targetPacked,
3370 GLint level,
3371 GLenum pname,
3372 GLsizei bufSize,
3373 GLsizei *length,
3374 GLint *params)
3375 {
3376 ParamBuffer paramBuffer;
3377
3378 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
3379 paramBuffer.addValueParam("level", ParamType::TGLint, level);
3380 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3381 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3382
3383 if (isCallValid)
3384 {
3385 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3386 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3387 CaptureGetTexLevelParameterivRobustANGLE_length(glState, isCallValid, targetPacked, level,
3388 pname, bufSize, length, params,
3389 &lengthParam);
3390 paramBuffer.addParam(std::move(lengthParam));
3391 }
3392 else
3393 {
3394 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3395 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3396 &lengthParam.value);
3397 paramBuffer.addParam(std::move(lengthParam));
3398 }
3399
3400 if (isCallValid)
3401 {
3402 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3403 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
3404 CaptureGetTexLevelParameterivRobustANGLE_params(glState, isCallValid, targetPacked, level,
3405 pname, bufSize, length, params,
3406 ¶msParam);
3407 paramBuffer.addParam(std::move(paramsParam));
3408 }
3409 else
3410 {
3411 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3412 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
3413 paramBuffer.addParam(std::move(paramsParam));
3414 }
3415
3416 return CallCapture(angle::EntryPoint::GLGetTexLevelParameterivRobustANGLE,
3417 std::move(paramBuffer));
3418 }
3419
CaptureGetTexLevelParameterfvRobustANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum pname,GLsizei bufSize,GLsizei * length,GLfloat * params)3420 CallCapture CaptureGetTexLevelParameterfvRobustANGLE(const State &glState,
3421 bool isCallValid,
3422 TextureTarget targetPacked,
3423 GLint level,
3424 GLenum pname,
3425 GLsizei bufSize,
3426 GLsizei *length,
3427 GLfloat *params)
3428 {
3429 ParamBuffer paramBuffer;
3430
3431 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
3432 paramBuffer.addValueParam("level", ParamType::TGLint, level);
3433 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3434 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3435
3436 if (isCallValid)
3437 {
3438 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3439 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3440 CaptureGetTexLevelParameterfvRobustANGLE_length(glState, isCallValid, targetPacked, level,
3441 pname, bufSize, length, params,
3442 &lengthParam);
3443 paramBuffer.addParam(std::move(lengthParam));
3444 }
3445 else
3446 {
3447 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3448 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3449 &lengthParam.value);
3450 paramBuffer.addParam(std::move(lengthParam));
3451 }
3452
3453 if (isCallValid)
3454 {
3455 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
3456 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
3457 CaptureGetTexLevelParameterfvRobustANGLE_params(glState, isCallValid, targetPacked, level,
3458 pname, bufSize, length, params,
3459 ¶msParam);
3460 paramBuffer.addParam(std::move(paramsParam));
3461 }
3462 else
3463 {
3464 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
3465 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
3466 ¶msParam.value);
3467 paramBuffer.addParam(std::move(paramsParam));
3468 }
3469
3470 return CallCapture(angle::EntryPoint::GLGetTexLevelParameterfvRobustANGLE,
3471 std::move(paramBuffer));
3472 }
3473
CaptureGetPointervRobustANGLERobustANGLE(const State & glState,bool isCallValid,GLenum pname,GLsizei bufSize,GLsizei * length,void ** params)3474 CallCapture CaptureGetPointervRobustANGLERobustANGLE(const State &glState,
3475 bool isCallValid,
3476 GLenum pname,
3477 GLsizei bufSize,
3478 GLsizei *length,
3479 void **params)
3480 {
3481 ParamBuffer paramBuffer;
3482
3483 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3484 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3485
3486 if (isCallValid)
3487 {
3488 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3489 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3490 CaptureGetPointervRobustANGLERobustANGLE_length(glState, isCallValid, pname, bufSize,
3491 length, params, &lengthParam);
3492 paramBuffer.addParam(std::move(lengthParam));
3493 }
3494 else
3495 {
3496 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3497 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3498 &lengthParam.value);
3499 paramBuffer.addParam(std::move(lengthParam));
3500 }
3501
3502 if (isCallValid)
3503 {
3504 ParamCapture paramsParam("params", ParamType::TvoidPointerPointer);
3505 InitParamValue(ParamType::TvoidPointerPointer, params, ¶msParam.value);
3506 CaptureGetPointervRobustANGLERobustANGLE_params(glState, isCallValid, pname, bufSize,
3507 length, params, ¶msParam);
3508 paramBuffer.addParam(std::move(paramsParam));
3509 }
3510 else
3511 {
3512 ParamCapture paramsParam("params", ParamType::TvoidPointerPointer);
3513 InitParamValue(ParamType::TvoidPointerPointer, static_cast<void **>(nullptr),
3514 ¶msParam.value);
3515 paramBuffer.addParam(std::move(paramsParam));
3516 }
3517
3518 return CallCapture(angle::EntryPoint::GLGetPointervRobustANGLERobustANGLE,
3519 std::move(paramBuffer));
3520 }
3521
CaptureReadnPixelsRobustANGLE(const State & glState,bool isCallValid,GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLsizei bufSize,GLsizei * length,GLsizei * columns,GLsizei * rows,void * data)3522 CallCapture CaptureReadnPixelsRobustANGLE(const State &glState,
3523 bool isCallValid,
3524 GLint x,
3525 GLint y,
3526 GLsizei width,
3527 GLsizei height,
3528 GLenum format,
3529 GLenum type,
3530 GLsizei bufSize,
3531 GLsizei *length,
3532 GLsizei *columns,
3533 GLsizei *rows,
3534 void *data)
3535 {
3536 ParamBuffer paramBuffer;
3537
3538 paramBuffer.addValueParam("x", ParamType::TGLint, x);
3539 paramBuffer.addValueParam("y", ParamType::TGLint, y);
3540 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
3541 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
3542 paramBuffer.addEnumParam("format", GLenumGroup::DefaultGroup, ParamType::TGLenum, format);
3543 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
3544 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3545
3546 if (isCallValid)
3547 {
3548 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3549 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3550 CaptureReadnPixelsRobustANGLE_length(glState, isCallValid, x, y, width, height, format,
3551 type, bufSize, length, columns, rows, data,
3552 &lengthParam);
3553 paramBuffer.addParam(std::move(lengthParam));
3554 }
3555 else
3556 {
3557 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3558 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3559 &lengthParam.value);
3560 paramBuffer.addParam(std::move(lengthParam));
3561 }
3562
3563 if (isCallValid)
3564 {
3565 ParamCapture columnsParam("columns", ParamType::TGLsizeiPointer);
3566 InitParamValue(ParamType::TGLsizeiPointer, columns, &columnsParam.value);
3567 CaptureReadnPixelsRobustANGLE_columns(glState, isCallValid, x, y, width, height, format,
3568 type, bufSize, length, columns, rows, data,
3569 &columnsParam);
3570 paramBuffer.addParam(std::move(columnsParam));
3571 }
3572 else
3573 {
3574 ParamCapture columnsParam("columns", ParamType::TGLsizeiPointer);
3575 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3576 &columnsParam.value);
3577 paramBuffer.addParam(std::move(columnsParam));
3578 }
3579
3580 if (isCallValid)
3581 {
3582 ParamCapture rowsParam("rows", ParamType::TGLsizeiPointer);
3583 InitParamValue(ParamType::TGLsizeiPointer, rows, &rowsParam.value);
3584 CaptureReadnPixelsRobustANGLE_rows(glState, isCallValid, x, y, width, height, format, type,
3585 bufSize, length, columns, rows, data, &rowsParam);
3586 paramBuffer.addParam(std::move(rowsParam));
3587 }
3588 else
3589 {
3590 ParamCapture rowsParam("rows", ParamType::TGLsizeiPointer);
3591 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3592 &rowsParam.value);
3593 paramBuffer.addParam(std::move(rowsParam));
3594 }
3595
3596 if (isCallValid)
3597 {
3598 ParamCapture dataParam("data", ParamType::TvoidPointer);
3599 InitParamValue(ParamType::TvoidPointer, data, &dataParam.value);
3600 CaptureReadnPixelsRobustANGLE_data(glState, isCallValid, x, y, width, height, format, type,
3601 bufSize, length, columns, rows, data, &dataParam);
3602 paramBuffer.addParam(std::move(dataParam));
3603 }
3604 else
3605 {
3606 ParamCapture dataParam("data", ParamType::TvoidPointer);
3607 InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &dataParam.value);
3608 paramBuffer.addParam(std::move(dataParam));
3609 }
3610
3611 return CallCapture(angle::EntryPoint::GLReadnPixelsRobustANGLE, std::move(paramBuffer));
3612 }
3613
CaptureGetnUniformfvRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei bufSize,GLsizei * length,GLfloat * params)3614 CallCapture CaptureGetnUniformfvRobustANGLE(const State &glState,
3615 bool isCallValid,
3616 ShaderProgramID programPacked,
3617 UniformLocation locationPacked,
3618 GLsizei bufSize,
3619 GLsizei *length,
3620 GLfloat *params)
3621 {
3622 ParamBuffer paramBuffer;
3623
3624 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
3625 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
3626 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3627
3628 if (isCallValid)
3629 {
3630 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3631 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3632 CaptureGetnUniformfvRobustANGLE_length(glState, isCallValid, programPacked, locationPacked,
3633 bufSize, length, params, &lengthParam);
3634 paramBuffer.addParam(std::move(lengthParam));
3635 }
3636 else
3637 {
3638 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3639 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3640 &lengthParam.value);
3641 paramBuffer.addParam(std::move(lengthParam));
3642 }
3643
3644 if (isCallValid)
3645 {
3646 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
3647 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
3648 CaptureGetnUniformfvRobustANGLE_params(glState, isCallValid, programPacked, locationPacked,
3649 bufSize, length, params, ¶msParam);
3650 paramBuffer.addParam(std::move(paramsParam));
3651 }
3652 else
3653 {
3654 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
3655 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
3656 ¶msParam.value);
3657 paramBuffer.addParam(std::move(paramsParam));
3658 }
3659
3660 return CallCapture(angle::EntryPoint::GLGetnUniformfvRobustANGLE, std::move(paramBuffer));
3661 }
3662
CaptureGetnUniformivRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei bufSize,GLsizei * length,GLint * params)3663 CallCapture CaptureGetnUniformivRobustANGLE(const State &glState,
3664 bool isCallValid,
3665 ShaderProgramID programPacked,
3666 UniformLocation locationPacked,
3667 GLsizei bufSize,
3668 GLsizei *length,
3669 GLint *params)
3670 {
3671 ParamBuffer paramBuffer;
3672
3673 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
3674 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
3675 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3676
3677 if (isCallValid)
3678 {
3679 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3680 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3681 CaptureGetnUniformivRobustANGLE_length(glState, isCallValid, programPacked, locationPacked,
3682 bufSize, length, params, &lengthParam);
3683 paramBuffer.addParam(std::move(lengthParam));
3684 }
3685 else
3686 {
3687 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3688 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3689 &lengthParam.value);
3690 paramBuffer.addParam(std::move(lengthParam));
3691 }
3692
3693 if (isCallValid)
3694 {
3695 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3696 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
3697 CaptureGetnUniformivRobustANGLE_params(glState, isCallValid, programPacked, locationPacked,
3698 bufSize, length, params, ¶msParam);
3699 paramBuffer.addParam(std::move(paramsParam));
3700 }
3701 else
3702 {
3703 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3704 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
3705 paramBuffer.addParam(std::move(paramsParam));
3706 }
3707
3708 return CallCapture(angle::EntryPoint::GLGetnUniformivRobustANGLE, std::move(paramBuffer));
3709 }
3710
CaptureGetnUniformuivRobustANGLE(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei bufSize,GLsizei * length,GLuint * params)3711 CallCapture CaptureGetnUniformuivRobustANGLE(const State &glState,
3712 bool isCallValid,
3713 ShaderProgramID programPacked,
3714 UniformLocation locationPacked,
3715 GLsizei bufSize,
3716 GLsizei *length,
3717 GLuint *params)
3718 {
3719 ParamBuffer paramBuffer;
3720
3721 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
3722 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
3723 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3724
3725 if (isCallValid)
3726 {
3727 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3728 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3729 CaptureGetnUniformuivRobustANGLE_length(glState, isCallValid, programPacked, locationPacked,
3730 bufSize, length, params, &lengthParam);
3731 paramBuffer.addParam(std::move(lengthParam));
3732 }
3733 else
3734 {
3735 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3736 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3737 &lengthParam.value);
3738 paramBuffer.addParam(std::move(lengthParam));
3739 }
3740
3741 if (isCallValid)
3742 {
3743 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
3744 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
3745 CaptureGetnUniformuivRobustANGLE_params(glState, isCallValid, programPacked, locationPacked,
3746 bufSize, length, params, ¶msParam);
3747 paramBuffer.addParam(std::move(paramsParam));
3748 }
3749 else
3750 {
3751 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
3752 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
3753 ¶msParam.value);
3754 paramBuffer.addParam(std::move(paramsParam));
3755 }
3756
3757 return CallCapture(angle::EntryPoint::GLGetnUniformuivRobustANGLE, std::move(paramBuffer));
3758 }
3759
CaptureTexParameterIivRobustANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLsizei bufSize,const GLint * params)3760 CallCapture CaptureTexParameterIivRobustANGLE(const State &glState,
3761 bool isCallValid,
3762 TextureType targetPacked,
3763 GLenum pname,
3764 GLsizei bufSize,
3765 const GLint *params)
3766 {
3767 ParamBuffer paramBuffer;
3768
3769 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
3770 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3771 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3772
3773 if (isCallValid)
3774 {
3775 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
3776 InitParamValue(ParamType::TGLintConstPointer, params, ¶msParam.value);
3777 CaptureTexParameterIivRobustANGLE_params(glState, isCallValid, targetPacked, pname, bufSize,
3778 params, ¶msParam);
3779 paramBuffer.addParam(std::move(paramsParam));
3780 }
3781 else
3782 {
3783 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
3784 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3785 ¶msParam.value);
3786 paramBuffer.addParam(std::move(paramsParam));
3787 }
3788
3789 return CallCapture(angle::EntryPoint::GLTexParameterIivRobustANGLE, std::move(paramBuffer));
3790 }
3791
CaptureTexParameterIuivRobustANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLsizei bufSize,const GLuint * params)3792 CallCapture CaptureTexParameterIuivRobustANGLE(const State &glState,
3793 bool isCallValid,
3794 TextureType targetPacked,
3795 GLenum pname,
3796 GLsizei bufSize,
3797 const GLuint *params)
3798 {
3799 ParamBuffer paramBuffer;
3800
3801 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
3802 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3803 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3804
3805 if (isCallValid)
3806 {
3807 ParamCapture paramsParam("params", ParamType::TGLuintConstPointer);
3808 InitParamValue(ParamType::TGLuintConstPointer, params, ¶msParam.value);
3809 CaptureTexParameterIuivRobustANGLE_params(glState, isCallValid, targetPacked, pname,
3810 bufSize, params, ¶msParam);
3811 paramBuffer.addParam(std::move(paramsParam));
3812 }
3813 else
3814 {
3815 ParamCapture paramsParam("params", ParamType::TGLuintConstPointer);
3816 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
3817 ¶msParam.value);
3818 paramBuffer.addParam(std::move(paramsParam));
3819 }
3820
3821 return CallCapture(angle::EntryPoint::GLTexParameterIuivRobustANGLE, std::move(paramBuffer));
3822 }
3823
CaptureGetTexParameterIivRobustANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)3824 CallCapture CaptureGetTexParameterIivRobustANGLE(const State &glState,
3825 bool isCallValid,
3826 TextureType targetPacked,
3827 GLenum pname,
3828 GLsizei bufSize,
3829 GLsizei *length,
3830 GLint *params)
3831 {
3832 ParamBuffer paramBuffer;
3833
3834 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
3835 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3836 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3837
3838 if (isCallValid)
3839 {
3840 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3841 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3842 CaptureGetTexParameterIivRobustANGLE_length(glState, isCallValid, targetPacked, pname,
3843 bufSize, length, params, &lengthParam);
3844 paramBuffer.addParam(std::move(lengthParam));
3845 }
3846 else
3847 {
3848 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3849 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3850 &lengthParam.value);
3851 paramBuffer.addParam(std::move(lengthParam));
3852 }
3853
3854 if (isCallValid)
3855 {
3856 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3857 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
3858 CaptureGetTexParameterIivRobustANGLE_params(glState, isCallValid, targetPacked, pname,
3859 bufSize, length, params, ¶msParam);
3860 paramBuffer.addParam(std::move(paramsParam));
3861 }
3862 else
3863 {
3864 ParamCapture paramsParam("params", ParamType::TGLintPointer);
3865 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
3866 paramBuffer.addParam(std::move(paramsParam));
3867 }
3868
3869 return CallCapture(angle::EntryPoint::GLGetTexParameterIivRobustANGLE, std::move(paramBuffer));
3870 }
3871
CaptureGetTexParameterIuivRobustANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLuint * params)3872 CallCapture CaptureGetTexParameterIuivRobustANGLE(const State &glState,
3873 bool isCallValid,
3874 TextureType targetPacked,
3875 GLenum pname,
3876 GLsizei bufSize,
3877 GLsizei *length,
3878 GLuint *params)
3879 {
3880 ParamBuffer paramBuffer;
3881
3882 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
3883 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3884 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3885
3886 if (isCallValid)
3887 {
3888 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3889 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
3890 CaptureGetTexParameterIuivRobustANGLE_length(glState, isCallValid, targetPacked, pname,
3891 bufSize, length, params, &lengthParam);
3892 paramBuffer.addParam(std::move(lengthParam));
3893 }
3894 else
3895 {
3896 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
3897 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
3898 &lengthParam.value);
3899 paramBuffer.addParam(std::move(lengthParam));
3900 }
3901
3902 if (isCallValid)
3903 {
3904 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
3905 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
3906 CaptureGetTexParameterIuivRobustANGLE_params(glState, isCallValid, targetPacked, pname,
3907 bufSize, length, params, ¶msParam);
3908 paramBuffer.addParam(std::move(paramsParam));
3909 }
3910 else
3911 {
3912 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
3913 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
3914 ¶msParam.value);
3915 paramBuffer.addParam(std::move(paramsParam));
3916 }
3917
3918 return CallCapture(angle::EntryPoint::GLGetTexParameterIuivRobustANGLE, std::move(paramBuffer));
3919 }
3920
CaptureSamplerParameterIivRobustANGLE(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLsizei bufSize,const GLint * param)3921 CallCapture CaptureSamplerParameterIivRobustANGLE(const State &glState,
3922 bool isCallValid,
3923 SamplerID samplerPacked,
3924 GLenum pname,
3925 GLsizei bufSize,
3926 const GLint *param)
3927 {
3928 ParamBuffer paramBuffer;
3929
3930 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
3931 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3932 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3933
3934 if (isCallValid)
3935 {
3936 ParamCapture paramParam("param", ParamType::TGLintConstPointer);
3937 InitParamValue(ParamType::TGLintConstPointer, param, ¶mParam.value);
3938 CaptureSamplerParameterIivRobustANGLE_param(glState, isCallValid, samplerPacked, pname,
3939 bufSize, param, ¶mParam);
3940 paramBuffer.addParam(std::move(paramParam));
3941 }
3942 else
3943 {
3944 ParamCapture paramParam("param", ParamType::TGLintConstPointer);
3945 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
3946 ¶mParam.value);
3947 paramBuffer.addParam(std::move(paramParam));
3948 }
3949
3950 return CallCapture(angle::EntryPoint::GLSamplerParameterIivRobustANGLE, std::move(paramBuffer));
3951 }
3952
CaptureSamplerParameterIuivRobustANGLE(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLsizei bufSize,const GLuint * param)3953 CallCapture CaptureSamplerParameterIuivRobustANGLE(const State &glState,
3954 bool isCallValid,
3955 SamplerID samplerPacked,
3956 GLenum pname,
3957 GLsizei bufSize,
3958 const GLuint *param)
3959 {
3960 ParamBuffer paramBuffer;
3961
3962 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
3963 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3964 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3965
3966 if (isCallValid)
3967 {
3968 ParamCapture paramParam("param", ParamType::TGLuintConstPointer);
3969 InitParamValue(ParamType::TGLuintConstPointer, param, ¶mParam.value);
3970 CaptureSamplerParameterIuivRobustANGLE_param(glState, isCallValid, samplerPacked, pname,
3971 bufSize, param, ¶mParam);
3972 paramBuffer.addParam(std::move(paramParam));
3973 }
3974 else
3975 {
3976 ParamCapture paramParam("param", ParamType::TGLuintConstPointer);
3977 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
3978 ¶mParam.value);
3979 paramBuffer.addParam(std::move(paramParam));
3980 }
3981
3982 return CallCapture(angle::EntryPoint::GLSamplerParameterIuivRobustANGLE,
3983 std::move(paramBuffer));
3984 }
3985
CaptureGetSamplerParameterIivRobustANGLE(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)3986 CallCapture CaptureGetSamplerParameterIivRobustANGLE(const State &glState,
3987 bool isCallValid,
3988 SamplerID samplerPacked,
3989 GLenum pname,
3990 GLsizei bufSize,
3991 GLsizei *length,
3992 GLint *params)
3993 {
3994 ParamBuffer paramBuffer;
3995
3996 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
3997 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
3998 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
3999
4000 if (isCallValid)
4001 {
4002 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4003 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
4004 CaptureGetSamplerParameterIivRobustANGLE_length(glState, isCallValid, samplerPacked, pname,
4005 bufSize, length, params, &lengthParam);
4006 paramBuffer.addParam(std::move(lengthParam));
4007 }
4008 else
4009 {
4010 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4011 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
4012 &lengthParam.value);
4013 paramBuffer.addParam(std::move(lengthParam));
4014 }
4015
4016 if (isCallValid)
4017 {
4018 ParamCapture paramsParam("params", ParamType::TGLintPointer);
4019 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
4020 CaptureGetSamplerParameterIivRobustANGLE_params(glState, isCallValid, samplerPacked, pname,
4021 bufSize, length, params, ¶msParam);
4022 paramBuffer.addParam(std::move(paramsParam));
4023 }
4024 else
4025 {
4026 ParamCapture paramsParam("params", ParamType::TGLintPointer);
4027 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
4028 paramBuffer.addParam(std::move(paramsParam));
4029 }
4030
4031 return CallCapture(angle::EntryPoint::GLGetSamplerParameterIivRobustANGLE,
4032 std::move(paramBuffer));
4033 }
4034
CaptureGetSamplerParameterIuivRobustANGLE(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLuint * params)4035 CallCapture CaptureGetSamplerParameterIuivRobustANGLE(const State &glState,
4036 bool isCallValid,
4037 SamplerID samplerPacked,
4038 GLenum pname,
4039 GLsizei bufSize,
4040 GLsizei *length,
4041 GLuint *params)
4042 {
4043 ParamBuffer paramBuffer;
4044
4045 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
4046 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
4047 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
4048
4049 if (isCallValid)
4050 {
4051 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4052 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
4053 CaptureGetSamplerParameterIuivRobustANGLE_length(glState, isCallValid, samplerPacked, pname,
4054 bufSize, length, params, &lengthParam);
4055 paramBuffer.addParam(std::move(lengthParam));
4056 }
4057 else
4058 {
4059 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4060 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
4061 &lengthParam.value);
4062 paramBuffer.addParam(std::move(lengthParam));
4063 }
4064
4065 if (isCallValid)
4066 {
4067 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
4068 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
4069 CaptureGetSamplerParameterIuivRobustANGLE_params(glState, isCallValid, samplerPacked, pname,
4070 bufSize, length, params, ¶msParam);
4071 paramBuffer.addParam(std::move(paramsParam));
4072 }
4073 else
4074 {
4075 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
4076 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
4077 ¶msParam.value);
4078 paramBuffer.addParam(std::move(paramsParam));
4079 }
4080
4081 return CallCapture(angle::EntryPoint::GLGetSamplerParameterIuivRobustANGLE,
4082 std::move(paramBuffer));
4083 }
4084
CaptureGetQueryObjectivRobustANGLE(const State & glState,bool isCallValid,QueryID idPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint * params)4085 CallCapture CaptureGetQueryObjectivRobustANGLE(const State &glState,
4086 bool isCallValid,
4087 QueryID idPacked,
4088 GLenum pname,
4089 GLsizei bufSize,
4090 GLsizei *length,
4091 GLint *params)
4092 {
4093 ParamBuffer paramBuffer;
4094
4095 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
4096 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
4097 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
4098
4099 if (isCallValid)
4100 {
4101 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4102 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
4103 CaptureGetQueryObjectivRobustANGLE_length(glState, isCallValid, idPacked, pname, bufSize,
4104 length, params, &lengthParam);
4105 paramBuffer.addParam(std::move(lengthParam));
4106 }
4107 else
4108 {
4109 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4110 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
4111 &lengthParam.value);
4112 paramBuffer.addParam(std::move(lengthParam));
4113 }
4114
4115 if (isCallValid)
4116 {
4117 ParamCapture paramsParam("params", ParamType::TGLintPointer);
4118 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
4119 CaptureGetQueryObjectivRobustANGLE_params(glState, isCallValid, idPacked, pname, bufSize,
4120 length, params, ¶msParam);
4121 paramBuffer.addParam(std::move(paramsParam));
4122 }
4123 else
4124 {
4125 ParamCapture paramsParam("params", ParamType::TGLintPointer);
4126 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
4127 paramBuffer.addParam(std::move(paramsParam));
4128 }
4129
4130 return CallCapture(angle::EntryPoint::GLGetQueryObjectivRobustANGLE, std::move(paramBuffer));
4131 }
4132
CaptureGetQueryObjecti64vRobustANGLE(const State & glState,bool isCallValid,QueryID idPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLint64 * params)4133 CallCapture CaptureGetQueryObjecti64vRobustANGLE(const State &glState,
4134 bool isCallValid,
4135 QueryID idPacked,
4136 GLenum pname,
4137 GLsizei bufSize,
4138 GLsizei *length,
4139 GLint64 *params)
4140 {
4141 ParamBuffer paramBuffer;
4142
4143 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
4144 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
4145 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
4146
4147 if (isCallValid)
4148 {
4149 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4150 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
4151 CaptureGetQueryObjecti64vRobustANGLE_length(glState, isCallValid, idPacked, pname, bufSize,
4152 length, params, &lengthParam);
4153 paramBuffer.addParam(std::move(lengthParam));
4154 }
4155 else
4156 {
4157 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4158 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
4159 &lengthParam.value);
4160 paramBuffer.addParam(std::move(lengthParam));
4161 }
4162
4163 if (isCallValid)
4164 {
4165 ParamCapture paramsParam("params", ParamType::TGLint64Pointer);
4166 InitParamValue(ParamType::TGLint64Pointer, params, ¶msParam.value);
4167 CaptureGetQueryObjecti64vRobustANGLE_params(glState, isCallValid, idPacked, pname, bufSize,
4168 length, params, ¶msParam);
4169 paramBuffer.addParam(std::move(paramsParam));
4170 }
4171 else
4172 {
4173 ParamCapture paramsParam("params", ParamType::TGLint64Pointer);
4174 InitParamValue(ParamType::TGLint64Pointer, static_cast<GLint64 *>(nullptr),
4175 ¶msParam.value);
4176 paramBuffer.addParam(std::move(paramsParam));
4177 }
4178
4179 return CallCapture(angle::EntryPoint::GLGetQueryObjecti64vRobustANGLE, std::move(paramBuffer));
4180 }
4181
CaptureGetQueryObjectui64vRobustANGLE(const State & glState,bool isCallValid,QueryID idPacked,GLenum pname,GLsizei bufSize,GLsizei * length,GLuint64 * params)4182 CallCapture CaptureGetQueryObjectui64vRobustANGLE(const State &glState,
4183 bool isCallValid,
4184 QueryID idPacked,
4185 GLenum pname,
4186 GLsizei bufSize,
4187 GLsizei *length,
4188 GLuint64 *params)
4189 {
4190 ParamBuffer paramBuffer;
4191
4192 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
4193 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
4194 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
4195
4196 if (isCallValid)
4197 {
4198 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4199 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
4200 CaptureGetQueryObjectui64vRobustANGLE_length(glState, isCallValid, idPacked, pname, bufSize,
4201 length, params, &lengthParam);
4202 paramBuffer.addParam(std::move(lengthParam));
4203 }
4204 else
4205 {
4206 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4207 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
4208 &lengthParam.value);
4209 paramBuffer.addParam(std::move(lengthParam));
4210 }
4211
4212 if (isCallValid)
4213 {
4214 ParamCapture paramsParam("params", ParamType::TGLuint64Pointer);
4215 InitParamValue(ParamType::TGLuint64Pointer, params, ¶msParam.value);
4216 CaptureGetQueryObjectui64vRobustANGLE_params(glState, isCallValid, idPacked, pname, bufSize,
4217 length, params, ¶msParam);
4218 paramBuffer.addParam(std::move(paramsParam));
4219 }
4220 else
4221 {
4222 ParamCapture paramsParam("params", ParamType::TGLuint64Pointer);
4223 InitParamValue(ParamType::TGLuint64Pointer, static_cast<GLuint64 *>(nullptr),
4224 ¶msParam.value);
4225 paramBuffer.addParam(std::move(paramsParam));
4226 }
4227
4228 return CallCapture(angle::EntryPoint::GLGetQueryObjectui64vRobustANGLE, std::move(paramBuffer));
4229 }
4230
CaptureImportSemaphoreZirconHandleANGLE(const State & glState,bool isCallValid,SemaphoreID semaphorePacked,HandleType handleTypePacked,GLuint handle)4231 CallCapture CaptureImportSemaphoreZirconHandleANGLE(const State &glState,
4232 bool isCallValid,
4233 SemaphoreID semaphorePacked,
4234 HandleType handleTypePacked,
4235 GLuint handle)
4236 {
4237 ParamBuffer paramBuffer;
4238
4239 paramBuffer.addValueParam("semaphorePacked", ParamType::TSemaphoreID, semaphorePacked);
4240 paramBuffer.addValueParam("handleTypePacked", ParamType::THandleType, handleTypePacked);
4241 paramBuffer.addValueParam("handle", ParamType::TGLuint, handle);
4242
4243 return CallCapture(angle::EntryPoint::GLImportSemaphoreZirconHandleANGLE,
4244 std::move(paramBuffer));
4245 }
4246
CaptureTexImage2DExternalANGLE(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type)4247 CallCapture CaptureTexImage2DExternalANGLE(const State &glState,
4248 bool isCallValid,
4249 TextureTarget targetPacked,
4250 GLint level,
4251 GLint internalformat,
4252 GLsizei width,
4253 GLsizei height,
4254 GLint border,
4255 GLenum format,
4256 GLenum type)
4257 {
4258 ParamBuffer paramBuffer;
4259
4260 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
4261 paramBuffer.addValueParam("level", ParamType::TGLint, level);
4262 paramBuffer.addValueParam("internalformat", ParamType::TGLint, internalformat);
4263 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
4264 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
4265 paramBuffer.addValueParam("border", ParamType::TGLint, border);
4266 paramBuffer.addEnumParam("format", GLenumGroup::PixelFormat, ParamType::TGLenum, format);
4267 paramBuffer.addEnumParam("type", GLenumGroup::PixelType, ParamType::TGLenum, type);
4268
4269 return CallCapture(angle::EntryPoint::GLTexImage2DExternalANGLE, std::move(paramBuffer));
4270 }
4271
CaptureInvalidateTextureANGLE(const State & glState,bool isCallValid,TextureType targetPacked)4272 CallCapture CaptureInvalidateTextureANGLE(const State &glState,
4273 bool isCallValid,
4274 TextureType targetPacked)
4275 {
4276 ParamBuffer paramBuffer;
4277
4278 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
4279
4280 return CallCapture(angle::EntryPoint::GLInvalidateTextureANGLE, std::move(paramBuffer));
4281 }
4282
CaptureTexStorage2DMultisampleANGLE(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei samples,GLenum internalformat,GLsizei width,GLsizei height,GLboolean fixedsamplelocations)4283 CallCapture CaptureTexStorage2DMultisampleANGLE(const State &glState,
4284 bool isCallValid,
4285 TextureType targetPacked,
4286 GLsizei samples,
4287 GLenum internalformat,
4288 GLsizei width,
4289 GLsizei height,
4290 GLboolean fixedsamplelocations)
4291 {
4292 ParamBuffer paramBuffer;
4293
4294 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
4295 paramBuffer.addValueParam("samples", ParamType::TGLsizei, samples);
4296 paramBuffer.addEnumParam("internalformat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
4297 internalformat);
4298 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
4299 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
4300 paramBuffer.addValueParam("fixedsamplelocations", ParamType::TGLboolean, fixedsamplelocations);
4301
4302 return CallCapture(angle::EntryPoint::GLTexStorage2DMultisampleANGLE, std::move(paramBuffer));
4303 }
4304
CaptureGetMultisamplefvANGLE(const State & glState,bool isCallValid,GLenum pname,GLuint index,GLfloat * val)4305 CallCapture CaptureGetMultisamplefvANGLE(const State &glState,
4306 bool isCallValid,
4307 GLenum pname,
4308 GLuint index,
4309 GLfloat *val)
4310 {
4311 ParamBuffer paramBuffer;
4312
4313 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
4314 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
4315
4316 if (isCallValid)
4317 {
4318 ParamCapture valParam("val", ParamType::TGLfloatPointer);
4319 InitParamValue(ParamType::TGLfloatPointer, val, &valParam.value);
4320 CaptureGetMultisamplefvANGLE_val(glState, isCallValid, pname, index, val, &valParam);
4321 paramBuffer.addParam(std::move(valParam));
4322 }
4323 else
4324 {
4325 ParamCapture valParam("val", ParamType::TGLfloatPointer);
4326 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
4327 &valParam.value);
4328 paramBuffer.addParam(std::move(valParam));
4329 }
4330
4331 return CallCapture(angle::EntryPoint::GLGetMultisamplefvANGLE, std::move(paramBuffer));
4332 }
4333
CaptureSampleMaskiANGLE(const State & glState,bool isCallValid,GLuint maskNumber,GLbitfield mask)4334 CallCapture CaptureSampleMaskiANGLE(const State &glState,
4335 bool isCallValid,
4336 GLuint maskNumber,
4337 GLbitfield mask)
4338 {
4339 ParamBuffer paramBuffer;
4340
4341 paramBuffer.addValueParam("maskNumber", ParamType::TGLuint, maskNumber);
4342 paramBuffer.addEnumParam("mask", GLenumGroup::DefaultGroup, ParamType::TGLbitfield, mask);
4343
4344 return CallCapture(angle::EntryPoint::GLSampleMaskiANGLE, std::move(paramBuffer));
4345 }
4346
CaptureGetTranslatedShaderSourceANGLE(const State & glState,bool isCallValid,ShaderProgramID shaderPacked,GLsizei bufsize,GLsizei * length,GLchar * source)4347 CallCapture CaptureGetTranslatedShaderSourceANGLE(const State &glState,
4348 bool isCallValid,
4349 ShaderProgramID shaderPacked,
4350 GLsizei bufsize,
4351 GLsizei *length,
4352 GLchar *source)
4353 {
4354 ParamBuffer paramBuffer;
4355
4356 paramBuffer.addValueParam("shaderPacked", ParamType::TShaderProgramID, shaderPacked);
4357 paramBuffer.addValueParam("bufsize", ParamType::TGLsizei, bufsize);
4358
4359 if (isCallValid)
4360 {
4361 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4362 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
4363 CaptureGetTranslatedShaderSourceANGLE_length(glState, isCallValid, shaderPacked, bufsize,
4364 length, source, &lengthParam);
4365 paramBuffer.addParam(std::move(lengthParam));
4366 }
4367 else
4368 {
4369 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4370 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
4371 &lengthParam.value);
4372 paramBuffer.addParam(std::move(lengthParam));
4373 }
4374
4375 if (isCallValid)
4376 {
4377 ParamCapture sourceParam("source", ParamType::TGLcharPointer);
4378 InitParamValue(ParamType::TGLcharPointer, source, &sourceParam.value);
4379 CaptureGetTranslatedShaderSourceANGLE_source(glState, isCallValid, shaderPacked, bufsize,
4380 length, source, &sourceParam);
4381 paramBuffer.addParam(std::move(sourceParam));
4382 }
4383 else
4384 {
4385 ParamCapture sourceParam("source", ParamType::TGLcharPointer);
4386 InitParamValue(ParamType::TGLcharPointer, static_cast<GLchar *>(nullptr),
4387 &sourceParam.value);
4388 paramBuffer.addParam(std::move(sourceParam));
4389 }
4390
4391 return CallCapture(angle::EntryPoint::GLGetTranslatedShaderSourceANGLE, std::move(paramBuffer));
4392 }
4393
CaptureAcquireTexturesANGLE(const State & glState,bool isCallValid,GLuint numTextures,const TextureID * texturesPacked,const GLenum * layouts)4394 CallCapture CaptureAcquireTexturesANGLE(const State &glState,
4395 bool isCallValid,
4396 GLuint numTextures,
4397 const TextureID *texturesPacked,
4398 const GLenum *layouts)
4399 {
4400 ParamBuffer paramBuffer;
4401
4402 paramBuffer.addValueParam("numTextures", ParamType::TGLuint, numTextures);
4403
4404 if (isCallValid)
4405 {
4406 ParamCapture texturesPackedParam("texturesPacked", ParamType::TTextureIDConstPointer);
4407 InitParamValue(ParamType::TTextureIDConstPointer, texturesPacked,
4408 &texturesPackedParam.value);
4409 CaptureAcquireTexturesANGLE_texturesPacked(glState, isCallValid, numTextures,
4410 texturesPacked, layouts, &texturesPackedParam);
4411 paramBuffer.addParam(std::move(texturesPackedParam));
4412 }
4413 else
4414 {
4415 ParamCapture texturesPackedParam("texturesPacked", ParamType::TTextureIDConstPointer);
4416 InitParamValue(ParamType::TTextureIDConstPointer, static_cast<const TextureID *>(nullptr),
4417 &texturesPackedParam.value);
4418 paramBuffer.addParam(std::move(texturesPackedParam));
4419 }
4420
4421 if (isCallValid)
4422 {
4423 ParamCapture layoutsParam("layouts", ParamType::TGLenumConstPointer);
4424 InitParamValue(ParamType::TGLenumConstPointer, layouts, &layoutsParam.value);
4425 CaptureAcquireTexturesANGLE_layouts(glState, isCallValid, numTextures, texturesPacked,
4426 layouts, &layoutsParam);
4427 paramBuffer.addParam(std::move(layoutsParam));
4428 }
4429 else
4430 {
4431 ParamCapture layoutsParam("layouts", ParamType::TGLenumConstPointer);
4432 InitParamValue(ParamType::TGLenumConstPointer, static_cast<const GLenum *>(nullptr),
4433 &layoutsParam.value);
4434 paramBuffer.addParam(std::move(layoutsParam));
4435 }
4436
4437 return CallCapture(angle::EntryPoint::GLAcquireTexturesANGLE, std::move(paramBuffer));
4438 }
4439
CaptureReleaseTexturesANGLE(const State & glState,bool isCallValid,GLuint numTextures,const TextureID * texturesPacked,GLenum * layouts)4440 CallCapture CaptureReleaseTexturesANGLE(const State &glState,
4441 bool isCallValid,
4442 GLuint numTextures,
4443 const TextureID *texturesPacked,
4444 GLenum *layouts)
4445 {
4446 ParamBuffer paramBuffer;
4447
4448 paramBuffer.addValueParam("numTextures", ParamType::TGLuint, numTextures);
4449
4450 if (isCallValid)
4451 {
4452 ParamCapture texturesPackedParam("texturesPacked", ParamType::TTextureIDConstPointer);
4453 InitParamValue(ParamType::TTextureIDConstPointer, texturesPacked,
4454 &texturesPackedParam.value);
4455 CaptureReleaseTexturesANGLE_texturesPacked(glState, isCallValid, numTextures,
4456 texturesPacked, layouts, &texturesPackedParam);
4457 paramBuffer.addParam(std::move(texturesPackedParam));
4458 }
4459 else
4460 {
4461 ParamCapture texturesPackedParam("texturesPacked", ParamType::TTextureIDConstPointer);
4462 InitParamValue(ParamType::TTextureIDConstPointer, static_cast<const TextureID *>(nullptr),
4463 &texturesPackedParam.value);
4464 paramBuffer.addParam(std::move(texturesPackedParam));
4465 }
4466
4467 if (isCallValid)
4468 {
4469 ParamCapture layoutsParam("layouts", ParamType::TGLenumPointer);
4470 InitParamValue(ParamType::TGLenumPointer, layouts, &layoutsParam.value);
4471 CaptureReleaseTexturesANGLE_layouts(glState, isCallValid, numTextures, texturesPacked,
4472 layouts, &layoutsParam);
4473 paramBuffer.addParam(std::move(layoutsParam));
4474 }
4475 else
4476 {
4477 ParamCapture layoutsParam("layouts", ParamType::TGLenumPointer);
4478 InitParamValue(ParamType::TGLenumPointer, static_cast<GLenum *>(nullptr),
4479 &layoutsParam.value);
4480 paramBuffer.addParam(std::move(layoutsParam));
4481 }
4482
4483 return CallCapture(angle::EntryPoint::GLReleaseTexturesANGLE, std::move(paramBuffer));
4484 }
4485
CaptureBindUniformLocationCHROMIUM(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,const GLchar * name)4486 CallCapture CaptureBindUniformLocationCHROMIUM(const State &glState,
4487 bool isCallValid,
4488 ShaderProgramID programPacked,
4489 UniformLocation locationPacked,
4490 const GLchar *name)
4491 {
4492 ParamBuffer paramBuffer;
4493
4494 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
4495 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
4496
4497 if (isCallValid)
4498 {
4499 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4500 InitParamValue(ParamType::TGLcharConstPointer, name, &nameParam.value);
4501 CaptureBindUniformLocationCHROMIUM_name(glState, isCallValid, programPacked, locationPacked,
4502 name, &nameParam);
4503 paramBuffer.addParam(std::move(nameParam));
4504 }
4505 else
4506 {
4507 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4508 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
4509 &nameParam.value);
4510 paramBuffer.addParam(std::move(nameParam));
4511 }
4512
4513 return CallCapture(angle::EntryPoint::GLBindUniformLocationCHROMIUM, std::move(paramBuffer));
4514 }
4515
CaptureCompressedCopyTextureCHROMIUM(const State & glState,bool isCallValid,TextureID sourceIdPacked,TextureID destIdPacked)4516 CallCapture CaptureCompressedCopyTextureCHROMIUM(const State &glState,
4517 bool isCallValid,
4518 TextureID sourceIdPacked,
4519 TextureID destIdPacked)
4520 {
4521 ParamBuffer paramBuffer;
4522
4523 paramBuffer.addValueParam("sourceIdPacked", ParamType::TTextureID, sourceIdPacked);
4524 paramBuffer.addValueParam("destIdPacked", ParamType::TTextureID, destIdPacked);
4525
4526 return CallCapture(angle::EntryPoint::GLCompressedCopyTextureCHROMIUM, std::move(paramBuffer));
4527 }
4528
CaptureCopyTextureCHROMIUM(const State & glState,bool isCallValid,TextureID sourceIdPacked,GLint sourceLevel,TextureTarget destTargetPacked,TextureID destIdPacked,GLint destLevel,GLint internalFormat,GLenum destType,GLboolean unpackFlipY,GLboolean unpackPremultiplyAlpha,GLboolean unpackUnmultiplyAlpha)4529 CallCapture CaptureCopyTextureCHROMIUM(const State &glState,
4530 bool isCallValid,
4531 TextureID sourceIdPacked,
4532 GLint sourceLevel,
4533 TextureTarget destTargetPacked,
4534 TextureID destIdPacked,
4535 GLint destLevel,
4536 GLint internalFormat,
4537 GLenum destType,
4538 GLboolean unpackFlipY,
4539 GLboolean unpackPremultiplyAlpha,
4540 GLboolean unpackUnmultiplyAlpha)
4541 {
4542 ParamBuffer paramBuffer;
4543
4544 paramBuffer.addValueParam("sourceIdPacked", ParamType::TTextureID, sourceIdPacked);
4545 paramBuffer.addValueParam("sourceLevel", ParamType::TGLint, sourceLevel);
4546 paramBuffer.addValueParam("destTargetPacked", ParamType::TTextureTarget, destTargetPacked);
4547 paramBuffer.addValueParam("destIdPacked", ParamType::TTextureID, destIdPacked);
4548 paramBuffer.addValueParam("destLevel", ParamType::TGLint, destLevel);
4549 paramBuffer.addValueParam("internalFormat", ParamType::TGLint, internalFormat);
4550 paramBuffer.addEnumParam("destType", GLenumGroup::DefaultGroup, ParamType::TGLenum, destType);
4551 paramBuffer.addValueParam("unpackFlipY", ParamType::TGLboolean, unpackFlipY);
4552 paramBuffer.addValueParam("unpackPremultiplyAlpha", ParamType::TGLboolean,
4553 unpackPremultiplyAlpha);
4554 paramBuffer.addValueParam("unpackUnmultiplyAlpha", ParamType::TGLboolean,
4555 unpackUnmultiplyAlpha);
4556
4557 return CallCapture(angle::EntryPoint::GLCopyTextureCHROMIUM, std::move(paramBuffer));
4558 }
4559
CaptureCopySubTextureCHROMIUM(const State & glState,bool isCallValid,TextureID sourceIdPacked,GLint sourceLevel,TextureTarget destTargetPacked,TextureID destIdPacked,GLint destLevel,GLint xoffset,GLint yoffset,GLint x,GLint y,GLint width,GLint height,GLboolean unpackFlipY,GLboolean unpackPremultiplyAlpha,GLboolean unpackUnmultiplyAlpha)4560 CallCapture CaptureCopySubTextureCHROMIUM(const State &glState,
4561 bool isCallValid,
4562 TextureID sourceIdPacked,
4563 GLint sourceLevel,
4564 TextureTarget destTargetPacked,
4565 TextureID destIdPacked,
4566 GLint destLevel,
4567 GLint xoffset,
4568 GLint yoffset,
4569 GLint x,
4570 GLint y,
4571 GLint width,
4572 GLint height,
4573 GLboolean unpackFlipY,
4574 GLboolean unpackPremultiplyAlpha,
4575 GLboolean unpackUnmultiplyAlpha)
4576 {
4577 ParamBuffer paramBuffer;
4578
4579 paramBuffer.addValueParam("sourceIdPacked", ParamType::TTextureID, sourceIdPacked);
4580 paramBuffer.addValueParam("sourceLevel", ParamType::TGLint, sourceLevel);
4581 paramBuffer.addValueParam("destTargetPacked", ParamType::TTextureTarget, destTargetPacked);
4582 paramBuffer.addValueParam("destIdPacked", ParamType::TTextureID, destIdPacked);
4583 paramBuffer.addValueParam("destLevel", ParamType::TGLint, destLevel);
4584 paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
4585 paramBuffer.addValueParam("yoffset", ParamType::TGLint, yoffset);
4586 paramBuffer.addValueParam("x", ParamType::TGLint, x);
4587 paramBuffer.addValueParam("y", ParamType::TGLint, y);
4588 paramBuffer.addValueParam("width", ParamType::TGLint, width);
4589 paramBuffer.addValueParam("height", ParamType::TGLint, height);
4590 paramBuffer.addValueParam("unpackFlipY", ParamType::TGLboolean, unpackFlipY);
4591 paramBuffer.addValueParam("unpackPremultiplyAlpha", ParamType::TGLboolean,
4592 unpackPremultiplyAlpha);
4593 paramBuffer.addValueParam("unpackUnmultiplyAlpha", ParamType::TGLboolean,
4594 unpackUnmultiplyAlpha);
4595
4596 return CallCapture(angle::EntryPoint::GLCopySubTextureCHROMIUM, std::move(paramBuffer));
4597 }
4598
CaptureCoverageModulationCHROMIUM(const State & glState,bool isCallValid,GLenum components)4599 CallCapture CaptureCoverageModulationCHROMIUM(const State &glState,
4600 bool isCallValid,
4601 GLenum components)
4602 {
4603 ParamBuffer paramBuffer;
4604
4605 paramBuffer.addEnumParam("components", GLenumGroup::DefaultGroup, ParamType::TGLenum,
4606 components);
4607
4608 return CallCapture(angle::EntryPoint::GLCoverageModulationCHROMIUM, std::move(paramBuffer));
4609 }
4610
CaptureLoseContextCHROMIUM(const State & glState,bool isCallValid,GraphicsResetStatus currentPacked,GraphicsResetStatus otherPacked)4611 CallCapture CaptureLoseContextCHROMIUM(const State &glState,
4612 bool isCallValid,
4613 GraphicsResetStatus currentPacked,
4614 GraphicsResetStatus otherPacked)
4615 {
4616 ParamBuffer paramBuffer;
4617
4618 paramBuffer.addValueParam("currentPacked", ParamType::TGraphicsResetStatus, currentPacked);
4619 paramBuffer.addValueParam("otherPacked", ParamType::TGraphicsResetStatus, otherPacked);
4620
4621 return CallCapture(angle::EntryPoint::GLLoseContextCHROMIUM, std::move(paramBuffer));
4622 }
4623
CaptureEGLImageTargetTexStorageEXT(const State & glState,bool isCallValid,GLenum target,GLeglImageOES image,const GLint * attrib_list)4624 CallCapture CaptureEGLImageTargetTexStorageEXT(const State &glState,
4625 bool isCallValid,
4626 GLenum target,
4627 GLeglImageOES image,
4628 const GLint *attrib_list)
4629 {
4630 ParamBuffer paramBuffer;
4631
4632 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
4633 paramBuffer.addValueParam("image", ParamType::TGLeglImageOES, image);
4634
4635 if (isCallValid)
4636 {
4637 ParamCapture attrib_listParam("attrib_list", ParamType::TGLintConstPointer);
4638 InitParamValue(ParamType::TGLintConstPointer, attrib_list, &attrib_listParam.value);
4639 CaptureEGLImageTargetTexStorageEXT_attrib_list(glState, isCallValid, target, image,
4640 attrib_list, &attrib_listParam);
4641 paramBuffer.addParam(std::move(attrib_listParam));
4642 }
4643 else
4644 {
4645 ParamCapture attrib_listParam("attrib_list", ParamType::TGLintConstPointer);
4646 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
4647 &attrib_listParam.value);
4648 paramBuffer.addParam(std::move(attrib_listParam));
4649 }
4650
4651 return CallCapture(angle::EntryPoint::GLEGLImageTargetTexStorageEXT, std::move(paramBuffer));
4652 }
4653
CaptureEGLImageTargetTextureStorageEXT(const State & glState,bool isCallValid,GLuint texture,GLeglImageOES image,const GLint * attrib_list)4654 CallCapture CaptureEGLImageTargetTextureStorageEXT(const State &glState,
4655 bool isCallValid,
4656 GLuint texture,
4657 GLeglImageOES image,
4658 const GLint *attrib_list)
4659 {
4660 ParamBuffer paramBuffer;
4661
4662 paramBuffer.addValueParam("texture", ParamType::TGLuint, texture);
4663 paramBuffer.addValueParam("image", ParamType::TGLeglImageOES, image);
4664
4665 if (isCallValid)
4666 {
4667 ParamCapture attrib_listParam("attrib_list", ParamType::TGLintConstPointer);
4668 InitParamValue(ParamType::TGLintConstPointer, attrib_list, &attrib_listParam.value);
4669 CaptureEGLImageTargetTextureStorageEXT_attrib_list(glState, isCallValid, texture, image,
4670 attrib_list, &attrib_listParam);
4671 paramBuffer.addParam(std::move(attrib_listParam));
4672 }
4673 else
4674 {
4675 ParamCapture attrib_listParam("attrib_list", ParamType::TGLintConstPointer);
4676 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
4677 &attrib_listParam.value);
4678 paramBuffer.addParam(std::move(attrib_listParam));
4679 }
4680
4681 return CallCapture(angle::EntryPoint::GLEGLImageTargetTextureStorageEXT,
4682 std::move(paramBuffer));
4683 }
4684
CaptureBindFragDataLocationEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,GLuint color,const GLchar * name)4685 CallCapture CaptureBindFragDataLocationEXT(const State &glState,
4686 bool isCallValid,
4687 ShaderProgramID programPacked,
4688 GLuint color,
4689 const GLchar *name)
4690 {
4691 ParamBuffer paramBuffer;
4692
4693 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
4694 paramBuffer.addValueParam("color", ParamType::TGLuint, color);
4695
4696 if (isCallValid)
4697 {
4698 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4699 InitParamValue(ParamType::TGLcharConstPointer, name, &nameParam.value);
4700 CaptureBindFragDataLocationEXT_name(glState, isCallValid, programPacked, color, name,
4701 &nameParam);
4702 paramBuffer.addParam(std::move(nameParam));
4703 }
4704 else
4705 {
4706 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4707 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
4708 &nameParam.value);
4709 paramBuffer.addParam(std::move(nameParam));
4710 }
4711
4712 return CallCapture(angle::EntryPoint::GLBindFragDataLocationEXT, std::move(paramBuffer));
4713 }
4714
CaptureBindFragDataLocationIndexedEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,GLuint colorNumber,GLuint index,const GLchar * name)4715 CallCapture CaptureBindFragDataLocationIndexedEXT(const State &glState,
4716 bool isCallValid,
4717 ShaderProgramID programPacked,
4718 GLuint colorNumber,
4719 GLuint index,
4720 const GLchar *name)
4721 {
4722 ParamBuffer paramBuffer;
4723
4724 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
4725 paramBuffer.addValueParam("colorNumber", ParamType::TGLuint, colorNumber);
4726 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
4727
4728 if (isCallValid)
4729 {
4730 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4731 InitParamValue(ParamType::TGLcharConstPointer, name, &nameParam.value);
4732 CaptureBindFragDataLocationIndexedEXT_name(glState, isCallValid, programPacked, colorNumber,
4733 index, name, &nameParam);
4734 paramBuffer.addParam(std::move(nameParam));
4735 }
4736 else
4737 {
4738 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4739 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
4740 &nameParam.value);
4741 paramBuffer.addParam(std::move(nameParam));
4742 }
4743
4744 return CallCapture(angle::EntryPoint::GLBindFragDataLocationIndexedEXT, std::move(paramBuffer));
4745 }
4746
CaptureGetFragDataIndexEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,const GLchar * name,GLint returnValue)4747 CallCapture CaptureGetFragDataIndexEXT(const State &glState,
4748 bool isCallValid,
4749 ShaderProgramID programPacked,
4750 const GLchar *name,
4751 GLint returnValue)
4752 {
4753 ParamBuffer paramBuffer;
4754
4755 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
4756
4757 if (isCallValid)
4758 {
4759 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4760 InitParamValue(ParamType::TGLcharConstPointer, name, &nameParam.value);
4761 CaptureGetFragDataIndexEXT_name(glState, isCallValid, programPacked, name, &nameParam);
4762 paramBuffer.addParam(std::move(nameParam));
4763 }
4764 else
4765 {
4766 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4767 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
4768 &nameParam.value);
4769 paramBuffer.addParam(std::move(nameParam));
4770 }
4771
4772 ParamCapture returnValueCapture("returnValue", ParamType::TGLint);
4773 InitParamValue(ParamType::TGLint, returnValue, &returnValueCapture.value);
4774 paramBuffer.addReturnValue(std::move(returnValueCapture));
4775
4776 return CallCapture(angle::EntryPoint::GLGetFragDataIndexEXT, std::move(paramBuffer));
4777 }
4778
CaptureGetProgramResourceLocationIndexEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,GLenum programInterface,const GLchar * name,GLint returnValue)4779 CallCapture CaptureGetProgramResourceLocationIndexEXT(const State &glState,
4780 bool isCallValid,
4781 ShaderProgramID programPacked,
4782 GLenum programInterface,
4783 const GLchar *name,
4784 GLint returnValue)
4785 {
4786 ParamBuffer paramBuffer;
4787
4788 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
4789 paramBuffer.addEnumParam("programInterface", GLenumGroup::ProgramInterface, ParamType::TGLenum,
4790 programInterface);
4791
4792 if (isCallValid)
4793 {
4794 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4795 InitParamValue(ParamType::TGLcharConstPointer, name, &nameParam.value);
4796 CaptureGetProgramResourceLocationIndexEXT_name(glState, isCallValid, programPacked,
4797 programInterface, name, &nameParam);
4798 paramBuffer.addParam(std::move(nameParam));
4799 }
4800 else
4801 {
4802 ParamCapture nameParam("name", ParamType::TGLcharConstPointer);
4803 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
4804 &nameParam.value);
4805 paramBuffer.addParam(std::move(nameParam));
4806 }
4807
4808 ParamCapture returnValueCapture("returnValue", ParamType::TGLint);
4809 InitParamValue(ParamType::TGLint, returnValue, &returnValueCapture.value);
4810 paramBuffer.addReturnValue(std::move(returnValueCapture));
4811
4812 return CallCapture(angle::EntryPoint::GLGetProgramResourceLocationIndexEXT,
4813 std::move(paramBuffer));
4814 }
4815
CaptureBufferStorageEXT(const State & glState,bool isCallValid,BufferBinding targetPacked,GLsizeiptr size,const void * data,GLbitfield flags)4816 CallCapture CaptureBufferStorageEXT(const State &glState,
4817 bool isCallValid,
4818 BufferBinding targetPacked,
4819 GLsizeiptr size,
4820 const void *data,
4821 GLbitfield flags)
4822 {
4823 ParamBuffer paramBuffer;
4824
4825 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
4826 paramBuffer.addValueParam("size", ParamType::TGLsizeiptr, size);
4827
4828 if (isCallValid)
4829 {
4830 ParamCapture dataParam("data", ParamType::TvoidConstPointer);
4831 InitParamValue(ParamType::TvoidConstPointer, data, &dataParam.value);
4832 CaptureBufferStorageEXT_data(glState, isCallValid, targetPacked, size, data, flags,
4833 &dataParam);
4834 paramBuffer.addParam(std::move(dataParam));
4835 }
4836 else
4837 {
4838 ParamCapture dataParam("data", ParamType::TvoidConstPointer);
4839 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
4840 &dataParam.value);
4841 paramBuffer.addParam(std::move(dataParam));
4842 }
4843
4844 paramBuffer.addEnumParam("flags", GLenumGroup::MapBufferUsageMask, ParamType::TGLbitfield,
4845 flags);
4846
4847 return CallCapture(angle::EntryPoint::GLBufferStorageEXT, std::move(paramBuffer));
4848 }
4849
CaptureClipControlEXT(const State & glState,bool isCallValid,GLenum origin,GLenum depth)4850 CallCapture CaptureClipControlEXT(const State &glState,
4851 bool isCallValid,
4852 GLenum origin,
4853 GLenum depth)
4854 {
4855 ParamBuffer paramBuffer;
4856
4857 paramBuffer.addEnumParam("origin", GLenumGroup::DefaultGroup, ParamType::TGLenum, origin);
4858 paramBuffer.addEnumParam("depth", GLenumGroup::DefaultGroup, ParamType::TGLenum, depth);
4859
4860 return CallCapture(angle::EntryPoint::GLClipControlEXT, std::move(paramBuffer));
4861 }
4862
CaptureCopyImageSubDataEXT(const State & glState,bool isCallValid,GLuint srcName,GLenum srcTarget,GLint srcLevel,GLint srcX,GLint srcY,GLint srcZ,GLuint dstName,GLenum dstTarget,GLint dstLevel,GLint dstX,GLint dstY,GLint dstZ,GLsizei srcWidth,GLsizei srcHeight,GLsizei srcDepth)4863 CallCapture CaptureCopyImageSubDataEXT(const State &glState,
4864 bool isCallValid,
4865 GLuint srcName,
4866 GLenum srcTarget,
4867 GLint srcLevel,
4868 GLint srcX,
4869 GLint srcY,
4870 GLint srcZ,
4871 GLuint dstName,
4872 GLenum dstTarget,
4873 GLint dstLevel,
4874 GLint dstX,
4875 GLint dstY,
4876 GLint dstZ,
4877 GLsizei srcWidth,
4878 GLsizei srcHeight,
4879 GLsizei srcDepth)
4880 {
4881 ParamBuffer paramBuffer;
4882
4883 paramBuffer.addValueParam("srcName", ParamType::TGLuint, srcName);
4884 paramBuffer.addEnumParam("srcTarget", GLenumGroup::CopyBufferSubDataTarget, ParamType::TGLenum,
4885 srcTarget);
4886 paramBuffer.addValueParam("srcLevel", ParamType::TGLint, srcLevel);
4887 paramBuffer.addValueParam("srcX", ParamType::TGLint, srcX);
4888 paramBuffer.addValueParam("srcY", ParamType::TGLint, srcY);
4889 paramBuffer.addValueParam("srcZ", ParamType::TGLint, srcZ);
4890 paramBuffer.addValueParam("dstName", ParamType::TGLuint, dstName);
4891 paramBuffer.addEnumParam("dstTarget", GLenumGroup::CopyBufferSubDataTarget, ParamType::TGLenum,
4892 dstTarget);
4893 paramBuffer.addValueParam("dstLevel", ParamType::TGLint, dstLevel);
4894 paramBuffer.addValueParam("dstX", ParamType::TGLint, dstX);
4895 paramBuffer.addValueParam("dstY", ParamType::TGLint, dstY);
4896 paramBuffer.addValueParam("dstZ", ParamType::TGLint, dstZ);
4897 paramBuffer.addValueParam("srcWidth", ParamType::TGLsizei, srcWidth);
4898 paramBuffer.addValueParam("srcHeight", ParamType::TGLsizei, srcHeight);
4899 paramBuffer.addValueParam("srcDepth", ParamType::TGLsizei, srcDepth);
4900
4901 return CallCapture(angle::EntryPoint::GLCopyImageSubDataEXT, std::move(paramBuffer));
4902 }
4903
CaptureGetObjectLabelEXT(const State & glState,bool isCallValid,GLenum type,GLuint object,GLsizei bufSize,GLsizei * length,GLchar * label)4904 CallCapture CaptureGetObjectLabelEXT(const State &glState,
4905 bool isCallValid,
4906 GLenum type,
4907 GLuint object,
4908 GLsizei bufSize,
4909 GLsizei *length,
4910 GLchar *label)
4911 {
4912 ParamBuffer paramBuffer;
4913
4914 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
4915 paramBuffer.addValueParam("object", ParamType::TGLuint, object);
4916 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
4917
4918 if (isCallValid)
4919 {
4920 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4921 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
4922 CaptureGetObjectLabelEXT_length(glState, isCallValid, type, object, bufSize, length, label,
4923 &lengthParam);
4924 paramBuffer.addParam(std::move(lengthParam));
4925 }
4926 else
4927 {
4928 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
4929 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
4930 &lengthParam.value);
4931 paramBuffer.addParam(std::move(lengthParam));
4932 }
4933
4934 if (isCallValid)
4935 {
4936 ParamCapture labelParam("label", ParamType::TGLcharPointer);
4937 InitParamValue(ParamType::TGLcharPointer, label, &labelParam.value);
4938 CaptureGetObjectLabelEXT_label(glState, isCallValid, type, object, bufSize, length, label,
4939 &labelParam);
4940 paramBuffer.addParam(std::move(labelParam));
4941 }
4942 else
4943 {
4944 ParamCapture labelParam("label", ParamType::TGLcharPointer);
4945 InitParamValue(ParamType::TGLcharPointer, static_cast<GLchar *>(nullptr),
4946 &labelParam.value);
4947 paramBuffer.addParam(std::move(labelParam));
4948 }
4949
4950 return CallCapture(angle::EntryPoint::GLGetObjectLabelEXT, std::move(paramBuffer));
4951 }
4952
CaptureLabelObjectEXT(const State & glState,bool isCallValid,GLenum type,GLuint object,GLsizei length,const GLchar * label)4953 CallCapture CaptureLabelObjectEXT(const State &glState,
4954 bool isCallValid,
4955 GLenum type,
4956 GLuint object,
4957 GLsizei length,
4958 const GLchar *label)
4959 {
4960 ParamBuffer paramBuffer;
4961
4962 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
4963 paramBuffer.addValueParam("object", ParamType::TGLuint, object);
4964 paramBuffer.addValueParam("length", ParamType::TGLsizei, length);
4965
4966 if (isCallValid)
4967 {
4968 ParamCapture labelParam("label", ParamType::TGLcharConstPointer);
4969 InitParamValue(ParamType::TGLcharConstPointer, label, &labelParam.value);
4970 CaptureLabelObjectEXT_label(glState, isCallValid, type, object, length, label, &labelParam);
4971 paramBuffer.addParam(std::move(labelParam));
4972 }
4973 else
4974 {
4975 ParamCapture labelParam("label", ParamType::TGLcharConstPointer);
4976 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
4977 &labelParam.value);
4978 paramBuffer.addParam(std::move(labelParam));
4979 }
4980
4981 return CallCapture(angle::EntryPoint::GLLabelObjectEXT, std::move(paramBuffer));
4982 }
4983
CaptureInsertEventMarkerEXT(const State & glState,bool isCallValid,GLsizei length,const GLchar * marker)4984 CallCapture CaptureInsertEventMarkerEXT(const State &glState,
4985 bool isCallValid,
4986 GLsizei length,
4987 const GLchar *marker)
4988 {
4989 ParamBuffer paramBuffer;
4990
4991 paramBuffer.addValueParam("length", ParamType::TGLsizei, length);
4992
4993 if (isCallValid)
4994 {
4995 ParamCapture markerParam("marker", ParamType::TGLcharConstPointer);
4996 InitParamValue(ParamType::TGLcharConstPointer, marker, &markerParam.value);
4997 CaptureInsertEventMarkerEXT_marker(glState, isCallValid, length, marker, &markerParam);
4998 paramBuffer.addParam(std::move(markerParam));
4999 }
5000 else
5001 {
5002 ParamCapture markerParam("marker", ParamType::TGLcharConstPointer);
5003 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
5004 &markerParam.value);
5005 paramBuffer.addParam(std::move(markerParam));
5006 }
5007
5008 return CallCapture(angle::EntryPoint::GLInsertEventMarkerEXT, std::move(paramBuffer));
5009 }
5010
CapturePopGroupMarkerEXT(const State & glState,bool isCallValid)5011 CallCapture CapturePopGroupMarkerEXT(const State &glState, bool isCallValid)
5012 {
5013 ParamBuffer paramBuffer;
5014
5015 return CallCapture(angle::EntryPoint::GLPopGroupMarkerEXT, std::move(paramBuffer));
5016 }
5017
CapturePushGroupMarkerEXT(const State & glState,bool isCallValid,GLsizei length,const GLchar * marker)5018 CallCapture CapturePushGroupMarkerEXT(const State &glState,
5019 bool isCallValid,
5020 GLsizei length,
5021 const GLchar *marker)
5022 {
5023 ParamBuffer paramBuffer;
5024
5025 paramBuffer.addValueParam("length", ParamType::TGLsizei, length);
5026
5027 if (isCallValid)
5028 {
5029 ParamCapture markerParam("marker", ParamType::TGLcharConstPointer);
5030 InitParamValue(ParamType::TGLcharConstPointer, marker, &markerParam.value);
5031 CapturePushGroupMarkerEXT_marker(glState, isCallValid, length, marker, &markerParam);
5032 paramBuffer.addParam(std::move(markerParam));
5033 }
5034 else
5035 {
5036 ParamCapture markerParam("marker", ParamType::TGLcharConstPointer);
5037 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
5038 &markerParam.value);
5039 paramBuffer.addParam(std::move(markerParam));
5040 }
5041
5042 return CallCapture(angle::EntryPoint::GLPushGroupMarkerEXT, std::move(paramBuffer));
5043 }
5044
CaptureDiscardFramebufferEXT(const State & glState,bool isCallValid,GLenum target,GLsizei numAttachments,const GLenum * attachments)5045 CallCapture CaptureDiscardFramebufferEXT(const State &glState,
5046 bool isCallValid,
5047 GLenum target,
5048 GLsizei numAttachments,
5049 const GLenum *attachments)
5050 {
5051 ParamBuffer paramBuffer;
5052
5053 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
5054 paramBuffer.addValueParam("numAttachments", ParamType::TGLsizei, numAttachments);
5055
5056 if (isCallValid)
5057 {
5058 ParamCapture attachmentsParam("attachments", ParamType::TGLenumConstPointer);
5059 InitParamValue(ParamType::TGLenumConstPointer, attachments, &attachmentsParam.value);
5060 CaptureDiscardFramebufferEXT_attachments(glState, isCallValid, target, numAttachments,
5061 attachments, &attachmentsParam);
5062 paramBuffer.addParam(std::move(attachmentsParam));
5063 }
5064 else
5065 {
5066 ParamCapture attachmentsParam("attachments", ParamType::TGLenumConstPointer);
5067 InitParamValue(ParamType::TGLenumConstPointer, static_cast<const GLenum *>(nullptr),
5068 &attachmentsParam.value);
5069 paramBuffer.addParam(std::move(attachmentsParam));
5070 }
5071
5072 return CallCapture(angle::EntryPoint::GLDiscardFramebufferEXT, std::move(paramBuffer));
5073 }
5074
CaptureBeginQueryEXT(const State & glState,bool isCallValid,QueryType targetPacked,QueryID idPacked)5075 CallCapture CaptureBeginQueryEXT(const State &glState,
5076 bool isCallValid,
5077 QueryType targetPacked,
5078 QueryID idPacked)
5079 {
5080 ParamBuffer paramBuffer;
5081
5082 paramBuffer.addValueParam("targetPacked", ParamType::TQueryType, targetPacked);
5083 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
5084
5085 return CallCapture(angle::EntryPoint::GLBeginQueryEXT, std::move(paramBuffer));
5086 }
5087
CaptureDeleteQueriesEXT(const State & glState,bool isCallValid,GLsizei n,const QueryID * idsPacked)5088 CallCapture CaptureDeleteQueriesEXT(const State &glState,
5089 bool isCallValid,
5090 GLsizei n,
5091 const QueryID *idsPacked)
5092 {
5093 ParamBuffer paramBuffer;
5094
5095 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
5096
5097 if (isCallValid)
5098 {
5099 ParamCapture idsPackedParam("idsPacked", ParamType::TQueryIDConstPointer);
5100 InitParamValue(ParamType::TQueryIDConstPointer, idsPacked, &idsPackedParam.value);
5101 CaptureDeleteQueriesEXT_idsPacked(glState, isCallValid, n, idsPacked, &idsPackedParam);
5102 paramBuffer.addParam(std::move(idsPackedParam));
5103 }
5104 else
5105 {
5106 ParamCapture idsPackedParam("idsPacked", ParamType::TQueryIDConstPointer);
5107 InitParamValue(ParamType::TQueryIDConstPointer, static_cast<const QueryID *>(nullptr),
5108 &idsPackedParam.value);
5109 paramBuffer.addParam(std::move(idsPackedParam));
5110 }
5111
5112 return CallCapture(angle::EntryPoint::GLDeleteQueriesEXT, std::move(paramBuffer));
5113 }
5114
CaptureEndQueryEXT(const State & glState,bool isCallValid,QueryType targetPacked)5115 CallCapture CaptureEndQueryEXT(const State &glState, bool isCallValid, QueryType targetPacked)
5116 {
5117 ParamBuffer paramBuffer;
5118
5119 paramBuffer.addValueParam("targetPacked", ParamType::TQueryType, targetPacked);
5120
5121 return CallCapture(angle::EntryPoint::GLEndQueryEXT, std::move(paramBuffer));
5122 }
5123
CaptureGenQueriesEXT(const State & glState,bool isCallValid,GLsizei n,QueryID * idsPacked)5124 CallCapture CaptureGenQueriesEXT(const State &glState,
5125 bool isCallValid,
5126 GLsizei n,
5127 QueryID *idsPacked)
5128 {
5129 ParamBuffer paramBuffer;
5130
5131 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
5132
5133 if (isCallValid)
5134 {
5135 ParamCapture idsPackedParam("idsPacked", ParamType::TQueryIDPointer);
5136 InitParamValue(ParamType::TQueryIDPointer, idsPacked, &idsPackedParam.value);
5137 CaptureGenQueriesEXT_idsPacked(glState, isCallValid, n, idsPacked, &idsPackedParam);
5138 paramBuffer.addParam(std::move(idsPackedParam));
5139 }
5140 else
5141 {
5142 ParamCapture idsPackedParam("idsPacked", ParamType::TQueryIDPointer);
5143 InitParamValue(ParamType::TQueryIDPointer, static_cast<QueryID *>(nullptr),
5144 &idsPackedParam.value);
5145 paramBuffer.addParam(std::move(idsPackedParam));
5146 }
5147
5148 return CallCapture(angle::EntryPoint::GLGenQueriesEXT, std::move(paramBuffer));
5149 }
5150
CaptureGetInteger64vEXT(const State & glState,bool isCallValid,GLenum pname,GLint64 * data)5151 CallCapture CaptureGetInteger64vEXT(const State &glState,
5152 bool isCallValid,
5153 GLenum pname,
5154 GLint64 *data)
5155 {
5156 ParamBuffer paramBuffer;
5157
5158 paramBuffer.addEnumParam("pname", GLenumGroup::GetPName, ParamType::TGLenum, pname);
5159
5160 if (isCallValid)
5161 {
5162 ParamCapture dataParam("data", ParamType::TGLint64Pointer);
5163 InitParamValue(ParamType::TGLint64Pointer, data, &dataParam.value);
5164 CaptureGetInteger64vEXT_data(glState, isCallValid, pname, data, &dataParam);
5165 paramBuffer.addParam(std::move(dataParam));
5166 }
5167 else
5168 {
5169 ParamCapture dataParam("data", ParamType::TGLint64Pointer);
5170 InitParamValue(ParamType::TGLint64Pointer, static_cast<GLint64 *>(nullptr),
5171 &dataParam.value);
5172 paramBuffer.addParam(std::move(dataParam));
5173 }
5174
5175 return CallCapture(angle::EntryPoint::GLGetInteger64vEXT, std::move(paramBuffer));
5176 }
5177
CaptureGetQueryObjecti64vEXT(const State & glState,bool isCallValid,QueryID idPacked,GLenum pname,GLint64 * params)5178 CallCapture CaptureGetQueryObjecti64vEXT(const State &glState,
5179 bool isCallValid,
5180 QueryID idPacked,
5181 GLenum pname,
5182 GLint64 *params)
5183 {
5184 ParamBuffer paramBuffer;
5185
5186 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
5187 paramBuffer.addEnumParam("pname", GLenumGroup::QueryObjectParameterName, ParamType::TGLenum,
5188 pname);
5189
5190 if (isCallValid)
5191 {
5192 ParamCapture paramsParam("params", ParamType::TGLint64Pointer);
5193 InitParamValue(ParamType::TGLint64Pointer, params, ¶msParam.value);
5194 CaptureGetQueryObjecti64vEXT_params(glState, isCallValid, idPacked, pname, params,
5195 ¶msParam);
5196 paramBuffer.addParam(std::move(paramsParam));
5197 }
5198 else
5199 {
5200 ParamCapture paramsParam("params", ParamType::TGLint64Pointer);
5201 InitParamValue(ParamType::TGLint64Pointer, static_cast<GLint64 *>(nullptr),
5202 ¶msParam.value);
5203 paramBuffer.addParam(std::move(paramsParam));
5204 }
5205
5206 return CallCapture(angle::EntryPoint::GLGetQueryObjecti64vEXT, std::move(paramBuffer));
5207 }
5208
CaptureGetQueryObjectivEXT(const State & glState,bool isCallValid,QueryID idPacked,GLenum pname,GLint * params)5209 CallCapture CaptureGetQueryObjectivEXT(const State &glState,
5210 bool isCallValid,
5211 QueryID idPacked,
5212 GLenum pname,
5213 GLint *params)
5214 {
5215 ParamBuffer paramBuffer;
5216
5217 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
5218 paramBuffer.addEnumParam("pname", GLenumGroup::QueryObjectParameterName, ParamType::TGLenum,
5219 pname);
5220
5221 if (isCallValid)
5222 {
5223 ParamCapture paramsParam("params", ParamType::TGLintPointer);
5224 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
5225 CaptureGetQueryObjectivEXT_params(glState, isCallValid, idPacked, pname, params,
5226 ¶msParam);
5227 paramBuffer.addParam(std::move(paramsParam));
5228 }
5229 else
5230 {
5231 ParamCapture paramsParam("params", ParamType::TGLintPointer);
5232 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
5233 paramBuffer.addParam(std::move(paramsParam));
5234 }
5235
5236 return CallCapture(angle::EntryPoint::GLGetQueryObjectivEXT, std::move(paramBuffer));
5237 }
5238
CaptureGetQueryObjectui64vEXT(const State & glState,bool isCallValid,QueryID idPacked,GLenum pname,GLuint64 * params)5239 CallCapture CaptureGetQueryObjectui64vEXT(const State &glState,
5240 bool isCallValid,
5241 QueryID idPacked,
5242 GLenum pname,
5243 GLuint64 *params)
5244 {
5245 ParamBuffer paramBuffer;
5246
5247 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
5248 paramBuffer.addEnumParam("pname", GLenumGroup::QueryObjectParameterName, ParamType::TGLenum,
5249 pname);
5250
5251 if (isCallValid)
5252 {
5253 ParamCapture paramsParam("params", ParamType::TGLuint64Pointer);
5254 InitParamValue(ParamType::TGLuint64Pointer, params, ¶msParam.value);
5255 CaptureGetQueryObjectui64vEXT_params(glState, isCallValid, idPacked, pname, params,
5256 ¶msParam);
5257 paramBuffer.addParam(std::move(paramsParam));
5258 }
5259 else
5260 {
5261 ParamCapture paramsParam("params", ParamType::TGLuint64Pointer);
5262 InitParamValue(ParamType::TGLuint64Pointer, static_cast<GLuint64 *>(nullptr),
5263 ¶msParam.value);
5264 paramBuffer.addParam(std::move(paramsParam));
5265 }
5266
5267 return CallCapture(angle::EntryPoint::GLGetQueryObjectui64vEXT, std::move(paramBuffer));
5268 }
5269
CaptureGetQueryObjectuivEXT(const State & glState,bool isCallValid,QueryID idPacked,GLenum pname,GLuint * params)5270 CallCapture CaptureGetQueryObjectuivEXT(const State &glState,
5271 bool isCallValid,
5272 QueryID idPacked,
5273 GLenum pname,
5274 GLuint *params)
5275 {
5276 ParamBuffer paramBuffer;
5277
5278 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
5279 paramBuffer.addEnumParam("pname", GLenumGroup::QueryObjectParameterName, ParamType::TGLenum,
5280 pname);
5281
5282 if (isCallValid)
5283 {
5284 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
5285 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
5286 CaptureGetQueryObjectuivEXT_params(glState, isCallValid, idPacked, pname, params,
5287 ¶msParam);
5288 paramBuffer.addParam(std::move(paramsParam));
5289 }
5290 else
5291 {
5292 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
5293 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
5294 ¶msParam.value);
5295 paramBuffer.addParam(std::move(paramsParam));
5296 }
5297
5298 return CallCapture(angle::EntryPoint::GLGetQueryObjectuivEXT, std::move(paramBuffer));
5299 }
5300
CaptureGetQueryivEXT(const State & glState,bool isCallValid,QueryType targetPacked,GLenum pname,GLint * params)5301 CallCapture CaptureGetQueryivEXT(const State &glState,
5302 bool isCallValid,
5303 QueryType targetPacked,
5304 GLenum pname,
5305 GLint *params)
5306 {
5307 ParamBuffer paramBuffer;
5308
5309 paramBuffer.addValueParam("targetPacked", ParamType::TQueryType, targetPacked);
5310 paramBuffer.addEnumParam("pname", GLenumGroup::QueryParameterName, ParamType::TGLenum, pname);
5311
5312 if (isCallValid)
5313 {
5314 ParamCapture paramsParam("params", ParamType::TGLintPointer);
5315 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
5316 CaptureGetQueryivEXT_params(glState, isCallValid, targetPacked, pname, params,
5317 ¶msParam);
5318 paramBuffer.addParam(std::move(paramsParam));
5319 }
5320 else
5321 {
5322 ParamCapture paramsParam("params", ParamType::TGLintPointer);
5323 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
5324 paramBuffer.addParam(std::move(paramsParam));
5325 }
5326
5327 return CallCapture(angle::EntryPoint::GLGetQueryivEXT, std::move(paramBuffer));
5328 }
5329
CaptureIsQueryEXT(const State & glState,bool isCallValid,QueryID idPacked,GLboolean returnValue)5330 CallCapture CaptureIsQueryEXT(const State &glState,
5331 bool isCallValid,
5332 QueryID idPacked,
5333 GLboolean returnValue)
5334 {
5335 ParamBuffer paramBuffer;
5336
5337 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
5338
5339 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
5340 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
5341 paramBuffer.addReturnValue(std::move(returnValueCapture));
5342
5343 return CallCapture(angle::EntryPoint::GLIsQueryEXT, std::move(paramBuffer));
5344 }
5345
CaptureQueryCounterEXT(const State & glState,bool isCallValid,QueryID idPacked,QueryType targetPacked)5346 CallCapture CaptureQueryCounterEXT(const State &glState,
5347 bool isCallValid,
5348 QueryID idPacked,
5349 QueryType targetPacked)
5350 {
5351 ParamBuffer paramBuffer;
5352
5353 paramBuffer.addValueParam("idPacked", ParamType::TQueryID, idPacked);
5354 paramBuffer.addValueParam("targetPacked", ParamType::TQueryType, targetPacked);
5355
5356 return CallCapture(angle::EntryPoint::GLQueryCounterEXT, std::move(paramBuffer));
5357 }
5358
CaptureDrawBuffersEXT(const State & glState,bool isCallValid,GLsizei n,const GLenum * bufs)5359 CallCapture CaptureDrawBuffersEXT(const State &glState,
5360 bool isCallValid,
5361 GLsizei n,
5362 const GLenum *bufs)
5363 {
5364 ParamBuffer paramBuffer;
5365
5366 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
5367
5368 if (isCallValid)
5369 {
5370 ParamCapture bufsParam("bufs", ParamType::TGLenumConstPointer);
5371 InitParamValue(ParamType::TGLenumConstPointer, bufs, &bufsParam.value);
5372 CaptureDrawBuffersEXT_bufs(glState, isCallValid, n, bufs, &bufsParam);
5373 paramBuffer.addParam(std::move(bufsParam));
5374 }
5375 else
5376 {
5377 ParamCapture bufsParam("bufs", ParamType::TGLenumConstPointer);
5378 InitParamValue(ParamType::TGLenumConstPointer, static_cast<const GLenum *>(nullptr),
5379 &bufsParam.value);
5380 paramBuffer.addParam(std::move(bufsParam));
5381 }
5382
5383 return CallCapture(angle::EntryPoint::GLDrawBuffersEXT, std::move(paramBuffer));
5384 }
5385
CaptureBlendEquationSeparateiEXT(const State & glState,bool isCallValid,GLuint buf,GLenum modeRGB,GLenum modeAlpha)5386 CallCapture CaptureBlendEquationSeparateiEXT(const State &glState,
5387 bool isCallValid,
5388 GLuint buf,
5389 GLenum modeRGB,
5390 GLenum modeAlpha)
5391 {
5392 ParamBuffer paramBuffer;
5393
5394 paramBuffer.addValueParam("buf", ParamType::TGLuint, buf);
5395 paramBuffer.addEnumParam("modeRGB", GLenumGroup::BlendEquationModeEXT, ParamType::TGLenum,
5396 modeRGB);
5397 paramBuffer.addEnumParam("modeAlpha", GLenumGroup::BlendEquationModeEXT, ParamType::TGLenum,
5398 modeAlpha);
5399
5400 return CallCapture(angle::EntryPoint::GLBlendEquationSeparateiEXT, std::move(paramBuffer));
5401 }
5402
CaptureBlendEquationiEXT(const State & glState,bool isCallValid,GLuint buf,GLenum mode)5403 CallCapture CaptureBlendEquationiEXT(const State &glState,
5404 bool isCallValid,
5405 GLuint buf,
5406 GLenum mode)
5407 {
5408 ParamBuffer paramBuffer;
5409
5410 paramBuffer.addValueParam("buf", ParamType::TGLuint, buf);
5411 paramBuffer.addEnumParam("mode", GLenumGroup::BlendEquationModeEXT, ParamType::TGLenum, mode);
5412
5413 return CallCapture(angle::EntryPoint::GLBlendEquationiEXT, std::move(paramBuffer));
5414 }
5415
CaptureBlendFuncSeparateiEXT(const State & glState,bool isCallValid,GLuint buf,GLenum srcRGB,GLenum dstRGB,GLenum srcAlpha,GLenum dstAlpha)5416 CallCapture CaptureBlendFuncSeparateiEXT(const State &glState,
5417 bool isCallValid,
5418 GLuint buf,
5419 GLenum srcRGB,
5420 GLenum dstRGB,
5421 GLenum srcAlpha,
5422 GLenum dstAlpha)
5423 {
5424 ParamBuffer paramBuffer;
5425
5426 paramBuffer.addValueParam("buf", ParamType::TGLuint, buf);
5427 paramBuffer.addEnumParam("srcRGB", GLenumGroup::BlendingFactor, ParamType::TGLenum, srcRGB);
5428 paramBuffer.addEnumParam("dstRGB", GLenumGroup::BlendingFactor, ParamType::TGLenum, dstRGB);
5429 paramBuffer.addEnumParam("srcAlpha", GLenumGroup::BlendingFactor, ParamType::TGLenum, srcAlpha);
5430 paramBuffer.addEnumParam("dstAlpha", GLenumGroup::BlendingFactor, ParamType::TGLenum, dstAlpha);
5431
5432 return CallCapture(angle::EntryPoint::GLBlendFuncSeparateiEXT, std::move(paramBuffer));
5433 }
5434
CaptureBlendFunciEXT(const State & glState,bool isCallValid,GLuint buf,GLenum src,GLenum dst)5435 CallCapture CaptureBlendFunciEXT(const State &glState,
5436 bool isCallValid,
5437 GLuint buf,
5438 GLenum src,
5439 GLenum dst)
5440 {
5441 ParamBuffer paramBuffer;
5442
5443 paramBuffer.addValueParam("buf", ParamType::TGLuint, buf);
5444 paramBuffer.addEnumParam("src", GLenumGroup::BlendingFactor, ParamType::TGLenum, src);
5445 paramBuffer.addEnumParam("dst", GLenumGroup::BlendingFactor, ParamType::TGLenum, dst);
5446
5447 return CallCapture(angle::EntryPoint::GLBlendFunciEXT, std::move(paramBuffer));
5448 }
5449
CaptureColorMaskiEXT(const State & glState,bool isCallValid,GLuint index,GLboolean r,GLboolean g,GLboolean b,GLboolean a)5450 CallCapture CaptureColorMaskiEXT(const State &glState,
5451 bool isCallValid,
5452 GLuint index,
5453 GLboolean r,
5454 GLboolean g,
5455 GLboolean b,
5456 GLboolean a)
5457 {
5458 ParamBuffer paramBuffer;
5459
5460 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
5461 paramBuffer.addValueParam("r", ParamType::TGLboolean, r);
5462 paramBuffer.addValueParam("g", ParamType::TGLboolean, g);
5463 paramBuffer.addValueParam("b", ParamType::TGLboolean, b);
5464 paramBuffer.addValueParam("a", ParamType::TGLboolean, a);
5465
5466 return CallCapture(angle::EntryPoint::GLColorMaskiEXT, std::move(paramBuffer));
5467 }
5468
CaptureDisableiEXT(const State & glState,bool isCallValid,GLenum target,GLuint index)5469 CallCapture CaptureDisableiEXT(const State &glState, bool isCallValid, GLenum target, GLuint index)
5470 {
5471 ParamBuffer paramBuffer;
5472
5473 paramBuffer.addEnumParam("target", GLenumGroup::EnableCap, ParamType::TGLenum, target);
5474 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
5475
5476 return CallCapture(angle::EntryPoint::GLDisableiEXT, std::move(paramBuffer));
5477 }
5478
CaptureEnableiEXT(const State & glState,bool isCallValid,GLenum target,GLuint index)5479 CallCapture CaptureEnableiEXT(const State &glState, bool isCallValid, GLenum target, GLuint index)
5480 {
5481 ParamBuffer paramBuffer;
5482
5483 paramBuffer.addEnumParam("target", GLenumGroup::EnableCap, ParamType::TGLenum, target);
5484 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
5485
5486 return CallCapture(angle::EntryPoint::GLEnableiEXT, std::move(paramBuffer));
5487 }
5488
CaptureIsEnablediEXT(const State & glState,bool isCallValid,GLenum target,GLuint index,GLboolean returnValue)5489 CallCapture CaptureIsEnablediEXT(const State &glState,
5490 bool isCallValid,
5491 GLenum target,
5492 GLuint index,
5493 GLboolean returnValue)
5494 {
5495 ParamBuffer paramBuffer;
5496
5497 paramBuffer.addEnumParam("target", GLenumGroup::EnableCap, ParamType::TGLenum, target);
5498 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
5499
5500 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
5501 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
5502 paramBuffer.addReturnValue(std::move(returnValueCapture));
5503
5504 return CallCapture(angle::EntryPoint::GLIsEnablediEXT, std::move(paramBuffer));
5505 }
5506
CaptureDrawElementsBaseVertexEXT(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLsizei count,DrawElementsType typePacked,const void * indices,GLint basevertex)5507 CallCapture CaptureDrawElementsBaseVertexEXT(const State &glState,
5508 bool isCallValid,
5509 PrimitiveMode modePacked,
5510 GLsizei count,
5511 DrawElementsType typePacked,
5512 const void *indices,
5513 GLint basevertex)
5514 {
5515 ParamBuffer paramBuffer;
5516
5517 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
5518 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
5519 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
5520
5521 if (isCallValid)
5522 {
5523 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
5524 InitParamValue(ParamType::TvoidConstPointer, indices, &indicesParam.value);
5525 CaptureDrawElementsBaseVertexEXT_indices(glState, isCallValid, modePacked, count,
5526 typePacked, indices, basevertex, &indicesParam);
5527 paramBuffer.addParam(std::move(indicesParam));
5528 }
5529 else
5530 {
5531 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
5532 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
5533 &indicesParam.value);
5534 paramBuffer.addParam(std::move(indicesParam));
5535 }
5536
5537 paramBuffer.addValueParam("basevertex", ParamType::TGLint, basevertex);
5538
5539 return CallCapture(angle::EntryPoint::GLDrawElementsBaseVertexEXT, std::move(paramBuffer));
5540 }
5541
CaptureDrawElementsInstancedBaseVertexEXT(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLsizei count,DrawElementsType typePacked,const void * indices,GLsizei instancecount,GLint basevertex)5542 CallCapture CaptureDrawElementsInstancedBaseVertexEXT(const State &glState,
5543 bool isCallValid,
5544 PrimitiveMode modePacked,
5545 GLsizei count,
5546 DrawElementsType typePacked,
5547 const void *indices,
5548 GLsizei instancecount,
5549 GLint basevertex)
5550 {
5551 ParamBuffer paramBuffer;
5552
5553 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
5554 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
5555 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
5556
5557 if (isCallValid)
5558 {
5559 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
5560 InitParamValue(ParamType::TvoidConstPointer, indices, &indicesParam.value);
5561 CaptureDrawElementsInstancedBaseVertexEXT_indices(glState, isCallValid, modePacked, count,
5562 typePacked, indices, instancecount,
5563 basevertex, &indicesParam);
5564 paramBuffer.addParam(std::move(indicesParam));
5565 }
5566 else
5567 {
5568 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
5569 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
5570 &indicesParam.value);
5571 paramBuffer.addParam(std::move(indicesParam));
5572 }
5573
5574 paramBuffer.addValueParam("instancecount", ParamType::TGLsizei, instancecount);
5575 paramBuffer.addValueParam("basevertex", ParamType::TGLint, basevertex);
5576
5577 return CallCapture(angle::EntryPoint::GLDrawElementsInstancedBaseVertexEXT,
5578 std::move(paramBuffer));
5579 }
5580
CaptureDrawRangeElementsBaseVertexEXT(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLuint start,GLuint end,GLsizei count,DrawElementsType typePacked,const void * indices,GLint basevertex)5581 CallCapture CaptureDrawRangeElementsBaseVertexEXT(const State &glState,
5582 bool isCallValid,
5583 PrimitiveMode modePacked,
5584 GLuint start,
5585 GLuint end,
5586 GLsizei count,
5587 DrawElementsType typePacked,
5588 const void *indices,
5589 GLint basevertex)
5590 {
5591 ParamBuffer paramBuffer;
5592
5593 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
5594 paramBuffer.addValueParam("start", ParamType::TGLuint, start);
5595 paramBuffer.addValueParam("end", ParamType::TGLuint, end);
5596 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
5597 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
5598
5599 if (isCallValid)
5600 {
5601 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
5602 InitParamValue(ParamType::TvoidConstPointer, indices, &indicesParam.value);
5603 CaptureDrawRangeElementsBaseVertexEXT_indices(glState, isCallValid, modePacked, start, end,
5604 count, typePacked, indices, basevertex,
5605 &indicesParam);
5606 paramBuffer.addParam(std::move(indicesParam));
5607 }
5608 else
5609 {
5610 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
5611 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
5612 &indicesParam.value);
5613 paramBuffer.addParam(std::move(indicesParam));
5614 }
5615
5616 paramBuffer.addValueParam("basevertex", ParamType::TGLint, basevertex);
5617
5618 return CallCapture(angle::EntryPoint::GLDrawRangeElementsBaseVertexEXT, std::move(paramBuffer));
5619 }
5620
CaptureMultiDrawElementsBaseVertexEXT(const State & glState,bool isCallValid,PrimitiveMode modePacked,const GLsizei * count,DrawElementsType typePacked,const void * const * indices,GLsizei primcount,const GLint * basevertex)5621 CallCapture CaptureMultiDrawElementsBaseVertexEXT(const State &glState,
5622 bool isCallValid,
5623 PrimitiveMode modePacked,
5624 const GLsizei *count,
5625 DrawElementsType typePacked,
5626 const void *const *indices,
5627 GLsizei primcount,
5628 const GLint *basevertex)
5629 {
5630 ParamBuffer paramBuffer;
5631
5632 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
5633
5634 if (isCallValid)
5635 {
5636 ParamCapture countParam("count", ParamType::TGLsizeiConstPointer);
5637 InitParamValue(ParamType::TGLsizeiConstPointer, count, &countParam.value);
5638 CaptureMultiDrawElementsBaseVertexEXT_count(glState, isCallValid, modePacked, count,
5639 typePacked, indices, primcount, basevertex,
5640 &countParam);
5641 paramBuffer.addParam(std::move(countParam));
5642 }
5643 else
5644 {
5645 ParamCapture countParam("count", ParamType::TGLsizeiConstPointer);
5646 InitParamValue(ParamType::TGLsizeiConstPointer, static_cast<const GLsizei *>(nullptr),
5647 &countParam.value);
5648 paramBuffer.addParam(std::move(countParam));
5649 }
5650
5651 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
5652
5653 if (isCallValid)
5654 {
5655 ParamCapture indicesParam("indices", ParamType::TvoidConstPointerPointer);
5656 InitParamValue(ParamType::TvoidConstPointerPointer, indices, &indicesParam.value);
5657 CaptureMultiDrawElementsBaseVertexEXT_indices(glState, isCallValid, modePacked, count,
5658 typePacked, indices, primcount, basevertex,
5659 &indicesParam);
5660 paramBuffer.addParam(std::move(indicesParam));
5661 }
5662 else
5663 {
5664 ParamCapture indicesParam("indices", ParamType::TvoidConstPointerPointer);
5665 InitParamValue(ParamType::TvoidConstPointerPointer,
5666 static_cast<const void *const *>(nullptr), &indicesParam.value);
5667 paramBuffer.addParam(std::move(indicesParam));
5668 }
5669
5670 paramBuffer.addValueParam("primcount", ParamType::TGLsizei, primcount);
5671
5672 if (isCallValid)
5673 {
5674 ParamCapture basevertexParam("basevertex", ParamType::TGLintConstPointer);
5675 InitParamValue(ParamType::TGLintConstPointer, basevertex, &basevertexParam.value);
5676 CaptureMultiDrawElementsBaseVertexEXT_basevertex(glState, isCallValid, modePacked, count,
5677 typePacked, indices, primcount, basevertex,
5678 &basevertexParam);
5679 paramBuffer.addParam(std::move(basevertexParam));
5680 }
5681 else
5682 {
5683 ParamCapture basevertexParam("basevertex", ParamType::TGLintConstPointer);
5684 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
5685 &basevertexParam.value);
5686 paramBuffer.addParam(std::move(basevertexParam));
5687 }
5688
5689 return CallCapture(angle::EntryPoint::GLMultiDrawElementsBaseVertexEXT, std::move(paramBuffer));
5690 }
5691
CaptureBufferStorageExternalEXT(const State & glState,bool isCallValid,BufferBinding targetPacked,GLintptr offset,GLsizeiptr size,GLeglClientBufferEXT clientBuffer,GLbitfield flags)5692 CallCapture CaptureBufferStorageExternalEXT(const State &glState,
5693 bool isCallValid,
5694 BufferBinding targetPacked,
5695 GLintptr offset,
5696 GLsizeiptr size,
5697 GLeglClientBufferEXT clientBuffer,
5698 GLbitfield flags)
5699 {
5700 ParamBuffer paramBuffer;
5701
5702 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
5703 paramBuffer.addValueParam("offset", ParamType::TGLintptr, offset);
5704 paramBuffer.addValueParam("size", ParamType::TGLsizeiptr, size);
5705 paramBuffer.addValueParam("clientBuffer", ParamType::TGLeglClientBufferEXT, clientBuffer);
5706 paramBuffer.addEnumParam("flags", GLenumGroup::MapBufferUsageMask, ParamType::TGLbitfield,
5707 flags);
5708
5709 return CallCapture(angle::EntryPoint::GLBufferStorageExternalEXT, std::move(paramBuffer));
5710 }
5711
CaptureNamedBufferStorageExternalEXT(const State & glState,bool isCallValid,GLuint buffer,GLintptr offset,GLsizeiptr size,GLeglClientBufferEXT clientBuffer,GLbitfield flags)5712 CallCapture CaptureNamedBufferStorageExternalEXT(const State &glState,
5713 bool isCallValid,
5714 GLuint buffer,
5715 GLintptr offset,
5716 GLsizeiptr size,
5717 GLeglClientBufferEXT clientBuffer,
5718 GLbitfield flags)
5719 {
5720 ParamBuffer paramBuffer;
5721
5722 paramBuffer.addValueParam("buffer", ParamType::TGLuint, buffer);
5723 paramBuffer.addValueParam("offset", ParamType::TGLintptr, offset);
5724 paramBuffer.addValueParam("size", ParamType::TGLsizeiptr, size);
5725 paramBuffer.addValueParam("clientBuffer", ParamType::TGLeglClientBufferEXT, clientBuffer);
5726 paramBuffer.addEnumParam("flags", GLenumGroup::MapBufferUsageMask, ParamType::TGLbitfield,
5727 flags);
5728
5729 return CallCapture(angle::EntryPoint::GLNamedBufferStorageExternalEXT, std::move(paramBuffer));
5730 }
5731
CaptureFramebufferTextureEXT(const State & glState,bool isCallValid,GLenum target,GLenum attachment,TextureID texturePacked,GLint level)5732 CallCapture CaptureFramebufferTextureEXT(const State &glState,
5733 bool isCallValid,
5734 GLenum target,
5735 GLenum attachment,
5736 TextureID texturePacked,
5737 GLint level)
5738 {
5739 ParamBuffer paramBuffer;
5740
5741 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
5742 paramBuffer.addEnumParam("attachment", GLenumGroup::FramebufferAttachment, ParamType::TGLenum,
5743 attachment);
5744 paramBuffer.addValueParam("texturePacked", ParamType::TTextureID, texturePacked);
5745 paramBuffer.addValueParam("level", ParamType::TGLint, level);
5746
5747 return CallCapture(angle::EntryPoint::GLFramebufferTextureEXT, std::move(paramBuffer));
5748 }
5749
CaptureDrawArraysInstancedEXT(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLint start,GLsizei count,GLsizei primcount)5750 CallCapture CaptureDrawArraysInstancedEXT(const State &glState,
5751 bool isCallValid,
5752 PrimitiveMode modePacked,
5753 GLint start,
5754 GLsizei count,
5755 GLsizei primcount)
5756 {
5757 ParamBuffer paramBuffer;
5758
5759 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
5760 paramBuffer.addValueParam("start", ParamType::TGLint, start);
5761 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
5762 paramBuffer.addValueParam("primcount", ParamType::TGLsizei, primcount);
5763
5764 return CallCapture(angle::EntryPoint::GLDrawArraysInstancedEXT, std::move(paramBuffer));
5765 }
5766
CaptureDrawElementsInstancedEXT(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLsizei count,DrawElementsType typePacked,const void * indices,GLsizei primcount)5767 CallCapture CaptureDrawElementsInstancedEXT(const State &glState,
5768 bool isCallValid,
5769 PrimitiveMode modePacked,
5770 GLsizei count,
5771 DrawElementsType typePacked,
5772 const void *indices,
5773 GLsizei primcount)
5774 {
5775 ParamBuffer paramBuffer;
5776
5777 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
5778 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
5779 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
5780
5781 if (isCallValid)
5782 {
5783 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
5784 InitParamValue(ParamType::TvoidConstPointer, indices, &indicesParam.value);
5785 CaptureDrawElementsInstancedEXT_indices(glState, isCallValid, modePacked, count, typePacked,
5786 indices, primcount, &indicesParam);
5787 paramBuffer.addParam(std::move(indicesParam));
5788 }
5789 else
5790 {
5791 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
5792 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
5793 &indicesParam.value);
5794 paramBuffer.addParam(std::move(indicesParam));
5795 }
5796
5797 paramBuffer.addValueParam("primcount", ParamType::TGLsizei, primcount);
5798
5799 return CallCapture(angle::EntryPoint::GLDrawElementsInstancedEXT, std::move(paramBuffer));
5800 }
5801
CaptureVertexAttribDivisorEXT(const State & glState,bool isCallValid,GLuint index,GLuint divisor)5802 CallCapture CaptureVertexAttribDivisorEXT(const State &glState,
5803 bool isCallValid,
5804 GLuint index,
5805 GLuint divisor)
5806 {
5807 ParamBuffer paramBuffer;
5808
5809 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
5810 paramBuffer.addValueParam("divisor", ParamType::TGLuint, divisor);
5811
5812 return CallCapture(angle::EntryPoint::GLVertexAttribDivisorEXT, std::move(paramBuffer));
5813 }
5814
CaptureFlushMappedBufferRangeEXT(const State & glState,bool isCallValid,BufferBinding targetPacked,GLintptr offset,GLsizeiptr length)5815 CallCapture CaptureFlushMappedBufferRangeEXT(const State &glState,
5816 bool isCallValid,
5817 BufferBinding targetPacked,
5818 GLintptr offset,
5819 GLsizeiptr length)
5820 {
5821 ParamBuffer paramBuffer;
5822
5823 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
5824 paramBuffer.addValueParam("offset", ParamType::TGLintptr, offset);
5825 paramBuffer.addValueParam("length", ParamType::TGLsizeiptr, length);
5826
5827 return CallCapture(angle::EntryPoint::GLFlushMappedBufferRangeEXT, std::move(paramBuffer));
5828 }
5829
CaptureMapBufferRangeEXT(const State & glState,bool isCallValid,BufferBinding targetPacked,GLintptr offset,GLsizeiptr length,GLbitfield access,void * returnValue)5830 CallCapture CaptureMapBufferRangeEXT(const State &glState,
5831 bool isCallValid,
5832 BufferBinding targetPacked,
5833 GLintptr offset,
5834 GLsizeiptr length,
5835 GLbitfield access,
5836 void *returnValue)
5837 {
5838 ParamBuffer paramBuffer;
5839
5840 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
5841 paramBuffer.addValueParam("offset", ParamType::TGLintptr, offset);
5842 paramBuffer.addValueParam("length", ParamType::TGLsizeiptr, length);
5843 paramBuffer.addEnumParam("access", GLenumGroup::BufferAccessMask, ParamType::TGLbitfield,
5844 access);
5845
5846 ParamCapture returnValueCapture("returnValue", ParamType::TvoidPointer);
5847 InitParamValue(ParamType::TvoidPointer, returnValue, &returnValueCapture.value);
5848 paramBuffer.addReturnValue(std::move(returnValueCapture));
5849
5850 return CallCapture(angle::EntryPoint::GLMapBufferRangeEXT, std::move(paramBuffer));
5851 }
5852
CaptureBufferStorageMemEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLsizeiptr size,MemoryObjectID memoryPacked,GLuint64 offset)5853 CallCapture CaptureBufferStorageMemEXT(const State &glState,
5854 bool isCallValid,
5855 TextureType targetPacked,
5856 GLsizeiptr size,
5857 MemoryObjectID memoryPacked,
5858 GLuint64 offset)
5859 {
5860 ParamBuffer paramBuffer;
5861
5862 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
5863 paramBuffer.addValueParam("size", ParamType::TGLsizeiptr, size);
5864 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
5865 paramBuffer.addValueParam("offset", ParamType::TGLuint64, offset);
5866
5867 return CallCapture(angle::EntryPoint::GLBufferStorageMemEXT, std::move(paramBuffer));
5868 }
5869
CaptureCreateMemoryObjectsEXT(const State & glState,bool isCallValid,GLsizei n,MemoryObjectID * memoryObjectsPacked)5870 CallCapture CaptureCreateMemoryObjectsEXT(const State &glState,
5871 bool isCallValid,
5872 GLsizei n,
5873 MemoryObjectID *memoryObjectsPacked)
5874 {
5875 ParamBuffer paramBuffer;
5876
5877 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
5878
5879 if (isCallValid)
5880 {
5881 ParamCapture memoryObjectsPackedParam("memoryObjectsPacked",
5882 ParamType::TMemoryObjectIDPointer);
5883 InitParamValue(ParamType::TMemoryObjectIDPointer, memoryObjectsPacked,
5884 &memoryObjectsPackedParam.value);
5885 CaptureCreateMemoryObjectsEXT_memoryObjectsPacked(
5886 glState, isCallValid, n, memoryObjectsPacked, &memoryObjectsPackedParam);
5887 paramBuffer.addParam(std::move(memoryObjectsPackedParam));
5888 }
5889 else
5890 {
5891 ParamCapture memoryObjectsPackedParam("memoryObjectsPacked",
5892 ParamType::TMemoryObjectIDPointer);
5893 InitParamValue(ParamType::TMemoryObjectIDPointer, static_cast<MemoryObjectID *>(nullptr),
5894 &memoryObjectsPackedParam.value);
5895 paramBuffer.addParam(std::move(memoryObjectsPackedParam));
5896 }
5897
5898 return CallCapture(angle::EntryPoint::GLCreateMemoryObjectsEXT, std::move(paramBuffer));
5899 }
5900
CaptureDeleteMemoryObjectsEXT(const State & glState,bool isCallValid,GLsizei n,const MemoryObjectID * memoryObjectsPacked)5901 CallCapture CaptureDeleteMemoryObjectsEXT(const State &glState,
5902 bool isCallValid,
5903 GLsizei n,
5904 const MemoryObjectID *memoryObjectsPacked)
5905 {
5906 ParamBuffer paramBuffer;
5907
5908 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
5909
5910 if (isCallValid)
5911 {
5912 ParamCapture memoryObjectsPackedParam("memoryObjectsPacked",
5913 ParamType::TMemoryObjectIDConstPointer);
5914 InitParamValue(ParamType::TMemoryObjectIDConstPointer, memoryObjectsPacked,
5915 &memoryObjectsPackedParam.value);
5916 CaptureDeleteMemoryObjectsEXT_memoryObjectsPacked(
5917 glState, isCallValid, n, memoryObjectsPacked, &memoryObjectsPackedParam);
5918 paramBuffer.addParam(std::move(memoryObjectsPackedParam));
5919 }
5920 else
5921 {
5922 ParamCapture memoryObjectsPackedParam("memoryObjectsPacked",
5923 ParamType::TMemoryObjectIDConstPointer);
5924 InitParamValue(ParamType::TMemoryObjectIDConstPointer,
5925 static_cast<const MemoryObjectID *>(nullptr),
5926 &memoryObjectsPackedParam.value);
5927 paramBuffer.addParam(std::move(memoryObjectsPackedParam));
5928 }
5929
5930 return CallCapture(angle::EntryPoint::GLDeleteMemoryObjectsEXT, std::move(paramBuffer));
5931 }
5932
CaptureGetMemoryObjectParameterivEXT(const State & glState,bool isCallValid,MemoryObjectID memoryObjectPacked,GLenum pname,GLint * params)5933 CallCapture CaptureGetMemoryObjectParameterivEXT(const State &glState,
5934 bool isCallValid,
5935 MemoryObjectID memoryObjectPacked,
5936 GLenum pname,
5937 GLint *params)
5938 {
5939 ParamBuffer paramBuffer;
5940
5941 paramBuffer.addValueParam("memoryObjectPacked", ParamType::TMemoryObjectID, memoryObjectPacked);
5942 paramBuffer.addEnumParam("pname", GLenumGroup::MemoryObjectParameterName, ParamType::TGLenum,
5943 pname);
5944
5945 if (isCallValid)
5946 {
5947 ParamCapture paramsParam("params", ParamType::TGLintPointer);
5948 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
5949 CaptureGetMemoryObjectParameterivEXT_params(glState, isCallValid, memoryObjectPacked, pname,
5950 params, ¶msParam);
5951 paramBuffer.addParam(std::move(paramsParam));
5952 }
5953 else
5954 {
5955 ParamCapture paramsParam("params", ParamType::TGLintPointer);
5956 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
5957 paramBuffer.addParam(std::move(paramsParam));
5958 }
5959
5960 return CallCapture(angle::EntryPoint::GLGetMemoryObjectParameterivEXT, std::move(paramBuffer));
5961 }
5962
CaptureGetUnsignedBytevEXT(const State & glState,bool isCallValid,GLenum pname,GLubyte * data)5963 CallCapture CaptureGetUnsignedBytevEXT(const State &glState,
5964 bool isCallValid,
5965 GLenum pname,
5966 GLubyte *data)
5967 {
5968 ParamBuffer paramBuffer;
5969
5970 paramBuffer.addEnumParam("pname", GLenumGroup::GetPName, ParamType::TGLenum, pname);
5971
5972 if (isCallValid)
5973 {
5974 ParamCapture dataParam("data", ParamType::TGLubytePointer);
5975 InitParamValue(ParamType::TGLubytePointer, data, &dataParam.value);
5976 CaptureGetUnsignedBytevEXT_data(glState, isCallValid, pname, data, &dataParam);
5977 paramBuffer.addParam(std::move(dataParam));
5978 }
5979 else
5980 {
5981 ParamCapture dataParam("data", ParamType::TGLubytePointer);
5982 InitParamValue(ParamType::TGLubytePointer, static_cast<GLubyte *>(nullptr),
5983 &dataParam.value);
5984 paramBuffer.addParam(std::move(dataParam));
5985 }
5986
5987 return CallCapture(angle::EntryPoint::GLGetUnsignedBytevEXT, std::move(paramBuffer));
5988 }
5989
CaptureGetUnsignedBytei_vEXT(const State & glState,bool isCallValid,GLenum target,GLuint index,GLubyte * data)5990 CallCapture CaptureGetUnsignedBytei_vEXT(const State &glState,
5991 bool isCallValid,
5992 GLenum target,
5993 GLuint index,
5994 GLubyte *data)
5995 {
5996 ParamBuffer paramBuffer;
5997
5998 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
5999 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
6000
6001 if (isCallValid)
6002 {
6003 ParamCapture dataParam("data", ParamType::TGLubytePointer);
6004 InitParamValue(ParamType::TGLubytePointer, data, &dataParam.value);
6005 CaptureGetUnsignedBytei_vEXT_data(glState, isCallValid, target, index, data, &dataParam);
6006 paramBuffer.addParam(std::move(dataParam));
6007 }
6008 else
6009 {
6010 ParamCapture dataParam("data", ParamType::TGLubytePointer);
6011 InitParamValue(ParamType::TGLubytePointer, static_cast<GLubyte *>(nullptr),
6012 &dataParam.value);
6013 paramBuffer.addParam(std::move(dataParam));
6014 }
6015
6016 return CallCapture(angle::EntryPoint::GLGetUnsignedBytei_vEXT, std::move(paramBuffer));
6017 }
6018
CaptureIsMemoryObjectEXT(const State & glState,bool isCallValid,MemoryObjectID memoryObjectPacked,GLboolean returnValue)6019 CallCapture CaptureIsMemoryObjectEXT(const State &glState,
6020 bool isCallValid,
6021 MemoryObjectID memoryObjectPacked,
6022 GLboolean returnValue)
6023 {
6024 ParamBuffer paramBuffer;
6025
6026 paramBuffer.addValueParam("memoryObjectPacked", ParamType::TMemoryObjectID, memoryObjectPacked);
6027
6028 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
6029 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
6030 paramBuffer.addReturnValue(std::move(returnValueCapture));
6031
6032 return CallCapture(angle::EntryPoint::GLIsMemoryObjectEXT, std::move(paramBuffer));
6033 }
6034
CaptureMemoryObjectParameterivEXT(const State & glState,bool isCallValid,MemoryObjectID memoryObjectPacked,GLenum pname,const GLint * params)6035 CallCapture CaptureMemoryObjectParameterivEXT(const State &glState,
6036 bool isCallValid,
6037 MemoryObjectID memoryObjectPacked,
6038 GLenum pname,
6039 const GLint *params)
6040 {
6041 ParamBuffer paramBuffer;
6042
6043 paramBuffer.addValueParam("memoryObjectPacked", ParamType::TMemoryObjectID, memoryObjectPacked);
6044 paramBuffer.addEnumParam("pname", GLenumGroup::MemoryObjectParameterName, ParamType::TGLenum,
6045 pname);
6046
6047 if (isCallValid)
6048 {
6049 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
6050 InitParamValue(ParamType::TGLintConstPointer, params, ¶msParam.value);
6051 CaptureMemoryObjectParameterivEXT_params(glState, isCallValid, memoryObjectPacked, pname,
6052 params, ¶msParam);
6053 paramBuffer.addParam(std::move(paramsParam));
6054 }
6055 else
6056 {
6057 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
6058 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
6059 ¶msParam.value);
6060 paramBuffer.addParam(std::move(paramsParam));
6061 }
6062
6063 return CallCapture(angle::EntryPoint::GLMemoryObjectParameterivEXT, std::move(paramBuffer));
6064 }
6065
CaptureTexStorageMem2DEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei levels,GLenum internalFormat,GLsizei width,GLsizei height,MemoryObjectID memoryPacked,GLuint64 offset)6066 CallCapture CaptureTexStorageMem2DEXT(const State &glState,
6067 bool isCallValid,
6068 TextureType targetPacked,
6069 GLsizei levels,
6070 GLenum internalFormat,
6071 GLsizei width,
6072 GLsizei height,
6073 MemoryObjectID memoryPacked,
6074 GLuint64 offset)
6075 {
6076 ParamBuffer paramBuffer;
6077
6078 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
6079 paramBuffer.addValueParam("levels", ParamType::TGLsizei, levels);
6080 paramBuffer.addEnumParam("internalFormat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
6081 internalFormat);
6082 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
6083 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
6084 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
6085 paramBuffer.addValueParam("offset", ParamType::TGLuint64, offset);
6086
6087 return CallCapture(angle::EntryPoint::GLTexStorageMem2DEXT, std::move(paramBuffer));
6088 }
6089
CaptureTexStorageMem2DMultisampleEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei samples,GLenum internalFormat,GLsizei width,GLsizei height,GLboolean fixedSampleLocations,MemoryObjectID memoryPacked,GLuint64 offset)6090 CallCapture CaptureTexStorageMem2DMultisampleEXT(const State &glState,
6091 bool isCallValid,
6092 TextureType targetPacked,
6093 GLsizei samples,
6094 GLenum internalFormat,
6095 GLsizei width,
6096 GLsizei height,
6097 GLboolean fixedSampleLocations,
6098 MemoryObjectID memoryPacked,
6099 GLuint64 offset)
6100 {
6101 ParamBuffer paramBuffer;
6102
6103 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
6104 paramBuffer.addValueParam("samples", ParamType::TGLsizei, samples);
6105 paramBuffer.addEnumParam("internalFormat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
6106 internalFormat);
6107 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
6108 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
6109 paramBuffer.addValueParam("fixedSampleLocations", ParamType::TGLboolean, fixedSampleLocations);
6110 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
6111 paramBuffer.addValueParam("offset", ParamType::TGLuint64, offset);
6112
6113 return CallCapture(angle::EntryPoint::GLTexStorageMem2DMultisampleEXT, std::move(paramBuffer));
6114 }
6115
CaptureTexStorageMem3DEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei levels,GLenum internalFormat,GLsizei width,GLsizei height,GLsizei depth,MemoryObjectID memoryPacked,GLuint64 offset)6116 CallCapture CaptureTexStorageMem3DEXT(const State &glState,
6117 bool isCallValid,
6118 TextureType targetPacked,
6119 GLsizei levels,
6120 GLenum internalFormat,
6121 GLsizei width,
6122 GLsizei height,
6123 GLsizei depth,
6124 MemoryObjectID memoryPacked,
6125 GLuint64 offset)
6126 {
6127 ParamBuffer paramBuffer;
6128
6129 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
6130 paramBuffer.addValueParam("levels", ParamType::TGLsizei, levels);
6131 paramBuffer.addEnumParam("internalFormat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
6132 internalFormat);
6133 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
6134 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
6135 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
6136 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
6137 paramBuffer.addValueParam("offset", ParamType::TGLuint64, offset);
6138
6139 return CallCapture(angle::EntryPoint::GLTexStorageMem3DEXT, std::move(paramBuffer));
6140 }
6141
CaptureTexStorageMem3DMultisampleEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei samples,GLenum internalFormat,GLsizei width,GLsizei height,GLsizei depth,GLboolean fixedSampleLocations,MemoryObjectID memoryPacked,GLuint64 offset)6142 CallCapture CaptureTexStorageMem3DMultisampleEXT(const State &glState,
6143 bool isCallValid,
6144 TextureType targetPacked,
6145 GLsizei samples,
6146 GLenum internalFormat,
6147 GLsizei width,
6148 GLsizei height,
6149 GLsizei depth,
6150 GLboolean fixedSampleLocations,
6151 MemoryObjectID memoryPacked,
6152 GLuint64 offset)
6153 {
6154 ParamBuffer paramBuffer;
6155
6156 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
6157 paramBuffer.addValueParam("samples", ParamType::TGLsizei, samples);
6158 paramBuffer.addEnumParam("internalFormat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
6159 internalFormat);
6160 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
6161 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
6162 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
6163 paramBuffer.addValueParam("fixedSampleLocations", ParamType::TGLboolean, fixedSampleLocations);
6164 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
6165 paramBuffer.addValueParam("offset", ParamType::TGLuint64, offset);
6166
6167 return CallCapture(angle::EntryPoint::GLTexStorageMem3DMultisampleEXT, std::move(paramBuffer));
6168 }
6169
CaptureImportMemoryFdEXT(const State & glState,bool isCallValid,MemoryObjectID memoryPacked,GLuint64 size,HandleType handleTypePacked,GLint fd)6170 CallCapture CaptureImportMemoryFdEXT(const State &glState,
6171 bool isCallValid,
6172 MemoryObjectID memoryPacked,
6173 GLuint64 size,
6174 HandleType handleTypePacked,
6175 GLint fd)
6176 {
6177 ParamBuffer paramBuffer;
6178
6179 paramBuffer.addValueParam("memoryPacked", ParamType::TMemoryObjectID, memoryPacked);
6180 paramBuffer.addValueParam("size", ParamType::TGLuint64, size);
6181 paramBuffer.addValueParam("handleTypePacked", ParamType::THandleType, handleTypePacked);
6182 paramBuffer.addValueParam("fd", ParamType::TGLint, fd);
6183
6184 return CallCapture(angle::EntryPoint::GLImportMemoryFdEXT, std::move(paramBuffer));
6185 }
6186
CaptureMultiDrawArraysIndirectEXT(const State & glState,bool isCallValid,GLenum mode,const void * indirect,GLsizei drawcount,GLsizei stride)6187 CallCapture CaptureMultiDrawArraysIndirectEXT(const State &glState,
6188 bool isCallValid,
6189 GLenum mode,
6190 const void *indirect,
6191 GLsizei drawcount,
6192 GLsizei stride)
6193 {
6194 ParamBuffer paramBuffer;
6195
6196 paramBuffer.addEnumParam("mode", GLenumGroup::PrimitiveType, ParamType::TGLenum, mode);
6197
6198 if (isCallValid)
6199 {
6200 ParamCapture indirectParam("indirect", ParamType::TvoidConstPointer);
6201 InitParamValue(ParamType::TvoidConstPointer, indirect, &indirectParam.value);
6202 CaptureMultiDrawArraysIndirectEXT_indirect(glState, isCallValid, mode, indirect, drawcount,
6203 stride, &indirectParam);
6204 paramBuffer.addParam(std::move(indirectParam));
6205 }
6206 else
6207 {
6208 ParamCapture indirectParam("indirect", ParamType::TvoidConstPointer);
6209 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
6210 &indirectParam.value);
6211 paramBuffer.addParam(std::move(indirectParam));
6212 }
6213
6214 paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
6215 paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
6216
6217 return CallCapture(angle::EntryPoint::GLMultiDrawArraysIndirectEXT, std::move(paramBuffer));
6218 }
6219
CaptureMultiDrawElementsIndirectEXT(const State & glState,bool isCallValid,GLenum mode,GLenum type,const void * indirect,GLsizei drawcount,GLsizei stride)6220 CallCapture CaptureMultiDrawElementsIndirectEXT(const State &glState,
6221 bool isCallValid,
6222 GLenum mode,
6223 GLenum type,
6224 const void *indirect,
6225 GLsizei drawcount,
6226 GLsizei stride)
6227 {
6228 ParamBuffer paramBuffer;
6229
6230 paramBuffer.addEnumParam("mode", GLenumGroup::PrimitiveType, ParamType::TGLenum, mode);
6231 paramBuffer.addEnumParam("type", GLenumGroup::DrawElementsType, ParamType::TGLenum, type);
6232
6233 if (isCallValid)
6234 {
6235 ParamCapture indirectParam("indirect", ParamType::TvoidConstPointer);
6236 InitParamValue(ParamType::TvoidConstPointer, indirect, &indirectParam.value);
6237 CaptureMultiDrawElementsIndirectEXT_indirect(glState, isCallValid, mode, type, indirect,
6238 drawcount, stride, &indirectParam);
6239 paramBuffer.addParam(std::move(indirectParam));
6240 }
6241 else
6242 {
6243 ParamCapture indirectParam("indirect", ParamType::TvoidConstPointer);
6244 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
6245 &indirectParam.value);
6246 paramBuffer.addParam(std::move(indirectParam));
6247 }
6248
6249 paramBuffer.addValueParam("drawcount", ParamType::TGLsizei, drawcount);
6250 paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
6251
6252 return CallCapture(angle::EntryPoint::GLMultiDrawElementsIndirectEXT, std::move(paramBuffer));
6253 }
6254
CaptureFramebufferTexture2DMultisampleEXT(const State & glState,bool isCallValid,GLenum target,GLenum attachment,TextureTarget textargetPacked,TextureID texturePacked,GLint level,GLsizei samples)6255 CallCapture CaptureFramebufferTexture2DMultisampleEXT(const State &glState,
6256 bool isCallValid,
6257 GLenum target,
6258 GLenum attachment,
6259 TextureTarget textargetPacked,
6260 TextureID texturePacked,
6261 GLint level,
6262 GLsizei samples)
6263 {
6264 ParamBuffer paramBuffer;
6265
6266 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
6267 paramBuffer.addEnumParam("attachment", GLenumGroup::FramebufferAttachment, ParamType::TGLenum,
6268 attachment);
6269 paramBuffer.addValueParam("textargetPacked", ParamType::TTextureTarget, textargetPacked);
6270 paramBuffer.addValueParam("texturePacked", ParamType::TTextureID, texturePacked);
6271 paramBuffer.addValueParam("level", ParamType::TGLint, level);
6272 paramBuffer.addValueParam("samples", ParamType::TGLsizei, samples);
6273
6274 return CallCapture(angle::EntryPoint::GLFramebufferTexture2DMultisampleEXT,
6275 std::move(paramBuffer));
6276 }
6277
CaptureRenderbufferStorageMultisampleEXT(const State & glState,bool isCallValid,GLenum target,GLsizei samples,GLenum internalformat,GLsizei width,GLsizei height)6278 CallCapture CaptureRenderbufferStorageMultisampleEXT(const State &glState,
6279 bool isCallValid,
6280 GLenum target,
6281 GLsizei samples,
6282 GLenum internalformat,
6283 GLsizei width,
6284 GLsizei height)
6285 {
6286 ParamBuffer paramBuffer;
6287
6288 paramBuffer.addEnumParam("target", GLenumGroup::RenderbufferTarget, ParamType::TGLenum, target);
6289 paramBuffer.addValueParam("samples", ParamType::TGLsizei, samples);
6290 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
6291 internalformat);
6292 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
6293 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
6294
6295 return CallCapture(angle::EntryPoint::GLRenderbufferStorageMultisampleEXT,
6296 std::move(paramBuffer));
6297 }
6298
CapturePrimitiveBoundingBoxEXT(const State & glState,bool isCallValid,GLfloat minX,GLfloat minY,GLfloat minZ,GLfloat minW,GLfloat maxX,GLfloat maxY,GLfloat maxZ,GLfloat maxW)6299 CallCapture CapturePrimitiveBoundingBoxEXT(const State &glState,
6300 bool isCallValid,
6301 GLfloat minX,
6302 GLfloat minY,
6303 GLfloat minZ,
6304 GLfloat minW,
6305 GLfloat maxX,
6306 GLfloat maxY,
6307 GLfloat maxZ,
6308 GLfloat maxW)
6309 {
6310 ParamBuffer paramBuffer;
6311
6312 paramBuffer.addValueParam("minX", ParamType::TGLfloat, minX);
6313 paramBuffer.addValueParam("minY", ParamType::TGLfloat, minY);
6314 paramBuffer.addValueParam("minZ", ParamType::TGLfloat, minZ);
6315 paramBuffer.addValueParam("minW", ParamType::TGLfloat, minW);
6316 paramBuffer.addValueParam("maxX", ParamType::TGLfloat, maxX);
6317 paramBuffer.addValueParam("maxY", ParamType::TGLfloat, maxY);
6318 paramBuffer.addValueParam("maxZ", ParamType::TGLfloat, maxZ);
6319 paramBuffer.addValueParam("maxW", ParamType::TGLfloat, maxW);
6320
6321 return CallCapture(angle::EntryPoint::GLPrimitiveBoundingBoxEXT, std::move(paramBuffer));
6322 }
6323
CaptureGetGraphicsResetStatusEXT(const State & glState,bool isCallValid,GLenum returnValue)6324 CallCapture CaptureGetGraphicsResetStatusEXT(const State &glState,
6325 bool isCallValid,
6326 GLenum returnValue)
6327 {
6328 ParamBuffer paramBuffer;
6329
6330 ParamCapture returnValueCapture("returnValue", ParamType::TGLenum);
6331 InitParamValue(ParamType::TGLenum, returnValue, &returnValueCapture.value);
6332 paramBuffer.addReturnValue(std::move(returnValueCapture));
6333
6334 return CallCapture(angle::EntryPoint::GLGetGraphicsResetStatusEXT, std::move(paramBuffer));
6335 }
6336
CaptureGetnUniformfvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei bufSize,GLfloat * params)6337 CallCapture CaptureGetnUniformfvEXT(const State &glState,
6338 bool isCallValid,
6339 ShaderProgramID programPacked,
6340 UniformLocation locationPacked,
6341 GLsizei bufSize,
6342 GLfloat *params)
6343 {
6344 ParamBuffer paramBuffer;
6345
6346 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
6347 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
6348 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
6349
6350 if (isCallValid)
6351 {
6352 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
6353 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
6354 CaptureGetnUniformfvEXT_params(glState, isCallValid, programPacked, locationPacked, bufSize,
6355 params, ¶msParam);
6356 paramBuffer.addParam(std::move(paramsParam));
6357 }
6358 else
6359 {
6360 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
6361 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
6362 ¶msParam.value);
6363 paramBuffer.addParam(std::move(paramsParam));
6364 }
6365
6366 return CallCapture(angle::EntryPoint::GLGetnUniformfvEXT, std::move(paramBuffer));
6367 }
6368
CaptureGetnUniformivEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei bufSize,GLint * params)6369 CallCapture CaptureGetnUniformivEXT(const State &glState,
6370 bool isCallValid,
6371 ShaderProgramID programPacked,
6372 UniformLocation locationPacked,
6373 GLsizei bufSize,
6374 GLint *params)
6375 {
6376 ParamBuffer paramBuffer;
6377
6378 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
6379 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
6380 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
6381
6382 if (isCallValid)
6383 {
6384 ParamCapture paramsParam("params", ParamType::TGLintPointer);
6385 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
6386 CaptureGetnUniformivEXT_params(glState, isCallValid, programPacked, locationPacked, bufSize,
6387 params, ¶msParam);
6388 paramBuffer.addParam(std::move(paramsParam));
6389 }
6390 else
6391 {
6392 ParamCapture paramsParam("params", ParamType::TGLintPointer);
6393 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
6394 paramBuffer.addParam(std::move(paramsParam));
6395 }
6396
6397 return CallCapture(angle::EntryPoint::GLGetnUniformivEXT, std::move(paramBuffer));
6398 }
6399
CaptureReadnPixelsEXT(const State & glState,bool isCallValid,GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLsizei bufSize,void * data)6400 CallCapture CaptureReadnPixelsEXT(const State &glState,
6401 bool isCallValid,
6402 GLint x,
6403 GLint y,
6404 GLsizei width,
6405 GLsizei height,
6406 GLenum format,
6407 GLenum type,
6408 GLsizei bufSize,
6409 void *data)
6410 {
6411 ParamBuffer paramBuffer;
6412
6413 paramBuffer.addValueParam("x", ParamType::TGLint, x);
6414 paramBuffer.addValueParam("y", ParamType::TGLint, y);
6415 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
6416 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
6417 paramBuffer.addEnumParam("format", GLenumGroup::PixelFormat, ParamType::TGLenum, format);
6418 paramBuffer.addEnumParam("type", GLenumGroup::PixelType, ParamType::TGLenum, type);
6419 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
6420
6421 if (isCallValid)
6422 {
6423 ParamCapture dataParam("data", ParamType::TvoidPointer);
6424 InitParamValue(ParamType::TvoidPointer, data, &dataParam.value);
6425 CaptureReadnPixelsEXT_data(glState, isCallValid, x, y, width, height, format, type, bufSize,
6426 data, &dataParam);
6427 paramBuffer.addParam(std::move(dataParam));
6428 }
6429 else
6430 {
6431 ParamCapture dataParam("data", ParamType::TvoidPointer);
6432 InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &dataParam.value);
6433 paramBuffer.addParam(std::move(dataParam));
6434 }
6435
6436 return CallCapture(angle::EntryPoint::GLReadnPixelsEXT, std::move(paramBuffer));
6437 }
6438
CaptureDeleteSemaphoresEXT(const State & glState,bool isCallValid,GLsizei n,const SemaphoreID * semaphoresPacked)6439 CallCapture CaptureDeleteSemaphoresEXT(const State &glState,
6440 bool isCallValid,
6441 GLsizei n,
6442 const SemaphoreID *semaphoresPacked)
6443 {
6444 ParamBuffer paramBuffer;
6445
6446 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
6447
6448 if (isCallValid)
6449 {
6450 ParamCapture semaphoresPackedParam("semaphoresPacked", ParamType::TSemaphoreIDConstPointer);
6451 InitParamValue(ParamType::TSemaphoreIDConstPointer, semaphoresPacked,
6452 &semaphoresPackedParam.value);
6453 CaptureDeleteSemaphoresEXT_semaphoresPacked(glState, isCallValid, n, semaphoresPacked,
6454 &semaphoresPackedParam);
6455 paramBuffer.addParam(std::move(semaphoresPackedParam));
6456 }
6457 else
6458 {
6459 ParamCapture semaphoresPackedParam("semaphoresPacked", ParamType::TSemaphoreIDConstPointer);
6460 InitParamValue(ParamType::TSemaphoreIDConstPointer,
6461 static_cast<const SemaphoreID *>(nullptr), &semaphoresPackedParam.value);
6462 paramBuffer.addParam(std::move(semaphoresPackedParam));
6463 }
6464
6465 return CallCapture(angle::EntryPoint::GLDeleteSemaphoresEXT, std::move(paramBuffer));
6466 }
6467
CaptureGenSemaphoresEXT(const State & glState,bool isCallValid,GLsizei n,SemaphoreID * semaphoresPacked)6468 CallCapture CaptureGenSemaphoresEXT(const State &glState,
6469 bool isCallValid,
6470 GLsizei n,
6471 SemaphoreID *semaphoresPacked)
6472 {
6473 ParamBuffer paramBuffer;
6474
6475 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
6476
6477 if (isCallValid)
6478 {
6479 ParamCapture semaphoresPackedParam("semaphoresPacked", ParamType::TSemaphoreIDPointer);
6480 InitParamValue(ParamType::TSemaphoreIDPointer, semaphoresPacked,
6481 &semaphoresPackedParam.value);
6482 CaptureGenSemaphoresEXT_semaphoresPacked(glState, isCallValid, n, semaphoresPacked,
6483 &semaphoresPackedParam);
6484 paramBuffer.addParam(std::move(semaphoresPackedParam));
6485 }
6486 else
6487 {
6488 ParamCapture semaphoresPackedParam("semaphoresPacked", ParamType::TSemaphoreIDPointer);
6489 InitParamValue(ParamType::TSemaphoreIDPointer, static_cast<SemaphoreID *>(nullptr),
6490 &semaphoresPackedParam.value);
6491 paramBuffer.addParam(std::move(semaphoresPackedParam));
6492 }
6493
6494 return CallCapture(angle::EntryPoint::GLGenSemaphoresEXT, std::move(paramBuffer));
6495 }
6496
CaptureGetSemaphoreParameterui64vEXT(const State & glState,bool isCallValid,SemaphoreID semaphorePacked,GLenum pname,GLuint64 * params)6497 CallCapture CaptureGetSemaphoreParameterui64vEXT(const State &glState,
6498 bool isCallValid,
6499 SemaphoreID semaphorePacked,
6500 GLenum pname,
6501 GLuint64 *params)
6502 {
6503 ParamBuffer paramBuffer;
6504
6505 paramBuffer.addValueParam("semaphorePacked", ParamType::TSemaphoreID, semaphorePacked);
6506 paramBuffer.addEnumParam("pname", GLenumGroup::SemaphoreParameterName, ParamType::TGLenum,
6507 pname);
6508
6509 if (isCallValid)
6510 {
6511 ParamCapture paramsParam("params", ParamType::TGLuint64Pointer);
6512 InitParamValue(ParamType::TGLuint64Pointer, params, ¶msParam.value);
6513 CaptureGetSemaphoreParameterui64vEXT_params(glState, isCallValid, semaphorePacked, pname,
6514 params, ¶msParam);
6515 paramBuffer.addParam(std::move(paramsParam));
6516 }
6517 else
6518 {
6519 ParamCapture paramsParam("params", ParamType::TGLuint64Pointer);
6520 InitParamValue(ParamType::TGLuint64Pointer, static_cast<GLuint64 *>(nullptr),
6521 ¶msParam.value);
6522 paramBuffer.addParam(std::move(paramsParam));
6523 }
6524
6525 return CallCapture(angle::EntryPoint::GLGetSemaphoreParameterui64vEXT, std::move(paramBuffer));
6526 }
6527
CaptureIsSemaphoreEXT(const State & glState,bool isCallValid,SemaphoreID semaphorePacked,GLboolean returnValue)6528 CallCapture CaptureIsSemaphoreEXT(const State &glState,
6529 bool isCallValid,
6530 SemaphoreID semaphorePacked,
6531 GLboolean returnValue)
6532 {
6533 ParamBuffer paramBuffer;
6534
6535 paramBuffer.addValueParam("semaphorePacked", ParamType::TSemaphoreID, semaphorePacked);
6536
6537 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
6538 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
6539 paramBuffer.addReturnValue(std::move(returnValueCapture));
6540
6541 return CallCapture(angle::EntryPoint::GLIsSemaphoreEXT, std::move(paramBuffer));
6542 }
6543
CaptureSemaphoreParameterui64vEXT(const State & glState,bool isCallValid,SemaphoreID semaphorePacked,GLenum pname,const GLuint64 * params)6544 CallCapture CaptureSemaphoreParameterui64vEXT(const State &glState,
6545 bool isCallValid,
6546 SemaphoreID semaphorePacked,
6547 GLenum pname,
6548 const GLuint64 *params)
6549 {
6550 ParamBuffer paramBuffer;
6551
6552 paramBuffer.addValueParam("semaphorePacked", ParamType::TSemaphoreID, semaphorePacked);
6553 paramBuffer.addEnumParam("pname", GLenumGroup::SemaphoreParameterName, ParamType::TGLenum,
6554 pname);
6555
6556 if (isCallValid)
6557 {
6558 ParamCapture paramsParam("params", ParamType::TGLuint64ConstPointer);
6559 InitParamValue(ParamType::TGLuint64ConstPointer, params, ¶msParam.value);
6560 CaptureSemaphoreParameterui64vEXT_params(glState, isCallValid, semaphorePacked, pname,
6561 params, ¶msParam);
6562 paramBuffer.addParam(std::move(paramsParam));
6563 }
6564 else
6565 {
6566 ParamCapture paramsParam("params", ParamType::TGLuint64ConstPointer);
6567 InitParamValue(ParamType::TGLuint64ConstPointer, static_cast<const GLuint64 *>(nullptr),
6568 ¶msParam.value);
6569 paramBuffer.addParam(std::move(paramsParam));
6570 }
6571
6572 return CallCapture(angle::EntryPoint::GLSemaphoreParameterui64vEXT, std::move(paramBuffer));
6573 }
6574
CaptureSignalSemaphoreEXT(const State & glState,bool isCallValid,SemaphoreID semaphorePacked,GLuint numBufferBarriers,const BufferID * buffersPacked,GLuint numTextureBarriers,const TextureID * texturesPacked,const GLenum * dstLayouts)6575 CallCapture CaptureSignalSemaphoreEXT(const State &glState,
6576 bool isCallValid,
6577 SemaphoreID semaphorePacked,
6578 GLuint numBufferBarriers,
6579 const BufferID *buffersPacked,
6580 GLuint numTextureBarriers,
6581 const TextureID *texturesPacked,
6582 const GLenum *dstLayouts)
6583 {
6584 ParamBuffer paramBuffer;
6585
6586 paramBuffer.addValueParam("semaphorePacked", ParamType::TSemaphoreID, semaphorePacked);
6587 paramBuffer.addValueParam("numBufferBarriers", ParamType::TGLuint, numBufferBarriers);
6588
6589 if (isCallValid)
6590 {
6591 ParamCapture buffersPackedParam("buffersPacked", ParamType::TBufferIDConstPointer);
6592 InitParamValue(ParamType::TBufferIDConstPointer, buffersPacked, &buffersPackedParam.value);
6593 CaptureSignalSemaphoreEXT_buffersPacked(
6594 glState, isCallValid, semaphorePacked, numBufferBarriers, buffersPacked,
6595 numTextureBarriers, texturesPacked, dstLayouts, &buffersPackedParam);
6596 paramBuffer.addParam(std::move(buffersPackedParam));
6597 }
6598 else
6599 {
6600 ParamCapture buffersPackedParam("buffersPacked", ParamType::TBufferIDConstPointer);
6601 InitParamValue(ParamType::TBufferIDConstPointer, static_cast<const BufferID *>(nullptr),
6602 &buffersPackedParam.value);
6603 paramBuffer.addParam(std::move(buffersPackedParam));
6604 }
6605
6606 paramBuffer.addValueParam("numTextureBarriers", ParamType::TGLuint, numTextureBarriers);
6607
6608 if (isCallValid)
6609 {
6610 ParamCapture texturesPackedParam("texturesPacked", ParamType::TTextureIDConstPointer);
6611 InitParamValue(ParamType::TTextureIDConstPointer, texturesPacked,
6612 &texturesPackedParam.value);
6613 CaptureSignalSemaphoreEXT_texturesPacked(
6614 glState, isCallValid, semaphorePacked, numBufferBarriers, buffersPacked,
6615 numTextureBarriers, texturesPacked, dstLayouts, &texturesPackedParam);
6616 paramBuffer.addParam(std::move(texturesPackedParam));
6617 }
6618 else
6619 {
6620 ParamCapture texturesPackedParam("texturesPacked", ParamType::TTextureIDConstPointer);
6621 InitParamValue(ParamType::TTextureIDConstPointer, static_cast<const TextureID *>(nullptr),
6622 &texturesPackedParam.value);
6623 paramBuffer.addParam(std::move(texturesPackedParam));
6624 }
6625
6626 if (isCallValid)
6627 {
6628 ParamCapture dstLayoutsParam("dstLayouts", ParamType::TGLenumConstPointer);
6629 InitParamValue(ParamType::TGLenumConstPointer, dstLayouts, &dstLayoutsParam.value);
6630 CaptureSignalSemaphoreEXT_dstLayouts(glState, isCallValid, semaphorePacked,
6631 numBufferBarriers, buffersPacked, numTextureBarriers,
6632 texturesPacked, dstLayouts, &dstLayoutsParam);
6633 paramBuffer.addParam(std::move(dstLayoutsParam));
6634 }
6635 else
6636 {
6637 ParamCapture dstLayoutsParam("dstLayouts", ParamType::TGLenumConstPointer);
6638 InitParamValue(ParamType::TGLenumConstPointer, static_cast<const GLenum *>(nullptr),
6639 &dstLayoutsParam.value);
6640 paramBuffer.addParam(std::move(dstLayoutsParam));
6641 }
6642
6643 return CallCapture(angle::EntryPoint::GLSignalSemaphoreEXT, std::move(paramBuffer));
6644 }
6645
CaptureWaitSemaphoreEXT(const State & glState,bool isCallValid,SemaphoreID semaphorePacked,GLuint numBufferBarriers,const BufferID * buffersPacked,GLuint numTextureBarriers,const TextureID * texturesPacked,const GLenum * srcLayouts)6646 CallCapture CaptureWaitSemaphoreEXT(const State &glState,
6647 bool isCallValid,
6648 SemaphoreID semaphorePacked,
6649 GLuint numBufferBarriers,
6650 const BufferID *buffersPacked,
6651 GLuint numTextureBarriers,
6652 const TextureID *texturesPacked,
6653 const GLenum *srcLayouts)
6654 {
6655 ParamBuffer paramBuffer;
6656
6657 paramBuffer.addValueParam("semaphorePacked", ParamType::TSemaphoreID, semaphorePacked);
6658 paramBuffer.addValueParam("numBufferBarriers", ParamType::TGLuint, numBufferBarriers);
6659
6660 if (isCallValid)
6661 {
6662 ParamCapture buffersPackedParam("buffersPacked", ParamType::TBufferIDConstPointer);
6663 InitParamValue(ParamType::TBufferIDConstPointer, buffersPacked, &buffersPackedParam.value);
6664 CaptureWaitSemaphoreEXT_buffersPacked(glState, isCallValid, semaphorePacked,
6665 numBufferBarriers, buffersPacked, numTextureBarriers,
6666 texturesPacked, srcLayouts, &buffersPackedParam);
6667 paramBuffer.addParam(std::move(buffersPackedParam));
6668 }
6669 else
6670 {
6671 ParamCapture buffersPackedParam("buffersPacked", ParamType::TBufferIDConstPointer);
6672 InitParamValue(ParamType::TBufferIDConstPointer, static_cast<const BufferID *>(nullptr),
6673 &buffersPackedParam.value);
6674 paramBuffer.addParam(std::move(buffersPackedParam));
6675 }
6676
6677 paramBuffer.addValueParam("numTextureBarriers", ParamType::TGLuint, numTextureBarriers);
6678
6679 if (isCallValid)
6680 {
6681 ParamCapture texturesPackedParam("texturesPacked", ParamType::TTextureIDConstPointer);
6682 InitParamValue(ParamType::TTextureIDConstPointer, texturesPacked,
6683 &texturesPackedParam.value);
6684 CaptureWaitSemaphoreEXT_texturesPacked(glState, isCallValid, semaphorePacked,
6685 numBufferBarriers, buffersPacked, numTextureBarriers,
6686 texturesPacked, srcLayouts, &texturesPackedParam);
6687 paramBuffer.addParam(std::move(texturesPackedParam));
6688 }
6689 else
6690 {
6691 ParamCapture texturesPackedParam("texturesPacked", ParamType::TTextureIDConstPointer);
6692 InitParamValue(ParamType::TTextureIDConstPointer, static_cast<const TextureID *>(nullptr),
6693 &texturesPackedParam.value);
6694 paramBuffer.addParam(std::move(texturesPackedParam));
6695 }
6696
6697 if (isCallValid)
6698 {
6699 ParamCapture srcLayoutsParam("srcLayouts", ParamType::TGLenumConstPointer);
6700 InitParamValue(ParamType::TGLenumConstPointer, srcLayouts, &srcLayoutsParam.value);
6701 CaptureWaitSemaphoreEXT_srcLayouts(glState, isCallValid, semaphorePacked, numBufferBarriers,
6702 buffersPacked, numTextureBarriers, texturesPacked,
6703 srcLayouts, &srcLayoutsParam);
6704 paramBuffer.addParam(std::move(srcLayoutsParam));
6705 }
6706 else
6707 {
6708 ParamCapture srcLayoutsParam("srcLayouts", ParamType::TGLenumConstPointer);
6709 InitParamValue(ParamType::TGLenumConstPointer, static_cast<const GLenum *>(nullptr),
6710 &srcLayoutsParam.value);
6711 paramBuffer.addParam(std::move(srcLayoutsParam));
6712 }
6713
6714 return CallCapture(angle::EntryPoint::GLWaitSemaphoreEXT, std::move(paramBuffer));
6715 }
6716
CaptureImportSemaphoreFdEXT(const State & glState,bool isCallValid,SemaphoreID semaphorePacked,HandleType handleTypePacked,GLint fd)6717 CallCapture CaptureImportSemaphoreFdEXT(const State &glState,
6718 bool isCallValid,
6719 SemaphoreID semaphorePacked,
6720 HandleType handleTypePacked,
6721 GLint fd)
6722 {
6723 ParamBuffer paramBuffer;
6724
6725 paramBuffer.addValueParam("semaphorePacked", ParamType::TSemaphoreID, semaphorePacked);
6726 paramBuffer.addValueParam("handleTypePacked", ParamType::THandleType, handleTypePacked);
6727 paramBuffer.addValueParam("fd", ParamType::TGLint, fd);
6728
6729 return CallCapture(angle::EntryPoint::GLImportSemaphoreFdEXT, std::move(paramBuffer));
6730 }
6731
CaptureActiveShaderProgramEXT(const State & glState,bool isCallValid,ProgramPipelineID pipelinePacked,ShaderProgramID programPacked)6732 CallCapture CaptureActiveShaderProgramEXT(const State &glState,
6733 bool isCallValid,
6734 ProgramPipelineID pipelinePacked,
6735 ShaderProgramID programPacked)
6736 {
6737 ParamBuffer paramBuffer;
6738
6739 paramBuffer.addValueParam("pipelinePacked", ParamType::TProgramPipelineID, pipelinePacked);
6740 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
6741
6742 return CallCapture(angle::EntryPoint::GLActiveShaderProgramEXT, std::move(paramBuffer));
6743 }
6744
CaptureBindProgramPipelineEXT(const State & glState,bool isCallValid,ProgramPipelineID pipelinePacked)6745 CallCapture CaptureBindProgramPipelineEXT(const State &glState,
6746 bool isCallValid,
6747 ProgramPipelineID pipelinePacked)
6748 {
6749 ParamBuffer paramBuffer;
6750
6751 paramBuffer.addValueParam("pipelinePacked", ParamType::TProgramPipelineID, pipelinePacked);
6752
6753 return CallCapture(angle::EntryPoint::GLBindProgramPipelineEXT, std::move(paramBuffer));
6754 }
6755
CaptureCreateShaderProgramvEXT(const State & glState,bool isCallValid,ShaderType typePacked,GLsizei count,const GLchar ** strings,GLuint returnValue)6756 CallCapture CaptureCreateShaderProgramvEXT(const State &glState,
6757 bool isCallValid,
6758 ShaderType typePacked,
6759 GLsizei count,
6760 const GLchar **strings,
6761 GLuint returnValue)
6762 {
6763 ParamBuffer paramBuffer;
6764
6765 paramBuffer.addValueParam("typePacked", ParamType::TShaderType, typePacked);
6766 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
6767
6768 if (isCallValid)
6769 {
6770 ParamCapture stringsParam("strings", ParamType::TGLcharConstPointerPointer);
6771 InitParamValue(ParamType::TGLcharConstPointerPointer, strings, &stringsParam.value);
6772 CaptureCreateShaderProgramvEXT_strings(glState, isCallValid, typePacked, count, strings,
6773 &stringsParam);
6774 paramBuffer.addParam(std::move(stringsParam));
6775 }
6776 else
6777 {
6778 ParamCapture stringsParam("strings", ParamType::TGLcharConstPointerPointer);
6779 InitParamValue(ParamType::TGLcharConstPointerPointer, static_cast<const GLchar **>(nullptr),
6780 &stringsParam.value);
6781 paramBuffer.addParam(std::move(stringsParam));
6782 }
6783
6784 ParamCapture returnValueCapture("returnValue", ParamType::TGLuint);
6785 InitParamValue(ParamType::TGLuint, returnValue, &returnValueCapture.value);
6786 paramBuffer.addReturnValue(std::move(returnValueCapture));
6787
6788 return CallCapture(angle::EntryPoint::GLCreateShaderProgramvEXT, std::move(paramBuffer));
6789 }
6790
CaptureDeleteProgramPipelinesEXT(const State & glState,bool isCallValid,GLsizei n,const ProgramPipelineID * pipelinesPacked)6791 CallCapture CaptureDeleteProgramPipelinesEXT(const State &glState,
6792 bool isCallValid,
6793 GLsizei n,
6794 const ProgramPipelineID *pipelinesPacked)
6795 {
6796 ParamBuffer paramBuffer;
6797
6798 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
6799
6800 if (isCallValid)
6801 {
6802 ParamCapture pipelinesPackedParam("pipelinesPacked",
6803 ParamType::TProgramPipelineIDConstPointer);
6804 InitParamValue(ParamType::TProgramPipelineIDConstPointer, pipelinesPacked,
6805 &pipelinesPackedParam.value);
6806 CaptureDeleteProgramPipelinesEXT_pipelinesPacked(glState, isCallValid, n, pipelinesPacked,
6807 &pipelinesPackedParam);
6808 paramBuffer.addParam(std::move(pipelinesPackedParam));
6809 }
6810 else
6811 {
6812 ParamCapture pipelinesPackedParam("pipelinesPacked",
6813 ParamType::TProgramPipelineIDConstPointer);
6814 InitParamValue(ParamType::TProgramPipelineIDConstPointer,
6815 static_cast<const ProgramPipelineID *>(nullptr),
6816 &pipelinesPackedParam.value);
6817 paramBuffer.addParam(std::move(pipelinesPackedParam));
6818 }
6819
6820 return CallCapture(angle::EntryPoint::GLDeleteProgramPipelinesEXT, std::move(paramBuffer));
6821 }
6822
CaptureGenProgramPipelinesEXT(const State & glState,bool isCallValid,GLsizei n,ProgramPipelineID * pipelinesPacked)6823 CallCapture CaptureGenProgramPipelinesEXT(const State &glState,
6824 bool isCallValid,
6825 GLsizei n,
6826 ProgramPipelineID *pipelinesPacked)
6827 {
6828 ParamBuffer paramBuffer;
6829
6830 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
6831
6832 if (isCallValid)
6833 {
6834 ParamCapture pipelinesPackedParam("pipelinesPacked", ParamType::TProgramPipelineIDPointer);
6835 InitParamValue(ParamType::TProgramPipelineIDPointer, pipelinesPacked,
6836 &pipelinesPackedParam.value);
6837 CaptureGenProgramPipelinesEXT_pipelinesPacked(glState, isCallValid, n, pipelinesPacked,
6838 &pipelinesPackedParam);
6839 paramBuffer.addParam(std::move(pipelinesPackedParam));
6840 }
6841 else
6842 {
6843 ParamCapture pipelinesPackedParam("pipelinesPacked", ParamType::TProgramPipelineIDPointer);
6844 InitParamValue(ParamType::TProgramPipelineIDPointer,
6845 static_cast<ProgramPipelineID *>(nullptr), &pipelinesPackedParam.value);
6846 paramBuffer.addParam(std::move(pipelinesPackedParam));
6847 }
6848
6849 return CallCapture(angle::EntryPoint::GLGenProgramPipelinesEXT, std::move(paramBuffer));
6850 }
6851
CaptureGetProgramPipelineInfoLogEXT(const State & glState,bool isCallValid,ProgramPipelineID pipelinePacked,GLsizei bufSize,GLsizei * length,GLchar * infoLog)6852 CallCapture CaptureGetProgramPipelineInfoLogEXT(const State &glState,
6853 bool isCallValid,
6854 ProgramPipelineID pipelinePacked,
6855 GLsizei bufSize,
6856 GLsizei *length,
6857 GLchar *infoLog)
6858 {
6859 ParamBuffer paramBuffer;
6860
6861 paramBuffer.addValueParam("pipelinePacked", ParamType::TProgramPipelineID, pipelinePacked);
6862 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
6863
6864 if (isCallValid)
6865 {
6866 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
6867 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
6868 CaptureGetProgramPipelineInfoLogEXT_length(glState, isCallValid, pipelinePacked, bufSize,
6869 length, infoLog, &lengthParam);
6870 paramBuffer.addParam(std::move(lengthParam));
6871 }
6872 else
6873 {
6874 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
6875 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
6876 &lengthParam.value);
6877 paramBuffer.addParam(std::move(lengthParam));
6878 }
6879
6880 if (isCallValid)
6881 {
6882 ParamCapture infoLogParam("infoLog", ParamType::TGLcharPointer);
6883 InitParamValue(ParamType::TGLcharPointer, infoLog, &infoLogParam.value);
6884 CaptureGetProgramPipelineInfoLogEXT_infoLog(glState, isCallValid, pipelinePacked, bufSize,
6885 length, infoLog, &infoLogParam);
6886 paramBuffer.addParam(std::move(infoLogParam));
6887 }
6888 else
6889 {
6890 ParamCapture infoLogParam("infoLog", ParamType::TGLcharPointer);
6891 InitParamValue(ParamType::TGLcharPointer, static_cast<GLchar *>(nullptr),
6892 &infoLogParam.value);
6893 paramBuffer.addParam(std::move(infoLogParam));
6894 }
6895
6896 return CallCapture(angle::EntryPoint::GLGetProgramPipelineInfoLogEXT, std::move(paramBuffer));
6897 }
6898
CaptureGetProgramPipelineivEXT(const State & glState,bool isCallValid,ProgramPipelineID pipelinePacked,GLenum pname,GLint * params)6899 CallCapture CaptureGetProgramPipelineivEXT(const State &glState,
6900 bool isCallValid,
6901 ProgramPipelineID pipelinePacked,
6902 GLenum pname,
6903 GLint *params)
6904 {
6905 ParamBuffer paramBuffer;
6906
6907 paramBuffer.addValueParam("pipelinePacked", ParamType::TProgramPipelineID, pipelinePacked);
6908 paramBuffer.addEnumParam("pname", GLenumGroup::PipelineParameterName, ParamType::TGLenum,
6909 pname);
6910
6911 if (isCallValid)
6912 {
6913 ParamCapture paramsParam("params", ParamType::TGLintPointer);
6914 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
6915 CaptureGetProgramPipelineivEXT_params(glState, isCallValid, pipelinePacked, pname, params,
6916 ¶msParam);
6917 paramBuffer.addParam(std::move(paramsParam));
6918 }
6919 else
6920 {
6921 ParamCapture paramsParam("params", ParamType::TGLintPointer);
6922 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
6923 paramBuffer.addParam(std::move(paramsParam));
6924 }
6925
6926 return CallCapture(angle::EntryPoint::GLGetProgramPipelineivEXT, std::move(paramBuffer));
6927 }
6928
CaptureIsProgramPipelineEXT(const State & glState,bool isCallValid,ProgramPipelineID pipelinePacked,GLboolean returnValue)6929 CallCapture CaptureIsProgramPipelineEXT(const State &glState,
6930 bool isCallValid,
6931 ProgramPipelineID pipelinePacked,
6932 GLboolean returnValue)
6933 {
6934 ParamBuffer paramBuffer;
6935
6936 paramBuffer.addValueParam("pipelinePacked", ParamType::TProgramPipelineID, pipelinePacked);
6937
6938 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
6939 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
6940 paramBuffer.addReturnValue(std::move(returnValueCapture));
6941
6942 return CallCapture(angle::EntryPoint::GLIsProgramPipelineEXT, std::move(paramBuffer));
6943 }
6944
CaptureProgramParameteriEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,GLenum pname,GLint value)6945 CallCapture CaptureProgramParameteriEXT(const State &glState,
6946 bool isCallValid,
6947 ShaderProgramID programPacked,
6948 GLenum pname,
6949 GLint value)
6950 {
6951 ParamBuffer paramBuffer;
6952
6953 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
6954 paramBuffer.addEnumParam("pname", GLenumGroup::ProgramParameterPName, ParamType::TGLenum,
6955 pname);
6956 paramBuffer.addValueParam("value", ParamType::TGLint, value);
6957
6958 return CallCapture(angle::EntryPoint::GLProgramParameteriEXT, std::move(paramBuffer));
6959 }
6960
CaptureProgramUniform1fEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLfloat v0)6961 CallCapture CaptureProgramUniform1fEXT(const State &glState,
6962 bool isCallValid,
6963 ShaderProgramID programPacked,
6964 UniformLocation locationPacked,
6965 GLfloat v0)
6966 {
6967 ParamBuffer paramBuffer;
6968
6969 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
6970 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
6971 paramBuffer.addValueParam("v0", ParamType::TGLfloat, v0);
6972
6973 return CallCapture(angle::EntryPoint::GLProgramUniform1fEXT, std::move(paramBuffer));
6974 }
6975
CaptureProgramUniform1fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLfloat * value)6976 CallCapture CaptureProgramUniform1fvEXT(const State &glState,
6977 bool isCallValid,
6978 ShaderProgramID programPacked,
6979 UniformLocation locationPacked,
6980 GLsizei count,
6981 const GLfloat *value)
6982 {
6983 ParamBuffer paramBuffer;
6984
6985 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
6986 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
6987 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
6988
6989 if (isCallValid)
6990 {
6991 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
6992 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
6993 CaptureProgramUniform1fvEXT_value(glState, isCallValid, programPacked, locationPacked,
6994 count, value, &valueParam);
6995 paramBuffer.addParam(std::move(valueParam));
6996 }
6997 else
6998 {
6999 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7000 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7001 &valueParam.value);
7002 paramBuffer.addParam(std::move(valueParam));
7003 }
7004
7005 return CallCapture(angle::EntryPoint::GLProgramUniform1fvEXT, std::move(paramBuffer));
7006 }
7007
CaptureProgramUniform1iEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLint v0)7008 CallCapture CaptureProgramUniform1iEXT(const State &glState,
7009 bool isCallValid,
7010 ShaderProgramID programPacked,
7011 UniformLocation locationPacked,
7012 GLint v0)
7013 {
7014 ParamBuffer paramBuffer;
7015
7016 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7017 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7018 paramBuffer.addValueParam("v0", ParamType::TGLint, v0);
7019
7020 return CallCapture(angle::EntryPoint::GLProgramUniform1iEXT, std::move(paramBuffer));
7021 }
7022
CaptureProgramUniform1ivEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLint * value)7023 CallCapture CaptureProgramUniform1ivEXT(const State &glState,
7024 bool isCallValid,
7025 ShaderProgramID programPacked,
7026 UniformLocation locationPacked,
7027 GLsizei count,
7028 const GLint *value)
7029 {
7030 ParamBuffer paramBuffer;
7031
7032 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7033 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7034 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7035
7036 if (isCallValid)
7037 {
7038 ParamCapture valueParam("value", ParamType::TGLintConstPointer);
7039 InitParamValue(ParamType::TGLintConstPointer, value, &valueParam.value);
7040 CaptureProgramUniform1ivEXT_value(glState, isCallValid, programPacked, locationPacked,
7041 count, value, &valueParam);
7042 paramBuffer.addParam(std::move(valueParam));
7043 }
7044 else
7045 {
7046 ParamCapture valueParam("value", ParamType::TGLintConstPointer);
7047 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
7048 &valueParam.value);
7049 paramBuffer.addParam(std::move(valueParam));
7050 }
7051
7052 return CallCapture(angle::EntryPoint::GLProgramUniform1ivEXT, std::move(paramBuffer));
7053 }
7054
CaptureProgramUniform1uiEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLuint v0)7055 CallCapture CaptureProgramUniform1uiEXT(const State &glState,
7056 bool isCallValid,
7057 ShaderProgramID programPacked,
7058 UniformLocation locationPacked,
7059 GLuint v0)
7060 {
7061 ParamBuffer paramBuffer;
7062
7063 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7064 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7065 paramBuffer.addValueParam("v0", ParamType::TGLuint, v0);
7066
7067 return CallCapture(angle::EntryPoint::GLProgramUniform1uiEXT, std::move(paramBuffer));
7068 }
7069
CaptureProgramUniform1uivEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLuint * value)7070 CallCapture CaptureProgramUniform1uivEXT(const State &glState,
7071 bool isCallValid,
7072 ShaderProgramID programPacked,
7073 UniformLocation locationPacked,
7074 GLsizei count,
7075 const GLuint *value)
7076 {
7077 ParamBuffer paramBuffer;
7078
7079 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7080 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7081 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7082
7083 if (isCallValid)
7084 {
7085 ParamCapture valueParam("value", ParamType::TGLuintConstPointer);
7086 InitParamValue(ParamType::TGLuintConstPointer, value, &valueParam.value);
7087 CaptureProgramUniform1uivEXT_value(glState, isCallValid, programPacked, locationPacked,
7088 count, value, &valueParam);
7089 paramBuffer.addParam(std::move(valueParam));
7090 }
7091 else
7092 {
7093 ParamCapture valueParam("value", ParamType::TGLuintConstPointer);
7094 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
7095 &valueParam.value);
7096 paramBuffer.addParam(std::move(valueParam));
7097 }
7098
7099 return CallCapture(angle::EntryPoint::GLProgramUniform1uivEXT, std::move(paramBuffer));
7100 }
7101
CaptureProgramUniform2fEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLfloat v0,GLfloat v1)7102 CallCapture CaptureProgramUniform2fEXT(const State &glState,
7103 bool isCallValid,
7104 ShaderProgramID programPacked,
7105 UniformLocation locationPacked,
7106 GLfloat v0,
7107 GLfloat v1)
7108 {
7109 ParamBuffer paramBuffer;
7110
7111 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7112 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7113 paramBuffer.addValueParam("v0", ParamType::TGLfloat, v0);
7114 paramBuffer.addValueParam("v1", ParamType::TGLfloat, v1);
7115
7116 return CallCapture(angle::EntryPoint::GLProgramUniform2fEXT, std::move(paramBuffer));
7117 }
7118
CaptureProgramUniform2fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLfloat * value)7119 CallCapture CaptureProgramUniform2fvEXT(const State &glState,
7120 bool isCallValid,
7121 ShaderProgramID programPacked,
7122 UniformLocation locationPacked,
7123 GLsizei count,
7124 const GLfloat *value)
7125 {
7126 ParamBuffer paramBuffer;
7127
7128 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7129 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7130 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7131
7132 if (isCallValid)
7133 {
7134 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7135 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7136 CaptureProgramUniform2fvEXT_value(glState, isCallValid, programPacked, locationPacked,
7137 count, value, &valueParam);
7138 paramBuffer.addParam(std::move(valueParam));
7139 }
7140 else
7141 {
7142 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7143 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7144 &valueParam.value);
7145 paramBuffer.addParam(std::move(valueParam));
7146 }
7147
7148 return CallCapture(angle::EntryPoint::GLProgramUniform2fvEXT, std::move(paramBuffer));
7149 }
7150
CaptureProgramUniform2iEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLint v0,GLint v1)7151 CallCapture CaptureProgramUniform2iEXT(const State &glState,
7152 bool isCallValid,
7153 ShaderProgramID programPacked,
7154 UniformLocation locationPacked,
7155 GLint v0,
7156 GLint v1)
7157 {
7158 ParamBuffer paramBuffer;
7159
7160 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7161 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7162 paramBuffer.addValueParam("v0", ParamType::TGLint, v0);
7163 paramBuffer.addValueParam("v1", ParamType::TGLint, v1);
7164
7165 return CallCapture(angle::EntryPoint::GLProgramUniform2iEXT, std::move(paramBuffer));
7166 }
7167
CaptureProgramUniform2ivEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLint * value)7168 CallCapture CaptureProgramUniform2ivEXT(const State &glState,
7169 bool isCallValid,
7170 ShaderProgramID programPacked,
7171 UniformLocation locationPacked,
7172 GLsizei count,
7173 const GLint *value)
7174 {
7175 ParamBuffer paramBuffer;
7176
7177 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7178 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7179 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7180
7181 if (isCallValid)
7182 {
7183 ParamCapture valueParam("value", ParamType::TGLintConstPointer);
7184 InitParamValue(ParamType::TGLintConstPointer, value, &valueParam.value);
7185 CaptureProgramUniform2ivEXT_value(glState, isCallValid, programPacked, locationPacked,
7186 count, value, &valueParam);
7187 paramBuffer.addParam(std::move(valueParam));
7188 }
7189 else
7190 {
7191 ParamCapture valueParam("value", ParamType::TGLintConstPointer);
7192 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
7193 &valueParam.value);
7194 paramBuffer.addParam(std::move(valueParam));
7195 }
7196
7197 return CallCapture(angle::EntryPoint::GLProgramUniform2ivEXT, std::move(paramBuffer));
7198 }
7199
CaptureProgramUniform2uiEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLuint v0,GLuint v1)7200 CallCapture CaptureProgramUniform2uiEXT(const State &glState,
7201 bool isCallValid,
7202 ShaderProgramID programPacked,
7203 UniformLocation locationPacked,
7204 GLuint v0,
7205 GLuint v1)
7206 {
7207 ParamBuffer paramBuffer;
7208
7209 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7210 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7211 paramBuffer.addValueParam("v0", ParamType::TGLuint, v0);
7212 paramBuffer.addValueParam("v1", ParamType::TGLuint, v1);
7213
7214 return CallCapture(angle::EntryPoint::GLProgramUniform2uiEXT, std::move(paramBuffer));
7215 }
7216
CaptureProgramUniform2uivEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLuint * value)7217 CallCapture CaptureProgramUniform2uivEXT(const State &glState,
7218 bool isCallValid,
7219 ShaderProgramID programPacked,
7220 UniformLocation locationPacked,
7221 GLsizei count,
7222 const GLuint *value)
7223 {
7224 ParamBuffer paramBuffer;
7225
7226 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7227 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7228 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7229
7230 if (isCallValid)
7231 {
7232 ParamCapture valueParam("value", ParamType::TGLuintConstPointer);
7233 InitParamValue(ParamType::TGLuintConstPointer, value, &valueParam.value);
7234 CaptureProgramUniform2uivEXT_value(glState, isCallValid, programPacked, locationPacked,
7235 count, value, &valueParam);
7236 paramBuffer.addParam(std::move(valueParam));
7237 }
7238 else
7239 {
7240 ParamCapture valueParam("value", ParamType::TGLuintConstPointer);
7241 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
7242 &valueParam.value);
7243 paramBuffer.addParam(std::move(valueParam));
7244 }
7245
7246 return CallCapture(angle::EntryPoint::GLProgramUniform2uivEXT, std::move(paramBuffer));
7247 }
7248
CaptureProgramUniform3fEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLfloat v0,GLfloat v1,GLfloat v2)7249 CallCapture CaptureProgramUniform3fEXT(const State &glState,
7250 bool isCallValid,
7251 ShaderProgramID programPacked,
7252 UniformLocation locationPacked,
7253 GLfloat v0,
7254 GLfloat v1,
7255 GLfloat v2)
7256 {
7257 ParamBuffer paramBuffer;
7258
7259 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7260 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7261 paramBuffer.addValueParam("v0", ParamType::TGLfloat, v0);
7262 paramBuffer.addValueParam("v1", ParamType::TGLfloat, v1);
7263 paramBuffer.addValueParam("v2", ParamType::TGLfloat, v2);
7264
7265 return CallCapture(angle::EntryPoint::GLProgramUniform3fEXT, std::move(paramBuffer));
7266 }
7267
CaptureProgramUniform3fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLfloat * value)7268 CallCapture CaptureProgramUniform3fvEXT(const State &glState,
7269 bool isCallValid,
7270 ShaderProgramID programPacked,
7271 UniformLocation locationPacked,
7272 GLsizei count,
7273 const GLfloat *value)
7274 {
7275 ParamBuffer paramBuffer;
7276
7277 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7278 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7279 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7280
7281 if (isCallValid)
7282 {
7283 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7284 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7285 CaptureProgramUniform3fvEXT_value(glState, isCallValid, programPacked, locationPacked,
7286 count, value, &valueParam);
7287 paramBuffer.addParam(std::move(valueParam));
7288 }
7289 else
7290 {
7291 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7292 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7293 &valueParam.value);
7294 paramBuffer.addParam(std::move(valueParam));
7295 }
7296
7297 return CallCapture(angle::EntryPoint::GLProgramUniform3fvEXT, std::move(paramBuffer));
7298 }
7299
CaptureProgramUniform3iEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLint v0,GLint v1,GLint v2)7300 CallCapture CaptureProgramUniform3iEXT(const State &glState,
7301 bool isCallValid,
7302 ShaderProgramID programPacked,
7303 UniformLocation locationPacked,
7304 GLint v0,
7305 GLint v1,
7306 GLint v2)
7307 {
7308 ParamBuffer paramBuffer;
7309
7310 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7311 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7312 paramBuffer.addValueParam("v0", ParamType::TGLint, v0);
7313 paramBuffer.addValueParam("v1", ParamType::TGLint, v1);
7314 paramBuffer.addValueParam("v2", ParamType::TGLint, v2);
7315
7316 return CallCapture(angle::EntryPoint::GLProgramUniform3iEXT, std::move(paramBuffer));
7317 }
7318
CaptureProgramUniform3ivEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLint * value)7319 CallCapture CaptureProgramUniform3ivEXT(const State &glState,
7320 bool isCallValid,
7321 ShaderProgramID programPacked,
7322 UniformLocation locationPacked,
7323 GLsizei count,
7324 const GLint *value)
7325 {
7326 ParamBuffer paramBuffer;
7327
7328 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7329 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7330 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7331
7332 if (isCallValid)
7333 {
7334 ParamCapture valueParam("value", ParamType::TGLintConstPointer);
7335 InitParamValue(ParamType::TGLintConstPointer, value, &valueParam.value);
7336 CaptureProgramUniform3ivEXT_value(glState, isCallValid, programPacked, locationPacked,
7337 count, value, &valueParam);
7338 paramBuffer.addParam(std::move(valueParam));
7339 }
7340 else
7341 {
7342 ParamCapture valueParam("value", ParamType::TGLintConstPointer);
7343 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
7344 &valueParam.value);
7345 paramBuffer.addParam(std::move(valueParam));
7346 }
7347
7348 return CallCapture(angle::EntryPoint::GLProgramUniform3ivEXT, std::move(paramBuffer));
7349 }
7350
CaptureProgramUniform3uiEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLuint v0,GLuint v1,GLuint v2)7351 CallCapture CaptureProgramUniform3uiEXT(const State &glState,
7352 bool isCallValid,
7353 ShaderProgramID programPacked,
7354 UniformLocation locationPacked,
7355 GLuint v0,
7356 GLuint v1,
7357 GLuint v2)
7358 {
7359 ParamBuffer paramBuffer;
7360
7361 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7362 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7363 paramBuffer.addValueParam("v0", ParamType::TGLuint, v0);
7364 paramBuffer.addValueParam("v1", ParamType::TGLuint, v1);
7365 paramBuffer.addValueParam("v2", ParamType::TGLuint, v2);
7366
7367 return CallCapture(angle::EntryPoint::GLProgramUniform3uiEXT, std::move(paramBuffer));
7368 }
7369
CaptureProgramUniform3uivEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLuint * value)7370 CallCapture CaptureProgramUniform3uivEXT(const State &glState,
7371 bool isCallValid,
7372 ShaderProgramID programPacked,
7373 UniformLocation locationPacked,
7374 GLsizei count,
7375 const GLuint *value)
7376 {
7377 ParamBuffer paramBuffer;
7378
7379 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7380 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7381 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7382
7383 if (isCallValid)
7384 {
7385 ParamCapture valueParam("value", ParamType::TGLuintConstPointer);
7386 InitParamValue(ParamType::TGLuintConstPointer, value, &valueParam.value);
7387 CaptureProgramUniform3uivEXT_value(glState, isCallValid, programPacked, locationPacked,
7388 count, value, &valueParam);
7389 paramBuffer.addParam(std::move(valueParam));
7390 }
7391 else
7392 {
7393 ParamCapture valueParam("value", ParamType::TGLuintConstPointer);
7394 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
7395 &valueParam.value);
7396 paramBuffer.addParam(std::move(valueParam));
7397 }
7398
7399 return CallCapture(angle::EntryPoint::GLProgramUniform3uivEXT, std::move(paramBuffer));
7400 }
7401
CaptureProgramUniform4fEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLfloat v0,GLfloat v1,GLfloat v2,GLfloat v3)7402 CallCapture CaptureProgramUniform4fEXT(const State &glState,
7403 bool isCallValid,
7404 ShaderProgramID programPacked,
7405 UniformLocation locationPacked,
7406 GLfloat v0,
7407 GLfloat v1,
7408 GLfloat v2,
7409 GLfloat v3)
7410 {
7411 ParamBuffer paramBuffer;
7412
7413 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7414 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7415 paramBuffer.addValueParam("v0", ParamType::TGLfloat, v0);
7416 paramBuffer.addValueParam("v1", ParamType::TGLfloat, v1);
7417 paramBuffer.addValueParam("v2", ParamType::TGLfloat, v2);
7418 paramBuffer.addValueParam("v3", ParamType::TGLfloat, v3);
7419
7420 return CallCapture(angle::EntryPoint::GLProgramUniform4fEXT, std::move(paramBuffer));
7421 }
7422
CaptureProgramUniform4fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLfloat * value)7423 CallCapture CaptureProgramUniform4fvEXT(const State &glState,
7424 bool isCallValid,
7425 ShaderProgramID programPacked,
7426 UniformLocation locationPacked,
7427 GLsizei count,
7428 const GLfloat *value)
7429 {
7430 ParamBuffer paramBuffer;
7431
7432 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7433 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7434 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7435
7436 if (isCallValid)
7437 {
7438 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7439 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7440 CaptureProgramUniform4fvEXT_value(glState, isCallValid, programPacked, locationPacked,
7441 count, value, &valueParam);
7442 paramBuffer.addParam(std::move(valueParam));
7443 }
7444 else
7445 {
7446 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7447 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7448 &valueParam.value);
7449 paramBuffer.addParam(std::move(valueParam));
7450 }
7451
7452 return CallCapture(angle::EntryPoint::GLProgramUniform4fvEXT, std::move(paramBuffer));
7453 }
7454
CaptureProgramUniform4iEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLint v0,GLint v1,GLint v2,GLint v3)7455 CallCapture CaptureProgramUniform4iEXT(const State &glState,
7456 bool isCallValid,
7457 ShaderProgramID programPacked,
7458 UniformLocation locationPacked,
7459 GLint v0,
7460 GLint v1,
7461 GLint v2,
7462 GLint v3)
7463 {
7464 ParamBuffer paramBuffer;
7465
7466 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7467 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7468 paramBuffer.addValueParam("v0", ParamType::TGLint, v0);
7469 paramBuffer.addValueParam("v1", ParamType::TGLint, v1);
7470 paramBuffer.addValueParam("v2", ParamType::TGLint, v2);
7471 paramBuffer.addValueParam("v3", ParamType::TGLint, v3);
7472
7473 return CallCapture(angle::EntryPoint::GLProgramUniform4iEXT, std::move(paramBuffer));
7474 }
7475
CaptureProgramUniform4ivEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLint * value)7476 CallCapture CaptureProgramUniform4ivEXT(const State &glState,
7477 bool isCallValid,
7478 ShaderProgramID programPacked,
7479 UniformLocation locationPacked,
7480 GLsizei count,
7481 const GLint *value)
7482 {
7483 ParamBuffer paramBuffer;
7484
7485 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7486 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7487 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7488
7489 if (isCallValid)
7490 {
7491 ParamCapture valueParam("value", ParamType::TGLintConstPointer);
7492 InitParamValue(ParamType::TGLintConstPointer, value, &valueParam.value);
7493 CaptureProgramUniform4ivEXT_value(glState, isCallValid, programPacked, locationPacked,
7494 count, value, &valueParam);
7495 paramBuffer.addParam(std::move(valueParam));
7496 }
7497 else
7498 {
7499 ParamCapture valueParam("value", ParamType::TGLintConstPointer);
7500 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
7501 &valueParam.value);
7502 paramBuffer.addParam(std::move(valueParam));
7503 }
7504
7505 return CallCapture(angle::EntryPoint::GLProgramUniform4ivEXT, std::move(paramBuffer));
7506 }
7507
CaptureProgramUniform4uiEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLuint v0,GLuint v1,GLuint v2,GLuint v3)7508 CallCapture CaptureProgramUniform4uiEXT(const State &glState,
7509 bool isCallValid,
7510 ShaderProgramID programPacked,
7511 UniformLocation locationPacked,
7512 GLuint v0,
7513 GLuint v1,
7514 GLuint v2,
7515 GLuint v3)
7516 {
7517 ParamBuffer paramBuffer;
7518
7519 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7520 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7521 paramBuffer.addValueParam("v0", ParamType::TGLuint, v0);
7522 paramBuffer.addValueParam("v1", ParamType::TGLuint, v1);
7523 paramBuffer.addValueParam("v2", ParamType::TGLuint, v2);
7524 paramBuffer.addValueParam("v3", ParamType::TGLuint, v3);
7525
7526 return CallCapture(angle::EntryPoint::GLProgramUniform4uiEXT, std::move(paramBuffer));
7527 }
7528
CaptureProgramUniform4uivEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,const GLuint * value)7529 CallCapture CaptureProgramUniform4uivEXT(const State &glState,
7530 bool isCallValid,
7531 ShaderProgramID programPacked,
7532 UniformLocation locationPacked,
7533 GLsizei count,
7534 const GLuint *value)
7535 {
7536 ParamBuffer paramBuffer;
7537
7538 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7539 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7540 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7541
7542 if (isCallValid)
7543 {
7544 ParamCapture valueParam("value", ParamType::TGLuintConstPointer);
7545 InitParamValue(ParamType::TGLuintConstPointer, value, &valueParam.value);
7546 CaptureProgramUniform4uivEXT_value(glState, isCallValid, programPacked, locationPacked,
7547 count, value, &valueParam);
7548 paramBuffer.addParam(std::move(valueParam));
7549 }
7550 else
7551 {
7552 ParamCapture valueParam("value", ParamType::TGLuintConstPointer);
7553 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
7554 &valueParam.value);
7555 paramBuffer.addParam(std::move(valueParam));
7556 }
7557
7558 return CallCapture(angle::EntryPoint::GLProgramUniform4uivEXT, std::move(paramBuffer));
7559 }
7560
CaptureProgramUniformMatrix2fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,GLboolean transpose,const GLfloat * value)7561 CallCapture CaptureProgramUniformMatrix2fvEXT(const State &glState,
7562 bool isCallValid,
7563 ShaderProgramID programPacked,
7564 UniformLocation locationPacked,
7565 GLsizei count,
7566 GLboolean transpose,
7567 const GLfloat *value)
7568 {
7569 ParamBuffer paramBuffer;
7570
7571 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7572 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7573 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7574 paramBuffer.addValueParam("transpose", ParamType::TGLboolean, transpose);
7575
7576 if (isCallValid)
7577 {
7578 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7579 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7580 CaptureProgramUniformMatrix2fvEXT_value(glState, isCallValid, programPacked, locationPacked,
7581 count, transpose, value, &valueParam);
7582 paramBuffer.addParam(std::move(valueParam));
7583 }
7584 else
7585 {
7586 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7587 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7588 &valueParam.value);
7589 paramBuffer.addParam(std::move(valueParam));
7590 }
7591
7592 return CallCapture(angle::EntryPoint::GLProgramUniformMatrix2fvEXT, std::move(paramBuffer));
7593 }
7594
CaptureProgramUniformMatrix2x3fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,GLboolean transpose,const GLfloat * value)7595 CallCapture CaptureProgramUniformMatrix2x3fvEXT(const State &glState,
7596 bool isCallValid,
7597 ShaderProgramID programPacked,
7598 UniformLocation locationPacked,
7599 GLsizei count,
7600 GLboolean transpose,
7601 const GLfloat *value)
7602 {
7603 ParamBuffer paramBuffer;
7604
7605 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7606 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7607 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7608 paramBuffer.addValueParam("transpose", ParamType::TGLboolean, transpose);
7609
7610 if (isCallValid)
7611 {
7612 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7613 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7614 CaptureProgramUniformMatrix2x3fvEXT_value(glState, isCallValid, programPacked,
7615 locationPacked, count, transpose, value,
7616 &valueParam);
7617 paramBuffer.addParam(std::move(valueParam));
7618 }
7619 else
7620 {
7621 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7622 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7623 &valueParam.value);
7624 paramBuffer.addParam(std::move(valueParam));
7625 }
7626
7627 return CallCapture(angle::EntryPoint::GLProgramUniformMatrix2x3fvEXT, std::move(paramBuffer));
7628 }
7629
CaptureProgramUniformMatrix2x4fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,GLboolean transpose,const GLfloat * value)7630 CallCapture CaptureProgramUniformMatrix2x4fvEXT(const State &glState,
7631 bool isCallValid,
7632 ShaderProgramID programPacked,
7633 UniformLocation locationPacked,
7634 GLsizei count,
7635 GLboolean transpose,
7636 const GLfloat *value)
7637 {
7638 ParamBuffer paramBuffer;
7639
7640 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7641 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7642 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7643 paramBuffer.addValueParam("transpose", ParamType::TGLboolean, transpose);
7644
7645 if (isCallValid)
7646 {
7647 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7648 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7649 CaptureProgramUniformMatrix2x4fvEXT_value(glState, isCallValid, programPacked,
7650 locationPacked, count, transpose, value,
7651 &valueParam);
7652 paramBuffer.addParam(std::move(valueParam));
7653 }
7654 else
7655 {
7656 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7657 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7658 &valueParam.value);
7659 paramBuffer.addParam(std::move(valueParam));
7660 }
7661
7662 return CallCapture(angle::EntryPoint::GLProgramUniformMatrix2x4fvEXT, std::move(paramBuffer));
7663 }
7664
CaptureProgramUniformMatrix3fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,GLboolean transpose,const GLfloat * value)7665 CallCapture CaptureProgramUniformMatrix3fvEXT(const State &glState,
7666 bool isCallValid,
7667 ShaderProgramID programPacked,
7668 UniformLocation locationPacked,
7669 GLsizei count,
7670 GLboolean transpose,
7671 const GLfloat *value)
7672 {
7673 ParamBuffer paramBuffer;
7674
7675 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7676 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7677 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7678 paramBuffer.addValueParam("transpose", ParamType::TGLboolean, transpose);
7679
7680 if (isCallValid)
7681 {
7682 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7683 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7684 CaptureProgramUniformMatrix3fvEXT_value(glState, isCallValid, programPacked, locationPacked,
7685 count, transpose, value, &valueParam);
7686 paramBuffer.addParam(std::move(valueParam));
7687 }
7688 else
7689 {
7690 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7691 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7692 &valueParam.value);
7693 paramBuffer.addParam(std::move(valueParam));
7694 }
7695
7696 return CallCapture(angle::EntryPoint::GLProgramUniformMatrix3fvEXT, std::move(paramBuffer));
7697 }
7698
CaptureProgramUniformMatrix3x2fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,GLboolean transpose,const GLfloat * value)7699 CallCapture CaptureProgramUniformMatrix3x2fvEXT(const State &glState,
7700 bool isCallValid,
7701 ShaderProgramID programPacked,
7702 UniformLocation locationPacked,
7703 GLsizei count,
7704 GLboolean transpose,
7705 const GLfloat *value)
7706 {
7707 ParamBuffer paramBuffer;
7708
7709 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7710 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7711 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7712 paramBuffer.addValueParam("transpose", ParamType::TGLboolean, transpose);
7713
7714 if (isCallValid)
7715 {
7716 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7717 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7718 CaptureProgramUniformMatrix3x2fvEXT_value(glState, isCallValid, programPacked,
7719 locationPacked, count, transpose, value,
7720 &valueParam);
7721 paramBuffer.addParam(std::move(valueParam));
7722 }
7723 else
7724 {
7725 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7726 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7727 &valueParam.value);
7728 paramBuffer.addParam(std::move(valueParam));
7729 }
7730
7731 return CallCapture(angle::EntryPoint::GLProgramUniformMatrix3x2fvEXT, std::move(paramBuffer));
7732 }
7733
CaptureProgramUniformMatrix3x4fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,GLboolean transpose,const GLfloat * value)7734 CallCapture CaptureProgramUniformMatrix3x4fvEXT(const State &glState,
7735 bool isCallValid,
7736 ShaderProgramID programPacked,
7737 UniformLocation locationPacked,
7738 GLsizei count,
7739 GLboolean transpose,
7740 const GLfloat *value)
7741 {
7742 ParamBuffer paramBuffer;
7743
7744 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7745 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7746 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7747 paramBuffer.addValueParam("transpose", ParamType::TGLboolean, transpose);
7748
7749 if (isCallValid)
7750 {
7751 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7752 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7753 CaptureProgramUniformMatrix3x4fvEXT_value(glState, isCallValid, programPacked,
7754 locationPacked, count, transpose, value,
7755 &valueParam);
7756 paramBuffer.addParam(std::move(valueParam));
7757 }
7758 else
7759 {
7760 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7761 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7762 &valueParam.value);
7763 paramBuffer.addParam(std::move(valueParam));
7764 }
7765
7766 return CallCapture(angle::EntryPoint::GLProgramUniformMatrix3x4fvEXT, std::move(paramBuffer));
7767 }
7768
CaptureProgramUniformMatrix4fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,GLboolean transpose,const GLfloat * value)7769 CallCapture CaptureProgramUniformMatrix4fvEXT(const State &glState,
7770 bool isCallValid,
7771 ShaderProgramID programPacked,
7772 UniformLocation locationPacked,
7773 GLsizei count,
7774 GLboolean transpose,
7775 const GLfloat *value)
7776 {
7777 ParamBuffer paramBuffer;
7778
7779 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7780 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7781 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7782 paramBuffer.addValueParam("transpose", ParamType::TGLboolean, transpose);
7783
7784 if (isCallValid)
7785 {
7786 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7787 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7788 CaptureProgramUniformMatrix4fvEXT_value(glState, isCallValid, programPacked, locationPacked,
7789 count, transpose, value, &valueParam);
7790 paramBuffer.addParam(std::move(valueParam));
7791 }
7792 else
7793 {
7794 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7795 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7796 &valueParam.value);
7797 paramBuffer.addParam(std::move(valueParam));
7798 }
7799
7800 return CallCapture(angle::EntryPoint::GLProgramUniformMatrix4fvEXT, std::move(paramBuffer));
7801 }
7802
CaptureProgramUniformMatrix4x2fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,GLboolean transpose,const GLfloat * value)7803 CallCapture CaptureProgramUniformMatrix4x2fvEXT(const State &glState,
7804 bool isCallValid,
7805 ShaderProgramID programPacked,
7806 UniformLocation locationPacked,
7807 GLsizei count,
7808 GLboolean transpose,
7809 const GLfloat *value)
7810 {
7811 ParamBuffer paramBuffer;
7812
7813 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7814 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7815 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7816 paramBuffer.addValueParam("transpose", ParamType::TGLboolean, transpose);
7817
7818 if (isCallValid)
7819 {
7820 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7821 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7822 CaptureProgramUniformMatrix4x2fvEXT_value(glState, isCallValid, programPacked,
7823 locationPacked, count, transpose, value,
7824 &valueParam);
7825 paramBuffer.addParam(std::move(valueParam));
7826 }
7827 else
7828 {
7829 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7830 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7831 &valueParam.value);
7832 paramBuffer.addParam(std::move(valueParam));
7833 }
7834
7835 return CallCapture(angle::EntryPoint::GLProgramUniformMatrix4x2fvEXT, std::move(paramBuffer));
7836 }
7837
CaptureProgramUniformMatrix4x3fvEXT(const State & glState,bool isCallValid,ShaderProgramID programPacked,UniformLocation locationPacked,GLsizei count,GLboolean transpose,const GLfloat * value)7838 CallCapture CaptureProgramUniformMatrix4x3fvEXT(const State &glState,
7839 bool isCallValid,
7840 ShaderProgramID programPacked,
7841 UniformLocation locationPacked,
7842 GLsizei count,
7843 GLboolean transpose,
7844 const GLfloat *value)
7845 {
7846 ParamBuffer paramBuffer;
7847
7848 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7849 paramBuffer.addValueParam("locationPacked", ParamType::TUniformLocation, locationPacked);
7850 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
7851 paramBuffer.addValueParam("transpose", ParamType::TGLboolean, transpose);
7852
7853 if (isCallValid)
7854 {
7855 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7856 InitParamValue(ParamType::TGLfloatConstPointer, value, &valueParam.value);
7857 CaptureProgramUniformMatrix4x3fvEXT_value(glState, isCallValid, programPacked,
7858 locationPacked, count, transpose, value,
7859 &valueParam);
7860 paramBuffer.addParam(std::move(valueParam));
7861 }
7862 else
7863 {
7864 ParamCapture valueParam("value", ParamType::TGLfloatConstPointer);
7865 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
7866 &valueParam.value);
7867 paramBuffer.addParam(std::move(valueParam));
7868 }
7869
7870 return CallCapture(angle::EntryPoint::GLProgramUniformMatrix4x3fvEXT, std::move(paramBuffer));
7871 }
7872
CaptureUseProgramStagesEXT(const State & glState,bool isCallValid,ProgramPipelineID pipelinePacked,GLbitfield stages,ShaderProgramID programPacked)7873 CallCapture CaptureUseProgramStagesEXT(const State &glState,
7874 bool isCallValid,
7875 ProgramPipelineID pipelinePacked,
7876 GLbitfield stages,
7877 ShaderProgramID programPacked)
7878 {
7879 ParamBuffer paramBuffer;
7880
7881 paramBuffer.addValueParam("pipelinePacked", ParamType::TProgramPipelineID, pipelinePacked);
7882 paramBuffer.addEnumParam("stages", GLenumGroup::UseProgramStageMask, ParamType::TGLbitfield,
7883 stages);
7884 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
7885
7886 return CallCapture(angle::EntryPoint::GLUseProgramStagesEXT, std::move(paramBuffer));
7887 }
7888
CaptureValidateProgramPipelineEXT(const State & glState,bool isCallValid,ProgramPipelineID pipelinePacked)7889 CallCapture CaptureValidateProgramPipelineEXT(const State &glState,
7890 bool isCallValid,
7891 ProgramPipelineID pipelinePacked)
7892 {
7893 ParamBuffer paramBuffer;
7894
7895 paramBuffer.addValueParam("pipelinePacked", ParamType::TProgramPipelineID, pipelinePacked);
7896
7897 return CallCapture(angle::EntryPoint::GLValidateProgramPipelineEXT, std::move(paramBuffer));
7898 }
7899
CaptureFramebufferFetchBarrierEXT(const State & glState,bool isCallValid)7900 CallCapture CaptureFramebufferFetchBarrierEXT(const State &glState, bool isCallValid)
7901 {
7902 ParamBuffer paramBuffer;
7903
7904 return CallCapture(angle::EntryPoint::GLFramebufferFetchBarrierEXT, std::move(paramBuffer));
7905 }
7906
CapturePatchParameteriEXT(const State & glState,bool isCallValid,GLenum pname,GLint value)7907 CallCapture CapturePatchParameteriEXT(const State &glState,
7908 bool isCallValid,
7909 GLenum pname,
7910 GLint value)
7911 {
7912 ParamBuffer paramBuffer;
7913
7914 paramBuffer.addEnumParam("pname", GLenumGroup::PatchParameterName, ParamType::TGLenum, pname);
7915 paramBuffer.addValueParam("value", ParamType::TGLint, value);
7916
7917 return CallCapture(angle::EntryPoint::GLPatchParameteriEXT, std::move(paramBuffer));
7918 }
7919
CaptureGetSamplerParameterIivEXT(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLint * params)7920 CallCapture CaptureGetSamplerParameterIivEXT(const State &glState,
7921 bool isCallValid,
7922 SamplerID samplerPacked,
7923 GLenum pname,
7924 GLint *params)
7925 {
7926 ParamBuffer paramBuffer;
7927
7928 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
7929 paramBuffer.addEnumParam("pname", GLenumGroup::SamplerParameterName, ParamType::TGLenum, pname);
7930
7931 if (isCallValid)
7932 {
7933 ParamCapture paramsParam("params", ParamType::TGLintPointer);
7934 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
7935 CaptureGetSamplerParameterIivEXT_params(glState, isCallValid, samplerPacked, pname, params,
7936 ¶msParam);
7937 paramBuffer.addParam(std::move(paramsParam));
7938 }
7939 else
7940 {
7941 ParamCapture paramsParam("params", ParamType::TGLintPointer);
7942 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
7943 paramBuffer.addParam(std::move(paramsParam));
7944 }
7945
7946 return CallCapture(angle::EntryPoint::GLGetSamplerParameterIivEXT, std::move(paramBuffer));
7947 }
7948
CaptureGetSamplerParameterIuivEXT(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLuint * params)7949 CallCapture CaptureGetSamplerParameterIuivEXT(const State &glState,
7950 bool isCallValid,
7951 SamplerID samplerPacked,
7952 GLenum pname,
7953 GLuint *params)
7954 {
7955 ParamBuffer paramBuffer;
7956
7957 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
7958 paramBuffer.addEnumParam("pname", GLenumGroup::SamplerParameterName, ParamType::TGLenum, pname);
7959
7960 if (isCallValid)
7961 {
7962 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
7963 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
7964 CaptureGetSamplerParameterIuivEXT_params(glState, isCallValid, samplerPacked, pname, params,
7965 ¶msParam);
7966 paramBuffer.addParam(std::move(paramsParam));
7967 }
7968 else
7969 {
7970 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
7971 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
7972 ¶msParam.value);
7973 paramBuffer.addParam(std::move(paramsParam));
7974 }
7975
7976 return CallCapture(angle::EntryPoint::GLGetSamplerParameterIuivEXT, std::move(paramBuffer));
7977 }
7978
CaptureGetTexParameterIivEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLint * params)7979 CallCapture CaptureGetTexParameterIivEXT(const State &glState,
7980 bool isCallValid,
7981 TextureType targetPacked,
7982 GLenum pname,
7983 GLint *params)
7984 {
7985 ParamBuffer paramBuffer;
7986
7987 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
7988 paramBuffer.addEnumParam("pname", GLenumGroup::GetTextureParameter, ParamType::TGLenum, pname);
7989
7990 if (isCallValid)
7991 {
7992 ParamCapture paramsParam("params", ParamType::TGLintPointer);
7993 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
7994 CaptureGetTexParameterIivEXT_params(glState, isCallValid, targetPacked, pname, params,
7995 ¶msParam);
7996 paramBuffer.addParam(std::move(paramsParam));
7997 }
7998 else
7999 {
8000 ParamCapture paramsParam("params", ParamType::TGLintPointer);
8001 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
8002 paramBuffer.addParam(std::move(paramsParam));
8003 }
8004
8005 return CallCapture(angle::EntryPoint::GLGetTexParameterIivEXT, std::move(paramBuffer));
8006 }
8007
CaptureGetTexParameterIuivEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLuint * params)8008 CallCapture CaptureGetTexParameterIuivEXT(const State &glState,
8009 bool isCallValid,
8010 TextureType targetPacked,
8011 GLenum pname,
8012 GLuint *params)
8013 {
8014 ParamBuffer paramBuffer;
8015
8016 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
8017 paramBuffer.addEnumParam("pname", GLenumGroup::GetTextureParameter, ParamType::TGLenum, pname);
8018
8019 if (isCallValid)
8020 {
8021 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
8022 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
8023 CaptureGetTexParameterIuivEXT_params(glState, isCallValid, targetPacked, pname, params,
8024 ¶msParam);
8025 paramBuffer.addParam(std::move(paramsParam));
8026 }
8027 else
8028 {
8029 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
8030 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
8031 ¶msParam.value);
8032 paramBuffer.addParam(std::move(paramsParam));
8033 }
8034
8035 return CallCapture(angle::EntryPoint::GLGetTexParameterIuivEXT, std::move(paramBuffer));
8036 }
8037
CaptureSamplerParameterIivEXT(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,const GLint * param)8038 CallCapture CaptureSamplerParameterIivEXT(const State &glState,
8039 bool isCallValid,
8040 SamplerID samplerPacked,
8041 GLenum pname,
8042 const GLint *param)
8043 {
8044 ParamBuffer paramBuffer;
8045
8046 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
8047 paramBuffer.addEnumParam("pname", GLenumGroup::SamplerParameterName, ParamType::TGLenum, pname);
8048
8049 if (isCallValid)
8050 {
8051 ParamCapture paramParam("param", ParamType::TGLintConstPointer);
8052 InitParamValue(ParamType::TGLintConstPointer, param, ¶mParam.value);
8053 CaptureSamplerParameterIivEXT_param(glState, isCallValid, samplerPacked, pname, param,
8054 ¶mParam);
8055 paramBuffer.addParam(std::move(paramParam));
8056 }
8057 else
8058 {
8059 ParamCapture paramParam("param", ParamType::TGLintConstPointer);
8060 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
8061 ¶mParam.value);
8062 paramBuffer.addParam(std::move(paramParam));
8063 }
8064
8065 return CallCapture(angle::EntryPoint::GLSamplerParameterIivEXT, std::move(paramBuffer));
8066 }
8067
CaptureSamplerParameterIuivEXT(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,const GLuint * param)8068 CallCapture CaptureSamplerParameterIuivEXT(const State &glState,
8069 bool isCallValid,
8070 SamplerID samplerPacked,
8071 GLenum pname,
8072 const GLuint *param)
8073 {
8074 ParamBuffer paramBuffer;
8075
8076 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
8077 paramBuffer.addEnumParam("pname", GLenumGroup::SamplerParameterName, ParamType::TGLenum, pname);
8078
8079 if (isCallValid)
8080 {
8081 ParamCapture paramParam("param", ParamType::TGLuintConstPointer);
8082 InitParamValue(ParamType::TGLuintConstPointer, param, ¶mParam.value);
8083 CaptureSamplerParameterIuivEXT_param(glState, isCallValid, samplerPacked, pname, param,
8084 ¶mParam);
8085 paramBuffer.addParam(std::move(paramParam));
8086 }
8087 else
8088 {
8089 ParamCapture paramParam("param", ParamType::TGLuintConstPointer);
8090 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
8091 ¶mParam.value);
8092 paramBuffer.addParam(std::move(paramParam));
8093 }
8094
8095 return CallCapture(angle::EntryPoint::GLSamplerParameterIuivEXT, std::move(paramBuffer));
8096 }
8097
CaptureTexParameterIivEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,const GLint * params)8098 CallCapture CaptureTexParameterIivEXT(const State &glState,
8099 bool isCallValid,
8100 TextureType targetPacked,
8101 GLenum pname,
8102 const GLint *params)
8103 {
8104 ParamBuffer paramBuffer;
8105
8106 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
8107 paramBuffer.addEnumParam("pname", GLenumGroup::TextureParameterName, ParamType::TGLenum, pname);
8108
8109 if (isCallValid)
8110 {
8111 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
8112 InitParamValue(ParamType::TGLintConstPointer, params, ¶msParam.value);
8113 CaptureTexParameterIivEXT_params(glState, isCallValid, targetPacked, pname, params,
8114 ¶msParam);
8115 paramBuffer.addParam(std::move(paramsParam));
8116 }
8117 else
8118 {
8119 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
8120 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
8121 ¶msParam.value);
8122 paramBuffer.addParam(std::move(paramsParam));
8123 }
8124
8125 return CallCapture(angle::EntryPoint::GLTexParameterIivEXT, std::move(paramBuffer));
8126 }
8127
CaptureTexParameterIuivEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,const GLuint * params)8128 CallCapture CaptureTexParameterIuivEXT(const State &glState,
8129 bool isCallValid,
8130 TextureType targetPacked,
8131 GLenum pname,
8132 const GLuint *params)
8133 {
8134 ParamBuffer paramBuffer;
8135
8136 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
8137 paramBuffer.addEnumParam("pname", GLenumGroup::TextureParameterName, ParamType::TGLenum, pname);
8138
8139 if (isCallValid)
8140 {
8141 ParamCapture paramsParam("params", ParamType::TGLuintConstPointer);
8142 InitParamValue(ParamType::TGLuintConstPointer, params, ¶msParam.value);
8143 CaptureTexParameterIuivEXT_params(glState, isCallValid, targetPacked, pname, params,
8144 ¶msParam);
8145 paramBuffer.addParam(std::move(paramsParam));
8146 }
8147 else
8148 {
8149 ParamCapture paramsParam("params", ParamType::TGLuintConstPointer);
8150 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
8151 ¶msParam.value);
8152 paramBuffer.addParam(std::move(paramsParam));
8153 }
8154
8155 return CallCapture(angle::EntryPoint::GLTexParameterIuivEXT, std::move(paramBuffer));
8156 }
8157
CaptureTexBufferEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLenum internalformat,BufferID bufferPacked)8158 CallCapture CaptureTexBufferEXT(const State &glState,
8159 bool isCallValid,
8160 TextureType targetPacked,
8161 GLenum internalformat,
8162 BufferID bufferPacked)
8163 {
8164 ParamBuffer paramBuffer;
8165
8166 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
8167 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
8168 internalformat);
8169 paramBuffer.addValueParam("bufferPacked", ParamType::TBufferID, bufferPacked);
8170
8171 return CallCapture(angle::EntryPoint::GLTexBufferEXT, std::move(paramBuffer));
8172 }
8173
CaptureTexBufferRangeEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLenum internalformat,BufferID bufferPacked,GLintptr offset,GLsizeiptr size)8174 CallCapture CaptureTexBufferRangeEXT(const State &glState,
8175 bool isCallValid,
8176 TextureType targetPacked,
8177 GLenum internalformat,
8178 BufferID bufferPacked,
8179 GLintptr offset,
8180 GLsizeiptr size)
8181 {
8182 ParamBuffer paramBuffer;
8183
8184 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
8185 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
8186 internalformat);
8187 paramBuffer.addValueParam("bufferPacked", ParamType::TBufferID, bufferPacked);
8188 paramBuffer.addValueParam("offset", ParamType::TGLintptr, offset);
8189 paramBuffer.addValueParam("size", ParamType::TGLsizeiptr, size);
8190
8191 return CallCapture(angle::EntryPoint::GLTexBufferRangeEXT, std::move(paramBuffer));
8192 }
8193
CaptureTexStorage1DEXT(const State & glState,bool isCallValid,GLenum target,GLsizei levels,GLenum internalformat,GLsizei width)8194 CallCapture CaptureTexStorage1DEXT(const State &glState,
8195 bool isCallValid,
8196 GLenum target,
8197 GLsizei levels,
8198 GLenum internalformat,
8199 GLsizei width)
8200 {
8201 ParamBuffer paramBuffer;
8202
8203 paramBuffer.addEnumParam("target", GLenumGroup::TextureTarget, ParamType::TGLenum, target);
8204 paramBuffer.addValueParam("levels", ParamType::TGLsizei, levels);
8205 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
8206 internalformat);
8207 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
8208
8209 return CallCapture(angle::EntryPoint::GLTexStorage1DEXT, std::move(paramBuffer));
8210 }
8211
CaptureTexStorage2DEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei levels,GLenum internalformat,GLsizei width,GLsizei height)8212 CallCapture CaptureTexStorage2DEXT(const State &glState,
8213 bool isCallValid,
8214 TextureType targetPacked,
8215 GLsizei levels,
8216 GLenum internalformat,
8217 GLsizei width,
8218 GLsizei height)
8219 {
8220 ParamBuffer paramBuffer;
8221
8222 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
8223 paramBuffer.addValueParam("levels", ParamType::TGLsizei, levels);
8224 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
8225 internalformat);
8226 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
8227 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
8228
8229 return CallCapture(angle::EntryPoint::GLTexStorage2DEXT, std::move(paramBuffer));
8230 }
8231
CaptureTexStorage3DEXT(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei levels,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth)8232 CallCapture CaptureTexStorage3DEXT(const State &glState,
8233 bool isCallValid,
8234 TextureType targetPacked,
8235 GLsizei levels,
8236 GLenum internalformat,
8237 GLsizei width,
8238 GLsizei height,
8239 GLsizei depth)
8240 {
8241 ParamBuffer paramBuffer;
8242
8243 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
8244 paramBuffer.addValueParam("levels", ParamType::TGLsizei, levels);
8245 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
8246 internalformat);
8247 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
8248 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
8249 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
8250
8251 return CallCapture(angle::EntryPoint::GLTexStorage3DEXT, std::move(paramBuffer));
8252 }
8253
CaptureBlendBarrierKHR(const State & glState,bool isCallValid)8254 CallCapture CaptureBlendBarrierKHR(const State &glState, bool isCallValid)
8255 {
8256 ParamBuffer paramBuffer;
8257
8258 return CallCapture(angle::EntryPoint::GLBlendBarrierKHR, std::move(paramBuffer));
8259 }
8260
CaptureDebugMessageCallbackKHR(const State & glState,bool isCallValid,GLDEBUGPROCKHR callback,const void * userParam)8261 CallCapture CaptureDebugMessageCallbackKHR(const State &glState,
8262 bool isCallValid,
8263 GLDEBUGPROCKHR callback,
8264 const void *userParam)
8265 {
8266 ParamBuffer paramBuffer;
8267
8268 paramBuffer.addValueParam("callback", ParamType::TGLDEBUGPROCKHR, callback);
8269
8270 if (isCallValid)
8271 {
8272 ParamCapture userParamParam("userParam", ParamType::TvoidConstPointer);
8273 InitParamValue(ParamType::TvoidConstPointer, userParam, &userParamParam.value);
8274 CaptureDebugMessageCallbackKHR_userParam(glState, isCallValid, callback, userParam,
8275 &userParamParam);
8276 paramBuffer.addParam(std::move(userParamParam));
8277 }
8278 else
8279 {
8280 ParamCapture userParamParam("userParam", ParamType::TvoidConstPointer);
8281 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
8282 &userParamParam.value);
8283 paramBuffer.addParam(std::move(userParamParam));
8284 }
8285
8286 return CallCapture(angle::EntryPoint::GLDebugMessageCallbackKHR, std::move(paramBuffer));
8287 }
8288
CaptureDebugMessageControlKHR(const State & glState,bool isCallValid,GLenum source,GLenum type,GLenum severity,GLsizei count,const GLuint * ids,GLboolean enabled)8289 CallCapture CaptureDebugMessageControlKHR(const State &glState,
8290 bool isCallValid,
8291 GLenum source,
8292 GLenum type,
8293 GLenum severity,
8294 GLsizei count,
8295 const GLuint *ids,
8296 GLboolean enabled)
8297 {
8298 ParamBuffer paramBuffer;
8299
8300 paramBuffer.addEnumParam("source", GLenumGroup::DebugSource, ParamType::TGLenum, source);
8301 paramBuffer.addEnumParam("type", GLenumGroup::DebugType, ParamType::TGLenum, type);
8302 paramBuffer.addEnumParam("severity", GLenumGroup::DebugSeverity, ParamType::TGLenum, severity);
8303 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
8304
8305 if (isCallValid)
8306 {
8307 ParamCapture idsParam("ids", ParamType::TGLuintConstPointer);
8308 InitParamValue(ParamType::TGLuintConstPointer, ids, &idsParam.value);
8309 CaptureDebugMessageControlKHR_ids(glState, isCallValid, source, type, severity, count, ids,
8310 enabled, &idsParam);
8311 paramBuffer.addParam(std::move(idsParam));
8312 }
8313 else
8314 {
8315 ParamCapture idsParam("ids", ParamType::TGLuintConstPointer);
8316 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
8317 &idsParam.value);
8318 paramBuffer.addParam(std::move(idsParam));
8319 }
8320
8321 paramBuffer.addValueParam("enabled", ParamType::TGLboolean, enabled);
8322
8323 return CallCapture(angle::EntryPoint::GLDebugMessageControlKHR, std::move(paramBuffer));
8324 }
8325
CaptureDebugMessageInsertKHR(const State & glState,bool isCallValid,GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar * buf)8326 CallCapture CaptureDebugMessageInsertKHR(const State &glState,
8327 bool isCallValid,
8328 GLenum source,
8329 GLenum type,
8330 GLuint id,
8331 GLenum severity,
8332 GLsizei length,
8333 const GLchar *buf)
8334 {
8335 ParamBuffer paramBuffer;
8336
8337 paramBuffer.addEnumParam("source", GLenumGroup::DebugSource, ParamType::TGLenum, source);
8338 paramBuffer.addEnumParam("type", GLenumGroup::DebugType, ParamType::TGLenum, type);
8339 paramBuffer.addValueParam("id", ParamType::TGLuint, id);
8340 paramBuffer.addEnumParam("severity", GLenumGroup::DebugSeverity, ParamType::TGLenum, severity);
8341 paramBuffer.addValueParam("length", ParamType::TGLsizei, length);
8342
8343 if (isCallValid)
8344 {
8345 ParamCapture bufParam("buf", ParamType::TGLcharConstPointer);
8346 InitParamValue(ParamType::TGLcharConstPointer, buf, &bufParam.value);
8347 CaptureDebugMessageInsertKHR_buf(glState, isCallValid, source, type, id, severity, length,
8348 buf, &bufParam);
8349 paramBuffer.addParam(std::move(bufParam));
8350 }
8351 else
8352 {
8353 ParamCapture bufParam("buf", ParamType::TGLcharConstPointer);
8354 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
8355 &bufParam.value);
8356 paramBuffer.addParam(std::move(bufParam));
8357 }
8358
8359 return CallCapture(angle::EntryPoint::GLDebugMessageInsertKHR, std::move(paramBuffer));
8360 }
8361
CaptureGetDebugMessageLogKHR(const State & glState,bool isCallValid,GLuint count,GLsizei bufSize,GLenum * sources,GLenum * types,GLuint * ids,GLenum * severities,GLsizei * lengths,GLchar * messageLog,GLuint returnValue)8362 CallCapture CaptureGetDebugMessageLogKHR(const State &glState,
8363 bool isCallValid,
8364 GLuint count,
8365 GLsizei bufSize,
8366 GLenum *sources,
8367 GLenum *types,
8368 GLuint *ids,
8369 GLenum *severities,
8370 GLsizei *lengths,
8371 GLchar *messageLog,
8372 GLuint returnValue)
8373 {
8374 ParamBuffer paramBuffer;
8375
8376 paramBuffer.addValueParam("count", ParamType::TGLuint, count);
8377 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
8378
8379 if (isCallValid)
8380 {
8381 ParamCapture sourcesParam("sources", ParamType::TGLenumPointer);
8382 InitParamValue(ParamType::TGLenumPointer, sources, &sourcesParam.value);
8383 CaptureGetDebugMessageLogKHR_sources(glState, isCallValid, count, bufSize, sources, types,
8384 ids, severities, lengths, messageLog, &sourcesParam);
8385 paramBuffer.addParam(std::move(sourcesParam));
8386 }
8387 else
8388 {
8389 ParamCapture sourcesParam("sources", ParamType::TGLenumPointer);
8390 InitParamValue(ParamType::TGLenumPointer, static_cast<GLenum *>(nullptr),
8391 &sourcesParam.value);
8392 paramBuffer.addParam(std::move(sourcesParam));
8393 }
8394
8395 if (isCallValid)
8396 {
8397 ParamCapture typesParam("types", ParamType::TGLenumPointer);
8398 InitParamValue(ParamType::TGLenumPointer, types, &typesParam.value);
8399 CaptureGetDebugMessageLogKHR_types(glState, isCallValid, count, bufSize, sources, types,
8400 ids, severities, lengths, messageLog, &typesParam);
8401 paramBuffer.addParam(std::move(typesParam));
8402 }
8403 else
8404 {
8405 ParamCapture typesParam("types", ParamType::TGLenumPointer);
8406 InitParamValue(ParamType::TGLenumPointer, static_cast<GLenum *>(nullptr),
8407 &typesParam.value);
8408 paramBuffer.addParam(std::move(typesParam));
8409 }
8410
8411 if (isCallValid)
8412 {
8413 ParamCapture idsParam("ids", ParamType::TGLuintPointer);
8414 InitParamValue(ParamType::TGLuintPointer, ids, &idsParam.value);
8415 CaptureGetDebugMessageLogKHR_ids(glState, isCallValid, count, bufSize, sources, types, ids,
8416 severities, lengths, messageLog, &idsParam);
8417 paramBuffer.addParam(std::move(idsParam));
8418 }
8419 else
8420 {
8421 ParamCapture idsParam("ids", ParamType::TGLuintPointer);
8422 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr), &idsParam.value);
8423 paramBuffer.addParam(std::move(idsParam));
8424 }
8425
8426 if (isCallValid)
8427 {
8428 ParamCapture severitiesParam("severities", ParamType::TGLenumPointer);
8429 InitParamValue(ParamType::TGLenumPointer, severities, &severitiesParam.value);
8430 CaptureGetDebugMessageLogKHR_severities(glState, isCallValid, count, bufSize, sources,
8431 types, ids, severities, lengths, messageLog,
8432 &severitiesParam);
8433 paramBuffer.addParam(std::move(severitiesParam));
8434 }
8435 else
8436 {
8437 ParamCapture severitiesParam("severities", ParamType::TGLenumPointer);
8438 InitParamValue(ParamType::TGLenumPointer, static_cast<GLenum *>(nullptr),
8439 &severitiesParam.value);
8440 paramBuffer.addParam(std::move(severitiesParam));
8441 }
8442
8443 if (isCallValid)
8444 {
8445 ParamCapture lengthsParam("lengths", ParamType::TGLsizeiPointer);
8446 InitParamValue(ParamType::TGLsizeiPointer, lengths, &lengthsParam.value);
8447 CaptureGetDebugMessageLogKHR_lengths(glState, isCallValid, count, bufSize, sources, types,
8448 ids, severities, lengths, messageLog, &lengthsParam);
8449 paramBuffer.addParam(std::move(lengthsParam));
8450 }
8451 else
8452 {
8453 ParamCapture lengthsParam("lengths", ParamType::TGLsizeiPointer);
8454 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
8455 &lengthsParam.value);
8456 paramBuffer.addParam(std::move(lengthsParam));
8457 }
8458
8459 if (isCallValid)
8460 {
8461 ParamCapture messageLogParam("messageLog", ParamType::TGLcharPointer);
8462 InitParamValue(ParamType::TGLcharPointer, messageLog, &messageLogParam.value);
8463 CaptureGetDebugMessageLogKHR_messageLog(glState, isCallValid, count, bufSize, sources,
8464 types, ids, severities, lengths, messageLog,
8465 &messageLogParam);
8466 paramBuffer.addParam(std::move(messageLogParam));
8467 }
8468 else
8469 {
8470 ParamCapture messageLogParam("messageLog", ParamType::TGLcharPointer);
8471 InitParamValue(ParamType::TGLcharPointer, static_cast<GLchar *>(nullptr),
8472 &messageLogParam.value);
8473 paramBuffer.addParam(std::move(messageLogParam));
8474 }
8475
8476 ParamCapture returnValueCapture("returnValue", ParamType::TGLuint);
8477 InitParamValue(ParamType::TGLuint, returnValue, &returnValueCapture.value);
8478 paramBuffer.addReturnValue(std::move(returnValueCapture));
8479
8480 return CallCapture(angle::EntryPoint::GLGetDebugMessageLogKHR, std::move(paramBuffer));
8481 }
8482
CaptureGetObjectLabelKHR(const State & glState,bool isCallValid,GLenum identifier,GLuint name,GLsizei bufSize,GLsizei * length,GLchar * label)8483 CallCapture CaptureGetObjectLabelKHR(const State &glState,
8484 bool isCallValid,
8485 GLenum identifier,
8486 GLuint name,
8487 GLsizei bufSize,
8488 GLsizei *length,
8489 GLchar *label)
8490 {
8491 ParamBuffer paramBuffer;
8492
8493 paramBuffer.addEnumParam("identifier", GLenumGroup::DefaultGroup, ParamType::TGLenum,
8494 identifier);
8495 paramBuffer.addValueParam("name", ParamType::TGLuint, name);
8496 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
8497
8498 if (isCallValid)
8499 {
8500 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
8501 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
8502 CaptureGetObjectLabelKHR_length(glState, isCallValid, identifier, name, bufSize, length,
8503 label, &lengthParam);
8504 paramBuffer.addParam(std::move(lengthParam));
8505 }
8506 else
8507 {
8508 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
8509 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
8510 &lengthParam.value);
8511 paramBuffer.addParam(std::move(lengthParam));
8512 }
8513
8514 if (isCallValid)
8515 {
8516 ParamCapture labelParam("label", ParamType::TGLcharPointer);
8517 InitParamValue(ParamType::TGLcharPointer, label, &labelParam.value);
8518 CaptureGetObjectLabelKHR_label(glState, isCallValid, identifier, name, bufSize, length,
8519 label, &labelParam);
8520 paramBuffer.addParam(std::move(labelParam));
8521 }
8522 else
8523 {
8524 ParamCapture labelParam("label", ParamType::TGLcharPointer);
8525 InitParamValue(ParamType::TGLcharPointer, static_cast<GLchar *>(nullptr),
8526 &labelParam.value);
8527 paramBuffer.addParam(std::move(labelParam));
8528 }
8529
8530 return CallCapture(angle::EntryPoint::GLGetObjectLabelKHR, std::move(paramBuffer));
8531 }
8532
CaptureGetObjectPtrLabelKHR(const State & glState,bool isCallValid,const void * ptr,GLsizei bufSize,GLsizei * length,GLchar * label)8533 CallCapture CaptureGetObjectPtrLabelKHR(const State &glState,
8534 bool isCallValid,
8535 const void *ptr,
8536 GLsizei bufSize,
8537 GLsizei *length,
8538 GLchar *label)
8539 {
8540 ParamBuffer paramBuffer;
8541
8542 if (isCallValid)
8543 {
8544 ParamCapture ptrParam("ptr", ParamType::TvoidConstPointer);
8545 InitParamValue(ParamType::TvoidConstPointer, ptr, &ptrParam.value);
8546 CaptureGetObjectPtrLabelKHR_ptr(glState, isCallValid, ptr, bufSize, length, label,
8547 &ptrParam);
8548 paramBuffer.addParam(std::move(ptrParam));
8549 }
8550 else
8551 {
8552 ParamCapture ptrParam("ptr", ParamType::TvoidConstPointer);
8553 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
8554 &ptrParam.value);
8555 paramBuffer.addParam(std::move(ptrParam));
8556 }
8557
8558 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
8559
8560 if (isCallValid)
8561 {
8562 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
8563 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
8564 CaptureGetObjectPtrLabelKHR_length(glState, isCallValid, ptr, bufSize, length, label,
8565 &lengthParam);
8566 paramBuffer.addParam(std::move(lengthParam));
8567 }
8568 else
8569 {
8570 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
8571 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
8572 &lengthParam.value);
8573 paramBuffer.addParam(std::move(lengthParam));
8574 }
8575
8576 if (isCallValid)
8577 {
8578 ParamCapture labelParam("label", ParamType::TGLcharPointer);
8579 InitParamValue(ParamType::TGLcharPointer, label, &labelParam.value);
8580 CaptureGetObjectPtrLabelKHR_label(glState, isCallValid, ptr, bufSize, length, label,
8581 &labelParam);
8582 paramBuffer.addParam(std::move(labelParam));
8583 }
8584 else
8585 {
8586 ParamCapture labelParam("label", ParamType::TGLcharPointer);
8587 InitParamValue(ParamType::TGLcharPointer, static_cast<GLchar *>(nullptr),
8588 &labelParam.value);
8589 paramBuffer.addParam(std::move(labelParam));
8590 }
8591
8592 return CallCapture(angle::EntryPoint::GLGetObjectPtrLabelKHR, std::move(paramBuffer));
8593 }
8594
CaptureGetPointervKHR(const State & glState,bool isCallValid,GLenum pname,void ** params)8595 CallCapture CaptureGetPointervKHR(const State &glState,
8596 bool isCallValid,
8597 GLenum pname,
8598 void **params)
8599 {
8600 ParamBuffer paramBuffer;
8601
8602 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
8603
8604 if (isCallValid)
8605 {
8606 ParamCapture paramsParam("params", ParamType::TvoidPointerPointer);
8607 InitParamValue(ParamType::TvoidPointerPointer, params, ¶msParam.value);
8608 CaptureGetPointervKHR_params(glState, isCallValid, pname, params, ¶msParam);
8609 paramBuffer.addParam(std::move(paramsParam));
8610 }
8611 else
8612 {
8613 ParamCapture paramsParam("params", ParamType::TvoidPointerPointer);
8614 InitParamValue(ParamType::TvoidPointerPointer, static_cast<void **>(nullptr),
8615 ¶msParam.value);
8616 paramBuffer.addParam(std::move(paramsParam));
8617 }
8618
8619 return CallCapture(angle::EntryPoint::GLGetPointervKHR, std::move(paramBuffer));
8620 }
8621
CaptureObjectLabelKHR(const State & glState,bool isCallValid,GLenum identifier,GLuint name,GLsizei length,const GLchar * label)8622 CallCapture CaptureObjectLabelKHR(const State &glState,
8623 bool isCallValid,
8624 GLenum identifier,
8625 GLuint name,
8626 GLsizei length,
8627 const GLchar *label)
8628 {
8629 ParamBuffer paramBuffer;
8630
8631 paramBuffer.addEnumParam("identifier", GLenumGroup::ObjectIdentifier, ParamType::TGLenum,
8632 identifier);
8633 paramBuffer.addValueParam("name", ParamType::TGLuint, name);
8634 paramBuffer.addValueParam("length", ParamType::TGLsizei, length);
8635
8636 if (isCallValid)
8637 {
8638 ParamCapture labelParam("label", ParamType::TGLcharConstPointer);
8639 InitParamValue(ParamType::TGLcharConstPointer, label, &labelParam.value);
8640 CaptureObjectLabelKHR_label(glState, isCallValid, identifier, name, length, label,
8641 &labelParam);
8642 paramBuffer.addParam(std::move(labelParam));
8643 }
8644 else
8645 {
8646 ParamCapture labelParam("label", ParamType::TGLcharConstPointer);
8647 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
8648 &labelParam.value);
8649 paramBuffer.addParam(std::move(labelParam));
8650 }
8651
8652 return CallCapture(angle::EntryPoint::GLObjectLabelKHR, std::move(paramBuffer));
8653 }
8654
CaptureObjectPtrLabelKHR(const State & glState,bool isCallValid,const void * ptr,GLsizei length,const GLchar * label)8655 CallCapture CaptureObjectPtrLabelKHR(const State &glState,
8656 bool isCallValid,
8657 const void *ptr,
8658 GLsizei length,
8659 const GLchar *label)
8660 {
8661 ParamBuffer paramBuffer;
8662
8663 if (isCallValid)
8664 {
8665 ParamCapture ptrParam("ptr", ParamType::TvoidConstPointer);
8666 InitParamValue(ParamType::TvoidConstPointer, ptr, &ptrParam.value);
8667 CaptureObjectPtrLabelKHR_ptr(glState, isCallValid, ptr, length, label, &ptrParam);
8668 paramBuffer.addParam(std::move(ptrParam));
8669 }
8670 else
8671 {
8672 ParamCapture ptrParam("ptr", ParamType::TvoidConstPointer);
8673 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
8674 &ptrParam.value);
8675 paramBuffer.addParam(std::move(ptrParam));
8676 }
8677
8678 paramBuffer.addValueParam("length", ParamType::TGLsizei, length);
8679
8680 if (isCallValid)
8681 {
8682 ParamCapture labelParam("label", ParamType::TGLcharConstPointer);
8683 InitParamValue(ParamType::TGLcharConstPointer, label, &labelParam.value);
8684 CaptureObjectPtrLabelKHR_label(glState, isCallValid, ptr, length, label, &labelParam);
8685 paramBuffer.addParam(std::move(labelParam));
8686 }
8687 else
8688 {
8689 ParamCapture labelParam("label", ParamType::TGLcharConstPointer);
8690 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
8691 &labelParam.value);
8692 paramBuffer.addParam(std::move(labelParam));
8693 }
8694
8695 return CallCapture(angle::EntryPoint::GLObjectPtrLabelKHR, std::move(paramBuffer));
8696 }
8697
CapturePopDebugGroupKHR(const State & glState,bool isCallValid)8698 CallCapture CapturePopDebugGroupKHR(const State &glState, bool isCallValid)
8699 {
8700 ParamBuffer paramBuffer;
8701
8702 return CallCapture(angle::EntryPoint::GLPopDebugGroupKHR, std::move(paramBuffer));
8703 }
8704
CapturePushDebugGroupKHR(const State & glState,bool isCallValid,GLenum source,GLuint id,GLsizei length,const GLchar * message)8705 CallCapture CapturePushDebugGroupKHR(const State &glState,
8706 bool isCallValid,
8707 GLenum source,
8708 GLuint id,
8709 GLsizei length,
8710 const GLchar *message)
8711 {
8712 ParamBuffer paramBuffer;
8713
8714 paramBuffer.addEnumParam("source", GLenumGroup::DebugSource, ParamType::TGLenum, source);
8715 paramBuffer.addValueParam("id", ParamType::TGLuint, id);
8716 paramBuffer.addValueParam("length", ParamType::TGLsizei, length);
8717
8718 if (isCallValid)
8719 {
8720 ParamCapture messageParam("message", ParamType::TGLcharConstPointer);
8721 InitParamValue(ParamType::TGLcharConstPointer, message, &messageParam.value);
8722 CapturePushDebugGroupKHR_message(glState, isCallValid, source, id, length, message,
8723 &messageParam);
8724 paramBuffer.addParam(std::move(messageParam));
8725 }
8726 else
8727 {
8728 ParamCapture messageParam("message", ParamType::TGLcharConstPointer);
8729 InitParamValue(ParamType::TGLcharConstPointer, static_cast<const GLchar *>(nullptr),
8730 &messageParam.value);
8731 paramBuffer.addParam(std::move(messageParam));
8732 }
8733
8734 return CallCapture(angle::EntryPoint::GLPushDebugGroupKHR, std::move(paramBuffer));
8735 }
8736
CaptureMaxShaderCompilerThreadsKHR(const State & glState,bool isCallValid,GLuint count)8737 CallCapture CaptureMaxShaderCompilerThreadsKHR(const State &glState, bool isCallValid, GLuint count)
8738 {
8739 ParamBuffer paramBuffer;
8740
8741 paramBuffer.addValueParam("count", ParamType::TGLuint, count);
8742
8743 return CallCapture(angle::EntryPoint::GLMaxShaderCompilerThreadsKHR, std::move(paramBuffer));
8744 }
8745
CaptureDeleteFencesNV(const State & glState,bool isCallValid,GLsizei n,const FenceNVID * fencesPacked)8746 CallCapture CaptureDeleteFencesNV(const State &glState,
8747 bool isCallValid,
8748 GLsizei n,
8749 const FenceNVID *fencesPacked)
8750 {
8751 ParamBuffer paramBuffer;
8752
8753 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
8754
8755 if (isCallValid)
8756 {
8757 ParamCapture fencesPackedParam("fencesPacked", ParamType::TFenceNVIDConstPointer);
8758 InitParamValue(ParamType::TFenceNVIDConstPointer, fencesPacked, &fencesPackedParam.value);
8759 CaptureDeleteFencesNV_fencesPacked(glState, isCallValid, n, fencesPacked,
8760 &fencesPackedParam);
8761 paramBuffer.addParam(std::move(fencesPackedParam));
8762 }
8763 else
8764 {
8765 ParamCapture fencesPackedParam("fencesPacked", ParamType::TFenceNVIDConstPointer);
8766 InitParamValue(ParamType::TFenceNVIDConstPointer, static_cast<const FenceNVID *>(nullptr),
8767 &fencesPackedParam.value);
8768 paramBuffer.addParam(std::move(fencesPackedParam));
8769 }
8770
8771 return CallCapture(angle::EntryPoint::GLDeleteFencesNV, std::move(paramBuffer));
8772 }
8773
CaptureFinishFenceNV(const State & glState,bool isCallValid,FenceNVID fencePacked)8774 CallCapture CaptureFinishFenceNV(const State &glState, bool isCallValid, FenceNVID fencePacked)
8775 {
8776 ParamBuffer paramBuffer;
8777
8778 paramBuffer.addValueParam("fencePacked", ParamType::TFenceNVID, fencePacked);
8779
8780 return CallCapture(angle::EntryPoint::GLFinishFenceNV, std::move(paramBuffer));
8781 }
8782
CaptureGenFencesNV(const State & glState,bool isCallValid,GLsizei n,FenceNVID * fencesPacked)8783 CallCapture CaptureGenFencesNV(const State &glState,
8784 bool isCallValid,
8785 GLsizei n,
8786 FenceNVID *fencesPacked)
8787 {
8788 ParamBuffer paramBuffer;
8789
8790 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
8791
8792 if (isCallValid)
8793 {
8794 ParamCapture fencesPackedParam("fencesPacked", ParamType::TFenceNVIDPointer);
8795 InitParamValue(ParamType::TFenceNVIDPointer, fencesPacked, &fencesPackedParam.value);
8796 CaptureGenFencesNV_fencesPacked(glState, isCallValid, n, fencesPacked, &fencesPackedParam);
8797 paramBuffer.addParam(std::move(fencesPackedParam));
8798 }
8799 else
8800 {
8801 ParamCapture fencesPackedParam("fencesPacked", ParamType::TFenceNVIDPointer);
8802 InitParamValue(ParamType::TFenceNVIDPointer, static_cast<FenceNVID *>(nullptr),
8803 &fencesPackedParam.value);
8804 paramBuffer.addParam(std::move(fencesPackedParam));
8805 }
8806
8807 return CallCapture(angle::EntryPoint::GLGenFencesNV, std::move(paramBuffer));
8808 }
8809
CaptureGetFenceivNV(const State & glState,bool isCallValid,FenceNVID fencePacked,GLenum pname,GLint * params)8810 CallCapture CaptureGetFenceivNV(const State &glState,
8811 bool isCallValid,
8812 FenceNVID fencePacked,
8813 GLenum pname,
8814 GLint *params)
8815 {
8816 ParamBuffer paramBuffer;
8817
8818 paramBuffer.addValueParam("fencePacked", ParamType::TFenceNVID, fencePacked);
8819 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
8820
8821 if (isCallValid)
8822 {
8823 ParamCapture paramsParam("params", ParamType::TGLintPointer);
8824 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
8825 CaptureGetFenceivNV_params(glState, isCallValid, fencePacked, pname, params, ¶msParam);
8826 paramBuffer.addParam(std::move(paramsParam));
8827 }
8828 else
8829 {
8830 ParamCapture paramsParam("params", ParamType::TGLintPointer);
8831 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
8832 paramBuffer.addParam(std::move(paramsParam));
8833 }
8834
8835 return CallCapture(angle::EntryPoint::GLGetFenceivNV, std::move(paramBuffer));
8836 }
8837
CaptureIsFenceNV(const State & glState,bool isCallValid,FenceNVID fencePacked,GLboolean returnValue)8838 CallCapture CaptureIsFenceNV(const State &glState,
8839 bool isCallValid,
8840 FenceNVID fencePacked,
8841 GLboolean returnValue)
8842 {
8843 ParamBuffer paramBuffer;
8844
8845 paramBuffer.addValueParam("fencePacked", ParamType::TFenceNVID, fencePacked);
8846
8847 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
8848 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
8849 paramBuffer.addReturnValue(std::move(returnValueCapture));
8850
8851 return CallCapture(angle::EntryPoint::GLIsFenceNV, std::move(paramBuffer));
8852 }
8853
CaptureSetFenceNV(const State & glState,bool isCallValid,FenceNVID fencePacked,GLenum condition)8854 CallCapture CaptureSetFenceNV(const State &glState,
8855 bool isCallValid,
8856 FenceNVID fencePacked,
8857 GLenum condition)
8858 {
8859 ParamBuffer paramBuffer;
8860
8861 paramBuffer.addValueParam("fencePacked", ParamType::TFenceNVID, fencePacked);
8862 paramBuffer.addEnumParam("condition", GLenumGroup::DefaultGroup, ParamType::TGLenum, condition);
8863
8864 return CallCapture(angle::EntryPoint::GLSetFenceNV, std::move(paramBuffer));
8865 }
8866
CaptureTestFenceNV(const State & glState,bool isCallValid,FenceNVID fencePacked,GLboolean returnValue)8867 CallCapture CaptureTestFenceNV(const State &glState,
8868 bool isCallValid,
8869 FenceNVID fencePacked,
8870 GLboolean returnValue)
8871 {
8872 ParamBuffer paramBuffer;
8873
8874 paramBuffer.addValueParam("fencePacked", ParamType::TFenceNVID, fencePacked);
8875
8876 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
8877 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
8878 paramBuffer.addReturnValue(std::move(returnValueCapture));
8879
8880 return CallCapture(angle::EntryPoint::GLTestFenceNV, std::move(paramBuffer));
8881 }
8882
CaptureBlitFramebufferNV(const State & glState,bool isCallValid,GLint srcX0,GLint srcY0,GLint srcX1,GLint srcY1,GLint dstX0,GLint dstY0,GLint dstX1,GLint dstY1,GLbitfield mask,GLenum filter)8883 CallCapture CaptureBlitFramebufferNV(const State &glState,
8884 bool isCallValid,
8885 GLint srcX0,
8886 GLint srcY0,
8887 GLint srcX1,
8888 GLint srcY1,
8889 GLint dstX0,
8890 GLint dstY0,
8891 GLint dstX1,
8892 GLint dstY1,
8893 GLbitfield mask,
8894 GLenum filter)
8895 {
8896 ParamBuffer paramBuffer;
8897
8898 paramBuffer.addValueParam("srcX0", ParamType::TGLint, srcX0);
8899 paramBuffer.addValueParam("srcY0", ParamType::TGLint, srcY0);
8900 paramBuffer.addValueParam("srcX1", ParamType::TGLint, srcX1);
8901 paramBuffer.addValueParam("srcY1", ParamType::TGLint, srcY1);
8902 paramBuffer.addValueParam("dstX0", ParamType::TGLint, dstX0);
8903 paramBuffer.addValueParam("dstY0", ParamType::TGLint, dstY0);
8904 paramBuffer.addValueParam("dstX1", ParamType::TGLint, dstX1);
8905 paramBuffer.addValueParam("dstY1", ParamType::TGLint, dstY1);
8906 paramBuffer.addEnumParam("mask", GLenumGroup::ClearBufferMask, ParamType::TGLbitfield, mask);
8907 paramBuffer.addEnumParam("filter", GLenumGroup::BlitFramebufferFilter, ParamType::TGLenum,
8908 filter);
8909
8910 return CallCapture(angle::EntryPoint::GLBlitFramebufferNV, std::move(paramBuffer));
8911 }
8912
CaptureEGLImageTargetRenderbufferStorageOES(const State & glState,bool isCallValid,GLenum target,GLeglImageOES image)8913 CallCapture CaptureEGLImageTargetRenderbufferStorageOES(const State &glState,
8914 bool isCallValid,
8915 GLenum target,
8916 GLeglImageOES image)
8917 {
8918 ParamBuffer paramBuffer;
8919
8920 paramBuffer.addEnumParam("target", GLenumGroup::DefaultGroup, ParamType::TGLenum, target);
8921 paramBuffer.addValueParam("image", ParamType::TGLeglImageOES, image);
8922
8923 return CallCapture(angle::EntryPoint::GLEGLImageTargetRenderbufferStorageOES,
8924 std::move(paramBuffer));
8925 }
8926
CaptureEGLImageTargetTexture2DOES(const State & glState,bool isCallValid,TextureType targetPacked,GLeglImageOES image)8927 CallCapture CaptureEGLImageTargetTexture2DOES(const State &glState,
8928 bool isCallValid,
8929 TextureType targetPacked,
8930 GLeglImageOES image)
8931 {
8932 ParamBuffer paramBuffer;
8933
8934 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
8935 paramBuffer.addValueParam("image", ParamType::TGLeglImageOES, image);
8936
8937 return CallCapture(angle::EntryPoint::GLEGLImageTargetTexture2DOES, std::move(paramBuffer));
8938 }
8939
CaptureCopyImageSubDataOES(const State & glState,bool isCallValid,GLuint srcName,GLenum srcTarget,GLint srcLevel,GLint srcX,GLint srcY,GLint srcZ,GLuint dstName,GLenum dstTarget,GLint dstLevel,GLint dstX,GLint dstY,GLint dstZ,GLsizei srcWidth,GLsizei srcHeight,GLsizei srcDepth)8940 CallCapture CaptureCopyImageSubDataOES(const State &glState,
8941 bool isCallValid,
8942 GLuint srcName,
8943 GLenum srcTarget,
8944 GLint srcLevel,
8945 GLint srcX,
8946 GLint srcY,
8947 GLint srcZ,
8948 GLuint dstName,
8949 GLenum dstTarget,
8950 GLint dstLevel,
8951 GLint dstX,
8952 GLint dstY,
8953 GLint dstZ,
8954 GLsizei srcWidth,
8955 GLsizei srcHeight,
8956 GLsizei srcDepth)
8957 {
8958 ParamBuffer paramBuffer;
8959
8960 paramBuffer.addValueParam("srcName", ParamType::TGLuint, srcName);
8961 paramBuffer.addEnumParam("srcTarget", GLenumGroup::CopyBufferSubDataTarget, ParamType::TGLenum,
8962 srcTarget);
8963 paramBuffer.addValueParam("srcLevel", ParamType::TGLint, srcLevel);
8964 paramBuffer.addValueParam("srcX", ParamType::TGLint, srcX);
8965 paramBuffer.addValueParam("srcY", ParamType::TGLint, srcY);
8966 paramBuffer.addValueParam("srcZ", ParamType::TGLint, srcZ);
8967 paramBuffer.addValueParam("dstName", ParamType::TGLuint, dstName);
8968 paramBuffer.addEnumParam("dstTarget", GLenumGroup::CopyBufferSubDataTarget, ParamType::TGLenum,
8969 dstTarget);
8970 paramBuffer.addValueParam("dstLevel", ParamType::TGLint, dstLevel);
8971 paramBuffer.addValueParam("dstX", ParamType::TGLint, dstX);
8972 paramBuffer.addValueParam("dstY", ParamType::TGLint, dstY);
8973 paramBuffer.addValueParam("dstZ", ParamType::TGLint, dstZ);
8974 paramBuffer.addValueParam("srcWidth", ParamType::TGLsizei, srcWidth);
8975 paramBuffer.addValueParam("srcHeight", ParamType::TGLsizei, srcHeight);
8976 paramBuffer.addValueParam("srcDepth", ParamType::TGLsizei, srcDepth);
8977
8978 return CallCapture(angle::EntryPoint::GLCopyImageSubDataOES, std::move(paramBuffer));
8979 }
8980
CaptureBlendEquationSeparateiOES(const State & glState,bool isCallValid,GLuint buf,GLenum modeRGB,GLenum modeAlpha)8981 CallCapture CaptureBlendEquationSeparateiOES(const State &glState,
8982 bool isCallValid,
8983 GLuint buf,
8984 GLenum modeRGB,
8985 GLenum modeAlpha)
8986 {
8987 ParamBuffer paramBuffer;
8988
8989 paramBuffer.addValueParam("buf", ParamType::TGLuint, buf);
8990 paramBuffer.addEnumParam("modeRGB", GLenumGroup::BlendEquationModeEXT, ParamType::TGLenum,
8991 modeRGB);
8992 paramBuffer.addEnumParam("modeAlpha", GLenumGroup::BlendEquationModeEXT, ParamType::TGLenum,
8993 modeAlpha);
8994
8995 return CallCapture(angle::EntryPoint::GLBlendEquationSeparateiOES, std::move(paramBuffer));
8996 }
8997
CaptureBlendEquationiOES(const State & glState,bool isCallValid,GLuint buf,GLenum mode)8998 CallCapture CaptureBlendEquationiOES(const State &glState,
8999 bool isCallValid,
9000 GLuint buf,
9001 GLenum mode)
9002 {
9003 ParamBuffer paramBuffer;
9004
9005 paramBuffer.addValueParam("buf", ParamType::TGLuint, buf);
9006 paramBuffer.addEnumParam("mode", GLenumGroup::BlendEquationModeEXT, ParamType::TGLenum, mode);
9007
9008 return CallCapture(angle::EntryPoint::GLBlendEquationiOES, std::move(paramBuffer));
9009 }
9010
CaptureBlendFuncSeparateiOES(const State & glState,bool isCallValid,GLuint buf,GLenum srcRGB,GLenum dstRGB,GLenum srcAlpha,GLenum dstAlpha)9011 CallCapture CaptureBlendFuncSeparateiOES(const State &glState,
9012 bool isCallValid,
9013 GLuint buf,
9014 GLenum srcRGB,
9015 GLenum dstRGB,
9016 GLenum srcAlpha,
9017 GLenum dstAlpha)
9018 {
9019 ParamBuffer paramBuffer;
9020
9021 paramBuffer.addValueParam("buf", ParamType::TGLuint, buf);
9022 paramBuffer.addEnumParam("srcRGB", GLenumGroup::BlendingFactor, ParamType::TGLenum, srcRGB);
9023 paramBuffer.addEnumParam("dstRGB", GLenumGroup::BlendingFactor, ParamType::TGLenum, dstRGB);
9024 paramBuffer.addEnumParam("srcAlpha", GLenumGroup::BlendingFactor, ParamType::TGLenum, srcAlpha);
9025 paramBuffer.addEnumParam("dstAlpha", GLenumGroup::BlendingFactor, ParamType::TGLenum, dstAlpha);
9026
9027 return CallCapture(angle::EntryPoint::GLBlendFuncSeparateiOES, std::move(paramBuffer));
9028 }
9029
CaptureBlendFunciOES(const State & glState,bool isCallValid,GLuint buf,GLenum src,GLenum dst)9030 CallCapture CaptureBlendFunciOES(const State &glState,
9031 bool isCallValid,
9032 GLuint buf,
9033 GLenum src,
9034 GLenum dst)
9035 {
9036 ParamBuffer paramBuffer;
9037
9038 paramBuffer.addValueParam("buf", ParamType::TGLuint, buf);
9039 paramBuffer.addEnumParam("src", GLenumGroup::BlendingFactor, ParamType::TGLenum, src);
9040 paramBuffer.addEnumParam("dst", GLenumGroup::BlendingFactor, ParamType::TGLenum, dst);
9041
9042 return CallCapture(angle::EntryPoint::GLBlendFunciOES, std::move(paramBuffer));
9043 }
9044
CaptureColorMaskiOES(const State & glState,bool isCallValid,GLuint index,GLboolean r,GLboolean g,GLboolean b,GLboolean a)9045 CallCapture CaptureColorMaskiOES(const State &glState,
9046 bool isCallValid,
9047 GLuint index,
9048 GLboolean r,
9049 GLboolean g,
9050 GLboolean b,
9051 GLboolean a)
9052 {
9053 ParamBuffer paramBuffer;
9054
9055 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
9056 paramBuffer.addValueParam("r", ParamType::TGLboolean, r);
9057 paramBuffer.addValueParam("g", ParamType::TGLboolean, g);
9058 paramBuffer.addValueParam("b", ParamType::TGLboolean, b);
9059 paramBuffer.addValueParam("a", ParamType::TGLboolean, a);
9060
9061 return CallCapture(angle::EntryPoint::GLColorMaskiOES, std::move(paramBuffer));
9062 }
9063
CaptureDisableiOES(const State & glState,bool isCallValid,GLenum target,GLuint index)9064 CallCapture CaptureDisableiOES(const State &glState, bool isCallValid, GLenum target, GLuint index)
9065 {
9066 ParamBuffer paramBuffer;
9067
9068 paramBuffer.addEnumParam("target", GLenumGroup::EnableCap, ParamType::TGLenum, target);
9069 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
9070
9071 return CallCapture(angle::EntryPoint::GLDisableiOES, std::move(paramBuffer));
9072 }
9073
CaptureEnableiOES(const State & glState,bool isCallValid,GLenum target,GLuint index)9074 CallCapture CaptureEnableiOES(const State &glState, bool isCallValid, GLenum target, GLuint index)
9075 {
9076 ParamBuffer paramBuffer;
9077
9078 paramBuffer.addEnumParam("target", GLenumGroup::EnableCap, ParamType::TGLenum, target);
9079 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
9080
9081 return CallCapture(angle::EntryPoint::GLEnableiOES, std::move(paramBuffer));
9082 }
9083
CaptureIsEnablediOES(const State & glState,bool isCallValid,GLenum target,GLuint index,GLboolean returnValue)9084 CallCapture CaptureIsEnablediOES(const State &glState,
9085 bool isCallValid,
9086 GLenum target,
9087 GLuint index,
9088 GLboolean returnValue)
9089 {
9090 ParamBuffer paramBuffer;
9091
9092 paramBuffer.addEnumParam("target", GLenumGroup::EnableCap, ParamType::TGLenum, target);
9093 paramBuffer.addValueParam("index", ParamType::TGLuint, index);
9094
9095 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
9096 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
9097 paramBuffer.addReturnValue(std::move(returnValueCapture));
9098
9099 return CallCapture(angle::EntryPoint::GLIsEnablediOES, std::move(paramBuffer));
9100 }
9101
CaptureDrawElementsBaseVertexOES(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLsizei count,DrawElementsType typePacked,const void * indices,GLint basevertex)9102 CallCapture CaptureDrawElementsBaseVertexOES(const State &glState,
9103 bool isCallValid,
9104 PrimitiveMode modePacked,
9105 GLsizei count,
9106 DrawElementsType typePacked,
9107 const void *indices,
9108 GLint basevertex)
9109 {
9110 ParamBuffer paramBuffer;
9111
9112 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
9113 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
9114 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
9115
9116 if (isCallValid)
9117 {
9118 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
9119 InitParamValue(ParamType::TvoidConstPointer, indices, &indicesParam.value);
9120 CaptureDrawElementsBaseVertexOES_indices(glState, isCallValid, modePacked, count,
9121 typePacked, indices, basevertex, &indicesParam);
9122 paramBuffer.addParam(std::move(indicesParam));
9123 }
9124 else
9125 {
9126 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
9127 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
9128 &indicesParam.value);
9129 paramBuffer.addParam(std::move(indicesParam));
9130 }
9131
9132 paramBuffer.addValueParam("basevertex", ParamType::TGLint, basevertex);
9133
9134 return CallCapture(angle::EntryPoint::GLDrawElementsBaseVertexOES, std::move(paramBuffer));
9135 }
9136
CaptureDrawElementsInstancedBaseVertexOES(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLsizei count,DrawElementsType typePacked,const void * indices,GLsizei instancecount,GLint basevertex)9137 CallCapture CaptureDrawElementsInstancedBaseVertexOES(const State &glState,
9138 bool isCallValid,
9139 PrimitiveMode modePacked,
9140 GLsizei count,
9141 DrawElementsType typePacked,
9142 const void *indices,
9143 GLsizei instancecount,
9144 GLint basevertex)
9145 {
9146 ParamBuffer paramBuffer;
9147
9148 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
9149 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
9150 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
9151
9152 if (isCallValid)
9153 {
9154 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
9155 InitParamValue(ParamType::TvoidConstPointer, indices, &indicesParam.value);
9156 CaptureDrawElementsInstancedBaseVertexOES_indices(glState, isCallValid, modePacked, count,
9157 typePacked, indices, instancecount,
9158 basevertex, &indicesParam);
9159 paramBuffer.addParam(std::move(indicesParam));
9160 }
9161 else
9162 {
9163 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
9164 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
9165 &indicesParam.value);
9166 paramBuffer.addParam(std::move(indicesParam));
9167 }
9168
9169 paramBuffer.addValueParam("instancecount", ParamType::TGLsizei, instancecount);
9170 paramBuffer.addValueParam("basevertex", ParamType::TGLint, basevertex);
9171
9172 return CallCapture(angle::EntryPoint::GLDrawElementsInstancedBaseVertexOES,
9173 std::move(paramBuffer));
9174 }
9175
CaptureDrawRangeElementsBaseVertexOES(const State & glState,bool isCallValid,PrimitiveMode modePacked,GLuint start,GLuint end,GLsizei count,DrawElementsType typePacked,const void * indices,GLint basevertex)9176 CallCapture CaptureDrawRangeElementsBaseVertexOES(const State &glState,
9177 bool isCallValid,
9178 PrimitiveMode modePacked,
9179 GLuint start,
9180 GLuint end,
9181 GLsizei count,
9182 DrawElementsType typePacked,
9183 const void *indices,
9184 GLint basevertex)
9185 {
9186 ParamBuffer paramBuffer;
9187
9188 paramBuffer.addValueParam("modePacked", ParamType::TPrimitiveMode, modePacked);
9189 paramBuffer.addValueParam("start", ParamType::TGLuint, start);
9190 paramBuffer.addValueParam("end", ParamType::TGLuint, end);
9191 paramBuffer.addValueParam("count", ParamType::TGLsizei, count);
9192 paramBuffer.addValueParam("typePacked", ParamType::TDrawElementsType, typePacked);
9193
9194 if (isCallValid)
9195 {
9196 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
9197 InitParamValue(ParamType::TvoidConstPointer, indices, &indicesParam.value);
9198 CaptureDrawRangeElementsBaseVertexOES_indices(glState, isCallValid, modePacked, start, end,
9199 count, typePacked, indices, basevertex,
9200 &indicesParam);
9201 paramBuffer.addParam(std::move(indicesParam));
9202 }
9203 else
9204 {
9205 ParamCapture indicesParam("indices", ParamType::TvoidConstPointer);
9206 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
9207 &indicesParam.value);
9208 paramBuffer.addParam(std::move(indicesParam));
9209 }
9210
9211 paramBuffer.addValueParam("basevertex", ParamType::TGLint, basevertex);
9212
9213 return CallCapture(angle::EntryPoint::GLDrawRangeElementsBaseVertexOES, std::move(paramBuffer));
9214 }
9215
CaptureDrawTexfOES(const State & glState,bool isCallValid,GLfloat x,GLfloat y,GLfloat z,GLfloat width,GLfloat height)9216 CallCapture CaptureDrawTexfOES(const State &glState,
9217 bool isCallValid,
9218 GLfloat x,
9219 GLfloat y,
9220 GLfloat z,
9221 GLfloat width,
9222 GLfloat height)
9223 {
9224 ParamBuffer paramBuffer;
9225
9226 paramBuffer.addValueParam("x", ParamType::TGLfloat, x);
9227 paramBuffer.addValueParam("y", ParamType::TGLfloat, y);
9228 paramBuffer.addValueParam("z", ParamType::TGLfloat, z);
9229 paramBuffer.addValueParam("width", ParamType::TGLfloat, width);
9230 paramBuffer.addValueParam("height", ParamType::TGLfloat, height);
9231
9232 return CallCapture(angle::EntryPoint::GLDrawTexfOES, std::move(paramBuffer));
9233 }
9234
CaptureDrawTexfvOES(const State & glState,bool isCallValid,const GLfloat * coords)9235 CallCapture CaptureDrawTexfvOES(const State &glState, bool isCallValid, const GLfloat *coords)
9236 {
9237 ParamBuffer paramBuffer;
9238
9239 if (isCallValid)
9240 {
9241 ParamCapture coordsParam("coords", ParamType::TGLfloatConstPointer);
9242 InitParamValue(ParamType::TGLfloatConstPointer, coords, &coordsParam.value);
9243 CaptureDrawTexfvOES_coords(glState, isCallValid, coords, &coordsParam);
9244 paramBuffer.addParam(std::move(coordsParam));
9245 }
9246 else
9247 {
9248 ParamCapture coordsParam("coords", ParamType::TGLfloatConstPointer);
9249 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
9250 &coordsParam.value);
9251 paramBuffer.addParam(std::move(coordsParam));
9252 }
9253
9254 return CallCapture(angle::EntryPoint::GLDrawTexfvOES, std::move(paramBuffer));
9255 }
9256
CaptureDrawTexiOES(const State & glState,bool isCallValid,GLint x,GLint y,GLint z,GLint width,GLint height)9257 CallCapture CaptureDrawTexiOES(const State &glState,
9258 bool isCallValid,
9259 GLint x,
9260 GLint y,
9261 GLint z,
9262 GLint width,
9263 GLint height)
9264 {
9265 ParamBuffer paramBuffer;
9266
9267 paramBuffer.addValueParam("x", ParamType::TGLint, x);
9268 paramBuffer.addValueParam("y", ParamType::TGLint, y);
9269 paramBuffer.addValueParam("z", ParamType::TGLint, z);
9270 paramBuffer.addValueParam("width", ParamType::TGLint, width);
9271 paramBuffer.addValueParam("height", ParamType::TGLint, height);
9272
9273 return CallCapture(angle::EntryPoint::GLDrawTexiOES, std::move(paramBuffer));
9274 }
9275
CaptureDrawTexivOES(const State & glState,bool isCallValid,const GLint * coords)9276 CallCapture CaptureDrawTexivOES(const State &glState, bool isCallValid, const GLint *coords)
9277 {
9278 ParamBuffer paramBuffer;
9279
9280 if (isCallValid)
9281 {
9282 ParamCapture coordsParam("coords", ParamType::TGLintConstPointer);
9283 InitParamValue(ParamType::TGLintConstPointer, coords, &coordsParam.value);
9284 CaptureDrawTexivOES_coords(glState, isCallValid, coords, &coordsParam);
9285 paramBuffer.addParam(std::move(coordsParam));
9286 }
9287 else
9288 {
9289 ParamCapture coordsParam("coords", ParamType::TGLintConstPointer);
9290 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
9291 &coordsParam.value);
9292 paramBuffer.addParam(std::move(coordsParam));
9293 }
9294
9295 return CallCapture(angle::EntryPoint::GLDrawTexivOES, std::move(paramBuffer));
9296 }
9297
CaptureDrawTexsOES(const State & glState,bool isCallValid,GLshort x,GLshort y,GLshort z,GLshort width,GLshort height)9298 CallCapture CaptureDrawTexsOES(const State &glState,
9299 bool isCallValid,
9300 GLshort x,
9301 GLshort y,
9302 GLshort z,
9303 GLshort width,
9304 GLshort height)
9305 {
9306 ParamBuffer paramBuffer;
9307
9308 paramBuffer.addValueParam("x", ParamType::TGLshort, x);
9309 paramBuffer.addValueParam("y", ParamType::TGLshort, y);
9310 paramBuffer.addValueParam("z", ParamType::TGLshort, z);
9311 paramBuffer.addValueParam("width", ParamType::TGLshort, width);
9312 paramBuffer.addValueParam("height", ParamType::TGLshort, height);
9313
9314 return CallCapture(angle::EntryPoint::GLDrawTexsOES, std::move(paramBuffer));
9315 }
9316
CaptureDrawTexsvOES(const State & glState,bool isCallValid,const GLshort * coords)9317 CallCapture CaptureDrawTexsvOES(const State &glState, bool isCallValid, const GLshort *coords)
9318 {
9319 ParamBuffer paramBuffer;
9320
9321 if (isCallValid)
9322 {
9323 ParamCapture coordsParam("coords", ParamType::TGLshortConstPointer);
9324 InitParamValue(ParamType::TGLshortConstPointer, coords, &coordsParam.value);
9325 CaptureDrawTexsvOES_coords(glState, isCallValid, coords, &coordsParam);
9326 paramBuffer.addParam(std::move(coordsParam));
9327 }
9328 else
9329 {
9330 ParamCapture coordsParam("coords", ParamType::TGLshortConstPointer);
9331 InitParamValue(ParamType::TGLshortConstPointer, static_cast<const GLshort *>(nullptr),
9332 &coordsParam.value);
9333 paramBuffer.addParam(std::move(coordsParam));
9334 }
9335
9336 return CallCapture(angle::EntryPoint::GLDrawTexsvOES, std::move(paramBuffer));
9337 }
9338
CaptureDrawTexxOES(const State & glState,bool isCallValid,GLfixed x,GLfixed y,GLfixed z,GLfixed width,GLfixed height)9339 CallCapture CaptureDrawTexxOES(const State &glState,
9340 bool isCallValid,
9341 GLfixed x,
9342 GLfixed y,
9343 GLfixed z,
9344 GLfixed width,
9345 GLfixed height)
9346 {
9347 ParamBuffer paramBuffer;
9348
9349 paramBuffer.addValueParam("x", ParamType::TGLfixed, x);
9350 paramBuffer.addValueParam("y", ParamType::TGLfixed, y);
9351 paramBuffer.addValueParam("z", ParamType::TGLfixed, z);
9352 paramBuffer.addValueParam("width", ParamType::TGLfixed, width);
9353 paramBuffer.addValueParam("height", ParamType::TGLfixed, height);
9354
9355 return CallCapture(angle::EntryPoint::GLDrawTexxOES, std::move(paramBuffer));
9356 }
9357
CaptureDrawTexxvOES(const State & glState,bool isCallValid,const GLfixed * coords)9358 CallCapture CaptureDrawTexxvOES(const State &glState, bool isCallValid, const GLfixed *coords)
9359 {
9360 ParamBuffer paramBuffer;
9361
9362 if (isCallValid)
9363 {
9364 ParamCapture coordsParam("coords", ParamType::TGLfixedConstPointer);
9365 InitParamValue(ParamType::TGLfixedConstPointer, coords, &coordsParam.value);
9366 CaptureDrawTexxvOES_coords(glState, isCallValid, coords, &coordsParam);
9367 paramBuffer.addParam(std::move(coordsParam));
9368 }
9369 else
9370 {
9371 ParamCapture coordsParam("coords", ParamType::TGLfixedConstPointer);
9372 InitParamValue(ParamType::TGLfixedConstPointer, static_cast<const GLfixed *>(nullptr),
9373 &coordsParam.value);
9374 paramBuffer.addParam(std::move(coordsParam));
9375 }
9376
9377 return CallCapture(angle::EntryPoint::GLDrawTexxvOES, std::move(paramBuffer));
9378 }
9379
CaptureBindFramebufferOES(const State & glState,bool isCallValid,GLenum target,FramebufferID framebufferPacked)9380 CallCapture CaptureBindFramebufferOES(const State &glState,
9381 bool isCallValid,
9382 GLenum target,
9383 FramebufferID framebufferPacked)
9384 {
9385 ParamBuffer paramBuffer;
9386
9387 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
9388 paramBuffer.addValueParam("framebufferPacked", ParamType::TFramebufferID, framebufferPacked);
9389
9390 return CallCapture(angle::EntryPoint::GLBindFramebufferOES, std::move(paramBuffer));
9391 }
9392
CaptureBindRenderbufferOES(const State & glState,bool isCallValid,GLenum target,RenderbufferID renderbufferPacked)9393 CallCapture CaptureBindRenderbufferOES(const State &glState,
9394 bool isCallValid,
9395 GLenum target,
9396 RenderbufferID renderbufferPacked)
9397 {
9398 ParamBuffer paramBuffer;
9399
9400 paramBuffer.addEnumParam("target", GLenumGroup::RenderbufferTarget, ParamType::TGLenum, target);
9401 paramBuffer.addValueParam("renderbufferPacked", ParamType::TRenderbufferID, renderbufferPacked);
9402
9403 return CallCapture(angle::EntryPoint::GLBindRenderbufferOES, std::move(paramBuffer));
9404 }
9405
CaptureCheckFramebufferStatusOES(const State & glState,bool isCallValid,GLenum target,GLenum returnValue)9406 CallCapture CaptureCheckFramebufferStatusOES(const State &glState,
9407 bool isCallValid,
9408 GLenum target,
9409 GLenum returnValue)
9410 {
9411 ParamBuffer paramBuffer;
9412
9413 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
9414
9415 ParamCapture returnValueCapture("returnValue", ParamType::TGLenum);
9416 InitParamValue(ParamType::TGLenum, returnValue, &returnValueCapture.value);
9417 paramBuffer.addReturnValue(std::move(returnValueCapture));
9418
9419 return CallCapture(angle::EntryPoint::GLCheckFramebufferStatusOES, std::move(paramBuffer));
9420 }
9421
CaptureDeleteFramebuffersOES(const State & glState,bool isCallValid,GLsizei n,const FramebufferID * framebuffersPacked)9422 CallCapture CaptureDeleteFramebuffersOES(const State &glState,
9423 bool isCallValid,
9424 GLsizei n,
9425 const FramebufferID *framebuffersPacked)
9426 {
9427 ParamBuffer paramBuffer;
9428
9429 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
9430
9431 if (isCallValid)
9432 {
9433 ParamCapture framebuffersPackedParam("framebuffersPacked",
9434 ParamType::TFramebufferIDConstPointer);
9435 InitParamValue(ParamType::TFramebufferIDConstPointer, framebuffersPacked,
9436 &framebuffersPackedParam.value);
9437 CaptureDeleteFramebuffersOES_framebuffersPacked(glState, isCallValid, n, framebuffersPacked,
9438 &framebuffersPackedParam);
9439 paramBuffer.addParam(std::move(framebuffersPackedParam));
9440 }
9441 else
9442 {
9443 ParamCapture framebuffersPackedParam("framebuffersPacked",
9444 ParamType::TFramebufferIDConstPointer);
9445 InitParamValue(ParamType::TFramebufferIDConstPointer,
9446 static_cast<const FramebufferID *>(nullptr), &framebuffersPackedParam.value);
9447 paramBuffer.addParam(std::move(framebuffersPackedParam));
9448 }
9449
9450 return CallCapture(angle::EntryPoint::GLDeleteFramebuffersOES, std::move(paramBuffer));
9451 }
9452
CaptureDeleteRenderbuffersOES(const State & glState,bool isCallValid,GLsizei n,const RenderbufferID * renderbuffersPacked)9453 CallCapture CaptureDeleteRenderbuffersOES(const State &glState,
9454 bool isCallValid,
9455 GLsizei n,
9456 const RenderbufferID *renderbuffersPacked)
9457 {
9458 ParamBuffer paramBuffer;
9459
9460 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
9461
9462 if (isCallValid)
9463 {
9464 ParamCapture renderbuffersPackedParam("renderbuffersPacked",
9465 ParamType::TRenderbufferIDConstPointer);
9466 InitParamValue(ParamType::TRenderbufferIDConstPointer, renderbuffersPacked,
9467 &renderbuffersPackedParam.value);
9468 CaptureDeleteRenderbuffersOES_renderbuffersPacked(
9469 glState, isCallValid, n, renderbuffersPacked, &renderbuffersPackedParam);
9470 paramBuffer.addParam(std::move(renderbuffersPackedParam));
9471 }
9472 else
9473 {
9474 ParamCapture renderbuffersPackedParam("renderbuffersPacked",
9475 ParamType::TRenderbufferIDConstPointer);
9476 InitParamValue(ParamType::TRenderbufferIDConstPointer,
9477 static_cast<const RenderbufferID *>(nullptr),
9478 &renderbuffersPackedParam.value);
9479 paramBuffer.addParam(std::move(renderbuffersPackedParam));
9480 }
9481
9482 return CallCapture(angle::EntryPoint::GLDeleteRenderbuffersOES, std::move(paramBuffer));
9483 }
9484
CaptureFramebufferRenderbufferOES(const State & glState,bool isCallValid,GLenum target,GLenum attachment,GLenum renderbuffertarget,RenderbufferID renderbufferPacked)9485 CallCapture CaptureFramebufferRenderbufferOES(const State &glState,
9486 bool isCallValid,
9487 GLenum target,
9488 GLenum attachment,
9489 GLenum renderbuffertarget,
9490 RenderbufferID renderbufferPacked)
9491 {
9492 ParamBuffer paramBuffer;
9493
9494 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
9495 paramBuffer.addEnumParam("attachment", GLenumGroup::FramebufferAttachment, ParamType::TGLenum,
9496 attachment);
9497 paramBuffer.addEnumParam("renderbuffertarget", GLenumGroup::RenderbufferTarget,
9498 ParamType::TGLenum, renderbuffertarget);
9499 paramBuffer.addValueParam("renderbufferPacked", ParamType::TRenderbufferID, renderbufferPacked);
9500
9501 return CallCapture(angle::EntryPoint::GLFramebufferRenderbufferOES, std::move(paramBuffer));
9502 }
9503
CaptureFramebufferTexture2DOES(const State & glState,bool isCallValid,GLenum target,GLenum attachment,TextureTarget textargetPacked,TextureID texturePacked,GLint level)9504 CallCapture CaptureFramebufferTexture2DOES(const State &glState,
9505 bool isCallValid,
9506 GLenum target,
9507 GLenum attachment,
9508 TextureTarget textargetPacked,
9509 TextureID texturePacked,
9510 GLint level)
9511 {
9512 ParamBuffer paramBuffer;
9513
9514 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
9515 paramBuffer.addEnumParam("attachment", GLenumGroup::FramebufferAttachment, ParamType::TGLenum,
9516 attachment);
9517 paramBuffer.addValueParam("textargetPacked", ParamType::TTextureTarget, textargetPacked);
9518 paramBuffer.addValueParam("texturePacked", ParamType::TTextureID, texturePacked);
9519 paramBuffer.addValueParam("level", ParamType::TGLint, level);
9520
9521 return CallCapture(angle::EntryPoint::GLFramebufferTexture2DOES, std::move(paramBuffer));
9522 }
9523
CaptureGenFramebuffersOES(const State & glState,bool isCallValid,GLsizei n,FramebufferID * framebuffersPacked)9524 CallCapture CaptureGenFramebuffersOES(const State &glState,
9525 bool isCallValid,
9526 GLsizei n,
9527 FramebufferID *framebuffersPacked)
9528 {
9529 ParamBuffer paramBuffer;
9530
9531 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
9532
9533 if (isCallValid)
9534 {
9535 ParamCapture framebuffersPackedParam("framebuffersPacked",
9536 ParamType::TFramebufferIDPointer);
9537 InitParamValue(ParamType::TFramebufferIDPointer, framebuffersPacked,
9538 &framebuffersPackedParam.value);
9539 CaptureGenFramebuffersOES_framebuffersPacked(glState, isCallValid, n, framebuffersPacked,
9540 &framebuffersPackedParam);
9541 paramBuffer.addParam(std::move(framebuffersPackedParam));
9542 }
9543 else
9544 {
9545 ParamCapture framebuffersPackedParam("framebuffersPacked",
9546 ParamType::TFramebufferIDPointer);
9547 InitParamValue(ParamType::TFramebufferIDPointer, static_cast<FramebufferID *>(nullptr),
9548 &framebuffersPackedParam.value);
9549 paramBuffer.addParam(std::move(framebuffersPackedParam));
9550 }
9551
9552 return CallCapture(angle::EntryPoint::GLGenFramebuffersOES, std::move(paramBuffer));
9553 }
9554
CaptureGenRenderbuffersOES(const State & glState,bool isCallValid,GLsizei n,RenderbufferID * renderbuffersPacked)9555 CallCapture CaptureGenRenderbuffersOES(const State &glState,
9556 bool isCallValid,
9557 GLsizei n,
9558 RenderbufferID *renderbuffersPacked)
9559 {
9560 ParamBuffer paramBuffer;
9561
9562 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
9563
9564 if (isCallValid)
9565 {
9566 ParamCapture renderbuffersPackedParam("renderbuffersPacked",
9567 ParamType::TRenderbufferIDPointer);
9568 InitParamValue(ParamType::TRenderbufferIDPointer, renderbuffersPacked,
9569 &renderbuffersPackedParam.value);
9570 CaptureGenRenderbuffersOES_renderbuffersPacked(glState, isCallValid, n, renderbuffersPacked,
9571 &renderbuffersPackedParam);
9572 paramBuffer.addParam(std::move(renderbuffersPackedParam));
9573 }
9574 else
9575 {
9576 ParamCapture renderbuffersPackedParam("renderbuffersPacked",
9577 ParamType::TRenderbufferIDPointer);
9578 InitParamValue(ParamType::TRenderbufferIDPointer, static_cast<RenderbufferID *>(nullptr),
9579 &renderbuffersPackedParam.value);
9580 paramBuffer.addParam(std::move(renderbuffersPackedParam));
9581 }
9582
9583 return CallCapture(angle::EntryPoint::GLGenRenderbuffersOES, std::move(paramBuffer));
9584 }
9585
CaptureGenerateMipmapOES(const State & glState,bool isCallValid,TextureType targetPacked)9586 CallCapture CaptureGenerateMipmapOES(const State &glState,
9587 bool isCallValid,
9588 TextureType targetPacked)
9589 {
9590 ParamBuffer paramBuffer;
9591
9592 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
9593
9594 return CallCapture(angle::EntryPoint::GLGenerateMipmapOES, std::move(paramBuffer));
9595 }
9596
CaptureGetFramebufferAttachmentParameterivOES(const State & glState,bool isCallValid,GLenum target,GLenum attachment,GLenum pname,GLint * params)9597 CallCapture CaptureGetFramebufferAttachmentParameterivOES(const State &glState,
9598 bool isCallValid,
9599 GLenum target,
9600 GLenum attachment,
9601 GLenum pname,
9602 GLint *params)
9603 {
9604 ParamBuffer paramBuffer;
9605
9606 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
9607 paramBuffer.addEnumParam("attachment", GLenumGroup::FramebufferAttachment, ParamType::TGLenum,
9608 attachment);
9609 paramBuffer.addEnumParam("pname", GLenumGroup::FramebufferAttachmentParameterName,
9610 ParamType::TGLenum, pname);
9611
9612 if (isCallValid)
9613 {
9614 ParamCapture paramsParam("params", ParamType::TGLintPointer);
9615 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
9616 CaptureGetFramebufferAttachmentParameterivOES_params(
9617 glState, isCallValid, target, attachment, pname, params, ¶msParam);
9618 paramBuffer.addParam(std::move(paramsParam));
9619 }
9620 else
9621 {
9622 ParamCapture paramsParam("params", ParamType::TGLintPointer);
9623 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
9624 paramBuffer.addParam(std::move(paramsParam));
9625 }
9626
9627 return CallCapture(angle::EntryPoint::GLGetFramebufferAttachmentParameterivOES,
9628 std::move(paramBuffer));
9629 }
9630
CaptureGetRenderbufferParameterivOES(const State & glState,bool isCallValid,GLenum target,GLenum pname,GLint * params)9631 CallCapture CaptureGetRenderbufferParameterivOES(const State &glState,
9632 bool isCallValid,
9633 GLenum target,
9634 GLenum pname,
9635 GLint *params)
9636 {
9637 ParamBuffer paramBuffer;
9638
9639 paramBuffer.addEnumParam("target", GLenumGroup::RenderbufferTarget, ParamType::TGLenum, target);
9640 paramBuffer.addEnumParam("pname", GLenumGroup::RenderbufferParameterName, ParamType::TGLenum,
9641 pname);
9642
9643 if (isCallValid)
9644 {
9645 ParamCapture paramsParam("params", ParamType::TGLintPointer);
9646 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
9647 CaptureGetRenderbufferParameterivOES_params(glState, isCallValid, target, pname, params,
9648 ¶msParam);
9649 paramBuffer.addParam(std::move(paramsParam));
9650 }
9651 else
9652 {
9653 ParamCapture paramsParam("params", ParamType::TGLintPointer);
9654 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
9655 paramBuffer.addParam(std::move(paramsParam));
9656 }
9657
9658 return CallCapture(angle::EntryPoint::GLGetRenderbufferParameterivOES, std::move(paramBuffer));
9659 }
9660
CaptureIsFramebufferOES(const State & glState,bool isCallValid,FramebufferID framebufferPacked,GLboolean returnValue)9661 CallCapture CaptureIsFramebufferOES(const State &glState,
9662 bool isCallValid,
9663 FramebufferID framebufferPacked,
9664 GLboolean returnValue)
9665 {
9666 ParamBuffer paramBuffer;
9667
9668 paramBuffer.addValueParam("framebufferPacked", ParamType::TFramebufferID, framebufferPacked);
9669
9670 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
9671 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
9672 paramBuffer.addReturnValue(std::move(returnValueCapture));
9673
9674 return CallCapture(angle::EntryPoint::GLIsFramebufferOES, std::move(paramBuffer));
9675 }
9676
CaptureIsRenderbufferOES(const State & glState,bool isCallValid,RenderbufferID renderbufferPacked,GLboolean returnValue)9677 CallCapture CaptureIsRenderbufferOES(const State &glState,
9678 bool isCallValid,
9679 RenderbufferID renderbufferPacked,
9680 GLboolean returnValue)
9681 {
9682 ParamBuffer paramBuffer;
9683
9684 paramBuffer.addValueParam("renderbufferPacked", ParamType::TRenderbufferID, renderbufferPacked);
9685
9686 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
9687 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
9688 paramBuffer.addReturnValue(std::move(returnValueCapture));
9689
9690 return CallCapture(angle::EntryPoint::GLIsRenderbufferOES, std::move(paramBuffer));
9691 }
9692
CaptureRenderbufferStorageOES(const State & glState,bool isCallValid,GLenum target,GLenum internalformat,GLsizei width,GLsizei height)9693 CallCapture CaptureRenderbufferStorageOES(const State &glState,
9694 bool isCallValid,
9695 GLenum target,
9696 GLenum internalformat,
9697 GLsizei width,
9698 GLsizei height)
9699 {
9700 ParamBuffer paramBuffer;
9701
9702 paramBuffer.addEnumParam("target", GLenumGroup::RenderbufferTarget, ParamType::TGLenum, target);
9703 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
9704 internalformat);
9705 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
9706 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
9707
9708 return CallCapture(angle::EntryPoint::GLRenderbufferStorageOES, std::move(paramBuffer));
9709 }
9710
CaptureFramebufferTextureOES(const State & glState,bool isCallValid,GLenum target,GLenum attachment,TextureID texturePacked,GLint level)9711 CallCapture CaptureFramebufferTextureOES(const State &glState,
9712 bool isCallValid,
9713 GLenum target,
9714 GLenum attachment,
9715 TextureID texturePacked,
9716 GLint level)
9717 {
9718 ParamBuffer paramBuffer;
9719
9720 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
9721 paramBuffer.addEnumParam("attachment", GLenumGroup::FramebufferAttachment, ParamType::TGLenum,
9722 attachment);
9723 paramBuffer.addValueParam("texturePacked", ParamType::TTextureID, texturePacked);
9724 paramBuffer.addValueParam("level", ParamType::TGLint, level);
9725
9726 return CallCapture(angle::EntryPoint::GLFramebufferTextureOES, std::move(paramBuffer));
9727 }
9728
CaptureGetProgramBinaryOES(const State & glState,bool isCallValid,ShaderProgramID programPacked,GLsizei bufSize,GLsizei * length,GLenum * binaryFormat,void * binary)9729 CallCapture CaptureGetProgramBinaryOES(const State &glState,
9730 bool isCallValid,
9731 ShaderProgramID programPacked,
9732 GLsizei bufSize,
9733 GLsizei *length,
9734 GLenum *binaryFormat,
9735 void *binary)
9736 {
9737 ParamBuffer paramBuffer;
9738
9739 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
9740 paramBuffer.addValueParam("bufSize", ParamType::TGLsizei, bufSize);
9741
9742 if (isCallValid)
9743 {
9744 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
9745 InitParamValue(ParamType::TGLsizeiPointer, length, &lengthParam.value);
9746 CaptureGetProgramBinaryOES_length(glState, isCallValid, programPacked, bufSize, length,
9747 binaryFormat, binary, &lengthParam);
9748 paramBuffer.addParam(std::move(lengthParam));
9749 }
9750 else
9751 {
9752 ParamCapture lengthParam("length", ParamType::TGLsizeiPointer);
9753 InitParamValue(ParamType::TGLsizeiPointer, static_cast<GLsizei *>(nullptr),
9754 &lengthParam.value);
9755 paramBuffer.addParam(std::move(lengthParam));
9756 }
9757
9758 if (isCallValid)
9759 {
9760 ParamCapture binaryFormatParam("binaryFormat", ParamType::TGLenumPointer);
9761 InitParamValue(ParamType::TGLenumPointer, binaryFormat, &binaryFormatParam.value);
9762 CaptureGetProgramBinaryOES_binaryFormat(glState, isCallValid, programPacked, bufSize,
9763 length, binaryFormat, binary, &binaryFormatParam);
9764 paramBuffer.addParam(std::move(binaryFormatParam));
9765 }
9766 else
9767 {
9768 ParamCapture binaryFormatParam("binaryFormat", ParamType::TGLenumPointer);
9769 InitParamValue(ParamType::TGLenumPointer, static_cast<GLenum *>(nullptr),
9770 &binaryFormatParam.value);
9771 paramBuffer.addParam(std::move(binaryFormatParam));
9772 }
9773
9774 if (isCallValid)
9775 {
9776 ParamCapture binaryParam("binary", ParamType::TvoidPointer);
9777 InitParamValue(ParamType::TvoidPointer, binary, &binaryParam.value);
9778 CaptureGetProgramBinaryOES_binary(glState, isCallValid, programPacked, bufSize, length,
9779 binaryFormat, binary, &binaryParam);
9780 paramBuffer.addParam(std::move(binaryParam));
9781 }
9782 else
9783 {
9784 ParamCapture binaryParam("binary", ParamType::TvoidPointer);
9785 InitParamValue(ParamType::TvoidPointer, static_cast<void *>(nullptr), &binaryParam.value);
9786 paramBuffer.addParam(std::move(binaryParam));
9787 }
9788
9789 return CallCapture(angle::EntryPoint::GLGetProgramBinaryOES, std::move(paramBuffer));
9790 }
9791
CaptureProgramBinaryOES(const State & glState,bool isCallValid,ShaderProgramID programPacked,GLenum binaryFormat,const void * binary,GLint length)9792 CallCapture CaptureProgramBinaryOES(const State &glState,
9793 bool isCallValid,
9794 ShaderProgramID programPacked,
9795 GLenum binaryFormat,
9796 const void *binary,
9797 GLint length)
9798 {
9799 ParamBuffer paramBuffer;
9800
9801 paramBuffer.addValueParam("programPacked", ParamType::TShaderProgramID, programPacked);
9802 paramBuffer.addEnumParam("binaryFormat", GLenumGroup::DefaultGroup, ParamType::TGLenum,
9803 binaryFormat);
9804
9805 if (isCallValid)
9806 {
9807 ParamCapture binaryParam("binary", ParamType::TvoidConstPointer);
9808 InitParamValue(ParamType::TvoidConstPointer, binary, &binaryParam.value);
9809 CaptureProgramBinaryOES_binary(glState, isCallValid, programPacked, binaryFormat, binary,
9810 length, &binaryParam);
9811 paramBuffer.addParam(std::move(binaryParam));
9812 }
9813 else
9814 {
9815 ParamCapture binaryParam("binary", ParamType::TvoidConstPointer);
9816 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
9817 &binaryParam.value);
9818 paramBuffer.addParam(std::move(binaryParam));
9819 }
9820
9821 paramBuffer.addValueParam("length", ParamType::TGLint, length);
9822
9823 return CallCapture(angle::EntryPoint::GLProgramBinaryOES, std::move(paramBuffer));
9824 }
9825
CaptureGetBufferPointervOES(const State & glState,bool isCallValid,BufferBinding targetPacked,GLenum pname,void ** params)9826 CallCapture CaptureGetBufferPointervOES(const State &glState,
9827 bool isCallValid,
9828 BufferBinding targetPacked,
9829 GLenum pname,
9830 void **params)
9831 {
9832 ParamBuffer paramBuffer;
9833
9834 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
9835 paramBuffer.addEnumParam("pname", GLenumGroup::DefaultGroup, ParamType::TGLenum, pname);
9836
9837 if (isCallValid)
9838 {
9839 ParamCapture paramsParam("params", ParamType::TvoidPointerPointer);
9840 InitParamValue(ParamType::TvoidPointerPointer, params, ¶msParam.value);
9841 CaptureGetBufferPointervOES_params(glState, isCallValid, targetPacked, pname, params,
9842 ¶msParam);
9843 paramBuffer.addParam(std::move(paramsParam));
9844 }
9845 else
9846 {
9847 ParamCapture paramsParam("params", ParamType::TvoidPointerPointer);
9848 InitParamValue(ParamType::TvoidPointerPointer, static_cast<void **>(nullptr),
9849 ¶msParam.value);
9850 paramBuffer.addParam(std::move(paramsParam));
9851 }
9852
9853 return CallCapture(angle::EntryPoint::GLGetBufferPointervOES, std::move(paramBuffer));
9854 }
9855
CaptureMapBufferOES(const State & glState,bool isCallValid,BufferBinding targetPacked,GLenum access,void * returnValue)9856 CallCapture CaptureMapBufferOES(const State &glState,
9857 bool isCallValid,
9858 BufferBinding targetPacked,
9859 GLenum access,
9860 void *returnValue)
9861 {
9862 ParamBuffer paramBuffer;
9863
9864 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
9865 paramBuffer.addEnumParam("access", GLenumGroup::BufferAccessARB, ParamType::TGLenum, access);
9866
9867 ParamCapture returnValueCapture("returnValue", ParamType::TvoidPointer);
9868 InitParamValue(ParamType::TvoidPointer, returnValue, &returnValueCapture.value);
9869 paramBuffer.addReturnValue(std::move(returnValueCapture));
9870
9871 return CallCapture(angle::EntryPoint::GLMapBufferOES, std::move(paramBuffer));
9872 }
9873
CaptureUnmapBufferOES(const State & glState,bool isCallValid,BufferBinding targetPacked,GLboolean returnValue)9874 CallCapture CaptureUnmapBufferOES(const State &glState,
9875 bool isCallValid,
9876 BufferBinding targetPacked,
9877 GLboolean returnValue)
9878 {
9879 ParamBuffer paramBuffer;
9880
9881 paramBuffer.addValueParam("targetPacked", ParamType::TBufferBinding, targetPacked);
9882
9883 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
9884 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
9885 paramBuffer.addReturnValue(std::move(returnValueCapture));
9886
9887 return CallCapture(angle::EntryPoint::GLUnmapBufferOES, std::move(paramBuffer));
9888 }
9889
CaptureCurrentPaletteMatrixOES(const State & glState,bool isCallValid,GLuint matrixpaletteindex)9890 CallCapture CaptureCurrentPaletteMatrixOES(const State &glState,
9891 bool isCallValid,
9892 GLuint matrixpaletteindex)
9893 {
9894 ParamBuffer paramBuffer;
9895
9896 paramBuffer.addValueParam("matrixpaletteindex", ParamType::TGLuint, matrixpaletteindex);
9897
9898 return CallCapture(angle::EntryPoint::GLCurrentPaletteMatrixOES, std::move(paramBuffer));
9899 }
9900
CaptureLoadPaletteFromModelViewMatrixOES(const State & glState,bool isCallValid)9901 CallCapture CaptureLoadPaletteFromModelViewMatrixOES(const State &glState, bool isCallValid)
9902 {
9903 ParamBuffer paramBuffer;
9904
9905 return CallCapture(angle::EntryPoint::GLLoadPaletteFromModelViewMatrixOES,
9906 std::move(paramBuffer));
9907 }
9908
CaptureMatrixIndexPointerOES(const State & glState,bool isCallValid,GLint size,GLenum type,GLsizei stride,const void * pointer)9909 CallCapture CaptureMatrixIndexPointerOES(const State &glState,
9910 bool isCallValid,
9911 GLint size,
9912 GLenum type,
9913 GLsizei stride,
9914 const void *pointer)
9915 {
9916 ParamBuffer paramBuffer;
9917
9918 paramBuffer.addValueParam("size", ParamType::TGLint, size);
9919 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
9920 paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
9921
9922 if (isCallValid)
9923 {
9924 ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
9925 InitParamValue(ParamType::TvoidConstPointer, pointer, &pointerParam.value);
9926 CaptureMatrixIndexPointerOES_pointer(glState, isCallValid, size, type, stride, pointer,
9927 &pointerParam);
9928 paramBuffer.addParam(std::move(pointerParam));
9929 }
9930 else
9931 {
9932 ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
9933 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
9934 &pointerParam.value);
9935 paramBuffer.addParam(std::move(pointerParam));
9936 }
9937
9938 return CallCapture(angle::EntryPoint::GLMatrixIndexPointerOES, std::move(paramBuffer));
9939 }
9940
CaptureWeightPointerOES(const State & glState,bool isCallValid,GLint size,GLenum type,GLsizei stride,const void * pointer)9941 CallCapture CaptureWeightPointerOES(const State &glState,
9942 bool isCallValid,
9943 GLint size,
9944 GLenum type,
9945 GLsizei stride,
9946 const void *pointer)
9947 {
9948 ParamBuffer paramBuffer;
9949
9950 paramBuffer.addValueParam("size", ParamType::TGLint, size);
9951 paramBuffer.addEnumParam("type", GLenumGroup::DefaultGroup, ParamType::TGLenum, type);
9952 paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
9953
9954 if (isCallValid)
9955 {
9956 ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
9957 InitParamValue(ParamType::TvoidConstPointer, pointer, &pointerParam.value);
9958 CaptureWeightPointerOES_pointer(glState, isCallValid, size, type, stride, pointer,
9959 &pointerParam);
9960 paramBuffer.addParam(std::move(pointerParam));
9961 }
9962 else
9963 {
9964 ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
9965 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
9966 &pointerParam.value);
9967 paramBuffer.addParam(std::move(pointerParam));
9968 }
9969
9970 return CallCapture(angle::EntryPoint::GLWeightPointerOES, std::move(paramBuffer));
9971 }
9972
CapturePointSizePointerOES(const State & glState,bool isCallValid,VertexAttribType typePacked,GLsizei stride,const void * pointer)9973 CallCapture CapturePointSizePointerOES(const State &glState,
9974 bool isCallValid,
9975 VertexAttribType typePacked,
9976 GLsizei stride,
9977 const void *pointer)
9978 {
9979 ParamBuffer paramBuffer;
9980
9981 paramBuffer.addValueParam("typePacked", ParamType::TVertexAttribType, typePacked);
9982 paramBuffer.addValueParam("stride", ParamType::TGLsizei, stride);
9983
9984 if (isCallValid)
9985 {
9986 ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
9987 InitParamValue(ParamType::TvoidConstPointer, pointer, &pointerParam.value);
9988 CapturePointSizePointerOES_pointer(glState, isCallValid, typePacked, stride, pointer,
9989 &pointerParam);
9990 paramBuffer.addParam(std::move(pointerParam));
9991 }
9992 else
9993 {
9994 ParamCapture pointerParam("pointer", ParamType::TvoidConstPointer);
9995 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
9996 &pointerParam.value);
9997 paramBuffer.addParam(std::move(pointerParam));
9998 }
9999
10000 return CallCapture(angle::EntryPoint::GLPointSizePointerOES, std::move(paramBuffer));
10001 }
10002
CaptureQueryMatrixxOES(const State & glState,bool isCallValid,GLfixed * mantissa,GLint * exponent,GLbitfield returnValue)10003 CallCapture CaptureQueryMatrixxOES(const State &glState,
10004 bool isCallValid,
10005 GLfixed *mantissa,
10006 GLint *exponent,
10007 GLbitfield returnValue)
10008 {
10009 ParamBuffer paramBuffer;
10010
10011 if (isCallValid)
10012 {
10013 ParamCapture mantissaParam("mantissa", ParamType::TGLfixedPointer);
10014 InitParamValue(ParamType::TGLfixedPointer, mantissa, &mantissaParam.value);
10015 CaptureQueryMatrixxOES_mantissa(glState, isCallValid, mantissa, exponent, &mantissaParam);
10016 paramBuffer.addParam(std::move(mantissaParam));
10017 }
10018 else
10019 {
10020 ParamCapture mantissaParam("mantissa", ParamType::TGLfixedPointer);
10021 InitParamValue(ParamType::TGLfixedPointer, static_cast<GLfixed *>(nullptr),
10022 &mantissaParam.value);
10023 paramBuffer.addParam(std::move(mantissaParam));
10024 }
10025
10026 if (isCallValid)
10027 {
10028 ParamCapture exponentParam("exponent", ParamType::TGLintPointer);
10029 InitParamValue(ParamType::TGLintPointer, exponent, &exponentParam.value);
10030 CaptureQueryMatrixxOES_exponent(glState, isCallValid, mantissa, exponent, &exponentParam);
10031 paramBuffer.addParam(std::move(exponentParam));
10032 }
10033 else
10034 {
10035 ParamCapture exponentParam("exponent", ParamType::TGLintPointer);
10036 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr),
10037 &exponentParam.value);
10038 paramBuffer.addParam(std::move(exponentParam));
10039 }
10040
10041 ParamCapture returnValueCapture("returnValue", ParamType::TGLbitfield);
10042 InitParamValue(ParamType::TGLbitfield, returnValue, &returnValueCapture.value);
10043 paramBuffer.addReturnValue(std::move(returnValueCapture));
10044
10045 return CallCapture(angle::EntryPoint::GLQueryMatrixxOES, std::move(paramBuffer));
10046 }
10047
CaptureMinSampleShadingOES(const State & glState,bool isCallValid,GLfloat value)10048 CallCapture CaptureMinSampleShadingOES(const State &glState, bool isCallValid, GLfloat value)
10049 {
10050 ParamBuffer paramBuffer;
10051
10052 paramBuffer.addValueParam("value", ParamType::TGLfloat, value);
10053
10054 return CallCapture(angle::EntryPoint::GLMinSampleShadingOES, std::move(paramBuffer));
10055 }
10056
CaptureCompressedTexImage3DOES(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLsizei imageSize,const void * data)10057 CallCapture CaptureCompressedTexImage3DOES(const State &glState,
10058 bool isCallValid,
10059 TextureTarget targetPacked,
10060 GLint level,
10061 GLenum internalformat,
10062 GLsizei width,
10063 GLsizei height,
10064 GLsizei depth,
10065 GLint border,
10066 GLsizei imageSize,
10067 const void *data)
10068 {
10069 ParamBuffer paramBuffer;
10070
10071 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
10072 paramBuffer.addValueParam("level", ParamType::TGLint, level);
10073 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
10074 internalformat);
10075 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
10076 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
10077 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
10078 paramBuffer.addValueParam("border", ParamType::TGLint, border);
10079 paramBuffer.addValueParam("imageSize", ParamType::TGLsizei, imageSize);
10080
10081 if (isCallValid)
10082 {
10083 ParamCapture dataParam("data", ParamType::TvoidConstPointer);
10084 InitParamValue(ParamType::TvoidConstPointer, data, &dataParam.value);
10085 CaptureCompressedTexImage3DOES_data(glState, isCallValid, targetPacked, level,
10086 internalformat, width, height, depth, border, imageSize,
10087 data, &dataParam);
10088 paramBuffer.addParam(std::move(dataParam));
10089 }
10090 else
10091 {
10092 ParamCapture dataParam("data", ParamType::TvoidConstPointer);
10093 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
10094 &dataParam.value);
10095 paramBuffer.addParam(std::move(dataParam));
10096 }
10097
10098 return CallCapture(angle::EntryPoint::GLCompressedTexImage3DOES, std::move(paramBuffer));
10099 }
10100
CaptureCompressedTexSubImage3DOES(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLsizei imageSize,const void * data)10101 CallCapture CaptureCompressedTexSubImage3DOES(const State &glState,
10102 bool isCallValid,
10103 TextureTarget targetPacked,
10104 GLint level,
10105 GLint xoffset,
10106 GLint yoffset,
10107 GLint zoffset,
10108 GLsizei width,
10109 GLsizei height,
10110 GLsizei depth,
10111 GLenum format,
10112 GLsizei imageSize,
10113 const void *data)
10114 {
10115 ParamBuffer paramBuffer;
10116
10117 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
10118 paramBuffer.addValueParam("level", ParamType::TGLint, level);
10119 paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
10120 paramBuffer.addValueParam("yoffset", ParamType::TGLint, yoffset);
10121 paramBuffer.addValueParam("zoffset", ParamType::TGLint, zoffset);
10122 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
10123 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
10124 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
10125 paramBuffer.addEnumParam("format", GLenumGroup::PixelFormat, ParamType::TGLenum, format);
10126 paramBuffer.addValueParam("imageSize", ParamType::TGLsizei, imageSize);
10127
10128 if (isCallValid)
10129 {
10130 ParamCapture dataParam("data", ParamType::TvoidConstPointer);
10131 InitParamValue(ParamType::TvoidConstPointer, data, &dataParam.value);
10132 CaptureCompressedTexSubImage3DOES_data(glState, isCallValid, targetPacked, level, xoffset,
10133 yoffset, zoffset, width, height, depth, format,
10134 imageSize, data, &dataParam);
10135 paramBuffer.addParam(std::move(dataParam));
10136 }
10137 else
10138 {
10139 ParamCapture dataParam("data", ParamType::TvoidConstPointer);
10140 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
10141 &dataParam.value);
10142 paramBuffer.addParam(std::move(dataParam));
10143 }
10144
10145 return CallCapture(angle::EntryPoint::GLCompressedTexSubImage3DOES, std::move(paramBuffer));
10146 }
10147
CaptureCopyTexSubImage3DOES(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLint x,GLint y,GLsizei width,GLsizei height)10148 CallCapture CaptureCopyTexSubImage3DOES(const State &glState,
10149 bool isCallValid,
10150 TextureTarget targetPacked,
10151 GLint level,
10152 GLint xoffset,
10153 GLint yoffset,
10154 GLint zoffset,
10155 GLint x,
10156 GLint y,
10157 GLsizei width,
10158 GLsizei height)
10159 {
10160 ParamBuffer paramBuffer;
10161
10162 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
10163 paramBuffer.addValueParam("level", ParamType::TGLint, level);
10164 paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
10165 paramBuffer.addValueParam("yoffset", ParamType::TGLint, yoffset);
10166 paramBuffer.addValueParam("zoffset", ParamType::TGLint, zoffset);
10167 paramBuffer.addValueParam("x", ParamType::TGLint, x);
10168 paramBuffer.addValueParam("y", ParamType::TGLint, y);
10169 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
10170 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
10171
10172 return CallCapture(angle::EntryPoint::GLCopyTexSubImage3DOES, std::move(paramBuffer));
10173 }
10174
CaptureFramebufferTexture3DOES(const State & glState,bool isCallValid,GLenum target,GLenum attachment,TextureTarget textargetPacked,TextureID texturePacked,GLint level,GLint zoffset)10175 CallCapture CaptureFramebufferTexture3DOES(const State &glState,
10176 bool isCallValid,
10177 GLenum target,
10178 GLenum attachment,
10179 TextureTarget textargetPacked,
10180 TextureID texturePacked,
10181 GLint level,
10182 GLint zoffset)
10183 {
10184 ParamBuffer paramBuffer;
10185
10186 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
10187 paramBuffer.addEnumParam("attachment", GLenumGroup::FramebufferAttachment, ParamType::TGLenum,
10188 attachment);
10189 paramBuffer.addValueParam("textargetPacked", ParamType::TTextureTarget, textargetPacked);
10190 paramBuffer.addValueParam("texturePacked", ParamType::TTextureID, texturePacked);
10191 paramBuffer.addValueParam("level", ParamType::TGLint, level);
10192 paramBuffer.addValueParam("zoffset", ParamType::TGLint, zoffset);
10193
10194 return CallCapture(angle::EntryPoint::GLFramebufferTexture3DOES, std::move(paramBuffer));
10195 }
10196
CaptureTexImage3DOES(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth,GLint border,GLenum format,GLenum type,const void * pixels)10197 CallCapture CaptureTexImage3DOES(const State &glState,
10198 bool isCallValid,
10199 TextureTarget targetPacked,
10200 GLint level,
10201 GLenum internalformat,
10202 GLsizei width,
10203 GLsizei height,
10204 GLsizei depth,
10205 GLint border,
10206 GLenum format,
10207 GLenum type,
10208 const void *pixels)
10209 {
10210 ParamBuffer paramBuffer;
10211
10212 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
10213 paramBuffer.addValueParam("level", ParamType::TGLint, level);
10214 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
10215 internalformat);
10216 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
10217 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
10218 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
10219 paramBuffer.addValueParam("border", ParamType::TGLint, border);
10220 paramBuffer.addEnumParam("format", GLenumGroup::PixelFormat, ParamType::TGLenum, format);
10221 paramBuffer.addEnumParam("type", GLenumGroup::PixelType, ParamType::TGLenum, type);
10222
10223 if (isCallValid)
10224 {
10225 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
10226 InitParamValue(ParamType::TvoidConstPointer, pixels, &pixelsParam.value);
10227 CaptureTexImage3DOES_pixels(glState, isCallValid, targetPacked, level, internalformat,
10228 width, height, depth, border, format, type, pixels,
10229 &pixelsParam);
10230 paramBuffer.addParam(std::move(pixelsParam));
10231 }
10232 else
10233 {
10234 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
10235 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
10236 &pixelsParam.value);
10237 paramBuffer.addParam(std::move(pixelsParam));
10238 }
10239
10240 return CallCapture(angle::EntryPoint::GLTexImage3DOES, std::move(paramBuffer));
10241 }
10242
CaptureTexSubImage3DOES(const State & glState,bool isCallValid,TextureTarget targetPacked,GLint level,GLint xoffset,GLint yoffset,GLint zoffset,GLsizei width,GLsizei height,GLsizei depth,GLenum format,GLenum type,const void * pixels)10243 CallCapture CaptureTexSubImage3DOES(const State &glState,
10244 bool isCallValid,
10245 TextureTarget targetPacked,
10246 GLint level,
10247 GLint xoffset,
10248 GLint yoffset,
10249 GLint zoffset,
10250 GLsizei width,
10251 GLsizei height,
10252 GLsizei depth,
10253 GLenum format,
10254 GLenum type,
10255 const void *pixels)
10256 {
10257 ParamBuffer paramBuffer;
10258
10259 paramBuffer.addValueParam("targetPacked", ParamType::TTextureTarget, targetPacked);
10260 paramBuffer.addValueParam("level", ParamType::TGLint, level);
10261 paramBuffer.addValueParam("xoffset", ParamType::TGLint, xoffset);
10262 paramBuffer.addValueParam("yoffset", ParamType::TGLint, yoffset);
10263 paramBuffer.addValueParam("zoffset", ParamType::TGLint, zoffset);
10264 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
10265 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
10266 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
10267 paramBuffer.addEnumParam("format", GLenumGroup::PixelFormat, ParamType::TGLenum, format);
10268 paramBuffer.addEnumParam("type", GLenumGroup::PixelType, ParamType::TGLenum, type);
10269
10270 if (isCallValid)
10271 {
10272 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
10273 InitParamValue(ParamType::TvoidConstPointer, pixels, &pixelsParam.value);
10274 CaptureTexSubImage3DOES_pixels(glState, isCallValid, targetPacked, level, xoffset, yoffset,
10275 zoffset, width, height, depth, format, type, pixels,
10276 &pixelsParam);
10277 paramBuffer.addParam(std::move(pixelsParam));
10278 }
10279 else
10280 {
10281 ParamCapture pixelsParam("pixels", ParamType::TvoidConstPointer);
10282 InitParamValue(ParamType::TvoidConstPointer, static_cast<const void *>(nullptr),
10283 &pixelsParam.value);
10284 paramBuffer.addParam(std::move(pixelsParam));
10285 }
10286
10287 return CallCapture(angle::EntryPoint::GLTexSubImage3DOES, std::move(paramBuffer));
10288 }
10289
CaptureGetSamplerParameterIivOES(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLint * params)10290 CallCapture CaptureGetSamplerParameterIivOES(const State &glState,
10291 bool isCallValid,
10292 SamplerID samplerPacked,
10293 GLenum pname,
10294 GLint *params)
10295 {
10296 ParamBuffer paramBuffer;
10297
10298 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
10299 paramBuffer.addEnumParam("pname", GLenumGroup::SamplerParameterName, ParamType::TGLenum, pname);
10300
10301 if (isCallValid)
10302 {
10303 ParamCapture paramsParam("params", ParamType::TGLintPointer);
10304 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
10305 CaptureGetSamplerParameterIivOES_params(glState, isCallValid, samplerPacked, pname, params,
10306 ¶msParam);
10307 paramBuffer.addParam(std::move(paramsParam));
10308 }
10309 else
10310 {
10311 ParamCapture paramsParam("params", ParamType::TGLintPointer);
10312 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
10313 paramBuffer.addParam(std::move(paramsParam));
10314 }
10315
10316 return CallCapture(angle::EntryPoint::GLGetSamplerParameterIivOES, std::move(paramBuffer));
10317 }
10318
CaptureGetSamplerParameterIuivOES(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,GLuint * params)10319 CallCapture CaptureGetSamplerParameterIuivOES(const State &glState,
10320 bool isCallValid,
10321 SamplerID samplerPacked,
10322 GLenum pname,
10323 GLuint *params)
10324 {
10325 ParamBuffer paramBuffer;
10326
10327 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
10328 paramBuffer.addEnumParam("pname", GLenumGroup::SamplerParameterName, ParamType::TGLenum, pname);
10329
10330 if (isCallValid)
10331 {
10332 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
10333 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
10334 CaptureGetSamplerParameterIuivOES_params(glState, isCallValid, samplerPacked, pname, params,
10335 ¶msParam);
10336 paramBuffer.addParam(std::move(paramsParam));
10337 }
10338 else
10339 {
10340 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
10341 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
10342 ¶msParam.value);
10343 paramBuffer.addParam(std::move(paramsParam));
10344 }
10345
10346 return CallCapture(angle::EntryPoint::GLGetSamplerParameterIuivOES, std::move(paramBuffer));
10347 }
10348
CaptureGetTexParameterIivOES(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLint * params)10349 CallCapture CaptureGetTexParameterIivOES(const State &glState,
10350 bool isCallValid,
10351 TextureType targetPacked,
10352 GLenum pname,
10353 GLint *params)
10354 {
10355 ParamBuffer paramBuffer;
10356
10357 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
10358 paramBuffer.addEnumParam("pname", GLenumGroup::GetTextureParameter, ParamType::TGLenum, pname);
10359
10360 if (isCallValid)
10361 {
10362 ParamCapture paramsParam("params", ParamType::TGLintPointer);
10363 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
10364 CaptureGetTexParameterIivOES_params(glState, isCallValid, targetPacked, pname, params,
10365 ¶msParam);
10366 paramBuffer.addParam(std::move(paramsParam));
10367 }
10368 else
10369 {
10370 ParamCapture paramsParam("params", ParamType::TGLintPointer);
10371 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
10372 paramBuffer.addParam(std::move(paramsParam));
10373 }
10374
10375 return CallCapture(angle::EntryPoint::GLGetTexParameterIivOES, std::move(paramBuffer));
10376 }
10377
CaptureGetTexParameterIuivOES(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,GLuint * params)10378 CallCapture CaptureGetTexParameterIuivOES(const State &glState,
10379 bool isCallValid,
10380 TextureType targetPacked,
10381 GLenum pname,
10382 GLuint *params)
10383 {
10384 ParamBuffer paramBuffer;
10385
10386 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
10387 paramBuffer.addEnumParam("pname", GLenumGroup::GetTextureParameter, ParamType::TGLenum, pname);
10388
10389 if (isCallValid)
10390 {
10391 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
10392 InitParamValue(ParamType::TGLuintPointer, params, ¶msParam.value);
10393 CaptureGetTexParameterIuivOES_params(glState, isCallValid, targetPacked, pname, params,
10394 ¶msParam);
10395 paramBuffer.addParam(std::move(paramsParam));
10396 }
10397 else
10398 {
10399 ParamCapture paramsParam("params", ParamType::TGLuintPointer);
10400 InitParamValue(ParamType::TGLuintPointer, static_cast<GLuint *>(nullptr),
10401 ¶msParam.value);
10402 paramBuffer.addParam(std::move(paramsParam));
10403 }
10404
10405 return CallCapture(angle::EntryPoint::GLGetTexParameterIuivOES, std::move(paramBuffer));
10406 }
10407
CaptureSamplerParameterIivOES(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,const GLint * param)10408 CallCapture CaptureSamplerParameterIivOES(const State &glState,
10409 bool isCallValid,
10410 SamplerID samplerPacked,
10411 GLenum pname,
10412 const GLint *param)
10413 {
10414 ParamBuffer paramBuffer;
10415
10416 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
10417 paramBuffer.addEnumParam("pname", GLenumGroup::SamplerParameterName, ParamType::TGLenum, pname);
10418
10419 if (isCallValid)
10420 {
10421 ParamCapture paramParam("param", ParamType::TGLintConstPointer);
10422 InitParamValue(ParamType::TGLintConstPointer, param, ¶mParam.value);
10423 CaptureSamplerParameterIivOES_param(glState, isCallValid, samplerPacked, pname, param,
10424 ¶mParam);
10425 paramBuffer.addParam(std::move(paramParam));
10426 }
10427 else
10428 {
10429 ParamCapture paramParam("param", ParamType::TGLintConstPointer);
10430 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
10431 ¶mParam.value);
10432 paramBuffer.addParam(std::move(paramParam));
10433 }
10434
10435 return CallCapture(angle::EntryPoint::GLSamplerParameterIivOES, std::move(paramBuffer));
10436 }
10437
CaptureSamplerParameterIuivOES(const State & glState,bool isCallValid,SamplerID samplerPacked,GLenum pname,const GLuint * param)10438 CallCapture CaptureSamplerParameterIuivOES(const State &glState,
10439 bool isCallValid,
10440 SamplerID samplerPacked,
10441 GLenum pname,
10442 const GLuint *param)
10443 {
10444 ParamBuffer paramBuffer;
10445
10446 paramBuffer.addValueParam("samplerPacked", ParamType::TSamplerID, samplerPacked);
10447 paramBuffer.addEnumParam("pname", GLenumGroup::SamplerParameterName, ParamType::TGLenum, pname);
10448
10449 if (isCallValid)
10450 {
10451 ParamCapture paramParam("param", ParamType::TGLuintConstPointer);
10452 InitParamValue(ParamType::TGLuintConstPointer, param, ¶mParam.value);
10453 CaptureSamplerParameterIuivOES_param(glState, isCallValid, samplerPacked, pname, param,
10454 ¶mParam);
10455 paramBuffer.addParam(std::move(paramParam));
10456 }
10457 else
10458 {
10459 ParamCapture paramParam("param", ParamType::TGLuintConstPointer);
10460 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
10461 ¶mParam.value);
10462 paramBuffer.addParam(std::move(paramParam));
10463 }
10464
10465 return CallCapture(angle::EntryPoint::GLSamplerParameterIuivOES, std::move(paramBuffer));
10466 }
10467
CaptureTexParameterIivOES(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,const GLint * params)10468 CallCapture CaptureTexParameterIivOES(const State &glState,
10469 bool isCallValid,
10470 TextureType targetPacked,
10471 GLenum pname,
10472 const GLint *params)
10473 {
10474 ParamBuffer paramBuffer;
10475
10476 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
10477 paramBuffer.addEnumParam("pname", GLenumGroup::TextureParameterName, ParamType::TGLenum, pname);
10478
10479 if (isCallValid)
10480 {
10481 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
10482 InitParamValue(ParamType::TGLintConstPointer, params, ¶msParam.value);
10483 CaptureTexParameterIivOES_params(glState, isCallValid, targetPacked, pname, params,
10484 ¶msParam);
10485 paramBuffer.addParam(std::move(paramsParam));
10486 }
10487 else
10488 {
10489 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
10490 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
10491 ¶msParam.value);
10492 paramBuffer.addParam(std::move(paramsParam));
10493 }
10494
10495 return CallCapture(angle::EntryPoint::GLTexParameterIivOES, std::move(paramBuffer));
10496 }
10497
CaptureTexParameterIuivOES(const State & glState,bool isCallValid,TextureType targetPacked,GLenum pname,const GLuint * params)10498 CallCapture CaptureTexParameterIuivOES(const State &glState,
10499 bool isCallValid,
10500 TextureType targetPacked,
10501 GLenum pname,
10502 const GLuint *params)
10503 {
10504 ParamBuffer paramBuffer;
10505
10506 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
10507 paramBuffer.addEnumParam("pname", GLenumGroup::TextureParameterName, ParamType::TGLenum, pname);
10508
10509 if (isCallValid)
10510 {
10511 ParamCapture paramsParam("params", ParamType::TGLuintConstPointer);
10512 InitParamValue(ParamType::TGLuintConstPointer, params, ¶msParam.value);
10513 CaptureTexParameterIuivOES_params(glState, isCallValid, targetPacked, pname, params,
10514 ¶msParam);
10515 paramBuffer.addParam(std::move(paramsParam));
10516 }
10517 else
10518 {
10519 ParamCapture paramsParam("params", ParamType::TGLuintConstPointer);
10520 InitParamValue(ParamType::TGLuintConstPointer, static_cast<const GLuint *>(nullptr),
10521 ¶msParam.value);
10522 paramBuffer.addParam(std::move(paramsParam));
10523 }
10524
10525 return CallCapture(angle::EntryPoint::GLTexParameterIuivOES, std::move(paramBuffer));
10526 }
10527
CaptureTexBufferOES(const State & glState,bool isCallValid,TextureType targetPacked,GLenum internalformat,BufferID bufferPacked)10528 CallCapture CaptureTexBufferOES(const State &glState,
10529 bool isCallValid,
10530 TextureType targetPacked,
10531 GLenum internalformat,
10532 BufferID bufferPacked)
10533 {
10534 ParamBuffer paramBuffer;
10535
10536 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
10537 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
10538 internalformat);
10539 paramBuffer.addValueParam("bufferPacked", ParamType::TBufferID, bufferPacked);
10540
10541 return CallCapture(angle::EntryPoint::GLTexBufferOES, std::move(paramBuffer));
10542 }
10543
CaptureTexBufferRangeOES(const State & glState,bool isCallValid,TextureType targetPacked,GLenum internalformat,BufferID bufferPacked,GLintptr offset,GLsizeiptr size)10544 CallCapture CaptureTexBufferRangeOES(const State &glState,
10545 bool isCallValid,
10546 TextureType targetPacked,
10547 GLenum internalformat,
10548 BufferID bufferPacked,
10549 GLintptr offset,
10550 GLsizeiptr size)
10551 {
10552 ParamBuffer paramBuffer;
10553
10554 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
10555 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
10556 internalformat);
10557 paramBuffer.addValueParam("bufferPacked", ParamType::TBufferID, bufferPacked);
10558 paramBuffer.addValueParam("offset", ParamType::TGLintptr, offset);
10559 paramBuffer.addValueParam("size", ParamType::TGLsizeiptr, size);
10560
10561 return CallCapture(angle::EntryPoint::GLTexBufferRangeOES, std::move(paramBuffer));
10562 }
10563
CaptureGetTexGenfvOES(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLfloat * params)10564 CallCapture CaptureGetTexGenfvOES(const State &glState,
10565 bool isCallValid,
10566 GLenum coord,
10567 GLenum pname,
10568 GLfloat *params)
10569 {
10570 ParamBuffer paramBuffer;
10571
10572 paramBuffer.addEnumParam("coord", GLenumGroup::TextureCoordName, ParamType::TGLenum, coord);
10573 paramBuffer.addEnumParam("pname", GLenumGroup::TextureGenParameter, ParamType::TGLenum, pname);
10574
10575 if (isCallValid)
10576 {
10577 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
10578 InitParamValue(ParamType::TGLfloatPointer, params, ¶msParam.value);
10579 CaptureGetTexGenfvOES_params(glState, isCallValid, coord, pname, params, ¶msParam);
10580 paramBuffer.addParam(std::move(paramsParam));
10581 }
10582 else
10583 {
10584 ParamCapture paramsParam("params", ParamType::TGLfloatPointer);
10585 InitParamValue(ParamType::TGLfloatPointer, static_cast<GLfloat *>(nullptr),
10586 ¶msParam.value);
10587 paramBuffer.addParam(std::move(paramsParam));
10588 }
10589
10590 return CallCapture(angle::EntryPoint::GLGetTexGenfvOES, std::move(paramBuffer));
10591 }
10592
CaptureGetTexGenivOES(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLint * params)10593 CallCapture CaptureGetTexGenivOES(const State &glState,
10594 bool isCallValid,
10595 GLenum coord,
10596 GLenum pname,
10597 GLint *params)
10598 {
10599 ParamBuffer paramBuffer;
10600
10601 paramBuffer.addEnumParam("coord", GLenumGroup::TextureCoordName, ParamType::TGLenum, coord);
10602 paramBuffer.addEnumParam("pname", GLenumGroup::TextureGenParameter, ParamType::TGLenum, pname);
10603
10604 if (isCallValid)
10605 {
10606 ParamCapture paramsParam("params", ParamType::TGLintPointer);
10607 InitParamValue(ParamType::TGLintPointer, params, ¶msParam.value);
10608 CaptureGetTexGenivOES_params(glState, isCallValid, coord, pname, params, ¶msParam);
10609 paramBuffer.addParam(std::move(paramsParam));
10610 }
10611 else
10612 {
10613 ParamCapture paramsParam("params", ParamType::TGLintPointer);
10614 InitParamValue(ParamType::TGLintPointer, static_cast<GLint *>(nullptr), ¶msParam.value);
10615 paramBuffer.addParam(std::move(paramsParam));
10616 }
10617
10618 return CallCapture(angle::EntryPoint::GLGetTexGenivOES, std::move(paramBuffer));
10619 }
10620
CaptureGetTexGenxvOES(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLfixed * params)10621 CallCapture CaptureGetTexGenxvOES(const State &glState,
10622 bool isCallValid,
10623 GLenum coord,
10624 GLenum pname,
10625 GLfixed *params)
10626 {
10627 ParamBuffer paramBuffer;
10628
10629 paramBuffer.addEnumParam("coord", GLenumGroup::TextureCoordName, ParamType::TGLenum, coord);
10630 paramBuffer.addEnumParam("pname", GLenumGroup::TextureGenParameter, ParamType::TGLenum, pname);
10631
10632 if (isCallValid)
10633 {
10634 ParamCapture paramsParam("params", ParamType::TGLfixedPointer);
10635 InitParamValue(ParamType::TGLfixedPointer, params, ¶msParam.value);
10636 CaptureGetTexGenxvOES_params(glState, isCallValid, coord, pname, params, ¶msParam);
10637 paramBuffer.addParam(std::move(paramsParam));
10638 }
10639 else
10640 {
10641 ParamCapture paramsParam("params", ParamType::TGLfixedPointer);
10642 InitParamValue(ParamType::TGLfixedPointer, static_cast<GLfixed *>(nullptr),
10643 ¶msParam.value);
10644 paramBuffer.addParam(std::move(paramsParam));
10645 }
10646
10647 return CallCapture(angle::EntryPoint::GLGetTexGenxvOES, std::move(paramBuffer));
10648 }
10649
CaptureTexGenfOES(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLfloat param)10650 CallCapture CaptureTexGenfOES(const State &glState,
10651 bool isCallValid,
10652 GLenum coord,
10653 GLenum pname,
10654 GLfloat param)
10655 {
10656 ParamBuffer paramBuffer;
10657
10658 paramBuffer.addEnumParam("coord", GLenumGroup::TextureCoordName, ParamType::TGLenum, coord);
10659 paramBuffer.addEnumParam("pname", GLenumGroup::TextureGenParameter, ParamType::TGLenum, pname);
10660 paramBuffer.addValueParam("param", ParamType::TGLfloat, param);
10661
10662 return CallCapture(angle::EntryPoint::GLTexGenfOES, std::move(paramBuffer));
10663 }
10664
CaptureTexGenfvOES(const State & glState,bool isCallValid,GLenum coord,GLenum pname,const GLfloat * params)10665 CallCapture CaptureTexGenfvOES(const State &glState,
10666 bool isCallValid,
10667 GLenum coord,
10668 GLenum pname,
10669 const GLfloat *params)
10670 {
10671 ParamBuffer paramBuffer;
10672
10673 paramBuffer.addEnumParam("coord", GLenumGroup::TextureCoordName, ParamType::TGLenum, coord);
10674 paramBuffer.addEnumParam("pname", GLenumGroup::TextureGenParameter, ParamType::TGLenum, pname);
10675
10676 if (isCallValid)
10677 {
10678 ParamCapture paramsParam("params", ParamType::TGLfloatConstPointer);
10679 InitParamValue(ParamType::TGLfloatConstPointer, params, ¶msParam.value);
10680 CaptureTexGenfvOES_params(glState, isCallValid, coord, pname, params, ¶msParam);
10681 paramBuffer.addParam(std::move(paramsParam));
10682 }
10683 else
10684 {
10685 ParamCapture paramsParam("params", ParamType::TGLfloatConstPointer);
10686 InitParamValue(ParamType::TGLfloatConstPointer, static_cast<const GLfloat *>(nullptr),
10687 ¶msParam.value);
10688 paramBuffer.addParam(std::move(paramsParam));
10689 }
10690
10691 return CallCapture(angle::EntryPoint::GLTexGenfvOES, std::move(paramBuffer));
10692 }
10693
CaptureTexGeniOES(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLint param)10694 CallCapture CaptureTexGeniOES(const State &glState,
10695 bool isCallValid,
10696 GLenum coord,
10697 GLenum pname,
10698 GLint param)
10699 {
10700 ParamBuffer paramBuffer;
10701
10702 paramBuffer.addEnumParam("coord", GLenumGroup::TextureCoordName, ParamType::TGLenum, coord);
10703 paramBuffer.addEnumParam("pname", GLenumGroup::TextureGenParameter, ParamType::TGLenum, pname);
10704 paramBuffer.addValueParam("param", ParamType::TGLint, param);
10705
10706 return CallCapture(angle::EntryPoint::GLTexGeniOES, std::move(paramBuffer));
10707 }
10708
CaptureTexGenivOES(const State & glState,bool isCallValid,GLenum coord,GLenum pname,const GLint * params)10709 CallCapture CaptureTexGenivOES(const State &glState,
10710 bool isCallValid,
10711 GLenum coord,
10712 GLenum pname,
10713 const GLint *params)
10714 {
10715 ParamBuffer paramBuffer;
10716
10717 paramBuffer.addEnumParam("coord", GLenumGroup::TextureCoordName, ParamType::TGLenum, coord);
10718 paramBuffer.addEnumParam("pname", GLenumGroup::TextureGenParameter, ParamType::TGLenum, pname);
10719
10720 if (isCallValid)
10721 {
10722 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
10723 InitParamValue(ParamType::TGLintConstPointer, params, ¶msParam.value);
10724 CaptureTexGenivOES_params(glState, isCallValid, coord, pname, params, ¶msParam);
10725 paramBuffer.addParam(std::move(paramsParam));
10726 }
10727 else
10728 {
10729 ParamCapture paramsParam("params", ParamType::TGLintConstPointer);
10730 InitParamValue(ParamType::TGLintConstPointer, static_cast<const GLint *>(nullptr),
10731 ¶msParam.value);
10732 paramBuffer.addParam(std::move(paramsParam));
10733 }
10734
10735 return CallCapture(angle::EntryPoint::GLTexGenivOES, std::move(paramBuffer));
10736 }
10737
CaptureTexGenxOES(const State & glState,bool isCallValid,GLenum coord,GLenum pname,GLfixed param)10738 CallCapture CaptureTexGenxOES(const State &glState,
10739 bool isCallValid,
10740 GLenum coord,
10741 GLenum pname,
10742 GLfixed param)
10743 {
10744 ParamBuffer paramBuffer;
10745
10746 paramBuffer.addEnumParam("coord", GLenumGroup::TextureCoordName, ParamType::TGLenum, coord);
10747 paramBuffer.addEnumParam("pname", GLenumGroup::TextureGenParameter, ParamType::TGLenum, pname);
10748 paramBuffer.addValueParam("param", ParamType::TGLfixed, param);
10749
10750 return CallCapture(angle::EntryPoint::GLTexGenxOES, std::move(paramBuffer));
10751 }
10752
CaptureTexGenxvOES(const State & glState,bool isCallValid,GLenum coord,GLenum pname,const GLfixed * params)10753 CallCapture CaptureTexGenxvOES(const State &glState,
10754 bool isCallValid,
10755 GLenum coord,
10756 GLenum pname,
10757 const GLfixed *params)
10758 {
10759 ParamBuffer paramBuffer;
10760
10761 paramBuffer.addEnumParam("coord", GLenumGroup::TextureCoordName, ParamType::TGLenum, coord);
10762 paramBuffer.addEnumParam("pname", GLenumGroup::TextureGenParameter, ParamType::TGLenum, pname);
10763
10764 if (isCallValid)
10765 {
10766 ParamCapture paramsParam("params", ParamType::TGLfixedConstPointer);
10767 InitParamValue(ParamType::TGLfixedConstPointer, params, ¶msParam.value);
10768 CaptureTexGenxvOES_params(glState, isCallValid, coord, pname, params, ¶msParam);
10769 paramBuffer.addParam(std::move(paramsParam));
10770 }
10771 else
10772 {
10773 ParamCapture paramsParam("params", ParamType::TGLfixedConstPointer);
10774 InitParamValue(ParamType::TGLfixedConstPointer, static_cast<const GLfixed *>(nullptr),
10775 ¶msParam.value);
10776 paramBuffer.addParam(std::move(paramsParam));
10777 }
10778
10779 return CallCapture(angle::EntryPoint::GLTexGenxvOES, std::move(paramBuffer));
10780 }
10781
CaptureTexStorage3DMultisampleOES(const State & glState,bool isCallValid,TextureType targetPacked,GLsizei samples,GLenum internalformat,GLsizei width,GLsizei height,GLsizei depth,GLboolean fixedsamplelocations)10782 CallCapture CaptureTexStorage3DMultisampleOES(const State &glState,
10783 bool isCallValid,
10784 TextureType targetPacked,
10785 GLsizei samples,
10786 GLenum internalformat,
10787 GLsizei width,
10788 GLsizei height,
10789 GLsizei depth,
10790 GLboolean fixedsamplelocations)
10791 {
10792 ParamBuffer paramBuffer;
10793
10794 paramBuffer.addValueParam("targetPacked", ParamType::TTextureType, targetPacked);
10795 paramBuffer.addValueParam("samples", ParamType::TGLsizei, samples);
10796 paramBuffer.addEnumParam("internalformat", GLenumGroup::InternalFormat, ParamType::TGLenum,
10797 internalformat);
10798 paramBuffer.addValueParam("width", ParamType::TGLsizei, width);
10799 paramBuffer.addValueParam("height", ParamType::TGLsizei, height);
10800 paramBuffer.addValueParam("depth", ParamType::TGLsizei, depth);
10801 paramBuffer.addValueParam("fixedsamplelocations", ParamType::TGLboolean, fixedsamplelocations);
10802
10803 return CallCapture(angle::EntryPoint::GLTexStorage3DMultisampleOES, std::move(paramBuffer));
10804 }
10805
CaptureBindVertexArrayOES(const State & glState,bool isCallValid,VertexArrayID arrayPacked)10806 CallCapture CaptureBindVertexArrayOES(const State &glState,
10807 bool isCallValid,
10808 VertexArrayID arrayPacked)
10809 {
10810 ParamBuffer paramBuffer;
10811
10812 paramBuffer.addValueParam("arrayPacked", ParamType::TVertexArrayID, arrayPacked);
10813
10814 return CallCapture(angle::EntryPoint::GLBindVertexArrayOES, std::move(paramBuffer));
10815 }
10816
CaptureDeleteVertexArraysOES(const State & glState,bool isCallValid,GLsizei n,const VertexArrayID * arraysPacked)10817 CallCapture CaptureDeleteVertexArraysOES(const State &glState,
10818 bool isCallValid,
10819 GLsizei n,
10820 const VertexArrayID *arraysPacked)
10821 {
10822 ParamBuffer paramBuffer;
10823
10824 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
10825
10826 if (isCallValid)
10827 {
10828 ParamCapture arraysPackedParam("arraysPacked", ParamType::TVertexArrayIDConstPointer);
10829 InitParamValue(ParamType::TVertexArrayIDConstPointer, arraysPacked,
10830 &arraysPackedParam.value);
10831 CaptureDeleteVertexArraysOES_arraysPacked(glState, isCallValid, n, arraysPacked,
10832 &arraysPackedParam);
10833 paramBuffer.addParam(std::move(arraysPackedParam));
10834 }
10835 else
10836 {
10837 ParamCapture arraysPackedParam("arraysPacked", ParamType::TVertexArrayIDConstPointer);
10838 InitParamValue(ParamType::TVertexArrayIDConstPointer,
10839 static_cast<const VertexArrayID *>(nullptr), &arraysPackedParam.value);
10840 paramBuffer.addParam(std::move(arraysPackedParam));
10841 }
10842
10843 return CallCapture(angle::EntryPoint::GLDeleteVertexArraysOES, std::move(paramBuffer));
10844 }
10845
CaptureGenVertexArraysOES(const State & glState,bool isCallValid,GLsizei n,VertexArrayID * arraysPacked)10846 CallCapture CaptureGenVertexArraysOES(const State &glState,
10847 bool isCallValid,
10848 GLsizei n,
10849 VertexArrayID *arraysPacked)
10850 {
10851 ParamBuffer paramBuffer;
10852
10853 paramBuffer.addValueParam("n", ParamType::TGLsizei, n);
10854
10855 if (isCallValid)
10856 {
10857 ParamCapture arraysPackedParam("arraysPacked", ParamType::TVertexArrayIDPointer);
10858 InitParamValue(ParamType::TVertexArrayIDPointer, arraysPacked, &arraysPackedParam.value);
10859 CaptureGenVertexArraysOES_arraysPacked(glState, isCallValid, n, arraysPacked,
10860 &arraysPackedParam);
10861 paramBuffer.addParam(std::move(arraysPackedParam));
10862 }
10863 else
10864 {
10865 ParamCapture arraysPackedParam("arraysPacked", ParamType::TVertexArrayIDPointer);
10866 InitParamValue(ParamType::TVertexArrayIDPointer, static_cast<VertexArrayID *>(nullptr),
10867 &arraysPackedParam.value);
10868 paramBuffer.addParam(std::move(arraysPackedParam));
10869 }
10870
10871 return CallCapture(angle::EntryPoint::GLGenVertexArraysOES, std::move(paramBuffer));
10872 }
10873
CaptureIsVertexArrayOES(const State & glState,bool isCallValid,VertexArrayID arrayPacked,GLboolean returnValue)10874 CallCapture CaptureIsVertexArrayOES(const State &glState,
10875 bool isCallValid,
10876 VertexArrayID arrayPacked,
10877 GLboolean returnValue)
10878 {
10879 ParamBuffer paramBuffer;
10880
10881 paramBuffer.addValueParam("arrayPacked", ParamType::TVertexArrayID, arrayPacked);
10882
10883 ParamCapture returnValueCapture("returnValue", ParamType::TGLboolean);
10884 InitParamValue(ParamType::TGLboolean, returnValue, &returnValueCapture.value);
10885 paramBuffer.addReturnValue(std::move(returnValueCapture));
10886
10887 return CallCapture(angle::EntryPoint::GLIsVertexArrayOES, std::move(paramBuffer));
10888 }
10889
CaptureFramebufferTextureMultiviewOVR(const State & glState,bool isCallValid,GLenum target,GLenum attachment,TextureID texturePacked,GLint level,GLint baseViewIndex,GLsizei numViews)10890 CallCapture CaptureFramebufferTextureMultiviewOVR(const State &glState,
10891 bool isCallValid,
10892 GLenum target,
10893 GLenum attachment,
10894 TextureID texturePacked,
10895 GLint level,
10896 GLint baseViewIndex,
10897 GLsizei numViews)
10898 {
10899 ParamBuffer paramBuffer;
10900
10901 paramBuffer.addEnumParam("target", GLenumGroup::FramebufferTarget, ParamType::TGLenum, target);
10902 paramBuffer.addEnumParam("attachment", GLenumGroup::FramebufferAttachment, ParamType::TGLenum,
10903 attachment);
10904 paramBuffer.addValueParam("texturePacked", ParamType::TTextureID, texturePacked);
10905 paramBuffer.addValueParam("level", ParamType::TGLint, level);
10906 paramBuffer.addValueParam("baseViewIndex", ParamType::TGLint, baseViewIndex);
10907 paramBuffer.addValueParam("numViews", ParamType::TGLsizei, numViews);
10908
10909 return CallCapture(angle::EntryPoint::GLFramebufferTextureMultiviewOVR, std::move(paramBuffer));
10910 }
10911
10912 } // namespace gl
10913