Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/angle
Path: blob/main_old/src/libGL/entry_points_gl_1_autogen.cpp
1693 views
1
// GENERATED FILE - DO NOT EDIT.
2
// Generated by generate_entry_points.py using data from gl.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
// entry_points_gl_1_autogen.cpp:
9
// Defines the Desktop GL 1.x entry points.
10
11
#include "libGL/entry_points_gl_1_autogen.h"
12
13
#include "libANGLE/Context.h"
14
#include "libANGLE/Context.inl.h"
15
#include "libANGLE/capture/gl_enum_utils.h"
16
#include "libANGLE/entry_points_utils.h"
17
#include "libANGLE/validationEGL.h"
18
#include "libANGLE/validationES.h"
19
#include "libANGLE/validationES1.h"
20
#include "libANGLE/validationES2.h"
21
#include "libANGLE/validationES3.h"
22
#include "libANGLE/validationES31.h"
23
#include "libANGLE/validationES32.h"
24
#include "libANGLE/validationESEXT.h"
25
#include "libANGLE/validationGL1_autogen.h"
26
#include "libGLESv2/global_state.h"
27
28
using namespace gl;
29
30
extern "C" {
31
32
// GL 1.0
33
void GL_APIENTRY GL_Accum(GLenum op, GLfloat value)
34
{
35
Context *context = GetValidGlobalContext();
36
EVENT(context, GLAccum, "context = %d, op = %s, value = %f", CID(context),
37
GLenumToString(GLenumGroup::AccumOp, op), value);
38
39
if (context)
40
{
41
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
42
bool isCallValid = (context->skipValidation() || ValidateAccum(context, op, value));
43
if (isCallValid)
44
{
45
context->accum(op, value);
46
}
47
ANGLE_CAPTURE(Accum, isCallValid, context, op, value);
48
}
49
else
50
{
51
GenerateContextLostErrorOnCurrentGlobalContext();
52
}
53
}
54
55
void GL_APIENTRY GL_AlphaFunc(GLenum func, GLfloat ref)
56
{
57
Context *context = GetValidGlobalContext();
58
EVENT(context, GLAlphaFunc, "context = %d, func = %s, ref = %f", CID(context),
59
GLenumToString(GLenumGroup::AlphaFunction, func), ref);
60
61
if (context)
62
{
63
AlphaTestFunc funcPacked = PackParam<AlphaTestFunc>(func);
64
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
65
bool isCallValid =
66
(context->skipValidation() || ValidateAlphaFunc(context, funcPacked, ref));
67
if (isCallValid)
68
{
69
context->alphaFunc(funcPacked, ref);
70
}
71
ANGLE_CAPTURE(AlphaFunc, isCallValid, context, funcPacked, ref);
72
}
73
else
74
{
75
GenerateContextLostErrorOnCurrentGlobalContext();
76
}
77
}
78
79
void GL_APIENTRY GL_Begin(GLenum mode)
80
{
81
Context *context = GetValidGlobalContext();
82
EVENT(context, GLBegin, "context = %d, mode = %s", CID(context),
83
GLenumToString(GLenumGroup::PrimitiveType, mode));
84
85
if (context)
86
{
87
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
88
bool isCallValid = (context->skipValidation() || ValidateBegin(context, mode));
89
if (isCallValid)
90
{
91
context->begin(mode);
92
}
93
ANGLE_CAPTURE(Begin, isCallValid, context, mode);
94
}
95
else
96
{
97
GenerateContextLostErrorOnCurrentGlobalContext();
98
}
99
}
100
101
void GL_APIENTRY GL_Bitmap(GLsizei width,
102
GLsizei height,
103
GLfloat xorig,
104
GLfloat yorig,
105
GLfloat xmove,
106
GLfloat ymove,
107
const GLubyte *bitmap)
108
{
109
Context *context = GetValidGlobalContext();
110
EVENT(context, GLBitmap,
111
"context = %d, width = %d, height = %d, xorig = %f, yorig = %f, xmove = %f, ymove = %f, "
112
"bitmap = 0x%016" PRIxPTR "",
113
CID(context), width, height, xorig, yorig, xmove, ymove, (uintptr_t)bitmap);
114
115
if (context)
116
{
117
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
118
bool isCallValid =
119
(context->skipValidation() ||
120
ValidateBitmap(context, width, height, xorig, yorig, xmove, ymove, bitmap));
121
if (isCallValid)
122
{
123
context->bitmap(width, height, xorig, yorig, xmove, ymove, bitmap);
124
}
125
ANGLE_CAPTURE(Bitmap, isCallValid, context, width, height, xorig, yorig, xmove, ymove,
126
bitmap);
127
}
128
else
129
{
130
GenerateContextLostErrorOnCurrentGlobalContext();
131
}
132
}
133
134
void GL_APIENTRY GL_BlendFunc(GLenum sfactor, GLenum dfactor)
135
{
136
Context *context = GetValidGlobalContext();
137
EVENT(context, GLBlendFunc, "context = %d, sfactor = %s, dfactor = %s", CID(context),
138
GLenumToString(GLenumGroup::BlendingFactor, sfactor),
139
GLenumToString(GLenumGroup::BlendingFactor, dfactor));
140
141
if (context)
142
{
143
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
144
bool isCallValid =
145
(context->skipValidation() || ValidateBlendFunc(context, sfactor, dfactor));
146
if (isCallValid)
147
{
148
context->blendFunc(sfactor, dfactor);
149
}
150
ANGLE_CAPTURE(BlendFunc, isCallValid, context, sfactor, dfactor);
151
}
152
else
153
{
154
GenerateContextLostErrorOnCurrentGlobalContext();
155
}
156
}
157
158
void GL_APIENTRY GL_CallList(GLuint list)
159
{
160
Context *context = GetValidGlobalContext();
161
EVENT(context, GLCallList, "context = %d, list = %u", CID(context), list);
162
163
if (context)
164
{
165
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
166
bool isCallValid = (context->skipValidation() || ValidateCallList(context, list));
167
if (isCallValid)
168
{
169
context->callList(list);
170
}
171
ANGLE_CAPTURE(CallList, isCallValid, context, list);
172
}
173
else
174
{
175
GenerateContextLostErrorOnCurrentGlobalContext();
176
}
177
}
178
179
void GL_APIENTRY GL_CallLists(GLsizei n, GLenum type, const void *lists)
180
{
181
Context *context = GetValidGlobalContext();
182
EVENT(context, GLCallLists, "context = %d, n = %d, type = %s, lists = 0x%016" PRIxPTR "",
183
CID(context), n, GLenumToString(GLenumGroup::ListNameType, type), (uintptr_t)lists);
184
185
if (context)
186
{
187
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
188
bool isCallValid =
189
(context->skipValidation() || ValidateCallLists(context, n, type, lists));
190
if (isCallValid)
191
{
192
context->callLists(n, type, lists);
193
}
194
ANGLE_CAPTURE(CallLists, isCallValid, context, n, type, lists);
195
}
196
else
197
{
198
GenerateContextLostErrorOnCurrentGlobalContext();
199
}
200
}
201
202
void GL_APIENTRY GL_Clear(GLbitfield mask)
203
{
204
Context *context = GetValidGlobalContext();
205
EVENT(context, GLClear, "context = %d, mask = %s", CID(context),
206
GLbitfieldToString(GLenumGroup::ClearBufferMask, mask).c_str());
207
208
if (context)
209
{
210
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
211
bool isCallValid = (context->skipValidation() || ValidateClear(context, mask));
212
if (isCallValid)
213
{
214
context->clear(mask);
215
}
216
ANGLE_CAPTURE(Clear, isCallValid, context, mask);
217
}
218
else
219
{
220
GenerateContextLostErrorOnCurrentGlobalContext();
221
}
222
}
223
224
void GL_APIENTRY GL_ClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
225
{
226
Context *context = GetValidGlobalContext();
227
EVENT(context, GLClearAccum, "context = %d, red = %f, green = %f, blue = %f, alpha = %f",
228
CID(context), red, green, blue, alpha);
229
230
if (context)
231
{
232
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
233
bool isCallValid =
234
(context->skipValidation() || ValidateClearAccum(context, red, green, blue, alpha));
235
if (isCallValid)
236
{
237
context->clearAccum(red, green, blue, alpha);
238
}
239
ANGLE_CAPTURE(ClearAccum, isCallValid, context, red, green, blue, alpha);
240
}
241
else
242
{
243
GenerateContextLostErrorOnCurrentGlobalContext();
244
}
245
}
246
247
void GL_APIENTRY GL_ClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
248
{
249
Context *context = GetValidGlobalContext();
250
EVENT(context, GLClearColor, "context = %d, red = %f, green = %f, blue = %f, alpha = %f",
251
CID(context), red, green, blue, alpha);
252
253
if (context)
254
{
255
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
256
bool isCallValid =
257
(context->skipValidation() || ValidateClearColor(context, red, green, blue, alpha));
258
if (isCallValid)
259
{
260
context->clearColor(red, green, blue, alpha);
261
}
262
ANGLE_CAPTURE(ClearColor, isCallValid, context, red, green, blue, alpha);
263
}
264
else
265
{
266
GenerateContextLostErrorOnCurrentGlobalContext();
267
}
268
}
269
270
void GL_APIENTRY GL_ClearDepth(GLdouble depth)
271
{
272
Context *context = GetValidGlobalContext();
273
EVENT(context, GLClearDepth, "context = %d, depth = %f", CID(context), depth);
274
275
if (context)
276
{
277
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
278
bool isCallValid = (context->skipValidation() || ValidateClearDepth(context, depth));
279
if (isCallValid)
280
{
281
context->clearDepth(depth);
282
}
283
ANGLE_CAPTURE(ClearDepth, isCallValid, context, depth);
284
}
285
else
286
{
287
GenerateContextLostErrorOnCurrentGlobalContext();
288
}
289
}
290
291
void GL_APIENTRY GL_ClearIndex(GLfloat c)
292
{
293
Context *context = GetValidGlobalContext();
294
EVENT(context, GLClearIndex, "context = %d, c = %f", CID(context), c);
295
296
if (context)
297
{
298
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
299
bool isCallValid = (context->skipValidation() || ValidateClearIndex(context, c));
300
if (isCallValid)
301
{
302
context->clearIndex(c);
303
}
304
ANGLE_CAPTURE(ClearIndex, isCallValid, context, c);
305
}
306
else
307
{
308
GenerateContextLostErrorOnCurrentGlobalContext();
309
}
310
}
311
312
void GL_APIENTRY GL_ClearStencil(GLint s)
313
{
314
Context *context = GetValidGlobalContext();
315
EVENT(context, GLClearStencil, "context = %d, s = %d", CID(context), s);
316
317
if (context)
318
{
319
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
320
bool isCallValid = (context->skipValidation() || ValidateClearStencil(context, s));
321
if (isCallValid)
322
{
323
context->clearStencil(s);
324
}
325
ANGLE_CAPTURE(ClearStencil, isCallValid, context, s);
326
}
327
else
328
{
329
GenerateContextLostErrorOnCurrentGlobalContext();
330
}
331
}
332
333
void GL_APIENTRY GL_ClipPlane(GLenum plane, const GLdouble *equation)
334
{
335
Context *context = GetValidGlobalContext();
336
EVENT(context, GLClipPlane, "context = %d, plane = %s, equation = 0x%016" PRIxPTR "",
337
CID(context), GLenumToString(GLenumGroup::ClipPlaneName, plane), (uintptr_t)equation);
338
339
if (context)
340
{
341
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
342
bool isCallValid =
343
(context->skipValidation() || ValidateClipPlane(context, plane, equation));
344
if (isCallValid)
345
{
346
context->clipPlane(plane, equation);
347
}
348
ANGLE_CAPTURE(ClipPlane, isCallValid, context, plane, equation);
349
}
350
else
351
{
352
GenerateContextLostErrorOnCurrentGlobalContext();
353
}
354
}
355
356
void GL_APIENTRY GL_Color3b(GLbyte red, GLbyte green, GLbyte blue)
357
{
358
Context *context = GetValidGlobalContext();
359
EVENT(context, GLColor3b, "context = %d, red = %d, green = %d, blue = %d", CID(context), red,
360
green, blue);
361
362
if (context)
363
{
364
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
365
bool isCallValid =
366
(context->skipValidation() || ValidateColor3b(context, red, green, blue));
367
if (isCallValid)
368
{
369
context->color3b(red, green, blue);
370
}
371
ANGLE_CAPTURE(Color3b, isCallValid, context, red, green, blue);
372
}
373
else
374
{
375
GenerateContextLostErrorOnCurrentGlobalContext();
376
}
377
}
378
379
void GL_APIENTRY GL_Color3bv(const GLbyte *v)
380
{
381
Context *context = GetValidGlobalContext();
382
EVENT(context, GLColor3bv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
383
384
if (context)
385
{
386
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
387
bool isCallValid = (context->skipValidation() || ValidateColor3bv(context, v));
388
if (isCallValid)
389
{
390
context->color3bv(v);
391
}
392
ANGLE_CAPTURE(Color3bv, isCallValid, context, v);
393
}
394
else
395
{
396
GenerateContextLostErrorOnCurrentGlobalContext();
397
}
398
}
399
400
void GL_APIENTRY GL_Color3d(GLdouble red, GLdouble green, GLdouble blue)
401
{
402
Context *context = GetValidGlobalContext();
403
EVENT(context, GLColor3d, "context = %d, red = %f, green = %f, blue = %f", CID(context), red,
404
green, blue);
405
406
if (context)
407
{
408
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
409
bool isCallValid =
410
(context->skipValidation() || ValidateColor3d(context, red, green, blue));
411
if (isCallValid)
412
{
413
context->color3d(red, green, blue);
414
}
415
ANGLE_CAPTURE(Color3d, isCallValid, context, red, green, blue);
416
}
417
else
418
{
419
GenerateContextLostErrorOnCurrentGlobalContext();
420
}
421
}
422
423
void GL_APIENTRY GL_Color3dv(const GLdouble *v)
424
{
425
Context *context = GetValidGlobalContext();
426
EVENT(context, GLColor3dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
427
428
if (context)
429
{
430
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
431
bool isCallValid = (context->skipValidation() || ValidateColor3dv(context, v));
432
if (isCallValid)
433
{
434
context->color3dv(v);
435
}
436
ANGLE_CAPTURE(Color3dv, isCallValid, context, v);
437
}
438
else
439
{
440
GenerateContextLostErrorOnCurrentGlobalContext();
441
}
442
}
443
444
void GL_APIENTRY GL_Color3f(GLfloat red, GLfloat green, GLfloat blue)
445
{
446
Context *context = GetValidGlobalContext();
447
EVENT(context, GLColor3f, "context = %d, red = %f, green = %f, blue = %f", CID(context), red,
448
green, blue);
449
450
if (context)
451
{
452
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
453
bool isCallValid =
454
(context->skipValidation() || ValidateColor3f(context, red, green, blue));
455
if (isCallValid)
456
{
457
context->color3f(red, green, blue);
458
}
459
ANGLE_CAPTURE(Color3f, isCallValid, context, red, green, blue);
460
}
461
else
462
{
463
GenerateContextLostErrorOnCurrentGlobalContext();
464
}
465
}
466
467
void GL_APIENTRY GL_Color3fv(const GLfloat *v)
468
{
469
Context *context = GetValidGlobalContext();
470
EVENT(context, GLColor3fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
471
472
if (context)
473
{
474
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
475
bool isCallValid = (context->skipValidation() || ValidateColor3fv(context, v));
476
if (isCallValid)
477
{
478
context->color3fv(v);
479
}
480
ANGLE_CAPTURE(Color3fv, isCallValid, context, v);
481
}
482
else
483
{
484
GenerateContextLostErrorOnCurrentGlobalContext();
485
}
486
}
487
488
void GL_APIENTRY GL_Color3i(GLint red, GLint green, GLint blue)
489
{
490
Context *context = GetValidGlobalContext();
491
EVENT(context, GLColor3i, "context = %d, red = %d, green = %d, blue = %d", CID(context), red,
492
green, blue);
493
494
if (context)
495
{
496
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
497
bool isCallValid =
498
(context->skipValidation() || ValidateColor3i(context, red, green, blue));
499
if (isCallValid)
500
{
501
context->color3i(red, green, blue);
502
}
503
ANGLE_CAPTURE(Color3i, isCallValid, context, red, green, blue);
504
}
505
else
506
{
507
GenerateContextLostErrorOnCurrentGlobalContext();
508
}
509
}
510
511
void GL_APIENTRY GL_Color3iv(const GLint *v)
512
{
513
Context *context = GetValidGlobalContext();
514
EVENT(context, GLColor3iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
515
516
if (context)
517
{
518
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
519
bool isCallValid = (context->skipValidation() || ValidateColor3iv(context, v));
520
if (isCallValid)
521
{
522
context->color3iv(v);
523
}
524
ANGLE_CAPTURE(Color3iv, isCallValid, context, v);
525
}
526
else
527
{
528
GenerateContextLostErrorOnCurrentGlobalContext();
529
}
530
}
531
532
void GL_APIENTRY GL_Color3s(GLshort red, GLshort green, GLshort blue)
533
{
534
Context *context = GetValidGlobalContext();
535
EVENT(context, GLColor3s, "context = %d, red = %d, green = %d, blue = %d", CID(context), red,
536
green, blue);
537
538
if (context)
539
{
540
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
541
bool isCallValid =
542
(context->skipValidation() || ValidateColor3s(context, red, green, blue));
543
if (isCallValid)
544
{
545
context->color3s(red, green, blue);
546
}
547
ANGLE_CAPTURE(Color3s, isCallValid, context, red, green, blue);
548
}
549
else
550
{
551
GenerateContextLostErrorOnCurrentGlobalContext();
552
}
553
}
554
555
void GL_APIENTRY GL_Color3sv(const GLshort *v)
556
{
557
Context *context = GetValidGlobalContext();
558
EVENT(context, GLColor3sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
559
560
if (context)
561
{
562
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
563
bool isCallValid = (context->skipValidation() || ValidateColor3sv(context, v));
564
if (isCallValid)
565
{
566
context->color3sv(v);
567
}
568
ANGLE_CAPTURE(Color3sv, isCallValid, context, v);
569
}
570
else
571
{
572
GenerateContextLostErrorOnCurrentGlobalContext();
573
}
574
}
575
576
void GL_APIENTRY GL_Color3ub(GLubyte red, GLubyte green, GLubyte blue)
577
{
578
Context *context = GetValidGlobalContext();
579
EVENT(context, GLColor3ub, "context = %d, red = %d, green = %d, blue = %d", CID(context), red,
580
green, blue);
581
582
if (context)
583
{
584
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
585
bool isCallValid =
586
(context->skipValidation() || ValidateColor3ub(context, red, green, blue));
587
if (isCallValid)
588
{
589
context->color3ub(red, green, blue);
590
}
591
ANGLE_CAPTURE(Color3ub, isCallValid, context, red, green, blue);
592
}
593
else
594
{
595
GenerateContextLostErrorOnCurrentGlobalContext();
596
}
597
}
598
599
void GL_APIENTRY GL_Color3ubv(const GLubyte *v)
600
{
601
Context *context = GetValidGlobalContext();
602
EVENT(context, GLColor3ubv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
603
604
if (context)
605
{
606
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
607
bool isCallValid = (context->skipValidation() || ValidateColor3ubv(context, v));
608
if (isCallValid)
609
{
610
context->color3ubv(v);
611
}
612
ANGLE_CAPTURE(Color3ubv, isCallValid, context, v);
613
}
614
else
615
{
616
GenerateContextLostErrorOnCurrentGlobalContext();
617
}
618
}
619
620
void GL_APIENTRY GL_Color3ui(GLuint red, GLuint green, GLuint blue)
621
{
622
Context *context = GetValidGlobalContext();
623
EVENT(context, GLColor3ui, "context = %d, red = %u, green = %u, blue = %u", CID(context), red,
624
green, blue);
625
626
if (context)
627
{
628
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
629
bool isCallValid =
630
(context->skipValidation() || ValidateColor3ui(context, red, green, blue));
631
if (isCallValid)
632
{
633
context->color3ui(red, green, blue);
634
}
635
ANGLE_CAPTURE(Color3ui, isCallValid, context, red, green, blue);
636
}
637
else
638
{
639
GenerateContextLostErrorOnCurrentGlobalContext();
640
}
641
}
642
643
void GL_APIENTRY GL_Color3uiv(const GLuint *v)
644
{
645
Context *context = GetValidGlobalContext();
646
EVENT(context, GLColor3uiv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
647
648
if (context)
649
{
650
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
651
bool isCallValid = (context->skipValidation() || ValidateColor3uiv(context, v));
652
if (isCallValid)
653
{
654
context->color3uiv(v);
655
}
656
ANGLE_CAPTURE(Color3uiv, isCallValid, context, v);
657
}
658
else
659
{
660
GenerateContextLostErrorOnCurrentGlobalContext();
661
}
662
}
663
664
void GL_APIENTRY GL_Color3us(GLushort red, GLushort green, GLushort blue)
665
{
666
Context *context = GetValidGlobalContext();
667
EVENT(context, GLColor3us, "context = %d, red = %u, green = %u, blue = %u", CID(context), red,
668
green, blue);
669
670
if (context)
671
{
672
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
673
bool isCallValid =
674
(context->skipValidation() || ValidateColor3us(context, red, green, blue));
675
if (isCallValid)
676
{
677
context->color3us(red, green, blue);
678
}
679
ANGLE_CAPTURE(Color3us, isCallValid, context, red, green, blue);
680
}
681
else
682
{
683
GenerateContextLostErrorOnCurrentGlobalContext();
684
}
685
}
686
687
void GL_APIENTRY GL_Color3usv(const GLushort *v)
688
{
689
Context *context = GetValidGlobalContext();
690
EVENT(context, GLColor3usv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
691
692
if (context)
693
{
694
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
695
bool isCallValid = (context->skipValidation() || ValidateColor3usv(context, v));
696
if (isCallValid)
697
{
698
context->color3usv(v);
699
}
700
ANGLE_CAPTURE(Color3usv, isCallValid, context, v);
701
}
702
else
703
{
704
GenerateContextLostErrorOnCurrentGlobalContext();
705
}
706
}
707
708
void GL_APIENTRY GL_Color4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
709
{
710
Context *context = GetValidGlobalContext();
711
EVENT(context, GLColor4b, "context = %d, red = %d, green = %d, blue = %d, alpha = %d",
712
CID(context), red, green, blue, alpha);
713
714
if (context)
715
{
716
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
717
bool isCallValid =
718
(context->skipValidation() || ValidateColor4b(context, red, green, blue, alpha));
719
if (isCallValid)
720
{
721
context->color4b(red, green, blue, alpha);
722
}
723
ANGLE_CAPTURE(Color4b, isCallValid, context, red, green, blue, alpha);
724
}
725
else
726
{
727
GenerateContextLostErrorOnCurrentGlobalContext();
728
}
729
}
730
731
void GL_APIENTRY GL_Color4bv(const GLbyte *v)
732
{
733
Context *context = GetValidGlobalContext();
734
EVENT(context, GLColor4bv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
735
736
if (context)
737
{
738
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
739
bool isCallValid = (context->skipValidation() || ValidateColor4bv(context, v));
740
if (isCallValid)
741
{
742
context->color4bv(v);
743
}
744
ANGLE_CAPTURE(Color4bv, isCallValid, context, v);
745
}
746
else
747
{
748
GenerateContextLostErrorOnCurrentGlobalContext();
749
}
750
}
751
752
void GL_APIENTRY GL_Color4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
753
{
754
Context *context = GetValidGlobalContext();
755
EVENT(context, GLColor4d, "context = %d, red = %f, green = %f, blue = %f, alpha = %f",
756
CID(context), red, green, blue, alpha);
757
758
if (context)
759
{
760
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
761
bool isCallValid =
762
(context->skipValidation() || ValidateColor4d(context, red, green, blue, alpha));
763
if (isCallValid)
764
{
765
context->color4d(red, green, blue, alpha);
766
}
767
ANGLE_CAPTURE(Color4d, isCallValid, context, red, green, blue, alpha);
768
}
769
else
770
{
771
GenerateContextLostErrorOnCurrentGlobalContext();
772
}
773
}
774
775
void GL_APIENTRY GL_Color4dv(const GLdouble *v)
776
{
777
Context *context = GetValidGlobalContext();
778
EVENT(context, GLColor4dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
779
780
if (context)
781
{
782
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
783
bool isCallValid = (context->skipValidation() || ValidateColor4dv(context, v));
784
if (isCallValid)
785
{
786
context->color4dv(v);
787
}
788
ANGLE_CAPTURE(Color4dv, isCallValid, context, v);
789
}
790
else
791
{
792
GenerateContextLostErrorOnCurrentGlobalContext();
793
}
794
}
795
796
void GL_APIENTRY GL_Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
797
{
798
Context *context = GetValidGlobalContext();
799
EVENT(context, GLColor4f, "context = %d, red = %f, green = %f, blue = %f, alpha = %f",
800
CID(context), red, green, blue, alpha);
801
802
if (context)
803
{
804
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
805
bool isCallValid =
806
(context->skipValidation() || ValidateColor4f(context, red, green, blue, alpha));
807
if (isCallValid)
808
{
809
context->color4f(red, green, blue, alpha);
810
}
811
ANGLE_CAPTURE(Color4f, isCallValid, context, red, green, blue, alpha);
812
}
813
else
814
{
815
GenerateContextLostErrorOnCurrentGlobalContext();
816
}
817
}
818
819
void GL_APIENTRY GL_Color4fv(const GLfloat *v)
820
{
821
Context *context = GetValidGlobalContext();
822
EVENT(context, GLColor4fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
823
824
if (context)
825
{
826
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
827
bool isCallValid = (context->skipValidation() || ValidateColor4fv(context, v));
828
if (isCallValid)
829
{
830
context->color4fv(v);
831
}
832
ANGLE_CAPTURE(Color4fv, isCallValid, context, v);
833
}
834
else
835
{
836
GenerateContextLostErrorOnCurrentGlobalContext();
837
}
838
}
839
840
void GL_APIENTRY GL_Color4i(GLint red, GLint green, GLint blue, GLint alpha)
841
{
842
Context *context = GetValidGlobalContext();
843
EVENT(context, GLColor4i, "context = %d, red = %d, green = %d, blue = %d, alpha = %d",
844
CID(context), red, green, blue, alpha);
845
846
if (context)
847
{
848
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
849
bool isCallValid =
850
(context->skipValidation() || ValidateColor4i(context, red, green, blue, alpha));
851
if (isCallValid)
852
{
853
context->color4i(red, green, blue, alpha);
854
}
855
ANGLE_CAPTURE(Color4i, isCallValid, context, red, green, blue, alpha);
856
}
857
else
858
{
859
GenerateContextLostErrorOnCurrentGlobalContext();
860
}
861
}
862
863
void GL_APIENTRY GL_Color4iv(const GLint *v)
864
{
865
Context *context = GetValidGlobalContext();
866
EVENT(context, GLColor4iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
867
868
if (context)
869
{
870
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
871
bool isCallValid = (context->skipValidation() || ValidateColor4iv(context, v));
872
if (isCallValid)
873
{
874
context->color4iv(v);
875
}
876
ANGLE_CAPTURE(Color4iv, isCallValid, context, v);
877
}
878
else
879
{
880
GenerateContextLostErrorOnCurrentGlobalContext();
881
}
882
}
883
884
void GL_APIENTRY GL_Color4s(GLshort red, GLshort green, GLshort blue, GLshort alpha)
885
{
886
Context *context = GetValidGlobalContext();
887
EVENT(context, GLColor4s, "context = %d, red = %d, green = %d, blue = %d, alpha = %d",
888
CID(context), red, green, blue, alpha);
889
890
if (context)
891
{
892
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
893
bool isCallValid =
894
(context->skipValidation() || ValidateColor4s(context, red, green, blue, alpha));
895
if (isCallValid)
896
{
897
context->color4s(red, green, blue, alpha);
898
}
899
ANGLE_CAPTURE(Color4s, isCallValid, context, red, green, blue, alpha);
900
}
901
else
902
{
903
GenerateContextLostErrorOnCurrentGlobalContext();
904
}
905
}
906
907
void GL_APIENTRY GL_Color4sv(const GLshort *v)
908
{
909
Context *context = GetValidGlobalContext();
910
EVENT(context, GLColor4sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
911
912
if (context)
913
{
914
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
915
bool isCallValid = (context->skipValidation() || ValidateColor4sv(context, v));
916
if (isCallValid)
917
{
918
context->color4sv(v);
919
}
920
ANGLE_CAPTURE(Color4sv, isCallValid, context, v);
921
}
922
else
923
{
924
GenerateContextLostErrorOnCurrentGlobalContext();
925
}
926
}
927
928
void GL_APIENTRY GL_Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
929
{
930
Context *context = GetValidGlobalContext();
931
EVENT(context, GLColor4ub, "context = %d, red = %d, green = %d, blue = %d, alpha = %d",
932
CID(context), red, green, blue, alpha);
933
934
if (context)
935
{
936
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
937
bool isCallValid =
938
(context->skipValidation() || ValidateColor4ub(context, red, green, blue, alpha));
939
if (isCallValid)
940
{
941
context->color4ub(red, green, blue, alpha);
942
}
943
ANGLE_CAPTURE(Color4ub, isCallValid, context, red, green, blue, alpha);
944
}
945
else
946
{
947
GenerateContextLostErrorOnCurrentGlobalContext();
948
}
949
}
950
951
void GL_APIENTRY GL_Color4ubv(const GLubyte *v)
952
{
953
Context *context = GetValidGlobalContext();
954
EVENT(context, GLColor4ubv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
955
956
if (context)
957
{
958
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
959
bool isCallValid = (context->skipValidation() || ValidateColor4ubv(context, v));
960
if (isCallValid)
961
{
962
context->color4ubv(v);
963
}
964
ANGLE_CAPTURE(Color4ubv, isCallValid, context, v);
965
}
966
else
967
{
968
GenerateContextLostErrorOnCurrentGlobalContext();
969
}
970
}
971
972
void GL_APIENTRY GL_Color4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha)
973
{
974
Context *context = GetValidGlobalContext();
975
EVENT(context, GLColor4ui, "context = %d, red = %u, green = %u, blue = %u, alpha = %u",
976
CID(context), red, green, blue, alpha);
977
978
if (context)
979
{
980
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
981
bool isCallValid =
982
(context->skipValidation() || ValidateColor4ui(context, red, green, blue, alpha));
983
if (isCallValid)
984
{
985
context->color4ui(red, green, blue, alpha);
986
}
987
ANGLE_CAPTURE(Color4ui, isCallValid, context, red, green, blue, alpha);
988
}
989
else
990
{
991
GenerateContextLostErrorOnCurrentGlobalContext();
992
}
993
}
994
995
void GL_APIENTRY GL_Color4uiv(const GLuint *v)
996
{
997
Context *context = GetValidGlobalContext();
998
EVENT(context, GLColor4uiv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
999
1000
if (context)
1001
{
1002
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1003
bool isCallValid = (context->skipValidation() || ValidateColor4uiv(context, v));
1004
if (isCallValid)
1005
{
1006
context->color4uiv(v);
1007
}
1008
ANGLE_CAPTURE(Color4uiv, isCallValid, context, v);
1009
}
1010
else
1011
{
1012
GenerateContextLostErrorOnCurrentGlobalContext();
1013
}
1014
}
1015
1016
void GL_APIENTRY GL_Color4us(GLushort red, GLushort green, GLushort blue, GLushort alpha)
1017
{
1018
Context *context = GetValidGlobalContext();
1019
EVENT(context, GLColor4us, "context = %d, red = %u, green = %u, blue = %u, alpha = %u",
1020
CID(context), red, green, blue, alpha);
1021
1022
if (context)
1023
{
1024
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1025
bool isCallValid =
1026
(context->skipValidation() || ValidateColor4us(context, red, green, blue, alpha));
1027
if (isCallValid)
1028
{
1029
context->color4us(red, green, blue, alpha);
1030
}
1031
ANGLE_CAPTURE(Color4us, isCallValid, context, red, green, blue, alpha);
1032
}
1033
else
1034
{
1035
GenerateContextLostErrorOnCurrentGlobalContext();
1036
}
1037
}
1038
1039
void GL_APIENTRY GL_Color4usv(const GLushort *v)
1040
{
1041
Context *context = GetValidGlobalContext();
1042
EVENT(context, GLColor4usv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
1043
1044
if (context)
1045
{
1046
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1047
bool isCallValid = (context->skipValidation() || ValidateColor4usv(context, v));
1048
if (isCallValid)
1049
{
1050
context->color4usv(v);
1051
}
1052
ANGLE_CAPTURE(Color4usv, isCallValid, context, v);
1053
}
1054
else
1055
{
1056
GenerateContextLostErrorOnCurrentGlobalContext();
1057
}
1058
}
1059
1060
void GL_APIENTRY GL_ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
1061
{
1062
Context *context = GetValidGlobalContext();
1063
EVENT(context, GLColorMask, "context = %d, red = %s, green = %s, blue = %s, alpha = %s",
1064
CID(context), GLbooleanToString(red), GLbooleanToString(green), GLbooleanToString(blue),
1065
GLbooleanToString(alpha));
1066
1067
if (context)
1068
{
1069
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1070
bool isCallValid =
1071
(context->skipValidation() || ValidateColorMask(context, red, green, blue, alpha));
1072
if (isCallValid)
1073
{
1074
context->colorMask(red, green, blue, alpha);
1075
}
1076
ANGLE_CAPTURE(ColorMask, isCallValid, context, red, green, blue, alpha);
1077
}
1078
else
1079
{
1080
GenerateContextLostErrorOnCurrentGlobalContext();
1081
}
1082
}
1083
1084
void GL_APIENTRY GL_ColorMaterial(GLenum face, GLenum mode)
1085
{
1086
Context *context = GetValidGlobalContext();
1087
EVENT(context, GLColorMaterial, "context = %d, face = %s, mode = %s", CID(context),
1088
GLenumToString(GLenumGroup::MaterialFace, face),
1089
GLenumToString(GLenumGroup::ColorMaterialParameter, mode));
1090
1091
if (context)
1092
{
1093
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1094
bool isCallValid =
1095
(context->skipValidation() || ValidateColorMaterial(context, face, mode));
1096
if (isCallValid)
1097
{
1098
context->colorMaterial(face, mode);
1099
}
1100
ANGLE_CAPTURE(ColorMaterial, isCallValid, context, face, mode);
1101
}
1102
else
1103
{
1104
GenerateContextLostErrorOnCurrentGlobalContext();
1105
}
1106
}
1107
1108
void GL_APIENTRY GL_CopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
1109
{
1110
Context *context = GetValidGlobalContext();
1111
EVENT(context, GLCopyPixels, "context = %d, x = %d, y = %d, width = %d, height = %d, type = %s",
1112
CID(context), x, y, width, height, GLenumToString(GLenumGroup::PixelCopyType, type));
1113
1114
if (context)
1115
{
1116
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1117
bool isCallValid =
1118
(context->skipValidation() || ValidateCopyPixels(context, x, y, width, height, type));
1119
if (isCallValid)
1120
{
1121
context->copyPixels(x, y, width, height, type);
1122
}
1123
ANGLE_CAPTURE(CopyPixels, isCallValid, context, x, y, width, height, type);
1124
}
1125
else
1126
{
1127
GenerateContextLostErrorOnCurrentGlobalContext();
1128
}
1129
}
1130
1131
void GL_APIENTRY GL_CullFace(GLenum mode)
1132
{
1133
Context *context = GetValidGlobalContext();
1134
EVENT(context, GLCullFace, "context = %d, mode = %s", CID(context),
1135
GLenumToString(GLenumGroup::CullFaceMode, mode));
1136
1137
if (context)
1138
{
1139
CullFaceMode modePacked = PackParam<CullFaceMode>(mode);
1140
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1141
bool isCallValid = (context->skipValidation() || ValidateCullFace(context, modePacked));
1142
if (isCallValid)
1143
{
1144
context->cullFace(modePacked);
1145
}
1146
ANGLE_CAPTURE(CullFace, isCallValid, context, modePacked);
1147
}
1148
else
1149
{
1150
GenerateContextLostErrorOnCurrentGlobalContext();
1151
}
1152
}
1153
1154
void GL_APIENTRY GL_DeleteLists(GLuint list, GLsizei range)
1155
{
1156
Context *context = GetValidGlobalContext();
1157
EVENT(context, GLDeleteLists, "context = %d, list = %u, range = %d", CID(context), list, range);
1158
1159
if (context)
1160
{
1161
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1162
bool isCallValid = (context->skipValidation() || ValidateDeleteLists(context, list, range));
1163
if (isCallValid)
1164
{
1165
context->deleteLists(list, range);
1166
}
1167
ANGLE_CAPTURE(DeleteLists, isCallValid, context, list, range);
1168
}
1169
else
1170
{
1171
GenerateContextLostErrorOnCurrentGlobalContext();
1172
}
1173
}
1174
1175
void GL_APIENTRY GL_DepthFunc(GLenum func)
1176
{
1177
Context *context = GetValidGlobalContext();
1178
EVENT(context, GLDepthFunc, "context = %d, func = %s", CID(context),
1179
GLenumToString(GLenumGroup::DepthFunction, func));
1180
1181
if (context)
1182
{
1183
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1184
bool isCallValid = (context->skipValidation() || ValidateDepthFunc(context, func));
1185
if (isCallValid)
1186
{
1187
context->depthFunc(func);
1188
}
1189
ANGLE_CAPTURE(DepthFunc, isCallValid, context, func);
1190
}
1191
else
1192
{
1193
GenerateContextLostErrorOnCurrentGlobalContext();
1194
}
1195
}
1196
1197
void GL_APIENTRY GL_DepthMask(GLboolean flag)
1198
{
1199
Context *context = GetValidGlobalContext();
1200
EVENT(context, GLDepthMask, "context = %d, flag = %s", CID(context), GLbooleanToString(flag));
1201
1202
if (context)
1203
{
1204
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1205
bool isCallValid = (context->skipValidation() || ValidateDepthMask(context, flag));
1206
if (isCallValid)
1207
{
1208
context->depthMask(flag);
1209
}
1210
ANGLE_CAPTURE(DepthMask, isCallValid, context, flag);
1211
}
1212
else
1213
{
1214
GenerateContextLostErrorOnCurrentGlobalContext();
1215
}
1216
}
1217
1218
void GL_APIENTRY GL_DepthRange(GLdouble n, GLdouble f)
1219
{
1220
Context *context = GetValidGlobalContext();
1221
EVENT(context, GLDepthRange, "context = %d, n = %f, f = %f", CID(context), n, f);
1222
1223
if (context)
1224
{
1225
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1226
bool isCallValid = (context->skipValidation() || ValidateDepthRange(context, n, f));
1227
if (isCallValid)
1228
{
1229
context->depthRange(n, f);
1230
}
1231
ANGLE_CAPTURE(DepthRange, isCallValid, context, n, f);
1232
}
1233
else
1234
{
1235
GenerateContextLostErrorOnCurrentGlobalContext();
1236
}
1237
}
1238
1239
void GL_APIENTRY GL_Disable(GLenum cap)
1240
{
1241
Context *context = GetValidGlobalContext();
1242
EVENT(context, GLDisable, "context = %d, cap = %s", CID(context),
1243
GLenumToString(GLenumGroup::EnableCap, cap));
1244
1245
if (context)
1246
{
1247
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1248
bool isCallValid = (context->skipValidation() || ValidateDisable(context, cap));
1249
if (isCallValid)
1250
{
1251
context->disable(cap);
1252
}
1253
ANGLE_CAPTURE(Disable, isCallValid, context, cap);
1254
}
1255
else
1256
{
1257
GenerateContextLostErrorOnCurrentGlobalContext();
1258
}
1259
}
1260
1261
void GL_APIENTRY GL_DrawBuffer(GLenum buf)
1262
{
1263
Context *context = GetValidGlobalContext();
1264
EVENT(context, GLDrawBuffer, "context = %d, buf = %s", CID(context),
1265
GLenumToString(GLenumGroup::DrawBufferMode, buf));
1266
1267
if (context)
1268
{
1269
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1270
bool isCallValid = (context->skipValidation() || ValidateDrawBuffer(context, buf));
1271
if (isCallValid)
1272
{
1273
context->drawBuffer(buf);
1274
}
1275
ANGLE_CAPTURE(DrawBuffer, isCallValid, context, buf);
1276
}
1277
else
1278
{
1279
GenerateContextLostErrorOnCurrentGlobalContext();
1280
}
1281
}
1282
1283
void GL_APIENTRY
1284
GL_DrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)
1285
{
1286
Context *context = GetValidGlobalContext();
1287
EVENT(context, GLDrawPixels,
1288
"context = %d, width = %d, height = %d, format = %s, type = %s, pixels = 0x%016" PRIxPTR
1289
"",
1290
CID(context), width, height, GLenumToString(GLenumGroup::PixelFormat, format),
1291
GLenumToString(GLenumGroup::PixelType, type), (uintptr_t)pixels);
1292
1293
if (context)
1294
{
1295
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1296
bool isCallValid = (context->skipValidation() ||
1297
ValidateDrawPixels(context, width, height, format, type, pixels));
1298
if (isCallValid)
1299
{
1300
context->drawPixels(width, height, format, type, pixels);
1301
}
1302
ANGLE_CAPTURE(DrawPixels, isCallValid, context, width, height, format, type, pixels);
1303
}
1304
else
1305
{
1306
GenerateContextLostErrorOnCurrentGlobalContext();
1307
}
1308
}
1309
1310
void GL_APIENTRY GL_EdgeFlag(GLboolean flag)
1311
{
1312
Context *context = GetValidGlobalContext();
1313
EVENT(context, GLEdgeFlag, "context = %d, flag = %s", CID(context), GLbooleanToString(flag));
1314
1315
if (context)
1316
{
1317
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1318
bool isCallValid = (context->skipValidation() || ValidateEdgeFlag(context, flag));
1319
if (isCallValid)
1320
{
1321
context->edgeFlag(flag);
1322
}
1323
ANGLE_CAPTURE(EdgeFlag, isCallValid, context, flag);
1324
}
1325
else
1326
{
1327
GenerateContextLostErrorOnCurrentGlobalContext();
1328
}
1329
}
1330
1331
void GL_APIENTRY GL_EdgeFlagv(const GLboolean *flag)
1332
{
1333
Context *context = GetValidGlobalContext();
1334
EVENT(context, GLEdgeFlagv, "context = %d, flag = 0x%016" PRIxPTR "", CID(context),
1335
(uintptr_t)flag);
1336
1337
if (context)
1338
{
1339
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1340
bool isCallValid = (context->skipValidation() || ValidateEdgeFlagv(context, flag));
1341
if (isCallValid)
1342
{
1343
context->edgeFlagv(flag);
1344
}
1345
ANGLE_CAPTURE(EdgeFlagv, isCallValid, context, flag);
1346
}
1347
else
1348
{
1349
GenerateContextLostErrorOnCurrentGlobalContext();
1350
}
1351
}
1352
1353
void GL_APIENTRY GL_Enable(GLenum cap)
1354
{
1355
Context *context = GetValidGlobalContext();
1356
EVENT(context, GLEnable, "context = %d, cap = %s", CID(context),
1357
GLenumToString(GLenumGroup::EnableCap, cap));
1358
1359
if (context)
1360
{
1361
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1362
bool isCallValid = (context->skipValidation() || ValidateEnable(context, cap));
1363
if (isCallValid)
1364
{
1365
context->enable(cap);
1366
}
1367
ANGLE_CAPTURE(Enable, isCallValid, context, cap);
1368
}
1369
else
1370
{
1371
GenerateContextLostErrorOnCurrentGlobalContext();
1372
}
1373
}
1374
1375
void GL_APIENTRY GL_End()
1376
{
1377
Context *context = GetValidGlobalContext();
1378
EVENT(context, GLEnd, "context = %d", CID(context));
1379
1380
if (context)
1381
{
1382
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1383
bool isCallValid = (context->skipValidation() || ValidateEnd(context));
1384
if (isCallValid)
1385
{
1386
context->end();
1387
}
1388
ANGLE_CAPTURE(End, isCallValid, context);
1389
}
1390
else
1391
{
1392
GenerateContextLostErrorOnCurrentGlobalContext();
1393
}
1394
}
1395
1396
void GL_APIENTRY GL_EndList()
1397
{
1398
Context *context = GetValidGlobalContext();
1399
EVENT(context, GLEndList, "context = %d", CID(context));
1400
1401
if (context)
1402
{
1403
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1404
bool isCallValid = (context->skipValidation() || ValidateEndList(context));
1405
if (isCallValid)
1406
{
1407
context->endList();
1408
}
1409
ANGLE_CAPTURE(EndList, isCallValid, context);
1410
}
1411
else
1412
{
1413
GenerateContextLostErrorOnCurrentGlobalContext();
1414
}
1415
}
1416
1417
void GL_APIENTRY GL_EvalCoord1d(GLdouble u)
1418
{
1419
Context *context = GetValidGlobalContext();
1420
EVENT(context, GLEvalCoord1d, "context = %d, u = %f", CID(context), u);
1421
1422
if (context)
1423
{
1424
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1425
bool isCallValid = (context->skipValidation() || ValidateEvalCoord1d(context, u));
1426
if (isCallValid)
1427
{
1428
context->evalCoord1d(u);
1429
}
1430
ANGLE_CAPTURE(EvalCoord1d, isCallValid, context, u);
1431
}
1432
else
1433
{
1434
GenerateContextLostErrorOnCurrentGlobalContext();
1435
}
1436
}
1437
1438
void GL_APIENTRY GL_EvalCoord1dv(const GLdouble *u)
1439
{
1440
Context *context = GetValidGlobalContext();
1441
EVENT(context, GLEvalCoord1dv, "context = %d, u = 0x%016" PRIxPTR "", CID(context),
1442
(uintptr_t)u);
1443
1444
if (context)
1445
{
1446
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1447
bool isCallValid = (context->skipValidation() || ValidateEvalCoord1dv(context, u));
1448
if (isCallValid)
1449
{
1450
context->evalCoord1dv(u);
1451
}
1452
ANGLE_CAPTURE(EvalCoord1dv, isCallValid, context, u);
1453
}
1454
else
1455
{
1456
GenerateContextLostErrorOnCurrentGlobalContext();
1457
}
1458
}
1459
1460
void GL_APIENTRY GL_EvalCoord1f(GLfloat u)
1461
{
1462
Context *context = GetValidGlobalContext();
1463
EVENT(context, GLEvalCoord1f, "context = %d, u = %f", CID(context), u);
1464
1465
if (context)
1466
{
1467
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1468
bool isCallValid = (context->skipValidation() || ValidateEvalCoord1f(context, u));
1469
if (isCallValid)
1470
{
1471
context->evalCoord1f(u);
1472
}
1473
ANGLE_CAPTURE(EvalCoord1f, isCallValid, context, u);
1474
}
1475
else
1476
{
1477
GenerateContextLostErrorOnCurrentGlobalContext();
1478
}
1479
}
1480
1481
void GL_APIENTRY GL_EvalCoord1fv(const GLfloat *u)
1482
{
1483
Context *context = GetValidGlobalContext();
1484
EVENT(context, GLEvalCoord1fv, "context = %d, u = 0x%016" PRIxPTR "", CID(context),
1485
(uintptr_t)u);
1486
1487
if (context)
1488
{
1489
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1490
bool isCallValid = (context->skipValidation() || ValidateEvalCoord1fv(context, u));
1491
if (isCallValid)
1492
{
1493
context->evalCoord1fv(u);
1494
}
1495
ANGLE_CAPTURE(EvalCoord1fv, isCallValid, context, u);
1496
}
1497
else
1498
{
1499
GenerateContextLostErrorOnCurrentGlobalContext();
1500
}
1501
}
1502
1503
void GL_APIENTRY GL_EvalCoord2d(GLdouble u, GLdouble v)
1504
{
1505
Context *context = GetValidGlobalContext();
1506
EVENT(context, GLEvalCoord2d, "context = %d, u = %f, v = %f", CID(context), u, v);
1507
1508
if (context)
1509
{
1510
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1511
bool isCallValid = (context->skipValidation() || ValidateEvalCoord2d(context, u, v));
1512
if (isCallValid)
1513
{
1514
context->evalCoord2d(u, v);
1515
}
1516
ANGLE_CAPTURE(EvalCoord2d, isCallValid, context, u, v);
1517
}
1518
else
1519
{
1520
GenerateContextLostErrorOnCurrentGlobalContext();
1521
}
1522
}
1523
1524
void GL_APIENTRY GL_EvalCoord2dv(const GLdouble *u)
1525
{
1526
Context *context = GetValidGlobalContext();
1527
EVENT(context, GLEvalCoord2dv, "context = %d, u = 0x%016" PRIxPTR "", CID(context),
1528
(uintptr_t)u);
1529
1530
if (context)
1531
{
1532
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1533
bool isCallValid = (context->skipValidation() || ValidateEvalCoord2dv(context, u));
1534
if (isCallValid)
1535
{
1536
context->evalCoord2dv(u);
1537
}
1538
ANGLE_CAPTURE(EvalCoord2dv, isCallValid, context, u);
1539
}
1540
else
1541
{
1542
GenerateContextLostErrorOnCurrentGlobalContext();
1543
}
1544
}
1545
1546
void GL_APIENTRY GL_EvalCoord2f(GLfloat u, GLfloat v)
1547
{
1548
Context *context = GetValidGlobalContext();
1549
EVENT(context, GLEvalCoord2f, "context = %d, u = %f, v = %f", CID(context), u, v);
1550
1551
if (context)
1552
{
1553
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1554
bool isCallValid = (context->skipValidation() || ValidateEvalCoord2f(context, u, v));
1555
if (isCallValid)
1556
{
1557
context->evalCoord2f(u, v);
1558
}
1559
ANGLE_CAPTURE(EvalCoord2f, isCallValid, context, u, v);
1560
}
1561
else
1562
{
1563
GenerateContextLostErrorOnCurrentGlobalContext();
1564
}
1565
}
1566
1567
void GL_APIENTRY GL_EvalCoord2fv(const GLfloat *u)
1568
{
1569
Context *context = GetValidGlobalContext();
1570
EVENT(context, GLEvalCoord2fv, "context = %d, u = 0x%016" PRIxPTR "", CID(context),
1571
(uintptr_t)u);
1572
1573
if (context)
1574
{
1575
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1576
bool isCallValid = (context->skipValidation() || ValidateEvalCoord2fv(context, u));
1577
if (isCallValid)
1578
{
1579
context->evalCoord2fv(u);
1580
}
1581
ANGLE_CAPTURE(EvalCoord2fv, isCallValid, context, u);
1582
}
1583
else
1584
{
1585
GenerateContextLostErrorOnCurrentGlobalContext();
1586
}
1587
}
1588
1589
void GL_APIENTRY GL_EvalMesh1(GLenum mode, GLint i1, GLint i2)
1590
{
1591
Context *context = GetValidGlobalContext();
1592
EVENT(context, GLEvalMesh1, "context = %d, mode = %s, i1 = %d, i2 = %d", CID(context),
1593
GLenumToString(GLenumGroup::MeshMode1, mode), i1, i2);
1594
1595
if (context)
1596
{
1597
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1598
bool isCallValid = (context->skipValidation() || ValidateEvalMesh1(context, mode, i1, i2));
1599
if (isCallValid)
1600
{
1601
context->evalMesh1(mode, i1, i2);
1602
}
1603
ANGLE_CAPTURE(EvalMesh1, isCallValid, context, mode, i1, i2);
1604
}
1605
else
1606
{
1607
GenerateContextLostErrorOnCurrentGlobalContext();
1608
}
1609
}
1610
1611
void GL_APIENTRY GL_EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
1612
{
1613
Context *context = GetValidGlobalContext();
1614
EVENT(context, GLEvalMesh2, "context = %d, mode = %s, i1 = %d, i2 = %d, j1 = %d, j2 = %d",
1615
CID(context), GLenumToString(GLenumGroup::MeshMode2, mode), i1, i2, j1, j2);
1616
1617
if (context)
1618
{
1619
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1620
bool isCallValid =
1621
(context->skipValidation() || ValidateEvalMesh2(context, mode, i1, i2, j1, j2));
1622
if (isCallValid)
1623
{
1624
context->evalMesh2(mode, i1, i2, j1, j2);
1625
}
1626
ANGLE_CAPTURE(EvalMesh2, isCallValid, context, mode, i1, i2, j1, j2);
1627
}
1628
else
1629
{
1630
GenerateContextLostErrorOnCurrentGlobalContext();
1631
}
1632
}
1633
1634
void GL_APIENTRY GL_EvalPoint1(GLint i)
1635
{
1636
Context *context = GetValidGlobalContext();
1637
EVENT(context, GLEvalPoint1, "context = %d, i = %d", CID(context), i);
1638
1639
if (context)
1640
{
1641
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1642
bool isCallValid = (context->skipValidation() || ValidateEvalPoint1(context, i));
1643
if (isCallValid)
1644
{
1645
context->evalPoint1(i);
1646
}
1647
ANGLE_CAPTURE(EvalPoint1, isCallValid, context, i);
1648
}
1649
else
1650
{
1651
GenerateContextLostErrorOnCurrentGlobalContext();
1652
}
1653
}
1654
1655
void GL_APIENTRY GL_EvalPoint2(GLint i, GLint j)
1656
{
1657
Context *context = GetValidGlobalContext();
1658
EVENT(context, GLEvalPoint2, "context = %d, i = %d, j = %d", CID(context), i, j);
1659
1660
if (context)
1661
{
1662
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1663
bool isCallValid = (context->skipValidation() || ValidateEvalPoint2(context, i, j));
1664
if (isCallValid)
1665
{
1666
context->evalPoint2(i, j);
1667
}
1668
ANGLE_CAPTURE(EvalPoint2, isCallValid, context, i, j);
1669
}
1670
else
1671
{
1672
GenerateContextLostErrorOnCurrentGlobalContext();
1673
}
1674
}
1675
1676
void GL_APIENTRY GL_FeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer)
1677
{
1678
Context *context = GetValidGlobalContext();
1679
EVENT(context, GLFeedbackBuffer,
1680
"context = %d, size = %d, type = %s, buffer = 0x%016" PRIxPTR "", CID(context), size,
1681
GLenumToString(GLenumGroup::FeedbackType, type), (uintptr_t)buffer);
1682
1683
if (context)
1684
{
1685
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1686
bool isCallValid =
1687
(context->skipValidation() || ValidateFeedbackBuffer(context, size, type, buffer));
1688
if (isCallValid)
1689
{
1690
context->feedbackBuffer(size, type, buffer);
1691
}
1692
ANGLE_CAPTURE(FeedbackBuffer, isCallValid, context, size, type, buffer);
1693
}
1694
else
1695
{
1696
GenerateContextLostErrorOnCurrentGlobalContext();
1697
}
1698
}
1699
1700
void GL_APIENTRY GL_Finish()
1701
{
1702
Context *context = GetValidGlobalContext();
1703
EVENT(context, GLFinish, "context = %d", CID(context));
1704
1705
if (context)
1706
{
1707
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1708
bool isCallValid = (context->skipValidation() || ValidateFinish(context));
1709
if (isCallValid)
1710
{
1711
context->finish();
1712
}
1713
ANGLE_CAPTURE(Finish, isCallValid, context);
1714
}
1715
else
1716
{
1717
GenerateContextLostErrorOnCurrentGlobalContext();
1718
}
1719
}
1720
1721
void GL_APIENTRY GL_Flush()
1722
{
1723
Context *context = GetValidGlobalContext();
1724
EVENT(context, GLFlush, "context = %d", CID(context));
1725
1726
if (context)
1727
{
1728
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1729
bool isCallValid = (context->skipValidation() || ValidateFlush(context));
1730
if (isCallValid)
1731
{
1732
context->flush();
1733
}
1734
ANGLE_CAPTURE(Flush, isCallValid, context);
1735
}
1736
else
1737
{
1738
GenerateContextLostErrorOnCurrentGlobalContext();
1739
}
1740
}
1741
1742
void GL_APIENTRY GL_Fogf(GLenum pname, GLfloat param)
1743
{
1744
Context *context = GetValidGlobalContext();
1745
EVENT(context, GLFogf, "context = %d, pname = %s, param = %f", CID(context),
1746
GLenumToString(GLenumGroup::FogParameter, pname), param);
1747
1748
if (context)
1749
{
1750
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1751
bool isCallValid = (context->skipValidation() || ValidateFogf(context, pname, param));
1752
if (isCallValid)
1753
{
1754
context->fogf(pname, param);
1755
}
1756
ANGLE_CAPTURE(Fogf, isCallValid, context, pname, param);
1757
}
1758
else
1759
{
1760
GenerateContextLostErrorOnCurrentGlobalContext();
1761
}
1762
}
1763
1764
void GL_APIENTRY GL_Fogfv(GLenum pname, const GLfloat *params)
1765
{
1766
Context *context = GetValidGlobalContext();
1767
EVENT(context, GLFogfv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
1768
GLenumToString(GLenumGroup::FogParameter, pname), (uintptr_t)params);
1769
1770
if (context)
1771
{
1772
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1773
bool isCallValid = (context->skipValidation() || ValidateFogfv(context, pname, params));
1774
if (isCallValid)
1775
{
1776
context->fogfv(pname, params);
1777
}
1778
ANGLE_CAPTURE(Fogfv, isCallValid, context, pname, params);
1779
}
1780
else
1781
{
1782
GenerateContextLostErrorOnCurrentGlobalContext();
1783
}
1784
}
1785
1786
void GL_APIENTRY GL_Fogi(GLenum pname, GLint param)
1787
{
1788
Context *context = GetValidGlobalContext();
1789
EVENT(context, GLFogi, "context = %d, pname = %s, param = %d", CID(context),
1790
GLenumToString(GLenumGroup::FogParameter, pname), param);
1791
1792
if (context)
1793
{
1794
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1795
bool isCallValid = (context->skipValidation() || ValidateFogi(context, pname, param));
1796
if (isCallValid)
1797
{
1798
context->fogi(pname, param);
1799
}
1800
ANGLE_CAPTURE(Fogi, isCallValid, context, pname, param);
1801
}
1802
else
1803
{
1804
GenerateContextLostErrorOnCurrentGlobalContext();
1805
}
1806
}
1807
1808
void GL_APIENTRY GL_Fogiv(GLenum pname, const GLint *params)
1809
{
1810
Context *context = GetValidGlobalContext();
1811
EVENT(context, GLFogiv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
1812
GLenumToString(GLenumGroup::FogParameter, pname), (uintptr_t)params);
1813
1814
if (context)
1815
{
1816
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1817
bool isCallValid = (context->skipValidation() || ValidateFogiv(context, pname, params));
1818
if (isCallValid)
1819
{
1820
context->fogiv(pname, params);
1821
}
1822
ANGLE_CAPTURE(Fogiv, isCallValid, context, pname, params);
1823
}
1824
else
1825
{
1826
GenerateContextLostErrorOnCurrentGlobalContext();
1827
}
1828
}
1829
1830
void GL_APIENTRY GL_FrontFace(GLenum mode)
1831
{
1832
Context *context = GetValidGlobalContext();
1833
EVENT(context, GLFrontFace, "context = %d, mode = %s", CID(context),
1834
GLenumToString(GLenumGroup::FrontFaceDirection, mode));
1835
1836
if (context)
1837
{
1838
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1839
bool isCallValid = (context->skipValidation() || ValidateFrontFace(context, mode));
1840
if (isCallValid)
1841
{
1842
context->frontFace(mode);
1843
}
1844
ANGLE_CAPTURE(FrontFace, isCallValid, context, mode);
1845
}
1846
else
1847
{
1848
GenerateContextLostErrorOnCurrentGlobalContext();
1849
}
1850
}
1851
1852
void GL_APIENTRY GL_Frustum(GLdouble left,
1853
GLdouble right,
1854
GLdouble bottom,
1855
GLdouble top,
1856
GLdouble zNear,
1857
GLdouble zFar)
1858
{
1859
Context *context = GetValidGlobalContext();
1860
EVENT(context, GLFrustum,
1861
"context = %d, left = %f, right = %f, bottom = %f, top = %f, zNear = %f, zFar = %f",
1862
CID(context), left, right, bottom, top, zNear, zFar);
1863
1864
if (context)
1865
{
1866
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1867
bool isCallValid = (context->skipValidation() ||
1868
ValidateFrustum(context, left, right, bottom, top, zNear, zFar));
1869
if (isCallValid)
1870
{
1871
context->frustum(left, right, bottom, top, zNear, zFar);
1872
}
1873
ANGLE_CAPTURE(Frustum, isCallValid, context, left, right, bottom, top, zNear, zFar);
1874
}
1875
else
1876
{
1877
GenerateContextLostErrorOnCurrentGlobalContext();
1878
}
1879
}
1880
1881
GLuint GL_APIENTRY GL_GenLists(GLsizei range)
1882
{
1883
Context *context = GetValidGlobalContext();
1884
EVENT(context, GLGenLists, "context = %d, range = %d", CID(context), range);
1885
1886
GLuint returnValue;
1887
if (context)
1888
{
1889
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1890
bool isCallValid = (context->skipValidation() || ValidateGenLists(context, range));
1891
if (isCallValid)
1892
{
1893
returnValue = context->genLists(range);
1894
}
1895
else
1896
{
1897
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLGenLists, GLuint>();
1898
}
1899
ANGLE_CAPTURE(GenLists, isCallValid, context, range, returnValue);
1900
}
1901
else
1902
{
1903
GenerateContextLostErrorOnCurrentGlobalContext();
1904
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLGenLists, GLuint>();
1905
}
1906
return returnValue;
1907
}
1908
1909
void GL_APIENTRY GL_GetBooleanv(GLenum pname, GLboolean *data)
1910
{
1911
Context *context = GetValidGlobalContext();
1912
EVENT(context, GLGetBooleanv, "context = %d, pname = %s, data = 0x%016" PRIxPTR "",
1913
CID(context), GLenumToString(GLenumGroup::GetPName, pname), (uintptr_t)data);
1914
1915
if (context)
1916
{
1917
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1918
bool isCallValid = (context->skipValidation() || ValidateGetBooleanv(context, pname, data));
1919
if (isCallValid)
1920
{
1921
context->getBooleanv(pname, data);
1922
}
1923
ANGLE_CAPTURE(GetBooleanv, isCallValid, context, pname, data);
1924
}
1925
else
1926
{
1927
GenerateContextLostErrorOnCurrentGlobalContext();
1928
}
1929
}
1930
1931
void GL_APIENTRY GL_GetClipPlane(GLenum plane, GLdouble *equation)
1932
{
1933
Context *context = GetValidGlobalContext();
1934
EVENT(context, GLGetClipPlane, "context = %d, plane = %s, equation = 0x%016" PRIxPTR "",
1935
CID(context), GLenumToString(GLenumGroup::ClipPlaneName, plane), (uintptr_t)equation);
1936
1937
if (context)
1938
{
1939
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1940
bool isCallValid =
1941
(context->skipValidation() || ValidateGetClipPlane(context, plane, equation));
1942
if (isCallValid)
1943
{
1944
context->getClipPlane(plane, equation);
1945
}
1946
ANGLE_CAPTURE(GetClipPlane, isCallValid, context, plane, equation);
1947
}
1948
else
1949
{
1950
GenerateContextLostErrorOnCurrentGlobalContext();
1951
}
1952
}
1953
1954
void GL_APIENTRY GL_GetDoublev(GLenum pname, GLdouble *data)
1955
{
1956
Context *context = GetValidGlobalContext();
1957
EVENT(context, GLGetDoublev, "context = %d, pname = %s, data = 0x%016" PRIxPTR "", CID(context),
1958
GLenumToString(GLenumGroup::GetPName, pname), (uintptr_t)data);
1959
1960
if (context)
1961
{
1962
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1963
bool isCallValid = (context->skipValidation() || ValidateGetDoublev(context, pname, data));
1964
if (isCallValid)
1965
{
1966
context->getDoublev(pname, data);
1967
}
1968
ANGLE_CAPTURE(GetDoublev, isCallValid, context, pname, data);
1969
}
1970
else
1971
{
1972
GenerateContextLostErrorOnCurrentGlobalContext();
1973
}
1974
}
1975
1976
GLenum GL_APIENTRY GL_GetError()
1977
{
1978
Context *context = GetGlobalContext();
1979
EVENT(context, GLGetError, "context = %d", CID(context));
1980
1981
GLenum returnValue;
1982
if (context)
1983
{
1984
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1985
bool isCallValid = (context->skipValidation() || ValidateGetError(context));
1986
if (isCallValid)
1987
{
1988
returnValue = context->getError();
1989
}
1990
else
1991
{
1992
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLGetError, GLenum>();
1993
}
1994
ANGLE_CAPTURE(GetError, isCallValid, context, returnValue);
1995
}
1996
else
1997
{
1998
1999
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLGetError, GLenum>();
2000
}
2001
return returnValue;
2002
}
2003
2004
void GL_APIENTRY GL_GetFloatv(GLenum pname, GLfloat *data)
2005
{
2006
Context *context = GetValidGlobalContext();
2007
EVENT(context, GLGetFloatv, "context = %d, pname = %s, data = 0x%016" PRIxPTR "", CID(context),
2008
GLenumToString(GLenumGroup::GetPName, pname), (uintptr_t)data);
2009
2010
if (context)
2011
{
2012
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2013
bool isCallValid = (context->skipValidation() || ValidateGetFloatv(context, pname, data));
2014
if (isCallValid)
2015
{
2016
context->getFloatv(pname, data);
2017
}
2018
ANGLE_CAPTURE(GetFloatv, isCallValid, context, pname, data);
2019
}
2020
else
2021
{
2022
GenerateContextLostErrorOnCurrentGlobalContext();
2023
}
2024
}
2025
2026
void GL_APIENTRY GL_GetIntegerv(GLenum pname, GLint *data)
2027
{
2028
Context *context = GetValidGlobalContext();
2029
EVENT(context, GLGetIntegerv, "context = %d, pname = %s, data = 0x%016" PRIxPTR "",
2030
CID(context), GLenumToString(GLenumGroup::GetPName, pname), (uintptr_t)data);
2031
2032
if (context)
2033
{
2034
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2035
bool isCallValid = (context->skipValidation() || ValidateGetIntegerv(context, pname, data));
2036
if (isCallValid)
2037
{
2038
context->getIntegerv(pname, data);
2039
}
2040
ANGLE_CAPTURE(GetIntegerv, isCallValid, context, pname, data);
2041
}
2042
else
2043
{
2044
GenerateContextLostErrorOnCurrentGlobalContext();
2045
}
2046
}
2047
2048
void GL_APIENTRY GL_GetLightfv(GLenum light, GLenum pname, GLfloat *params)
2049
{
2050
Context *context = GetValidGlobalContext();
2051
EVENT(context, GLGetLightfv, "context = %d, light = %s, pname = %s, params = 0x%016" PRIxPTR "",
2052
CID(context), GLenumToString(GLenumGroup::LightName, light),
2053
GLenumToString(GLenumGroup::LightParameter, pname), (uintptr_t)params);
2054
2055
if (context)
2056
{
2057
LightParameter pnamePacked = PackParam<LightParameter>(pname);
2058
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2059
bool isCallValid =
2060
(context->skipValidation() || ValidateGetLightfv(context, light, pnamePacked, params));
2061
if (isCallValid)
2062
{
2063
context->getLightfv(light, pnamePacked, params);
2064
}
2065
ANGLE_CAPTURE(GetLightfv, isCallValid, context, light, pnamePacked, params);
2066
}
2067
else
2068
{
2069
GenerateContextLostErrorOnCurrentGlobalContext();
2070
}
2071
}
2072
2073
void GL_APIENTRY GL_GetLightiv(GLenum light, GLenum pname, GLint *params)
2074
{
2075
Context *context = GetValidGlobalContext();
2076
EVENT(context, GLGetLightiv, "context = %d, light = %s, pname = %s, params = 0x%016" PRIxPTR "",
2077
CID(context), GLenumToString(GLenumGroup::LightName, light),
2078
GLenumToString(GLenumGroup::LightParameter, pname), (uintptr_t)params);
2079
2080
if (context)
2081
{
2082
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2083
bool isCallValid =
2084
(context->skipValidation() || ValidateGetLightiv(context, light, pname, params));
2085
if (isCallValid)
2086
{
2087
context->getLightiv(light, pname, params);
2088
}
2089
ANGLE_CAPTURE(GetLightiv, isCallValid, context, light, pname, params);
2090
}
2091
else
2092
{
2093
GenerateContextLostErrorOnCurrentGlobalContext();
2094
}
2095
}
2096
2097
void GL_APIENTRY GL_GetMapdv(GLenum target, GLenum query, GLdouble *v)
2098
{
2099
Context *context = GetValidGlobalContext();
2100
EVENT(context, GLGetMapdv, "context = %d, target = %s, query = %s, v = 0x%016" PRIxPTR "",
2101
CID(context), GLenumToString(GLenumGroup::MapTarget, target),
2102
GLenumToString(GLenumGroup::GetMapQuery, query), (uintptr_t)v);
2103
2104
if (context)
2105
{
2106
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2107
bool isCallValid =
2108
(context->skipValidation() || ValidateGetMapdv(context, target, query, v));
2109
if (isCallValid)
2110
{
2111
context->getMapdv(target, query, v);
2112
}
2113
ANGLE_CAPTURE(GetMapdv, isCallValid, context, target, query, v);
2114
}
2115
else
2116
{
2117
GenerateContextLostErrorOnCurrentGlobalContext();
2118
}
2119
}
2120
2121
void GL_APIENTRY GL_GetMapfv(GLenum target, GLenum query, GLfloat *v)
2122
{
2123
Context *context = GetValidGlobalContext();
2124
EVENT(context, GLGetMapfv, "context = %d, target = %s, query = %s, v = 0x%016" PRIxPTR "",
2125
CID(context), GLenumToString(GLenumGroup::MapTarget, target),
2126
GLenumToString(GLenumGroup::GetMapQuery, query), (uintptr_t)v);
2127
2128
if (context)
2129
{
2130
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2131
bool isCallValid =
2132
(context->skipValidation() || ValidateGetMapfv(context, target, query, v));
2133
if (isCallValid)
2134
{
2135
context->getMapfv(target, query, v);
2136
}
2137
ANGLE_CAPTURE(GetMapfv, isCallValid, context, target, query, v);
2138
}
2139
else
2140
{
2141
GenerateContextLostErrorOnCurrentGlobalContext();
2142
}
2143
}
2144
2145
void GL_APIENTRY GL_GetMapiv(GLenum target, GLenum query, GLint *v)
2146
{
2147
Context *context = GetValidGlobalContext();
2148
EVENT(context, GLGetMapiv, "context = %d, target = %s, query = %s, v = 0x%016" PRIxPTR "",
2149
CID(context), GLenumToString(GLenumGroup::MapTarget, target),
2150
GLenumToString(GLenumGroup::GetMapQuery, query), (uintptr_t)v);
2151
2152
if (context)
2153
{
2154
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2155
bool isCallValid =
2156
(context->skipValidation() || ValidateGetMapiv(context, target, query, v));
2157
if (isCallValid)
2158
{
2159
context->getMapiv(target, query, v);
2160
}
2161
ANGLE_CAPTURE(GetMapiv, isCallValid, context, target, query, v);
2162
}
2163
else
2164
{
2165
GenerateContextLostErrorOnCurrentGlobalContext();
2166
}
2167
}
2168
2169
void GL_APIENTRY GL_GetMaterialfv(GLenum face, GLenum pname, GLfloat *params)
2170
{
2171
Context *context = GetValidGlobalContext();
2172
EVENT(context, GLGetMaterialfv,
2173
"context = %d, face = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
2174
GLenumToString(GLenumGroup::MaterialFace, face),
2175
GLenumToString(GLenumGroup::MaterialParameter, pname), (uintptr_t)params);
2176
2177
if (context)
2178
{
2179
MaterialParameter pnamePacked = PackParam<MaterialParameter>(pname);
2180
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2181
bool isCallValid = (context->skipValidation() ||
2182
ValidateGetMaterialfv(context, face, pnamePacked, params));
2183
if (isCallValid)
2184
{
2185
context->getMaterialfv(face, pnamePacked, params);
2186
}
2187
ANGLE_CAPTURE(GetMaterialfv, isCallValid, context, face, pnamePacked, params);
2188
}
2189
else
2190
{
2191
GenerateContextLostErrorOnCurrentGlobalContext();
2192
}
2193
}
2194
2195
void GL_APIENTRY GL_GetMaterialiv(GLenum face, GLenum pname, GLint *params)
2196
{
2197
Context *context = GetValidGlobalContext();
2198
EVENT(context, GLGetMaterialiv,
2199
"context = %d, face = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
2200
GLenumToString(GLenumGroup::MaterialFace, face),
2201
GLenumToString(GLenumGroup::MaterialParameter, pname), (uintptr_t)params);
2202
2203
if (context)
2204
{
2205
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2206
bool isCallValid =
2207
(context->skipValidation() || ValidateGetMaterialiv(context, face, pname, params));
2208
if (isCallValid)
2209
{
2210
context->getMaterialiv(face, pname, params);
2211
}
2212
ANGLE_CAPTURE(GetMaterialiv, isCallValid, context, face, pname, params);
2213
}
2214
else
2215
{
2216
GenerateContextLostErrorOnCurrentGlobalContext();
2217
}
2218
}
2219
2220
void GL_APIENTRY GL_GetPixelMapfv(GLenum map, GLfloat *values)
2221
{
2222
Context *context = GetValidGlobalContext();
2223
EVENT(context, GLGetPixelMapfv, "context = %d, map = %s, values = 0x%016" PRIxPTR "",
2224
CID(context), GLenumToString(GLenumGroup::PixelMap, map), (uintptr_t)values);
2225
2226
if (context)
2227
{
2228
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2229
bool isCallValid =
2230
(context->skipValidation() || ValidateGetPixelMapfv(context, map, values));
2231
if (isCallValid)
2232
{
2233
context->getPixelMapfv(map, values);
2234
}
2235
ANGLE_CAPTURE(GetPixelMapfv, isCallValid, context, map, values);
2236
}
2237
else
2238
{
2239
GenerateContextLostErrorOnCurrentGlobalContext();
2240
}
2241
}
2242
2243
void GL_APIENTRY GL_GetPixelMapuiv(GLenum map, GLuint *values)
2244
{
2245
Context *context = GetValidGlobalContext();
2246
EVENT(context, GLGetPixelMapuiv, "context = %d, map = %s, values = 0x%016" PRIxPTR "",
2247
CID(context), GLenumToString(GLenumGroup::PixelMap, map), (uintptr_t)values);
2248
2249
if (context)
2250
{
2251
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2252
bool isCallValid =
2253
(context->skipValidation() || ValidateGetPixelMapuiv(context, map, values));
2254
if (isCallValid)
2255
{
2256
context->getPixelMapuiv(map, values);
2257
}
2258
ANGLE_CAPTURE(GetPixelMapuiv, isCallValid, context, map, values);
2259
}
2260
else
2261
{
2262
GenerateContextLostErrorOnCurrentGlobalContext();
2263
}
2264
}
2265
2266
void GL_APIENTRY GL_GetPixelMapusv(GLenum map, GLushort *values)
2267
{
2268
Context *context = GetValidGlobalContext();
2269
EVENT(context, GLGetPixelMapusv, "context = %d, map = %s, values = 0x%016" PRIxPTR "",
2270
CID(context), GLenumToString(GLenumGroup::PixelMap, map), (uintptr_t)values);
2271
2272
if (context)
2273
{
2274
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2275
bool isCallValid =
2276
(context->skipValidation() || ValidateGetPixelMapusv(context, map, values));
2277
if (isCallValid)
2278
{
2279
context->getPixelMapusv(map, values);
2280
}
2281
ANGLE_CAPTURE(GetPixelMapusv, isCallValid, context, map, values);
2282
}
2283
else
2284
{
2285
GenerateContextLostErrorOnCurrentGlobalContext();
2286
}
2287
}
2288
2289
void GL_APIENTRY GL_GetPolygonStipple(GLubyte *mask)
2290
{
2291
Context *context = GetValidGlobalContext();
2292
EVENT(context, GLGetPolygonStipple, "context = %d, mask = 0x%016" PRIxPTR "", CID(context),
2293
(uintptr_t)mask);
2294
2295
if (context)
2296
{
2297
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2298
bool isCallValid = (context->skipValidation() || ValidateGetPolygonStipple(context, mask));
2299
if (isCallValid)
2300
{
2301
context->getPolygonStipple(mask);
2302
}
2303
ANGLE_CAPTURE(GetPolygonStipple, isCallValid, context, mask);
2304
}
2305
else
2306
{
2307
GenerateContextLostErrorOnCurrentGlobalContext();
2308
}
2309
}
2310
2311
const GLubyte *GL_APIENTRY GL_GetString(GLenum name)
2312
{
2313
Context *context = GetValidGlobalContext();
2314
EVENT(context, GLGetString, "context = %d, name = %s", CID(context),
2315
GLenumToString(GLenumGroup::StringName, name));
2316
2317
const GLubyte *returnValue;
2318
if (context)
2319
{
2320
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2321
bool isCallValid = (context->skipValidation() || ValidateGetString(context, name));
2322
if (isCallValid)
2323
{
2324
returnValue = context->getString(name);
2325
}
2326
else
2327
{
2328
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLGetString, const GLubyte *>();
2329
}
2330
ANGLE_CAPTURE(GetString, isCallValid, context, name, returnValue);
2331
}
2332
else
2333
{
2334
GenerateContextLostErrorOnCurrentGlobalContext();
2335
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLGetString, const GLubyte *>();
2336
}
2337
return returnValue;
2338
}
2339
2340
void GL_APIENTRY GL_GetTexEnvfv(GLenum target, GLenum pname, GLfloat *params)
2341
{
2342
Context *context = GetValidGlobalContext();
2343
EVENT(context, GLGetTexEnvfv,
2344
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
2345
GLenumToString(GLenumGroup::TextureEnvTarget, target),
2346
GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);
2347
2348
if (context)
2349
{
2350
TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);
2351
TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);
2352
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2353
bool isCallValid = (context->skipValidation() ||
2354
ValidateGetTexEnvfv(context, targetPacked, pnamePacked, params));
2355
if (isCallValid)
2356
{
2357
context->getTexEnvfv(targetPacked, pnamePacked, params);
2358
}
2359
ANGLE_CAPTURE(GetTexEnvfv, isCallValid, context, targetPacked, pnamePacked, params);
2360
}
2361
else
2362
{
2363
GenerateContextLostErrorOnCurrentGlobalContext();
2364
}
2365
}
2366
2367
void GL_APIENTRY GL_GetTexEnviv(GLenum target, GLenum pname, GLint *params)
2368
{
2369
Context *context = GetValidGlobalContext();
2370
EVENT(context, GLGetTexEnviv,
2371
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
2372
GLenumToString(GLenumGroup::TextureEnvTarget, target),
2373
GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);
2374
2375
if (context)
2376
{
2377
TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);
2378
TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);
2379
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2380
bool isCallValid = (context->skipValidation() ||
2381
ValidateGetTexEnviv(context, targetPacked, pnamePacked, params));
2382
if (isCallValid)
2383
{
2384
context->getTexEnviv(targetPacked, pnamePacked, params);
2385
}
2386
ANGLE_CAPTURE(GetTexEnviv, isCallValid, context, targetPacked, pnamePacked, params);
2387
}
2388
else
2389
{
2390
GenerateContextLostErrorOnCurrentGlobalContext();
2391
}
2392
}
2393
2394
void GL_APIENTRY GL_GetTexGendv(GLenum coord, GLenum pname, GLdouble *params)
2395
{
2396
Context *context = GetValidGlobalContext();
2397
EVENT(context, GLGetTexGendv,
2398
"context = %d, coord = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
2399
GLenumToString(GLenumGroup::TextureCoordName, coord),
2400
GLenumToString(GLenumGroup::TextureGenParameter, pname), (uintptr_t)params);
2401
2402
if (context)
2403
{
2404
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2405
bool isCallValid =
2406
(context->skipValidation() || ValidateGetTexGendv(context, coord, pname, params));
2407
if (isCallValid)
2408
{
2409
context->getTexGendv(coord, pname, params);
2410
}
2411
ANGLE_CAPTURE(GetTexGendv, isCallValid, context, coord, pname, params);
2412
}
2413
else
2414
{
2415
GenerateContextLostErrorOnCurrentGlobalContext();
2416
}
2417
}
2418
2419
void GL_APIENTRY GL_GetTexGenfv(GLenum coord, GLenum pname, GLfloat *params)
2420
{
2421
Context *context = GetValidGlobalContext();
2422
EVENT(context, GLGetTexGenfv,
2423
"context = %d, coord = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
2424
GLenumToString(GLenumGroup::TextureCoordName, coord),
2425
GLenumToString(GLenumGroup::TextureGenParameter, pname), (uintptr_t)params);
2426
2427
if (context)
2428
{
2429
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2430
bool isCallValid =
2431
(context->skipValidation() || ValidateGetTexGenfv(context, coord, pname, params));
2432
if (isCallValid)
2433
{
2434
context->getTexGenfv(coord, pname, params);
2435
}
2436
ANGLE_CAPTURE(GetTexGenfv, isCallValid, context, coord, pname, params);
2437
}
2438
else
2439
{
2440
GenerateContextLostErrorOnCurrentGlobalContext();
2441
}
2442
}
2443
2444
void GL_APIENTRY GL_GetTexGeniv(GLenum coord, GLenum pname, GLint *params)
2445
{
2446
Context *context = GetValidGlobalContext();
2447
EVENT(context, GLGetTexGeniv,
2448
"context = %d, coord = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
2449
GLenumToString(GLenumGroup::TextureCoordName, coord),
2450
GLenumToString(GLenumGroup::TextureGenParameter, pname), (uintptr_t)params);
2451
2452
if (context)
2453
{
2454
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2455
bool isCallValid =
2456
(context->skipValidation() || ValidateGetTexGeniv(context, coord, pname, params));
2457
if (isCallValid)
2458
{
2459
context->getTexGeniv(coord, pname, params);
2460
}
2461
ANGLE_CAPTURE(GetTexGeniv, isCallValid, context, coord, pname, params);
2462
}
2463
else
2464
{
2465
GenerateContextLostErrorOnCurrentGlobalContext();
2466
}
2467
}
2468
2469
void GL_APIENTRY
2470
GL_GetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels)
2471
{
2472
Context *context = GetValidGlobalContext();
2473
EVENT(context, GLGetTexImage,
2474
"context = %d, target = %s, level = %d, format = %s, type = %s, pixels = 0x%016" PRIxPTR
2475
"",
2476
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level,
2477
GLenumToString(GLenumGroup::PixelFormat, format),
2478
GLenumToString(GLenumGroup::PixelType, type), (uintptr_t)pixels);
2479
2480
if (context)
2481
{
2482
TextureTarget targetPacked = PackParam<TextureTarget>(target);
2483
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2484
bool isCallValid =
2485
(context->skipValidation() ||
2486
ValidateGetTexImage(context, targetPacked, level, format, type, pixels));
2487
if (isCallValid)
2488
{
2489
context->getTexImage(targetPacked, level, format, type, pixels);
2490
}
2491
ANGLE_CAPTURE(GetTexImage, isCallValid, context, targetPacked, level, format, type, pixels);
2492
}
2493
else
2494
{
2495
GenerateContextLostErrorOnCurrentGlobalContext();
2496
}
2497
}
2498
2499
void GL_APIENTRY GL_GetTexLevelParameterfv(GLenum target,
2500
GLint level,
2501
GLenum pname,
2502
GLfloat *params)
2503
{
2504
Context *context = GetValidGlobalContext();
2505
EVENT(context, GLGetTexLevelParameterfv,
2506
"context = %d, target = %s, level = %d, pname = %s, params = 0x%016" PRIxPTR "",
2507
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level,
2508
GLenumToString(GLenumGroup::GetTextureParameter, pname), (uintptr_t)params);
2509
2510
if (context)
2511
{
2512
TextureTarget targetPacked = PackParam<TextureTarget>(target);
2513
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2514
bool isCallValid =
2515
(context->skipValidation() ||
2516
ValidateGetTexLevelParameterfv(context, targetPacked, level, pname, params));
2517
if (isCallValid)
2518
{
2519
context->getTexLevelParameterfv(targetPacked, level, pname, params);
2520
}
2521
ANGLE_CAPTURE(GetTexLevelParameterfv, isCallValid, context, targetPacked, level, pname,
2522
params);
2523
}
2524
else
2525
{
2526
GenerateContextLostErrorOnCurrentGlobalContext();
2527
}
2528
}
2529
2530
void GL_APIENTRY GL_GetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
2531
{
2532
Context *context = GetValidGlobalContext();
2533
EVENT(context, GLGetTexLevelParameteriv,
2534
"context = %d, target = %s, level = %d, pname = %s, params = 0x%016" PRIxPTR "",
2535
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level,
2536
GLenumToString(GLenumGroup::GetTextureParameter, pname), (uintptr_t)params);
2537
2538
if (context)
2539
{
2540
TextureTarget targetPacked = PackParam<TextureTarget>(target);
2541
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2542
bool isCallValid =
2543
(context->skipValidation() ||
2544
ValidateGetTexLevelParameteriv(context, targetPacked, level, pname, params));
2545
if (isCallValid)
2546
{
2547
context->getTexLevelParameteriv(targetPacked, level, pname, params);
2548
}
2549
ANGLE_CAPTURE(GetTexLevelParameteriv, isCallValid, context, targetPacked, level, pname,
2550
params);
2551
}
2552
else
2553
{
2554
GenerateContextLostErrorOnCurrentGlobalContext();
2555
}
2556
}
2557
2558
void GL_APIENTRY GL_GetTexParameterfv(GLenum target, GLenum pname, GLfloat *params)
2559
{
2560
Context *context = GetValidGlobalContext();
2561
EVENT(context, GLGetTexParameterfv,
2562
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
2563
GLenumToString(GLenumGroup::TextureTarget, target),
2564
GLenumToString(GLenumGroup::GetTextureParameter, pname), (uintptr_t)params);
2565
2566
if (context)
2567
{
2568
TextureType targetPacked = PackParam<TextureType>(target);
2569
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2570
bool isCallValid = (context->skipValidation() ||
2571
ValidateGetTexParameterfv(context, targetPacked, pname, params));
2572
if (isCallValid)
2573
{
2574
context->getTexParameterfv(targetPacked, pname, params);
2575
}
2576
ANGLE_CAPTURE(GetTexParameterfv, isCallValid, context, targetPacked, pname, params);
2577
}
2578
else
2579
{
2580
GenerateContextLostErrorOnCurrentGlobalContext();
2581
}
2582
}
2583
2584
void GL_APIENTRY GL_GetTexParameteriv(GLenum target, GLenum pname, GLint *params)
2585
{
2586
Context *context = GetValidGlobalContext();
2587
EVENT(context, GLGetTexParameteriv,
2588
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
2589
GLenumToString(GLenumGroup::TextureTarget, target),
2590
GLenumToString(GLenumGroup::GetTextureParameter, pname), (uintptr_t)params);
2591
2592
if (context)
2593
{
2594
TextureType targetPacked = PackParam<TextureType>(target);
2595
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2596
bool isCallValid = (context->skipValidation() ||
2597
ValidateGetTexParameteriv(context, targetPacked, pname, params));
2598
if (isCallValid)
2599
{
2600
context->getTexParameteriv(targetPacked, pname, params);
2601
}
2602
ANGLE_CAPTURE(GetTexParameteriv, isCallValid, context, targetPacked, pname, params);
2603
}
2604
else
2605
{
2606
GenerateContextLostErrorOnCurrentGlobalContext();
2607
}
2608
}
2609
2610
void GL_APIENTRY GL_Hint(GLenum target, GLenum mode)
2611
{
2612
Context *context = GetValidGlobalContext();
2613
EVENT(context, GLHint, "context = %d, target = %s, mode = %s", CID(context),
2614
GLenumToString(GLenumGroup::HintTarget, target),
2615
GLenumToString(GLenumGroup::HintMode, mode));
2616
2617
if (context)
2618
{
2619
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2620
bool isCallValid = (context->skipValidation() || ValidateHint(context, target, mode));
2621
if (isCallValid)
2622
{
2623
context->hint(target, mode);
2624
}
2625
ANGLE_CAPTURE(Hint, isCallValid, context, target, mode);
2626
}
2627
else
2628
{
2629
GenerateContextLostErrorOnCurrentGlobalContext();
2630
}
2631
}
2632
2633
void GL_APIENTRY GL_IndexMask(GLuint mask)
2634
{
2635
Context *context = GetValidGlobalContext();
2636
EVENT(context, GLIndexMask, "context = %d, mask = %u", CID(context), mask);
2637
2638
if (context)
2639
{
2640
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2641
bool isCallValid = (context->skipValidation() || ValidateIndexMask(context, mask));
2642
if (isCallValid)
2643
{
2644
context->indexMask(mask);
2645
}
2646
ANGLE_CAPTURE(IndexMask, isCallValid, context, mask);
2647
}
2648
else
2649
{
2650
GenerateContextLostErrorOnCurrentGlobalContext();
2651
}
2652
}
2653
2654
void GL_APIENTRY GL_Indexd(GLdouble c)
2655
{
2656
Context *context = GetValidGlobalContext();
2657
EVENT(context, GLIndexd, "context = %d, c = %f", CID(context), c);
2658
2659
if (context)
2660
{
2661
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2662
bool isCallValid = (context->skipValidation() || ValidateIndexd(context, c));
2663
if (isCallValid)
2664
{
2665
context->indexd(c);
2666
}
2667
ANGLE_CAPTURE(Indexd, isCallValid, context, c);
2668
}
2669
else
2670
{
2671
GenerateContextLostErrorOnCurrentGlobalContext();
2672
}
2673
}
2674
2675
void GL_APIENTRY GL_Indexdv(const GLdouble *c)
2676
{
2677
Context *context = GetValidGlobalContext();
2678
EVENT(context, GLIndexdv, "context = %d, c = 0x%016" PRIxPTR "", CID(context), (uintptr_t)c);
2679
2680
if (context)
2681
{
2682
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2683
bool isCallValid = (context->skipValidation() || ValidateIndexdv(context, c));
2684
if (isCallValid)
2685
{
2686
context->indexdv(c);
2687
}
2688
ANGLE_CAPTURE(Indexdv, isCallValid, context, c);
2689
}
2690
else
2691
{
2692
GenerateContextLostErrorOnCurrentGlobalContext();
2693
}
2694
}
2695
2696
void GL_APIENTRY GL_Indexf(GLfloat c)
2697
{
2698
Context *context = GetValidGlobalContext();
2699
EVENT(context, GLIndexf, "context = %d, c = %f", CID(context), c);
2700
2701
if (context)
2702
{
2703
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2704
bool isCallValid = (context->skipValidation() || ValidateIndexf(context, c));
2705
if (isCallValid)
2706
{
2707
context->indexf(c);
2708
}
2709
ANGLE_CAPTURE(Indexf, isCallValid, context, c);
2710
}
2711
else
2712
{
2713
GenerateContextLostErrorOnCurrentGlobalContext();
2714
}
2715
}
2716
2717
void GL_APIENTRY GL_Indexfv(const GLfloat *c)
2718
{
2719
Context *context = GetValidGlobalContext();
2720
EVENT(context, GLIndexfv, "context = %d, c = 0x%016" PRIxPTR "", CID(context), (uintptr_t)c);
2721
2722
if (context)
2723
{
2724
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2725
bool isCallValid = (context->skipValidation() || ValidateIndexfv(context, c));
2726
if (isCallValid)
2727
{
2728
context->indexfv(c);
2729
}
2730
ANGLE_CAPTURE(Indexfv, isCallValid, context, c);
2731
}
2732
else
2733
{
2734
GenerateContextLostErrorOnCurrentGlobalContext();
2735
}
2736
}
2737
2738
void GL_APIENTRY GL_Indexi(GLint c)
2739
{
2740
Context *context = GetValidGlobalContext();
2741
EVENT(context, GLIndexi, "context = %d, c = %d", CID(context), c);
2742
2743
if (context)
2744
{
2745
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2746
bool isCallValid = (context->skipValidation() || ValidateIndexi(context, c));
2747
if (isCallValid)
2748
{
2749
context->indexi(c);
2750
}
2751
ANGLE_CAPTURE(Indexi, isCallValid, context, c);
2752
}
2753
else
2754
{
2755
GenerateContextLostErrorOnCurrentGlobalContext();
2756
}
2757
}
2758
2759
void GL_APIENTRY GL_Indexiv(const GLint *c)
2760
{
2761
Context *context = GetValidGlobalContext();
2762
EVENT(context, GLIndexiv, "context = %d, c = 0x%016" PRIxPTR "", CID(context), (uintptr_t)c);
2763
2764
if (context)
2765
{
2766
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2767
bool isCallValid = (context->skipValidation() || ValidateIndexiv(context, c));
2768
if (isCallValid)
2769
{
2770
context->indexiv(c);
2771
}
2772
ANGLE_CAPTURE(Indexiv, isCallValid, context, c);
2773
}
2774
else
2775
{
2776
GenerateContextLostErrorOnCurrentGlobalContext();
2777
}
2778
}
2779
2780
void GL_APIENTRY GL_Indexs(GLshort c)
2781
{
2782
Context *context = GetValidGlobalContext();
2783
EVENT(context, GLIndexs, "context = %d, c = %d", CID(context), c);
2784
2785
if (context)
2786
{
2787
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2788
bool isCallValid = (context->skipValidation() || ValidateIndexs(context, c));
2789
if (isCallValid)
2790
{
2791
context->indexs(c);
2792
}
2793
ANGLE_CAPTURE(Indexs, isCallValid, context, c);
2794
}
2795
else
2796
{
2797
GenerateContextLostErrorOnCurrentGlobalContext();
2798
}
2799
}
2800
2801
void GL_APIENTRY GL_Indexsv(const GLshort *c)
2802
{
2803
Context *context = GetValidGlobalContext();
2804
EVENT(context, GLIndexsv, "context = %d, c = 0x%016" PRIxPTR "", CID(context), (uintptr_t)c);
2805
2806
if (context)
2807
{
2808
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2809
bool isCallValid = (context->skipValidation() || ValidateIndexsv(context, c));
2810
if (isCallValid)
2811
{
2812
context->indexsv(c);
2813
}
2814
ANGLE_CAPTURE(Indexsv, isCallValid, context, c);
2815
}
2816
else
2817
{
2818
GenerateContextLostErrorOnCurrentGlobalContext();
2819
}
2820
}
2821
2822
void GL_APIENTRY GL_InitNames()
2823
{
2824
Context *context = GetValidGlobalContext();
2825
EVENT(context, GLInitNames, "context = %d", CID(context));
2826
2827
if (context)
2828
{
2829
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2830
bool isCallValid = (context->skipValidation() || ValidateInitNames(context));
2831
if (isCallValid)
2832
{
2833
context->initNames();
2834
}
2835
ANGLE_CAPTURE(InitNames, isCallValid, context);
2836
}
2837
else
2838
{
2839
GenerateContextLostErrorOnCurrentGlobalContext();
2840
}
2841
}
2842
2843
GLboolean GL_APIENTRY GL_IsEnabled(GLenum cap)
2844
{
2845
Context *context = GetValidGlobalContext();
2846
EVENT(context, GLIsEnabled, "context = %d, cap = %s", CID(context),
2847
GLenumToString(GLenumGroup::EnableCap, cap));
2848
2849
GLboolean returnValue;
2850
if (context)
2851
{
2852
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2853
bool isCallValid = (context->skipValidation() || ValidateIsEnabled(context, cap));
2854
if (isCallValid)
2855
{
2856
returnValue = context->isEnabled(cap);
2857
}
2858
else
2859
{
2860
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsEnabled, GLboolean>();
2861
}
2862
ANGLE_CAPTURE(IsEnabled, isCallValid, context, cap, returnValue);
2863
}
2864
else
2865
{
2866
GenerateContextLostErrorOnCurrentGlobalContext();
2867
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsEnabled, GLboolean>();
2868
}
2869
return returnValue;
2870
}
2871
2872
GLboolean GL_APIENTRY GL_IsList(GLuint list)
2873
{
2874
Context *context = GetValidGlobalContext();
2875
EVENT(context, GLIsList, "context = %d, list = %u", CID(context), list);
2876
2877
GLboolean returnValue;
2878
if (context)
2879
{
2880
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2881
bool isCallValid = (context->skipValidation() || ValidateIsList(context, list));
2882
if (isCallValid)
2883
{
2884
returnValue = context->isList(list);
2885
}
2886
else
2887
{
2888
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsList, GLboolean>();
2889
}
2890
ANGLE_CAPTURE(IsList, isCallValid, context, list, returnValue);
2891
}
2892
else
2893
{
2894
GenerateContextLostErrorOnCurrentGlobalContext();
2895
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsList, GLboolean>();
2896
}
2897
return returnValue;
2898
}
2899
2900
void GL_APIENTRY GL_LightModelf(GLenum pname, GLfloat param)
2901
{
2902
Context *context = GetValidGlobalContext();
2903
EVENT(context, GLLightModelf, "context = %d, pname = %s, param = %f", CID(context),
2904
GLenumToString(GLenumGroup::LightModelParameter, pname), param);
2905
2906
if (context)
2907
{
2908
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2909
bool isCallValid =
2910
(context->skipValidation() || ValidateLightModelf(context, pname, param));
2911
if (isCallValid)
2912
{
2913
context->lightModelf(pname, param);
2914
}
2915
ANGLE_CAPTURE(LightModelf, isCallValid, context, pname, param);
2916
}
2917
else
2918
{
2919
GenerateContextLostErrorOnCurrentGlobalContext();
2920
}
2921
}
2922
2923
void GL_APIENTRY GL_LightModelfv(GLenum pname, const GLfloat *params)
2924
{
2925
Context *context = GetValidGlobalContext();
2926
EVENT(context, GLLightModelfv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",
2927
CID(context), GLenumToString(GLenumGroup::LightModelParameter, pname), (uintptr_t)params);
2928
2929
if (context)
2930
{
2931
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2932
bool isCallValid =
2933
(context->skipValidation() || ValidateLightModelfv(context, pname, params));
2934
if (isCallValid)
2935
{
2936
context->lightModelfv(pname, params);
2937
}
2938
ANGLE_CAPTURE(LightModelfv, isCallValid, context, pname, params);
2939
}
2940
else
2941
{
2942
GenerateContextLostErrorOnCurrentGlobalContext();
2943
}
2944
}
2945
2946
void GL_APIENTRY GL_LightModeli(GLenum pname, GLint param)
2947
{
2948
Context *context = GetValidGlobalContext();
2949
EVENT(context, GLLightModeli, "context = %d, pname = %s, param = %d", CID(context),
2950
GLenumToString(GLenumGroup::LightModelParameter, pname), param);
2951
2952
if (context)
2953
{
2954
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2955
bool isCallValid =
2956
(context->skipValidation() || ValidateLightModeli(context, pname, param));
2957
if (isCallValid)
2958
{
2959
context->lightModeli(pname, param);
2960
}
2961
ANGLE_CAPTURE(LightModeli, isCallValid, context, pname, param);
2962
}
2963
else
2964
{
2965
GenerateContextLostErrorOnCurrentGlobalContext();
2966
}
2967
}
2968
2969
void GL_APIENTRY GL_LightModeliv(GLenum pname, const GLint *params)
2970
{
2971
Context *context = GetValidGlobalContext();
2972
EVENT(context, GLLightModeliv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",
2973
CID(context), GLenumToString(GLenumGroup::LightModelParameter, pname), (uintptr_t)params);
2974
2975
if (context)
2976
{
2977
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
2978
bool isCallValid =
2979
(context->skipValidation() || ValidateLightModeliv(context, pname, params));
2980
if (isCallValid)
2981
{
2982
context->lightModeliv(pname, params);
2983
}
2984
ANGLE_CAPTURE(LightModeliv, isCallValid, context, pname, params);
2985
}
2986
else
2987
{
2988
GenerateContextLostErrorOnCurrentGlobalContext();
2989
}
2990
}
2991
2992
void GL_APIENTRY GL_Lightf(GLenum light, GLenum pname, GLfloat param)
2993
{
2994
Context *context = GetValidGlobalContext();
2995
EVENT(context, GLLightf, "context = %d, light = %s, pname = %s, param = %f", CID(context),
2996
GLenumToString(GLenumGroup::LightName, light),
2997
GLenumToString(GLenumGroup::LightParameter, pname), param);
2998
2999
if (context)
3000
{
3001
LightParameter pnamePacked = PackParam<LightParameter>(pname);
3002
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3003
bool isCallValid =
3004
(context->skipValidation() || ValidateLightf(context, light, pnamePacked, param));
3005
if (isCallValid)
3006
{
3007
context->lightf(light, pnamePacked, param);
3008
}
3009
ANGLE_CAPTURE(Lightf, isCallValid, context, light, pnamePacked, param);
3010
}
3011
else
3012
{
3013
GenerateContextLostErrorOnCurrentGlobalContext();
3014
}
3015
}
3016
3017
void GL_APIENTRY GL_Lightfv(GLenum light, GLenum pname, const GLfloat *params)
3018
{
3019
Context *context = GetValidGlobalContext();
3020
EVENT(context, GLLightfv, "context = %d, light = %s, pname = %s, params = 0x%016" PRIxPTR "",
3021
CID(context), GLenumToString(GLenumGroup::LightName, light),
3022
GLenumToString(GLenumGroup::LightParameter, pname), (uintptr_t)params);
3023
3024
if (context)
3025
{
3026
LightParameter pnamePacked = PackParam<LightParameter>(pname);
3027
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3028
bool isCallValid =
3029
(context->skipValidation() || ValidateLightfv(context, light, pnamePacked, params));
3030
if (isCallValid)
3031
{
3032
context->lightfv(light, pnamePacked, params);
3033
}
3034
ANGLE_CAPTURE(Lightfv, isCallValid, context, light, pnamePacked, params);
3035
}
3036
else
3037
{
3038
GenerateContextLostErrorOnCurrentGlobalContext();
3039
}
3040
}
3041
3042
void GL_APIENTRY GL_Lighti(GLenum light, GLenum pname, GLint param)
3043
{
3044
Context *context = GetValidGlobalContext();
3045
EVENT(context, GLLighti, "context = %d, light = %s, pname = %s, param = %d", CID(context),
3046
GLenumToString(GLenumGroup::LightName, light),
3047
GLenumToString(GLenumGroup::LightParameter, pname), param);
3048
3049
if (context)
3050
{
3051
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3052
bool isCallValid =
3053
(context->skipValidation() || ValidateLighti(context, light, pname, param));
3054
if (isCallValid)
3055
{
3056
context->lighti(light, pname, param);
3057
}
3058
ANGLE_CAPTURE(Lighti, isCallValid, context, light, pname, param);
3059
}
3060
else
3061
{
3062
GenerateContextLostErrorOnCurrentGlobalContext();
3063
}
3064
}
3065
3066
void GL_APIENTRY GL_Lightiv(GLenum light, GLenum pname, const GLint *params)
3067
{
3068
Context *context = GetValidGlobalContext();
3069
EVENT(context, GLLightiv, "context = %d, light = %s, pname = %s, params = 0x%016" PRIxPTR "",
3070
CID(context), GLenumToString(GLenumGroup::LightName, light),
3071
GLenumToString(GLenumGroup::LightParameter, pname), (uintptr_t)params);
3072
3073
if (context)
3074
{
3075
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3076
bool isCallValid =
3077
(context->skipValidation() || ValidateLightiv(context, light, pname, params));
3078
if (isCallValid)
3079
{
3080
context->lightiv(light, pname, params);
3081
}
3082
ANGLE_CAPTURE(Lightiv, isCallValid, context, light, pname, params);
3083
}
3084
else
3085
{
3086
GenerateContextLostErrorOnCurrentGlobalContext();
3087
}
3088
}
3089
3090
void GL_APIENTRY GL_LineStipple(GLint factor, GLushort pattern)
3091
{
3092
Context *context = GetValidGlobalContext();
3093
EVENT(context, GLLineStipple, "context = %d, factor = %d, pattern = %u", CID(context), factor,
3094
pattern);
3095
3096
if (context)
3097
{
3098
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3099
bool isCallValid =
3100
(context->skipValidation() || ValidateLineStipple(context, factor, pattern));
3101
if (isCallValid)
3102
{
3103
context->lineStipple(factor, pattern);
3104
}
3105
ANGLE_CAPTURE(LineStipple, isCallValid, context, factor, pattern);
3106
}
3107
else
3108
{
3109
GenerateContextLostErrorOnCurrentGlobalContext();
3110
}
3111
}
3112
3113
void GL_APIENTRY GL_LineWidth(GLfloat width)
3114
{
3115
Context *context = GetValidGlobalContext();
3116
EVENT(context, GLLineWidth, "context = %d, width = %f", CID(context), width);
3117
3118
if (context)
3119
{
3120
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3121
bool isCallValid = (context->skipValidation() || ValidateLineWidth(context, width));
3122
if (isCallValid)
3123
{
3124
context->lineWidth(width);
3125
}
3126
ANGLE_CAPTURE(LineWidth, isCallValid, context, width);
3127
}
3128
else
3129
{
3130
GenerateContextLostErrorOnCurrentGlobalContext();
3131
}
3132
}
3133
3134
void GL_APIENTRY GL_ListBase(GLuint base)
3135
{
3136
Context *context = GetValidGlobalContext();
3137
EVENT(context, GLListBase, "context = %d, base = %u", CID(context), base);
3138
3139
if (context)
3140
{
3141
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3142
bool isCallValid = (context->skipValidation() || ValidateListBase(context, base));
3143
if (isCallValid)
3144
{
3145
context->listBase(base);
3146
}
3147
ANGLE_CAPTURE(ListBase, isCallValid, context, base);
3148
}
3149
else
3150
{
3151
GenerateContextLostErrorOnCurrentGlobalContext();
3152
}
3153
}
3154
3155
void GL_APIENTRY GL_LoadIdentity()
3156
{
3157
Context *context = GetValidGlobalContext();
3158
EVENT(context, GLLoadIdentity, "context = %d", CID(context));
3159
3160
if (context)
3161
{
3162
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3163
bool isCallValid = (context->skipValidation() || ValidateLoadIdentity(context));
3164
if (isCallValid)
3165
{
3166
context->loadIdentity();
3167
}
3168
ANGLE_CAPTURE(LoadIdentity, isCallValid, context);
3169
}
3170
else
3171
{
3172
GenerateContextLostErrorOnCurrentGlobalContext();
3173
}
3174
}
3175
3176
void GL_APIENTRY GL_LoadMatrixd(const GLdouble *m)
3177
{
3178
Context *context = GetValidGlobalContext();
3179
EVENT(context, GLLoadMatrixd, "context = %d, m = 0x%016" PRIxPTR "", CID(context),
3180
(uintptr_t)m);
3181
3182
if (context)
3183
{
3184
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3185
bool isCallValid = (context->skipValidation() || ValidateLoadMatrixd(context, m));
3186
if (isCallValid)
3187
{
3188
context->loadMatrixd(m);
3189
}
3190
ANGLE_CAPTURE(LoadMatrixd, isCallValid, context, m);
3191
}
3192
else
3193
{
3194
GenerateContextLostErrorOnCurrentGlobalContext();
3195
}
3196
}
3197
3198
void GL_APIENTRY GL_LoadMatrixf(const GLfloat *m)
3199
{
3200
Context *context = GetValidGlobalContext();
3201
EVENT(context, GLLoadMatrixf, "context = %d, m = 0x%016" PRIxPTR "", CID(context),
3202
(uintptr_t)m);
3203
3204
if (context)
3205
{
3206
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3207
bool isCallValid = (context->skipValidation() || ValidateLoadMatrixf(context, m));
3208
if (isCallValid)
3209
{
3210
context->loadMatrixf(m);
3211
}
3212
ANGLE_CAPTURE(LoadMatrixf, isCallValid, context, m);
3213
}
3214
else
3215
{
3216
GenerateContextLostErrorOnCurrentGlobalContext();
3217
}
3218
}
3219
3220
void GL_APIENTRY GL_LoadName(GLuint name)
3221
{
3222
Context *context = GetValidGlobalContext();
3223
EVENT(context, GLLoadName, "context = %d, name = %u", CID(context), name);
3224
3225
if (context)
3226
{
3227
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3228
bool isCallValid = (context->skipValidation() || ValidateLoadName(context, name));
3229
if (isCallValid)
3230
{
3231
context->loadName(name);
3232
}
3233
ANGLE_CAPTURE(LoadName, isCallValid, context, name);
3234
}
3235
else
3236
{
3237
GenerateContextLostErrorOnCurrentGlobalContext();
3238
}
3239
}
3240
3241
void GL_APIENTRY GL_LogicOp(GLenum opcode)
3242
{
3243
Context *context = GetValidGlobalContext();
3244
EVENT(context, GLLogicOp, "context = %d, opcode = %s", CID(context),
3245
GLenumToString(GLenumGroup::LogicOp, opcode));
3246
3247
if (context)
3248
{
3249
LogicalOperation opcodePacked = PackParam<LogicalOperation>(opcode);
3250
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3251
bool isCallValid = (context->skipValidation() || ValidateLogicOp(context, opcodePacked));
3252
if (isCallValid)
3253
{
3254
context->logicOp(opcodePacked);
3255
}
3256
ANGLE_CAPTURE(LogicOp, isCallValid, context, opcodePacked);
3257
}
3258
else
3259
{
3260
GenerateContextLostErrorOnCurrentGlobalContext();
3261
}
3262
}
3263
3264
void GL_APIENTRY
3265
GL_Map1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
3266
{
3267
Context *context = GetValidGlobalContext();
3268
EVENT(context, GLMap1d,
3269
"context = %d, target = %s, u1 = %f, u2 = %f, stride = %d, order = %d, points = "
3270
"0x%016" PRIxPTR "",
3271
CID(context), GLenumToString(GLenumGroup::MapTarget, target), u1, u2, stride, order,
3272
(uintptr_t)points);
3273
3274
if (context)
3275
{
3276
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3277
bool isCallValid = (context->skipValidation() ||
3278
ValidateMap1d(context, target, u1, u2, stride, order, points));
3279
if (isCallValid)
3280
{
3281
context->map1d(target, u1, u2, stride, order, points);
3282
}
3283
ANGLE_CAPTURE(Map1d, isCallValid, context, target, u1, u2, stride, order, points);
3284
}
3285
else
3286
{
3287
GenerateContextLostErrorOnCurrentGlobalContext();
3288
}
3289
}
3290
3291
void GL_APIENTRY
3292
GL_Map1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
3293
{
3294
Context *context = GetValidGlobalContext();
3295
EVENT(context, GLMap1f,
3296
"context = %d, target = %s, u1 = %f, u2 = %f, stride = %d, order = %d, points = "
3297
"0x%016" PRIxPTR "",
3298
CID(context), GLenumToString(GLenumGroup::MapTarget, target), u1, u2, stride, order,
3299
(uintptr_t)points);
3300
3301
if (context)
3302
{
3303
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3304
bool isCallValid = (context->skipValidation() ||
3305
ValidateMap1f(context, target, u1, u2, stride, order, points));
3306
if (isCallValid)
3307
{
3308
context->map1f(target, u1, u2, stride, order, points);
3309
}
3310
ANGLE_CAPTURE(Map1f, isCallValid, context, target, u1, u2, stride, order, points);
3311
}
3312
else
3313
{
3314
GenerateContextLostErrorOnCurrentGlobalContext();
3315
}
3316
}
3317
3318
void GL_APIENTRY GL_Map2d(GLenum target,
3319
GLdouble u1,
3320
GLdouble u2,
3321
GLint ustride,
3322
GLint uorder,
3323
GLdouble v1,
3324
GLdouble v2,
3325
GLint vstride,
3326
GLint vorder,
3327
const GLdouble *points)
3328
{
3329
Context *context = GetValidGlobalContext();
3330
EVENT(context, GLMap2d,
3331
"context = %d, target = %s, u1 = %f, u2 = %f, ustride = %d, uorder = %d, v1 = %f, v2 = "
3332
"%f, vstride = %d, vorder = %d, points = 0x%016" PRIxPTR "",
3333
CID(context), GLenumToString(GLenumGroup::MapTarget, target), u1, u2, ustride, uorder, v1,
3334
v2, vstride, vorder, (uintptr_t)points);
3335
3336
if (context)
3337
{
3338
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3339
bool isCallValid =
3340
(context->skipValidation() || ValidateMap2d(context, target, u1, u2, ustride, uorder,
3341
v1, v2, vstride, vorder, points));
3342
if (isCallValid)
3343
{
3344
context->map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
3345
}
3346
ANGLE_CAPTURE(Map2d, isCallValid, context, target, u1, u2, ustride, uorder, v1, v2, vstride,
3347
vorder, points);
3348
}
3349
else
3350
{
3351
GenerateContextLostErrorOnCurrentGlobalContext();
3352
}
3353
}
3354
3355
void GL_APIENTRY GL_Map2f(GLenum target,
3356
GLfloat u1,
3357
GLfloat u2,
3358
GLint ustride,
3359
GLint uorder,
3360
GLfloat v1,
3361
GLfloat v2,
3362
GLint vstride,
3363
GLint vorder,
3364
const GLfloat *points)
3365
{
3366
Context *context = GetValidGlobalContext();
3367
EVENT(context, GLMap2f,
3368
"context = %d, target = %s, u1 = %f, u2 = %f, ustride = %d, uorder = %d, v1 = %f, v2 = "
3369
"%f, vstride = %d, vorder = %d, points = 0x%016" PRIxPTR "",
3370
CID(context), GLenumToString(GLenumGroup::MapTarget, target), u1, u2, ustride, uorder, v1,
3371
v2, vstride, vorder, (uintptr_t)points);
3372
3373
if (context)
3374
{
3375
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3376
bool isCallValid =
3377
(context->skipValidation() || ValidateMap2f(context, target, u1, u2, ustride, uorder,
3378
v1, v2, vstride, vorder, points));
3379
if (isCallValid)
3380
{
3381
context->map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
3382
}
3383
ANGLE_CAPTURE(Map2f, isCallValid, context, target, u1, u2, ustride, uorder, v1, v2, vstride,
3384
vorder, points);
3385
}
3386
else
3387
{
3388
GenerateContextLostErrorOnCurrentGlobalContext();
3389
}
3390
}
3391
3392
void GL_APIENTRY GL_MapGrid1d(GLint un, GLdouble u1, GLdouble u2)
3393
{
3394
Context *context = GetValidGlobalContext();
3395
EVENT(context, GLMapGrid1d, "context = %d, un = %d, u1 = %f, u2 = %f", CID(context), un, u1,
3396
u2);
3397
3398
if (context)
3399
{
3400
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3401
bool isCallValid = (context->skipValidation() || ValidateMapGrid1d(context, un, u1, u2));
3402
if (isCallValid)
3403
{
3404
context->mapGrid1d(un, u1, u2);
3405
}
3406
ANGLE_CAPTURE(MapGrid1d, isCallValid, context, un, u1, u2);
3407
}
3408
else
3409
{
3410
GenerateContextLostErrorOnCurrentGlobalContext();
3411
}
3412
}
3413
3414
void GL_APIENTRY GL_MapGrid1f(GLint un, GLfloat u1, GLfloat u2)
3415
{
3416
Context *context = GetValidGlobalContext();
3417
EVENT(context, GLMapGrid1f, "context = %d, un = %d, u1 = %f, u2 = %f", CID(context), un, u1,
3418
u2);
3419
3420
if (context)
3421
{
3422
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3423
bool isCallValid = (context->skipValidation() || ValidateMapGrid1f(context, un, u1, u2));
3424
if (isCallValid)
3425
{
3426
context->mapGrid1f(un, u1, u2);
3427
}
3428
ANGLE_CAPTURE(MapGrid1f, isCallValid, context, un, u1, u2);
3429
}
3430
else
3431
{
3432
GenerateContextLostErrorOnCurrentGlobalContext();
3433
}
3434
}
3435
3436
void GL_APIENTRY
3437
GL_MapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
3438
{
3439
Context *context = GetValidGlobalContext();
3440
EVENT(context, GLMapGrid2d,
3441
"context = %d, un = %d, u1 = %f, u2 = %f, vn = %d, v1 = %f, v2 = %f", CID(context), un,
3442
u1, u2, vn, v1, v2);
3443
3444
if (context)
3445
{
3446
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3447
bool isCallValid =
3448
(context->skipValidation() || ValidateMapGrid2d(context, un, u1, u2, vn, v1, v2));
3449
if (isCallValid)
3450
{
3451
context->mapGrid2d(un, u1, u2, vn, v1, v2);
3452
}
3453
ANGLE_CAPTURE(MapGrid2d, isCallValid, context, un, u1, u2, vn, v1, v2);
3454
}
3455
else
3456
{
3457
GenerateContextLostErrorOnCurrentGlobalContext();
3458
}
3459
}
3460
3461
void GL_APIENTRY GL_MapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
3462
{
3463
Context *context = GetValidGlobalContext();
3464
EVENT(context, GLMapGrid2f,
3465
"context = %d, un = %d, u1 = %f, u2 = %f, vn = %d, v1 = %f, v2 = %f", CID(context), un,
3466
u1, u2, vn, v1, v2);
3467
3468
if (context)
3469
{
3470
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3471
bool isCallValid =
3472
(context->skipValidation() || ValidateMapGrid2f(context, un, u1, u2, vn, v1, v2));
3473
if (isCallValid)
3474
{
3475
context->mapGrid2f(un, u1, u2, vn, v1, v2);
3476
}
3477
ANGLE_CAPTURE(MapGrid2f, isCallValid, context, un, u1, u2, vn, v1, v2);
3478
}
3479
else
3480
{
3481
GenerateContextLostErrorOnCurrentGlobalContext();
3482
}
3483
}
3484
3485
void GL_APIENTRY GL_Materialf(GLenum face, GLenum pname, GLfloat param)
3486
{
3487
Context *context = GetValidGlobalContext();
3488
EVENT(context, GLMaterialf, "context = %d, face = %s, pname = %s, param = %f", CID(context),
3489
GLenumToString(GLenumGroup::MaterialFace, face),
3490
GLenumToString(GLenumGroup::MaterialParameter, pname), param);
3491
3492
if (context)
3493
{
3494
MaterialParameter pnamePacked = PackParam<MaterialParameter>(pname);
3495
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3496
bool isCallValid =
3497
(context->skipValidation() || ValidateMaterialf(context, face, pnamePacked, param));
3498
if (isCallValid)
3499
{
3500
context->materialf(face, pnamePacked, param);
3501
}
3502
ANGLE_CAPTURE(Materialf, isCallValid, context, face, pnamePacked, param);
3503
}
3504
else
3505
{
3506
GenerateContextLostErrorOnCurrentGlobalContext();
3507
}
3508
}
3509
3510
void GL_APIENTRY GL_Materialfv(GLenum face, GLenum pname, const GLfloat *params)
3511
{
3512
Context *context = GetValidGlobalContext();
3513
EVENT(context, GLMaterialfv, "context = %d, face = %s, pname = %s, params = 0x%016" PRIxPTR "",
3514
CID(context), GLenumToString(GLenumGroup::MaterialFace, face),
3515
GLenumToString(GLenumGroup::MaterialParameter, pname), (uintptr_t)params);
3516
3517
if (context)
3518
{
3519
MaterialParameter pnamePacked = PackParam<MaterialParameter>(pname);
3520
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3521
bool isCallValid =
3522
(context->skipValidation() || ValidateMaterialfv(context, face, pnamePacked, params));
3523
if (isCallValid)
3524
{
3525
context->materialfv(face, pnamePacked, params);
3526
}
3527
ANGLE_CAPTURE(Materialfv, isCallValid, context, face, pnamePacked, params);
3528
}
3529
else
3530
{
3531
GenerateContextLostErrorOnCurrentGlobalContext();
3532
}
3533
}
3534
3535
void GL_APIENTRY GL_Materiali(GLenum face, GLenum pname, GLint param)
3536
{
3537
Context *context = GetValidGlobalContext();
3538
EVENT(context, GLMateriali, "context = %d, face = %s, pname = %s, param = %d", CID(context),
3539
GLenumToString(GLenumGroup::MaterialFace, face),
3540
GLenumToString(GLenumGroup::MaterialParameter, pname), param);
3541
3542
if (context)
3543
{
3544
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3545
bool isCallValid =
3546
(context->skipValidation() || ValidateMateriali(context, face, pname, param));
3547
if (isCallValid)
3548
{
3549
context->materiali(face, pname, param);
3550
}
3551
ANGLE_CAPTURE(Materiali, isCallValid, context, face, pname, param);
3552
}
3553
else
3554
{
3555
GenerateContextLostErrorOnCurrentGlobalContext();
3556
}
3557
}
3558
3559
void GL_APIENTRY GL_Materialiv(GLenum face, GLenum pname, const GLint *params)
3560
{
3561
Context *context = GetValidGlobalContext();
3562
EVENT(context, GLMaterialiv, "context = %d, face = %s, pname = %s, params = 0x%016" PRIxPTR "",
3563
CID(context), GLenumToString(GLenumGroup::MaterialFace, face),
3564
GLenumToString(GLenumGroup::MaterialParameter, pname), (uintptr_t)params);
3565
3566
if (context)
3567
{
3568
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3569
bool isCallValid =
3570
(context->skipValidation() || ValidateMaterialiv(context, face, pname, params));
3571
if (isCallValid)
3572
{
3573
context->materialiv(face, pname, params);
3574
}
3575
ANGLE_CAPTURE(Materialiv, isCallValid, context, face, pname, params);
3576
}
3577
else
3578
{
3579
GenerateContextLostErrorOnCurrentGlobalContext();
3580
}
3581
}
3582
3583
void GL_APIENTRY GL_MatrixMode(GLenum mode)
3584
{
3585
Context *context = GetValidGlobalContext();
3586
EVENT(context, GLMatrixMode, "context = %d, mode = %s", CID(context),
3587
GLenumToString(GLenumGroup::MatrixMode, mode));
3588
3589
if (context)
3590
{
3591
MatrixType modePacked = PackParam<MatrixType>(mode);
3592
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3593
bool isCallValid = (context->skipValidation() || ValidateMatrixMode(context, modePacked));
3594
if (isCallValid)
3595
{
3596
context->matrixMode(modePacked);
3597
}
3598
ANGLE_CAPTURE(MatrixMode, isCallValid, context, modePacked);
3599
}
3600
else
3601
{
3602
GenerateContextLostErrorOnCurrentGlobalContext();
3603
}
3604
}
3605
3606
void GL_APIENTRY GL_MultMatrixd(const GLdouble *m)
3607
{
3608
Context *context = GetValidGlobalContext();
3609
EVENT(context, GLMultMatrixd, "context = %d, m = 0x%016" PRIxPTR "", CID(context),
3610
(uintptr_t)m);
3611
3612
if (context)
3613
{
3614
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3615
bool isCallValid = (context->skipValidation() || ValidateMultMatrixd(context, m));
3616
if (isCallValid)
3617
{
3618
context->multMatrixd(m);
3619
}
3620
ANGLE_CAPTURE(MultMatrixd, isCallValid, context, m);
3621
}
3622
else
3623
{
3624
GenerateContextLostErrorOnCurrentGlobalContext();
3625
}
3626
}
3627
3628
void GL_APIENTRY GL_MultMatrixf(const GLfloat *m)
3629
{
3630
Context *context = GetValidGlobalContext();
3631
EVENT(context, GLMultMatrixf, "context = %d, m = 0x%016" PRIxPTR "", CID(context),
3632
(uintptr_t)m);
3633
3634
if (context)
3635
{
3636
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3637
bool isCallValid = (context->skipValidation() || ValidateMultMatrixf(context, m));
3638
if (isCallValid)
3639
{
3640
context->multMatrixf(m);
3641
}
3642
ANGLE_CAPTURE(MultMatrixf, isCallValid, context, m);
3643
}
3644
else
3645
{
3646
GenerateContextLostErrorOnCurrentGlobalContext();
3647
}
3648
}
3649
3650
void GL_APIENTRY GL_NewList(GLuint list, GLenum mode)
3651
{
3652
Context *context = GetValidGlobalContext();
3653
EVENT(context, GLNewList, "context = %d, list = %u, mode = %s", CID(context), list,
3654
GLenumToString(GLenumGroup::ListMode, mode));
3655
3656
if (context)
3657
{
3658
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3659
bool isCallValid = (context->skipValidation() || ValidateNewList(context, list, mode));
3660
if (isCallValid)
3661
{
3662
context->newList(list, mode);
3663
}
3664
ANGLE_CAPTURE(NewList, isCallValid, context, list, mode);
3665
}
3666
else
3667
{
3668
GenerateContextLostErrorOnCurrentGlobalContext();
3669
}
3670
}
3671
3672
void GL_APIENTRY GL_Normal3b(GLbyte nx, GLbyte ny, GLbyte nz)
3673
{
3674
Context *context = GetValidGlobalContext();
3675
EVENT(context, GLNormal3b, "context = %d, nx = %d, ny = %d, nz = %d", CID(context), nx, ny, nz);
3676
3677
if (context)
3678
{
3679
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3680
bool isCallValid = (context->skipValidation() || ValidateNormal3b(context, nx, ny, nz));
3681
if (isCallValid)
3682
{
3683
context->normal3b(nx, ny, nz);
3684
}
3685
ANGLE_CAPTURE(Normal3b, isCallValid, context, nx, ny, nz);
3686
}
3687
else
3688
{
3689
GenerateContextLostErrorOnCurrentGlobalContext();
3690
}
3691
}
3692
3693
void GL_APIENTRY GL_Normal3bv(const GLbyte *v)
3694
{
3695
Context *context = GetValidGlobalContext();
3696
EVENT(context, GLNormal3bv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
3697
3698
if (context)
3699
{
3700
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3701
bool isCallValid = (context->skipValidation() || ValidateNormal3bv(context, v));
3702
if (isCallValid)
3703
{
3704
context->normal3bv(v);
3705
}
3706
ANGLE_CAPTURE(Normal3bv, isCallValid, context, v);
3707
}
3708
else
3709
{
3710
GenerateContextLostErrorOnCurrentGlobalContext();
3711
}
3712
}
3713
3714
void GL_APIENTRY GL_Normal3d(GLdouble nx, GLdouble ny, GLdouble nz)
3715
{
3716
Context *context = GetValidGlobalContext();
3717
EVENT(context, GLNormal3d, "context = %d, nx = %f, ny = %f, nz = %f", CID(context), nx, ny, nz);
3718
3719
if (context)
3720
{
3721
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3722
bool isCallValid = (context->skipValidation() || ValidateNormal3d(context, nx, ny, nz));
3723
if (isCallValid)
3724
{
3725
context->normal3d(nx, ny, nz);
3726
}
3727
ANGLE_CAPTURE(Normal3d, isCallValid, context, nx, ny, nz);
3728
}
3729
else
3730
{
3731
GenerateContextLostErrorOnCurrentGlobalContext();
3732
}
3733
}
3734
3735
void GL_APIENTRY GL_Normal3dv(const GLdouble *v)
3736
{
3737
Context *context = GetValidGlobalContext();
3738
EVENT(context, GLNormal3dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
3739
3740
if (context)
3741
{
3742
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3743
bool isCallValid = (context->skipValidation() || ValidateNormal3dv(context, v));
3744
if (isCallValid)
3745
{
3746
context->normal3dv(v);
3747
}
3748
ANGLE_CAPTURE(Normal3dv, isCallValid, context, v);
3749
}
3750
else
3751
{
3752
GenerateContextLostErrorOnCurrentGlobalContext();
3753
}
3754
}
3755
3756
void GL_APIENTRY GL_Normal3f(GLfloat nx, GLfloat ny, GLfloat nz)
3757
{
3758
Context *context = GetValidGlobalContext();
3759
EVENT(context, GLNormal3f, "context = %d, nx = %f, ny = %f, nz = %f", CID(context), nx, ny, nz);
3760
3761
if (context)
3762
{
3763
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3764
bool isCallValid = (context->skipValidation() || ValidateNormal3f(context, nx, ny, nz));
3765
if (isCallValid)
3766
{
3767
context->normal3f(nx, ny, nz);
3768
}
3769
ANGLE_CAPTURE(Normal3f, isCallValid, context, nx, ny, nz);
3770
}
3771
else
3772
{
3773
GenerateContextLostErrorOnCurrentGlobalContext();
3774
}
3775
}
3776
3777
void GL_APIENTRY GL_Normal3fv(const GLfloat *v)
3778
{
3779
Context *context = GetValidGlobalContext();
3780
EVENT(context, GLNormal3fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
3781
3782
if (context)
3783
{
3784
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3785
bool isCallValid = (context->skipValidation() || ValidateNormal3fv(context, v));
3786
if (isCallValid)
3787
{
3788
context->normal3fv(v);
3789
}
3790
ANGLE_CAPTURE(Normal3fv, isCallValid, context, v);
3791
}
3792
else
3793
{
3794
GenerateContextLostErrorOnCurrentGlobalContext();
3795
}
3796
}
3797
3798
void GL_APIENTRY GL_Normal3i(GLint nx, GLint ny, GLint nz)
3799
{
3800
Context *context = GetValidGlobalContext();
3801
EVENT(context, GLNormal3i, "context = %d, nx = %d, ny = %d, nz = %d", CID(context), nx, ny, nz);
3802
3803
if (context)
3804
{
3805
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3806
bool isCallValid = (context->skipValidation() || ValidateNormal3i(context, nx, ny, nz));
3807
if (isCallValid)
3808
{
3809
context->normal3i(nx, ny, nz);
3810
}
3811
ANGLE_CAPTURE(Normal3i, isCallValid, context, nx, ny, nz);
3812
}
3813
else
3814
{
3815
GenerateContextLostErrorOnCurrentGlobalContext();
3816
}
3817
}
3818
3819
void GL_APIENTRY GL_Normal3iv(const GLint *v)
3820
{
3821
Context *context = GetValidGlobalContext();
3822
EVENT(context, GLNormal3iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
3823
3824
if (context)
3825
{
3826
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3827
bool isCallValid = (context->skipValidation() || ValidateNormal3iv(context, v));
3828
if (isCallValid)
3829
{
3830
context->normal3iv(v);
3831
}
3832
ANGLE_CAPTURE(Normal3iv, isCallValid, context, v);
3833
}
3834
else
3835
{
3836
GenerateContextLostErrorOnCurrentGlobalContext();
3837
}
3838
}
3839
3840
void GL_APIENTRY GL_Normal3s(GLshort nx, GLshort ny, GLshort nz)
3841
{
3842
Context *context = GetValidGlobalContext();
3843
EVENT(context, GLNormal3s, "context = %d, nx = %d, ny = %d, nz = %d", CID(context), nx, ny, nz);
3844
3845
if (context)
3846
{
3847
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3848
bool isCallValid = (context->skipValidation() || ValidateNormal3s(context, nx, ny, nz));
3849
if (isCallValid)
3850
{
3851
context->normal3s(nx, ny, nz);
3852
}
3853
ANGLE_CAPTURE(Normal3s, isCallValid, context, nx, ny, nz);
3854
}
3855
else
3856
{
3857
GenerateContextLostErrorOnCurrentGlobalContext();
3858
}
3859
}
3860
3861
void GL_APIENTRY GL_Normal3sv(const GLshort *v)
3862
{
3863
Context *context = GetValidGlobalContext();
3864
EVENT(context, GLNormal3sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
3865
3866
if (context)
3867
{
3868
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3869
bool isCallValid = (context->skipValidation() || ValidateNormal3sv(context, v));
3870
if (isCallValid)
3871
{
3872
context->normal3sv(v);
3873
}
3874
ANGLE_CAPTURE(Normal3sv, isCallValid, context, v);
3875
}
3876
else
3877
{
3878
GenerateContextLostErrorOnCurrentGlobalContext();
3879
}
3880
}
3881
3882
void GL_APIENTRY GL_Ortho(GLdouble left,
3883
GLdouble right,
3884
GLdouble bottom,
3885
GLdouble top,
3886
GLdouble zNear,
3887
GLdouble zFar)
3888
{
3889
Context *context = GetValidGlobalContext();
3890
EVENT(context, GLOrtho,
3891
"context = %d, left = %f, right = %f, bottom = %f, top = %f, zNear = %f, zFar = %f",
3892
CID(context), left, right, bottom, top, zNear, zFar);
3893
3894
if (context)
3895
{
3896
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3897
bool isCallValid = (context->skipValidation() ||
3898
ValidateOrtho(context, left, right, bottom, top, zNear, zFar));
3899
if (isCallValid)
3900
{
3901
context->ortho(left, right, bottom, top, zNear, zFar);
3902
}
3903
ANGLE_CAPTURE(Ortho, isCallValid, context, left, right, bottom, top, zNear, zFar);
3904
}
3905
else
3906
{
3907
GenerateContextLostErrorOnCurrentGlobalContext();
3908
}
3909
}
3910
3911
void GL_APIENTRY GL_PassThrough(GLfloat token)
3912
{
3913
Context *context = GetValidGlobalContext();
3914
EVENT(context, GLPassThrough, "context = %d, token = %f", CID(context), token);
3915
3916
if (context)
3917
{
3918
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3919
bool isCallValid = (context->skipValidation() || ValidatePassThrough(context, token));
3920
if (isCallValid)
3921
{
3922
context->passThrough(token);
3923
}
3924
ANGLE_CAPTURE(PassThrough, isCallValid, context, token);
3925
}
3926
else
3927
{
3928
GenerateContextLostErrorOnCurrentGlobalContext();
3929
}
3930
}
3931
3932
void GL_APIENTRY GL_PixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values)
3933
{
3934
Context *context = GetValidGlobalContext();
3935
EVENT(context, GLPixelMapfv, "context = %d, map = %s, mapsize = %d, values = 0x%016" PRIxPTR "",
3936
CID(context), GLenumToString(GLenumGroup::PixelMap, map), mapsize, (uintptr_t)values);
3937
3938
if (context)
3939
{
3940
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3941
bool isCallValid =
3942
(context->skipValidation() || ValidatePixelMapfv(context, map, mapsize, values));
3943
if (isCallValid)
3944
{
3945
context->pixelMapfv(map, mapsize, values);
3946
}
3947
ANGLE_CAPTURE(PixelMapfv, isCallValid, context, map, mapsize, values);
3948
}
3949
else
3950
{
3951
GenerateContextLostErrorOnCurrentGlobalContext();
3952
}
3953
}
3954
3955
void GL_APIENTRY GL_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values)
3956
{
3957
Context *context = GetValidGlobalContext();
3958
EVENT(context, GLPixelMapuiv,
3959
"context = %d, map = %s, mapsize = %d, values = 0x%016" PRIxPTR "", CID(context),
3960
GLenumToString(GLenumGroup::PixelMap, map), mapsize, (uintptr_t)values);
3961
3962
if (context)
3963
{
3964
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3965
bool isCallValid =
3966
(context->skipValidation() || ValidatePixelMapuiv(context, map, mapsize, values));
3967
if (isCallValid)
3968
{
3969
context->pixelMapuiv(map, mapsize, values);
3970
}
3971
ANGLE_CAPTURE(PixelMapuiv, isCallValid, context, map, mapsize, values);
3972
}
3973
else
3974
{
3975
GenerateContextLostErrorOnCurrentGlobalContext();
3976
}
3977
}
3978
3979
void GL_APIENTRY GL_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values)
3980
{
3981
Context *context = GetValidGlobalContext();
3982
EVENT(context, GLPixelMapusv,
3983
"context = %d, map = %s, mapsize = %d, values = 0x%016" PRIxPTR "", CID(context),
3984
GLenumToString(GLenumGroup::PixelMap, map), mapsize, (uintptr_t)values);
3985
3986
if (context)
3987
{
3988
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
3989
bool isCallValid =
3990
(context->skipValidation() || ValidatePixelMapusv(context, map, mapsize, values));
3991
if (isCallValid)
3992
{
3993
context->pixelMapusv(map, mapsize, values);
3994
}
3995
ANGLE_CAPTURE(PixelMapusv, isCallValid, context, map, mapsize, values);
3996
}
3997
else
3998
{
3999
GenerateContextLostErrorOnCurrentGlobalContext();
4000
}
4001
}
4002
4003
void GL_APIENTRY GL_PixelStoref(GLenum pname, GLfloat param)
4004
{
4005
Context *context = GetValidGlobalContext();
4006
EVENT(context, GLPixelStoref, "context = %d, pname = %s, param = %f", CID(context),
4007
GLenumToString(GLenumGroup::PixelStoreParameter, pname), param);
4008
4009
if (context)
4010
{
4011
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4012
bool isCallValid =
4013
(context->skipValidation() || ValidatePixelStoref(context, pname, param));
4014
if (isCallValid)
4015
{
4016
context->pixelStoref(pname, param);
4017
}
4018
ANGLE_CAPTURE(PixelStoref, isCallValid, context, pname, param);
4019
}
4020
else
4021
{
4022
GenerateContextLostErrorOnCurrentGlobalContext();
4023
}
4024
}
4025
4026
void GL_APIENTRY GL_PixelStorei(GLenum pname, GLint param)
4027
{
4028
Context *context = GetValidGlobalContext();
4029
EVENT(context, GLPixelStorei, "context = %d, pname = %s, param = %d", CID(context),
4030
GLenumToString(GLenumGroup::PixelStoreParameter, pname), param);
4031
4032
if (context)
4033
{
4034
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4035
bool isCallValid =
4036
(context->skipValidation() || ValidatePixelStorei(context, pname, param));
4037
if (isCallValid)
4038
{
4039
context->pixelStorei(pname, param);
4040
}
4041
ANGLE_CAPTURE(PixelStorei, isCallValid, context, pname, param);
4042
}
4043
else
4044
{
4045
GenerateContextLostErrorOnCurrentGlobalContext();
4046
}
4047
}
4048
4049
void GL_APIENTRY GL_PixelTransferf(GLenum pname, GLfloat param)
4050
{
4051
Context *context = GetValidGlobalContext();
4052
EVENT(context, GLPixelTransferf, "context = %d, pname = %s, param = %f", CID(context),
4053
GLenumToString(GLenumGroup::PixelTransferParameter, pname), param);
4054
4055
if (context)
4056
{
4057
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4058
bool isCallValid =
4059
(context->skipValidation() || ValidatePixelTransferf(context, pname, param));
4060
if (isCallValid)
4061
{
4062
context->pixelTransferf(pname, param);
4063
}
4064
ANGLE_CAPTURE(PixelTransferf, isCallValid, context, pname, param);
4065
}
4066
else
4067
{
4068
GenerateContextLostErrorOnCurrentGlobalContext();
4069
}
4070
}
4071
4072
void GL_APIENTRY GL_PixelTransferi(GLenum pname, GLint param)
4073
{
4074
Context *context = GetValidGlobalContext();
4075
EVENT(context, GLPixelTransferi, "context = %d, pname = %s, param = %d", CID(context),
4076
GLenumToString(GLenumGroup::PixelTransferParameter, pname), param);
4077
4078
if (context)
4079
{
4080
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4081
bool isCallValid =
4082
(context->skipValidation() || ValidatePixelTransferi(context, pname, param));
4083
if (isCallValid)
4084
{
4085
context->pixelTransferi(pname, param);
4086
}
4087
ANGLE_CAPTURE(PixelTransferi, isCallValid, context, pname, param);
4088
}
4089
else
4090
{
4091
GenerateContextLostErrorOnCurrentGlobalContext();
4092
}
4093
}
4094
4095
void GL_APIENTRY GL_PixelZoom(GLfloat xfactor, GLfloat yfactor)
4096
{
4097
Context *context = GetValidGlobalContext();
4098
EVENT(context, GLPixelZoom, "context = %d, xfactor = %f, yfactor = %f", CID(context), xfactor,
4099
yfactor);
4100
4101
if (context)
4102
{
4103
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4104
bool isCallValid =
4105
(context->skipValidation() || ValidatePixelZoom(context, xfactor, yfactor));
4106
if (isCallValid)
4107
{
4108
context->pixelZoom(xfactor, yfactor);
4109
}
4110
ANGLE_CAPTURE(PixelZoom, isCallValid, context, xfactor, yfactor);
4111
}
4112
else
4113
{
4114
GenerateContextLostErrorOnCurrentGlobalContext();
4115
}
4116
}
4117
4118
void GL_APIENTRY GL_PointSize(GLfloat size)
4119
{
4120
Context *context = GetValidGlobalContext();
4121
EVENT(context, GLPointSize, "context = %d, size = %f", CID(context), size);
4122
4123
if (context)
4124
{
4125
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4126
bool isCallValid = (context->skipValidation() || ValidatePointSize(context, size));
4127
if (isCallValid)
4128
{
4129
context->pointSize(size);
4130
}
4131
ANGLE_CAPTURE(PointSize, isCallValid, context, size);
4132
}
4133
else
4134
{
4135
GenerateContextLostErrorOnCurrentGlobalContext();
4136
}
4137
}
4138
4139
void GL_APIENTRY GL_PolygonMode(GLenum face, GLenum mode)
4140
{
4141
Context *context = GetValidGlobalContext();
4142
EVENT(context, GLPolygonMode, "context = %d, face = %s, mode = %s", CID(context),
4143
GLenumToString(GLenumGroup::MaterialFace, face),
4144
GLenumToString(GLenumGroup::PolygonMode, mode));
4145
4146
if (context)
4147
{
4148
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4149
bool isCallValid = (context->skipValidation() || ValidatePolygonMode(context, face, mode));
4150
if (isCallValid)
4151
{
4152
context->polygonMode(face, mode);
4153
}
4154
ANGLE_CAPTURE(PolygonMode, isCallValid, context, face, mode);
4155
}
4156
else
4157
{
4158
GenerateContextLostErrorOnCurrentGlobalContext();
4159
}
4160
}
4161
4162
void GL_APIENTRY GL_PolygonStipple(const GLubyte *mask)
4163
{
4164
Context *context = GetValidGlobalContext();
4165
EVENT(context, GLPolygonStipple, "context = %d, mask = 0x%016" PRIxPTR "", CID(context),
4166
(uintptr_t)mask);
4167
4168
if (context)
4169
{
4170
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4171
bool isCallValid = (context->skipValidation() || ValidatePolygonStipple(context, mask));
4172
if (isCallValid)
4173
{
4174
context->polygonStipple(mask);
4175
}
4176
ANGLE_CAPTURE(PolygonStipple, isCallValid, context, mask);
4177
}
4178
else
4179
{
4180
GenerateContextLostErrorOnCurrentGlobalContext();
4181
}
4182
}
4183
4184
void GL_APIENTRY GL_PopAttrib()
4185
{
4186
Context *context = GetValidGlobalContext();
4187
EVENT(context, GLPopAttrib, "context = %d", CID(context));
4188
4189
if (context)
4190
{
4191
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4192
bool isCallValid = (context->skipValidation() || ValidatePopAttrib(context));
4193
if (isCallValid)
4194
{
4195
context->popAttrib();
4196
}
4197
ANGLE_CAPTURE(PopAttrib, isCallValid, context);
4198
}
4199
else
4200
{
4201
GenerateContextLostErrorOnCurrentGlobalContext();
4202
}
4203
}
4204
4205
void GL_APIENTRY GL_PopMatrix()
4206
{
4207
Context *context = GetValidGlobalContext();
4208
EVENT(context, GLPopMatrix, "context = %d", CID(context));
4209
4210
if (context)
4211
{
4212
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4213
bool isCallValid = (context->skipValidation() || ValidatePopMatrix(context));
4214
if (isCallValid)
4215
{
4216
context->popMatrix();
4217
}
4218
ANGLE_CAPTURE(PopMatrix, isCallValid, context);
4219
}
4220
else
4221
{
4222
GenerateContextLostErrorOnCurrentGlobalContext();
4223
}
4224
}
4225
4226
void GL_APIENTRY GL_PopName()
4227
{
4228
Context *context = GetValidGlobalContext();
4229
EVENT(context, GLPopName, "context = %d", CID(context));
4230
4231
if (context)
4232
{
4233
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4234
bool isCallValid = (context->skipValidation() || ValidatePopName(context));
4235
if (isCallValid)
4236
{
4237
context->popName();
4238
}
4239
ANGLE_CAPTURE(PopName, isCallValid, context);
4240
}
4241
else
4242
{
4243
GenerateContextLostErrorOnCurrentGlobalContext();
4244
}
4245
}
4246
4247
void GL_APIENTRY GL_PushAttrib(GLbitfield mask)
4248
{
4249
Context *context = GetValidGlobalContext();
4250
EVENT(context, GLPushAttrib, "context = %d, mask = %s", CID(context),
4251
GLbitfieldToString(GLenumGroup::AttribMask, mask).c_str());
4252
4253
if (context)
4254
{
4255
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4256
bool isCallValid = (context->skipValidation() || ValidatePushAttrib(context, mask));
4257
if (isCallValid)
4258
{
4259
context->pushAttrib(mask);
4260
}
4261
ANGLE_CAPTURE(PushAttrib, isCallValid, context, mask);
4262
}
4263
else
4264
{
4265
GenerateContextLostErrorOnCurrentGlobalContext();
4266
}
4267
}
4268
4269
void GL_APIENTRY GL_PushMatrix()
4270
{
4271
Context *context = GetValidGlobalContext();
4272
EVENT(context, GLPushMatrix, "context = %d", CID(context));
4273
4274
if (context)
4275
{
4276
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4277
bool isCallValid = (context->skipValidation() || ValidatePushMatrix(context));
4278
if (isCallValid)
4279
{
4280
context->pushMatrix();
4281
}
4282
ANGLE_CAPTURE(PushMatrix, isCallValid, context);
4283
}
4284
else
4285
{
4286
GenerateContextLostErrorOnCurrentGlobalContext();
4287
}
4288
}
4289
4290
void GL_APIENTRY GL_PushName(GLuint name)
4291
{
4292
Context *context = GetValidGlobalContext();
4293
EVENT(context, GLPushName, "context = %d, name = %u", CID(context), name);
4294
4295
if (context)
4296
{
4297
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4298
bool isCallValid = (context->skipValidation() || ValidatePushName(context, name));
4299
if (isCallValid)
4300
{
4301
context->pushName(name);
4302
}
4303
ANGLE_CAPTURE(PushName, isCallValid, context, name);
4304
}
4305
else
4306
{
4307
GenerateContextLostErrorOnCurrentGlobalContext();
4308
}
4309
}
4310
4311
void GL_APIENTRY GL_RasterPos2d(GLdouble x, GLdouble y)
4312
{
4313
Context *context = GetValidGlobalContext();
4314
EVENT(context, GLRasterPos2d, "context = %d, x = %f, y = %f", CID(context), x, y);
4315
4316
if (context)
4317
{
4318
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4319
bool isCallValid = (context->skipValidation() || ValidateRasterPos2d(context, x, y));
4320
if (isCallValid)
4321
{
4322
context->rasterPos2d(x, y);
4323
}
4324
ANGLE_CAPTURE(RasterPos2d, isCallValid, context, x, y);
4325
}
4326
else
4327
{
4328
GenerateContextLostErrorOnCurrentGlobalContext();
4329
}
4330
}
4331
4332
void GL_APIENTRY GL_RasterPos2dv(const GLdouble *v)
4333
{
4334
Context *context = GetValidGlobalContext();
4335
EVENT(context, GLRasterPos2dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4336
(uintptr_t)v);
4337
4338
if (context)
4339
{
4340
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4341
bool isCallValid = (context->skipValidation() || ValidateRasterPos2dv(context, v));
4342
if (isCallValid)
4343
{
4344
context->rasterPos2dv(v);
4345
}
4346
ANGLE_CAPTURE(RasterPos2dv, isCallValid, context, v);
4347
}
4348
else
4349
{
4350
GenerateContextLostErrorOnCurrentGlobalContext();
4351
}
4352
}
4353
4354
void GL_APIENTRY GL_RasterPos2f(GLfloat x, GLfloat y)
4355
{
4356
Context *context = GetValidGlobalContext();
4357
EVENT(context, GLRasterPos2f, "context = %d, x = %f, y = %f", CID(context), x, y);
4358
4359
if (context)
4360
{
4361
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4362
bool isCallValid = (context->skipValidation() || ValidateRasterPos2f(context, x, y));
4363
if (isCallValid)
4364
{
4365
context->rasterPos2f(x, y);
4366
}
4367
ANGLE_CAPTURE(RasterPos2f, isCallValid, context, x, y);
4368
}
4369
else
4370
{
4371
GenerateContextLostErrorOnCurrentGlobalContext();
4372
}
4373
}
4374
4375
void GL_APIENTRY GL_RasterPos2fv(const GLfloat *v)
4376
{
4377
Context *context = GetValidGlobalContext();
4378
EVENT(context, GLRasterPos2fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4379
(uintptr_t)v);
4380
4381
if (context)
4382
{
4383
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4384
bool isCallValid = (context->skipValidation() || ValidateRasterPos2fv(context, v));
4385
if (isCallValid)
4386
{
4387
context->rasterPos2fv(v);
4388
}
4389
ANGLE_CAPTURE(RasterPos2fv, isCallValid, context, v);
4390
}
4391
else
4392
{
4393
GenerateContextLostErrorOnCurrentGlobalContext();
4394
}
4395
}
4396
4397
void GL_APIENTRY GL_RasterPos2i(GLint x, GLint y)
4398
{
4399
Context *context = GetValidGlobalContext();
4400
EVENT(context, GLRasterPos2i, "context = %d, x = %d, y = %d", CID(context), x, y);
4401
4402
if (context)
4403
{
4404
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4405
bool isCallValid = (context->skipValidation() || ValidateRasterPos2i(context, x, y));
4406
if (isCallValid)
4407
{
4408
context->rasterPos2i(x, y);
4409
}
4410
ANGLE_CAPTURE(RasterPos2i, isCallValid, context, x, y);
4411
}
4412
else
4413
{
4414
GenerateContextLostErrorOnCurrentGlobalContext();
4415
}
4416
}
4417
4418
void GL_APIENTRY GL_RasterPos2iv(const GLint *v)
4419
{
4420
Context *context = GetValidGlobalContext();
4421
EVENT(context, GLRasterPos2iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4422
(uintptr_t)v);
4423
4424
if (context)
4425
{
4426
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4427
bool isCallValid = (context->skipValidation() || ValidateRasterPos2iv(context, v));
4428
if (isCallValid)
4429
{
4430
context->rasterPos2iv(v);
4431
}
4432
ANGLE_CAPTURE(RasterPos2iv, isCallValid, context, v);
4433
}
4434
else
4435
{
4436
GenerateContextLostErrorOnCurrentGlobalContext();
4437
}
4438
}
4439
4440
void GL_APIENTRY GL_RasterPos2s(GLshort x, GLshort y)
4441
{
4442
Context *context = GetValidGlobalContext();
4443
EVENT(context, GLRasterPos2s, "context = %d, x = %d, y = %d", CID(context), x, y);
4444
4445
if (context)
4446
{
4447
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4448
bool isCallValid = (context->skipValidation() || ValidateRasterPos2s(context, x, y));
4449
if (isCallValid)
4450
{
4451
context->rasterPos2s(x, y);
4452
}
4453
ANGLE_CAPTURE(RasterPos2s, isCallValid, context, x, y);
4454
}
4455
else
4456
{
4457
GenerateContextLostErrorOnCurrentGlobalContext();
4458
}
4459
}
4460
4461
void GL_APIENTRY GL_RasterPos2sv(const GLshort *v)
4462
{
4463
Context *context = GetValidGlobalContext();
4464
EVENT(context, GLRasterPos2sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4465
(uintptr_t)v);
4466
4467
if (context)
4468
{
4469
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4470
bool isCallValid = (context->skipValidation() || ValidateRasterPos2sv(context, v));
4471
if (isCallValid)
4472
{
4473
context->rasterPos2sv(v);
4474
}
4475
ANGLE_CAPTURE(RasterPos2sv, isCallValid, context, v);
4476
}
4477
else
4478
{
4479
GenerateContextLostErrorOnCurrentGlobalContext();
4480
}
4481
}
4482
4483
void GL_APIENTRY GL_RasterPos3d(GLdouble x, GLdouble y, GLdouble z)
4484
{
4485
Context *context = GetValidGlobalContext();
4486
EVENT(context, GLRasterPos3d, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
4487
4488
if (context)
4489
{
4490
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4491
bool isCallValid = (context->skipValidation() || ValidateRasterPos3d(context, x, y, z));
4492
if (isCallValid)
4493
{
4494
context->rasterPos3d(x, y, z);
4495
}
4496
ANGLE_CAPTURE(RasterPos3d, isCallValid, context, x, y, z);
4497
}
4498
else
4499
{
4500
GenerateContextLostErrorOnCurrentGlobalContext();
4501
}
4502
}
4503
4504
void GL_APIENTRY GL_RasterPos3dv(const GLdouble *v)
4505
{
4506
Context *context = GetValidGlobalContext();
4507
EVENT(context, GLRasterPos3dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4508
(uintptr_t)v);
4509
4510
if (context)
4511
{
4512
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4513
bool isCallValid = (context->skipValidation() || ValidateRasterPos3dv(context, v));
4514
if (isCallValid)
4515
{
4516
context->rasterPos3dv(v);
4517
}
4518
ANGLE_CAPTURE(RasterPos3dv, isCallValid, context, v);
4519
}
4520
else
4521
{
4522
GenerateContextLostErrorOnCurrentGlobalContext();
4523
}
4524
}
4525
4526
void GL_APIENTRY GL_RasterPos3f(GLfloat x, GLfloat y, GLfloat z)
4527
{
4528
Context *context = GetValidGlobalContext();
4529
EVENT(context, GLRasterPos3f, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
4530
4531
if (context)
4532
{
4533
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4534
bool isCallValid = (context->skipValidation() || ValidateRasterPos3f(context, x, y, z));
4535
if (isCallValid)
4536
{
4537
context->rasterPos3f(x, y, z);
4538
}
4539
ANGLE_CAPTURE(RasterPos3f, isCallValid, context, x, y, z);
4540
}
4541
else
4542
{
4543
GenerateContextLostErrorOnCurrentGlobalContext();
4544
}
4545
}
4546
4547
void GL_APIENTRY GL_RasterPos3fv(const GLfloat *v)
4548
{
4549
Context *context = GetValidGlobalContext();
4550
EVENT(context, GLRasterPos3fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4551
(uintptr_t)v);
4552
4553
if (context)
4554
{
4555
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4556
bool isCallValid = (context->skipValidation() || ValidateRasterPos3fv(context, v));
4557
if (isCallValid)
4558
{
4559
context->rasterPos3fv(v);
4560
}
4561
ANGLE_CAPTURE(RasterPos3fv, isCallValid, context, v);
4562
}
4563
else
4564
{
4565
GenerateContextLostErrorOnCurrentGlobalContext();
4566
}
4567
}
4568
4569
void GL_APIENTRY GL_RasterPos3i(GLint x, GLint y, GLint z)
4570
{
4571
Context *context = GetValidGlobalContext();
4572
EVENT(context, GLRasterPos3i, "context = %d, x = %d, y = %d, z = %d", CID(context), x, y, z);
4573
4574
if (context)
4575
{
4576
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4577
bool isCallValid = (context->skipValidation() || ValidateRasterPos3i(context, x, y, z));
4578
if (isCallValid)
4579
{
4580
context->rasterPos3i(x, y, z);
4581
}
4582
ANGLE_CAPTURE(RasterPos3i, isCallValid, context, x, y, z);
4583
}
4584
else
4585
{
4586
GenerateContextLostErrorOnCurrentGlobalContext();
4587
}
4588
}
4589
4590
void GL_APIENTRY GL_RasterPos3iv(const GLint *v)
4591
{
4592
Context *context = GetValidGlobalContext();
4593
EVENT(context, GLRasterPos3iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4594
(uintptr_t)v);
4595
4596
if (context)
4597
{
4598
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4599
bool isCallValid = (context->skipValidation() || ValidateRasterPos3iv(context, v));
4600
if (isCallValid)
4601
{
4602
context->rasterPos3iv(v);
4603
}
4604
ANGLE_CAPTURE(RasterPos3iv, isCallValid, context, v);
4605
}
4606
else
4607
{
4608
GenerateContextLostErrorOnCurrentGlobalContext();
4609
}
4610
}
4611
4612
void GL_APIENTRY GL_RasterPos3s(GLshort x, GLshort y, GLshort z)
4613
{
4614
Context *context = GetValidGlobalContext();
4615
EVENT(context, GLRasterPos3s, "context = %d, x = %d, y = %d, z = %d", CID(context), x, y, z);
4616
4617
if (context)
4618
{
4619
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4620
bool isCallValid = (context->skipValidation() || ValidateRasterPos3s(context, x, y, z));
4621
if (isCallValid)
4622
{
4623
context->rasterPos3s(x, y, z);
4624
}
4625
ANGLE_CAPTURE(RasterPos3s, isCallValid, context, x, y, z);
4626
}
4627
else
4628
{
4629
GenerateContextLostErrorOnCurrentGlobalContext();
4630
}
4631
}
4632
4633
void GL_APIENTRY GL_RasterPos3sv(const GLshort *v)
4634
{
4635
Context *context = GetValidGlobalContext();
4636
EVENT(context, GLRasterPos3sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4637
(uintptr_t)v);
4638
4639
if (context)
4640
{
4641
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4642
bool isCallValid = (context->skipValidation() || ValidateRasterPos3sv(context, v));
4643
if (isCallValid)
4644
{
4645
context->rasterPos3sv(v);
4646
}
4647
ANGLE_CAPTURE(RasterPos3sv, isCallValid, context, v);
4648
}
4649
else
4650
{
4651
GenerateContextLostErrorOnCurrentGlobalContext();
4652
}
4653
}
4654
4655
void GL_APIENTRY GL_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
4656
{
4657
Context *context = GetValidGlobalContext();
4658
EVENT(context, GLRasterPos4d, "context = %d, x = %f, y = %f, z = %f, w = %f", CID(context), x,
4659
y, z, w);
4660
4661
if (context)
4662
{
4663
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4664
bool isCallValid = (context->skipValidation() || ValidateRasterPos4d(context, x, y, z, w));
4665
if (isCallValid)
4666
{
4667
context->rasterPos4d(x, y, z, w);
4668
}
4669
ANGLE_CAPTURE(RasterPos4d, isCallValid, context, x, y, z, w);
4670
}
4671
else
4672
{
4673
GenerateContextLostErrorOnCurrentGlobalContext();
4674
}
4675
}
4676
4677
void GL_APIENTRY GL_RasterPos4dv(const GLdouble *v)
4678
{
4679
Context *context = GetValidGlobalContext();
4680
EVENT(context, GLRasterPos4dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4681
(uintptr_t)v);
4682
4683
if (context)
4684
{
4685
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4686
bool isCallValid = (context->skipValidation() || ValidateRasterPos4dv(context, v));
4687
if (isCallValid)
4688
{
4689
context->rasterPos4dv(v);
4690
}
4691
ANGLE_CAPTURE(RasterPos4dv, isCallValid, context, v);
4692
}
4693
else
4694
{
4695
GenerateContextLostErrorOnCurrentGlobalContext();
4696
}
4697
}
4698
4699
void GL_APIENTRY GL_RasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
4700
{
4701
Context *context = GetValidGlobalContext();
4702
EVENT(context, GLRasterPos4f, "context = %d, x = %f, y = %f, z = %f, w = %f", CID(context), x,
4703
y, z, w);
4704
4705
if (context)
4706
{
4707
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4708
bool isCallValid = (context->skipValidation() || ValidateRasterPos4f(context, x, y, z, w));
4709
if (isCallValid)
4710
{
4711
context->rasterPos4f(x, y, z, w);
4712
}
4713
ANGLE_CAPTURE(RasterPos4f, isCallValid, context, x, y, z, w);
4714
}
4715
else
4716
{
4717
GenerateContextLostErrorOnCurrentGlobalContext();
4718
}
4719
}
4720
4721
void GL_APIENTRY GL_RasterPos4fv(const GLfloat *v)
4722
{
4723
Context *context = GetValidGlobalContext();
4724
EVENT(context, GLRasterPos4fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4725
(uintptr_t)v);
4726
4727
if (context)
4728
{
4729
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4730
bool isCallValid = (context->skipValidation() || ValidateRasterPos4fv(context, v));
4731
if (isCallValid)
4732
{
4733
context->rasterPos4fv(v);
4734
}
4735
ANGLE_CAPTURE(RasterPos4fv, isCallValid, context, v);
4736
}
4737
else
4738
{
4739
GenerateContextLostErrorOnCurrentGlobalContext();
4740
}
4741
}
4742
4743
void GL_APIENTRY GL_RasterPos4i(GLint x, GLint y, GLint z, GLint w)
4744
{
4745
Context *context = GetValidGlobalContext();
4746
EVENT(context, GLRasterPos4i, "context = %d, x = %d, y = %d, z = %d, w = %d", CID(context), x,
4747
y, z, w);
4748
4749
if (context)
4750
{
4751
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4752
bool isCallValid = (context->skipValidation() || ValidateRasterPos4i(context, x, y, z, w));
4753
if (isCallValid)
4754
{
4755
context->rasterPos4i(x, y, z, w);
4756
}
4757
ANGLE_CAPTURE(RasterPos4i, isCallValid, context, x, y, z, w);
4758
}
4759
else
4760
{
4761
GenerateContextLostErrorOnCurrentGlobalContext();
4762
}
4763
}
4764
4765
void GL_APIENTRY GL_RasterPos4iv(const GLint *v)
4766
{
4767
Context *context = GetValidGlobalContext();
4768
EVENT(context, GLRasterPos4iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4769
(uintptr_t)v);
4770
4771
if (context)
4772
{
4773
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4774
bool isCallValid = (context->skipValidation() || ValidateRasterPos4iv(context, v));
4775
if (isCallValid)
4776
{
4777
context->rasterPos4iv(v);
4778
}
4779
ANGLE_CAPTURE(RasterPos4iv, isCallValid, context, v);
4780
}
4781
else
4782
{
4783
GenerateContextLostErrorOnCurrentGlobalContext();
4784
}
4785
}
4786
4787
void GL_APIENTRY GL_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w)
4788
{
4789
Context *context = GetValidGlobalContext();
4790
EVENT(context, GLRasterPos4s, "context = %d, x = %d, y = %d, z = %d, w = %d", CID(context), x,
4791
y, z, w);
4792
4793
if (context)
4794
{
4795
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4796
bool isCallValid = (context->skipValidation() || ValidateRasterPos4s(context, x, y, z, w));
4797
if (isCallValid)
4798
{
4799
context->rasterPos4s(x, y, z, w);
4800
}
4801
ANGLE_CAPTURE(RasterPos4s, isCallValid, context, x, y, z, w);
4802
}
4803
else
4804
{
4805
GenerateContextLostErrorOnCurrentGlobalContext();
4806
}
4807
}
4808
4809
void GL_APIENTRY GL_RasterPos4sv(const GLshort *v)
4810
{
4811
Context *context = GetValidGlobalContext();
4812
EVENT(context, GLRasterPos4sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
4813
(uintptr_t)v);
4814
4815
if (context)
4816
{
4817
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4818
bool isCallValid = (context->skipValidation() || ValidateRasterPos4sv(context, v));
4819
if (isCallValid)
4820
{
4821
context->rasterPos4sv(v);
4822
}
4823
ANGLE_CAPTURE(RasterPos4sv, isCallValid, context, v);
4824
}
4825
else
4826
{
4827
GenerateContextLostErrorOnCurrentGlobalContext();
4828
}
4829
}
4830
4831
void GL_APIENTRY GL_ReadBuffer(GLenum src)
4832
{
4833
Context *context = GetValidGlobalContext();
4834
EVENT(context, GLReadBuffer, "context = %d, src = %s", CID(context),
4835
GLenumToString(GLenumGroup::ReadBufferMode, src));
4836
4837
if (context)
4838
{
4839
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4840
bool isCallValid = (context->skipValidation() || ValidateReadBuffer(context, src));
4841
if (isCallValid)
4842
{
4843
context->readBuffer(src);
4844
}
4845
ANGLE_CAPTURE(ReadBuffer, isCallValid, context, src);
4846
}
4847
else
4848
{
4849
GenerateContextLostErrorOnCurrentGlobalContext();
4850
}
4851
}
4852
4853
void GL_APIENTRY GL_ReadPixels(GLint x,
4854
GLint y,
4855
GLsizei width,
4856
GLsizei height,
4857
GLenum format,
4858
GLenum type,
4859
void *pixels)
4860
{
4861
Context *context = GetValidGlobalContext();
4862
EVENT(context, GLReadPixels,
4863
"context = %d, x = %d, y = %d, width = %d, height = %d, format = %s, type = %s, pixels = "
4864
"0x%016" PRIxPTR "",
4865
CID(context), x, y, width, height, GLenumToString(GLenumGroup::PixelFormat, format),
4866
GLenumToString(GLenumGroup::PixelType, type), (uintptr_t)pixels);
4867
4868
if (context)
4869
{
4870
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4871
bool isCallValid = (context->skipValidation() ||
4872
ValidateReadPixels(context, x, y, width, height, format, type, pixels));
4873
if (isCallValid)
4874
{
4875
context->readPixels(x, y, width, height, format, type, pixels);
4876
}
4877
ANGLE_CAPTURE(ReadPixels, isCallValid, context, x, y, width, height, format, type, pixels);
4878
}
4879
else
4880
{
4881
GenerateContextLostErrorOnCurrentGlobalContext();
4882
}
4883
}
4884
4885
void GL_APIENTRY GL_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
4886
{
4887
Context *context = GetValidGlobalContext();
4888
EVENT(context, GLRectd, "context = %d, x1 = %f, y1 = %f, x2 = %f, y2 = %f", CID(context), x1,
4889
y1, x2, y2);
4890
4891
if (context)
4892
{
4893
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4894
bool isCallValid = (context->skipValidation() || ValidateRectd(context, x1, y1, x2, y2));
4895
if (isCallValid)
4896
{
4897
context->rectd(x1, y1, x2, y2);
4898
}
4899
ANGLE_CAPTURE(Rectd, isCallValid, context, x1, y1, x2, y2);
4900
}
4901
else
4902
{
4903
GenerateContextLostErrorOnCurrentGlobalContext();
4904
}
4905
}
4906
4907
void GL_APIENTRY GL_Rectdv(const GLdouble *v1, const GLdouble *v2)
4908
{
4909
Context *context = GetValidGlobalContext();
4910
EVENT(context, GLRectdv, "context = %d, v1 = 0x%016" PRIxPTR ", v2 = 0x%016" PRIxPTR "",
4911
CID(context), (uintptr_t)v1, (uintptr_t)v2);
4912
4913
if (context)
4914
{
4915
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4916
bool isCallValid = (context->skipValidation() || ValidateRectdv(context, v1, v2));
4917
if (isCallValid)
4918
{
4919
context->rectdv(v1, v2);
4920
}
4921
ANGLE_CAPTURE(Rectdv, isCallValid, context, v1, v2);
4922
}
4923
else
4924
{
4925
GenerateContextLostErrorOnCurrentGlobalContext();
4926
}
4927
}
4928
4929
void GL_APIENTRY GL_Rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
4930
{
4931
Context *context = GetValidGlobalContext();
4932
EVENT(context, GLRectf, "context = %d, x1 = %f, y1 = %f, x2 = %f, y2 = %f", CID(context), x1,
4933
y1, x2, y2);
4934
4935
if (context)
4936
{
4937
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4938
bool isCallValid = (context->skipValidation() || ValidateRectf(context, x1, y1, x2, y2));
4939
if (isCallValid)
4940
{
4941
context->rectf(x1, y1, x2, y2);
4942
}
4943
ANGLE_CAPTURE(Rectf, isCallValid, context, x1, y1, x2, y2);
4944
}
4945
else
4946
{
4947
GenerateContextLostErrorOnCurrentGlobalContext();
4948
}
4949
}
4950
4951
void GL_APIENTRY GL_Rectfv(const GLfloat *v1, const GLfloat *v2)
4952
{
4953
Context *context = GetValidGlobalContext();
4954
EVENT(context, GLRectfv, "context = %d, v1 = 0x%016" PRIxPTR ", v2 = 0x%016" PRIxPTR "",
4955
CID(context), (uintptr_t)v1, (uintptr_t)v2);
4956
4957
if (context)
4958
{
4959
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4960
bool isCallValid = (context->skipValidation() || ValidateRectfv(context, v1, v2));
4961
if (isCallValid)
4962
{
4963
context->rectfv(v1, v2);
4964
}
4965
ANGLE_CAPTURE(Rectfv, isCallValid, context, v1, v2);
4966
}
4967
else
4968
{
4969
GenerateContextLostErrorOnCurrentGlobalContext();
4970
}
4971
}
4972
4973
void GL_APIENTRY GL_Recti(GLint x1, GLint y1, GLint x2, GLint y2)
4974
{
4975
Context *context = GetValidGlobalContext();
4976
EVENT(context, GLRecti, "context = %d, x1 = %d, y1 = %d, x2 = %d, y2 = %d", CID(context), x1,
4977
y1, x2, y2);
4978
4979
if (context)
4980
{
4981
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
4982
bool isCallValid = (context->skipValidation() || ValidateRecti(context, x1, y1, x2, y2));
4983
if (isCallValid)
4984
{
4985
context->recti(x1, y1, x2, y2);
4986
}
4987
ANGLE_CAPTURE(Recti, isCallValid, context, x1, y1, x2, y2);
4988
}
4989
else
4990
{
4991
GenerateContextLostErrorOnCurrentGlobalContext();
4992
}
4993
}
4994
4995
void GL_APIENTRY GL_Rectiv(const GLint *v1, const GLint *v2)
4996
{
4997
Context *context = GetValidGlobalContext();
4998
EVENT(context, GLRectiv, "context = %d, v1 = 0x%016" PRIxPTR ", v2 = 0x%016" PRIxPTR "",
4999
CID(context), (uintptr_t)v1, (uintptr_t)v2);
5000
5001
if (context)
5002
{
5003
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5004
bool isCallValid = (context->skipValidation() || ValidateRectiv(context, v1, v2));
5005
if (isCallValid)
5006
{
5007
context->rectiv(v1, v2);
5008
}
5009
ANGLE_CAPTURE(Rectiv, isCallValid, context, v1, v2);
5010
}
5011
else
5012
{
5013
GenerateContextLostErrorOnCurrentGlobalContext();
5014
}
5015
}
5016
5017
void GL_APIENTRY GL_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
5018
{
5019
Context *context = GetValidGlobalContext();
5020
EVENT(context, GLRects, "context = %d, x1 = %d, y1 = %d, x2 = %d, y2 = %d", CID(context), x1,
5021
y1, x2, y2);
5022
5023
if (context)
5024
{
5025
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5026
bool isCallValid = (context->skipValidation() || ValidateRects(context, x1, y1, x2, y2));
5027
if (isCallValid)
5028
{
5029
context->rects(x1, y1, x2, y2);
5030
}
5031
ANGLE_CAPTURE(Rects, isCallValid, context, x1, y1, x2, y2);
5032
}
5033
else
5034
{
5035
GenerateContextLostErrorOnCurrentGlobalContext();
5036
}
5037
}
5038
5039
void GL_APIENTRY GL_Rectsv(const GLshort *v1, const GLshort *v2)
5040
{
5041
Context *context = GetValidGlobalContext();
5042
EVENT(context, GLRectsv, "context = %d, v1 = 0x%016" PRIxPTR ", v2 = 0x%016" PRIxPTR "",
5043
CID(context), (uintptr_t)v1, (uintptr_t)v2);
5044
5045
if (context)
5046
{
5047
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5048
bool isCallValid = (context->skipValidation() || ValidateRectsv(context, v1, v2));
5049
if (isCallValid)
5050
{
5051
context->rectsv(v1, v2);
5052
}
5053
ANGLE_CAPTURE(Rectsv, isCallValid, context, v1, v2);
5054
}
5055
else
5056
{
5057
GenerateContextLostErrorOnCurrentGlobalContext();
5058
}
5059
}
5060
5061
GLint GL_APIENTRY GL_RenderMode(GLenum mode)
5062
{
5063
Context *context = GetValidGlobalContext();
5064
EVENT(context, GLRenderMode, "context = %d, mode = %s", CID(context),
5065
GLenumToString(GLenumGroup::RenderingMode, mode));
5066
5067
GLint returnValue;
5068
if (context)
5069
{
5070
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5071
bool isCallValid = (context->skipValidation() || ValidateRenderMode(context, mode));
5072
if (isCallValid)
5073
{
5074
returnValue = context->renderMode(mode);
5075
}
5076
else
5077
{
5078
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLRenderMode, GLint>();
5079
}
5080
ANGLE_CAPTURE(RenderMode, isCallValid, context, mode, returnValue);
5081
}
5082
else
5083
{
5084
GenerateContextLostErrorOnCurrentGlobalContext();
5085
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLRenderMode, GLint>();
5086
}
5087
return returnValue;
5088
}
5089
5090
void GL_APIENTRY GL_Rotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
5091
{
5092
Context *context = GetValidGlobalContext();
5093
EVENT(context, GLRotated, "context = %d, angle = %f, x = %f, y = %f, z = %f", CID(context),
5094
angle, x, y, z);
5095
5096
if (context)
5097
{
5098
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5099
bool isCallValid = (context->skipValidation() || ValidateRotated(context, angle, x, y, z));
5100
if (isCallValid)
5101
{
5102
context->rotated(angle, x, y, z);
5103
}
5104
ANGLE_CAPTURE(Rotated, isCallValid, context, angle, x, y, z);
5105
}
5106
else
5107
{
5108
GenerateContextLostErrorOnCurrentGlobalContext();
5109
}
5110
}
5111
5112
void GL_APIENTRY GL_Rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
5113
{
5114
Context *context = GetValidGlobalContext();
5115
EVENT(context, GLRotatef, "context = %d, angle = %f, x = %f, y = %f, z = %f", CID(context),
5116
angle, x, y, z);
5117
5118
if (context)
5119
{
5120
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5121
bool isCallValid = (context->skipValidation() || ValidateRotatef(context, angle, x, y, z));
5122
if (isCallValid)
5123
{
5124
context->rotatef(angle, x, y, z);
5125
}
5126
ANGLE_CAPTURE(Rotatef, isCallValid, context, angle, x, y, z);
5127
}
5128
else
5129
{
5130
GenerateContextLostErrorOnCurrentGlobalContext();
5131
}
5132
}
5133
5134
void GL_APIENTRY GL_Scaled(GLdouble x, GLdouble y, GLdouble z)
5135
{
5136
Context *context = GetValidGlobalContext();
5137
EVENT(context, GLScaled, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
5138
5139
if (context)
5140
{
5141
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5142
bool isCallValid = (context->skipValidation() || ValidateScaled(context, x, y, z));
5143
if (isCallValid)
5144
{
5145
context->scaled(x, y, z);
5146
}
5147
ANGLE_CAPTURE(Scaled, isCallValid, context, x, y, z);
5148
}
5149
else
5150
{
5151
GenerateContextLostErrorOnCurrentGlobalContext();
5152
}
5153
}
5154
5155
void GL_APIENTRY GL_Scalef(GLfloat x, GLfloat y, GLfloat z)
5156
{
5157
Context *context = GetValidGlobalContext();
5158
EVENT(context, GLScalef, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
5159
5160
if (context)
5161
{
5162
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5163
bool isCallValid = (context->skipValidation() || ValidateScalef(context, x, y, z));
5164
if (isCallValid)
5165
{
5166
context->scalef(x, y, z);
5167
}
5168
ANGLE_CAPTURE(Scalef, isCallValid, context, x, y, z);
5169
}
5170
else
5171
{
5172
GenerateContextLostErrorOnCurrentGlobalContext();
5173
}
5174
}
5175
5176
void GL_APIENTRY GL_Scissor(GLint x, GLint y, GLsizei width, GLsizei height)
5177
{
5178
Context *context = GetValidGlobalContext();
5179
EVENT(context, GLScissor, "context = %d, x = %d, y = %d, width = %d, height = %d", CID(context),
5180
x, y, width, height);
5181
5182
if (context)
5183
{
5184
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5185
bool isCallValid =
5186
(context->skipValidation() || ValidateScissor(context, x, y, width, height));
5187
if (isCallValid)
5188
{
5189
context->scissor(x, y, width, height);
5190
}
5191
ANGLE_CAPTURE(Scissor, isCallValid, context, x, y, width, height);
5192
}
5193
else
5194
{
5195
GenerateContextLostErrorOnCurrentGlobalContext();
5196
}
5197
}
5198
5199
void GL_APIENTRY GL_SelectBuffer(GLsizei size, GLuint *buffer)
5200
{
5201
Context *context = GetValidGlobalContext();
5202
EVENT(context, GLSelectBuffer, "context = %d, size = %d, buffer = 0x%016" PRIxPTR "",
5203
CID(context), size, (uintptr_t)buffer);
5204
5205
if (context)
5206
{
5207
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5208
bool isCallValid =
5209
(context->skipValidation() || ValidateSelectBuffer(context, size, buffer));
5210
if (isCallValid)
5211
{
5212
context->selectBuffer(size, buffer);
5213
}
5214
ANGLE_CAPTURE(SelectBuffer, isCallValid, context, size, buffer);
5215
}
5216
else
5217
{
5218
GenerateContextLostErrorOnCurrentGlobalContext();
5219
}
5220
}
5221
5222
void GL_APIENTRY GL_ShadeModel(GLenum mode)
5223
{
5224
Context *context = GetValidGlobalContext();
5225
EVENT(context, GLShadeModel, "context = %d, mode = %s", CID(context),
5226
GLenumToString(GLenumGroup::ShadingModel, mode));
5227
5228
if (context)
5229
{
5230
ShadingModel modePacked = PackParam<ShadingModel>(mode);
5231
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5232
bool isCallValid = (context->skipValidation() || ValidateShadeModel(context, modePacked));
5233
if (isCallValid)
5234
{
5235
context->shadeModel(modePacked);
5236
}
5237
ANGLE_CAPTURE(ShadeModel, isCallValid, context, modePacked);
5238
}
5239
else
5240
{
5241
GenerateContextLostErrorOnCurrentGlobalContext();
5242
}
5243
}
5244
5245
void GL_APIENTRY GL_StencilFunc(GLenum func, GLint ref, GLuint mask)
5246
{
5247
Context *context = GetValidGlobalContext();
5248
EVENT(context, GLStencilFunc, "context = %d, func = %s, ref = %d, mask = %u", CID(context),
5249
GLenumToString(GLenumGroup::StencilFunction, func), ref, mask);
5250
5251
if (context)
5252
{
5253
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5254
bool isCallValid =
5255
(context->skipValidation() || ValidateStencilFunc(context, func, ref, mask));
5256
if (isCallValid)
5257
{
5258
context->stencilFunc(func, ref, mask);
5259
}
5260
ANGLE_CAPTURE(StencilFunc, isCallValid, context, func, ref, mask);
5261
}
5262
else
5263
{
5264
GenerateContextLostErrorOnCurrentGlobalContext();
5265
}
5266
}
5267
5268
void GL_APIENTRY GL_StencilMask(GLuint mask)
5269
{
5270
Context *context = GetValidGlobalContext();
5271
EVENT(context, GLStencilMask, "context = %d, mask = %u", CID(context), mask);
5272
5273
if (context)
5274
{
5275
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5276
bool isCallValid = (context->skipValidation() || ValidateStencilMask(context, mask));
5277
if (isCallValid)
5278
{
5279
context->stencilMask(mask);
5280
}
5281
ANGLE_CAPTURE(StencilMask, isCallValid, context, mask);
5282
}
5283
else
5284
{
5285
GenerateContextLostErrorOnCurrentGlobalContext();
5286
}
5287
}
5288
5289
void GL_APIENTRY GL_StencilOp(GLenum fail, GLenum zfail, GLenum zpass)
5290
{
5291
Context *context = GetValidGlobalContext();
5292
EVENT(context, GLStencilOp, "context = %d, fail = %s, zfail = %s, zpass = %s", CID(context),
5293
GLenumToString(GLenumGroup::StencilOp, fail),
5294
GLenumToString(GLenumGroup::StencilOp, zfail),
5295
GLenumToString(GLenumGroup::StencilOp, zpass));
5296
5297
if (context)
5298
{
5299
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5300
bool isCallValid =
5301
(context->skipValidation() || ValidateStencilOp(context, fail, zfail, zpass));
5302
if (isCallValid)
5303
{
5304
context->stencilOp(fail, zfail, zpass);
5305
}
5306
ANGLE_CAPTURE(StencilOp, isCallValid, context, fail, zfail, zpass);
5307
}
5308
else
5309
{
5310
GenerateContextLostErrorOnCurrentGlobalContext();
5311
}
5312
}
5313
5314
void GL_APIENTRY GL_TexCoord1d(GLdouble s)
5315
{
5316
Context *context = GetValidGlobalContext();
5317
EVENT(context, GLTexCoord1d, "context = %d, s = %f", CID(context), s);
5318
5319
if (context)
5320
{
5321
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5322
bool isCallValid = (context->skipValidation() || ValidateTexCoord1d(context, s));
5323
if (isCallValid)
5324
{
5325
context->texCoord1d(s);
5326
}
5327
ANGLE_CAPTURE(TexCoord1d, isCallValid, context, s);
5328
}
5329
else
5330
{
5331
GenerateContextLostErrorOnCurrentGlobalContext();
5332
}
5333
}
5334
5335
void GL_APIENTRY GL_TexCoord1dv(const GLdouble *v)
5336
{
5337
Context *context = GetValidGlobalContext();
5338
EVENT(context, GLTexCoord1dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5339
(uintptr_t)v);
5340
5341
if (context)
5342
{
5343
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5344
bool isCallValid = (context->skipValidation() || ValidateTexCoord1dv(context, v));
5345
if (isCallValid)
5346
{
5347
context->texCoord1dv(v);
5348
}
5349
ANGLE_CAPTURE(TexCoord1dv, isCallValid, context, v);
5350
}
5351
else
5352
{
5353
GenerateContextLostErrorOnCurrentGlobalContext();
5354
}
5355
}
5356
5357
void GL_APIENTRY GL_TexCoord1f(GLfloat s)
5358
{
5359
Context *context = GetValidGlobalContext();
5360
EVENT(context, GLTexCoord1f, "context = %d, s = %f", CID(context), s);
5361
5362
if (context)
5363
{
5364
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5365
bool isCallValid = (context->skipValidation() || ValidateTexCoord1f(context, s));
5366
if (isCallValid)
5367
{
5368
context->texCoord1f(s);
5369
}
5370
ANGLE_CAPTURE(TexCoord1f, isCallValid, context, s);
5371
}
5372
else
5373
{
5374
GenerateContextLostErrorOnCurrentGlobalContext();
5375
}
5376
}
5377
5378
void GL_APIENTRY GL_TexCoord1fv(const GLfloat *v)
5379
{
5380
Context *context = GetValidGlobalContext();
5381
EVENT(context, GLTexCoord1fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5382
(uintptr_t)v);
5383
5384
if (context)
5385
{
5386
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5387
bool isCallValid = (context->skipValidation() || ValidateTexCoord1fv(context, v));
5388
if (isCallValid)
5389
{
5390
context->texCoord1fv(v);
5391
}
5392
ANGLE_CAPTURE(TexCoord1fv, isCallValid, context, v);
5393
}
5394
else
5395
{
5396
GenerateContextLostErrorOnCurrentGlobalContext();
5397
}
5398
}
5399
5400
void GL_APIENTRY GL_TexCoord1i(GLint s)
5401
{
5402
Context *context = GetValidGlobalContext();
5403
EVENT(context, GLTexCoord1i, "context = %d, s = %d", CID(context), s);
5404
5405
if (context)
5406
{
5407
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5408
bool isCallValid = (context->skipValidation() || ValidateTexCoord1i(context, s));
5409
if (isCallValid)
5410
{
5411
context->texCoord1i(s);
5412
}
5413
ANGLE_CAPTURE(TexCoord1i, isCallValid, context, s);
5414
}
5415
else
5416
{
5417
GenerateContextLostErrorOnCurrentGlobalContext();
5418
}
5419
}
5420
5421
void GL_APIENTRY GL_TexCoord1iv(const GLint *v)
5422
{
5423
Context *context = GetValidGlobalContext();
5424
EVENT(context, GLTexCoord1iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5425
(uintptr_t)v);
5426
5427
if (context)
5428
{
5429
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5430
bool isCallValid = (context->skipValidation() || ValidateTexCoord1iv(context, v));
5431
if (isCallValid)
5432
{
5433
context->texCoord1iv(v);
5434
}
5435
ANGLE_CAPTURE(TexCoord1iv, isCallValid, context, v);
5436
}
5437
else
5438
{
5439
GenerateContextLostErrorOnCurrentGlobalContext();
5440
}
5441
}
5442
5443
void GL_APIENTRY GL_TexCoord1s(GLshort s)
5444
{
5445
Context *context = GetValidGlobalContext();
5446
EVENT(context, GLTexCoord1s, "context = %d, s = %d", CID(context), s);
5447
5448
if (context)
5449
{
5450
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5451
bool isCallValid = (context->skipValidation() || ValidateTexCoord1s(context, s));
5452
if (isCallValid)
5453
{
5454
context->texCoord1s(s);
5455
}
5456
ANGLE_CAPTURE(TexCoord1s, isCallValid, context, s);
5457
}
5458
else
5459
{
5460
GenerateContextLostErrorOnCurrentGlobalContext();
5461
}
5462
}
5463
5464
void GL_APIENTRY GL_TexCoord1sv(const GLshort *v)
5465
{
5466
Context *context = GetValidGlobalContext();
5467
EVENT(context, GLTexCoord1sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5468
(uintptr_t)v);
5469
5470
if (context)
5471
{
5472
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5473
bool isCallValid = (context->skipValidation() || ValidateTexCoord1sv(context, v));
5474
if (isCallValid)
5475
{
5476
context->texCoord1sv(v);
5477
}
5478
ANGLE_CAPTURE(TexCoord1sv, isCallValid, context, v);
5479
}
5480
else
5481
{
5482
GenerateContextLostErrorOnCurrentGlobalContext();
5483
}
5484
}
5485
5486
void GL_APIENTRY GL_TexCoord2d(GLdouble s, GLdouble t)
5487
{
5488
Context *context = GetValidGlobalContext();
5489
EVENT(context, GLTexCoord2d, "context = %d, s = %f, t = %f", CID(context), s, t);
5490
5491
if (context)
5492
{
5493
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5494
bool isCallValid = (context->skipValidation() || ValidateTexCoord2d(context, s, t));
5495
if (isCallValid)
5496
{
5497
context->texCoord2d(s, t);
5498
}
5499
ANGLE_CAPTURE(TexCoord2d, isCallValid, context, s, t);
5500
}
5501
else
5502
{
5503
GenerateContextLostErrorOnCurrentGlobalContext();
5504
}
5505
}
5506
5507
void GL_APIENTRY GL_TexCoord2dv(const GLdouble *v)
5508
{
5509
Context *context = GetValidGlobalContext();
5510
EVENT(context, GLTexCoord2dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5511
(uintptr_t)v);
5512
5513
if (context)
5514
{
5515
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5516
bool isCallValid = (context->skipValidation() || ValidateTexCoord2dv(context, v));
5517
if (isCallValid)
5518
{
5519
context->texCoord2dv(v);
5520
}
5521
ANGLE_CAPTURE(TexCoord2dv, isCallValid, context, v);
5522
}
5523
else
5524
{
5525
GenerateContextLostErrorOnCurrentGlobalContext();
5526
}
5527
}
5528
5529
void GL_APIENTRY GL_TexCoord2f(GLfloat s, GLfloat t)
5530
{
5531
Context *context = GetValidGlobalContext();
5532
EVENT(context, GLTexCoord2f, "context = %d, s = %f, t = %f", CID(context), s, t);
5533
5534
if (context)
5535
{
5536
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5537
bool isCallValid = (context->skipValidation() || ValidateTexCoord2f(context, s, t));
5538
if (isCallValid)
5539
{
5540
context->texCoord2f(s, t);
5541
}
5542
ANGLE_CAPTURE(TexCoord2f, isCallValid, context, s, t);
5543
}
5544
else
5545
{
5546
GenerateContextLostErrorOnCurrentGlobalContext();
5547
}
5548
}
5549
5550
void GL_APIENTRY GL_TexCoord2fv(const GLfloat *v)
5551
{
5552
Context *context = GetValidGlobalContext();
5553
EVENT(context, GLTexCoord2fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5554
(uintptr_t)v);
5555
5556
if (context)
5557
{
5558
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5559
bool isCallValid = (context->skipValidation() || ValidateTexCoord2fv(context, v));
5560
if (isCallValid)
5561
{
5562
context->texCoord2fv(v);
5563
}
5564
ANGLE_CAPTURE(TexCoord2fv, isCallValid, context, v);
5565
}
5566
else
5567
{
5568
GenerateContextLostErrorOnCurrentGlobalContext();
5569
}
5570
}
5571
5572
void GL_APIENTRY GL_TexCoord2i(GLint s, GLint t)
5573
{
5574
Context *context = GetValidGlobalContext();
5575
EVENT(context, GLTexCoord2i, "context = %d, s = %d, t = %d", CID(context), s, t);
5576
5577
if (context)
5578
{
5579
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5580
bool isCallValid = (context->skipValidation() || ValidateTexCoord2i(context, s, t));
5581
if (isCallValid)
5582
{
5583
context->texCoord2i(s, t);
5584
}
5585
ANGLE_CAPTURE(TexCoord2i, isCallValid, context, s, t);
5586
}
5587
else
5588
{
5589
GenerateContextLostErrorOnCurrentGlobalContext();
5590
}
5591
}
5592
5593
void GL_APIENTRY GL_TexCoord2iv(const GLint *v)
5594
{
5595
Context *context = GetValidGlobalContext();
5596
EVENT(context, GLTexCoord2iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5597
(uintptr_t)v);
5598
5599
if (context)
5600
{
5601
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5602
bool isCallValid = (context->skipValidation() || ValidateTexCoord2iv(context, v));
5603
if (isCallValid)
5604
{
5605
context->texCoord2iv(v);
5606
}
5607
ANGLE_CAPTURE(TexCoord2iv, isCallValid, context, v);
5608
}
5609
else
5610
{
5611
GenerateContextLostErrorOnCurrentGlobalContext();
5612
}
5613
}
5614
5615
void GL_APIENTRY GL_TexCoord2s(GLshort s, GLshort t)
5616
{
5617
Context *context = GetValidGlobalContext();
5618
EVENT(context, GLTexCoord2s, "context = %d, s = %d, t = %d", CID(context), s, t);
5619
5620
if (context)
5621
{
5622
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5623
bool isCallValid = (context->skipValidation() || ValidateTexCoord2s(context, s, t));
5624
if (isCallValid)
5625
{
5626
context->texCoord2s(s, t);
5627
}
5628
ANGLE_CAPTURE(TexCoord2s, isCallValid, context, s, t);
5629
}
5630
else
5631
{
5632
GenerateContextLostErrorOnCurrentGlobalContext();
5633
}
5634
}
5635
5636
void GL_APIENTRY GL_TexCoord2sv(const GLshort *v)
5637
{
5638
Context *context = GetValidGlobalContext();
5639
EVENT(context, GLTexCoord2sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5640
(uintptr_t)v);
5641
5642
if (context)
5643
{
5644
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5645
bool isCallValid = (context->skipValidation() || ValidateTexCoord2sv(context, v));
5646
if (isCallValid)
5647
{
5648
context->texCoord2sv(v);
5649
}
5650
ANGLE_CAPTURE(TexCoord2sv, isCallValid, context, v);
5651
}
5652
else
5653
{
5654
GenerateContextLostErrorOnCurrentGlobalContext();
5655
}
5656
}
5657
5658
void GL_APIENTRY GL_TexCoord3d(GLdouble s, GLdouble t, GLdouble r)
5659
{
5660
Context *context = GetValidGlobalContext();
5661
EVENT(context, GLTexCoord3d, "context = %d, s = %f, t = %f, r = %f", CID(context), s, t, r);
5662
5663
if (context)
5664
{
5665
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5666
bool isCallValid = (context->skipValidation() || ValidateTexCoord3d(context, s, t, r));
5667
if (isCallValid)
5668
{
5669
context->texCoord3d(s, t, r);
5670
}
5671
ANGLE_CAPTURE(TexCoord3d, isCallValid, context, s, t, r);
5672
}
5673
else
5674
{
5675
GenerateContextLostErrorOnCurrentGlobalContext();
5676
}
5677
}
5678
5679
void GL_APIENTRY GL_TexCoord3dv(const GLdouble *v)
5680
{
5681
Context *context = GetValidGlobalContext();
5682
EVENT(context, GLTexCoord3dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5683
(uintptr_t)v);
5684
5685
if (context)
5686
{
5687
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5688
bool isCallValid = (context->skipValidation() || ValidateTexCoord3dv(context, v));
5689
if (isCallValid)
5690
{
5691
context->texCoord3dv(v);
5692
}
5693
ANGLE_CAPTURE(TexCoord3dv, isCallValid, context, v);
5694
}
5695
else
5696
{
5697
GenerateContextLostErrorOnCurrentGlobalContext();
5698
}
5699
}
5700
5701
void GL_APIENTRY GL_TexCoord3f(GLfloat s, GLfloat t, GLfloat r)
5702
{
5703
Context *context = GetValidGlobalContext();
5704
EVENT(context, GLTexCoord3f, "context = %d, s = %f, t = %f, r = %f", CID(context), s, t, r);
5705
5706
if (context)
5707
{
5708
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5709
bool isCallValid = (context->skipValidation() || ValidateTexCoord3f(context, s, t, r));
5710
if (isCallValid)
5711
{
5712
context->texCoord3f(s, t, r);
5713
}
5714
ANGLE_CAPTURE(TexCoord3f, isCallValid, context, s, t, r);
5715
}
5716
else
5717
{
5718
GenerateContextLostErrorOnCurrentGlobalContext();
5719
}
5720
}
5721
5722
void GL_APIENTRY GL_TexCoord3fv(const GLfloat *v)
5723
{
5724
Context *context = GetValidGlobalContext();
5725
EVENT(context, GLTexCoord3fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5726
(uintptr_t)v);
5727
5728
if (context)
5729
{
5730
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5731
bool isCallValid = (context->skipValidation() || ValidateTexCoord3fv(context, v));
5732
if (isCallValid)
5733
{
5734
context->texCoord3fv(v);
5735
}
5736
ANGLE_CAPTURE(TexCoord3fv, isCallValid, context, v);
5737
}
5738
else
5739
{
5740
GenerateContextLostErrorOnCurrentGlobalContext();
5741
}
5742
}
5743
5744
void GL_APIENTRY GL_TexCoord3i(GLint s, GLint t, GLint r)
5745
{
5746
Context *context = GetValidGlobalContext();
5747
EVENT(context, GLTexCoord3i, "context = %d, s = %d, t = %d, r = %d", CID(context), s, t, r);
5748
5749
if (context)
5750
{
5751
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5752
bool isCallValid = (context->skipValidation() || ValidateTexCoord3i(context, s, t, r));
5753
if (isCallValid)
5754
{
5755
context->texCoord3i(s, t, r);
5756
}
5757
ANGLE_CAPTURE(TexCoord3i, isCallValid, context, s, t, r);
5758
}
5759
else
5760
{
5761
GenerateContextLostErrorOnCurrentGlobalContext();
5762
}
5763
}
5764
5765
void GL_APIENTRY GL_TexCoord3iv(const GLint *v)
5766
{
5767
Context *context = GetValidGlobalContext();
5768
EVENT(context, GLTexCoord3iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5769
(uintptr_t)v);
5770
5771
if (context)
5772
{
5773
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5774
bool isCallValid = (context->skipValidation() || ValidateTexCoord3iv(context, v));
5775
if (isCallValid)
5776
{
5777
context->texCoord3iv(v);
5778
}
5779
ANGLE_CAPTURE(TexCoord3iv, isCallValid, context, v);
5780
}
5781
else
5782
{
5783
GenerateContextLostErrorOnCurrentGlobalContext();
5784
}
5785
}
5786
5787
void GL_APIENTRY GL_TexCoord3s(GLshort s, GLshort t, GLshort r)
5788
{
5789
Context *context = GetValidGlobalContext();
5790
EVENT(context, GLTexCoord3s, "context = %d, s = %d, t = %d, r = %d", CID(context), s, t, r);
5791
5792
if (context)
5793
{
5794
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5795
bool isCallValid = (context->skipValidation() || ValidateTexCoord3s(context, s, t, r));
5796
if (isCallValid)
5797
{
5798
context->texCoord3s(s, t, r);
5799
}
5800
ANGLE_CAPTURE(TexCoord3s, isCallValid, context, s, t, r);
5801
}
5802
else
5803
{
5804
GenerateContextLostErrorOnCurrentGlobalContext();
5805
}
5806
}
5807
5808
void GL_APIENTRY GL_TexCoord3sv(const GLshort *v)
5809
{
5810
Context *context = GetValidGlobalContext();
5811
EVENT(context, GLTexCoord3sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5812
(uintptr_t)v);
5813
5814
if (context)
5815
{
5816
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5817
bool isCallValid = (context->skipValidation() || ValidateTexCoord3sv(context, v));
5818
if (isCallValid)
5819
{
5820
context->texCoord3sv(v);
5821
}
5822
ANGLE_CAPTURE(TexCoord3sv, isCallValid, context, v);
5823
}
5824
else
5825
{
5826
GenerateContextLostErrorOnCurrentGlobalContext();
5827
}
5828
}
5829
5830
void GL_APIENTRY GL_TexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q)
5831
{
5832
Context *context = GetValidGlobalContext();
5833
EVENT(context, GLTexCoord4d, "context = %d, s = %f, t = %f, r = %f, q = %f", CID(context), s, t,
5834
r, q);
5835
5836
if (context)
5837
{
5838
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5839
bool isCallValid = (context->skipValidation() || ValidateTexCoord4d(context, s, t, r, q));
5840
if (isCallValid)
5841
{
5842
context->texCoord4d(s, t, r, q);
5843
}
5844
ANGLE_CAPTURE(TexCoord4d, isCallValid, context, s, t, r, q);
5845
}
5846
else
5847
{
5848
GenerateContextLostErrorOnCurrentGlobalContext();
5849
}
5850
}
5851
5852
void GL_APIENTRY GL_TexCoord4dv(const GLdouble *v)
5853
{
5854
Context *context = GetValidGlobalContext();
5855
EVENT(context, GLTexCoord4dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5856
(uintptr_t)v);
5857
5858
if (context)
5859
{
5860
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5861
bool isCallValid = (context->skipValidation() || ValidateTexCoord4dv(context, v));
5862
if (isCallValid)
5863
{
5864
context->texCoord4dv(v);
5865
}
5866
ANGLE_CAPTURE(TexCoord4dv, isCallValid, context, v);
5867
}
5868
else
5869
{
5870
GenerateContextLostErrorOnCurrentGlobalContext();
5871
}
5872
}
5873
5874
void GL_APIENTRY GL_TexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q)
5875
{
5876
Context *context = GetValidGlobalContext();
5877
EVENT(context, GLTexCoord4f, "context = %d, s = %f, t = %f, r = %f, q = %f", CID(context), s, t,
5878
r, q);
5879
5880
if (context)
5881
{
5882
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5883
bool isCallValid = (context->skipValidation() || ValidateTexCoord4f(context, s, t, r, q));
5884
if (isCallValid)
5885
{
5886
context->texCoord4f(s, t, r, q);
5887
}
5888
ANGLE_CAPTURE(TexCoord4f, isCallValid, context, s, t, r, q);
5889
}
5890
else
5891
{
5892
GenerateContextLostErrorOnCurrentGlobalContext();
5893
}
5894
}
5895
5896
void GL_APIENTRY GL_TexCoord4fv(const GLfloat *v)
5897
{
5898
Context *context = GetValidGlobalContext();
5899
EVENT(context, GLTexCoord4fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5900
(uintptr_t)v);
5901
5902
if (context)
5903
{
5904
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5905
bool isCallValid = (context->skipValidation() || ValidateTexCoord4fv(context, v));
5906
if (isCallValid)
5907
{
5908
context->texCoord4fv(v);
5909
}
5910
ANGLE_CAPTURE(TexCoord4fv, isCallValid, context, v);
5911
}
5912
else
5913
{
5914
GenerateContextLostErrorOnCurrentGlobalContext();
5915
}
5916
}
5917
5918
void GL_APIENTRY GL_TexCoord4i(GLint s, GLint t, GLint r, GLint q)
5919
{
5920
Context *context = GetValidGlobalContext();
5921
EVENT(context, GLTexCoord4i, "context = %d, s = %d, t = %d, r = %d, q = %d", CID(context), s, t,
5922
r, q);
5923
5924
if (context)
5925
{
5926
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5927
bool isCallValid = (context->skipValidation() || ValidateTexCoord4i(context, s, t, r, q));
5928
if (isCallValid)
5929
{
5930
context->texCoord4i(s, t, r, q);
5931
}
5932
ANGLE_CAPTURE(TexCoord4i, isCallValid, context, s, t, r, q);
5933
}
5934
else
5935
{
5936
GenerateContextLostErrorOnCurrentGlobalContext();
5937
}
5938
}
5939
5940
void GL_APIENTRY GL_TexCoord4iv(const GLint *v)
5941
{
5942
Context *context = GetValidGlobalContext();
5943
EVENT(context, GLTexCoord4iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5944
(uintptr_t)v);
5945
5946
if (context)
5947
{
5948
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5949
bool isCallValid = (context->skipValidation() || ValidateTexCoord4iv(context, v));
5950
if (isCallValid)
5951
{
5952
context->texCoord4iv(v);
5953
}
5954
ANGLE_CAPTURE(TexCoord4iv, isCallValid, context, v);
5955
}
5956
else
5957
{
5958
GenerateContextLostErrorOnCurrentGlobalContext();
5959
}
5960
}
5961
5962
void GL_APIENTRY GL_TexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q)
5963
{
5964
Context *context = GetValidGlobalContext();
5965
EVENT(context, GLTexCoord4s, "context = %d, s = %d, t = %d, r = %d, q = %d", CID(context), s, t,
5966
r, q);
5967
5968
if (context)
5969
{
5970
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5971
bool isCallValid = (context->skipValidation() || ValidateTexCoord4s(context, s, t, r, q));
5972
if (isCallValid)
5973
{
5974
context->texCoord4s(s, t, r, q);
5975
}
5976
ANGLE_CAPTURE(TexCoord4s, isCallValid, context, s, t, r, q);
5977
}
5978
else
5979
{
5980
GenerateContextLostErrorOnCurrentGlobalContext();
5981
}
5982
}
5983
5984
void GL_APIENTRY GL_TexCoord4sv(const GLshort *v)
5985
{
5986
Context *context = GetValidGlobalContext();
5987
EVENT(context, GLTexCoord4sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
5988
(uintptr_t)v);
5989
5990
if (context)
5991
{
5992
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
5993
bool isCallValid = (context->skipValidation() || ValidateTexCoord4sv(context, v));
5994
if (isCallValid)
5995
{
5996
context->texCoord4sv(v);
5997
}
5998
ANGLE_CAPTURE(TexCoord4sv, isCallValid, context, v);
5999
}
6000
else
6001
{
6002
GenerateContextLostErrorOnCurrentGlobalContext();
6003
}
6004
}
6005
6006
void GL_APIENTRY GL_TexEnvf(GLenum target, GLenum pname, GLfloat param)
6007
{
6008
Context *context = GetValidGlobalContext();
6009
EVENT(context, GLTexEnvf, "context = %d, target = %s, pname = %s, param = %f", CID(context),
6010
GLenumToString(GLenumGroup::TextureEnvTarget, target),
6011
GLenumToString(GLenumGroup::TextureEnvParameter, pname), param);
6012
6013
if (context)
6014
{
6015
TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);
6016
TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);
6017
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6018
bool isCallValid = (context->skipValidation() ||
6019
ValidateTexEnvf(context, targetPacked, pnamePacked, param));
6020
if (isCallValid)
6021
{
6022
context->texEnvf(targetPacked, pnamePacked, param);
6023
}
6024
ANGLE_CAPTURE(TexEnvf, isCallValid, context, targetPacked, pnamePacked, param);
6025
}
6026
else
6027
{
6028
GenerateContextLostErrorOnCurrentGlobalContext();
6029
}
6030
}
6031
6032
void GL_APIENTRY GL_TexEnvfv(GLenum target, GLenum pname, const GLfloat *params)
6033
{
6034
Context *context = GetValidGlobalContext();
6035
EVENT(context, GLTexEnvfv, "context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "",
6036
CID(context), GLenumToString(GLenumGroup::TextureEnvTarget, target),
6037
GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);
6038
6039
if (context)
6040
{
6041
TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);
6042
TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);
6043
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6044
bool isCallValid = (context->skipValidation() ||
6045
ValidateTexEnvfv(context, targetPacked, pnamePacked, params));
6046
if (isCallValid)
6047
{
6048
context->texEnvfv(targetPacked, pnamePacked, params);
6049
}
6050
ANGLE_CAPTURE(TexEnvfv, isCallValid, context, targetPacked, pnamePacked, params);
6051
}
6052
else
6053
{
6054
GenerateContextLostErrorOnCurrentGlobalContext();
6055
}
6056
}
6057
6058
void GL_APIENTRY GL_TexEnvi(GLenum target, GLenum pname, GLint param)
6059
{
6060
Context *context = GetValidGlobalContext();
6061
EVENT(context, GLTexEnvi, "context = %d, target = %s, pname = %s, param = %d", CID(context),
6062
GLenumToString(GLenumGroup::TextureEnvTarget, target),
6063
GLenumToString(GLenumGroup::TextureEnvParameter, pname), param);
6064
6065
if (context)
6066
{
6067
TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);
6068
TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);
6069
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6070
bool isCallValid = (context->skipValidation() ||
6071
ValidateTexEnvi(context, targetPacked, pnamePacked, param));
6072
if (isCallValid)
6073
{
6074
context->texEnvi(targetPacked, pnamePacked, param);
6075
}
6076
ANGLE_CAPTURE(TexEnvi, isCallValid, context, targetPacked, pnamePacked, param);
6077
}
6078
else
6079
{
6080
GenerateContextLostErrorOnCurrentGlobalContext();
6081
}
6082
}
6083
6084
void GL_APIENTRY GL_TexEnviv(GLenum target, GLenum pname, const GLint *params)
6085
{
6086
Context *context = GetValidGlobalContext();
6087
EVENT(context, GLTexEnviv, "context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "",
6088
CID(context), GLenumToString(GLenumGroup::TextureEnvTarget, target),
6089
GLenumToString(GLenumGroup::TextureEnvParameter, pname), (uintptr_t)params);
6090
6091
if (context)
6092
{
6093
TextureEnvTarget targetPacked = PackParam<TextureEnvTarget>(target);
6094
TextureEnvParameter pnamePacked = PackParam<TextureEnvParameter>(pname);
6095
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6096
bool isCallValid = (context->skipValidation() ||
6097
ValidateTexEnviv(context, targetPacked, pnamePacked, params));
6098
if (isCallValid)
6099
{
6100
context->texEnviv(targetPacked, pnamePacked, params);
6101
}
6102
ANGLE_CAPTURE(TexEnviv, isCallValid, context, targetPacked, pnamePacked, params);
6103
}
6104
else
6105
{
6106
GenerateContextLostErrorOnCurrentGlobalContext();
6107
}
6108
}
6109
6110
void GL_APIENTRY GL_TexGend(GLenum coord, GLenum pname, GLdouble param)
6111
{
6112
Context *context = GetValidGlobalContext();
6113
EVENT(context, GLTexGend, "context = %d, coord = %s, pname = %s, param = %f", CID(context),
6114
GLenumToString(GLenumGroup::TextureCoordName, coord),
6115
GLenumToString(GLenumGroup::TextureGenParameter, pname), param);
6116
6117
if (context)
6118
{
6119
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6120
bool isCallValid =
6121
(context->skipValidation() || ValidateTexGend(context, coord, pname, param));
6122
if (isCallValid)
6123
{
6124
context->texGend(coord, pname, param);
6125
}
6126
ANGLE_CAPTURE(TexGend, isCallValid, context, coord, pname, param);
6127
}
6128
else
6129
{
6130
GenerateContextLostErrorOnCurrentGlobalContext();
6131
}
6132
}
6133
6134
void GL_APIENTRY GL_TexGendv(GLenum coord, GLenum pname, const GLdouble *params)
6135
{
6136
Context *context = GetValidGlobalContext();
6137
EVENT(context, GLTexGendv, "context = %d, coord = %s, pname = %s, params = 0x%016" PRIxPTR "",
6138
CID(context), GLenumToString(GLenumGroup::TextureCoordName, coord),
6139
GLenumToString(GLenumGroup::TextureGenParameter, pname), (uintptr_t)params);
6140
6141
if (context)
6142
{
6143
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6144
bool isCallValid =
6145
(context->skipValidation() || ValidateTexGendv(context, coord, pname, params));
6146
if (isCallValid)
6147
{
6148
context->texGendv(coord, pname, params);
6149
}
6150
ANGLE_CAPTURE(TexGendv, isCallValid, context, coord, pname, params);
6151
}
6152
else
6153
{
6154
GenerateContextLostErrorOnCurrentGlobalContext();
6155
}
6156
}
6157
6158
void GL_APIENTRY GL_TexGenf(GLenum coord, GLenum pname, GLfloat param)
6159
{
6160
Context *context = GetValidGlobalContext();
6161
EVENT(context, GLTexGenf, "context = %d, coord = %s, pname = %s, param = %f", CID(context),
6162
GLenumToString(GLenumGroup::TextureCoordName, coord),
6163
GLenumToString(GLenumGroup::TextureGenParameter, pname), param);
6164
6165
if (context)
6166
{
6167
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6168
bool isCallValid =
6169
(context->skipValidation() || ValidateTexGenf(context, coord, pname, param));
6170
if (isCallValid)
6171
{
6172
context->texGenf(coord, pname, param);
6173
}
6174
ANGLE_CAPTURE(TexGenf, isCallValid, context, coord, pname, param);
6175
}
6176
else
6177
{
6178
GenerateContextLostErrorOnCurrentGlobalContext();
6179
}
6180
}
6181
6182
void GL_APIENTRY GL_TexGenfv(GLenum coord, GLenum pname, const GLfloat *params)
6183
{
6184
Context *context = GetValidGlobalContext();
6185
EVENT(context, GLTexGenfv, "context = %d, coord = %s, pname = %s, params = 0x%016" PRIxPTR "",
6186
CID(context), GLenumToString(GLenumGroup::TextureCoordName, coord),
6187
GLenumToString(GLenumGroup::TextureGenParameter, pname), (uintptr_t)params);
6188
6189
if (context)
6190
{
6191
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6192
bool isCallValid =
6193
(context->skipValidation() || ValidateTexGenfv(context, coord, pname, params));
6194
if (isCallValid)
6195
{
6196
context->texGenfv(coord, pname, params);
6197
}
6198
ANGLE_CAPTURE(TexGenfv, isCallValid, context, coord, pname, params);
6199
}
6200
else
6201
{
6202
GenerateContextLostErrorOnCurrentGlobalContext();
6203
}
6204
}
6205
6206
void GL_APIENTRY GL_TexGeni(GLenum coord, GLenum pname, GLint param)
6207
{
6208
Context *context = GetValidGlobalContext();
6209
EVENT(context, GLTexGeni, "context = %d, coord = %s, pname = %s, param = %d", CID(context),
6210
GLenumToString(GLenumGroup::TextureCoordName, coord),
6211
GLenumToString(GLenumGroup::TextureGenParameter, pname), param);
6212
6213
if (context)
6214
{
6215
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6216
bool isCallValid =
6217
(context->skipValidation() || ValidateTexGeni(context, coord, pname, param));
6218
if (isCallValid)
6219
{
6220
context->texGeni(coord, pname, param);
6221
}
6222
ANGLE_CAPTURE(TexGeni, isCallValid, context, coord, pname, param);
6223
}
6224
else
6225
{
6226
GenerateContextLostErrorOnCurrentGlobalContext();
6227
}
6228
}
6229
6230
void GL_APIENTRY GL_TexGeniv(GLenum coord, GLenum pname, const GLint *params)
6231
{
6232
Context *context = GetValidGlobalContext();
6233
EVENT(context, GLTexGeniv, "context = %d, coord = %s, pname = %s, params = 0x%016" PRIxPTR "",
6234
CID(context), GLenumToString(GLenumGroup::TextureCoordName, coord),
6235
GLenumToString(GLenumGroup::TextureGenParameter, pname), (uintptr_t)params);
6236
6237
if (context)
6238
{
6239
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6240
bool isCallValid =
6241
(context->skipValidation() || ValidateTexGeniv(context, coord, pname, params));
6242
if (isCallValid)
6243
{
6244
context->texGeniv(coord, pname, params);
6245
}
6246
ANGLE_CAPTURE(TexGeniv, isCallValid, context, coord, pname, params);
6247
}
6248
else
6249
{
6250
GenerateContextLostErrorOnCurrentGlobalContext();
6251
}
6252
}
6253
6254
void GL_APIENTRY GL_TexImage1D(GLenum target,
6255
GLint level,
6256
GLint internalformat,
6257
GLsizei width,
6258
GLint border,
6259
GLenum format,
6260
GLenum type,
6261
const void *pixels)
6262
{
6263
Context *context = GetValidGlobalContext();
6264
EVENT(context, GLTexImage1D,
6265
"context = %d, target = %s, level = %d, internalformat = %d, width = %d, border = %d, "
6266
"format = %s, type = %s, pixels = 0x%016" PRIxPTR "",
6267
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, internalformat,
6268
width, border, GLenumToString(GLenumGroup::PixelFormat, format),
6269
GLenumToString(GLenumGroup::PixelType, type), (uintptr_t)pixels);
6270
6271
if (context)
6272
{
6273
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6274
bool isCallValid =
6275
(context->skipValidation() || ValidateTexImage1D(context, target, level, internalformat,
6276
width, border, format, type, pixels));
6277
if (isCallValid)
6278
{
6279
context->texImage1D(target, level, internalformat, width, border, format, type, pixels);
6280
}
6281
ANGLE_CAPTURE(TexImage1D, isCallValid, context, target, level, internalformat, width,
6282
border, format, type, pixels);
6283
}
6284
else
6285
{
6286
GenerateContextLostErrorOnCurrentGlobalContext();
6287
}
6288
}
6289
6290
void GL_APIENTRY GL_TexImage2D(GLenum target,
6291
GLint level,
6292
GLint internalformat,
6293
GLsizei width,
6294
GLsizei height,
6295
GLint border,
6296
GLenum format,
6297
GLenum type,
6298
const void *pixels)
6299
{
6300
Context *context = GetValidGlobalContext();
6301
EVENT(context, GLTexImage2D,
6302
"context = %d, target = %s, level = %d, internalformat = %d, width = %d, height = %d, "
6303
"border = %d, format = %s, type = %s, pixels = 0x%016" PRIxPTR "",
6304
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, internalformat,
6305
width, height, border, GLenumToString(GLenumGroup::PixelFormat, format),
6306
GLenumToString(GLenumGroup::PixelType, type), (uintptr_t)pixels);
6307
6308
if (context)
6309
{
6310
TextureTarget targetPacked = PackParam<TextureTarget>(target);
6311
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6312
bool isCallValid = (context->skipValidation() ||
6313
ValidateTexImage2D(context, targetPacked, level, internalformat, width,
6314
height, border, format, type, pixels));
6315
if (isCallValid)
6316
{
6317
context->texImage2D(targetPacked, level, internalformat, width, height, border, format,
6318
type, pixels);
6319
}
6320
ANGLE_CAPTURE(TexImage2D, isCallValid, context, targetPacked, level, internalformat, width,
6321
height, border, format, type, pixels);
6322
}
6323
else
6324
{
6325
GenerateContextLostErrorOnCurrentGlobalContext();
6326
}
6327
}
6328
6329
void GL_APIENTRY GL_TexParameterf(GLenum target, GLenum pname, GLfloat param)
6330
{
6331
Context *context = GetValidGlobalContext();
6332
EVENT(context, GLTexParameterf, "context = %d, target = %s, pname = %s, param = %f",
6333
CID(context), GLenumToString(GLenumGroup::TextureTarget, target),
6334
GLenumToString(GLenumGroup::TextureParameterName, pname), param);
6335
6336
if (context)
6337
{
6338
TextureType targetPacked = PackParam<TextureType>(target);
6339
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6340
bool isCallValid = (context->skipValidation() ||
6341
ValidateTexParameterf(context, targetPacked, pname, param));
6342
if (isCallValid)
6343
{
6344
context->texParameterf(targetPacked, pname, param);
6345
}
6346
ANGLE_CAPTURE(TexParameterf, isCallValid, context, targetPacked, pname, param);
6347
}
6348
else
6349
{
6350
GenerateContextLostErrorOnCurrentGlobalContext();
6351
}
6352
}
6353
6354
void GL_APIENTRY GL_TexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
6355
{
6356
Context *context = GetValidGlobalContext();
6357
EVENT(context, GLTexParameterfv,
6358
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
6359
GLenumToString(GLenumGroup::TextureTarget, target),
6360
GLenumToString(GLenumGroup::TextureParameterName, pname), (uintptr_t)params);
6361
6362
if (context)
6363
{
6364
TextureType targetPacked = PackParam<TextureType>(target);
6365
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6366
bool isCallValid = (context->skipValidation() ||
6367
ValidateTexParameterfv(context, targetPacked, pname, params));
6368
if (isCallValid)
6369
{
6370
context->texParameterfv(targetPacked, pname, params);
6371
}
6372
ANGLE_CAPTURE(TexParameterfv, isCallValid, context, targetPacked, pname, params);
6373
}
6374
else
6375
{
6376
GenerateContextLostErrorOnCurrentGlobalContext();
6377
}
6378
}
6379
6380
void GL_APIENTRY GL_TexParameteri(GLenum target, GLenum pname, GLint param)
6381
{
6382
Context *context = GetValidGlobalContext();
6383
EVENT(context, GLTexParameteri, "context = %d, target = %s, pname = %s, param = %d",
6384
CID(context), GLenumToString(GLenumGroup::TextureTarget, target),
6385
GLenumToString(GLenumGroup::TextureParameterName, pname), param);
6386
6387
if (context)
6388
{
6389
TextureType targetPacked = PackParam<TextureType>(target);
6390
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6391
bool isCallValid = (context->skipValidation() ||
6392
ValidateTexParameteri(context, targetPacked, pname, param));
6393
if (isCallValid)
6394
{
6395
context->texParameteri(targetPacked, pname, param);
6396
}
6397
ANGLE_CAPTURE(TexParameteri, isCallValid, context, targetPacked, pname, param);
6398
}
6399
else
6400
{
6401
GenerateContextLostErrorOnCurrentGlobalContext();
6402
}
6403
}
6404
6405
void GL_APIENTRY GL_TexParameteriv(GLenum target, GLenum pname, const GLint *params)
6406
{
6407
Context *context = GetValidGlobalContext();
6408
EVENT(context, GLTexParameteriv,
6409
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
6410
GLenumToString(GLenumGroup::TextureTarget, target),
6411
GLenumToString(GLenumGroup::TextureParameterName, pname), (uintptr_t)params);
6412
6413
if (context)
6414
{
6415
TextureType targetPacked = PackParam<TextureType>(target);
6416
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6417
bool isCallValid = (context->skipValidation() ||
6418
ValidateTexParameteriv(context, targetPacked, pname, params));
6419
if (isCallValid)
6420
{
6421
context->texParameteriv(targetPacked, pname, params);
6422
}
6423
ANGLE_CAPTURE(TexParameteriv, isCallValid, context, targetPacked, pname, params);
6424
}
6425
else
6426
{
6427
GenerateContextLostErrorOnCurrentGlobalContext();
6428
}
6429
}
6430
6431
void GL_APIENTRY GL_Translated(GLdouble x, GLdouble y, GLdouble z)
6432
{
6433
Context *context = GetValidGlobalContext();
6434
EVENT(context, GLTranslated, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
6435
6436
if (context)
6437
{
6438
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6439
bool isCallValid = (context->skipValidation() || ValidateTranslated(context, x, y, z));
6440
if (isCallValid)
6441
{
6442
context->translated(x, y, z);
6443
}
6444
ANGLE_CAPTURE(Translated, isCallValid, context, x, y, z);
6445
}
6446
else
6447
{
6448
GenerateContextLostErrorOnCurrentGlobalContext();
6449
}
6450
}
6451
6452
void GL_APIENTRY GL_Translatef(GLfloat x, GLfloat y, GLfloat z)
6453
{
6454
Context *context = GetValidGlobalContext();
6455
EVENT(context, GLTranslatef, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
6456
6457
if (context)
6458
{
6459
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6460
bool isCallValid = (context->skipValidation() || ValidateTranslatef(context, x, y, z));
6461
if (isCallValid)
6462
{
6463
context->translatef(x, y, z);
6464
}
6465
ANGLE_CAPTURE(Translatef, isCallValid, context, x, y, z);
6466
}
6467
else
6468
{
6469
GenerateContextLostErrorOnCurrentGlobalContext();
6470
}
6471
}
6472
6473
void GL_APIENTRY GL_Vertex2d(GLdouble x, GLdouble y)
6474
{
6475
Context *context = GetValidGlobalContext();
6476
EVENT(context, GLVertex2d, "context = %d, x = %f, y = %f", CID(context), x, y);
6477
6478
if (context)
6479
{
6480
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6481
bool isCallValid = (context->skipValidation() || ValidateVertex2d(context, x, y));
6482
if (isCallValid)
6483
{
6484
context->vertex2d(x, y);
6485
}
6486
ANGLE_CAPTURE(Vertex2d, isCallValid, context, x, y);
6487
}
6488
else
6489
{
6490
GenerateContextLostErrorOnCurrentGlobalContext();
6491
}
6492
}
6493
6494
void GL_APIENTRY GL_Vertex2dv(const GLdouble *v)
6495
{
6496
Context *context = GetValidGlobalContext();
6497
EVENT(context, GLVertex2dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6498
6499
if (context)
6500
{
6501
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6502
bool isCallValid = (context->skipValidation() || ValidateVertex2dv(context, v));
6503
if (isCallValid)
6504
{
6505
context->vertex2dv(v);
6506
}
6507
ANGLE_CAPTURE(Vertex2dv, isCallValid, context, v);
6508
}
6509
else
6510
{
6511
GenerateContextLostErrorOnCurrentGlobalContext();
6512
}
6513
}
6514
6515
void GL_APIENTRY GL_Vertex2f(GLfloat x, GLfloat y)
6516
{
6517
Context *context = GetValidGlobalContext();
6518
EVENT(context, GLVertex2f, "context = %d, x = %f, y = %f", CID(context), x, y);
6519
6520
if (context)
6521
{
6522
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6523
bool isCallValid = (context->skipValidation() || ValidateVertex2f(context, x, y));
6524
if (isCallValid)
6525
{
6526
context->vertex2f(x, y);
6527
}
6528
ANGLE_CAPTURE(Vertex2f, isCallValid, context, x, y);
6529
}
6530
else
6531
{
6532
GenerateContextLostErrorOnCurrentGlobalContext();
6533
}
6534
}
6535
6536
void GL_APIENTRY GL_Vertex2fv(const GLfloat *v)
6537
{
6538
Context *context = GetValidGlobalContext();
6539
EVENT(context, GLVertex2fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6540
6541
if (context)
6542
{
6543
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6544
bool isCallValid = (context->skipValidation() || ValidateVertex2fv(context, v));
6545
if (isCallValid)
6546
{
6547
context->vertex2fv(v);
6548
}
6549
ANGLE_CAPTURE(Vertex2fv, isCallValid, context, v);
6550
}
6551
else
6552
{
6553
GenerateContextLostErrorOnCurrentGlobalContext();
6554
}
6555
}
6556
6557
void GL_APIENTRY GL_Vertex2i(GLint x, GLint y)
6558
{
6559
Context *context = GetValidGlobalContext();
6560
EVENT(context, GLVertex2i, "context = %d, x = %d, y = %d", CID(context), x, y);
6561
6562
if (context)
6563
{
6564
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6565
bool isCallValid = (context->skipValidation() || ValidateVertex2i(context, x, y));
6566
if (isCallValid)
6567
{
6568
context->vertex2i(x, y);
6569
}
6570
ANGLE_CAPTURE(Vertex2i, isCallValid, context, x, y);
6571
}
6572
else
6573
{
6574
GenerateContextLostErrorOnCurrentGlobalContext();
6575
}
6576
}
6577
6578
void GL_APIENTRY GL_Vertex2iv(const GLint *v)
6579
{
6580
Context *context = GetValidGlobalContext();
6581
EVENT(context, GLVertex2iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6582
6583
if (context)
6584
{
6585
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6586
bool isCallValid = (context->skipValidation() || ValidateVertex2iv(context, v));
6587
if (isCallValid)
6588
{
6589
context->vertex2iv(v);
6590
}
6591
ANGLE_CAPTURE(Vertex2iv, isCallValid, context, v);
6592
}
6593
else
6594
{
6595
GenerateContextLostErrorOnCurrentGlobalContext();
6596
}
6597
}
6598
6599
void GL_APIENTRY GL_Vertex2s(GLshort x, GLshort y)
6600
{
6601
Context *context = GetValidGlobalContext();
6602
EVENT(context, GLVertex2s, "context = %d, x = %d, y = %d", CID(context), x, y);
6603
6604
if (context)
6605
{
6606
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6607
bool isCallValid = (context->skipValidation() || ValidateVertex2s(context, x, y));
6608
if (isCallValid)
6609
{
6610
context->vertex2s(x, y);
6611
}
6612
ANGLE_CAPTURE(Vertex2s, isCallValid, context, x, y);
6613
}
6614
else
6615
{
6616
GenerateContextLostErrorOnCurrentGlobalContext();
6617
}
6618
}
6619
6620
void GL_APIENTRY GL_Vertex2sv(const GLshort *v)
6621
{
6622
Context *context = GetValidGlobalContext();
6623
EVENT(context, GLVertex2sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6624
6625
if (context)
6626
{
6627
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6628
bool isCallValid = (context->skipValidation() || ValidateVertex2sv(context, v));
6629
if (isCallValid)
6630
{
6631
context->vertex2sv(v);
6632
}
6633
ANGLE_CAPTURE(Vertex2sv, isCallValid, context, v);
6634
}
6635
else
6636
{
6637
GenerateContextLostErrorOnCurrentGlobalContext();
6638
}
6639
}
6640
6641
void GL_APIENTRY GL_Vertex3d(GLdouble x, GLdouble y, GLdouble z)
6642
{
6643
Context *context = GetValidGlobalContext();
6644
EVENT(context, GLVertex3d, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
6645
6646
if (context)
6647
{
6648
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6649
bool isCallValid = (context->skipValidation() || ValidateVertex3d(context, x, y, z));
6650
if (isCallValid)
6651
{
6652
context->vertex3d(x, y, z);
6653
}
6654
ANGLE_CAPTURE(Vertex3d, isCallValid, context, x, y, z);
6655
}
6656
else
6657
{
6658
GenerateContextLostErrorOnCurrentGlobalContext();
6659
}
6660
}
6661
6662
void GL_APIENTRY GL_Vertex3dv(const GLdouble *v)
6663
{
6664
Context *context = GetValidGlobalContext();
6665
EVENT(context, GLVertex3dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6666
6667
if (context)
6668
{
6669
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6670
bool isCallValid = (context->skipValidation() || ValidateVertex3dv(context, v));
6671
if (isCallValid)
6672
{
6673
context->vertex3dv(v);
6674
}
6675
ANGLE_CAPTURE(Vertex3dv, isCallValid, context, v);
6676
}
6677
else
6678
{
6679
GenerateContextLostErrorOnCurrentGlobalContext();
6680
}
6681
}
6682
6683
void GL_APIENTRY GL_Vertex3f(GLfloat x, GLfloat y, GLfloat z)
6684
{
6685
Context *context = GetValidGlobalContext();
6686
EVENT(context, GLVertex3f, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
6687
6688
if (context)
6689
{
6690
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6691
bool isCallValid = (context->skipValidation() || ValidateVertex3f(context, x, y, z));
6692
if (isCallValid)
6693
{
6694
context->vertex3f(x, y, z);
6695
}
6696
ANGLE_CAPTURE(Vertex3f, isCallValid, context, x, y, z);
6697
}
6698
else
6699
{
6700
GenerateContextLostErrorOnCurrentGlobalContext();
6701
}
6702
}
6703
6704
void GL_APIENTRY GL_Vertex3fv(const GLfloat *v)
6705
{
6706
Context *context = GetValidGlobalContext();
6707
EVENT(context, GLVertex3fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6708
6709
if (context)
6710
{
6711
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6712
bool isCallValid = (context->skipValidation() || ValidateVertex3fv(context, v));
6713
if (isCallValid)
6714
{
6715
context->vertex3fv(v);
6716
}
6717
ANGLE_CAPTURE(Vertex3fv, isCallValid, context, v);
6718
}
6719
else
6720
{
6721
GenerateContextLostErrorOnCurrentGlobalContext();
6722
}
6723
}
6724
6725
void GL_APIENTRY GL_Vertex3i(GLint x, GLint y, GLint z)
6726
{
6727
Context *context = GetValidGlobalContext();
6728
EVENT(context, GLVertex3i, "context = %d, x = %d, y = %d, z = %d", CID(context), x, y, z);
6729
6730
if (context)
6731
{
6732
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6733
bool isCallValid = (context->skipValidation() || ValidateVertex3i(context, x, y, z));
6734
if (isCallValid)
6735
{
6736
context->vertex3i(x, y, z);
6737
}
6738
ANGLE_CAPTURE(Vertex3i, isCallValid, context, x, y, z);
6739
}
6740
else
6741
{
6742
GenerateContextLostErrorOnCurrentGlobalContext();
6743
}
6744
}
6745
6746
void GL_APIENTRY GL_Vertex3iv(const GLint *v)
6747
{
6748
Context *context = GetValidGlobalContext();
6749
EVENT(context, GLVertex3iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6750
6751
if (context)
6752
{
6753
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6754
bool isCallValid = (context->skipValidation() || ValidateVertex3iv(context, v));
6755
if (isCallValid)
6756
{
6757
context->vertex3iv(v);
6758
}
6759
ANGLE_CAPTURE(Vertex3iv, isCallValid, context, v);
6760
}
6761
else
6762
{
6763
GenerateContextLostErrorOnCurrentGlobalContext();
6764
}
6765
}
6766
6767
void GL_APIENTRY GL_Vertex3s(GLshort x, GLshort y, GLshort z)
6768
{
6769
Context *context = GetValidGlobalContext();
6770
EVENT(context, GLVertex3s, "context = %d, x = %d, y = %d, z = %d", CID(context), x, y, z);
6771
6772
if (context)
6773
{
6774
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6775
bool isCallValid = (context->skipValidation() || ValidateVertex3s(context, x, y, z));
6776
if (isCallValid)
6777
{
6778
context->vertex3s(x, y, z);
6779
}
6780
ANGLE_CAPTURE(Vertex3s, isCallValid, context, x, y, z);
6781
}
6782
else
6783
{
6784
GenerateContextLostErrorOnCurrentGlobalContext();
6785
}
6786
}
6787
6788
void GL_APIENTRY GL_Vertex3sv(const GLshort *v)
6789
{
6790
Context *context = GetValidGlobalContext();
6791
EVENT(context, GLVertex3sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6792
6793
if (context)
6794
{
6795
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6796
bool isCallValid = (context->skipValidation() || ValidateVertex3sv(context, v));
6797
if (isCallValid)
6798
{
6799
context->vertex3sv(v);
6800
}
6801
ANGLE_CAPTURE(Vertex3sv, isCallValid, context, v);
6802
}
6803
else
6804
{
6805
GenerateContextLostErrorOnCurrentGlobalContext();
6806
}
6807
}
6808
6809
void GL_APIENTRY GL_Vertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
6810
{
6811
Context *context = GetValidGlobalContext();
6812
EVENT(context, GLVertex4d, "context = %d, x = %f, y = %f, z = %f, w = %f", CID(context), x, y,
6813
z, w);
6814
6815
if (context)
6816
{
6817
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6818
bool isCallValid = (context->skipValidation() || ValidateVertex4d(context, x, y, z, w));
6819
if (isCallValid)
6820
{
6821
context->vertex4d(x, y, z, w);
6822
}
6823
ANGLE_CAPTURE(Vertex4d, isCallValid, context, x, y, z, w);
6824
}
6825
else
6826
{
6827
GenerateContextLostErrorOnCurrentGlobalContext();
6828
}
6829
}
6830
6831
void GL_APIENTRY GL_Vertex4dv(const GLdouble *v)
6832
{
6833
Context *context = GetValidGlobalContext();
6834
EVENT(context, GLVertex4dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6835
6836
if (context)
6837
{
6838
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6839
bool isCallValid = (context->skipValidation() || ValidateVertex4dv(context, v));
6840
if (isCallValid)
6841
{
6842
context->vertex4dv(v);
6843
}
6844
ANGLE_CAPTURE(Vertex4dv, isCallValid, context, v);
6845
}
6846
else
6847
{
6848
GenerateContextLostErrorOnCurrentGlobalContext();
6849
}
6850
}
6851
6852
void GL_APIENTRY GL_Vertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
6853
{
6854
Context *context = GetValidGlobalContext();
6855
EVENT(context, GLVertex4f, "context = %d, x = %f, y = %f, z = %f, w = %f", CID(context), x, y,
6856
z, w);
6857
6858
if (context)
6859
{
6860
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6861
bool isCallValid = (context->skipValidation() || ValidateVertex4f(context, x, y, z, w));
6862
if (isCallValid)
6863
{
6864
context->vertex4f(x, y, z, w);
6865
}
6866
ANGLE_CAPTURE(Vertex4f, isCallValid, context, x, y, z, w);
6867
}
6868
else
6869
{
6870
GenerateContextLostErrorOnCurrentGlobalContext();
6871
}
6872
}
6873
6874
void GL_APIENTRY GL_Vertex4fv(const GLfloat *v)
6875
{
6876
Context *context = GetValidGlobalContext();
6877
EVENT(context, GLVertex4fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6878
6879
if (context)
6880
{
6881
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6882
bool isCallValid = (context->skipValidation() || ValidateVertex4fv(context, v));
6883
if (isCallValid)
6884
{
6885
context->vertex4fv(v);
6886
}
6887
ANGLE_CAPTURE(Vertex4fv, isCallValid, context, v);
6888
}
6889
else
6890
{
6891
GenerateContextLostErrorOnCurrentGlobalContext();
6892
}
6893
}
6894
6895
void GL_APIENTRY GL_Vertex4i(GLint x, GLint y, GLint z, GLint w)
6896
{
6897
Context *context = GetValidGlobalContext();
6898
EVENT(context, GLVertex4i, "context = %d, x = %d, y = %d, z = %d, w = %d", CID(context), x, y,
6899
z, w);
6900
6901
if (context)
6902
{
6903
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6904
bool isCallValid = (context->skipValidation() || ValidateVertex4i(context, x, y, z, w));
6905
if (isCallValid)
6906
{
6907
context->vertex4i(x, y, z, w);
6908
}
6909
ANGLE_CAPTURE(Vertex4i, isCallValid, context, x, y, z, w);
6910
}
6911
else
6912
{
6913
GenerateContextLostErrorOnCurrentGlobalContext();
6914
}
6915
}
6916
6917
void GL_APIENTRY GL_Vertex4iv(const GLint *v)
6918
{
6919
Context *context = GetValidGlobalContext();
6920
EVENT(context, GLVertex4iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6921
6922
if (context)
6923
{
6924
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6925
bool isCallValid = (context->skipValidation() || ValidateVertex4iv(context, v));
6926
if (isCallValid)
6927
{
6928
context->vertex4iv(v);
6929
}
6930
ANGLE_CAPTURE(Vertex4iv, isCallValid, context, v);
6931
}
6932
else
6933
{
6934
GenerateContextLostErrorOnCurrentGlobalContext();
6935
}
6936
}
6937
6938
void GL_APIENTRY GL_Vertex4s(GLshort x, GLshort y, GLshort z, GLshort w)
6939
{
6940
Context *context = GetValidGlobalContext();
6941
EVENT(context, GLVertex4s, "context = %d, x = %d, y = %d, z = %d, w = %d", CID(context), x, y,
6942
z, w);
6943
6944
if (context)
6945
{
6946
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6947
bool isCallValid = (context->skipValidation() || ValidateVertex4s(context, x, y, z, w));
6948
if (isCallValid)
6949
{
6950
context->vertex4s(x, y, z, w);
6951
}
6952
ANGLE_CAPTURE(Vertex4s, isCallValid, context, x, y, z, w);
6953
}
6954
else
6955
{
6956
GenerateContextLostErrorOnCurrentGlobalContext();
6957
}
6958
}
6959
6960
void GL_APIENTRY GL_Vertex4sv(const GLshort *v)
6961
{
6962
Context *context = GetValidGlobalContext();
6963
EVENT(context, GLVertex4sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context), (uintptr_t)v);
6964
6965
if (context)
6966
{
6967
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6968
bool isCallValid = (context->skipValidation() || ValidateVertex4sv(context, v));
6969
if (isCallValid)
6970
{
6971
context->vertex4sv(v);
6972
}
6973
ANGLE_CAPTURE(Vertex4sv, isCallValid, context, v);
6974
}
6975
else
6976
{
6977
GenerateContextLostErrorOnCurrentGlobalContext();
6978
}
6979
}
6980
6981
void GL_APIENTRY GL_Viewport(GLint x, GLint y, GLsizei width, GLsizei height)
6982
{
6983
Context *context = GetValidGlobalContext();
6984
EVENT(context, GLViewport, "context = %d, x = %d, y = %d, width = %d, height = %d",
6985
CID(context), x, y, width, height);
6986
6987
if (context)
6988
{
6989
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
6990
bool isCallValid =
6991
(context->skipValidation() || ValidateViewport(context, x, y, width, height));
6992
if (isCallValid)
6993
{
6994
context->viewport(x, y, width, height);
6995
}
6996
ANGLE_CAPTURE(Viewport, isCallValid, context, x, y, width, height);
6997
}
6998
else
6999
{
7000
GenerateContextLostErrorOnCurrentGlobalContext();
7001
}
7002
}
7003
7004
// GL 1.1
7005
GLboolean GL_APIENTRY GL_AreTexturesResident(GLsizei n,
7006
const GLuint *textures,
7007
GLboolean *residences)
7008
{
7009
Context *context = GetValidGlobalContext();
7010
EVENT(context, GLAreTexturesResident,
7011
"context = %d, n = %d, textures = 0x%016" PRIxPTR ", residences = 0x%016" PRIxPTR "",
7012
CID(context), n, (uintptr_t)textures, (uintptr_t)residences);
7013
7014
GLboolean returnValue;
7015
if (context)
7016
{
7017
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7018
bool isCallValid = (context->skipValidation() ||
7019
ValidateAreTexturesResident(context, n, textures, residences));
7020
if (isCallValid)
7021
{
7022
returnValue = context->areTexturesResident(n, textures, residences);
7023
}
7024
else
7025
{
7026
returnValue =
7027
GetDefaultReturnValue<angle::EntryPoint::GLAreTexturesResident, GLboolean>();
7028
}
7029
ANGLE_CAPTURE(AreTexturesResident, isCallValid, context, n, textures, residences,
7030
returnValue);
7031
}
7032
else
7033
{
7034
GenerateContextLostErrorOnCurrentGlobalContext();
7035
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLAreTexturesResident, GLboolean>();
7036
}
7037
return returnValue;
7038
}
7039
7040
void GL_APIENTRY GL_ArrayElement(GLint i)
7041
{
7042
Context *context = GetValidGlobalContext();
7043
EVENT(context, GLArrayElement, "context = %d, i = %d", CID(context), i);
7044
7045
if (context)
7046
{
7047
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7048
bool isCallValid = (context->skipValidation() || ValidateArrayElement(context, i));
7049
if (isCallValid)
7050
{
7051
context->arrayElement(i);
7052
}
7053
ANGLE_CAPTURE(ArrayElement, isCallValid, context, i);
7054
}
7055
else
7056
{
7057
GenerateContextLostErrorOnCurrentGlobalContext();
7058
}
7059
}
7060
7061
void GL_APIENTRY GL_BindTexture(GLenum target, GLuint texture)
7062
{
7063
Context *context = GetValidGlobalContext();
7064
EVENT(context, GLBindTexture, "context = %d, target = %s, texture = %u", CID(context),
7065
GLenumToString(GLenumGroup::TextureTarget, target), texture);
7066
7067
if (context)
7068
{
7069
TextureType targetPacked = PackParam<TextureType>(target);
7070
TextureID texturePacked = PackParam<TextureID>(texture);
7071
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7072
bool isCallValid = (context->skipValidation() ||
7073
ValidateBindTexture(context, targetPacked, texturePacked));
7074
if (isCallValid)
7075
{
7076
context->bindTexture(targetPacked, texturePacked);
7077
}
7078
ANGLE_CAPTURE(BindTexture, isCallValid, context, targetPacked, texturePacked);
7079
}
7080
else
7081
{
7082
GenerateContextLostErrorOnCurrentGlobalContext();
7083
}
7084
}
7085
7086
void GL_APIENTRY GL_ColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)
7087
{
7088
Context *context = GetValidGlobalContext();
7089
EVENT(context, GLColorPointer,
7090
"context = %d, size = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "",
7091
CID(context), size, GLenumToString(GLenumGroup::ColorPointerType, type), stride,
7092
(uintptr_t)pointer);
7093
7094
if (context)
7095
{
7096
VertexAttribType typePacked = PackParam<VertexAttribType>(type);
7097
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7098
bool isCallValid = (context->skipValidation() ||
7099
ValidateColorPointer(context, size, typePacked, stride, pointer));
7100
if (isCallValid)
7101
{
7102
context->colorPointer(size, typePacked, stride, pointer);
7103
}
7104
ANGLE_CAPTURE(ColorPointer, isCallValid, context, size, typePacked, stride, pointer);
7105
}
7106
else
7107
{
7108
GenerateContextLostErrorOnCurrentGlobalContext();
7109
}
7110
}
7111
7112
void GL_APIENTRY GL_CopyTexImage1D(GLenum target,
7113
GLint level,
7114
GLenum internalformat,
7115
GLint x,
7116
GLint y,
7117
GLsizei width,
7118
GLint border)
7119
{
7120
Context *context = GetValidGlobalContext();
7121
EVENT(context, GLCopyTexImage1D,
7122
"context = %d, target = %s, level = %d, internalformat = %s, x = %d, y = %d, width = %d, "
7123
"border = %d",
7124
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level,
7125
GLenumToString(GLenumGroup::InternalFormat, internalformat), x, y, width, border);
7126
7127
if (context)
7128
{
7129
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7130
bool isCallValid =
7131
(context->skipValidation() ||
7132
ValidateCopyTexImage1D(context, target, level, internalformat, x, y, width, border));
7133
if (isCallValid)
7134
{
7135
context->copyTexImage1D(target, level, internalformat, x, y, width, border);
7136
}
7137
ANGLE_CAPTURE(CopyTexImage1D, isCallValid, context, target, level, internalformat, x, y,
7138
width, border);
7139
}
7140
else
7141
{
7142
GenerateContextLostErrorOnCurrentGlobalContext();
7143
}
7144
}
7145
7146
void GL_APIENTRY GL_CopyTexImage2D(GLenum target,
7147
GLint level,
7148
GLenum internalformat,
7149
GLint x,
7150
GLint y,
7151
GLsizei width,
7152
GLsizei height,
7153
GLint border)
7154
{
7155
Context *context = GetValidGlobalContext();
7156
EVENT(context, GLCopyTexImage2D,
7157
"context = %d, target = %s, level = %d, internalformat = %s, x = %d, y = %d, width = %d, "
7158
"height = %d, border = %d",
7159
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level,
7160
GLenumToString(GLenumGroup::InternalFormat, internalformat), x, y, width, height, border);
7161
7162
if (context)
7163
{
7164
TextureTarget targetPacked = PackParam<TextureTarget>(target);
7165
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7166
bool isCallValid = (context->skipValidation() ||
7167
ValidateCopyTexImage2D(context, targetPacked, level, internalformat, x,
7168
y, width, height, border));
7169
if (isCallValid)
7170
{
7171
context->copyTexImage2D(targetPacked, level, internalformat, x, y, width, height,
7172
border);
7173
}
7174
ANGLE_CAPTURE(CopyTexImage2D, isCallValid, context, targetPacked, level, internalformat, x,
7175
y, width, height, border);
7176
}
7177
else
7178
{
7179
GenerateContextLostErrorOnCurrentGlobalContext();
7180
}
7181
}
7182
7183
void GL_APIENTRY
7184
GL_CopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
7185
{
7186
Context *context = GetValidGlobalContext();
7187
EVENT(context, GLCopyTexSubImage1D,
7188
"context = %d, target = %s, level = %d, xoffset = %d, x = %d, y = %d, width = %d",
7189
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, xoffset, x, y,
7190
width);
7191
7192
if (context)
7193
{
7194
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7195
bool isCallValid =
7196
(context->skipValidation() ||
7197
ValidateCopyTexSubImage1D(context, target, level, xoffset, x, y, width));
7198
if (isCallValid)
7199
{
7200
context->copyTexSubImage1D(target, level, xoffset, x, y, width);
7201
}
7202
ANGLE_CAPTURE(CopyTexSubImage1D, isCallValid, context, target, level, xoffset, x, y, width);
7203
}
7204
else
7205
{
7206
GenerateContextLostErrorOnCurrentGlobalContext();
7207
}
7208
}
7209
7210
void GL_APIENTRY GL_CopyTexSubImage2D(GLenum target,
7211
GLint level,
7212
GLint xoffset,
7213
GLint yoffset,
7214
GLint x,
7215
GLint y,
7216
GLsizei width,
7217
GLsizei height)
7218
{
7219
Context *context = GetValidGlobalContext();
7220
EVENT(context, GLCopyTexSubImage2D,
7221
"context = %d, target = %s, level = %d, xoffset = %d, yoffset = %d, x = %d, y = %d, "
7222
"width = %d, height = %d",
7223
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, xoffset, yoffset,
7224
x, y, width, height);
7225
7226
if (context)
7227
{
7228
TextureTarget targetPacked = PackParam<TextureTarget>(target);
7229
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7230
bool isCallValid = (context->skipValidation() ||
7231
ValidateCopyTexSubImage2D(context, targetPacked, level, xoffset,
7232
yoffset, x, y, width, height));
7233
if (isCallValid)
7234
{
7235
context->copyTexSubImage2D(targetPacked, level, xoffset, yoffset, x, y, width, height);
7236
}
7237
ANGLE_CAPTURE(CopyTexSubImage2D, isCallValid, context, targetPacked, level, xoffset,
7238
yoffset, x, y, width, height);
7239
}
7240
else
7241
{
7242
GenerateContextLostErrorOnCurrentGlobalContext();
7243
}
7244
}
7245
7246
void GL_APIENTRY GL_DeleteTextures(GLsizei n, const GLuint *textures)
7247
{
7248
Context *context = GetValidGlobalContext();
7249
EVENT(context, GLDeleteTextures, "context = %d, n = %d, textures = 0x%016" PRIxPTR "",
7250
CID(context), n, (uintptr_t)textures);
7251
7252
if (context)
7253
{
7254
const TextureID *texturesPacked = PackParam<const TextureID *>(textures);
7255
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7256
bool isCallValid =
7257
(context->skipValidation() || ValidateDeleteTextures(context, n, texturesPacked));
7258
if (isCallValid)
7259
{
7260
context->deleteTextures(n, texturesPacked);
7261
}
7262
ANGLE_CAPTURE(DeleteTextures, isCallValid, context, n, texturesPacked);
7263
}
7264
else
7265
{
7266
GenerateContextLostErrorOnCurrentGlobalContext();
7267
}
7268
}
7269
7270
void GL_APIENTRY GL_DisableClientState(GLenum array)
7271
{
7272
Context *context = GetValidGlobalContext();
7273
EVENT(context, GLDisableClientState, "context = %d, array = %s", CID(context),
7274
GLenumToString(GLenumGroup::EnableCap, array));
7275
7276
if (context)
7277
{
7278
ClientVertexArrayType arrayPacked = PackParam<ClientVertexArrayType>(array);
7279
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7280
bool isCallValid =
7281
(context->skipValidation() || ValidateDisableClientState(context, arrayPacked));
7282
if (isCallValid)
7283
{
7284
context->disableClientState(arrayPacked);
7285
}
7286
ANGLE_CAPTURE(DisableClientState, isCallValid, context, arrayPacked);
7287
}
7288
else
7289
{
7290
GenerateContextLostErrorOnCurrentGlobalContext();
7291
}
7292
}
7293
7294
void GL_APIENTRY GL_DrawArrays(GLenum mode, GLint first, GLsizei count)
7295
{
7296
Context *context = GetValidGlobalContext();
7297
EVENT(context, GLDrawArrays, "context = %d, mode = %s, first = %d, count = %d", CID(context),
7298
GLenumToString(GLenumGroup::PrimitiveType, mode), first, count);
7299
7300
if (context)
7301
{
7302
PrimitiveMode modePacked = PackParam<PrimitiveMode>(mode);
7303
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7304
bool isCallValid =
7305
(context->skipValidation() || ValidateDrawArrays(context, modePacked, first, count));
7306
if (isCallValid)
7307
{
7308
context->drawArrays(modePacked, first, count);
7309
}
7310
ANGLE_CAPTURE(DrawArrays, isCallValid, context, modePacked, first, count);
7311
}
7312
else
7313
{
7314
GenerateContextLostErrorOnCurrentGlobalContext();
7315
}
7316
}
7317
7318
void GL_APIENTRY GL_DrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices)
7319
{
7320
Context *context = GetValidGlobalContext();
7321
EVENT(context, GLDrawElements,
7322
"context = %d, mode = %s, count = %d, type = %s, indices = 0x%016" PRIxPTR "",
7323
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), count,
7324
GLenumToString(GLenumGroup::DrawElementsType, type), (uintptr_t)indices);
7325
7326
if (context)
7327
{
7328
PrimitiveMode modePacked = PackParam<PrimitiveMode>(mode);
7329
DrawElementsType typePacked = PackParam<DrawElementsType>(type);
7330
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7331
bool isCallValid = (context->skipValidation() ||
7332
ValidateDrawElements(context, modePacked, count, typePacked, indices));
7333
if (isCallValid)
7334
{
7335
context->drawElements(modePacked, count, typePacked, indices);
7336
}
7337
ANGLE_CAPTURE(DrawElements, isCallValid, context, modePacked, count, typePacked, indices);
7338
}
7339
else
7340
{
7341
GenerateContextLostErrorOnCurrentGlobalContext();
7342
}
7343
}
7344
7345
void GL_APIENTRY GL_EdgeFlagPointer(GLsizei stride, const void *pointer)
7346
{
7347
Context *context = GetValidGlobalContext();
7348
EVENT(context, GLEdgeFlagPointer, "context = %d, stride = %d, pointer = 0x%016" PRIxPTR "",
7349
CID(context), stride, (uintptr_t)pointer);
7350
7351
if (context)
7352
{
7353
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7354
bool isCallValid =
7355
(context->skipValidation() || ValidateEdgeFlagPointer(context, stride, pointer));
7356
if (isCallValid)
7357
{
7358
context->edgeFlagPointer(stride, pointer);
7359
}
7360
ANGLE_CAPTURE(EdgeFlagPointer, isCallValid, context, stride, pointer);
7361
}
7362
else
7363
{
7364
GenerateContextLostErrorOnCurrentGlobalContext();
7365
}
7366
}
7367
7368
void GL_APIENTRY GL_EnableClientState(GLenum array)
7369
{
7370
Context *context = GetValidGlobalContext();
7371
EVENT(context, GLEnableClientState, "context = %d, array = %s", CID(context),
7372
GLenumToString(GLenumGroup::EnableCap, array));
7373
7374
if (context)
7375
{
7376
ClientVertexArrayType arrayPacked = PackParam<ClientVertexArrayType>(array);
7377
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7378
bool isCallValid =
7379
(context->skipValidation() || ValidateEnableClientState(context, arrayPacked));
7380
if (isCallValid)
7381
{
7382
context->enableClientState(arrayPacked);
7383
}
7384
ANGLE_CAPTURE(EnableClientState, isCallValid, context, arrayPacked);
7385
}
7386
else
7387
{
7388
GenerateContextLostErrorOnCurrentGlobalContext();
7389
}
7390
}
7391
7392
void GL_APIENTRY GL_GenTextures(GLsizei n, GLuint *textures)
7393
{
7394
Context *context = GetValidGlobalContext();
7395
EVENT(context, GLGenTextures, "context = %d, n = %d, textures = 0x%016" PRIxPTR "",
7396
CID(context), n, (uintptr_t)textures);
7397
7398
if (context)
7399
{
7400
TextureID *texturesPacked = PackParam<TextureID *>(textures);
7401
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7402
bool isCallValid =
7403
(context->skipValidation() || ValidateGenTextures(context, n, texturesPacked));
7404
if (isCallValid)
7405
{
7406
context->genTextures(n, texturesPacked);
7407
}
7408
ANGLE_CAPTURE(GenTextures, isCallValid, context, n, texturesPacked);
7409
}
7410
else
7411
{
7412
GenerateContextLostErrorOnCurrentGlobalContext();
7413
}
7414
}
7415
7416
void GL_APIENTRY GL_GetPointerv(GLenum pname, void **params)
7417
{
7418
Context *context = GetValidGlobalContext();
7419
EVENT(context, GLGetPointerv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",
7420
CID(context), GLenumToString(GLenumGroup::GetPointervPName, pname), (uintptr_t)params);
7421
7422
if (context)
7423
{
7424
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7425
bool isCallValid =
7426
(context->skipValidation() || ValidateGetPointerv(context, pname, params));
7427
if (isCallValid)
7428
{
7429
context->getPointerv(pname, params);
7430
}
7431
ANGLE_CAPTURE(GetPointerv, isCallValid, context, pname, params);
7432
}
7433
else
7434
{
7435
GenerateContextLostErrorOnCurrentGlobalContext();
7436
}
7437
}
7438
7439
void GL_APIENTRY GL_IndexPointer(GLenum type, GLsizei stride, const void *pointer)
7440
{
7441
Context *context = GetValidGlobalContext();
7442
EVENT(context, GLIndexPointer,
7443
"context = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "", CID(context),
7444
GLenumToString(GLenumGroup::IndexPointerType, type), stride, (uintptr_t)pointer);
7445
7446
if (context)
7447
{
7448
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7449
bool isCallValid =
7450
(context->skipValidation() || ValidateIndexPointer(context, type, stride, pointer));
7451
if (isCallValid)
7452
{
7453
context->indexPointer(type, stride, pointer);
7454
}
7455
ANGLE_CAPTURE(IndexPointer, isCallValid, context, type, stride, pointer);
7456
}
7457
else
7458
{
7459
GenerateContextLostErrorOnCurrentGlobalContext();
7460
}
7461
}
7462
7463
void GL_APIENTRY GL_Indexub(GLubyte c)
7464
{
7465
Context *context = GetValidGlobalContext();
7466
EVENT(context, GLIndexub, "context = %d, c = %d", CID(context), c);
7467
7468
if (context)
7469
{
7470
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7471
bool isCallValid = (context->skipValidation() || ValidateIndexub(context, c));
7472
if (isCallValid)
7473
{
7474
context->indexub(c);
7475
}
7476
ANGLE_CAPTURE(Indexub, isCallValid, context, c);
7477
}
7478
else
7479
{
7480
GenerateContextLostErrorOnCurrentGlobalContext();
7481
}
7482
}
7483
7484
void GL_APIENTRY GL_Indexubv(const GLubyte *c)
7485
{
7486
Context *context = GetValidGlobalContext();
7487
EVENT(context, GLIndexubv, "context = %d, c = 0x%016" PRIxPTR "", CID(context), (uintptr_t)c);
7488
7489
if (context)
7490
{
7491
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7492
bool isCallValid = (context->skipValidation() || ValidateIndexubv(context, c));
7493
if (isCallValid)
7494
{
7495
context->indexubv(c);
7496
}
7497
ANGLE_CAPTURE(Indexubv, isCallValid, context, c);
7498
}
7499
else
7500
{
7501
GenerateContextLostErrorOnCurrentGlobalContext();
7502
}
7503
}
7504
7505
void GL_APIENTRY GL_InterleavedArrays(GLenum format, GLsizei stride, const void *pointer)
7506
{
7507
Context *context = GetValidGlobalContext();
7508
EVENT(context, GLInterleavedArrays,
7509
"context = %d, format = %s, stride = %d, pointer = 0x%016" PRIxPTR "", CID(context),
7510
GLenumToString(GLenumGroup::InterleavedArrayFormat, format), stride, (uintptr_t)pointer);
7511
7512
if (context)
7513
{
7514
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7515
bool isCallValid = (context->skipValidation() ||
7516
ValidateInterleavedArrays(context, format, stride, pointer));
7517
if (isCallValid)
7518
{
7519
context->interleavedArrays(format, stride, pointer);
7520
}
7521
ANGLE_CAPTURE(InterleavedArrays, isCallValid, context, format, stride, pointer);
7522
}
7523
else
7524
{
7525
GenerateContextLostErrorOnCurrentGlobalContext();
7526
}
7527
}
7528
7529
GLboolean GL_APIENTRY GL_IsTexture(GLuint texture)
7530
{
7531
Context *context = GetValidGlobalContext();
7532
EVENT(context, GLIsTexture, "context = %d, texture = %u", CID(context), texture);
7533
7534
GLboolean returnValue;
7535
if (context)
7536
{
7537
TextureID texturePacked = PackParam<TextureID>(texture);
7538
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7539
bool isCallValid = (context->skipValidation() || ValidateIsTexture(context, texturePacked));
7540
if (isCallValid)
7541
{
7542
returnValue = context->isTexture(texturePacked);
7543
}
7544
else
7545
{
7546
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsTexture, GLboolean>();
7547
}
7548
ANGLE_CAPTURE(IsTexture, isCallValid, context, texturePacked, returnValue);
7549
}
7550
else
7551
{
7552
GenerateContextLostErrorOnCurrentGlobalContext();
7553
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsTexture, GLboolean>();
7554
}
7555
return returnValue;
7556
}
7557
7558
void GL_APIENTRY GL_NormalPointer(GLenum type, GLsizei stride, const void *pointer)
7559
{
7560
Context *context = GetValidGlobalContext();
7561
EVENT(context, GLNormalPointer,
7562
"context = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "", CID(context),
7563
GLenumToString(GLenumGroup::NormalPointerType, type), stride, (uintptr_t)pointer);
7564
7565
if (context)
7566
{
7567
VertexAttribType typePacked = PackParam<VertexAttribType>(type);
7568
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7569
bool isCallValid = (context->skipValidation() ||
7570
ValidateNormalPointer(context, typePacked, stride, pointer));
7571
if (isCallValid)
7572
{
7573
context->normalPointer(typePacked, stride, pointer);
7574
}
7575
ANGLE_CAPTURE(NormalPointer, isCallValid, context, typePacked, stride, pointer);
7576
}
7577
else
7578
{
7579
GenerateContextLostErrorOnCurrentGlobalContext();
7580
}
7581
}
7582
7583
void GL_APIENTRY GL_PolygonOffset(GLfloat factor, GLfloat units)
7584
{
7585
Context *context = GetValidGlobalContext();
7586
EVENT(context, GLPolygonOffset, "context = %d, factor = %f, units = %f", CID(context), factor,
7587
units);
7588
7589
if (context)
7590
{
7591
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7592
bool isCallValid =
7593
(context->skipValidation() || ValidatePolygonOffset(context, factor, units));
7594
if (isCallValid)
7595
{
7596
context->polygonOffset(factor, units);
7597
}
7598
ANGLE_CAPTURE(PolygonOffset, isCallValid, context, factor, units);
7599
}
7600
else
7601
{
7602
GenerateContextLostErrorOnCurrentGlobalContext();
7603
}
7604
}
7605
7606
void GL_APIENTRY GL_PopClientAttrib()
7607
{
7608
Context *context = GetValidGlobalContext();
7609
EVENT(context, GLPopClientAttrib, "context = %d", CID(context));
7610
7611
if (context)
7612
{
7613
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7614
bool isCallValid = (context->skipValidation() || ValidatePopClientAttrib(context));
7615
if (isCallValid)
7616
{
7617
context->popClientAttrib();
7618
}
7619
ANGLE_CAPTURE(PopClientAttrib, isCallValid, context);
7620
}
7621
else
7622
{
7623
GenerateContextLostErrorOnCurrentGlobalContext();
7624
}
7625
}
7626
7627
void GL_APIENTRY GL_PrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities)
7628
{
7629
Context *context = GetValidGlobalContext();
7630
EVENT(context, GLPrioritizeTextures,
7631
"context = %d, n = %d, textures = 0x%016" PRIxPTR ", priorities = 0x%016" PRIxPTR "",
7632
CID(context), n, (uintptr_t)textures, (uintptr_t)priorities);
7633
7634
if (context)
7635
{
7636
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7637
bool isCallValid = (context->skipValidation() ||
7638
ValidatePrioritizeTextures(context, n, textures, priorities));
7639
if (isCallValid)
7640
{
7641
context->prioritizeTextures(n, textures, priorities);
7642
}
7643
ANGLE_CAPTURE(PrioritizeTextures, isCallValid, context, n, textures, priorities);
7644
}
7645
else
7646
{
7647
GenerateContextLostErrorOnCurrentGlobalContext();
7648
}
7649
}
7650
7651
void GL_APIENTRY GL_PushClientAttrib(GLbitfield mask)
7652
{
7653
Context *context = GetValidGlobalContext();
7654
EVENT(context, GLPushClientAttrib, "context = %d, mask = %s", CID(context),
7655
GLbitfieldToString(GLenumGroup::ClientAttribMask, mask).c_str());
7656
7657
if (context)
7658
{
7659
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7660
bool isCallValid = (context->skipValidation() || ValidatePushClientAttrib(context, mask));
7661
if (isCallValid)
7662
{
7663
context->pushClientAttrib(mask);
7664
}
7665
ANGLE_CAPTURE(PushClientAttrib, isCallValid, context, mask);
7666
}
7667
else
7668
{
7669
GenerateContextLostErrorOnCurrentGlobalContext();
7670
}
7671
}
7672
7673
void GL_APIENTRY GL_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)
7674
{
7675
Context *context = GetValidGlobalContext();
7676
EVENT(context, GLTexCoordPointer,
7677
"context = %d, size = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "",
7678
CID(context), size, GLenumToString(GLenumGroup::TexCoordPointerType, type), stride,
7679
(uintptr_t)pointer);
7680
7681
if (context)
7682
{
7683
VertexAttribType typePacked = PackParam<VertexAttribType>(type);
7684
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7685
bool isCallValid = (context->skipValidation() ||
7686
ValidateTexCoordPointer(context, size, typePacked, stride, pointer));
7687
if (isCallValid)
7688
{
7689
context->texCoordPointer(size, typePacked, stride, pointer);
7690
}
7691
ANGLE_CAPTURE(TexCoordPointer, isCallValid, context, size, typePacked, stride, pointer);
7692
}
7693
else
7694
{
7695
GenerateContextLostErrorOnCurrentGlobalContext();
7696
}
7697
}
7698
7699
void GL_APIENTRY GL_TexSubImage1D(GLenum target,
7700
GLint level,
7701
GLint xoffset,
7702
GLsizei width,
7703
GLenum format,
7704
GLenum type,
7705
const void *pixels)
7706
{
7707
Context *context = GetValidGlobalContext();
7708
EVENT(context, GLTexSubImage1D,
7709
"context = %d, target = %s, level = %d, xoffset = %d, width = %d, format = %s, type = "
7710
"%s, pixels = 0x%016" PRIxPTR "",
7711
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, xoffset, width,
7712
GLenumToString(GLenumGroup::PixelFormat, format),
7713
GLenumToString(GLenumGroup::PixelType, type), (uintptr_t)pixels);
7714
7715
if (context)
7716
{
7717
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7718
bool isCallValid =
7719
(context->skipValidation() ||
7720
ValidateTexSubImage1D(context, target, level, xoffset, width, format, type, pixels));
7721
if (isCallValid)
7722
{
7723
context->texSubImage1D(target, level, xoffset, width, format, type, pixels);
7724
}
7725
ANGLE_CAPTURE(TexSubImage1D, isCallValid, context, target, level, xoffset, width, format,
7726
type, pixels);
7727
}
7728
else
7729
{
7730
GenerateContextLostErrorOnCurrentGlobalContext();
7731
}
7732
}
7733
7734
void GL_APIENTRY GL_TexSubImage2D(GLenum target,
7735
GLint level,
7736
GLint xoffset,
7737
GLint yoffset,
7738
GLsizei width,
7739
GLsizei height,
7740
GLenum format,
7741
GLenum type,
7742
const void *pixels)
7743
{
7744
Context *context = GetValidGlobalContext();
7745
EVENT(context, GLTexSubImage2D,
7746
"context = %d, target = %s, level = %d, xoffset = %d, yoffset = %d, width = %d, height = "
7747
"%d, format = %s, type = %s, pixels = 0x%016" PRIxPTR "",
7748
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, xoffset, yoffset,
7749
width, height, GLenumToString(GLenumGroup::PixelFormat, format),
7750
GLenumToString(GLenumGroup::PixelType, type), (uintptr_t)pixels);
7751
7752
if (context)
7753
{
7754
TextureTarget targetPacked = PackParam<TextureTarget>(target);
7755
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7756
bool isCallValid = (context->skipValidation() ||
7757
ValidateTexSubImage2D(context, targetPacked, level, xoffset, yoffset,
7758
width, height, format, type, pixels));
7759
if (isCallValid)
7760
{
7761
context->texSubImage2D(targetPacked, level, xoffset, yoffset, width, height, format,
7762
type, pixels);
7763
}
7764
ANGLE_CAPTURE(TexSubImage2D, isCallValid, context, targetPacked, level, xoffset, yoffset,
7765
width, height, format, type, pixels);
7766
}
7767
else
7768
{
7769
GenerateContextLostErrorOnCurrentGlobalContext();
7770
}
7771
}
7772
7773
void GL_APIENTRY GL_VertexPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)
7774
{
7775
Context *context = GetValidGlobalContext();
7776
EVENT(context, GLVertexPointer,
7777
"context = %d, size = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "",
7778
CID(context), size, GLenumToString(GLenumGroup::VertexPointerType, type), stride,
7779
(uintptr_t)pointer);
7780
7781
if (context)
7782
{
7783
VertexAttribType typePacked = PackParam<VertexAttribType>(type);
7784
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7785
bool isCallValid = (context->skipValidation() ||
7786
ValidateVertexPointer(context, size, typePacked, stride, pointer));
7787
if (isCallValid)
7788
{
7789
context->vertexPointer(size, typePacked, stride, pointer);
7790
}
7791
ANGLE_CAPTURE(VertexPointer, isCallValid, context, size, typePacked, stride, pointer);
7792
}
7793
else
7794
{
7795
GenerateContextLostErrorOnCurrentGlobalContext();
7796
}
7797
}
7798
7799
// GL 1.2
7800
void GL_APIENTRY GL_CopyTexSubImage3D(GLenum target,
7801
GLint level,
7802
GLint xoffset,
7803
GLint yoffset,
7804
GLint zoffset,
7805
GLint x,
7806
GLint y,
7807
GLsizei width,
7808
GLsizei height)
7809
{
7810
Context *context = GetValidGlobalContext();
7811
EVENT(context, GLCopyTexSubImage3D,
7812
"context = %d, target = %s, level = %d, xoffset = %d, yoffset = %d, zoffset = %d, x = "
7813
"%d, y = %d, width = %d, height = %d",
7814
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, xoffset, yoffset,
7815
zoffset, x, y, width, height);
7816
7817
if (context)
7818
{
7819
TextureTarget targetPacked = PackParam<TextureTarget>(target);
7820
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7821
bool isCallValid = (context->skipValidation() ||
7822
ValidateCopyTexSubImage3D(context, targetPacked, level, xoffset,
7823
yoffset, zoffset, x, y, width, height));
7824
if (isCallValid)
7825
{
7826
context->copyTexSubImage3D(targetPacked, level, xoffset, yoffset, zoffset, x, y, width,
7827
height);
7828
}
7829
ANGLE_CAPTURE(CopyTexSubImage3D, isCallValid, context, targetPacked, level, xoffset,
7830
yoffset, zoffset, x, y, width, height);
7831
}
7832
else
7833
{
7834
GenerateContextLostErrorOnCurrentGlobalContext();
7835
}
7836
}
7837
7838
void GL_APIENTRY GL_DrawRangeElements(GLenum mode,
7839
GLuint start,
7840
GLuint end,
7841
GLsizei count,
7842
GLenum type,
7843
const void *indices)
7844
{
7845
Context *context = GetValidGlobalContext();
7846
EVENT(context, GLDrawRangeElements,
7847
"context = %d, mode = %s, start = %u, end = %u, count = %d, type = %s, indices = "
7848
"0x%016" PRIxPTR "",
7849
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), start, end, count,
7850
GLenumToString(GLenumGroup::DrawElementsType, type), (uintptr_t)indices);
7851
7852
if (context)
7853
{
7854
PrimitiveMode modePacked = PackParam<PrimitiveMode>(mode);
7855
DrawElementsType typePacked = PackParam<DrawElementsType>(type);
7856
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7857
bool isCallValid =
7858
(context->skipValidation() || ValidateDrawRangeElements(context, modePacked, start, end,
7859
count, typePacked, indices));
7860
if (isCallValid)
7861
{
7862
context->drawRangeElements(modePacked, start, end, count, typePacked, indices);
7863
}
7864
ANGLE_CAPTURE(DrawRangeElements, isCallValid, context, modePacked, start, end, count,
7865
typePacked, indices);
7866
}
7867
else
7868
{
7869
GenerateContextLostErrorOnCurrentGlobalContext();
7870
}
7871
}
7872
7873
void GL_APIENTRY GL_TexImage3D(GLenum target,
7874
GLint level,
7875
GLint internalformat,
7876
GLsizei width,
7877
GLsizei height,
7878
GLsizei depth,
7879
GLint border,
7880
GLenum format,
7881
GLenum type,
7882
const void *pixels)
7883
{
7884
Context *context = GetValidGlobalContext();
7885
EVENT(context, GLTexImage3D,
7886
"context = %d, target = %s, level = %d, internalformat = %d, width = %d, height = %d, "
7887
"depth = %d, border = %d, format = %s, type = %s, pixels = 0x%016" PRIxPTR "",
7888
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, internalformat,
7889
width, height, depth, border, GLenumToString(GLenumGroup::PixelFormat, format),
7890
GLenumToString(GLenumGroup::PixelType, type), (uintptr_t)pixels);
7891
7892
if (context)
7893
{
7894
TextureTarget targetPacked = PackParam<TextureTarget>(target);
7895
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7896
bool isCallValid = (context->skipValidation() ||
7897
ValidateTexImage3D(context, targetPacked, level, internalformat, width,
7898
height, depth, border, format, type, pixels));
7899
if (isCallValid)
7900
{
7901
context->texImage3D(targetPacked, level, internalformat, width, height, depth, border,
7902
format, type, pixels);
7903
}
7904
ANGLE_CAPTURE(TexImage3D, isCallValid, context, targetPacked, level, internalformat, width,
7905
height, depth, border, format, type, pixels);
7906
}
7907
else
7908
{
7909
GenerateContextLostErrorOnCurrentGlobalContext();
7910
}
7911
}
7912
7913
void GL_APIENTRY GL_TexSubImage3D(GLenum target,
7914
GLint level,
7915
GLint xoffset,
7916
GLint yoffset,
7917
GLint zoffset,
7918
GLsizei width,
7919
GLsizei height,
7920
GLsizei depth,
7921
GLenum format,
7922
GLenum type,
7923
const void *pixels)
7924
{
7925
Context *context = GetValidGlobalContext();
7926
EVENT(context, GLTexSubImage3D,
7927
"context = %d, target = %s, level = %d, xoffset = %d, yoffset = %d, zoffset = %d, width "
7928
"= %d, height = %d, depth = %d, format = %s, type = %s, pixels = 0x%016" PRIxPTR "",
7929
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, xoffset, yoffset,
7930
zoffset, width, height, depth, GLenumToString(GLenumGroup::PixelFormat, format),
7931
GLenumToString(GLenumGroup::PixelType, type), (uintptr_t)pixels);
7932
7933
if (context)
7934
{
7935
TextureTarget targetPacked = PackParam<TextureTarget>(target);
7936
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7937
bool isCallValid =
7938
(context->skipValidation() ||
7939
ValidateTexSubImage3D(context, targetPacked, level, xoffset, yoffset, zoffset, width,
7940
height, depth, format, type, pixels));
7941
if (isCallValid)
7942
{
7943
context->texSubImage3D(targetPacked, level, xoffset, yoffset, zoffset, width, height,
7944
depth, format, type, pixels);
7945
}
7946
ANGLE_CAPTURE(TexSubImage3D, isCallValid, context, targetPacked, level, xoffset, yoffset,
7947
zoffset, width, height, depth, format, type, pixels);
7948
}
7949
else
7950
{
7951
GenerateContextLostErrorOnCurrentGlobalContext();
7952
}
7953
}
7954
7955
// GL 1.3
7956
void GL_APIENTRY GL_ActiveTexture(GLenum texture)
7957
{
7958
Context *context = GetValidGlobalContext();
7959
EVENT(context, GLActiveTexture, "context = %d, texture = %s", CID(context),
7960
GLenumToString(GLenumGroup::TextureUnit, texture));
7961
7962
if (context)
7963
{
7964
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7965
bool isCallValid = (context->skipValidation() || ValidateActiveTexture(context, texture));
7966
if (isCallValid)
7967
{
7968
context->activeTexture(texture);
7969
}
7970
ANGLE_CAPTURE(ActiveTexture, isCallValid, context, texture);
7971
}
7972
else
7973
{
7974
GenerateContextLostErrorOnCurrentGlobalContext();
7975
}
7976
}
7977
7978
void GL_APIENTRY GL_ClientActiveTexture(GLenum texture)
7979
{
7980
Context *context = GetValidGlobalContext();
7981
EVENT(context, GLClientActiveTexture, "context = %d, texture = %s", CID(context),
7982
GLenumToString(GLenumGroup::TextureUnit, texture));
7983
7984
if (context)
7985
{
7986
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
7987
bool isCallValid =
7988
(context->skipValidation() || ValidateClientActiveTexture(context, texture));
7989
if (isCallValid)
7990
{
7991
context->clientActiveTexture(texture);
7992
}
7993
ANGLE_CAPTURE(ClientActiveTexture, isCallValid, context, texture);
7994
}
7995
else
7996
{
7997
GenerateContextLostErrorOnCurrentGlobalContext();
7998
}
7999
}
8000
8001
void GL_APIENTRY GL_CompressedTexImage1D(GLenum target,
8002
GLint level,
8003
GLenum internalformat,
8004
GLsizei width,
8005
GLint border,
8006
GLsizei imageSize,
8007
const void *data)
8008
{
8009
Context *context = GetValidGlobalContext();
8010
EVENT(context, GLCompressedTexImage1D,
8011
"context = %d, target = %s, level = %d, internalformat = %s, width = %d, border = %d, "
8012
"imageSize = %d, data = 0x%016" PRIxPTR "",
8013
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level,
8014
GLenumToString(GLenumGroup::InternalFormat, internalformat), width, border, imageSize,
8015
(uintptr_t)data);
8016
8017
if (context)
8018
{
8019
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8020
bool isCallValid = (context->skipValidation() ||
8021
ValidateCompressedTexImage1D(context, target, level, internalformat,
8022
width, border, imageSize, data));
8023
if (isCallValid)
8024
{
8025
context->compressedTexImage1D(target, level, internalformat, width, border, imageSize,
8026
data);
8027
}
8028
ANGLE_CAPTURE(CompressedTexImage1D, isCallValid, context, target, level, internalformat,
8029
width, border, imageSize, data);
8030
}
8031
else
8032
{
8033
GenerateContextLostErrorOnCurrentGlobalContext();
8034
}
8035
}
8036
8037
void GL_APIENTRY GL_CompressedTexImage2D(GLenum target,
8038
GLint level,
8039
GLenum internalformat,
8040
GLsizei width,
8041
GLsizei height,
8042
GLint border,
8043
GLsizei imageSize,
8044
const void *data)
8045
{
8046
Context *context = GetValidGlobalContext();
8047
EVENT(context, GLCompressedTexImage2D,
8048
"context = %d, target = %s, level = %d, internalformat = %s, width = %d, height = %d, "
8049
"border = %d, imageSize = %d, data = 0x%016" PRIxPTR "",
8050
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level,
8051
GLenumToString(GLenumGroup::InternalFormat, internalformat), width, height, border,
8052
imageSize, (uintptr_t)data);
8053
8054
if (context)
8055
{
8056
TextureTarget targetPacked = PackParam<TextureTarget>(target);
8057
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8058
bool isCallValid =
8059
(context->skipValidation() ||
8060
ValidateCompressedTexImage2D(context, targetPacked, level, internalformat, width,
8061
height, border, imageSize, data));
8062
if (isCallValid)
8063
{
8064
context->compressedTexImage2D(targetPacked, level, internalformat, width, height,
8065
border, imageSize, data);
8066
}
8067
ANGLE_CAPTURE(CompressedTexImage2D, isCallValid, context, targetPacked, level,
8068
internalformat, width, height, border, imageSize, data);
8069
}
8070
else
8071
{
8072
GenerateContextLostErrorOnCurrentGlobalContext();
8073
}
8074
}
8075
8076
void GL_APIENTRY GL_CompressedTexImage3D(GLenum target,
8077
GLint level,
8078
GLenum internalformat,
8079
GLsizei width,
8080
GLsizei height,
8081
GLsizei depth,
8082
GLint border,
8083
GLsizei imageSize,
8084
const void *data)
8085
{
8086
Context *context = GetValidGlobalContext();
8087
EVENT(context, GLCompressedTexImage3D,
8088
"context = %d, target = %s, level = %d, internalformat = %s, width = %d, height = %d, "
8089
"depth = %d, border = %d, imageSize = %d, data = 0x%016" PRIxPTR "",
8090
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level,
8091
GLenumToString(GLenumGroup::InternalFormat, internalformat), width, height, depth, border,
8092
imageSize, (uintptr_t)data);
8093
8094
if (context)
8095
{
8096
TextureTarget targetPacked = PackParam<TextureTarget>(target);
8097
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8098
bool isCallValid =
8099
(context->skipValidation() ||
8100
ValidateCompressedTexImage3D(context, targetPacked, level, internalformat, width,
8101
height, depth, border, imageSize, data));
8102
if (isCallValid)
8103
{
8104
context->compressedTexImage3D(targetPacked, level, internalformat, width, height, depth,
8105
border, imageSize, data);
8106
}
8107
ANGLE_CAPTURE(CompressedTexImage3D, isCallValid, context, targetPacked, level,
8108
internalformat, width, height, depth, border, imageSize, data);
8109
}
8110
else
8111
{
8112
GenerateContextLostErrorOnCurrentGlobalContext();
8113
}
8114
}
8115
8116
void GL_APIENTRY GL_CompressedTexSubImage1D(GLenum target,
8117
GLint level,
8118
GLint xoffset,
8119
GLsizei width,
8120
GLenum format,
8121
GLsizei imageSize,
8122
const void *data)
8123
{
8124
Context *context = GetValidGlobalContext();
8125
EVENT(context, GLCompressedTexSubImage1D,
8126
"context = %d, target = %s, level = %d, xoffset = %d, width = %d, format = %s, imageSize "
8127
"= %d, data = 0x%016" PRIxPTR "",
8128
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, xoffset, width,
8129
GLenumToString(GLenumGroup::PixelFormat, format), imageSize, (uintptr_t)data);
8130
8131
if (context)
8132
{
8133
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8134
bool isCallValid = (context->skipValidation() ||
8135
ValidateCompressedTexSubImage1D(context, target, level, xoffset, width,
8136
format, imageSize, data));
8137
if (isCallValid)
8138
{
8139
context->compressedTexSubImage1D(target, level, xoffset, width, format, imageSize,
8140
data);
8141
}
8142
ANGLE_CAPTURE(CompressedTexSubImage1D, isCallValid, context, target, level, xoffset, width,
8143
format, imageSize, data);
8144
}
8145
else
8146
{
8147
GenerateContextLostErrorOnCurrentGlobalContext();
8148
}
8149
}
8150
8151
void GL_APIENTRY GL_CompressedTexSubImage2D(GLenum target,
8152
GLint level,
8153
GLint xoffset,
8154
GLint yoffset,
8155
GLsizei width,
8156
GLsizei height,
8157
GLenum format,
8158
GLsizei imageSize,
8159
const void *data)
8160
{
8161
Context *context = GetValidGlobalContext();
8162
EVENT(context, GLCompressedTexSubImage2D,
8163
"context = %d, target = %s, level = %d, xoffset = %d, yoffset = %d, width = %d, height = "
8164
"%d, format = %s, imageSize = %d, data = 0x%016" PRIxPTR "",
8165
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, xoffset, yoffset,
8166
width, height, GLenumToString(GLenumGroup::PixelFormat, format), imageSize,
8167
(uintptr_t)data);
8168
8169
if (context)
8170
{
8171
TextureTarget targetPacked = PackParam<TextureTarget>(target);
8172
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8173
bool isCallValid =
8174
(context->skipValidation() ||
8175
ValidateCompressedTexSubImage2D(context, targetPacked, level, xoffset, yoffset, width,
8176
height, format, imageSize, data));
8177
if (isCallValid)
8178
{
8179
context->compressedTexSubImage2D(targetPacked, level, xoffset, yoffset, width, height,
8180
format, imageSize, data);
8181
}
8182
ANGLE_CAPTURE(CompressedTexSubImage2D, isCallValid, context, targetPacked, level, xoffset,
8183
yoffset, width, height, format, imageSize, data);
8184
}
8185
else
8186
{
8187
GenerateContextLostErrorOnCurrentGlobalContext();
8188
}
8189
}
8190
8191
void GL_APIENTRY GL_CompressedTexSubImage3D(GLenum target,
8192
GLint level,
8193
GLint xoffset,
8194
GLint yoffset,
8195
GLint zoffset,
8196
GLsizei width,
8197
GLsizei height,
8198
GLsizei depth,
8199
GLenum format,
8200
GLsizei imageSize,
8201
const void *data)
8202
{
8203
Context *context = GetValidGlobalContext();
8204
EVENT(context, GLCompressedTexSubImage3D,
8205
"context = %d, target = %s, level = %d, xoffset = %d, yoffset = %d, zoffset = %d, width "
8206
"= %d, height = %d, depth = %d, format = %s, imageSize = %d, data = 0x%016" PRIxPTR "",
8207
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), level, xoffset, yoffset,
8208
zoffset, width, height, depth, GLenumToString(GLenumGroup::PixelFormat, format),
8209
imageSize, (uintptr_t)data);
8210
8211
if (context)
8212
{
8213
TextureTarget targetPacked = PackParam<TextureTarget>(target);
8214
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8215
bool isCallValid = (context->skipValidation() ||
8216
ValidateCompressedTexSubImage3D(context, targetPacked, level, xoffset,
8217
yoffset, zoffset, width, height, depth,
8218
format, imageSize, data));
8219
if (isCallValid)
8220
{
8221
context->compressedTexSubImage3D(targetPacked, level, xoffset, yoffset, zoffset, width,
8222
height, depth, format, imageSize, data);
8223
}
8224
ANGLE_CAPTURE(CompressedTexSubImage3D, isCallValid, context, targetPacked, level, xoffset,
8225
yoffset, zoffset, width, height, depth, format, imageSize, data);
8226
}
8227
else
8228
{
8229
GenerateContextLostErrorOnCurrentGlobalContext();
8230
}
8231
}
8232
8233
void GL_APIENTRY GL_GetCompressedTexImage(GLenum target, GLint level, void *img)
8234
{
8235
Context *context = GetValidGlobalContext();
8236
EVENT(context, GLGetCompressedTexImage,
8237
"context = %d, target = %s, level = %d, img = 0x%016" PRIxPTR "", CID(context),
8238
GLenumToString(GLenumGroup::TextureTarget, target), level, (uintptr_t)img);
8239
8240
if (context)
8241
{
8242
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8243
bool isCallValid = (context->skipValidation() ||
8244
ValidateGetCompressedTexImage(context, target, level, img));
8245
if (isCallValid)
8246
{
8247
context->getCompressedTexImage(target, level, img);
8248
}
8249
ANGLE_CAPTURE(GetCompressedTexImage, isCallValid, context, target, level, img);
8250
}
8251
else
8252
{
8253
GenerateContextLostErrorOnCurrentGlobalContext();
8254
}
8255
}
8256
8257
void GL_APIENTRY GL_LoadTransposeMatrixd(const GLdouble *m)
8258
{
8259
Context *context = GetValidGlobalContext();
8260
EVENT(context, GLLoadTransposeMatrixd, "context = %d, m = 0x%016" PRIxPTR "", CID(context),
8261
(uintptr_t)m);
8262
8263
if (context)
8264
{
8265
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8266
bool isCallValid = (context->skipValidation() || ValidateLoadTransposeMatrixd(context, m));
8267
if (isCallValid)
8268
{
8269
context->loadTransposeMatrixd(m);
8270
}
8271
ANGLE_CAPTURE(LoadTransposeMatrixd, isCallValid, context, m);
8272
}
8273
else
8274
{
8275
GenerateContextLostErrorOnCurrentGlobalContext();
8276
}
8277
}
8278
8279
void GL_APIENTRY GL_LoadTransposeMatrixf(const GLfloat *m)
8280
{
8281
Context *context = GetValidGlobalContext();
8282
EVENT(context, GLLoadTransposeMatrixf, "context = %d, m = 0x%016" PRIxPTR "", CID(context),
8283
(uintptr_t)m);
8284
8285
if (context)
8286
{
8287
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8288
bool isCallValid = (context->skipValidation() || ValidateLoadTransposeMatrixf(context, m));
8289
if (isCallValid)
8290
{
8291
context->loadTransposeMatrixf(m);
8292
}
8293
ANGLE_CAPTURE(LoadTransposeMatrixf, isCallValid, context, m);
8294
}
8295
else
8296
{
8297
GenerateContextLostErrorOnCurrentGlobalContext();
8298
}
8299
}
8300
8301
void GL_APIENTRY GL_MultTransposeMatrixd(const GLdouble *m)
8302
{
8303
Context *context = GetValidGlobalContext();
8304
EVENT(context, GLMultTransposeMatrixd, "context = %d, m = 0x%016" PRIxPTR "", CID(context),
8305
(uintptr_t)m);
8306
8307
if (context)
8308
{
8309
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8310
bool isCallValid = (context->skipValidation() || ValidateMultTransposeMatrixd(context, m));
8311
if (isCallValid)
8312
{
8313
context->multTransposeMatrixd(m);
8314
}
8315
ANGLE_CAPTURE(MultTransposeMatrixd, isCallValid, context, m);
8316
}
8317
else
8318
{
8319
GenerateContextLostErrorOnCurrentGlobalContext();
8320
}
8321
}
8322
8323
void GL_APIENTRY GL_MultTransposeMatrixf(const GLfloat *m)
8324
{
8325
Context *context = GetValidGlobalContext();
8326
EVENT(context, GLMultTransposeMatrixf, "context = %d, m = 0x%016" PRIxPTR "", CID(context),
8327
(uintptr_t)m);
8328
8329
if (context)
8330
{
8331
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8332
bool isCallValid = (context->skipValidation() || ValidateMultTransposeMatrixf(context, m));
8333
if (isCallValid)
8334
{
8335
context->multTransposeMatrixf(m);
8336
}
8337
ANGLE_CAPTURE(MultTransposeMatrixf, isCallValid, context, m);
8338
}
8339
else
8340
{
8341
GenerateContextLostErrorOnCurrentGlobalContext();
8342
}
8343
}
8344
8345
void GL_APIENTRY GL_MultiTexCoord1d(GLenum target, GLdouble s)
8346
{
8347
Context *context = GetValidGlobalContext();
8348
EVENT(context, GLMultiTexCoord1d, "context = %d, target = %s, s = %f", CID(context),
8349
GLenumToString(GLenumGroup::TextureUnit, target), s);
8350
8351
if (context)
8352
{
8353
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8354
bool isCallValid =
8355
(context->skipValidation() || ValidateMultiTexCoord1d(context, target, s));
8356
if (isCallValid)
8357
{
8358
context->multiTexCoord1d(target, s);
8359
}
8360
ANGLE_CAPTURE(MultiTexCoord1d, isCallValid, context, target, s);
8361
}
8362
else
8363
{
8364
GenerateContextLostErrorOnCurrentGlobalContext();
8365
}
8366
}
8367
8368
void GL_APIENTRY GL_MultiTexCoord1dv(GLenum target, const GLdouble *v)
8369
{
8370
Context *context = GetValidGlobalContext();
8371
EVENT(context, GLMultiTexCoord1dv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8372
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8373
8374
if (context)
8375
{
8376
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8377
bool isCallValid =
8378
(context->skipValidation() || ValidateMultiTexCoord1dv(context, target, v));
8379
if (isCallValid)
8380
{
8381
context->multiTexCoord1dv(target, v);
8382
}
8383
ANGLE_CAPTURE(MultiTexCoord1dv, isCallValid, context, target, v);
8384
}
8385
else
8386
{
8387
GenerateContextLostErrorOnCurrentGlobalContext();
8388
}
8389
}
8390
8391
void GL_APIENTRY GL_MultiTexCoord1f(GLenum target, GLfloat s)
8392
{
8393
Context *context = GetValidGlobalContext();
8394
EVENT(context, GLMultiTexCoord1f, "context = %d, target = %s, s = %f", CID(context),
8395
GLenumToString(GLenumGroup::TextureUnit, target), s);
8396
8397
if (context)
8398
{
8399
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8400
bool isCallValid =
8401
(context->skipValidation() || ValidateMultiTexCoord1f(context, target, s));
8402
if (isCallValid)
8403
{
8404
context->multiTexCoord1f(target, s);
8405
}
8406
ANGLE_CAPTURE(MultiTexCoord1f, isCallValid, context, target, s);
8407
}
8408
else
8409
{
8410
GenerateContextLostErrorOnCurrentGlobalContext();
8411
}
8412
}
8413
8414
void GL_APIENTRY GL_MultiTexCoord1fv(GLenum target, const GLfloat *v)
8415
{
8416
Context *context = GetValidGlobalContext();
8417
EVENT(context, GLMultiTexCoord1fv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8418
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8419
8420
if (context)
8421
{
8422
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8423
bool isCallValid =
8424
(context->skipValidation() || ValidateMultiTexCoord1fv(context, target, v));
8425
if (isCallValid)
8426
{
8427
context->multiTexCoord1fv(target, v);
8428
}
8429
ANGLE_CAPTURE(MultiTexCoord1fv, isCallValid, context, target, v);
8430
}
8431
else
8432
{
8433
GenerateContextLostErrorOnCurrentGlobalContext();
8434
}
8435
}
8436
8437
void GL_APIENTRY GL_MultiTexCoord1i(GLenum target, GLint s)
8438
{
8439
Context *context = GetValidGlobalContext();
8440
EVENT(context, GLMultiTexCoord1i, "context = %d, target = %s, s = %d", CID(context),
8441
GLenumToString(GLenumGroup::TextureUnit, target), s);
8442
8443
if (context)
8444
{
8445
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8446
bool isCallValid =
8447
(context->skipValidation() || ValidateMultiTexCoord1i(context, target, s));
8448
if (isCallValid)
8449
{
8450
context->multiTexCoord1i(target, s);
8451
}
8452
ANGLE_CAPTURE(MultiTexCoord1i, isCallValid, context, target, s);
8453
}
8454
else
8455
{
8456
GenerateContextLostErrorOnCurrentGlobalContext();
8457
}
8458
}
8459
8460
void GL_APIENTRY GL_MultiTexCoord1iv(GLenum target, const GLint *v)
8461
{
8462
Context *context = GetValidGlobalContext();
8463
EVENT(context, GLMultiTexCoord1iv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8464
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8465
8466
if (context)
8467
{
8468
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8469
bool isCallValid =
8470
(context->skipValidation() || ValidateMultiTexCoord1iv(context, target, v));
8471
if (isCallValid)
8472
{
8473
context->multiTexCoord1iv(target, v);
8474
}
8475
ANGLE_CAPTURE(MultiTexCoord1iv, isCallValid, context, target, v);
8476
}
8477
else
8478
{
8479
GenerateContextLostErrorOnCurrentGlobalContext();
8480
}
8481
}
8482
8483
void GL_APIENTRY GL_MultiTexCoord1s(GLenum target, GLshort s)
8484
{
8485
Context *context = GetValidGlobalContext();
8486
EVENT(context, GLMultiTexCoord1s, "context = %d, target = %s, s = %d", CID(context),
8487
GLenumToString(GLenumGroup::TextureUnit, target), s);
8488
8489
if (context)
8490
{
8491
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8492
bool isCallValid =
8493
(context->skipValidation() || ValidateMultiTexCoord1s(context, target, s));
8494
if (isCallValid)
8495
{
8496
context->multiTexCoord1s(target, s);
8497
}
8498
ANGLE_CAPTURE(MultiTexCoord1s, isCallValid, context, target, s);
8499
}
8500
else
8501
{
8502
GenerateContextLostErrorOnCurrentGlobalContext();
8503
}
8504
}
8505
8506
void GL_APIENTRY GL_MultiTexCoord1sv(GLenum target, const GLshort *v)
8507
{
8508
Context *context = GetValidGlobalContext();
8509
EVENT(context, GLMultiTexCoord1sv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8510
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8511
8512
if (context)
8513
{
8514
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8515
bool isCallValid =
8516
(context->skipValidation() || ValidateMultiTexCoord1sv(context, target, v));
8517
if (isCallValid)
8518
{
8519
context->multiTexCoord1sv(target, v);
8520
}
8521
ANGLE_CAPTURE(MultiTexCoord1sv, isCallValid, context, target, v);
8522
}
8523
else
8524
{
8525
GenerateContextLostErrorOnCurrentGlobalContext();
8526
}
8527
}
8528
8529
void GL_APIENTRY GL_MultiTexCoord2d(GLenum target, GLdouble s, GLdouble t)
8530
{
8531
Context *context = GetValidGlobalContext();
8532
EVENT(context, GLMultiTexCoord2d, "context = %d, target = %s, s = %f, t = %f", CID(context),
8533
GLenumToString(GLenumGroup::TextureUnit, target), s, t);
8534
8535
if (context)
8536
{
8537
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8538
bool isCallValid =
8539
(context->skipValidation() || ValidateMultiTexCoord2d(context, target, s, t));
8540
if (isCallValid)
8541
{
8542
context->multiTexCoord2d(target, s, t);
8543
}
8544
ANGLE_CAPTURE(MultiTexCoord2d, isCallValid, context, target, s, t);
8545
}
8546
else
8547
{
8548
GenerateContextLostErrorOnCurrentGlobalContext();
8549
}
8550
}
8551
8552
void GL_APIENTRY GL_MultiTexCoord2dv(GLenum target, const GLdouble *v)
8553
{
8554
Context *context = GetValidGlobalContext();
8555
EVENT(context, GLMultiTexCoord2dv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8556
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8557
8558
if (context)
8559
{
8560
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8561
bool isCallValid =
8562
(context->skipValidation() || ValidateMultiTexCoord2dv(context, target, v));
8563
if (isCallValid)
8564
{
8565
context->multiTexCoord2dv(target, v);
8566
}
8567
ANGLE_CAPTURE(MultiTexCoord2dv, isCallValid, context, target, v);
8568
}
8569
else
8570
{
8571
GenerateContextLostErrorOnCurrentGlobalContext();
8572
}
8573
}
8574
8575
void GL_APIENTRY GL_MultiTexCoord2f(GLenum target, GLfloat s, GLfloat t)
8576
{
8577
Context *context = GetValidGlobalContext();
8578
EVENT(context, GLMultiTexCoord2f, "context = %d, target = %s, s = %f, t = %f", CID(context),
8579
GLenumToString(GLenumGroup::TextureUnit, target), s, t);
8580
8581
if (context)
8582
{
8583
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8584
bool isCallValid =
8585
(context->skipValidation() || ValidateMultiTexCoord2f(context, target, s, t));
8586
if (isCallValid)
8587
{
8588
context->multiTexCoord2f(target, s, t);
8589
}
8590
ANGLE_CAPTURE(MultiTexCoord2f, isCallValid, context, target, s, t);
8591
}
8592
else
8593
{
8594
GenerateContextLostErrorOnCurrentGlobalContext();
8595
}
8596
}
8597
8598
void GL_APIENTRY GL_MultiTexCoord2fv(GLenum target, const GLfloat *v)
8599
{
8600
Context *context = GetValidGlobalContext();
8601
EVENT(context, GLMultiTexCoord2fv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8602
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8603
8604
if (context)
8605
{
8606
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8607
bool isCallValid =
8608
(context->skipValidation() || ValidateMultiTexCoord2fv(context, target, v));
8609
if (isCallValid)
8610
{
8611
context->multiTexCoord2fv(target, v);
8612
}
8613
ANGLE_CAPTURE(MultiTexCoord2fv, isCallValid, context, target, v);
8614
}
8615
else
8616
{
8617
GenerateContextLostErrorOnCurrentGlobalContext();
8618
}
8619
}
8620
8621
void GL_APIENTRY GL_MultiTexCoord2i(GLenum target, GLint s, GLint t)
8622
{
8623
Context *context = GetValidGlobalContext();
8624
EVENT(context, GLMultiTexCoord2i, "context = %d, target = %s, s = %d, t = %d", CID(context),
8625
GLenumToString(GLenumGroup::TextureUnit, target), s, t);
8626
8627
if (context)
8628
{
8629
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8630
bool isCallValid =
8631
(context->skipValidation() || ValidateMultiTexCoord2i(context, target, s, t));
8632
if (isCallValid)
8633
{
8634
context->multiTexCoord2i(target, s, t);
8635
}
8636
ANGLE_CAPTURE(MultiTexCoord2i, isCallValid, context, target, s, t);
8637
}
8638
else
8639
{
8640
GenerateContextLostErrorOnCurrentGlobalContext();
8641
}
8642
}
8643
8644
void GL_APIENTRY GL_MultiTexCoord2iv(GLenum target, const GLint *v)
8645
{
8646
Context *context = GetValidGlobalContext();
8647
EVENT(context, GLMultiTexCoord2iv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8648
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8649
8650
if (context)
8651
{
8652
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8653
bool isCallValid =
8654
(context->skipValidation() || ValidateMultiTexCoord2iv(context, target, v));
8655
if (isCallValid)
8656
{
8657
context->multiTexCoord2iv(target, v);
8658
}
8659
ANGLE_CAPTURE(MultiTexCoord2iv, isCallValid, context, target, v);
8660
}
8661
else
8662
{
8663
GenerateContextLostErrorOnCurrentGlobalContext();
8664
}
8665
}
8666
8667
void GL_APIENTRY GL_MultiTexCoord2s(GLenum target, GLshort s, GLshort t)
8668
{
8669
Context *context = GetValidGlobalContext();
8670
EVENT(context, GLMultiTexCoord2s, "context = %d, target = %s, s = %d, t = %d", CID(context),
8671
GLenumToString(GLenumGroup::TextureUnit, target), s, t);
8672
8673
if (context)
8674
{
8675
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8676
bool isCallValid =
8677
(context->skipValidation() || ValidateMultiTexCoord2s(context, target, s, t));
8678
if (isCallValid)
8679
{
8680
context->multiTexCoord2s(target, s, t);
8681
}
8682
ANGLE_CAPTURE(MultiTexCoord2s, isCallValid, context, target, s, t);
8683
}
8684
else
8685
{
8686
GenerateContextLostErrorOnCurrentGlobalContext();
8687
}
8688
}
8689
8690
void GL_APIENTRY GL_MultiTexCoord2sv(GLenum target, const GLshort *v)
8691
{
8692
Context *context = GetValidGlobalContext();
8693
EVENT(context, GLMultiTexCoord2sv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8694
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8695
8696
if (context)
8697
{
8698
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8699
bool isCallValid =
8700
(context->skipValidation() || ValidateMultiTexCoord2sv(context, target, v));
8701
if (isCallValid)
8702
{
8703
context->multiTexCoord2sv(target, v);
8704
}
8705
ANGLE_CAPTURE(MultiTexCoord2sv, isCallValid, context, target, v);
8706
}
8707
else
8708
{
8709
GenerateContextLostErrorOnCurrentGlobalContext();
8710
}
8711
}
8712
8713
void GL_APIENTRY GL_MultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r)
8714
{
8715
Context *context = GetValidGlobalContext();
8716
EVENT(context, GLMultiTexCoord3d, "context = %d, target = %s, s = %f, t = %f, r = %f",
8717
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), s, t, r);
8718
8719
if (context)
8720
{
8721
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8722
bool isCallValid =
8723
(context->skipValidation() || ValidateMultiTexCoord3d(context, target, s, t, r));
8724
if (isCallValid)
8725
{
8726
context->multiTexCoord3d(target, s, t, r);
8727
}
8728
ANGLE_CAPTURE(MultiTexCoord3d, isCallValid, context, target, s, t, r);
8729
}
8730
else
8731
{
8732
GenerateContextLostErrorOnCurrentGlobalContext();
8733
}
8734
}
8735
8736
void GL_APIENTRY GL_MultiTexCoord3dv(GLenum target, const GLdouble *v)
8737
{
8738
Context *context = GetValidGlobalContext();
8739
EVENT(context, GLMultiTexCoord3dv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8740
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8741
8742
if (context)
8743
{
8744
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8745
bool isCallValid =
8746
(context->skipValidation() || ValidateMultiTexCoord3dv(context, target, v));
8747
if (isCallValid)
8748
{
8749
context->multiTexCoord3dv(target, v);
8750
}
8751
ANGLE_CAPTURE(MultiTexCoord3dv, isCallValid, context, target, v);
8752
}
8753
else
8754
{
8755
GenerateContextLostErrorOnCurrentGlobalContext();
8756
}
8757
}
8758
8759
void GL_APIENTRY GL_MultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r)
8760
{
8761
Context *context = GetValidGlobalContext();
8762
EVENT(context, GLMultiTexCoord3f, "context = %d, target = %s, s = %f, t = %f, r = %f",
8763
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), s, t, r);
8764
8765
if (context)
8766
{
8767
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8768
bool isCallValid =
8769
(context->skipValidation() || ValidateMultiTexCoord3f(context, target, s, t, r));
8770
if (isCallValid)
8771
{
8772
context->multiTexCoord3f(target, s, t, r);
8773
}
8774
ANGLE_CAPTURE(MultiTexCoord3f, isCallValid, context, target, s, t, r);
8775
}
8776
else
8777
{
8778
GenerateContextLostErrorOnCurrentGlobalContext();
8779
}
8780
}
8781
8782
void GL_APIENTRY GL_MultiTexCoord3fv(GLenum target, const GLfloat *v)
8783
{
8784
Context *context = GetValidGlobalContext();
8785
EVENT(context, GLMultiTexCoord3fv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8786
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8787
8788
if (context)
8789
{
8790
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8791
bool isCallValid =
8792
(context->skipValidation() || ValidateMultiTexCoord3fv(context, target, v));
8793
if (isCallValid)
8794
{
8795
context->multiTexCoord3fv(target, v);
8796
}
8797
ANGLE_CAPTURE(MultiTexCoord3fv, isCallValid, context, target, v);
8798
}
8799
else
8800
{
8801
GenerateContextLostErrorOnCurrentGlobalContext();
8802
}
8803
}
8804
8805
void GL_APIENTRY GL_MultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r)
8806
{
8807
Context *context = GetValidGlobalContext();
8808
EVENT(context, GLMultiTexCoord3i, "context = %d, target = %s, s = %d, t = %d, r = %d",
8809
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), s, t, r);
8810
8811
if (context)
8812
{
8813
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8814
bool isCallValid =
8815
(context->skipValidation() || ValidateMultiTexCoord3i(context, target, s, t, r));
8816
if (isCallValid)
8817
{
8818
context->multiTexCoord3i(target, s, t, r);
8819
}
8820
ANGLE_CAPTURE(MultiTexCoord3i, isCallValid, context, target, s, t, r);
8821
}
8822
else
8823
{
8824
GenerateContextLostErrorOnCurrentGlobalContext();
8825
}
8826
}
8827
8828
void GL_APIENTRY GL_MultiTexCoord3iv(GLenum target, const GLint *v)
8829
{
8830
Context *context = GetValidGlobalContext();
8831
EVENT(context, GLMultiTexCoord3iv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8832
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8833
8834
if (context)
8835
{
8836
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8837
bool isCallValid =
8838
(context->skipValidation() || ValidateMultiTexCoord3iv(context, target, v));
8839
if (isCallValid)
8840
{
8841
context->multiTexCoord3iv(target, v);
8842
}
8843
ANGLE_CAPTURE(MultiTexCoord3iv, isCallValid, context, target, v);
8844
}
8845
else
8846
{
8847
GenerateContextLostErrorOnCurrentGlobalContext();
8848
}
8849
}
8850
8851
void GL_APIENTRY GL_MultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r)
8852
{
8853
Context *context = GetValidGlobalContext();
8854
EVENT(context, GLMultiTexCoord3s, "context = %d, target = %s, s = %d, t = %d, r = %d",
8855
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), s, t, r);
8856
8857
if (context)
8858
{
8859
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8860
bool isCallValid =
8861
(context->skipValidation() || ValidateMultiTexCoord3s(context, target, s, t, r));
8862
if (isCallValid)
8863
{
8864
context->multiTexCoord3s(target, s, t, r);
8865
}
8866
ANGLE_CAPTURE(MultiTexCoord3s, isCallValid, context, target, s, t, r);
8867
}
8868
else
8869
{
8870
GenerateContextLostErrorOnCurrentGlobalContext();
8871
}
8872
}
8873
8874
void GL_APIENTRY GL_MultiTexCoord3sv(GLenum target, const GLshort *v)
8875
{
8876
Context *context = GetValidGlobalContext();
8877
EVENT(context, GLMultiTexCoord3sv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8878
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8879
8880
if (context)
8881
{
8882
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8883
bool isCallValid =
8884
(context->skipValidation() || ValidateMultiTexCoord3sv(context, target, v));
8885
if (isCallValid)
8886
{
8887
context->multiTexCoord3sv(target, v);
8888
}
8889
ANGLE_CAPTURE(MultiTexCoord3sv, isCallValid, context, target, v);
8890
}
8891
else
8892
{
8893
GenerateContextLostErrorOnCurrentGlobalContext();
8894
}
8895
}
8896
8897
void GL_APIENTRY GL_MultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
8898
{
8899
Context *context = GetValidGlobalContext();
8900
EVENT(context, GLMultiTexCoord4d, "context = %d, target = %s, s = %f, t = %f, r = %f, q = %f",
8901
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), s, t, r, q);
8902
8903
if (context)
8904
{
8905
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8906
bool isCallValid =
8907
(context->skipValidation() || ValidateMultiTexCoord4d(context, target, s, t, r, q));
8908
if (isCallValid)
8909
{
8910
context->multiTexCoord4d(target, s, t, r, q);
8911
}
8912
ANGLE_CAPTURE(MultiTexCoord4d, isCallValid, context, target, s, t, r, q);
8913
}
8914
else
8915
{
8916
GenerateContextLostErrorOnCurrentGlobalContext();
8917
}
8918
}
8919
8920
void GL_APIENTRY GL_MultiTexCoord4dv(GLenum target, const GLdouble *v)
8921
{
8922
Context *context = GetValidGlobalContext();
8923
EVENT(context, GLMultiTexCoord4dv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8924
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8925
8926
if (context)
8927
{
8928
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8929
bool isCallValid =
8930
(context->skipValidation() || ValidateMultiTexCoord4dv(context, target, v));
8931
if (isCallValid)
8932
{
8933
context->multiTexCoord4dv(target, v);
8934
}
8935
ANGLE_CAPTURE(MultiTexCoord4dv, isCallValid, context, target, v);
8936
}
8937
else
8938
{
8939
GenerateContextLostErrorOnCurrentGlobalContext();
8940
}
8941
}
8942
8943
void GL_APIENTRY GL_MultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
8944
{
8945
Context *context = GetValidGlobalContext();
8946
EVENT(context, GLMultiTexCoord4f, "context = %d, target = %s, s = %f, t = %f, r = %f, q = %f",
8947
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), s, t, r, q);
8948
8949
if (context)
8950
{
8951
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8952
bool isCallValid =
8953
(context->skipValidation() || ValidateMultiTexCoord4f(context, target, s, t, r, q));
8954
if (isCallValid)
8955
{
8956
context->multiTexCoord4f(target, s, t, r, q);
8957
}
8958
ANGLE_CAPTURE(MultiTexCoord4f, isCallValid, context, target, s, t, r, q);
8959
}
8960
else
8961
{
8962
GenerateContextLostErrorOnCurrentGlobalContext();
8963
}
8964
}
8965
8966
void GL_APIENTRY GL_MultiTexCoord4fv(GLenum target, const GLfloat *v)
8967
{
8968
Context *context = GetValidGlobalContext();
8969
EVENT(context, GLMultiTexCoord4fv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
8970
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
8971
8972
if (context)
8973
{
8974
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8975
bool isCallValid =
8976
(context->skipValidation() || ValidateMultiTexCoord4fv(context, target, v));
8977
if (isCallValid)
8978
{
8979
context->multiTexCoord4fv(target, v);
8980
}
8981
ANGLE_CAPTURE(MultiTexCoord4fv, isCallValid, context, target, v);
8982
}
8983
else
8984
{
8985
GenerateContextLostErrorOnCurrentGlobalContext();
8986
}
8987
}
8988
8989
void GL_APIENTRY GL_MultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q)
8990
{
8991
Context *context = GetValidGlobalContext();
8992
EVENT(context, GLMultiTexCoord4i, "context = %d, target = %s, s = %d, t = %d, r = %d, q = %d",
8993
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), s, t, r, q);
8994
8995
if (context)
8996
{
8997
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
8998
bool isCallValid =
8999
(context->skipValidation() || ValidateMultiTexCoord4i(context, target, s, t, r, q));
9000
if (isCallValid)
9001
{
9002
context->multiTexCoord4i(target, s, t, r, q);
9003
}
9004
ANGLE_CAPTURE(MultiTexCoord4i, isCallValid, context, target, s, t, r, q);
9005
}
9006
else
9007
{
9008
GenerateContextLostErrorOnCurrentGlobalContext();
9009
}
9010
}
9011
9012
void GL_APIENTRY GL_MultiTexCoord4iv(GLenum target, const GLint *v)
9013
{
9014
Context *context = GetValidGlobalContext();
9015
EVENT(context, GLMultiTexCoord4iv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
9016
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
9017
9018
if (context)
9019
{
9020
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9021
bool isCallValid =
9022
(context->skipValidation() || ValidateMultiTexCoord4iv(context, target, v));
9023
if (isCallValid)
9024
{
9025
context->multiTexCoord4iv(target, v);
9026
}
9027
ANGLE_CAPTURE(MultiTexCoord4iv, isCallValid, context, target, v);
9028
}
9029
else
9030
{
9031
GenerateContextLostErrorOnCurrentGlobalContext();
9032
}
9033
}
9034
9035
void GL_APIENTRY GL_MultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
9036
{
9037
Context *context = GetValidGlobalContext();
9038
EVENT(context, GLMultiTexCoord4s, "context = %d, target = %s, s = %d, t = %d, r = %d, q = %d",
9039
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), s, t, r, q);
9040
9041
if (context)
9042
{
9043
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9044
bool isCallValid =
9045
(context->skipValidation() || ValidateMultiTexCoord4s(context, target, s, t, r, q));
9046
if (isCallValid)
9047
{
9048
context->multiTexCoord4s(target, s, t, r, q);
9049
}
9050
ANGLE_CAPTURE(MultiTexCoord4s, isCallValid, context, target, s, t, r, q);
9051
}
9052
else
9053
{
9054
GenerateContextLostErrorOnCurrentGlobalContext();
9055
}
9056
}
9057
9058
void GL_APIENTRY GL_MultiTexCoord4sv(GLenum target, const GLshort *v)
9059
{
9060
Context *context = GetValidGlobalContext();
9061
EVENT(context, GLMultiTexCoord4sv, "context = %d, target = %s, v = 0x%016" PRIxPTR "",
9062
CID(context), GLenumToString(GLenumGroup::TextureUnit, target), (uintptr_t)v);
9063
9064
if (context)
9065
{
9066
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9067
bool isCallValid =
9068
(context->skipValidation() || ValidateMultiTexCoord4sv(context, target, v));
9069
if (isCallValid)
9070
{
9071
context->multiTexCoord4sv(target, v);
9072
}
9073
ANGLE_CAPTURE(MultiTexCoord4sv, isCallValid, context, target, v);
9074
}
9075
else
9076
{
9077
GenerateContextLostErrorOnCurrentGlobalContext();
9078
}
9079
}
9080
9081
void GL_APIENTRY GL_SampleCoverage(GLfloat value, GLboolean invert)
9082
{
9083
Context *context = GetValidGlobalContext();
9084
EVENT(context, GLSampleCoverage, "context = %d, value = %f, invert = %s", CID(context), value,
9085
GLbooleanToString(invert));
9086
9087
if (context)
9088
{
9089
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9090
bool isCallValid =
9091
(context->skipValidation() || ValidateSampleCoverage(context, value, invert));
9092
if (isCallValid)
9093
{
9094
context->sampleCoverage(value, invert);
9095
}
9096
ANGLE_CAPTURE(SampleCoverage, isCallValid, context, value, invert);
9097
}
9098
else
9099
{
9100
GenerateContextLostErrorOnCurrentGlobalContext();
9101
}
9102
}
9103
9104
// GL 1.4
9105
void GL_APIENTRY GL_BlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
9106
{
9107
Context *context = GetValidGlobalContext();
9108
EVENT(context, GLBlendColor, "context = %d, red = %f, green = %f, blue = %f, alpha = %f",
9109
CID(context), red, green, blue, alpha);
9110
9111
if (context)
9112
{
9113
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9114
bool isCallValid =
9115
(context->skipValidation() || ValidateBlendColor(context, red, green, blue, alpha));
9116
if (isCallValid)
9117
{
9118
context->blendColor(red, green, blue, alpha);
9119
}
9120
ANGLE_CAPTURE(BlendColor, isCallValid, context, red, green, blue, alpha);
9121
}
9122
else
9123
{
9124
GenerateContextLostErrorOnCurrentGlobalContext();
9125
}
9126
}
9127
9128
void GL_APIENTRY GL_BlendEquation(GLenum mode)
9129
{
9130
Context *context = GetValidGlobalContext();
9131
EVENT(context, GLBlendEquation, "context = %d, mode = %s", CID(context),
9132
GLenumToString(GLenumGroup::BlendEquationModeEXT, mode));
9133
9134
if (context)
9135
{
9136
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9137
bool isCallValid = (context->skipValidation() || ValidateBlendEquation(context, mode));
9138
if (isCallValid)
9139
{
9140
context->blendEquation(mode);
9141
}
9142
ANGLE_CAPTURE(BlendEquation, isCallValid, context, mode);
9143
}
9144
else
9145
{
9146
GenerateContextLostErrorOnCurrentGlobalContext();
9147
}
9148
}
9149
9150
void GL_APIENTRY GL_BlendFuncSeparate(GLenum sfactorRGB,
9151
GLenum dfactorRGB,
9152
GLenum sfactorAlpha,
9153
GLenum dfactorAlpha)
9154
{
9155
Context *context = GetValidGlobalContext();
9156
EVENT(context, GLBlendFuncSeparate,
9157
"context = %d, sfactorRGB = %s, dfactorRGB = %s, sfactorAlpha = %s, dfactorAlpha = %s",
9158
CID(context), GLenumToString(GLenumGroup::BlendingFactor, sfactorRGB),
9159
GLenumToString(GLenumGroup::BlendingFactor, dfactorRGB),
9160
GLenumToString(GLenumGroup::BlendingFactor, sfactorAlpha),
9161
GLenumToString(GLenumGroup::BlendingFactor, dfactorAlpha));
9162
9163
if (context)
9164
{
9165
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9166
bool isCallValid =
9167
(context->skipValidation() || ValidateBlendFuncSeparate(context, sfactorRGB, dfactorRGB,
9168
sfactorAlpha, dfactorAlpha));
9169
if (isCallValid)
9170
{
9171
context->blendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
9172
}
9173
ANGLE_CAPTURE(BlendFuncSeparate, isCallValid, context, sfactorRGB, dfactorRGB, sfactorAlpha,
9174
dfactorAlpha);
9175
}
9176
else
9177
{
9178
GenerateContextLostErrorOnCurrentGlobalContext();
9179
}
9180
}
9181
9182
void GL_APIENTRY GL_FogCoordPointer(GLenum type, GLsizei stride, const void *pointer)
9183
{
9184
Context *context = GetValidGlobalContext();
9185
EVENT(context, GLFogCoordPointer,
9186
"context = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "", CID(context),
9187
GLenumToString(GLenumGroup::FogPointerTypeEXT, type), stride, (uintptr_t)pointer);
9188
9189
if (context)
9190
{
9191
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9192
bool isCallValid =
9193
(context->skipValidation() || ValidateFogCoordPointer(context, type, stride, pointer));
9194
if (isCallValid)
9195
{
9196
context->fogCoordPointer(type, stride, pointer);
9197
}
9198
ANGLE_CAPTURE(FogCoordPointer, isCallValid, context, type, stride, pointer);
9199
}
9200
else
9201
{
9202
GenerateContextLostErrorOnCurrentGlobalContext();
9203
}
9204
}
9205
9206
void GL_APIENTRY GL_FogCoordd(GLdouble coord)
9207
{
9208
Context *context = GetValidGlobalContext();
9209
EVENT(context, GLFogCoordd, "context = %d, coord = %f", CID(context), coord);
9210
9211
if (context)
9212
{
9213
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9214
bool isCallValid = (context->skipValidation() || ValidateFogCoordd(context, coord));
9215
if (isCallValid)
9216
{
9217
context->fogCoordd(coord);
9218
}
9219
ANGLE_CAPTURE(FogCoordd, isCallValid, context, coord);
9220
}
9221
else
9222
{
9223
GenerateContextLostErrorOnCurrentGlobalContext();
9224
}
9225
}
9226
9227
void GL_APIENTRY GL_FogCoorddv(const GLdouble *coord)
9228
{
9229
Context *context = GetValidGlobalContext();
9230
EVENT(context, GLFogCoorddv, "context = %d, coord = 0x%016" PRIxPTR "", CID(context),
9231
(uintptr_t)coord);
9232
9233
if (context)
9234
{
9235
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9236
bool isCallValid = (context->skipValidation() || ValidateFogCoorddv(context, coord));
9237
if (isCallValid)
9238
{
9239
context->fogCoorddv(coord);
9240
}
9241
ANGLE_CAPTURE(FogCoorddv, isCallValid, context, coord);
9242
}
9243
else
9244
{
9245
GenerateContextLostErrorOnCurrentGlobalContext();
9246
}
9247
}
9248
9249
void GL_APIENTRY GL_FogCoordf(GLfloat coord)
9250
{
9251
Context *context = GetValidGlobalContext();
9252
EVENT(context, GLFogCoordf, "context = %d, coord = %f", CID(context), coord);
9253
9254
if (context)
9255
{
9256
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9257
bool isCallValid = (context->skipValidation() || ValidateFogCoordf(context, coord));
9258
if (isCallValid)
9259
{
9260
context->fogCoordf(coord);
9261
}
9262
ANGLE_CAPTURE(FogCoordf, isCallValid, context, coord);
9263
}
9264
else
9265
{
9266
GenerateContextLostErrorOnCurrentGlobalContext();
9267
}
9268
}
9269
9270
void GL_APIENTRY GL_FogCoordfv(const GLfloat *coord)
9271
{
9272
Context *context = GetValidGlobalContext();
9273
EVENT(context, GLFogCoordfv, "context = %d, coord = 0x%016" PRIxPTR "", CID(context),
9274
(uintptr_t)coord);
9275
9276
if (context)
9277
{
9278
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9279
bool isCallValid = (context->skipValidation() || ValidateFogCoordfv(context, coord));
9280
if (isCallValid)
9281
{
9282
context->fogCoordfv(coord);
9283
}
9284
ANGLE_CAPTURE(FogCoordfv, isCallValid, context, coord);
9285
}
9286
else
9287
{
9288
GenerateContextLostErrorOnCurrentGlobalContext();
9289
}
9290
}
9291
9292
void GL_APIENTRY GL_MultiDrawArrays(GLenum mode,
9293
const GLint *first,
9294
const GLsizei *count,
9295
GLsizei drawcount)
9296
{
9297
Context *context = GetValidGlobalContext();
9298
EVENT(context, GLMultiDrawArrays,
9299
"context = %d, mode = %s, first = 0x%016" PRIxPTR ", count = 0x%016" PRIxPTR
9300
", drawcount = %d",
9301
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), (uintptr_t)first,
9302
(uintptr_t)count, drawcount);
9303
9304
if (context)
9305
{
9306
PrimitiveMode modePacked = PackParam<PrimitiveMode>(mode);
9307
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9308
bool isCallValid = (context->skipValidation() ||
9309
ValidateMultiDrawArrays(context, modePacked, first, count, drawcount));
9310
if (isCallValid)
9311
{
9312
context->multiDrawArrays(modePacked, first, count, drawcount);
9313
}
9314
ANGLE_CAPTURE(MultiDrawArrays, isCallValid, context, modePacked, first, count, drawcount);
9315
}
9316
else
9317
{
9318
GenerateContextLostErrorOnCurrentGlobalContext();
9319
}
9320
}
9321
9322
void GL_APIENTRY GL_MultiDrawElements(GLenum mode,
9323
const GLsizei *count,
9324
GLenum type,
9325
const void *const *indices,
9326
GLsizei drawcount)
9327
{
9328
Context *context = GetValidGlobalContext();
9329
EVENT(context, GLMultiDrawElements,
9330
"context = %d, mode = %s, count = 0x%016" PRIxPTR ", type = %s, indices = 0x%016" PRIxPTR
9331
", drawcount = %d",
9332
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), (uintptr_t)count,
9333
GLenumToString(GLenumGroup::DrawElementsType, type), (uintptr_t)indices, drawcount);
9334
9335
if (context)
9336
{
9337
PrimitiveMode modePacked = PackParam<PrimitiveMode>(mode);
9338
DrawElementsType typePacked = PackParam<DrawElementsType>(type);
9339
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9340
bool isCallValid =
9341
(context->skipValidation() ||
9342
ValidateMultiDrawElements(context, modePacked, count, typePacked, indices, drawcount));
9343
if (isCallValid)
9344
{
9345
context->multiDrawElements(modePacked, count, typePacked, indices, drawcount);
9346
}
9347
ANGLE_CAPTURE(MultiDrawElements, isCallValid, context, modePacked, count, typePacked,
9348
indices, drawcount);
9349
}
9350
else
9351
{
9352
GenerateContextLostErrorOnCurrentGlobalContext();
9353
}
9354
}
9355
9356
void GL_APIENTRY GL_PointParameterf(GLenum pname, GLfloat param)
9357
{
9358
Context *context = GetValidGlobalContext();
9359
EVENT(context, GLPointParameterf, "context = %d, pname = %s, param = %f", CID(context),
9360
GLenumToString(GLenumGroup::DefaultGroup, pname), param);
9361
9362
if (context)
9363
{
9364
PointParameter pnamePacked = PackParam<PointParameter>(pname);
9365
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9366
bool isCallValid =
9367
(context->skipValidation() || ValidatePointParameterf(context, pnamePacked, param));
9368
if (isCallValid)
9369
{
9370
context->pointParameterf(pnamePacked, param);
9371
}
9372
ANGLE_CAPTURE(PointParameterf, isCallValid, context, pnamePacked, param);
9373
}
9374
else
9375
{
9376
GenerateContextLostErrorOnCurrentGlobalContext();
9377
}
9378
}
9379
9380
void GL_APIENTRY GL_PointParameterfv(GLenum pname, const GLfloat *params)
9381
{
9382
Context *context = GetValidGlobalContext();
9383
EVENT(context, GLPointParameterfv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",
9384
CID(context), GLenumToString(GLenumGroup::DefaultGroup, pname), (uintptr_t)params);
9385
9386
if (context)
9387
{
9388
PointParameter pnamePacked = PackParam<PointParameter>(pname);
9389
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9390
bool isCallValid =
9391
(context->skipValidation() || ValidatePointParameterfv(context, pnamePacked, params));
9392
if (isCallValid)
9393
{
9394
context->pointParameterfv(pnamePacked, params);
9395
}
9396
ANGLE_CAPTURE(PointParameterfv, isCallValid, context, pnamePacked, params);
9397
}
9398
else
9399
{
9400
GenerateContextLostErrorOnCurrentGlobalContext();
9401
}
9402
}
9403
9404
void GL_APIENTRY GL_PointParameteri(GLenum pname, GLint param)
9405
{
9406
Context *context = GetValidGlobalContext();
9407
EVENT(context, GLPointParameteri, "context = %d, pname = %s, param = %d", CID(context),
9408
GLenumToString(GLenumGroup::DefaultGroup, pname), param);
9409
9410
if (context)
9411
{
9412
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9413
bool isCallValid =
9414
(context->skipValidation() || ValidatePointParameteri(context, pname, param));
9415
if (isCallValid)
9416
{
9417
context->pointParameteri(pname, param);
9418
}
9419
ANGLE_CAPTURE(PointParameteri, isCallValid, context, pname, param);
9420
}
9421
else
9422
{
9423
GenerateContextLostErrorOnCurrentGlobalContext();
9424
}
9425
}
9426
9427
void GL_APIENTRY GL_PointParameteriv(GLenum pname, const GLint *params)
9428
{
9429
Context *context = GetValidGlobalContext();
9430
EVENT(context, GLPointParameteriv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",
9431
CID(context), GLenumToString(GLenumGroup::DefaultGroup, pname), (uintptr_t)params);
9432
9433
if (context)
9434
{
9435
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9436
bool isCallValid =
9437
(context->skipValidation() || ValidatePointParameteriv(context, pname, params));
9438
if (isCallValid)
9439
{
9440
context->pointParameteriv(pname, params);
9441
}
9442
ANGLE_CAPTURE(PointParameteriv, isCallValid, context, pname, params);
9443
}
9444
else
9445
{
9446
GenerateContextLostErrorOnCurrentGlobalContext();
9447
}
9448
}
9449
9450
void GL_APIENTRY GL_SecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue)
9451
{
9452
Context *context = GetValidGlobalContext();
9453
EVENT(context, GLSecondaryColor3b, "context = %d, red = %d, green = %d, blue = %d",
9454
CID(context), red, green, blue);
9455
9456
if (context)
9457
{
9458
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9459
bool isCallValid =
9460
(context->skipValidation() || ValidateSecondaryColor3b(context, red, green, blue));
9461
if (isCallValid)
9462
{
9463
context->secondaryColor3b(red, green, blue);
9464
}
9465
ANGLE_CAPTURE(SecondaryColor3b, isCallValid, context, red, green, blue);
9466
}
9467
else
9468
{
9469
GenerateContextLostErrorOnCurrentGlobalContext();
9470
}
9471
}
9472
9473
void GL_APIENTRY GL_SecondaryColor3bv(const GLbyte *v)
9474
{
9475
Context *context = GetValidGlobalContext();
9476
EVENT(context, GLSecondaryColor3bv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9477
(uintptr_t)v);
9478
9479
if (context)
9480
{
9481
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9482
bool isCallValid = (context->skipValidation() || ValidateSecondaryColor3bv(context, v));
9483
if (isCallValid)
9484
{
9485
context->secondaryColor3bv(v);
9486
}
9487
ANGLE_CAPTURE(SecondaryColor3bv, isCallValid, context, v);
9488
}
9489
else
9490
{
9491
GenerateContextLostErrorOnCurrentGlobalContext();
9492
}
9493
}
9494
9495
void GL_APIENTRY GL_SecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue)
9496
{
9497
Context *context = GetValidGlobalContext();
9498
EVENT(context, GLSecondaryColor3d, "context = %d, red = %f, green = %f, blue = %f",
9499
CID(context), red, green, blue);
9500
9501
if (context)
9502
{
9503
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9504
bool isCallValid =
9505
(context->skipValidation() || ValidateSecondaryColor3d(context, red, green, blue));
9506
if (isCallValid)
9507
{
9508
context->secondaryColor3d(red, green, blue);
9509
}
9510
ANGLE_CAPTURE(SecondaryColor3d, isCallValid, context, red, green, blue);
9511
}
9512
else
9513
{
9514
GenerateContextLostErrorOnCurrentGlobalContext();
9515
}
9516
}
9517
9518
void GL_APIENTRY GL_SecondaryColor3dv(const GLdouble *v)
9519
{
9520
Context *context = GetValidGlobalContext();
9521
EVENT(context, GLSecondaryColor3dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9522
(uintptr_t)v);
9523
9524
if (context)
9525
{
9526
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9527
bool isCallValid = (context->skipValidation() || ValidateSecondaryColor3dv(context, v));
9528
if (isCallValid)
9529
{
9530
context->secondaryColor3dv(v);
9531
}
9532
ANGLE_CAPTURE(SecondaryColor3dv, isCallValid, context, v);
9533
}
9534
else
9535
{
9536
GenerateContextLostErrorOnCurrentGlobalContext();
9537
}
9538
}
9539
9540
void GL_APIENTRY GL_SecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue)
9541
{
9542
Context *context = GetValidGlobalContext();
9543
EVENT(context, GLSecondaryColor3f, "context = %d, red = %f, green = %f, blue = %f",
9544
CID(context), red, green, blue);
9545
9546
if (context)
9547
{
9548
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9549
bool isCallValid =
9550
(context->skipValidation() || ValidateSecondaryColor3f(context, red, green, blue));
9551
if (isCallValid)
9552
{
9553
context->secondaryColor3f(red, green, blue);
9554
}
9555
ANGLE_CAPTURE(SecondaryColor3f, isCallValid, context, red, green, blue);
9556
}
9557
else
9558
{
9559
GenerateContextLostErrorOnCurrentGlobalContext();
9560
}
9561
}
9562
9563
void GL_APIENTRY GL_SecondaryColor3fv(const GLfloat *v)
9564
{
9565
Context *context = GetValidGlobalContext();
9566
EVENT(context, GLSecondaryColor3fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9567
(uintptr_t)v);
9568
9569
if (context)
9570
{
9571
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9572
bool isCallValid = (context->skipValidation() || ValidateSecondaryColor3fv(context, v));
9573
if (isCallValid)
9574
{
9575
context->secondaryColor3fv(v);
9576
}
9577
ANGLE_CAPTURE(SecondaryColor3fv, isCallValid, context, v);
9578
}
9579
else
9580
{
9581
GenerateContextLostErrorOnCurrentGlobalContext();
9582
}
9583
}
9584
9585
void GL_APIENTRY GL_SecondaryColor3i(GLint red, GLint green, GLint blue)
9586
{
9587
Context *context = GetValidGlobalContext();
9588
EVENT(context, GLSecondaryColor3i, "context = %d, red = %d, green = %d, blue = %d",
9589
CID(context), red, green, blue);
9590
9591
if (context)
9592
{
9593
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9594
bool isCallValid =
9595
(context->skipValidation() || ValidateSecondaryColor3i(context, red, green, blue));
9596
if (isCallValid)
9597
{
9598
context->secondaryColor3i(red, green, blue);
9599
}
9600
ANGLE_CAPTURE(SecondaryColor3i, isCallValid, context, red, green, blue);
9601
}
9602
else
9603
{
9604
GenerateContextLostErrorOnCurrentGlobalContext();
9605
}
9606
}
9607
9608
void GL_APIENTRY GL_SecondaryColor3iv(const GLint *v)
9609
{
9610
Context *context = GetValidGlobalContext();
9611
EVENT(context, GLSecondaryColor3iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9612
(uintptr_t)v);
9613
9614
if (context)
9615
{
9616
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9617
bool isCallValid = (context->skipValidation() || ValidateSecondaryColor3iv(context, v));
9618
if (isCallValid)
9619
{
9620
context->secondaryColor3iv(v);
9621
}
9622
ANGLE_CAPTURE(SecondaryColor3iv, isCallValid, context, v);
9623
}
9624
else
9625
{
9626
GenerateContextLostErrorOnCurrentGlobalContext();
9627
}
9628
}
9629
9630
void GL_APIENTRY GL_SecondaryColor3s(GLshort red, GLshort green, GLshort blue)
9631
{
9632
Context *context = GetValidGlobalContext();
9633
EVENT(context, GLSecondaryColor3s, "context = %d, red = %d, green = %d, blue = %d",
9634
CID(context), red, green, blue);
9635
9636
if (context)
9637
{
9638
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9639
bool isCallValid =
9640
(context->skipValidation() || ValidateSecondaryColor3s(context, red, green, blue));
9641
if (isCallValid)
9642
{
9643
context->secondaryColor3s(red, green, blue);
9644
}
9645
ANGLE_CAPTURE(SecondaryColor3s, isCallValid, context, red, green, blue);
9646
}
9647
else
9648
{
9649
GenerateContextLostErrorOnCurrentGlobalContext();
9650
}
9651
}
9652
9653
void GL_APIENTRY GL_SecondaryColor3sv(const GLshort *v)
9654
{
9655
Context *context = GetValidGlobalContext();
9656
EVENT(context, GLSecondaryColor3sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9657
(uintptr_t)v);
9658
9659
if (context)
9660
{
9661
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9662
bool isCallValid = (context->skipValidation() || ValidateSecondaryColor3sv(context, v));
9663
if (isCallValid)
9664
{
9665
context->secondaryColor3sv(v);
9666
}
9667
ANGLE_CAPTURE(SecondaryColor3sv, isCallValid, context, v);
9668
}
9669
else
9670
{
9671
GenerateContextLostErrorOnCurrentGlobalContext();
9672
}
9673
}
9674
9675
void GL_APIENTRY GL_SecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue)
9676
{
9677
Context *context = GetValidGlobalContext();
9678
EVENT(context, GLSecondaryColor3ub, "context = %d, red = %d, green = %d, blue = %d",
9679
CID(context), red, green, blue);
9680
9681
if (context)
9682
{
9683
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9684
bool isCallValid =
9685
(context->skipValidation() || ValidateSecondaryColor3ub(context, red, green, blue));
9686
if (isCallValid)
9687
{
9688
context->secondaryColor3ub(red, green, blue);
9689
}
9690
ANGLE_CAPTURE(SecondaryColor3ub, isCallValid, context, red, green, blue);
9691
}
9692
else
9693
{
9694
GenerateContextLostErrorOnCurrentGlobalContext();
9695
}
9696
}
9697
9698
void GL_APIENTRY GL_SecondaryColor3ubv(const GLubyte *v)
9699
{
9700
Context *context = GetValidGlobalContext();
9701
EVENT(context, GLSecondaryColor3ubv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9702
(uintptr_t)v);
9703
9704
if (context)
9705
{
9706
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9707
bool isCallValid = (context->skipValidation() || ValidateSecondaryColor3ubv(context, v));
9708
if (isCallValid)
9709
{
9710
context->secondaryColor3ubv(v);
9711
}
9712
ANGLE_CAPTURE(SecondaryColor3ubv, isCallValid, context, v);
9713
}
9714
else
9715
{
9716
GenerateContextLostErrorOnCurrentGlobalContext();
9717
}
9718
}
9719
9720
void GL_APIENTRY GL_SecondaryColor3ui(GLuint red, GLuint green, GLuint blue)
9721
{
9722
Context *context = GetValidGlobalContext();
9723
EVENT(context, GLSecondaryColor3ui, "context = %d, red = %u, green = %u, blue = %u",
9724
CID(context), red, green, blue);
9725
9726
if (context)
9727
{
9728
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9729
bool isCallValid =
9730
(context->skipValidation() || ValidateSecondaryColor3ui(context, red, green, blue));
9731
if (isCallValid)
9732
{
9733
context->secondaryColor3ui(red, green, blue);
9734
}
9735
ANGLE_CAPTURE(SecondaryColor3ui, isCallValid, context, red, green, blue);
9736
}
9737
else
9738
{
9739
GenerateContextLostErrorOnCurrentGlobalContext();
9740
}
9741
}
9742
9743
void GL_APIENTRY GL_SecondaryColor3uiv(const GLuint *v)
9744
{
9745
Context *context = GetValidGlobalContext();
9746
EVENT(context, GLSecondaryColor3uiv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9747
(uintptr_t)v);
9748
9749
if (context)
9750
{
9751
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9752
bool isCallValid = (context->skipValidation() || ValidateSecondaryColor3uiv(context, v));
9753
if (isCallValid)
9754
{
9755
context->secondaryColor3uiv(v);
9756
}
9757
ANGLE_CAPTURE(SecondaryColor3uiv, isCallValid, context, v);
9758
}
9759
else
9760
{
9761
GenerateContextLostErrorOnCurrentGlobalContext();
9762
}
9763
}
9764
9765
void GL_APIENTRY GL_SecondaryColor3us(GLushort red, GLushort green, GLushort blue)
9766
{
9767
Context *context = GetValidGlobalContext();
9768
EVENT(context, GLSecondaryColor3us, "context = %d, red = %u, green = %u, blue = %u",
9769
CID(context), red, green, blue);
9770
9771
if (context)
9772
{
9773
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9774
bool isCallValid =
9775
(context->skipValidation() || ValidateSecondaryColor3us(context, red, green, blue));
9776
if (isCallValid)
9777
{
9778
context->secondaryColor3us(red, green, blue);
9779
}
9780
ANGLE_CAPTURE(SecondaryColor3us, isCallValid, context, red, green, blue);
9781
}
9782
else
9783
{
9784
GenerateContextLostErrorOnCurrentGlobalContext();
9785
}
9786
}
9787
9788
void GL_APIENTRY GL_SecondaryColor3usv(const GLushort *v)
9789
{
9790
Context *context = GetValidGlobalContext();
9791
EVENT(context, GLSecondaryColor3usv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9792
(uintptr_t)v);
9793
9794
if (context)
9795
{
9796
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9797
bool isCallValid = (context->skipValidation() || ValidateSecondaryColor3usv(context, v));
9798
if (isCallValid)
9799
{
9800
context->secondaryColor3usv(v);
9801
}
9802
ANGLE_CAPTURE(SecondaryColor3usv, isCallValid, context, v);
9803
}
9804
else
9805
{
9806
GenerateContextLostErrorOnCurrentGlobalContext();
9807
}
9808
}
9809
9810
void GL_APIENTRY GL_SecondaryColorPointer(GLint size,
9811
GLenum type,
9812
GLsizei stride,
9813
const void *pointer)
9814
{
9815
Context *context = GetValidGlobalContext();
9816
EVENT(context, GLSecondaryColorPointer,
9817
"context = %d, size = %d, type = %s, stride = %d, pointer = 0x%016" PRIxPTR "",
9818
CID(context), size, GLenumToString(GLenumGroup::ColorPointerType, type), stride,
9819
(uintptr_t)pointer);
9820
9821
if (context)
9822
{
9823
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9824
bool isCallValid = (context->skipValidation() ||
9825
ValidateSecondaryColorPointer(context, size, type, stride, pointer));
9826
if (isCallValid)
9827
{
9828
context->secondaryColorPointer(size, type, stride, pointer);
9829
}
9830
ANGLE_CAPTURE(SecondaryColorPointer, isCallValid, context, size, type, stride, pointer);
9831
}
9832
else
9833
{
9834
GenerateContextLostErrorOnCurrentGlobalContext();
9835
}
9836
}
9837
9838
void GL_APIENTRY GL_WindowPos2d(GLdouble x, GLdouble y)
9839
{
9840
Context *context = GetValidGlobalContext();
9841
EVENT(context, GLWindowPos2d, "context = %d, x = %f, y = %f", CID(context), x, y);
9842
9843
if (context)
9844
{
9845
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9846
bool isCallValid = (context->skipValidation() || ValidateWindowPos2d(context, x, y));
9847
if (isCallValid)
9848
{
9849
context->windowPos2d(x, y);
9850
}
9851
ANGLE_CAPTURE(WindowPos2d, isCallValid, context, x, y);
9852
}
9853
else
9854
{
9855
GenerateContextLostErrorOnCurrentGlobalContext();
9856
}
9857
}
9858
9859
void GL_APIENTRY GL_WindowPos2dv(const GLdouble *v)
9860
{
9861
Context *context = GetValidGlobalContext();
9862
EVENT(context, GLWindowPos2dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9863
(uintptr_t)v);
9864
9865
if (context)
9866
{
9867
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9868
bool isCallValid = (context->skipValidation() || ValidateWindowPos2dv(context, v));
9869
if (isCallValid)
9870
{
9871
context->windowPos2dv(v);
9872
}
9873
ANGLE_CAPTURE(WindowPos2dv, isCallValid, context, v);
9874
}
9875
else
9876
{
9877
GenerateContextLostErrorOnCurrentGlobalContext();
9878
}
9879
}
9880
9881
void GL_APIENTRY GL_WindowPos2f(GLfloat x, GLfloat y)
9882
{
9883
Context *context = GetValidGlobalContext();
9884
EVENT(context, GLWindowPos2f, "context = %d, x = %f, y = %f", CID(context), x, y);
9885
9886
if (context)
9887
{
9888
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9889
bool isCallValid = (context->skipValidation() || ValidateWindowPos2f(context, x, y));
9890
if (isCallValid)
9891
{
9892
context->windowPos2f(x, y);
9893
}
9894
ANGLE_CAPTURE(WindowPos2f, isCallValid, context, x, y);
9895
}
9896
else
9897
{
9898
GenerateContextLostErrorOnCurrentGlobalContext();
9899
}
9900
}
9901
9902
void GL_APIENTRY GL_WindowPos2fv(const GLfloat *v)
9903
{
9904
Context *context = GetValidGlobalContext();
9905
EVENT(context, GLWindowPos2fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9906
(uintptr_t)v);
9907
9908
if (context)
9909
{
9910
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9911
bool isCallValid = (context->skipValidation() || ValidateWindowPos2fv(context, v));
9912
if (isCallValid)
9913
{
9914
context->windowPos2fv(v);
9915
}
9916
ANGLE_CAPTURE(WindowPos2fv, isCallValid, context, v);
9917
}
9918
else
9919
{
9920
GenerateContextLostErrorOnCurrentGlobalContext();
9921
}
9922
}
9923
9924
void GL_APIENTRY GL_WindowPos2i(GLint x, GLint y)
9925
{
9926
Context *context = GetValidGlobalContext();
9927
EVENT(context, GLWindowPos2i, "context = %d, x = %d, y = %d", CID(context), x, y);
9928
9929
if (context)
9930
{
9931
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9932
bool isCallValid = (context->skipValidation() || ValidateWindowPos2i(context, x, y));
9933
if (isCallValid)
9934
{
9935
context->windowPos2i(x, y);
9936
}
9937
ANGLE_CAPTURE(WindowPos2i, isCallValid, context, x, y);
9938
}
9939
else
9940
{
9941
GenerateContextLostErrorOnCurrentGlobalContext();
9942
}
9943
}
9944
9945
void GL_APIENTRY GL_WindowPos2iv(const GLint *v)
9946
{
9947
Context *context = GetValidGlobalContext();
9948
EVENT(context, GLWindowPos2iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9949
(uintptr_t)v);
9950
9951
if (context)
9952
{
9953
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9954
bool isCallValid = (context->skipValidation() || ValidateWindowPos2iv(context, v));
9955
if (isCallValid)
9956
{
9957
context->windowPos2iv(v);
9958
}
9959
ANGLE_CAPTURE(WindowPos2iv, isCallValid, context, v);
9960
}
9961
else
9962
{
9963
GenerateContextLostErrorOnCurrentGlobalContext();
9964
}
9965
}
9966
9967
void GL_APIENTRY GL_WindowPos2s(GLshort x, GLshort y)
9968
{
9969
Context *context = GetValidGlobalContext();
9970
EVENT(context, GLWindowPos2s, "context = %d, x = %d, y = %d", CID(context), x, y);
9971
9972
if (context)
9973
{
9974
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9975
bool isCallValid = (context->skipValidation() || ValidateWindowPos2s(context, x, y));
9976
if (isCallValid)
9977
{
9978
context->windowPos2s(x, y);
9979
}
9980
ANGLE_CAPTURE(WindowPos2s, isCallValid, context, x, y);
9981
}
9982
else
9983
{
9984
GenerateContextLostErrorOnCurrentGlobalContext();
9985
}
9986
}
9987
9988
void GL_APIENTRY GL_WindowPos2sv(const GLshort *v)
9989
{
9990
Context *context = GetValidGlobalContext();
9991
EVENT(context, GLWindowPos2sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
9992
(uintptr_t)v);
9993
9994
if (context)
9995
{
9996
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
9997
bool isCallValid = (context->skipValidation() || ValidateWindowPos2sv(context, v));
9998
if (isCallValid)
9999
{
10000
context->windowPos2sv(v);
10001
}
10002
ANGLE_CAPTURE(WindowPos2sv, isCallValid, context, v);
10003
}
10004
else
10005
{
10006
GenerateContextLostErrorOnCurrentGlobalContext();
10007
}
10008
}
10009
10010
void GL_APIENTRY GL_WindowPos3d(GLdouble x, GLdouble y, GLdouble z)
10011
{
10012
Context *context = GetValidGlobalContext();
10013
EVENT(context, GLWindowPos3d, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
10014
10015
if (context)
10016
{
10017
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10018
bool isCallValid = (context->skipValidation() || ValidateWindowPos3d(context, x, y, z));
10019
if (isCallValid)
10020
{
10021
context->windowPos3d(x, y, z);
10022
}
10023
ANGLE_CAPTURE(WindowPos3d, isCallValid, context, x, y, z);
10024
}
10025
else
10026
{
10027
GenerateContextLostErrorOnCurrentGlobalContext();
10028
}
10029
}
10030
10031
void GL_APIENTRY GL_WindowPos3dv(const GLdouble *v)
10032
{
10033
Context *context = GetValidGlobalContext();
10034
EVENT(context, GLWindowPos3dv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
10035
(uintptr_t)v);
10036
10037
if (context)
10038
{
10039
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10040
bool isCallValid = (context->skipValidation() || ValidateWindowPos3dv(context, v));
10041
if (isCallValid)
10042
{
10043
context->windowPos3dv(v);
10044
}
10045
ANGLE_CAPTURE(WindowPos3dv, isCallValid, context, v);
10046
}
10047
else
10048
{
10049
GenerateContextLostErrorOnCurrentGlobalContext();
10050
}
10051
}
10052
10053
void GL_APIENTRY GL_WindowPos3f(GLfloat x, GLfloat y, GLfloat z)
10054
{
10055
Context *context = GetValidGlobalContext();
10056
EVENT(context, GLWindowPos3f, "context = %d, x = %f, y = %f, z = %f", CID(context), x, y, z);
10057
10058
if (context)
10059
{
10060
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10061
bool isCallValid = (context->skipValidation() || ValidateWindowPos3f(context, x, y, z));
10062
if (isCallValid)
10063
{
10064
context->windowPos3f(x, y, z);
10065
}
10066
ANGLE_CAPTURE(WindowPos3f, isCallValid, context, x, y, z);
10067
}
10068
else
10069
{
10070
GenerateContextLostErrorOnCurrentGlobalContext();
10071
}
10072
}
10073
10074
void GL_APIENTRY GL_WindowPos3fv(const GLfloat *v)
10075
{
10076
Context *context = GetValidGlobalContext();
10077
EVENT(context, GLWindowPos3fv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
10078
(uintptr_t)v);
10079
10080
if (context)
10081
{
10082
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10083
bool isCallValid = (context->skipValidation() || ValidateWindowPos3fv(context, v));
10084
if (isCallValid)
10085
{
10086
context->windowPos3fv(v);
10087
}
10088
ANGLE_CAPTURE(WindowPos3fv, isCallValid, context, v);
10089
}
10090
else
10091
{
10092
GenerateContextLostErrorOnCurrentGlobalContext();
10093
}
10094
}
10095
10096
void GL_APIENTRY GL_WindowPos3i(GLint x, GLint y, GLint z)
10097
{
10098
Context *context = GetValidGlobalContext();
10099
EVENT(context, GLWindowPos3i, "context = %d, x = %d, y = %d, z = %d", CID(context), x, y, z);
10100
10101
if (context)
10102
{
10103
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10104
bool isCallValid = (context->skipValidation() || ValidateWindowPos3i(context, x, y, z));
10105
if (isCallValid)
10106
{
10107
context->windowPos3i(x, y, z);
10108
}
10109
ANGLE_CAPTURE(WindowPos3i, isCallValid, context, x, y, z);
10110
}
10111
else
10112
{
10113
GenerateContextLostErrorOnCurrentGlobalContext();
10114
}
10115
}
10116
10117
void GL_APIENTRY GL_WindowPos3iv(const GLint *v)
10118
{
10119
Context *context = GetValidGlobalContext();
10120
EVENT(context, GLWindowPos3iv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
10121
(uintptr_t)v);
10122
10123
if (context)
10124
{
10125
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10126
bool isCallValid = (context->skipValidation() || ValidateWindowPos3iv(context, v));
10127
if (isCallValid)
10128
{
10129
context->windowPos3iv(v);
10130
}
10131
ANGLE_CAPTURE(WindowPos3iv, isCallValid, context, v);
10132
}
10133
else
10134
{
10135
GenerateContextLostErrorOnCurrentGlobalContext();
10136
}
10137
}
10138
10139
void GL_APIENTRY GL_WindowPos3s(GLshort x, GLshort y, GLshort z)
10140
{
10141
Context *context = GetValidGlobalContext();
10142
EVENT(context, GLWindowPos3s, "context = %d, x = %d, y = %d, z = %d", CID(context), x, y, z);
10143
10144
if (context)
10145
{
10146
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10147
bool isCallValid = (context->skipValidation() || ValidateWindowPos3s(context, x, y, z));
10148
if (isCallValid)
10149
{
10150
context->windowPos3s(x, y, z);
10151
}
10152
ANGLE_CAPTURE(WindowPos3s, isCallValid, context, x, y, z);
10153
}
10154
else
10155
{
10156
GenerateContextLostErrorOnCurrentGlobalContext();
10157
}
10158
}
10159
10160
void GL_APIENTRY GL_WindowPos3sv(const GLshort *v)
10161
{
10162
Context *context = GetValidGlobalContext();
10163
EVENT(context, GLWindowPos3sv, "context = %d, v = 0x%016" PRIxPTR "", CID(context),
10164
(uintptr_t)v);
10165
10166
if (context)
10167
{
10168
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10169
bool isCallValid = (context->skipValidation() || ValidateWindowPos3sv(context, v));
10170
if (isCallValid)
10171
{
10172
context->windowPos3sv(v);
10173
}
10174
ANGLE_CAPTURE(WindowPos3sv, isCallValid, context, v);
10175
}
10176
else
10177
{
10178
GenerateContextLostErrorOnCurrentGlobalContext();
10179
}
10180
}
10181
10182
// GL 1.5
10183
void GL_APIENTRY GL_BeginQuery(GLenum target, GLuint id)
10184
{
10185
Context *context = GetValidGlobalContext();
10186
EVENT(context, GLBeginQuery, "context = %d, target = %s, id = %u", CID(context),
10187
GLenumToString(GLenumGroup::QueryTarget, target), id);
10188
10189
if (context)
10190
{
10191
QueryType targetPacked = PackParam<QueryType>(target);
10192
QueryID idPacked = PackParam<QueryID>(id);
10193
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10194
bool isCallValid =
10195
(context->skipValidation() || ValidateBeginQuery(context, targetPacked, idPacked));
10196
if (isCallValid)
10197
{
10198
context->beginQuery(targetPacked, idPacked);
10199
}
10200
ANGLE_CAPTURE(BeginQuery, isCallValid, context, targetPacked, idPacked);
10201
}
10202
else
10203
{
10204
GenerateContextLostErrorOnCurrentGlobalContext();
10205
}
10206
}
10207
10208
void GL_APIENTRY GL_BindBuffer(GLenum target, GLuint buffer)
10209
{
10210
Context *context = GetValidGlobalContext();
10211
EVENT(context, GLBindBuffer, "context = %d, target = %s, buffer = %u", CID(context),
10212
GLenumToString(GLenumGroup::BufferTargetARB, target), buffer);
10213
10214
if (context)
10215
{
10216
BufferBinding targetPacked = PackParam<BufferBinding>(target);
10217
BufferID bufferPacked = PackParam<BufferID>(buffer);
10218
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10219
bool isCallValid =
10220
(context->skipValidation() || ValidateBindBuffer(context, targetPacked, bufferPacked));
10221
if (isCallValid)
10222
{
10223
context->bindBuffer(targetPacked, bufferPacked);
10224
}
10225
ANGLE_CAPTURE(BindBuffer, isCallValid, context, targetPacked, bufferPacked);
10226
}
10227
else
10228
{
10229
GenerateContextLostErrorOnCurrentGlobalContext();
10230
}
10231
}
10232
10233
void GL_APIENTRY GL_BufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage)
10234
{
10235
Context *context = GetValidGlobalContext();
10236
EVENT(context, GLBufferData,
10237
"context = %d, target = %s, size = %llu, data = 0x%016" PRIxPTR ", usage = %s",
10238
CID(context), GLenumToString(GLenumGroup::BufferTargetARB, target),
10239
static_cast<unsigned long long>(size), (uintptr_t)data,
10240
GLenumToString(GLenumGroup::BufferUsageARB, usage));
10241
10242
if (context)
10243
{
10244
BufferBinding targetPacked = PackParam<BufferBinding>(target);
10245
BufferUsage usagePacked = PackParam<BufferUsage>(usage);
10246
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10247
bool isCallValid = (context->skipValidation() ||
10248
ValidateBufferData(context, targetPacked, size, data, usagePacked));
10249
if (isCallValid)
10250
{
10251
context->bufferData(targetPacked, size, data, usagePacked);
10252
}
10253
ANGLE_CAPTURE(BufferData, isCallValid, context, targetPacked, size, data, usagePacked);
10254
}
10255
else
10256
{
10257
GenerateContextLostErrorOnCurrentGlobalContext();
10258
}
10259
}
10260
10261
void GL_APIENTRY GL_BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data)
10262
{
10263
Context *context = GetValidGlobalContext();
10264
EVENT(context, GLBufferSubData,
10265
"context = %d, target = %s, offset = %llu, size = %llu, data = 0x%016" PRIxPTR "",
10266
CID(context), GLenumToString(GLenumGroup::BufferTargetARB, target),
10267
static_cast<unsigned long long>(offset), static_cast<unsigned long long>(size),
10268
(uintptr_t)data);
10269
10270
if (context)
10271
{
10272
BufferBinding targetPacked = PackParam<BufferBinding>(target);
10273
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10274
bool isCallValid = (context->skipValidation() ||
10275
ValidateBufferSubData(context, targetPacked, offset, size, data));
10276
if (isCallValid)
10277
{
10278
context->bufferSubData(targetPacked, offset, size, data);
10279
}
10280
ANGLE_CAPTURE(BufferSubData, isCallValid, context, targetPacked, offset, size, data);
10281
}
10282
else
10283
{
10284
GenerateContextLostErrorOnCurrentGlobalContext();
10285
}
10286
}
10287
10288
void GL_APIENTRY GL_DeleteBuffers(GLsizei n, const GLuint *buffers)
10289
{
10290
Context *context = GetValidGlobalContext();
10291
EVENT(context, GLDeleteBuffers, "context = %d, n = %d, buffers = 0x%016" PRIxPTR "",
10292
CID(context), n, (uintptr_t)buffers);
10293
10294
if (context)
10295
{
10296
const BufferID *buffersPacked = PackParam<const BufferID *>(buffers);
10297
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10298
bool isCallValid =
10299
(context->skipValidation() || ValidateDeleteBuffers(context, n, buffersPacked));
10300
if (isCallValid)
10301
{
10302
context->deleteBuffers(n, buffersPacked);
10303
}
10304
ANGLE_CAPTURE(DeleteBuffers, isCallValid, context, n, buffersPacked);
10305
}
10306
else
10307
{
10308
GenerateContextLostErrorOnCurrentGlobalContext();
10309
}
10310
}
10311
10312
void GL_APIENTRY GL_DeleteQueries(GLsizei n, const GLuint *ids)
10313
{
10314
Context *context = GetValidGlobalContext();
10315
EVENT(context, GLDeleteQueries, "context = %d, n = %d, ids = 0x%016" PRIxPTR "", CID(context),
10316
n, (uintptr_t)ids);
10317
10318
if (context)
10319
{
10320
const QueryID *idsPacked = PackParam<const QueryID *>(ids);
10321
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10322
bool isCallValid =
10323
(context->skipValidation() || ValidateDeleteQueries(context, n, idsPacked));
10324
if (isCallValid)
10325
{
10326
context->deleteQueries(n, idsPacked);
10327
}
10328
ANGLE_CAPTURE(DeleteQueries, isCallValid, context, n, idsPacked);
10329
}
10330
else
10331
{
10332
GenerateContextLostErrorOnCurrentGlobalContext();
10333
}
10334
}
10335
10336
void GL_APIENTRY GL_EndQuery(GLenum target)
10337
{
10338
Context *context = GetValidGlobalContext();
10339
EVENT(context, GLEndQuery, "context = %d, target = %s", CID(context),
10340
GLenumToString(GLenumGroup::QueryTarget, target));
10341
10342
if (context)
10343
{
10344
QueryType targetPacked = PackParam<QueryType>(target);
10345
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10346
bool isCallValid = (context->skipValidation() || ValidateEndQuery(context, targetPacked));
10347
if (isCallValid)
10348
{
10349
context->endQuery(targetPacked);
10350
}
10351
ANGLE_CAPTURE(EndQuery, isCallValid, context, targetPacked);
10352
}
10353
else
10354
{
10355
GenerateContextLostErrorOnCurrentGlobalContext();
10356
}
10357
}
10358
10359
void GL_APIENTRY GL_GenBuffers(GLsizei n, GLuint *buffers)
10360
{
10361
Context *context = GetValidGlobalContext();
10362
EVENT(context, GLGenBuffers, "context = %d, n = %d, buffers = 0x%016" PRIxPTR "", CID(context),
10363
n, (uintptr_t)buffers);
10364
10365
if (context)
10366
{
10367
BufferID *buffersPacked = PackParam<BufferID *>(buffers);
10368
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10369
bool isCallValid =
10370
(context->skipValidation() || ValidateGenBuffers(context, n, buffersPacked));
10371
if (isCallValid)
10372
{
10373
context->genBuffers(n, buffersPacked);
10374
}
10375
ANGLE_CAPTURE(GenBuffers, isCallValid, context, n, buffersPacked);
10376
}
10377
else
10378
{
10379
GenerateContextLostErrorOnCurrentGlobalContext();
10380
}
10381
}
10382
10383
void GL_APIENTRY GL_GenQueries(GLsizei n, GLuint *ids)
10384
{
10385
Context *context = GetValidGlobalContext();
10386
EVENT(context, GLGenQueries, "context = %d, n = %d, ids = 0x%016" PRIxPTR "", CID(context), n,
10387
(uintptr_t)ids);
10388
10389
if (context)
10390
{
10391
QueryID *idsPacked = PackParam<QueryID *>(ids);
10392
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10393
bool isCallValid = (context->skipValidation() || ValidateGenQueries(context, n, idsPacked));
10394
if (isCallValid)
10395
{
10396
context->genQueries(n, idsPacked);
10397
}
10398
ANGLE_CAPTURE(GenQueries, isCallValid, context, n, idsPacked);
10399
}
10400
else
10401
{
10402
GenerateContextLostErrorOnCurrentGlobalContext();
10403
}
10404
}
10405
10406
void GL_APIENTRY GL_GetBufferParameteriv(GLenum target, GLenum pname, GLint *params)
10407
{
10408
Context *context = GetValidGlobalContext();
10409
EVENT(context, GLGetBufferParameteriv,
10410
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
10411
GLenumToString(GLenumGroup::BufferTargetARB, target),
10412
GLenumToString(GLenumGroup::DefaultGroup, pname), (uintptr_t)params);
10413
10414
if (context)
10415
{
10416
BufferBinding targetPacked = PackParam<BufferBinding>(target);
10417
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10418
bool isCallValid = (context->skipValidation() ||
10419
ValidateGetBufferParameteriv(context, targetPacked, pname, params));
10420
if (isCallValid)
10421
{
10422
context->getBufferParameteriv(targetPacked, pname, params);
10423
}
10424
ANGLE_CAPTURE(GetBufferParameteriv, isCallValid, context, targetPacked, pname, params);
10425
}
10426
else
10427
{
10428
GenerateContextLostErrorOnCurrentGlobalContext();
10429
}
10430
}
10431
10432
void GL_APIENTRY GL_GetBufferPointerv(GLenum target, GLenum pname, void **params)
10433
{
10434
Context *context = GetValidGlobalContext();
10435
EVENT(context, GLGetBufferPointerv,
10436
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
10437
GLenumToString(GLenumGroup::BufferTargetARB, target),
10438
GLenumToString(GLenumGroup::DefaultGroup, pname), (uintptr_t)params);
10439
10440
if (context)
10441
{
10442
BufferBinding targetPacked = PackParam<BufferBinding>(target);
10443
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10444
bool isCallValid = (context->skipValidation() ||
10445
ValidateGetBufferPointerv(context, targetPacked, pname, params));
10446
if (isCallValid)
10447
{
10448
context->getBufferPointerv(targetPacked, pname, params);
10449
}
10450
ANGLE_CAPTURE(GetBufferPointerv, isCallValid, context, targetPacked, pname, params);
10451
}
10452
else
10453
{
10454
GenerateContextLostErrorOnCurrentGlobalContext();
10455
}
10456
}
10457
10458
void GL_APIENTRY GL_GetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data)
10459
{
10460
Context *context = GetValidGlobalContext();
10461
EVENT(context, GLGetBufferSubData,
10462
"context = %d, target = %s, offset = %llu, size = %llu, data = 0x%016" PRIxPTR "",
10463
CID(context), GLenumToString(GLenumGroup::BufferTargetARB, target),
10464
static_cast<unsigned long long>(offset), static_cast<unsigned long long>(size),
10465
(uintptr_t)data);
10466
10467
if (context)
10468
{
10469
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10470
bool isCallValid = (context->skipValidation() ||
10471
ValidateGetBufferSubData(context, target, offset, size, data));
10472
if (isCallValid)
10473
{
10474
context->getBufferSubData(target, offset, size, data);
10475
}
10476
ANGLE_CAPTURE(GetBufferSubData, isCallValid, context, target, offset, size, data);
10477
}
10478
else
10479
{
10480
GenerateContextLostErrorOnCurrentGlobalContext();
10481
}
10482
}
10483
10484
void GL_APIENTRY GL_GetQueryObjectiv(GLuint id, GLenum pname, GLint *params)
10485
{
10486
Context *context = GetGlobalContext();
10487
EVENT(context, GLGetQueryObjectiv,
10488
"context = %d, id = %u, pname = %s, params = 0x%016" PRIxPTR "", CID(context), id,
10489
GLenumToString(GLenumGroup::QueryObjectParameterName, pname), (uintptr_t)params);
10490
10491
if (context)
10492
{
10493
QueryID idPacked = PackParam<QueryID>(id);
10494
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10495
bool isCallValid = (context->skipValidation() ||
10496
ValidateGetQueryObjectiv(context, idPacked, pname, params));
10497
if (isCallValid)
10498
{
10499
context->getQueryObjectiv(idPacked, pname, params);
10500
}
10501
ANGLE_CAPTURE(GetQueryObjectiv, isCallValid, context, idPacked, pname, params);
10502
}
10503
else
10504
{}
10505
}
10506
10507
void GL_APIENTRY GL_GetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
10508
{
10509
Context *context = GetValidGlobalContext();
10510
EVENT(context, GLGetQueryObjectuiv,
10511
"context = %d, id = %u, pname = %s, params = 0x%016" PRIxPTR "", CID(context), id,
10512
GLenumToString(GLenumGroup::QueryObjectParameterName, pname), (uintptr_t)params);
10513
10514
if (context)
10515
{
10516
QueryID idPacked = PackParam<QueryID>(id);
10517
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10518
bool isCallValid = (context->skipValidation() ||
10519
ValidateGetQueryObjectuiv(context, idPacked, pname, params));
10520
if (isCallValid)
10521
{
10522
context->getQueryObjectuiv(idPacked, pname, params);
10523
}
10524
ANGLE_CAPTURE(GetQueryObjectuiv, isCallValid, context, idPacked, pname, params);
10525
}
10526
else
10527
{
10528
GenerateContextLostErrorOnCurrentGlobalContext();
10529
}
10530
}
10531
10532
void GL_APIENTRY GL_GetQueryiv(GLenum target, GLenum pname, GLint *params)
10533
{
10534
Context *context = GetValidGlobalContext();
10535
EVENT(context, GLGetQueryiv,
10536
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
10537
GLenumToString(GLenumGroup::QueryTarget, target),
10538
GLenumToString(GLenumGroup::QueryParameterName, pname), (uintptr_t)params);
10539
10540
if (context)
10541
{
10542
QueryType targetPacked = PackParam<QueryType>(target);
10543
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10544
bool isCallValid =
10545
(context->skipValidation() || ValidateGetQueryiv(context, targetPacked, pname, params));
10546
if (isCallValid)
10547
{
10548
context->getQueryiv(targetPacked, pname, params);
10549
}
10550
ANGLE_CAPTURE(GetQueryiv, isCallValid, context, targetPacked, pname, params);
10551
}
10552
else
10553
{
10554
GenerateContextLostErrorOnCurrentGlobalContext();
10555
}
10556
}
10557
10558
GLboolean GL_APIENTRY GL_IsBuffer(GLuint buffer)
10559
{
10560
Context *context = GetValidGlobalContext();
10561
EVENT(context, GLIsBuffer, "context = %d, buffer = %u", CID(context), buffer);
10562
10563
GLboolean returnValue;
10564
if (context)
10565
{
10566
BufferID bufferPacked = PackParam<BufferID>(buffer);
10567
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10568
bool isCallValid = (context->skipValidation() || ValidateIsBuffer(context, bufferPacked));
10569
if (isCallValid)
10570
{
10571
returnValue = context->isBuffer(bufferPacked);
10572
}
10573
else
10574
{
10575
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsBuffer, GLboolean>();
10576
}
10577
ANGLE_CAPTURE(IsBuffer, isCallValid, context, bufferPacked, returnValue);
10578
}
10579
else
10580
{
10581
GenerateContextLostErrorOnCurrentGlobalContext();
10582
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsBuffer, GLboolean>();
10583
}
10584
return returnValue;
10585
}
10586
10587
GLboolean GL_APIENTRY GL_IsQuery(GLuint id)
10588
{
10589
Context *context = GetValidGlobalContext();
10590
EVENT(context, GLIsQuery, "context = %d, id = %u", CID(context), id);
10591
10592
GLboolean returnValue;
10593
if (context)
10594
{
10595
QueryID idPacked = PackParam<QueryID>(id);
10596
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10597
bool isCallValid = (context->skipValidation() || ValidateIsQuery(context, idPacked));
10598
if (isCallValid)
10599
{
10600
returnValue = context->isQuery(idPacked);
10601
}
10602
else
10603
{
10604
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsQuery, GLboolean>();
10605
}
10606
ANGLE_CAPTURE(IsQuery, isCallValid, context, idPacked, returnValue);
10607
}
10608
else
10609
{
10610
GenerateContextLostErrorOnCurrentGlobalContext();
10611
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsQuery, GLboolean>();
10612
}
10613
return returnValue;
10614
}
10615
10616
void *GL_APIENTRY GL_MapBuffer(GLenum target, GLenum access)
10617
{
10618
Context *context = GetValidGlobalContext();
10619
EVENT(context, GLMapBuffer, "context = %d, target = %s, access = %s", CID(context),
10620
GLenumToString(GLenumGroup::BufferTargetARB, target),
10621
GLenumToString(GLenumGroup::BufferAccessARB, access));
10622
10623
void *returnValue;
10624
if (context)
10625
{
10626
BufferBinding targetPacked = PackParam<BufferBinding>(target);
10627
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10628
bool isCallValid =
10629
(context->skipValidation() || ValidateMapBuffer(context, targetPacked, access));
10630
if (isCallValid)
10631
{
10632
returnValue = context->mapBuffer(targetPacked, access);
10633
}
10634
else
10635
{
10636
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLMapBuffer, void *>();
10637
}
10638
ANGLE_CAPTURE(MapBuffer, isCallValid, context, targetPacked, access, returnValue);
10639
}
10640
else
10641
{
10642
GenerateContextLostErrorOnCurrentGlobalContext();
10643
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLMapBuffer, void *>();
10644
}
10645
return returnValue;
10646
}
10647
10648
GLboolean GL_APIENTRY GL_UnmapBuffer(GLenum target)
10649
{
10650
Context *context = GetValidGlobalContext();
10651
EVENT(context, GLUnmapBuffer, "context = %d, target = %s", CID(context),
10652
GLenumToString(GLenumGroup::BufferTargetARB, target));
10653
10654
GLboolean returnValue;
10655
if (context)
10656
{
10657
BufferBinding targetPacked = PackParam<BufferBinding>(target);
10658
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
10659
bool isCallValid =
10660
(context->skipValidation() || ValidateUnmapBuffer(context, targetPacked));
10661
if (isCallValid)
10662
{
10663
returnValue = context->unmapBuffer(targetPacked);
10664
}
10665
else
10666
{
10667
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLUnmapBuffer, GLboolean>();
10668
}
10669
ANGLE_CAPTURE(UnmapBuffer, isCallValid, context, targetPacked, returnValue);
10670
}
10671
else
10672
{
10673
GenerateContextLostErrorOnCurrentGlobalContext();
10674
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLUnmapBuffer, GLboolean>();
10675
}
10676
return returnValue;
10677
}
10678
10679
} // extern "C"
10680
10681