Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/angle
Path: blob/main_old/src/libGLESv2/entry_points_gles_3_2_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_gles_3_2_autogen.cpp:
9
// Defines the GLES 3.2 entry points.
10
11
#include "libGLESv2/entry_points_gles_3_2_autogen.h"
12
13
#include "common/entry_points_enum_autogen.h"
14
#include "libANGLE/Context.h"
15
#include "libANGLE/Context.inl.h"
16
#include "libANGLE/capture/capture_gles_3_2_autogen.h"
17
#include "libANGLE/capture/gl_enum_utils.h"
18
#include "libANGLE/entry_points_utils.h"
19
#include "libANGLE/validationES32.h"
20
#include "libGLESv2/global_state.h"
21
22
using namespace gl;
23
24
extern "C" {
25
void GL_APIENTRY GL_BlendBarrier()
26
{
27
Context *context = GetValidGlobalContext();
28
EVENT(context, GLBlendBarrier, "context = %d", CID(context));
29
30
if (context)
31
{
32
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
33
bool isCallValid = (context->skipValidation() || ValidateBlendBarrier(context));
34
if (isCallValid)
35
{
36
context->blendBarrier();
37
}
38
ANGLE_CAPTURE(BlendBarrier, isCallValid, context);
39
}
40
else
41
{
42
GenerateContextLostErrorOnCurrentGlobalContext();
43
}
44
}
45
46
void GL_APIENTRY GL_BlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
47
{
48
Context *context = GetValidGlobalContext();
49
EVENT(context, GLBlendEquationSeparatei, "context = %d, buf = %u, modeRGB = %s, modeAlpha = %s",
50
CID(context), buf, GLenumToString(GLenumGroup::BlendEquationModeEXT, modeRGB),
51
GLenumToString(GLenumGroup::BlendEquationModeEXT, modeAlpha));
52
53
if (context)
54
{
55
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
56
bool isCallValid = (context->skipValidation() ||
57
ValidateBlendEquationSeparatei(context, buf, modeRGB, modeAlpha));
58
if (isCallValid)
59
{
60
context->blendEquationSeparatei(buf, modeRGB, modeAlpha);
61
}
62
ANGLE_CAPTURE(BlendEquationSeparatei, isCallValid, context, buf, modeRGB, modeAlpha);
63
}
64
else
65
{
66
GenerateContextLostErrorOnCurrentGlobalContext();
67
}
68
}
69
70
void GL_APIENTRY GL_BlendEquationi(GLuint buf, GLenum mode)
71
{
72
Context *context = GetValidGlobalContext();
73
EVENT(context, GLBlendEquationi, "context = %d, buf = %u, mode = %s", CID(context), buf,
74
GLenumToString(GLenumGroup::BlendEquationModeEXT, mode));
75
76
if (context)
77
{
78
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
79
bool isCallValid =
80
(context->skipValidation() || ValidateBlendEquationi(context, buf, mode));
81
if (isCallValid)
82
{
83
context->blendEquationi(buf, mode);
84
}
85
ANGLE_CAPTURE(BlendEquationi, isCallValid, context, buf, mode);
86
}
87
else
88
{
89
GenerateContextLostErrorOnCurrentGlobalContext();
90
}
91
}
92
93
void GL_APIENTRY
94
GL_BlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
95
{
96
Context *context = GetValidGlobalContext();
97
EVENT(context, GLBlendFuncSeparatei,
98
"context = %d, buf = %u, srcRGB = %s, dstRGB = %s, srcAlpha = %s, dstAlpha = %s",
99
CID(context), buf, GLenumToString(GLenumGroup::BlendingFactor, srcRGB),
100
GLenumToString(GLenumGroup::BlendingFactor, dstRGB),
101
GLenumToString(GLenumGroup::BlendingFactor, srcAlpha),
102
GLenumToString(GLenumGroup::BlendingFactor, dstAlpha));
103
104
if (context)
105
{
106
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
107
bool isCallValid =
108
(context->skipValidation() ||
109
ValidateBlendFuncSeparatei(context, buf, srcRGB, dstRGB, srcAlpha, dstAlpha));
110
if (isCallValid)
111
{
112
context->blendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
113
}
114
ANGLE_CAPTURE(BlendFuncSeparatei, isCallValid, context, buf, srcRGB, dstRGB, srcAlpha,
115
dstAlpha);
116
}
117
else
118
{
119
GenerateContextLostErrorOnCurrentGlobalContext();
120
}
121
}
122
123
void GL_APIENTRY GL_BlendFunci(GLuint buf, GLenum src, GLenum dst)
124
{
125
Context *context = GetValidGlobalContext();
126
EVENT(context, GLBlendFunci, "context = %d, buf = %u, src = %s, dst = %s", CID(context), buf,
127
GLenumToString(GLenumGroup::BlendingFactor, src),
128
GLenumToString(GLenumGroup::BlendingFactor, dst));
129
130
if (context)
131
{
132
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
133
bool isCallValid =
134
(context->skipValidation() || ValidateBlendFunci(context, buf, src, dst));
135
if (isCallValid)
136
{
137
context->blendFunci(buf, src, dst);
138
}
139
ANGLE_CAPTURE(BlendFunci, isCallValid, context, buf, src, dst);
140
}
141
else
142
{
143
GenerateContextLostErrorOnCurrentGlobalContext();
144
}
145
}
146
147
void GL_APIENTRY GL_ColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
148
{
149
Context *context = GetValidGlobalContext();
150
EVENT(context, GLColorMaski, "context = %d, index = %u, r = %s, g = %s, b = %s, a = %s",
151
CID(context), index, GLbooleanToString(r), GLbooleanToString(g), GLbooleanToString(b),
152
GLbooleanToString(a));
153
154
if (context)
155
{
156
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
157
bool isCallValid =
158
(context->skipValidation() || ValidateColorMaski(context, index, r, g, b, a));
159
if (isCallValid)
160
{
161
context->colorMaski(index, r, g, b, a);
162
}
163
ANGLE_CAPTURE(ColorMaski, isCallValid, context, index, r, g, b, a);
164
}
165
else
166
{
167
GenerateContextLostErrorOnCurrentGlobalContext();
168
}
169
}
170
171
void GL_APIENTRY GL_CopyImageSubData(GLuint srcName,
172
GLenum srcTarget,
173
GLint srcLevel,
174
GLint srcX,
175
GLint srcY,
176
GLint srcZ,
177
GLuint dstName,
178
GLenum dstTarget,
179
GLint dstLevel,
180
GLint dstX,
181
GLint dstY,
182
GLint dstZ,
183
GLsizei srcWidth,
184
GLsizei srcHeight,
185
GLsizei srcDepth)
186
{
187
Context *context = GetValidGlobalContext();
188
EVENT(context, GLCopyImageSubData,
189
"context = %d, srcName = %u, srcTarget = %s, srcLevel = %d, srcX = %d, srcY = %d, srcZ = "
190
"%d, dstName = %u, dstTarget = %s, dstLevel = %d, dstX = %d, dstY = %d, dstZ = %d, "
191
"srcWidth = %d, srcHeight = %d, srcDepth = %d",
192
CID(context), srcName, GLenumToString(GLenumGroup::CopyBufferSubDataTarget, srcTarget),
193
srcLevel, srcX, srcY, srcZ, dstName,
194
GLenumToString(GLenumGroup::CopyBufferSubDataTarget, dstTarget), dstLevel, dstX, dstY,
195
dstZ, srcWidth, srcHeight, srcDepth);
196
197
if (context)
198
{
199
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
200
bool isCallValid = (context->skipValidation() ||
201
ValidateCopyImageSubData(context, srcName, srcTarget, srcLevel, srcX,
202
srcY, srcZ, dstName, dstTarget, dstLevel, dstX,
203
dstY, dstZ, srcWidth, srcHeight, srcDepth));
204
if (isCallValid)
205
{
206
context->copyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName,
207
dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight,
208
srcDepth);
209
}
210
ANGLE_CAPTURE(CopyImageSubData, isCallValid, context, srcName, srcTarget, srcLevel, srcX,
211
srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth,
212
srcHeight, srcDepth);
213
}
214
else
215
{
216
GenerateContextLostErrorOnCurrentGlobalContext();
217
}
218
}
219
220
void GL_APIENTRY GL_DebugMessageCallback(GLDEBUGPROC callback, const void *userParam)
221
{
222
Context *context = GetValidGlobalContext();
223
EVENT(context, GLDebugMessageCallback,
224
"context = %d, callback = 0x%016" PRIxPTR ", userParam = 0x%016" PRIxPTR "", CID(context),
225
(uintptr_t)callback, (uintptr_t)userParam);
226
227
if (context)
228
{
229
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
230
bool isCallValid = (context->skipValidation() ||
231
ValidateDebugMessageCallback(context, callback, userParam));
232
if (isCallValid)
233
{
234
context->debugMessageCallback(callback, userParam);
235
}
236
ANGLE_CAPTURE(DebugMessageCallback, isCallValid, context, callback, userParam);
237
}
238
else
239
{
240
GenerateContextLostErrorOnCurrentGlobalContext();
241
}
242
}
243
244
void GL_APIENTRY GL_DebugMessageControl(GLenum source,
245
GLenum type,
246
GLenum severity,
247
GLsizei count,
248
const GLuint *ids,
249
GLboolean enabled)
250
{
251
Context *context = GetValidGlobalContext();
252
EVENT(context, GLDebugMessageControl,
253
"context = %d, source = %s, type = %s, severity = %s, count = %d, ids = 0x%016" PRIxPTR
254
", enabled = %s",
255
CID(context), GLenumToString(GLenumGroup::DebugSource, source),
256
GLenumToString(GLenumGroup::DebugType, type),
257
GLenumToString(GLenumGroup::DebugSeverity, severity), count, (uintptr_t)ids,
258
GLbooleanToString(enabled));
259
260
if (context)
261
{
262
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
263
bool isCallValid =
264
(context->skipValidation() ||
265
ValidateDebugMessageControl(context, source, type, severity, count, ids, enabled));
266
if (isCallValid)
267
{
268
context->debugMessageControl(source, type, severity, count, ids, enabled);
269
}
270
ANGLE_CAPTURE(DebugMessageControl, isCallValid, context, source, type, severity, count, ids,
271
enabled);
272
}
273
else
274
{
275
GenerateContextLostErrorOnCurrentGlobalContext();
276
}
277
}
278
279
void GL_APIENTRY GL_DebugMessageInsert(GLenum source,
280
GLenum type,
281
GLuint id,
282
GLenum severity,
283
GLsizei length,
284
const GLchar *buf)
285
{
286
Context *context = GetValidGlobalContext();
287
EVENT(context, GLDebugMessageInsert,
288
"context = %d, source = %s, type = %s, id = %u, severity = %s, length = %d, buf = "
289
"0x%016" PRIxPTR "",
290
CID(context), GLenumToString(GLenumGroup::DebugSource, source),
291
GLenumToString(GLenumGroup::DebugType, type), id,
292
GLenumToString(GLenumGroup::DebugSeverity, severity), length, (uintptr_t)buf);
293
294
if (context)
295
{
296
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
297
bool isCallValid =
298
(context->skipValidation() ||
299
ValidateDebugMessageInsert(context, source, type, id, severity, length, buf));
300
if (isCallValid)
301
{
302
context->debugMessageInsert(source, type, id, severity, length, buf);
303
}
304
ANGLE_CAPTURE(DebugMessageInsert, isCallValid, context, source, type, id, severity, length,
305
buf);
306
}
307
else
308
{
309
GenerateContextLostErrorOnCurrentGlobalContext();
310
}
311
}
312
313
void GL_APIENTRY GL_Disablei(GLenum target, GLuint index)
314
{
315
Context *context = GetValidGlobalContext();
316
EVENT(context, GLDisablei, "context = %d, target = %s, index = %u", CID(context),
317
GLenumToString(GLenumGroup::EnableCap, target), index);
318
319
if (context)
320
{
321
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
322
bool isCallValid = (context->skipValidation() || ValidateDisablei(context, target, index));
323
if (isCallValid)
324
{
325
context->disablei(target, index);
326
}
327
ANGLE_CAPTURE(Disablei, isCallValid, context, target, index);
328
}
329
else
330
{
331
GenerateContextLostErrorOnCurrentGlobalContext();
332
}
333
}
334
335
void GL_APIENTRY GL_DrawElementsBaseVertex(GLenum mode,
336
GLsizei count,
337
GLenum type,
338
const void *indices,
339
GLint basevertex)
340
{
341
Context *context = GetValidGlobalContext();
342
EVENT(context, GLDrawElementsBaseVertex,
343
"context = %d, mode = %s, count = %d, type = %s, indices = 0x%016" PRIxPTR
344
", basevertex = %d",
345
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), count,
346
GLenumToString(GLenumGroup::DrawElementsType, type), (uintptr_t)indices, basevertex);
347
348
if (context)
349
{
350
PrimitiveMode modePacked = PackParam<PrimitiveMode>(mode);
351
DrawElementsType typePacked = PackParam<DrawElementsType>(type);
352
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
353
bool isCallValid = (context->skipValidation() ||
354
ValidateDrawElementsBaseVertex(context, modePacked, count, typePacked,
355
indices, basevertex));
356
if (isCallValid)
357
{
358
context->drawElementsBaseVertex(modePacked, count, typePacked, indices, basevertex);
359
}
360
ANGLE_CAPTURE(DrawElementsBaseVertex, isCallValid, context, modePacked, count, typePacked,
361
indices, basevertex);
362
}
363
else
364
{
365
GenerateContextLostErrorOnCurrentGlobalContext();
366
}
367
}
368
369
void GL_APIENTRY GL_DrawElementsInstancedBaseVertex(GLenum mode,
370
GLsizei count,
371
GLenum type,
372
const void *indices,
373
GLsizei instancecount,
374
GLint basevertex)
375
{
376
Context *context = GetValidGlobalContext();
377
EVENT(context, GLDrawElementsInstancedBaseVertex,
378
"context = %d, mode = %s, count = %d, type = %s, indices = 0x%016" PRIxPTR
379
", instancecount = %d, basevertex = %d",
380
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), count,
381
GLenumToString(GLenumGroup::DrawElementsType, type), (uintptr_t)indices, instancecount,
382
basevertex);
383
384
if (context)
385
{
386
PrimitiveMode modePacked = PackParam<PrimitiveMode>(mode);
387
DrawElementsType typePacked = PackParam<DrawElementsType>(type);
388
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
389
bool isCallValid = (context->skipValidation() || ValidateDrawElementsInstancedBaseVertex(
390
context, modePacked, count, typePacked,
391
indices, instancecount, basevertex));
392
if (isCallValid)
393
{
394
context->drawElementsInstancedBaseVertex(modePacked, count, typePacked, indices,
395
instancecount, basevertex);
396
}
397
ANGLE_CAPTURE(DrawElementsInstancedBaseVertex, isCallValid, context, modePacked, count,
398
typePacked, indices, instancecount, basevertex);
399
}
400
else
401
{
402
GenerateContextLostErrorOnCurrentGlobalContext();
403
}
404
}
405
406
void GL_APIENTRY GL_DrawRangeElementsBaseVertex(GLenum mode,
407
GLuint start,
408
GLuint end,
409
GLsizei count,
410
GLenum type,
411
const void *indices,
412
GLint basevertex)
413
{
414
Context *context = GetValidGlobalContext();
415
EVENT(context, GLDrawRangeElementsBaseVertex,
416
"context = %d, mode = %s, start = %u, end = %u, count = %d, type = %s, indices = "
417
"0x%016" PRIxPTR ", basevertex = %d",
418
CID(context), GLenumToString(GLenumGroup::PrimitiveType, mode), start, end, count,
419
GLenumToString(GLenumGroup::DrawElementsType, type), (uintptr_t)indices, basevertex);
420
421
if (context)
422
{
423
PrimitiveMode modePacked = PackParam<PrimitiveMode>(mode);
424
DrawElementsType typePacked = PackParam<DrawElementsType>(type);
425
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
426
bool isCallValid = (context->skipValidation() || ValidateDrawRangeElementsBaseVertex(
427
context, modePacked, start, end, count,
428
typePacked, indices, basevertex));
429
if (isCallValid)
430
{
431
context->drawRangeElementsBaseVertex(modePacked, start, end, count, typePacked, indices,
432
basevertex);
433
}
434
ANGLE_CAPTURE(DrawRangeElementsBaseVertex, isCallValid, context, modePacked, start, end,
435
count, typePacked, indices, basevertex);
436
}
437
else
438
{
439
GenerateContextLostErrorOnCurrentGlobalContext();
440
}
441
}
442
443
void GL_APIENTRY GL_Enablei(GLenum target, GLuint index)
444
{
445
Context *context = GetValidGlobalContext();
446
EVENT(context, GLEnablei, "context = %d, target = %s, index = %u", CID(context),
447
GLenumToString(GLenumGroup::EnableCap, target), index);
448
449
if (context)
450
{
451
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
452
bool isCallValid = (context->skipValidation() || ValidateEnablei(context, target, index));
453
if (isCallValid)
454
{
455
context->enablei(target, index);
456
}
457
ANGLE_CAPTURE(Enablei, isCallValid, context, target, index);
458
}
459
else
460
{
461
GenerateContextLostErrorOnCurrentGlobalContext();
462
}
463
}
464
465
void GL_APIENTRY GL_FramebufferTexture(GLenum target,
466
GLenum attachment,
467
GLuint texture,
468
GLint level)
469
{
470
Context *context = GetValidGlobalContext();
471
EVENT(context, GLFramebufferTexture,
472
"context = %d, target = %s, attachment = %s, texture = %u, level = %d", CID(context),
473
GLenumToString(GLenumGroup::FramebufferTarget, target),
474
GLenumToString(GLenumGroup::FramebufferAttachment, attachment), texture, level);
475
476
if (context)
477
{
478
TextureID texturePacked = PackParam<TextureID>(texture);
479
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
480
bool isCallValid =
481
(context->skipValidation() ||
482
ValidateFramebufferTexture(context, target, attachment, texturePacked, level));
483
if (isCallValid)
484
{
485
context->framebufferTexture(target, attachment, texturePacked, level);
486
}
487
ANGLE_CAPTURE(FramebufferTexture, isCallValid, context, target, attachment, texturePacked,
488
level);
489
}
490
else
491
{
492
GenerateContextLostErrorOnCurrentGlobalContext();
493
}
494
}
495
496
GLuint GL_APIENTRY GL_GetDebugMessageLog(GLuint count,
497
GLsizei bufSize,
498
GLenum *sources,
499
GLenum *types,
500
GLuint *ids,
501
GLenum *severities,
502
GLsizei *lengths,
503
GLchar *messageLog)
504
{
505
Context *context = GetValidGlobalContext();
506
EVENT(context, GLGetDebugMessageLog,
507
"context = %d, count = %u, bufSize = %d, sources = 0x%016" PRIxPTR
508
", types = 0x%016" PRIxPTR ", ids = 0x%016" PRIxPTR ", severities = 0x%016" PRIxPTR
509
", lengths = 0x%016" PRIxPTR ", messageLog = 0x%016" PRIxPTR "",
510
CID(context), count, bufSize, (uintptr_t)sources, (uintptr_t)types, (uintptr_t)ids,
511
(uintptr_t)severities, (uintptr_t)lengths, (uintptr_t)messageLog);
512
513
GLuint returnValue;
514
if (context)
515
{
516
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
517
bool isCallValid = (context->skipValidation() ||
518
ValidateGetDebugMessageLog(context, count, bufSize, sources, types, ids,
519
severities, lengths, messageLog));
520
if (isCallValid)
521
{
522
returnValue = context->getDebugMessageLog(count, bufSize, sources, types, ids,
523
severities, lengths, messageLog);
524
}
525
else
526
{
527
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLGetDebugMessageLog, GLuint>();
528
}
529
ANGLE_CAPTURE(GetDebugMessageLog, isCallValid, context, count, bufSize, sources, types, ids,
530
severities, lengths, messageLog, returnValue);
531
}
532
else
533
{
534
GenerateContextLostErrorOnCurrentGlobalContext();
535
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLGetDebugMessageLog, GLuint>();
536
}
537
return returnValue;
538
}
539
540
GLenum GL_APIENTRY GL_GetGraphicsResetStatus()
541
{
542
Context *context = GetGlobalContext();
543
EVENT(context, GLGetGraphicsResetStatus, "context = %d", CID(context));
544
545
GLenum returnValue;
546
if (context)
547
{
548
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
549
bool isCallValid = (context->skipValidation() || ValidateGetGraphicsResetStatus(context));
550
if (isCallValid)
551
{
552
returnValue = context->getGraphicsResetStatus();
553
}
554
else
555
{
556
returnValue =
557
GetDefaultReturnValue<angle::EntryPoint::GLGetGraphicsResetStatus, GLenum>();
558
}
559
ANGLE_CAPTURE(GetGraphicsResetStatus, isCallValid, context, returnValue);
560
}
561
else
562
{
563
564
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLGetGraphicsResetStatus, GLenum>();
565
}
566
return returnValue;
567
}
568
569
void GL_APIENTRY
570
GL_GetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
571
{
572
Context *context = GetValidGlobalContext();
573
EVENT(context, GLGetObjectLabel,
574
"context = %d, identifier = %s, name = %u, bufSize = %d, length = 0x%016" PRIxPTR
575
", label = 0x%016" PRIxPTR "",
576
CID(context), GLenumToString(GLenumGroup::DefaultGroup, identifier), name, bufSize,
577
(uintptr_t)length, (uintptr_t)label);
578
579
if (context)
580
{
581
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
582
bool isCallValid =
583
(context->skipValidation() ||
584
ValidateGetObjectLabel(context, identifier, name, bufSize, length, label));
585
if (isCallValid)
586
{
587
context->getObjectLabel(identifier, name, bufSize, length, label);
588
}
589
ANGLE_CAPTURE(GetObjectLabel, isCallValid, context, identifier, name, bufSize, length,
590
label);
591
}
592
else
593
{
594
GenerateContextLostErrorOnCurrentGlobalContext();
595
}
596
}
597
598
void GL_APIENTRY GL_GetObjectPtrLabel(const void *ptr,
599
GLsizei bufSize,
600
GLsizei *length,
601
GLchar *label)
602
{
603
Context *context = GetValidGlobalContext();
604
EVENT(context, GLGetObjectPtrLabel,
605
"context = %d, ptr = 0x%016" PRIxPTR ", bufSize = %d, length = 0x%016" PRIxPTR
606
", label = 0x%016" PRIxPTR "",
607
CID(context), (uintptr_t)ptr, bufSize, (uintptr_t)length, (uintptr_t)label);
608
609
if (context)
610
{
611
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
612
bool isCallValid = (context->skipValidation() ||
613
ValidateGetObjectPtrLabel(context, ptr, bufSize, length, label));
614
if (isCallValid)
615
{
616
context->getObjectPtrLabel(ptr, bufSize, length, label);
617
}
618
ANGLE_CAPTURE(GetObjectPtrLabel, isCallValid, context, ptr, bufSize, length, label);
619
}
620
else
621
{
622
GenerateContextLostErrorOnCurrentGlobalContext();
623
}
624
}
625
626
void GL_APIENTRY GL_GetPointerv(GLenum pname, void **params)
627
{
628
Context *context = GetValidGlobalContext();
629
EVENT(context, GLGetPointerv, "context = %d, pname = %s, params = 0x%016" PRIxPTR "",
630
CID(context), GLenumToString(GLenumGroup::GetPointervPName, pname), (uintptr_t)params);
631
632
if (context)
633
{
634
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
635
bool isCallValid =
636
(context->skipValidation() || ValidateGetPointerv(context, pname, params));
637
if (isCallValid)
638
{
639
context->getPointerv(pname, params);
640
}
641
ANGLE_CAPTURE(GetPointerv, isCallValid, context, pname, params);
642
}
643
else
644
{
645
GenerateContextLostErrorOnCurrentGlobalContext();
646
}
647
}
648
649
void GL_APIENTRY GL_GetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
650
{
651
Context *context = GetValidGlobalContext();
652
EVENT(context, GLGetSamplerParameterIiv,
653
"context = %d, sampler = %u, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
654
sampler, GLenumToString(GLenumGroup::SamplerParameterName, pname), (uintptr_t)params);
655
656
if (context)
657
{
658
SamplerID samplerPacked = PackParam<SamplerID>(sampler);
659
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
660
bool isCallValid = (context->skipValidation() ||
661
ValidateGetSamplerParameterIiv(context, samplerPacked, pname, params));
662
if (isCallValid)
663
{
664
context->getSamplerParameterIiv(samplerPacked, pname, params);
665
}
666
ANGLE_CAPTURE(GetSamplerParameterIiv, isCallValid, context, samplerPacked, pname, params);
667
}
668
else
669
{
670
GenerateContextLostErrorOnCurrentGlobalContext();
671
}
672
}
673
674
void GL_APIENTRY GL_GetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
675
{
676
Context *context = GetValidGlobalContext();
677
EVENT(context, GLGetSamplerParameterIuiv,
678
"context = %d, sampler = %u, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
679
sampler, GLenumToString(GLenumGroup::SamplerParameterName, pname), (uintptr_t)params);
680
681
if (context)
682
{
683
SamplerID samplerPacked = PackParam<SamplerID>(sampler);
684
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
685
bool isCallValid = (context->skipValidation() ||
686
ValidateGetSamplerParameterIuiv(context, samplerPacked, pname, params));
687
if (isCallValid)
688
{
689
context->getSamplerParameterIuiv(samplerPacked, pname, params);
690
}
691
ANGLE_CAPTURE(GetSamplerParameterIuiv, isCallValid, context, samplerPacked, pname, params);
692
}
693
else
694
{
695
GenerateContextLostErrorOnCurrentGlobalContext();
696
}
697
}
698
699
void GL_APIENTRY GL_GetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
700
{
701
Context *context = GetValidGlobalContext();
702
EVENT(context, GLGetTexParameterIiv,
703
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
704
GLenumToString(GLenumGroup::TextureTarget, target),
705
GLenumToString(GLenumGroup::GetTextureParameter, pname), (uintptr_t)params);
706
707
if (context)
708
{
709
TextureType targetPacked = PackParam<TextureType>(target);
710
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
711
bool isCallValid = (context->skipValidation() ||
712
ValidateGetTexParameterIiv(context, targetPacked, pname, params));
713
if (isCallValid)
714
{
715
context->getTexParameterIiv(targetPacked, pname, params);
716
}
717
ANGLE_CAPTURE(GetTexParameterIiv, isCallValid, context, targetPacked, pname, params);
718
}
719
else
720
{
721
GenerateContextLostErrorOnCurrentGlobalContext();
722
}
723
}
724
725
void GL_APIENTRY GL_GetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
726
{
727
Context *context = GetValidGlobalContext();
728
EVENT(context, GLGetTexParameterIuiv,
729
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
730
GLenumToString(GLenumGroup::TextureTarget, target),
731
GLenumToString(GLenumGroup::GetTextureParameter, pname), (uintptr_t)params);
732
733
if (context)
734
{
735
TextureType targetPacked = PackParam<TextureType>(target);
736
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
737
bool isCallValid = (context->skipValidation() ||
738
ValidateGetTexParameterIuiv(context, targetPacked, pname, params));
739
if (isCallValid)
740
{
741
context->getTexParameterIuiv(targetPacked, pname, params);
742
}
743
ANGLE_CAPTURE(GetTexParameterIuiv, isCallValid, context, targetPacked, pname, params);
744
}
745
else
746
{
747
GenerateContextLostErrorOnCurrentGlobalContext();
748
}
749
}
750
751
void GL_APIENTRY GL_GetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
752
{
753
Context *context = GetValidGlobalContext();
754
EVENT(context, GLGetnUniformfv,
755
"context = %d, program = %u, location = %d, bufSize = %d, params = 0x%016" PRIxPTR "",
756
CID(context), program, location, bufSize, (uintptr_t)params);
757
758
if (context)
759
{
760
ShaderProgramID programPacked = PackParam<ShaderProgramID>(program);
761
UniformLocation locationPacked = PackParam<UniformLocation>(location);
762
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
763
bool isCallValid =
764
(context->skipValidation() ||
765
ValidateGetnUniformfv(context, programPacked, locationPacked, bufSize, params));
766
if (isCallValid)
767
{
768
context->getnUniformfv(programPacked, locationPacked, bufSize, params);
769
}
770
ANGLE_CAPTURE(GetnUniformfv, isCallValid, context, programPacked, locationPacked, bufSize,
771
params);
772
}
773
else
774
{
775
GenerateContextLostErrorOnCurrentGlobalContext();
776
}
777
}
778
779
void GL_APIENTRY GL_GetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params)
780
{
781
Context *context = GetValidGlobalContext();
782
EVENT(context, GLGetnUniformiv,
783
"context = %d, program = %u, location = %d, bufSize = %d, params = 0x%016" PRIxPTR "",
784
CID(context), program, location, bufSize, (uintptr_t)params);
785
786
if (context)
787
{
788
ShaderProgramID programPacked = PackParam<ShaderProgramID>(program);
789
UniformLocation locationPacked = PackParam<UniformLocation>(location);
790
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
791
bool isCallValid =
792
(context->skipValidation() ||
793
ValidateGetnUniformiv(context, programPacked, locationPacked, bufSize, params));
794
if (isCallValid)
795
{
796
context->getnUniformiv(programPacked, locationPacked, bufSize, params);
797
}
798
ANGLE_CAPTURE(GetnUniformiv, isCallValid, context, programPacked, locationPacked, bufSize,
799
params);
800
}
801
else
802
{
803
GenerateContextLostErrorOnCurrentGlobalContext();
804
}
805
}
806
807
void GL_APIENTRY GL_GetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params)
808
{
809
Context *context = GetValidGlobalContext();
810
EVENT(context, GLGetnUniformuiv,
811
"context = %d, program = %u, location = %d, bufSize = %d, params = 0x%016" PRIxPTR "",
812
CID(context), program, location, bufSize, (uintptr_t)params);
813
814
if (context)
815
{
816
ShaderProgramID programPacked = PackParam<ShaderProgramID>(program);
817
UniformLocation locationPacked = PackParam<UniformLocation>(location);
818
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
819
bool isCallValid =
820
(context->skipValidation() ||
821
ValidateGetnUniformuiv(context, programPacked, locationPacked, bufSize, params));
822
if (isCallValid)
823
{
824
context->getnUniformuiv(programPacked, locationPacked, bufSize, params);
825
}
826
ANGLE_CAPTURE(GetnUniformuiv, isCallValid, context, programPacked, locationPacked, bufSize,
827
params);
828
}
829
else
830
{
831
GenerateContextLostErrorOnCurrentGlobalContext();
832
}
833
}
834
835
GLboolean GL_APIENTRY GL_IsEnabledi(GLenum target, GLuint index)
836
{
837
Context *context = GetValidGlobalContext();
838
EVENT(context, GLIsEnabledi, "context = %d, target = %s, index = %u", CID(context),
839
GLenumToString(GLenumGroup::EnableCap, target), index);
840
841
GLboolean returnValue;
842
if (context)
843
{
844
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
845
bool isCallValid =
846
(context->skipValidation() || ValidateIsEnabledi(context, target, index));
847
if (isCallValid)
848
{
849
returnValue = context->isEnabledi(target, index);
850
}
851
else
852
{
853
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsEnabledi, GLboolean>();
854
}
855
ANGLE_CAPTURE(IsEnabledi, isCallValid, context, target, index, returnValue);
856
}
857
else
858
{
859
GenerateContextLostErrorOnCurrentGlobalContext();
860
returnValue = GetDefaultReturnValue<angle::EntryPoint::GLIsEnabledi, GLboolean>();
861
}
862
return returnValue;
863
}
864
865
void GL_APIENTRY GL_MinSampleShading(GLfloat value)
866
{
867
Context *context = GetValidGlobalContext();
868
EVENT(context, GLMinSampleShading, "context = %d, value = %f", CID(context), value);
869
870
if (context)
871
{
872
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
873
bool isCallValid = (context->skipValidation() || ValidateMinSampleShading(context, value));
874
if (isCallValid)
875
{
876
context->minSampleShading(value);
877
}
878
ANGLE_CAPTURE(MinSampleShading, isCallValid, context, value);
879
}
880
else
881
{
882
GenerateContextLostErrorOnCurrentGlobalContext();
883
}
884
}
885
886
void GL_APIENTRY GL_ObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
887
{
888
Context *context = GetValidGlobalContext();
889
EVENT(context, GLObjectLabel,
890
"context = %d, identifier = %s, name = %u, length = %d, label = 0x%016" PRIxPTR "",
891
CID(context), GLenumToString(GLenumGroup::ObjectIdentifier, identifier), name, length,
892
(uintptr_t)label);
893
894
if (context)
895
{
896
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
897
bool isCallValid = (context->skipValidation() ||
898
ValidateObjectLabel(context, identifier, name, length, label));
899
if (isCallValid)
900
{
901
context->objectLabel(identifier, name, length, label);
902
}
903
ANGLE_CAPTURE(ObjectLabel, isCallValid, context, identifier, name, length, label);
904
}
905
else
906
{
907
GenerateContextLostErrorOnCurrentGlobalContext();
908
}
909
}
910
911
void GL_APIENTRY GL_ObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label)
912
{
913
Context *context = GetValidGlobalContext();
914
EVENT(context, GLObjectPtrLabel,
915
"context = %d, ptr = 0x%016" PRIxPTR ", length = %d, label = 0x%016" PRIxPTR "",
916
CID(context), (uintptr_t)ptr, length, (uintptr_t)label);
917
918
if (context)
919
{
920
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
921
bool isCallValid =
922
(context->skipValidation() || ValidateObjectPtrLabel(context, ptr, length, label));
923
if (isCallValid)
924
{
925
context->objectPtrLabel(ptr, length, label);
926
}
927
ANGLE_CAPTURE(ObjectPtrLabel, isCallValid, context, ptr, length, label);
928
}
929
else
930
{
931
GenerateContextLostErrorOnCurrentGlobalContext();
932
}
933
}
934
935
void GL_APIENTRY GL_PatchParameteri(GLenum pname, GLint value)
936
{
937
Context *context = GetValidGlobalContext();
938
EVENT(context, GLPatchParameteri, "context = %d, pname = %s, value = %d", CID(context),
939
GLenumToString(GLenumGroup::PatchParameterName, pname), value);
940
941
if (context)
942
{
943
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
944
bool isCallValid =
945
(context->skipValidation() || ValidatePatchParameteri(context, pname, value));
946
if (isCallValid)
947
{
948
context->patchParameteri(pname, value);
949
}
950
ANGLE_CAPTURE(PatchParameteri, isCallValid, context, pname, value);
951
}
952
else
953
{
954
GenerateContextLostErrorOnCurrentGlobalContext();
955
}
956
}
957
958
void GL_APIENTRY GL_PopDebugGroup()
959
{
960
Context *context = GetValidGlobalContext();
961
EVENT(context, GLPopDebugGroup, "context = %d", CID(context));
962
963
if (context)
964
{
965
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
966
bool isCallValid = (context->skipValidation() || ValidatePopDebugGroup(context));
967
if (isCallValid)
968
{
969
context->popDebugGroup();
970
}
971
ANGLE_CAPTURE(PopDebugGroup, isCallValid, context);
972
}
973
else
974
{
975
GenerateContextLostErrorOnCurrentGlobalContext();
976
}
977
}
978
979
void GL_APIENTRY GL_PrimitiveBoundingBox(GLfloat minX,
980
GLfloat minY,
981
GLfloat minZ,
982
GLfloat minW,
983
GLfloat maxX,
984
GLfloat maxY,
985
GLfloat maxZ,
986
GLfloat maxW)
987
{
988
Context *context = GetValidGlobalContext();
989
EVENT(context, GLPrimitiveBoundingBox,
990
"context = %d, minX = %f, minY = %f, minZ = %f, minW = %f, maxX = %f, maxY = %f, maxZ = "
991
"%f, maxW = %f",
992
CID(context), minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
993
994
if (context)
995
{
996
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
997
bool isCallValid =
998
(context->skipValidation() ||
999
ValidatePrimitiveBoundingBox(context, minX, minY, minZ, minW, maxX, maxY, maxZ, maxW));
1000
if (isCallValid)
1001
{
1002
context->primitiveBoundingBox(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
1003
}
1004
ANGLE_CAPTURE(PrimitiveBoundingBox, isCallValid, context, minX, minY, minZ, minW, maxX,
1005
maxY, maxZ, maxW);
1006
}
1007
else
1008
{
1009
GenerateContextLostErrorOnCurrentGlobalContext();
1010
}
1011
}
1012
1013
void GL_APIENTRY GL_PushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message)
1014
{
1015
Context *context = GetValidGlobalContext();
1016
EVENT(context, GLPushDebugGroup,
1017
"context = %d, source = %s, id = %u, length = %d, message = 0x%016" PRIxPTR "",
1018
CID(context), GLenumToString(GLenumGroup::DebugSource, source), id, length,
1019
(uintptr_t)message);
1020
1021
if (context)
1022
{
1023
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1024
bool isCallValid = (context->skipValidation() ||
1025
ValidatePushDebugGroup(context, source, id, length, message));
1026
if (isCallValid)
1027
{
1028
context->pushDebugGroup(source, id, length, message);
1029
}
1030
ANGLE_CAPTURE(PushDebugGroup, isCallValid, context, source, id, length, message);
1031
}
1032
else
1033
{
1034
GenerateContextLostErrorOnCurrentGlobalContext();
1035
}
1036
}
1037
1038
void GL_APIENTRY GL_ReadnPixels(GLint x,
1039
GLint y,
1040
GLsizei width,
1041
GLsizei height,
1042
GLenum format,
1043
GLenum type,
1044
GLsizei bufSize,
1045
void *data)
1046
{
1047
Context *context = GetValidGlobalContext();
1048
EVENT(context, GLReadnPixels,
1049
"context = %d, x = %d, y = %d, width = %d, height = %d, format = %s, type = %s, bufSize "
1050
"= %d, data = 0x%016" PRIxPTR "",
1051
CID(context), x, y, width, height, GLenumToString(GLenumGroup::PixelFormat, format),
1052
GLenumToString(GLenumGroup::PixelType, type), bufSize, (uintptr_t)data);
1053
1054
if (context)
1055
{
1056
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1057
bool isCallValid =
1058
(context->skipValidation() ||
1059
ValidateReadnPixels(context, x, y, width, height, format, type, bufSize, data));
1060
if (isCallValid)
1061
{
1062
context->readnPixels(x, y, width, height, format, type, bufSize, data);
1063
}
1064
ANGLE_CAPTURE(ReadnPixels, isCallValid, context, x, y, width, height, format, type, bufSize,
1065
data);
1066
}
1067
else
1068
{
1069
GenerateContextLostErrorOnCurrentGlobalContext();
1070
}
1071
}
1072
1073
void GL_APIENTRY GL_SamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
1074
{
1075
Context *context = GetValidGlobalContext();
1076
EVENT(context, GLSamplerParameterIiv,
1077
"context = %d, sampler = %u, pname = %s, param = 0x%016" PRIxPTR "", CID(context),
1078
sampler, GLenumToString(GLenumGroup::SamplerParameterName, pname), (uintptr_t)param);
1079
1080
if (context)
1081
{
1082
SamplerID samplerPacked = PackParam<SamplerID>(sampler);
1083
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1084
bool isCallValid = (context->skipValidation() ||
1085
ValidateSamplerParameterIiv(context, samplerPacked, pname, param));
1086
if (isCallValid)
1087
{
1088
context->samplerParameterIiv(samplerPacked, pname, param);
1089
}
1090
ANGLE_CAPTURE(SamplerParameterIiv, isCallValid, context, samplerPacked, pname, param);
1091
}
1092
else
1093
{
1094
GenerateContextLostErrorOnCurrentGlobalContext();
1095
}
1096
}
1097
1098
void GL_APIENTRY GL_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
1099
{
1100
Context *context = GetValidGlobalContext();
1101
EVENT(context, GLSamplerParameterIuiv,
1102
"context = %d, sampler = %u, pname = %s, param = 0x%016" PRIxPTR "", CID(context),
1103
sampler, GLenumToString(GLenumGroup::SamplerParameterName, pname), (uintptr_t)param);
1104
1105
if (context)
1106
{
1107
SamplerID samplerPacked = PackParam<SamplerID>(sampler);
1108
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1109
bool isCallValid = (context->skipValidation() ||
1110
ValidateSamplerParameterIuiv(context, samplerPacked, pname, param));
1111
if (isCallValid)
1112
{
1113
context->samplerParameterIuiv(samplerPacked, pname, param);
1114
}
1115
ANGLE_CAPTURE(SamplerParameterIuiv, isCallValid, context, samplerPacked, pname, param);
1116
}
1117
else
1118
{
1119
GenerateContextLostErrorOnCurrentGlobalContext();
1120
}
1121
}
1122
1123
void GL_APIENTRY GL_TexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
1124
{
1125
Context *context = GetValidGlobalContext();
1126
EVENT(context, GLTexBuffer, "context = %d, target = %s, internalformat = %s, buffer = %u",
1127
CID(context), GLenumToString(GLenumGroup::TextureTarget, target),
1128
GLenumToString(GLenumGroup::InternalFormat, internalformat), buffer);
1129
1130
if (context)
1131
{
1132
TextureType targetPacked = PackParam<TextureType>(target);
1133
BufferID bufferPacked = PackParam<BufferID>(buffer);
1134
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1135
bool isCallValid = (context->skipValidation() ||
1136
ValidateTexBuffer(context, targetPacked, internalformat, bufferPacked));
1137
if (isCallValid)
1138
{
1139
context->texBuffer(targetPacked, internalformat, bufferPacked);
1140
}
1141
ANGLE_CAPTURE(TexBuffer, isCallValid, context, targetPacked, internalformat, bufferPacked);
1142
}
1143
else
1144
{
1145
GenerateContextLostErrorOnCurrentGlobalContext();
1146
}
1147
}
1148
1149
void GL_APIENTRY GL_TexBufferRange(GLenum target,
1150
GLenum internalformat,
1151
GLuint buffer,
1152
GLintptr offset,
1153
GLsizeiptr size)
1154
{
1155
Context *context = GetValidGlobalContext();
1156
EVENT(context, GLTexBufferRange,
1157
"context = %d, target = %s, internalformat = %s, buffer = %u, offset = %llu, size = %llu",
1158
CID(context), GLenumToString(GLenumGroup::TextureTarget, target),
1159
GLenumToString(GLenumGroup::InternalFormat, internalformat), buffer,
1160
static_cast<unsigned long long>(offset), static_cast<unsigned long long>(size));
1161
1162
if (context)
1163
{
1164
TextureType targetPacked = PackParam<TextureType>(target);
1165
BufferID bufferPacked = PackParam<BufferID>(buffer);
1166
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1167
bool isCallValid = (context->skipValidation() ||
1168
ValidateTexBufferRange(context, targetPacked, internalformat,
1169
bufferPacked, offset, size));
1170
if (isCallValid)
1171
{
1172
context->texBufferRange(targetPacked, internalformat, bufferPacked, offset, size);
1173
}
1174
ANGLE_CAPTURE(TexBufferRange, isCallValid, context, targetPacked, internalformat,
1175
bufferPacked, offset, size);
1176
}
1177
else
1178
{
1179
GenerateContextLostErrorOnCurrentGlobalContext();
1180
}
1181
}
1182
1183
void GL_APIENTRY GL_TexParameterIiv(GLenum target, GLenum pname, const GLint *params)
1184
{
1185
Context *context = GetValidGlobalContext();
1186
EVENT(context, GLTexParameterIiv,
1187
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
1188
GLenumToString(GLenumGroup::TextureTarget, target),
1189
GLenumToString(GLenumGroup::TextureParameterName, pname), (uintptr_t)params);
1190
1191
if (context)
1192
{
1193
TextureType targetPacked = PackParam<TextureType>(target);
1194
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1195
bool isCallValid = (context->skipValidation() ||
1196
ValidateTexParameterIiv(context, targetPacked, pname, params));
1197
if (isCallValid)
1198
{
1199
context->texParameterIiv(targetPacked, pname, params);
1200
}
1201
ANGLE_CAPTURE(TexParameterIiv, isCallValid, context, targetPacked, pname, params);
1202
}
1203
else
1204
{
1205
GenerateContextLostErrorOnCurrentGlobalContext();
1206
}
1207
}
1208
1209
void GL_APIENTRY GL_TexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
1210
{
1211
Context *context = GetValidGlobalContext();
1212
EVENT(context, GLTexParameterIuiv,
1213
"context = %d, target = %s, pname = %s, params = 0x%016" PRIxPTR "", CID(context),
1214
GLenumToString(GLenumGroup::TextureTarget, target),
1215
GLenumToString(GLenumGroup::TextureParameterName, pname), (uintptr_t)params);
1216
1217
if (context)
1218
{
1219
TextureType targetPacked = PackParam<TextureType>(target);
1220
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1221
bool isCallValid = (context->skipValidation() ||
1222
ValidateTexParameterIuiv(context, targetPacked, pname, params));
1223
if (isCallValid)
1224
{
1225
context->texParameterIuiv(targetPacked, pname, params);
1226
}
1227
ANGLE_CAPTURE(TexParameterIuiv, isCallValid, context, targetPacked, pname, params);
1228
}
1229
else
1230
{
1231
GenerateContextLostErrorOnCurrentGlobalContext();
1232
}
1233
}
1234
1235
void GL_APIENTRY GL_TexStorage3DMultisample(GLenum target,
1236
GLsizei samples,
1237
GLenum internalformat,
1238
GLsizei width,
1239
GLsizei height,
1240
GLsizei depth,
1241
GLboolean fixedsamplelocations)
1242
{
1243
Context *context = GetValidGlobalContext();
1244
EVENT(context, GLTexStorage3DMultisample,
1245
"context = %d, target = %s, samples = %d, internalformat = %s, width = %d, height = %d, "
1246
"depth = %d, fixedsamplelocations = %s",
1247
CID(context), GLenumToString(GLenumGroup::TextureTarget, target), samples,
1248
GLenumToString(GLenumGroup::InternalFormat, internalformat), width, height, depth,
1249
GLbooleanToString(fixedsamplelocations));
1250
1251
if (context)
1252
{
1253
TextureType targetPacked = PackParam<TextureType>(target);
1254
std::unique_lock<angle::GlobalMutex> shareContextLock = GetContextLock(context);
1255
bool isCallValid =
1256
(context->skipValidation() ||
1257
ValidateTexStorage3DMultisample(context, targetPacked, samples, internalformat, width,
1258
height, depth, fixedsamplelocations));
1259
if (isCallValid)
1260
{
1261
context->texStorage3DMultisample(targetPacked, samples, internalformat, width, height,
1262
depth, fixedsamplelocations);
1263
}
1264
ANGLE_CAPTURE(TexStorage3DMultisample, isCallValid, context, targetPacked, samples,
1265
internalformat, width, height, depth, fixedsamplelocations);
1266
}
1267
else
1268
{
1269
GenerateContextLostErrorOnCurrentGlobalContext();
1270
}
1271
}
1272
1273
} // extern "C"
1274
1275