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