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