Lines Matching refs:context
32 bool ValidateFramebufferTextureMultiviewBaseANGLE(const Context *context, in ValidateFramebufferTextureMultiviewBaseANGLE() argument
39 if (!(context->getExtensions().multiview || context->getExtensions().multiview2)) in ValidateFramebufferTextureMultiviewBaseANGLE()
41 context->validationError(GL_INVALID_OPERATION, kMultiviewNotAvailable); in ValidateFramebufferTextureMultiviewBaseANGLE()
45 if (!ValidateFramebufferTextureBase(context, target, attachment, texture, level)) in ValidateFramebufferTextureMultiviewBaseANGLE()
52 context->validationError(GL_INVALID_VALUE, kMultiviewViewsTooSmall); in ValidateFramebufferTextureMultiviewBaseANGLE()
56 const Extensions &extensions = context->getExtensions(); in ValidateFramebufferTextureMultiviewBaseANGLE()
59 context->validationError(GL_INVALID_VALUE, kMultiviewViewsTooLarge); in ValidateFramebufferTextureMultiviewBaseANGLE()
66 bool ValidateFramebufferTextureMultiviewLevelAndFormat(const Context *context, in ValidateFramebufferTextureMultiviewLevelAndFormat() argument
71 if (!ValidMipLevel(context, type, level)) in ValidateFramebufferTextureMultiviewLevelAndFormat()
73 context->validationError(GL_INVALID_VALUE, kInvalidMipLevel); in ValidateFramebufferTextureMultiviewLevelAndFormat()
80 context->validationError(GL_INVALID_OPERATION, kCompressedTexturesNotAttachable); in ValidateFramebufferTextureMultiviewLevelAndFormat()
86 bool ValidateUniformES3(const Context *context, in ValidateUniformES3() argument
91 if (context->getClientMajorVersion() < 3) in ValidateUniformES3()
93 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateUniformES3()
97 return ValidateUniform(context, uniformType, location, count); in ValidateUniformES3()
100 bool ValidateUniformMatrixES3(const Context *context, in ValidateUniformMatrixES3() argument
107 if (context->getClientMajorVersion() < 3) in ValidateUniformMatrixES3()
109 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateUniformMatrixES3()
113 return ValidateUniformMatrix(context, valueType, location, count, transpose); in ValidateUniformMatrixES3()
116 bool ValidateGenOrDeleteES3(const Context *context, GLint n) in ValidateGenOrDeleteES3() argument
118 if (context->getClientMajorVersion() < 3) in ValidateGenOrDeleteES3()
120 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGenOrDeleteES3()
123 return ValidateGenOrDelete(context, n); in ValidateGenOrDeleteES3()
126 bool ValidateGenOrDeleteCountES3(const Context *context, GLint count) in ValidateGenOrDeleteCountES3() argument
128 if (context->getClientMajorVersion() < 3) in ValidateGenOrDeleteCountES3()
130 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGenOrDeleteCountES3()
135 context->validationError(GL_INVALID_VALUE, kNegativeCount); in ValidateGenOrDeleteCountES3()
141 bool ValidateCopyTexture3DCommon(const Context *context, in ValidateCopyTexture3DCommon() argument
150 if (context->getClientMajorVersion() < 3) in ValidateCopyTexture3DCommon()
152 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateCopyTexture3DCommon()
156 if (!context->getExtensions().copyTexture3d) in ValidateCopyTexture3DCommon()
158 context->validationError(GL_INVALID_OPERATION, kANGLECopyTexture3DUnavailable); in ValidateCopyTexture3DCommon()
162 if (!ValidTexture3DTarget(context, source->getType())) in ValidateCopyTexture3DCommon()
164 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateCopyTexture3DCommon()
186 context->validationError(GL_INVALID_OPERATION, kInvalidInternalFormat); in ValidateCopyTexture3DCommon()
190 if (!ValidTexture3DTarget(context, TextureTargetToType(destTarget))) in ValidateCopyTexture3DCommon()
192 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateCopyTexture3DCommon()
256 context->validationError(GL_INVALID_OPERATION, kInvalidInternalFormat); in ValidateCopyTexture3DCommon()
264 static bool ValidateTexImageFormatCombination(const Context *context, in ValidateTexImageFormatCombination() argument
271 if (context->getClientType() == EGL_OPENGL_API) in ValidateTexImageFormatCombination()
276 context->validationError(GL_INVALID_ENUM, kInvalidFormat); in ValidateTexImageFormatCombination()
282 context->validationError(GL_INVALID_ENUM, kInvalidType); in ValidateTexImageFormatCombination()
292 if (!context->getExtensions().yuvInternalFormatANGLE) in ValidateTexImageFormatCombination()
294 context->validationError(GL_INVALID_ENUM, kInvalidFormat); in ValidateTexImageFormatCombination()
302 context->validationError(GL_INVALID_ENUM, kInvalidFormat); in ValidateTexImageFormatCombination()
309 context->validationError(GL_INVALID_ENUM, kInvalidType); in ValidateTexImageFormatCombination()
320 context->validationError(GL_INVALID_VALUE, kInvalidInternalFormat); in ValidateTexImageFormatCombination()
331 context->validationError(GL_INVALID_OPERATION, k3DDepthStencil); in ValidateTexImageFormatCombination()
335 if (context->getClientType() == EGL_OPENGL_API) in ValidateTexImageFormatCombination()
340 context->validationError(GL_INVALID_OPERATION, kInvalidFormatCombination); in ValidateTexImageFormatCombination()
352 context->validationError(GL_INVALID_OPERATION, kInvalidFormatCombination); in ValidateTexImageFormatCombination()
360 context->validationError(GL_INVALID_OPERATION, kInvalidFormatCombination); in ValidateTexImageFormatCombination()
367 if (!formatInfo.textureSupport(context->getClientVersion(), context->getExtensions())) in ValidateTexImageFormatCombination()
369 context->validationError(GL_INVALID_OPERATION, kInvalidInternalFormat); in ValidateTexImageFormatCombination()
376 static bool ValidateES3CompressedFormatForTexture3D(const Context *context, GLenum format) in ValidateES3CompressedFormatForTexture3D() argument
381 context->validationError(GL_INVALID_OPERATION, kInternalFormatRequiresTexture2DArray); in ValidateES3CompressedFormatForTexture3D()
385 if (IsASTC2DFormat(format) && !(context->getExtensions().textureCompressionASTCHDRKHR || in ValidateES3CompressedFormatForTexture3D()
386 context->getExtensions().textureCompressionSliced3dASTCKHR)) in ValidateES3CompressedFormatForTexture3D()
389 context->validationError(GL_INVALID_OPERATION, kInternalFormatRequiresTexture2DArrayASTC); in ValidateES3CompressedFormatForTexture3D()
396 context->validationError(GL_INVALID_OPERATION, kInternalFormatRequiresTexture2DArrayS3TC); in ValidateES3CompressedFormatForTexture3D()
403 context->validationError(GL_INVALID_OPERATION, kInternalFormatRequiresTexture2DArrayRGTC); in ValidateES3CompressedFormatForTexture3D()
409 bool ValidateES3TexImageParametersBase(const Context *context, in ValidateES3TexImageParametersBase() argument
433 if (!context->getExtensions().yuvInternalFormatANGLE || !isSubImage) in ValidateES3TexImageParametersBase()
435 context->validationError(GL_INVALID_ENUM, kInvalidFormat); in ValidateES3TexImageParametersBase()
441 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateES3TexImageParametersBase()
447 context->validationError(GL_INVALID_VALUE, kInvalidMipLevel); in ValidateES3TexImageParametersBase()
453 if (!ValidImageSizeParameters(context, texType, level, width, height, depth, isSubImage)) in ValidateES3TexImageParametersBase()
462 context->validationError(GL_INVALID_VALUE, kInvalidBorder); in ValidateES3TexImageParametersBase()
468 context->validationError(GL_INVALID_VALUE, kNegativeOffset); in ValidateES3TexImageParametersBase()
476 context->validationError(GL_INVALID_VALUE, kOffsetOverflow); in ValidateES3TexImageParametersBase()
480 const Caps &caps = context->getCaps(); in ValidateES3TexImageParametersBase()
490 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexImageParametersBase()
499 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexImageParametersBase()
504 context->validationError(GL_INVALID_ENUM, kRectangleTextureCompressed); in ValidateES3TexImageParametersBase()
512 context->validationError(GL_INVALID_VALUE, kCubemapFacesEqualDimensions); in ValidateES3TexImageParametersBase()
518 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexImageParametersBase()
528 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexImageParametersBase()
537 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexImageParametersBase()
545 context->validationError(GL_INVALID_VALUE, kCubemapFacesEqualDimensions); in ValidateES3TexImageParametersBase()
551 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexImageParametersBase()
559 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexImageParametersBase()
565 context->validationError(GL_INVALID_VALUE, kCubemapInvalidDepth); in ValidateES3TexImageParametersBase()
571 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateES3TexImageParametersBase()
575 Texture *texture = context->getTextureByType(texType); in ValidateES3TexImageParametersBase()
578 context->validationError(GL_INVALID_OPERATION, kMissingTexture); in ValidateES3TexImageParametersBase()
584 context->validationError(GL_INVALID_OPERATION, kTextureIsImmutable); in ValidateES3TexImageParametersBase()
591 if (!ValidateES3CompressedFormatForTexture3D(context, compressedDataFormat)) in ValidateES3TexImageParametersBase()
603 context->validationError(GL_INVALID_OPERATION, kInvalidMipLevel); in ValidateES3TexImageParametersBase()
614 context->validationError(GL_INVALID_ENUM, kCompressedMismatch); in ValidateES3TexImageParametersBase()
621 context, actualFormatInfo.internalFormat, xoffset, yoffset, zoffset, width, in ValidateES3TexImageParametersBase()
625 context->validationError(GL_INVALID_OPERATION, kInvalidCompressedImageSize); in ValidateES3TexImageParametersBase()
631 context->validationError(GL_INVALID_OPERATION, kMismatchedFormat); in ValidateES3TexImageParametersBase()
637 !context->getExtensions().compressedETC1RGB8SubTexture) in ValidateES3TexImageParametersBase()
639 context->validationError(GL_INVALID_OPERATION, kInvalidInternalFormat); in ValidateES3TexImageParametersBase()
645 if (!ValidCompressedImageSize(context, actualInternalFormat, level, width, height, in ValidateES3TexImageParametersBase()
648 context->validationError(GL_INVALID_OPERATION, kInvalidCompressedImageSize); in ValidateES3TexImageParametersBase()
653 if (!actualFormatInfo.textureSupport(context->getClientVersion(), context->getExtensions())) in ValidateES3TexImageParametersBase()
655 context->validationError(GL_INVALID_ENUM, kInvalidFormat); in ValidateES3TexImageParametersBase()
662 context->validationError(GL_INVALID_OPERATION, kInvalidTextureTarget); in ValidateES3TexImageParametersBase()
668 if (!ValidateTexImageFormatCombination(context, texType, actualInternalFormat, format, in ValidateES3TexImageParametersBase()
680 context->validationError(GL_INVALID_OPERATION, kCompressedMismatch); in ValidateES3TexImageParametersBase()
686 context->validationError(GL_INVALID_VALUE, kNegativeOffset); in ValidateES3TexImageParametersBase()
694 context->validationError(GL_INVALID_VALUE, kOffsetOverflow); in ValidateES3TexImageParametersBase()
702 context->validationError(GL_INVALID_VALUE, kOffsetOverflow); in ValidateES3TexImageParametersBase()
707 context->getState().getTargetBuffer(BufferBinding::PixelUnpack) == nullptr) in ValidateES3TexImageParametersBase()
709 context->validationError(GL_INVALID_VALUE, kPixelDataNull); in ValidateES3TexImageParametersBase()
715 if (!ValidImageDataSize(context, texType, width, height, depth, sizeCheckFormat, type, pixels, in ValidateES3TexImageParametersBase()
722 Buffer *pixelUnpackBuffer = context->getState().getTargetBuffer(BufferBinding::PixelUnpack); in ValidateES3TexImageParametersBase()
735 context->validationError(GL_INVALID_OPERATION, kDataTypeNotAligned); in ValidateES3TexImageParametersBase()
743 context->validationError(GL_INVALID_OPERATION, kBufferMapped); in ValidateES3TexImageParametersBase()
748 if (context->getExtensions().webglCompatibility) in ValidateES3TexImageParametersBase()
772 const auto &unpack = context->getState().getUnpackState(); in ValidateES3TexImageParametersBase()
776 context->validationError(GL_INVALID_OPERATION, kInvalidUnpackParametersForWebGL); in ValidateES3TexImageParametersBase()
784 context->validationError(GL_INVALID_OPERATION, in ValidateES3TexImageParametersBase()
795 bool ValidateES3TexImage2DParameters(const Context *context, in ValidateES3TexImage2DParameters() argument
813 if (!ValidTexture2DDestinationTarget(context, target)) in ValidateES3TexImage2DParameters()
815 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateES3TexImage2DParameters()
819 return ValidateES3TexImageParametersBase(context, target, level, internalformat, isCompressed, in ValidateES3TexImage2DParameters()
824 bool ValidateES3TexImage3DParameters(const Context *context, in ValidateES3TexImage3DParameters() argument
842 if (!ValidTexture3DDestinationTarget(context, target)) in ValidateES3TexImage3DParameters()
844 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateES3TexImage3DParameters()
848 return ValidateES3TexImageParametersBase(context, target, level, internalformat, isCompressed, in ValidateES3TexImage3DParameters()
1110 bool ValidateES3CopyTexImageParametersBase(const Context *context, in ValidateES3CopyTexImageParametersBase() argument
1125 if (!ValidateCopyTexImageParametersBase(context, target, level, internalformat, isSubImage, in ValidateES3CopyTexImageParametersBase()
1133 const auto &state = context->getState(); in ValidateES3CopyTexImageParametersBase()
1137 if (!ValidateFramebufferComplete(context, framebuffer)) in ValidateES3CopyTexImageParametersBase()
1145 !ValidateFramebufferNotMultisampled(context, framebuffer, true)) in ValidateES3CopyTexImageParametersBase()
1156 context->validationError(GL_INVALID_OPERATION, kInvalidFormat); in ValidateES3CopyTexImageParametersBase()
1165 context->validationError(GL_INVALID_OPERATION, kInvalidCopyCombination); in ValidateES3CopyTexImageParametersBase()
1176 context->validationError(GL_INVALID_OPERATION, kInvalidCopyCombination); in ValidateES3CopyTexImageParametersBase()
1185 bool ValidateES3CopyTexImage2DParameters(const Context *context, in ValidateES3CopyTexImage2DParameters() argument
1199 if (!ValidTexture2DDestinationTarget(context, target)) in ValidateES3CopyTexImage2DParameters()
1201 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateES3CopyTexImage2DParameters()
1205 return ValidateES3CopyTexImageParametersBase(context, target, level, internalformat, isSubImage, in ValidateES3CopyTexImage2DParameters()
1210 bool ValidateES3CopyTexImage3DParameters(const Context *context, in ValidateES3CopyTexImage3DParameters() argument
1224 if (!ValidTexture3DDestinationTarget(context, target)) in ValidateES3CopyTexImage3DParameters()
1226 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateES3CopyTexImage3DParameters()
1230 return ValidateES3CopyTexImageParametersBase(context, target, level, internalformat, isSubImage, in ValidateES3CopyTexImage3DParameters()
1235 bool ValidateES3TexStorageParametersBase(const Context *context, in ValidateES3TexStorageParametersBase() argument
1245 context->validationError(GL_INVALID_VALUE, kTextureSizeTooSmall); in ValidateES3TexStorageParametersBase()
1257 context->validationError(GL_INVALID_OPERATION, kInvalidMipLevels); in ValidateES3TexStorageParametersBase()
1265 if (!context->getExtensions().yuvInternalFormatANGLE) in ValidateES3TexStorageParametersBase()
1267 context->validationError(GL_INVALID_ENUM, kInvalidFormat); in ValidateES3TexStorageParametersBase()
1273 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateES3TexStorageParametersBase()
1279 context->validationError(GL_INVALID_VALUE, kInvalidMipLevel); in ValidateES3TexStorageParametersBase()
1284 const Caps &caps = context->getCaps(); in ValidateES3TexStorageParametersBase()
1292 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexStorageParametersBase()
1302 context->validationError(GL_INVALID_VALUE, kInvalidMipLevels); in ValidateES3TexStorageParametersBase()
1308 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexStorageParametersBase()
1318 context->validationError(GL_INVALID_VALUE, kCubemapFacesEqualDimensions); in ValidateES3TexStorageParametersBase()
1324 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexStorageParametersBase()
1335 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexStorageParametersBase()
1346 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexStorageParametersBase()
1356 context->validationError(GL_INVALID_VALUE, kCubemapFacesEqualDimensions); in ValidateES3TexStorageParametersBase()
1362 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexStorageParametersBase()
1369 context->validationError(GL_INVALID_VALUE, kResourceMaxTextureSize); in ValidateES3TexStorageParametersBase()
1375 context->validationError(GL_INVALID_VALUE, kCubemapInvalidDepth); in ValidateES3TexStorageParametersBase()
1386 Texture *texture = context->getTextureByType(target); in ValidateES3TexStorageParametersBase()
1389 context->validationError(GL_INVALID_OPERATION, kMissingTexture); in ValidateES3TexStorageParametersBase()
1395 context->validationError(GL_INVALID_OPERATION, kTextureIsImmutable); in ValidateES3TexStorageParametersBase()
1400 if (!formatInfo.textureSupport(context->getClientVersion(), context->getExtensions())) in ValidateES3TexStorageParametersBase()
1402 context->validationError(GL_INVALID_ENUM, kInvalidFormat); in ValidateES3TexStorageParametersBase()
1408 context->validationError(GL_INVALID_ENUM, kInvalidFormat); in ValidateES3TexStorageParametersBase()
1414 context->validationError(GL_INVALID_ENUM, kRectangleTextureCompressed); in ValidateES3TexStorageParametersBase()
1420 if (!ValidateES3CompressedFormatForTexture3D(context, formatInfo.internalFormat)) in ValidateES3TexStorageParametersBase()
1430 bool ValidateES3TexStorage2DParameters(const Context *context, in ValidateES3TexStorage2DParameters() argument
1438 if (!ValidTexture2DTarget(context, target)) in ValidateES3TexStorage2DParameters()
1440 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateES3TexStorage2DParameters()
1444 return ValidateES3TexStorageParametersBase(context, target, levels, internalformat, width, in ValidateES3TexStorage2DParameters()
1448 bool ValidateES3TexStorage3DParameters(const Context *context, in ValidateES3TexStorage3DParameters() argument
1456 if (!ValidTexture3DTarget(context, target)) in ValidateES3TexStorage3DParameters()
1458 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateES3TexStorage3DParameters()
1462 return ValidateES3TexStorageParametersBase(context, target, levels, internalformat, width, in ValidateES3TexStorage3DParameters()
1466 bool ValidateBeginQuery(const Context *context, QueryType target, QueryID id) in ValidateBeginQuery() argument
1468 if (context->getClientMajorVersion() < 3) in ValidateBeginQuery()
1470 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateBeginQuery()
1474 return ValidateBeginQueryBase(context, target, id); in ValidateBeginQuery()
1477 bool ValidateEndQuery(const Context *context, QueryType target) in ValidateEndQuery() argument
1479 if (context->getClientMajorVersion() < 3) in ValidateEndQuery()
1481 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateEndQuery()
1485 return ValidateEndQueryBase(context, target); in ValidateEndQuery()
1488 bool ValidateGetQueryiv(const Context *context, QueryType target, GLenum pname, const GLint *params) in ValidateGetQueryiv() argument
1490 if (context->getClientMajorVersion() < 3) in ValidateGetQueryiv()
1492 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetQueryiv()
1496 return ValidateGetQueryivBase(context, target, pname, nullptr); in ValidateGetQueryiv()
1499 bool ValidateGetQueryObjectuiv(const Context *context, in ValidateGetQueryObjectuiv() argument
1504 if (context->getClientMajorVersion() < 3) in ValidateGetQueryObjectuiv()
1506 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetQueryObjectuiv()
1510 return ValidateGetQueryObjectValueBase(context, id, pname, nullptr); in ValidateGetQueryObjectuiv()
1513 bool ValidateFramebufferTextureLayer(const Context *context, in ValidateFramebufferTextureLayer() argument
1520 if (context->getClientMajorVersion() < 3) in ValidateFramebufferTextureLayer()
1522 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateFramebufferTextureLayer()
1526 if (!ValidateFramebufferTextureBase(context, target, attachment, texture, level)) in ValidateFramebufferTextureLayer()
1531 const Caps &caps = context->getCaps(); in ValidateFramebufferTextureLayer()
1536 context->validationError(GL_INVALID_VALUE, kNegativeLayer); in ValidateFramebufferTextureLayer()
1540 Texture *tex = context->getTexture(texture); in ValidateFramebufferTextureLayer()
1549 context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidMipLevel); in ValidateFramebufferTextureLayer()
1555 context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidLayer); in ValidateFramebufferTextureLayer()
1565 context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidMipLevel); in ValidateFramebufferTextureLayer()
1571 context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidLayer); in ValidateFramebufferTextureLayer()
1581 context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidMipLevel); in ValidateFramebufferTextureLayer()
1587 context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidLayer); in ValidateFramebufferTextureLayer()
1597 context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidMipLevel); in ValidateFramebufferTextureLayer()
1603 context->validationError(GL_INVALID_VALUE, kFramebufferTextureInvalidLayer); in ValidateFramebufferTextureLayer()
1610 context->validationError(GL_INVALID_OPERATION, in ValidateFramebufferTextureLayer()
1618 context->validationError(GL_INVALID_OPERATION, kCompressedTexturesNotAttachable); in ValidateFramebufferTextureLayer()
1626 bool ValidateInvalidateFramebuffer(const Context *context, in ValidateInvalidateFramebuffer() argument
1631 if (context->getClientMajorVersion() < 3) in ValidateInvalidateFramebuffer()
1633 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateInvalidateFramebuffer()
1643 defaultFramebuffer = context->getState().getDrawFramebuffer()->isDefault(); in ValidateInvalidateFramebuffer()
1646 defaultFramebuffer = context->getState().getReadFramebuffer()->isDefault(); in ValidateInvalidateFramebuffer()
1649 context->validationError(GL_INVALID_ENUM, kInvalidFramebufferTarget); in ValidateInvalidateFramebuffer()
1653 return ValidateDiscardFramebufferBase(context, target, numAttachments, attachments, in ValidateInvalidateFramebuffer()
1657 bool ValidateInvalidateSubFramebuffer(const Context *context, in ValidateInvalidateSubFramebuffer() argument
1668 context->validationError(GL_INVALID_VALUE, kNegativeSize); in ValidateInvalidateSubFramebuffer()
1672 return ValidateInvalidateFramebuffer(context, target, numAttachments, attachments); in ValidateInvalidateSubFramebuffer()
1675 bool ValidateClearBuffer(const Context *context) in ValidateClearBuffer() argument
1677 if (context->getClientMajorVersion() < 3) in ValidateClearBuffer()
1679 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateClearBuffer()
1683 if (!ValidateFramebufferComplete(context, context->getState().getDrawFramebuffer())) in ValidateClearBuffer()
1691 bool ValidateDrawRangeElements(const Context *context, in ValidateDrawRangeElements() argument
1699 if (context->getClientMajorVersion() < 3) in ValidateDrawRangeElements()
1701 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateDrawRangeElements()
1707 context->validationError(GL_INVALID_VALUE, kInvalidElementRange); in ValidateDrawRangeElements()
1711 if (!ValidateDrawElementsCommon(context, mode, count, type, indices, 0)) in ValidateDrawRangeElements()
1725 bool ValidateGetUniformuiv(const Context *context, in ValidateGetUniformuiv() argument
1730 if (context->getClientMajorVersion() < 3) in ValidateGetUniformuiv()
1732 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetUniformuiv()
1736 return ValidateGetUniformBase(context, program, location); in ValidateGetUniformuiv()
1739 bool ValidateReadBuffer(const Context *context, GLenum src) in ValidateReadBuffer() argument
1741 if (context->getClientMajorVersion() < 3) in ValidateReadBuffer()
1743 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateReadBuffer()
1747 const Framebuffer *readFBO = context->getState().getReadFramebuffer(); in ValidateReadBuffer()
1751 context->validationError(GL_INVALID_OPERATION, kNoReadFramebuffer); in ValidateReadBuffer()
1762 context->validationError(GL_INVALID_ENUM, kInvalidReadBuffer); in ValidateReadBuffer()
1770 context->validationError(GL_INVALID_OPERATION, kInvalidDefaultReadBuffer); in ValidateReadBuffer()
1778 if (drawBuffer >= static_cast<GLuint>(context->getCaps().maxColorAttachments)) in ValidateReadBuffer()
1780 context->validationError(GL_INVALID_OPERATION, kExceedsMaxColorAttachments); in ValidateReadBuffer()
1788 bool ValidateCompressedTexImage3D(const Context *context, in ValidateCompressedTexImage3D() argument
1799 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().texture3DOES) in ValidateCompressedTexImage3D()
1801 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateCompressedTexImage3D()
1805 if (!ValidTextureTarget(context, TextureTargetToType(target))) in ValidateCompressedTexImage3D()
1807 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateCompressedTexImage3D()
1812 if (!ValidImageSizeParameters(context, TextureTargetToType(target), level, width, height, depth, in ValidateCompressedTexImage3D()
1822 context->validationError(GL_INVALID_ENUM, kInvalidCompressedFormat); in ValidateCompressedTexImage3D()
1829 context->validationError(GL_INVALID_VALUE, kIntegerOverflow); in ValidateCompressedTexImage3D()
1835 context->validationError(GL_INVALID_VALUE, kInvalidCompressedImageSize); in ValidateCompressedTexImage3D()
1842 context->validationError(GL_INVALID_ENUM, kInvalidTextureTarget); in ValidateCompressedTexImage3D()
1847 if (!ValidateES3TexImage3DParameters(context, target, level, internalformat, true, false, 0, 0, in ValidateCompressedTexImage3D()
1857 bool ValidateCompressedTexImage3DRobustANGLE(const Context *context, in ValidateCompressedTexImage3DRobustANGLE() argument
1869 if (!ValidateRobustCompressedTexImageBase(context, imageSize, dataSize)) in ValidateCompressedTexImage3DRobustANGLE()
1874 return ValidateCompressedTexImage3D(context, target, level, internalformat, width, height, in ValidateCompressedTexImage3DRobustANGLE()
1878 bool ValidateBindVertexArray(const Context *context, VertexArrayID array) in ValidateBindVertexArray() argument
1880 if (context->getClientMajorVersion() < 3) in ValidateBindVertexArray()
1882 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateBindVertexArray()
1886 return ValidateBindVertexArrayBase(context, array); in ValidateBindVertexArray()
1889 bool ValidateIsVertexArray(const Context *context, VertexArrayID array) in ValidateIsVertexArray() argument
1891 if (context->getClientMajorVersion() < 3) in ValidateIsVertexArray()
1893 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateIsVertexArray()
1900 static bool ValidateBindBufferCommon(const Context *context, in ValidateBindBufferCommon() argument
1907 if (context->getClientMajorVersion() < 3) in ValidateBindBufferCommon()
1909 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateBindBufferCommon()
1915 context->validationError(GL_INVALID_VALUE, kNegativeOffset); in ValidateBindBufferCommon()
1919 if (!context->getState().isBindGeneratesResourceEnabled() && in ValidateBindBufferCommon()
1920 !context->isBufferGenerated(buffer)) in ValidateBindBufferCommon()
1922 context->validationError(GL_INVALID_OPERATION, kObjectNotGenerated); in ValidateBindBufferCommon()
1926 const Caps &caps = context->getCaps(); in ValidateBindBufferCommon()
1933 context->validationError(GL_INVALID_VALUE, in ValidateBindBufferCommon()
1939 context->validationError(GL_INVALID_VALUE, kOffsetAndSizeAlignment); in ValidateBindBufferCommon()
1943 if (context->getState().isTransformFeedbackActive()) in ValidateBindBufferCommon()
1945 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackTargetActive); in ValidateBindBufferCommon()
1954 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxUniformBufferBindings); in ValidateBindBufferCommon()
1961 context->validationError(GL_INVALID_VALUE, kUniformBufferOffsetAlignment); in ValidateBindBufferCommon()
1968 if (context->getClientVersion() < ES_3_1) in ValidateBindBufferCommon()
1970 context->validationError(GL_INVALID_ENUM, kEnumRequiresGLES31); in ValidateBindBufferCommon()
1975 context->validationError(GL_INVALID_VALUE, in ValidateBindBufferCommon()
1981 context->validationError(GL_INVALID_VALUE, kOffsetAlignment); in ValidateBindBufferCommon()
1988 if (context->getClientVersion() < ES_3_1) in ValidateBindBufferCommon()
1990 context->validationError(GL_INVALID_ENUM, kEnumRequiresGLES31); in ValidateBindBufferCommon()
1995 context->validationError(GL_INVALID_VALUE, kExceedsMaxShaderStorageBufferBindings); in ValidateBindBufferCommon()
2001 context->validationError(GL_INVALID_VALUE, kShaderStorageBufferOffsetAlignment); in ValidateBindBufferCommon()
2008 if (!context->getExtensions().textureBufferAny()) in ValidateBindBufferCommon()
2010 context->validationError(GL_INVALID_ENUM, kTextureBufferExtensionNotAvailable); in ValidateBindBufferCommon()
2015 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxUniformBufferBindings); in ValidateBindBufferCommon()
2020 context->validationError(GL_INVALID_VALUE, kTextureBufferOffsetAlignment); in ValidateBindBufferCommon()
2026 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateBindBufferCommon()
2033 bool ValidateBindBufferBase(const Context *context, in ValidateBindBufferBase() argument
2038 return ValidateBindBufferCommon(context, target, index, buffer, 0, 0); in ValidateBindBufferBase()
2041 bool ValidateBindBufferRange(const Context *context, in ValidateBindBufferRange() argument
2050 context->validationError(GL_INVALID_VALUE, kInvalidBindBufferSize); in ValidateBindBufferRange()
2053 return ValidateBindBufferCommon(context, target, index, buffer, offset, size); in ValidateBindBufferRange()
2056 bool ValidateProgramBinary(const Context *context, in ValidateProgramBinary() argument
2062 if (context->getClientMajorVersion() < 3) in ValidateProgramBinary()
2064 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateProgramBinary()
2068 return ValidateProgramBinaryBase(context, program, binaryFormat, binary, length); in ValidateProgramBinary()
2071 bool ValidateGetProgramBinary(const Context *context, in ValidateGetProgramBinary() argument
2078 if (context->getClientMajorVersion() < 3) in ValidateGetProgramBinary()
2080 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetProgramBinary()
2084 return ValidateGetProgramBinaryBase(context, program, bufSize, length, binaryFormat, binary); in ValidateGetProgramBinary()
2087 bool ValidateProgramParameteriBase(const Context *context, in ValidateProgramParameteriBase() argument
2092 if (GetValidProgram(context, program) == nullptr) in ValidateProgramParameteriBase()
2102 context->validationError(GL_INVALID_VALUE, kInvalidBooleanValue); in ValidateProgramParameteriBase()
2108 if (context->getClientVersion() < ES_3_1) in ValidateProgramParameteriBase()
2110 context->validationError(GL_INVALID_ENUM, kES31Required); in ValidateProgramParameteriBase()
2116 context->validationError(GL_INVALID_VALUE, kInvalidBooleanValue); in ValidateProgramParameteriBase()
2122 context->validationError(GL_INVALID_ENUM, kInvalidPname); in ValidateProgramParameteriBase()
2129 bool ValidateProgramParameteri(const Context *context, in ValidateProgramParameteri() argument
2134 if (context->getClientMajorVersion() < 3) in ValidateProgramParameteri()
2136 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateProgramParameteri()
2140 return ValidateProgramParameteriBase(context, program, pname, value); in ValidateProgramParameteri()
2143 bool ValidateBlitFramebuffer(const Context *context, in ValidateBlitFramebuffer() argument
2155 if (context->getClientMajorVersion() < 3 && !context->getExtensions().framebufferBlitNV) in ValidateBlitFramebuffer()
2157 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateBlitFramebuffer()
2161 return ValidateBlitFramebufferParameters(context, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, in ValidateBlitFramebuffer()
2165 bool ValidateClearBufferiv(const Context *context, in ValidateClearBufferiv() argument
2173 if (drawbuffer < 0 || drawbuffer >= context->getCaps().maxDrawBuffers) in ValidateClearBufferiv()
2175 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxDrawBuffer); in ValidateClearBufferiv()
2178 if (context->getExtensions().webglCompatibility) in ValidateClearBufferiv()
2182 context, drawbuffer, validComponentTypes, ArraySize(validComponentTypes))) in ValidateClearBufferiv()
2192 context->validationError(GL_INVALID_VALUE, kInvalidDepthStencilDrawBuffer); in ValidateClearBufferiv()
2198 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateClearBufferiv()
2202 return ValidateClearBuffer(context); in ValidateClearBufferiv()
2205 bool ValidateClearBufferuiv(const Context *context, in ValidateClearBufferuiv() argument
2213 if (drawbuffer < 0 || drawbuffer >= context->getCaps().maxDrawBuffers) in ValidateClearBufferuiv()
2215 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxDrawBuffer); in ValidateClearBufferuiv()
2218 if (context->getExtensions().webglCompatibility) in ValidateClearBufferuiv()
2222 context, drawbuffer, validComponentTypes, ArraySize(validComponentTypes))) in ValidateClearBufferuiv()
2230 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateClearBufferuiv()
2234 return ValidateClearBuffer(context); in ValidateClearBufferuiv()
2237 bool ValidateClearBufferfv(const Context *context, in ValidateClearBufferfv() argument
2245 if (drawbuffer < 0 || drawbuffer >= context->getCaps().maxDrawBuffers) in ValidateClearBufferfv()
2247 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxDrawBuffer); in ValidateClearBufferfv()
2250 if (context->getExtensions().webglCompatibility) in ValidateClearBufferfv()
2255 context, drawbuffer, validComponentTypes, ArraySize(validComponentTypes))) in ValidateClearBufferfv()
2265 context->validationError(GL_INVALID_VALUE, kInvalidDepthStencilDrawBuffer); in ValidateClearBufferfv()
2271 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateClearBufferfv()
2275 return ValidateClearBuffer(context); in ValidateClearBufferfv()
2278 bool ValidateClearBufferfi(const Context *context, in ValidateClearBufferfi() argument
2289 context->validationError(GL_INVALID_VALUE, kInvalidDepthStencilDrawBuffer); in ValidateClearBufferfi()
2295 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateClearBufferfi()
2299 return ValidateClearBuffer(context); in ValidateClearBufferfi()
2302 bool ValidateDrawBuffers(const Context *context, GLsizei n, const GLenum *bufs) in ValidateDrawBuffers() argument
2304 if (context->getClientMajorVersion() < 3) in ValidateDrawBuffers()
2306 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateDrawBuffers()
2310 return ValidateDrawBuffersBase(context, n, bufs); in ValidateDrawBuffers()
2313 bool ValidateCopyTexSubImage3D(const Context *context, in ValidateCopyTexSubImage3D() argument
2324 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().texture3DOES) in ValidateCopyTexSubImage3D()
2326 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateCopyTexSubImage3D()
2330 return ValidateES3CopyTexImage3DParameters(context, target, level, GL_NONE, true, xoffset, in ValidateCopyTexSubImage3D()
2334 bool ValidateCopyTexture3DANGLE(const Context *context, in ValidateCopyTexture3DANGLE() argument
2346 const Texture *source = context->getTexture(sourceId); in ValidateCopyTexture3DANGLE()
2349 context->validationError(GL_INVALID_VALUE, kInvalidSourceTexture); in ValidateCopyTexture3DANGLE()
2358 const Texture *dest = context->getTexture(destId); in ValidateCopyTexture3DANGLE()
2361 context->validationError(GL_INVALID_VALUE, kInvalidDestinationTexture); in ValidateCopyTexture3DANGLE()
2365 if (!ValidateCopyTexture3DCommon(context, source, sourceLevel, in ValidateCopyTexture3DANGLE()
2372 if (!ValidMipLevel(context, source->getType(), sourceLevel)) in ValidateCopyTexture3DANGLE()
2374 context->validationError(GL_INVALID_VALUE, kInvalidSourceTextureLevel); in ValidateCopyTexture3DANGLE()
2382 context->validationError(GL_INVALID_OPERATION, kInvalidSourceTextureSize); in ValidateCopyTexture3DANGLE()
2388 context->validationError(GL_INVALID_OPERATION, kDestinationImmutable); in ValidateCopyTexture3DANGLE()
2395 bool ValidateCopySubTexture3DANGLE(const Context *context, in ValidateCopySubTexture3DANGLE() argument
2414 const Texture *source = context->getTexture(sourceId); in ValidateCopySubTexture3DANGLE()
2417 context->validationError(GL_INVALID_VALUE, kInvalidSourceTexture); in ValidateCopySubTexture3DANGLE()
2426 const Texture *dest = context->getTexture(destId); in ValidateCopySubTexture3DANGLE()
2429 context->validationError(GL_INVALID_VALUE, kInvalidDestinationTexture); in ValidateCopySubTexture3DANGLE()
2435 if (!ValidateCopyTexture3DCommon(context, source, sourceLevel, in ValidateCopySubTexture3DANGLE()
2444 context->validationError(GL_INVALID_VALUE, kNegativeXYZ); in ValidateCopySubTexture3DANGLE()
2450 context->validationError(GL_INVALID_VALUE, kNegativeHeightWidthDepth); in ValidateCopySubTexture3DANGLE()
2458 context->validationError(GL_INVALID_VALUE, kSourceTextureTooSmall); in ValidateCopySubTexture3DANGLE()
2464 context->validationError(GL_INVALID_VALUE, kInvalidDestinationTextureType); in ValidateCopySubTexture3DANGLE()
2470 context->validationError(GL_INVALID_VALUE, kNegativeOffset); in ValidateCopySubTexture3DANGLE()
2478 context->validationError(GL_INVALID_VALUE, kDestinationTextureTooSmall); in ValidateCopySubTexture3DANGLE()
2485 bool ValidateTexImage3D(const Context *context, in ValidateTexImage3D() argument
2497 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().texture3DOES) in ValidateTexImage3D()
2499 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateTexImage3D()
2503 return ValidateES3TexImage3DParameters(context, target, level, internalformat, false, false, 0, in ValidateTexImage3D()
2508 bool ValidateTexImage3DRobustANGLE(const Context *context, in ValidateTexImage3DRobustANGLE() argument
2521 if (context->getClientMajorVersion() < 3) in ValidateTexImage3DRobustANGLE()
2523 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateTexImage3DRobustANGLE()
2527 if (!ValidateRobustEntryPoint(context, bufSize)) in ValidateTexImage3DRobustANGLE()
2532 return ValidateES3TexImage3DParameters(context, target, level, internalformat, false, false, 0, in ValidateTexImage3DRobustANGLE()
2537 bool ValidateTexSubImage3D(const Context *context, in ValidateTexSubImage3D() argument
2550 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().texture3DOES) in ValidateTexSubImage3D()
2552 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateTexSubImage3D()
2556 return ValidateES3TexImage3DParameters(context, target, level, GL_NONE, false, true, xoffset, in ValidateTexSubImage3D()
2561 bool ValidateTexSubImage3DRobustANGLE(const Context *context, in ValidateTexSubImage3DRobustANGLE() argument
2575 if (context->getClientMajorVersion() < 3) in ValidateTexSubImage3DRobustANGLE()
2577 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateTexSubImage3DRobustANGLE()
2581 if (!ValidateRobustEntryPoint(context, bufSize)) in ValidateTexSubImage3DRobustANGLE()
2586 return ValidateES3TexImage3DParameters(context, target, level, GL_NONE, false, true, xoffset, in ValidateTexSubImage3DRobustANGLE()
2591 bool ValidateCompressedTexSubImage3D(const Context *context, in ValidateCompressedTexSubImage3D() argument
2604 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().texture3DOES) in ValidateCompressedTexSubImage3D()
2606 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateCompressedTexSubImage3D()
2613 context->validationError(GL_INVALID_ENUM, kInvalidCompressedFormat); in ValidateCompressedTexSubImage3D()
2620 context->validationError(GL_INVALID_OPERATION, kIntegerOverflow); in ValidateCompressedTexSubImage3D()
2626 context->validationError(GL_INVALID_VALUE, kInvalidCompressedImageSize); in ValidateCompressedTexSubImage3D()
2630 if (!ValidateES3TexImage3DParameters(context, target, level, GL_NONE, true, true, xoffset, in ValidateCompressedTexSubImage3D()
2639 context->validationError(GL_INVALID_VALUE, kPixelDataNull); in ValidateCompressedTexSubImage3D()
2646 bool ValidateCompressedTexSubImage3DRobustANGLE(const Context *context, in ValidateCompressedTexSubImage3DRobustANGLE() argument
2660 if (!ValidateRobustCompressedTexImageBase(context, imageSize, dataSize)) in ValidateCompressedTexSubImage3DRobustANGLE()
2665 return ValidateCompressedTexSubImage3D(context, target, level, xoffset, yoffset, zoffset, width, in ValidateCompressedTexSubImage3DRobustANGLE()
2669 bool ValidateGenQueries(const Context *context, GLsizei n, const QueryID *queries) in ValidateGenQueries() argument
2671 return ValidateGenOrDeleteES3(context, n); in ValidateGenQueries()
2674 bool ValidateDeleteQueries(const Context *context, GLsizei n, const QueryID *queries) in ValidateDeleteQueries() argument
2676 return ValidateGenOrDeleteES3(context, n); in ValidateDeleteQueries()
2679 bool ValidateGenSamplers(const Context *context, GLsizei count, const SamplerID *samplers) in ValidateGenSamplers() argument
2681 return ValidateGenOrDeleteCountES3(context, count); in ValidateGenSamplers()
2684 bool ValidateDeleteSamplers(const Context *context, GLsizei count, const SamplerID *samplers) in ValidateDeleteSamplers() argument
2686 return ValidateGenOrDeleteCountES3(context, count); in ValidateDeleteSamplers()
2689 bool ValidateGenTransformFeedbacks(const Context *context, in ValidateGenTransformFeedbacks() argument
2693 return ValidateGenOrDeleteES3(context, n); in ValidateGenTransformFeedbacks()
2696 bool ValidateDeleteTransformFeedbacks(const Context *context, in ValidateDeleteTransformFeedbacks() argument
2700 if (!ValidateGenOrDeleteES3(context, n)) in ValidateDeleteTransformFeedbacks()
2706 auto *transformFeedback = context->getTransformFeedback(ids[i]); in ValidateDeleteTransformFeedbacks()
2710 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackActiveDelete); in ValidateDeleteTransformFeedbacks()
2717 bool ValidateGenVertexArrays(const Context *context, GLsizei n, const VertexArrayID *arrays) in ValidateGenVertexArrays() argument
2719 return ValidateGenOrDeleteES3(context, n); in ValidateGenVertexArrays()
2722 bool ValidateDeleteVertexArrays(const Context *context, GLsizei n, const VertexArrayID *arrays) in ValidateDeleteVertexArrays() argument
2724 return ValidateGenOrDeleteES3(context, n); in ValidateDeleteVertexArrays()
2727 bool ValidateBeginTransformFeedback(const Context *context, PrimitiveMode primitiveMode) in ValidateBeginTransformFeedback() argument
2729 if (context->getClientMajorVersion() < 3) in ValidateBeginTransformFeedback()
2731 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateBeginTransformFeedback()
2742 context->validationError(GL_INVALID_ENUM, kInvalidPrimitiveMode); in ValidateBeginTransformFeedback()
2746 TransformFeedback *transformFeedback = context->getState().getCurrentTransformFeedback(); in ValidateBeginTransformFeedback()
2751 context->validationError(GL_INVALID_OPERATION, kTransfomFeedbackAlreadyActive); in ValidateBeginTransformFeedback()
2762 context->validationError(GL_INVALID_OPERATION, kBufferMapped); in ValidateBeginTransformFeedback()
2765 if ((context->getLimitations().noDoubleBoundTransformFeedbackBuffers || in ValidateBeginTransformFeedback()
2766 context->getExtensions().webglCompatibility) && in ValidateBeginTransformFeedback()
2769 context->validationError(GL_INVALID_OPERATION, in ValidateBeginTransformFeedback()
2776 const ProgramExecutable *programExecutable = context->getState().getProgramExecutable(); in ValidateBeginTransformFeedback()
2779 context->validationError(GL_INVALID_OPERATION, kProgramNotBound); in ValidateBeginTransformFeedback()
2785 context->validationError(GL_INVALID_OPERATION, kNoTransformFeedbackOutputVariables); in ValidateBeginTransformFeedback()
2796 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackBufferMissing); in ValidateBeginTransformFeedback()
2804 bool ValidateGetBufferPointerv(const Context *context, in ValidateGetBufferPointerv() argument
2809 if (context->getClientMajorVersion() < 3) in ValidateGetBufferPointerv()
2811 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetBufferPointerv()
2815 return ValidateGetBufferPointervBase(context, target, pname, nullptr, params); in ValidateGetBufferPointerv()
2818 bool ValidateGetBufferPointervRobustANGLE(const Context *context, in ValidateGetBufferPointervRobustANGLE() argument
2825 if (!ValidateRobustEntryPoint(context, bufSize)) in ValidateGetBufferPointervRobustANGLE()
2832 if (context->getClientMajorVersion() < 3 && !context->getExtensions().mapBufferOES) in ValidateGetBufferPointervRobustANGLE()
2834 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateGetBufferPointervRobustANGLE()
2838 if (!ValidateGetBufferPointervBase(context, target, pname, &numParams, params)) in ValidateGetBufferPointervRobustANGLE()
2843 if (!ValidateRobustBufferSize(context, bufSize, numParams)) in ValidateGetBufferPointervRobustANGLE()
2853 bool ValidateUnmapBuffer(const Context *context, BufferBinding target) in ValidateUnmapBuffer() argument
2855 if (context->getClientMajorVersion() < 3) in ValidateUnmapBuffer()
2857 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateUnmapBuffer()
2861 return ValidateUnmapBufferBase(context, target); in ValidateUnmapBuffer()
2864 bool ValidateMapBufferRange(const Context *context, in ValidateMapBufferRange() argument
2870 if (context->getClientMajorVersion() < 3) in ValidateMapBufferRange()
2872 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateMapBufferRange()
2876 return ValidateMapBufferRangeBase(context, target, offset, length, access); in ValidateMapBufferRange()
2879 bool ValidateFlushMappedBufferRange(const Context *context, in ValidateFlushMappedBufferRange() argument
2884 if (context->getClientMajorVersion() < 3) in ValidateFlushMappedBufferRange()
2886 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateFlushMappedBufferRange()
2890 return ValidateFlushMappedBufferRangeBase(context, target, offset, length); in ValidateFlushMappedBufferRange()
2893 bool ValidateIndexedStateQuery(const Context *context, GLenum pname, GLuint index, GLsizei *length) in ValidateIndexedStateQuery() argument
2902 if (!context->getIndexedQueryParameterInfo(pname, &nativeType, &numParams)) in ValidateIndexedStateQuery()
2904 context->validationError(GL_INVALID_ENUM, kInvalidPname); in ValidateIndexedStateQuery()
2908 const Caps &caps = context->getCaps(); in ValidateIndexedStateQuery()
2918 if (!context->getExtensions().drawBuffersIndexedAny()) in ValidateIndexedStateQuery()
2920 context->validationError(GL_INVALID_ENUM, kDrawBuffersIndexedExtensionNotAvailable); in ValidateIndexedStateQuery()
2925 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxDrawBuffer); in ValidateIndexedStateQuery()
2934 context->validationError(GL_INVALID_VALUE, in ValidateIndexedStateQuery()
2945 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxUniformBufferBindings); in ValidateIndexedStateQuery()
2954 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxWorkgroupDimensions); in ValidateIndexedStateQuery()
2962 if (context->getClientVersion() < ES_3_1) in ValidateIndexedStateQuery()
2964 context->validationError(GL_INVALID_ENUM, kEnumRequiresGLES31); in ValidateIndexedStateQuery()
2969 context->validationError(GL_INVALID_VALUE, in ValidateIndexedStateQuery()
2978 if (context->getClientVersion() < ES_3_1) in ValidateIndexedStateQuery()
2980 context->validationError(GL_INVALID_ENUM, kEnumRequiresGLES31); in ValidateIndexedStateQuery()
2985 context->validationError(GL_INVALID_VALUE, kExceedsMaxShaderStorageBufferBindings); in ValidateIndexedStateQuery()
2994 if (context->getClientVersion() < ES_3_1) in ValidateIndexedStateQuery()
2996 context->validationError(GL_INVALID_ENUM, kEnumRequiresGLES31); in ValidateIndexedStateQuery()
3001 context->validationError(GL_INVALID_VALUE, kExceedsMaxVertexAttribBindings); in ValidateIndexedStateQuery()
3006 if (context->getClientVersion() < ES_3_1) in ValidateIndexedStateQuery()
3008 context->validationError(GL_INVALID_ENUM, kEnumRequiresGLES31); in ValidateIndexedStateQuery()
3013 context->validationError(GL_INVALID_VALUE, kInvalidSampleMaskNumber); in ValidateIndexedStateQuery()
3023 if (context->getClientVersion() < ES_3_1) in ValidateIndexedStateQuery()
3025 context->validationError(GL_INVALID_ENUM, kEnumRequiresGLES31); in ValidateIndexedStateQuery()
3030 context->validationError(GL_INVALID_VALUE, kExceedsMaxImageUnits); in ValidateIndexedStateQuery()
3035 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateIndexedStateQuery()
3054 bool ValidateGetIntegeri_v(const Context *context, GLenum target, GLuint index, const GLint *data) in ValidateGetIntegeri_v() argument
3056 if (context->getClientVersion() < ES_3_0) in ValidateGetIntegeri_v()
3058 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetIntegeri_v()
3061 return ValidateIndexedStateQuery(context, target, index, nullptr); in ValidateGetIntegeri_v()
3064 bool ValidateGetIntegeri_vRobustANGLE(const Context *context, in ValidateGetIntegeri_vRobustANGLE() argument
3071 if (context->getClientVersion() < ES_3_0) in ValidateGetIntegeri_vRobustANGLE()
3073 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetIntegeri_vRobustANGLE()
3077 if (!ValidateRobustEntryPoint(context, bufSize)) in ValidateGetIntegeri_vRobustANGLE()
3084 if (!ValidateIndexedStateQuery(context, target, index, &numParams)) in ValidateGetIntegeri_vRobustANGLE()
3089 if (!ValidateRobustBufferSize(context, bufSize, numParams)) in ValidateGetIntegeri_vRobustANGLE()
3099 bool ValidateGetInteger64i_v(const Context *context, in ValidateGetInteger64i_v() argument
3104 if (context->getClientVersion() < ES_3_0) in ValidateGetInteger64i_v()
3106 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetInteger64i_v()
3109 return ValidateIndexedStateQuery(context, target, index, nullptr); in ValidateGetInteger64i_v()
3112 bool ValidateGetInteger64i_vRobustANGLE(const Context *context, in ValidateGetInteger64i_vRobustANGLE() argument
3119 if (context->getClientVersion() < ES_3_0) in ValidateGetInteger64i_vRobustANGLE()
3121 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetInteger64i_vRobustANGLE()
3125 if (!ValidateRobustEntryPoint(context, bufSize)) in ValidateGetInteger64i_vRobustANGLE()
3132 if (!ValidateIndexedStateQuery(context, target, index, &numParams)) in ValidateGetInteger64i_vRobustANGLE()
3137 if (!ValidateRobustBufferSize(context, bufSize, numParams)) in ValidateGetInteger64i_vRobustANGLE()
3147 bool ValidateCopyBufferSubData(const Context *context, in ValidateCopyBufferSubData() argument
3154 if (context->getClientMajorVersion() < 3) in ValidateCopyBufferSubData()
3156 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateCopyBufferSubData()
3160 if (!context->isValidBufferBinding(readTarget) || !context->isValidBufferBinding(writeTarget)) in ValidateCopyBufferSubData()
3162 context->validationError(GL_INVALID_ENUM, kInvalidBufferTypes); in ValidateCopyBufferSubData()
3166 Buffer *readBuffer = context->getState().getTargetBuffer(readTarget); in ValidateCopyBufferSubData()
3167 Buffer *writeBuffer = context->getState().getTargetBuffer(writeTarget); in ValidateCopyBufferSubData()
3171 context->validationError(GL_INVALID_OPERATION, kBufferNotBound); in ValidateCopyBufferSubData()
3178 context->validationError(GL_INVALID_OPERATION, kBufferMapped); in ValidateCopyBufferSubData()
3182 if (context->getExtensions().webglCompatibility && in ValidateCopyBufferSubData()
3186 context->validationError(GL_INVALID_OPERATION, kBufferBoundForTransformFeedback); in ValidateCopyBufferSubData()
3201 context->validationError(GL_INVALID_VALUE, kIntegerOverflow); in ValidateCopyBufferSubData()
3207 context->validationError(GL_INVALID_VALUE, kNegativeOffset); in ValidateCopyBufferSubData()
3213 context->validationError(GL_INVALID_VALUE, kNegativeSize); in ValidateCopyBufferSubData()
3220 context->validationError(GL_INVALID_VALUE, kBufferOffsetOverflow); in ValidateCopyBufferSubData()
3231 context->validationError(GL_INVALID_VALUE, kIntegerOverflow); in ValidateCopyBufferSubData()
3237 context->validationError(GL_INVALID_VALUE, kCopyAlias); in ValidateCopyBufferSubData()
3245 bool ValidateGetStringi(const Context *context, GLenum name, GLuint index) in ValidateGetStringi() argument
3247 if (context->getClientMajorVersion() < 3) in ValidateGetStringi()
3249 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetStringi()
3256 if (index >= context->getExtensionStringCount()) in ValidateGetStringi()
3258 context->validationError(GL_INVALID_VALUE, kExceedsNumExtensions); in ValidateGetStringi()
3264 if (!context->getExtensions().requestExtension) in ValidateGetStringi()
3266 context->validationError(GL_INVALID_ENUM, kInvalidName); in ValidateGetStringi()
3269 if (index >= context->getRequestableExtensionStringCount()) in ValidateGetStringi()
3271 context->validationError(GL_INVALID_VALUE, kExceedsNumRequestableExtensions); in ValidateGetStringi()
3277 context->validationError(GL_INVALID_ENUM, kInvalidName); in ValidateGetStringi()
3284 bool ValidateRenderbufferStorageMultisample(const Context *context, in ValidateRenderbufferStorageMultisample() argument
3291 if (context->getClientMajorVersion() < 3) in ValidateRenderbufferStorageMultisample()
3293 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateRenderbufferStorageMultisample()
3297 if (!ValidateRenderbufferStorageParametersBase(context, target, samples, internalformat, width, in ValidateRenderbufferStorageMultisample()
3309 if ((samples > 0 && context->getClientVersion() == ES_3_0) || in ValidateRenderbufferStorageMultisample()
3310 samples > context->getCaps().maxIntegerSamples) in ValidateRenderbufferStorageMultisample()
3312 context->validationError(GL_INVALID_OPERATION, kSamplesOutOfRange); in ValidateRenderbufferStorageMultisample()
3318 const TextureCaps &formatCaps = context->getTextureCaps().get(internalformat); in ValidateRenderbufferStorageMultisample()
3321 context->validationError(GL_INVALID_OPERATION, kSamplesOutOfRange); in ValidateRenderbufferStorageMultisample()
3328 bool ValidateVertexAttribIPointer(const Context *context, in ValidateVertexAttribIPointer() argument
3335 if (context->getClientMajorVersion() < 3) in ValidateVertexAttribIPointer()
3337 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateVertexAttribIPointer()
3341 if (!ValidateIntegerVertexFormat(context, index, size, type)) in ValidateVertexAttribIPointer()
3348 context->validationError(GL_INVALID_VALUE, kNegativeStride); in ValidateVertexAttribIPointer()
3352 const Caps &caps = context->getCaps(); in ValidateVertexAttribIPointer()
3353 if (context->getClientVersion() >= ES_3_1) in ValidateVertexAttribIPointer()
3357 context->validationError(GL_INVALID_VALUE, kExceedsMaxVertexAttribStride); in ValidateVertexAttribIPointer()
3366 context->validationError(GL_INVALID_VALUE, kExceedsMaxVertexAttribBindings); in ValidateVertexAttribIPointer()
3375 if (context->getState().getVertexArrayId().value != 0 && in ValidateVertexAttribIPointer()
3376 context->getState().getTargetBuffer(BufferBinding::Array) == 0 && pointer != nullptr) in ValidateVertexAttribIPointer()
3378 context->validationError(GL_INVALID_OPERATION, kClientDataInVertexArray); in ValidateVertexAttribIPointer()
3382 if (context->getExtensions().webglCompatibility) in ValidateVertexAttribIPointer()
3384 if (!ValidateWebGLVertexAttribPointer(context, type, false, stride, pointer, true)) in ValidateVertexAttribIPointer()
3393 bool ValidateGetSynciv(const Context *context, in ValidateGetSynciv() argument
3400 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().glSyncARB) in ValidateGetSynciv()
3402 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetSynciv()
3408 context->validationError(GL_INVALID_VALUE, kNegativeBufferSize); in ValidateGetSynciv()
3412 if (context->isContextLost()) in ValidateGetSynciv()
3414 context->validationError(GL_CONTEXT_LOST, kContextLost); in ValidateGetSynciv()
3428 Sync *syncObject = context->getSync(sync); in ValidateGetSynciv()
3431 context->validationError(GL_INVALID_VALUE, kSyncMissing); in ValidateGetSynciv()
3444 context->validationError(GL_INVALID_ENUM, kInvalidPname); in ValidateGetSynciv()
3451 bool ValidateDrawElementsInstanced(const Context *context, in ValidateDrawElementsInstanced() argument
3458 if (context->getClientMajorVersion() < 3) in ValidateDrawElementsInstanced()
3460 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateDrawElementsInstanced()
3464 return ValidateDrawElementsInstancedBase(context, mode, count, type, indices, instanceCount); in ValidateDrawElementsInstanced()
3467 bool ValidateMultiDrawArraysInstancedANGLE(const Context *context, in ValidateMultiDrawArraysInstancedANGLE() argument
3474 if (!context->getExtensions().multiDraw) in ValidateMultiDrawArraysInstancedANGLE()
3476 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateMultiDrawArraysInstancedANGLE()
3479 if (context->getClientMajorVersion() < 3) in ValidateMultiDrawArraysInstancedANGLE()
3481 if (!context->getExtensions().instancedArraysAny()) in ValidateMultiDrawArraysInstancedANGLE()
3483 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateMultiDrawArraysInstancedANGLE()
3486 if (!ValidateDrawInstancedANGLE(context)) in ValidateMultiDrawArraysInstancedANGLE()
3493 if (!ValidateDrawArraysInstancedBase(context, mode, firsts[drawID], counts[drawID], in ValidateMultiDrawArraysInstancedANGLE()
3502 bool ValidateMultiDrawElementsInstancedANGLE(const Context *context, in ValidateMultiDrawElementsInstancedANGLE() argument
3510 if (!context->getExtensions().multiDraw) in ValidateMultiDrawElementsInstancedANGLE()
3512 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateMultiDrawElementsInstancedANGLE()
3515 if (context->getClientMajorVersion() < 3) in ValidateMultiDrawElementsInstancedANGLE()
3517 if (!context->getExtensions().instancedArraysAny()) in ValidateMultiDrawElementsInstancedANGLE()
3519 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateMultiDrawElementsInstancedANGLE()
3522 if (!ValidateDrawInstancedANGLE(context)) in ValidateMultiDrawElementsInstancedANGLE()
3529 if (!ValidateDrawElementsInstancedBase(context, mode, counts[drawID], type, indices[drawID], in ValidateMultiDrawElementsInstancedANGLE()
3538 bool ValidateDrawArraysInstancedBaseInstanceANGLE(const Context *context, in ValidateDrawArraysInstancedBaseInstanceANGLE() argument
3545 if (!context->getExtensions().baseVertexBaseInstance) in ValidateDrawArraysInstancedBaseInstanceANGLE()
3547 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateDrawArraysInstancedBaseInstanceANGLE()
3550 if (!ValidateDrawArraysInstancedBase(context, mode, first, count, instanceCount)) in ValidateDrawArraysInstancedBaseInstanceANGLE()
3557 bool ValidateDrawElementsInstancedBaseVertexBaseInstanceANGLE(const Context *context, in ValidateDrawElementsInstancedBaseVertexBaseInstanceANGLE() argument
3566 if (!context->getExtensions().baseVertexBaseInstance) in ValidateDrawElementsInstancedBaseVertexBaseInstanceANGLE()
3568 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateDrawElementsInstancedBaseVertexBaseInstanceANGLE()
3571 if (!ValidateDrawElementsInstancedBase(context, mode, count, type, indices, instanceCounts)) in ValidateDrawElementsInstancedBaseVertexBaseInstanceANGLE()
3578 bool ValidateMultiDrawArraysInstancedBaseInstanceANGLE(const Context *context, in ValidateMultiDrawArraysInstancedBaseInstanceANGLE() argument
3586 if (!context->getExtensions().multiDraw) in ValidateMultiDrawArraysInstancedBaseInstanceANGLE()
3588 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateMultiDrawArraysInstancedBaseInstanceANGLE()
3597 if (!ValidateDrawArraysInstancedBase(context, modePacked, firsts[drawID], counts[drawID], in ValidateMultiDrawArraysInstancedBaseInstanceANGLE()
3606 bool ValidateMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE(const Context *context, in ValidateMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE() argument
3616 if (!context->getExtensions().multiDraw) in ValidateMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE()
3618 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE()
3627 if (!ValidateDrawElementsInstancedBase(context, modePacked, counts[drawID], typePacked, in ValidateMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE()
3636 bool ValidateFramebufferTextureMultiviewOVR(const Context *context, in ValidateFramebufferTextureMultiviewOVR() argument
3644 if (!ValidateFramebufferTextureMultiviewBaseANGLE(context, target, attachment, texture, level, in ValidateFramebufferTextureMultiviewOVR()
3654 context->validationError(GL_INVALID_VALUE, kNegativeBaseViewIndex); in ValidateFramebufferTextureMultiviewOVR()
3658 Texture *tex = context->getTexture(texture); in ValidateFramebufferTextureMultiviewOVR()
3668 if (!context->getExtensions().multiviewMultisample) in ValidateFramebufferTextureMultiviewOVR()
3670 context->validationError(GL_INVALID_OPERATION, kInvalidTextureType); in ValidateFramebufferTextureMultiviewOVR()
3675 const Caps &caps = context->getCaps(); in ValidateFramebufferTextureMultiviewOVR()
3678 context->validationError(GL_INVALID_VALUE, kViewsExceedMaxArrayLayers); in ValidateFramebufferTextureMultiviewOVR()
3685 context->validationError(GL_INVALID_OPERATION, kInvalidTextureType); in ValidateFramebufferTextureMultiviewOVR()
3689 if (!ValidateFramebufferTextureMultiviewLevelAndFormat(context, tex, level)) in ValidateFramebufferTextureMultiviewOVR()
3698 bool ValidateUniform1ui(const Context *context, UniformLocation location, GLuint v0) in ValidateUniform1ui() argument
3700 return ValidateUniformES3(context, GL_UNSIGNED_INT, location, 1); in ValidateUniform1ui()
3703 bool ValidateUniform2ui(const Context *context, UniformLocation location, GLuint v0, GLuint v1) in ValidateUniform2ui() argument
3705 return ValidateUniformES3(context, GL_UNSIGNED_INT_VEC2, location, 1); in ValidateUniform2ui()
3708 bool ValidateUniform3ui(const Context *context, in ValidateUniform3ui() argument
3714 return ValidateUniformES3(context, GL_UNSIGNED_INT_VEC3, location, 1); in ValidateUniform3ui()
3717 bool ValidateUniform4ui(const Context *context, in ValidateUniform4ui() argument
3724 return ValidateUniformES3(context, GL_UNSIGNED_INT_VEC4, location, 1); in ValidateUniform4ui()
3727 bool ValidateUniform1uiv(const Context *context, in ValidateUniform1uiv() argument
3732 return ValidateUniformES3(context, GL_UNSIGNED_INT, location, count); in ValidateUniform1uiv()
3735 bool ValidateUniform2uiv(const Context *context, in ValidateUniform2uiv() argument
3740 return ValidateUniformES3(context, GL_UNSIGNED_INT_VEC2, location, count); in ValidateUniform2uiv()
3743 bool ValidateUniform3uiv(const Context *context, in ValidateUniform3uiv() argument
3748 return ValidateUniformES3(context, GL_UNSIGNED_INT_VEC3, location, count); in ValidateUniform3uiv()
3751 bool ValidateUniform4uiv(const Context *context, in ValidateUniform4uiv() argument
3756 return ValidateUniformES3(context, GL_UNSIGNED_INT_VEC4, location, count); in ValidateUniform4uiv()
3759 bool ValidateIsQuery(const Context *context, QueryID id) in ValidateIsQuery() argument
3761 if (context->getClientMajorVersion() < 3) in ValidateIsQuery()
3763 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateIsQuery()
3770 bool ValidateUniformMatrix2x3fv(const Context *context, in ValidateUniformMatrix2x3fv() argument
3776 return ValidateUniformMatrixES3(context, GL_FLOAT_MAT2x3, location, count, transpose); in ValidateUniformMatrix2x3fv()
3779 bool ValidateUniformMatrix3x2fv(const Context *context, in ValidateUniformMatrix3x2fv() argument
3785 return ValidateUniformMatrixES3(context, GL_FLOAT_MAT3x2, location, count, transpose); in ValidateUniformMatrix3x2fv()
3788 bool ValidateUniformMatrix2x4fv(const Context *context, in ValidateUniformMatrix2x4fv() argument
3794 return ValidateUniformMatrixES3(context, GL_FLOAT_MAT2x4, location, count, transpose); in ValidateUniformMatrix2x4fv()
3797 bool ValidateUniformMatrix4x2fv(const Context *context, in ValidateUniformMatrix4x2fv() argument
3803 return ValidateUniformMatrixES3(context, GL_FLOAT_MAT4x2, location, count, transpose); in ValidateUniformMatrix4x2fv()
3806 bool ValidateUniformMatrix3x4fv(const Context *context, in ValidateUniformMatrix3x4fv() argument
3812 return ValidateUniformMatrixES3(context, GL_FLOAT_MAT3x4, location, count, transpose); in ValidateUniformMatrix3x4fv()
3815 bool ValidateUniformMatrix4x3fv(const Context *context, in ValidateUniformMatrix4x3fv() argument
3821 return ValidateUniformMatrixES3(context, GL_FLOAT_MAT4x3, location, count, transpose); in ValidateUniformMatrix4x3fv()
3824 bool ValidateEndTransformFeedback(const Context *context) in ValidateEndTransformFeedback() argument
3826 if (context->getClientMajorVersion() < 3) in ValidateEndTransformFeedback()
3828 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateEndTransformFeedback()
3832 TransformFeedback *transformFeedback = context->getState().getCurrentTransformFeedback(); in ValidateEndTransformFeedback()
3837 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackNotActive); in ValidateEndTransformFeedback()
3844 bool ValidateTransformFeedbackVaryings(const Context *context, in ValidateTransformFeedbackVaryings() argument
3850 if (context->getClientMajorVersion() < 3) in ValidateTransformFeedbackVaryings()
3852 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateTransformFeedbackVaryings()
3858 context->validationError(GL_INVALID_VALUE, kNegativeCount); in ValidateTransformFeedbackVaryings()
3868 const Caps &caps = context->getCaps(); in ValidateTransformFeedbackVaryings()
3871 context->validationError(GL_INVALID_VALUE, kInvalidTransformFeedbackAttribsCount); in ValidateTransformFeedbackVaryings()
3877 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateTransformFeedbackVaryings()
3881 Program *programObject = GetValidProgram(context, program); in ValidateTransformFeedbackVaryings()
3890 bool ValidateGetTransformFeedbackVarying(const Context *context, in ValidateGetTransformFeedbackVarying() argument
3899 if (context->getClientMajorVersion() < 3) in ValidateGetTransformFeedbackVarying()
3901 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetTransformFeedbackVarying()
3907 context->validationError(GL_INVALID_VALUE, kNegativeBufferSize); in ValidateGetTransformFeedbackVarying()
3911 Program *programObject = GetValidProgram(context, program); in ValidateGetTransformFeedbackVarying()
3919 context->validationError(GL_INVALID_VALUE, kTransformFeedbackVaryingIndexOutOfRange); in ValidateGetTransformFeedbackVarying()
3926 bool ValidateBindTransformFeedback(const Context *context, GLenum target, TransformFeedbackID id) in ValidateBindTransformFeedback() argument
3928 if (context->getClientMajorVersion() < 3) in ValidateBindTransformFeedback()
3930 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateBindTransformFeedback()
3940 if (context->getState().isTransformFeedbackActiveUnpaused()) in ValidateBindTransformFeedback()
3942 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackNotPaused); in ValidateBindTransformFeedback()
3948 if (!context->isTransformFeedbackGenerated(id)) in ValidateBindTransformFeedback()
3950 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackDoesNotExist); in ValidateBindTransformFeedback()
3957 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateBindTransformFeedback()
3964 bool ValidateIsTransformFeedback(const Context *context, TransformFeedbackID id) in ValidateIsTransformFeedback() argument
3966 if (context->getClientMajorVersion() < 3) in ValidateIsTransformFeedback()
3968 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateIsTransformFeedback()
3975 bool ValidatePauseTransformFeedback(const Context *context) in ValidatePauseTransformFeedback() argument
3977 if (context->getClientMajorVersion() < 3) in ValidatePauseTransformFeedback()
3979 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidatePauseTransformFeedback()
3983 TransformFeedback *transformFeedback = context->getState().getCurrentTransformFeedback(); in ValidatePauseTransformFeedback()
3989 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackNotActive); in ValidatePauseTransformFeedback()
3995 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackPaused); in ValidatePauseTransformFeedback()
4002 bool ValidateResumeTransformFeedback(const Context *context) in ValidateResumeTransformFeedback() argument
4004 if (context->getClientMajorVersion() < 3) in ValidateResumeTransformFeedback()
4006 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateResumeTransformFeedback()
4010 TransformFeedback *transformFeedback = context->getState().getCurrentTransformFeedback(); in ValidateResumeTransformFeedback()
4016 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackNotActive); in ValidateResumeTransformFeedback()
4022 context->validationError(GL_INVALID_OPERATION, kTransformFeedbackNotPaused); in ValidateResumeTransformFeedback()
4029 bool ValidateVertexAttribI4i(const Context *context, in ValidateVertexAttribI4i() argument
4036 if (context->getClientMajorVersion() < 3) in ValidateVertexAttribI4i()
4038 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateVertexAttribI4i()
4042 return ValidateVertexAttribIndex(context, index); in ValidateVertexAttribI4i()
4045 bool ValidateVertexAttribI4ui(const Context *context, in ValidateVertexAttribI4ui() argument
4052 if (context->getClientMajorVersion() < 3) in ValidateVertexAttribI4ui()
4054 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateVertexAttribI4ui()
4058 return ValidateVertexAttribIndex(context, index); in ValidateVertexAttribI4ui()
4061 bool ValidateVertexAttribI4iv(const Context *context, GLuint index, const GLint *v) in ValidateVertexAttribI4iv() argument
4063 if (context->getClientMajorVersion() < 3) in ValidateVertexAttribI4iv()
4065 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateVertexAttribI4iv()
4069 return ValidateVertexAttribIndex(context, index); in ValidateVertexAttribI4iv()
4072 bool ValidateVertexAttribI4uiv(const Context *context, GLuint index, const GLuint *v) in ValidateVertexAttribI4uiv() argument
4074 if (context->getClientMajorVersion() < 3) in ValidateVertexAttribI4uiv()
4076 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateVertexAttribI4uiv()
4080 return ValidateVertexAttribIndex(context, index); in ValidateVertexAttribI4uiv()
4083 bool ValidateGetFragDataLocation(const Context *context, in ValidateGetFragDataLocation() argument
4087 if (context->getClientMajorVersion() < 3) in ValidateGetFragDataLocation()
4089 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetFragDataLocation()
4093 Program *programObject = GetValidProgram(context, program); in ValidateGetFragDataLocation()
4101 context->validationError(GL_INVALID_OPERATION, kProgramNotLinked); in ValidateGetFragDataLocation()
4108 bool ValidateGetUniformIndices(const Context *context, in ValidateGetUniformIndices() argument
4114 if (context->getClientMajorVersion() < 3) in ValidateGetUniformIndices()
4116 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetUniformIndices()
4122 context->validationError(GL_INVALID_VALUE, kNegativeCount); in ValidateGetUniformIndices()
4126 Program *programObject = GetValidProgram(context, program); in ValidateGetUniformIndices()
4135 bool ValidateGetActiveUniformsiv(const Context *context, in ValidateGetActiveUniformsiv() argument
4142 if (context->getClientMajorVersion() < 3) in ValidateGetActiveUniformsiv()
4144 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetActiveUniformsiv()
4150 context->validationError(GL_INVALID_VALUE, kNegativeCount); in ValidateGetActiveUniformsiv()
4154 Program *programObject = GetValidProgram(context, program); in ValidateGetActiveUniformsiv()
4166 if (context->getExtensions().webglCompatibility) in ValidateGetActiveUniformsiv()
4168 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateGetActiveUniformsiv()
4180 context->validationError(GL_INVALID_ENUM, kEnumNotSupported); in ValidateGetActiveUniformsiv()
4186 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxActiveUniform); in ValidateGetActiveUniformsiv()
4196 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxActiveUniform); in ValidateGetActiveUniformsiv()
4204 bool ValidateGetUniformBlockIndex(const Context *context, in ValidateGetUniformBlockIndex() argument
4208 if (context->getClientMajorVersion() < 3) in ValidateGetUniformBlockIndex()
4210 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetUniformBlockIndex()
4214 Program *programObject = GetValidProgram(context, program); in ValidateGetUniformBlockIndex()
4223 bool ValidateGetActiveUniformBlockiv(const Context *context, in ValidateGetActiveUniformBlockiv() argument
4229 return ValidateGetActiveUniformBlockivBase(context, program, uniformBlockIndex, pname, nullptr); in ValidateGetActiveUniformBlockiv()
4232 bool ValidateGetActiveUniformBlockName(const Context *context, in ValidateGetActiveUniformBlockName() argument
4239 if (context->getClientMajorVersion() < 3) in ValidateGetActiveUniformBlockName()
4241 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetActiveUniformBlockName()
4245 Program *programObject = GetValidProgram(context, program); in ValidateGetActiveUniformBlockName()
4253 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxActiveUniformBlock); in ValidateGetActiveUniformBlockName()
4260 bool ValidateUniformBlockBinding(const Context *context, in ValidateUniformBlockBinding() argument
4265 if (context->getClientMajorVersion() < 3) in ValidateUniformBlockBinding()
4267 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateUniformBlockBinding()
4271 if (uniformBlockBinding >= static_cast<GLuint>(context->getCaps().maxUniformBufferBindings)) in ValidateUniformBlockBinding()
4273 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxUniformBufferBindings); in ValidateUniformBlockBinding()
4277 Program *programObject = GetValidProgram(context, program); in ValidateUniformBlockBinding()
4286 context->validationError(GL_INVALID_VALUE, kIndexExceedsMaxUniformBufferBindings); in ValidateUniformBlockBinding()
4293 bool ValidateDrawArraysInstanced(const Context *context, in ValidateDrawArraysInstanced() argument
4299 if (context->getClientMajorVersion() < 3) in ValidateDrawArraysInstanced()
4301 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateDrawArraysInstanced()
4305 return ValidateDrawArraysInstancedBase(context, mode, first, count, primcount); in ValidateDrawArraysInstanced()
4308 bool ValidateFenceSync(const Context *context, GLenum condition, GLbitfield flags) in ValidateFenceSync() argument
4310 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().glSyncARB) in ValidateFenceSync()
4312 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateFenceSync()
4318 context->validationError(GL_INVALID_ENUM, kInvalidFenceCondition); in ValidateFenceSync()
4324 context->validationError(GL_INVALID_VALUE, kInvalidFlags); in ValidateFenceSync()
4331 bool ValidateIsSync(const Context *context, GLsync sync) in ValidateIsSync() argument
4333 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().glSyncARB) in ValidateIsSync()
4335 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateIsSync()
4342 bool ValidateDeleteSync(const Context *context, GLsync sync) in ValidateDeleteSync() argument
4344 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().glSyncARB) in ValidateDeleteSync()
4346 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateDeleteSync()
4350 if (sync != static_cast<GLsync>(0) && !context->getSync(sync)) in ValidateDeleteSync()
4352 context->validationError(GL_INVALID_VALUE, kSyncMissing); in ValidateDeleteSync()
4359 bool ValidateClientWaitSync(const Context *context, GLsync sync, GLbitfield flags, GLuint64 timeout) in ValidateClientWaitSync() argument
4361 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().glSyncARB) in ValidateClientWaitSync()
4363 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateClientWaitSync()
4369 context->validationError(GL_INVALID_VALUE, kInvalidFlags); in ValidateClientWaitSync()
4373 Sync *clientWaitSync = context->getSync(sync); in ValidateClientWaitSync()
4376 context->validationError(GL_INVALID_VALUE, kSyncMissing); in ValidateClientWaitSync()
4383 bool ValidateWaitSync(const Context *context, GLsync sync, GLbitfield flags, GLuint64 timeout) in ValidateWaitSync() argument
4385 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().glSyncARB) in ValidateWaitSync()
4387 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateWaitSync()
4393 context->validationError(GL_INVALID_VALUE, kInvalidFlags); in ValidateWaitSync()
4399 context->validationError(GL_INVALID_VALUE, kInvalidTimeout); in ValidateWaitSync()
4403 Sync *waitSync = context->getSync(sync); in ValidateWaitSync()
4406 context->validationError(GL_INVALID_VALUE, kSyncMissing); in ValidateWaitSync()
4413 bool ValidateGetInteger64v(const Context *context, GLenum pname, const GLint64 *params) in ValidateGetInteger64v() argument
4415 if ((context->getClientMajorVersion() < 3) && !context->getExtensions().glSyncARB) in ValidateGetInteger64v()
4417 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetInteger64v()
4423 if (!ValidateStateQuery(context, pname, &nativeType, &numParams)) in ValidateGetInteger64v()
4431 bool ValidateIsSampler(const Context *context, SamplerID sampler) in ValidateIsSampler() argument
4433 if (context->getClientMajorVersion() < 3) in ValidateIsSampler()
4435 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateIsSampler()
4442 bool ValidateBindSampler(const Context *context, GLuint unit, SamplerID sampler) in ValidateBindSampler() argument
4444 if (context->getClientMajorVersion() < 3) in ValidateBindSampler()
4446 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateBindSampler()
4450 if (GetIDValue(sampler) != 0 && !context->isSampler(sampler)) in ValidateBindSampler()
4452 context->validationError(GL_INVALID_OPERATION, kInvalidSampler); in ValidateBindSampler()
4456 if (unit >= static_cast<GLuint>(context->getCaps().maxCombinedTextureImageUnits)) in ValidateBindSampler()
4458 context->validationError(GL_INVALID_VALUE, kInvalidCombinedImageUnit); in ValidateBindSampler()
4465 bool ValidateVertexAttribDivisor(const Context *context, GLuint index, GLuint divisor) in ValidateVertexAttribDivisor() argument
4467 if (context->getClientMajorVersion() < 3) in ValidateVertexAttribDivisor()
4469 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateVertexAttribDivisor()
4473 return ValidateVertexAttribIndex(context, index); in ValidateVertexAttribDivisor()
4476 bool ValidateTexStorage2D(const Context *context, in ValidateTexStorage2D() argument
4483 if (context->getClientMajorVersion() < 3) in ValidateTexStorage2D()
4485 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateTexStorage2D()
4489 if (!ValidateES3TexStorage2DParameters(context, target, levels, internalformat, width, height, in ValidateTexStorage2D()
4498 bool ValidateTexStorage3D(const Context *context, in ValidateTexStorage3D() argument
4506 if (context->getClientMajorVersion() < 3) in ValidateTexStorage3D()
4508 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateTexStorage3D()
4512 if (!ValidateES3TexStorage3DParameters(context, target, levels, internalformat, width, height, in ValidateTexStorage3D()
4521 bool ValidateGetBufferParameteri64v(const Context *context, in ValidateGetBufferParameteri64v() argument
4526 return ValidateGetBufferParameterBase(context, target, pname, false, nullptr); in ValidateGetBufferParameteri64v()
4529 bool ValidateGetSamplerParameterfv(const Context *context, in ValidateGetSamplerParameterfv() argument
4534 return ValidateGetSamplerParameterBase(context, sampler, pname, nullptr); in ValidateGetSamplerParameterfv()
4537 bool ValidateGetSamplerParameteriv(const Context *context, in ValidateGetSamplerParameteriv() argument
4542 return ValidateGetSamplerParameterBase(context, sampler, pname, nullptr); in ValidateGetSamplerParameteriv()
4545 bool ValidateGetSamplerParameterIivOES(const Context *context, in ValidateGetSamplerParameterIivOES() argument
4550 if (context->getClientMajorVersion() < 3) in ValidateGetSamplerParameterIivOES()
4552 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetSamplerParameterIivOES()
4555 return ValidateGetSamplerParameterBase(context, sampler, pname, nullptr); in ValidateGetSamplerParameterIivOES()
4558 bool ValidateGetSamplerParameterIuivOES(const Context *context, in ValidateGetSamplerParameterIuivOES() argument
4563 if (context->getClientMajorVersion() < 3) in ValidateGetSamplerParameterIuivOES()
4565 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetSamplerParameterIuivOES()
4568 return ValidateGetSamplerParameterBase(context, sampler, pname, nullptr); in ValidateGetSamplerParameterIuivOES()
4571 bool ValidateSamplerParameterf(const Context *context, in ValidateSamplerParameterf() argument
4576 return ValidateSamplerParameterBase(context, sampler, pname, -1, false, ¶m); in ValidateSamplerParameterf()
4579 bool ValidateSamplerParameterfv(const Context *context, in ValidateSamplerParameterfv() argument
4584 return ValidateSamplerParameterBase(context, sampler, pname, -1, true, params); in ValidateSamplerParameterfv()
4587 bool ValidateSamplerParameteri(const Context *context, SamplerID sampler, GLenum pname, GLint param) in ValidateSamplerParameteri() argument
4589 return ValidateSamplerParameterBase(context, sampler, pname, -1, false, ¶m); in ValidateSamplerParameteri()
4592 bool ValidateSamplerParameteriv(const Context *context, in ValidateSamplerParameteriv() argument
4597 return ValidateSamplerParameterBase(context, sampler, pname, -1, true, params); in ValidateSamplerParameteriv()
4600 bool ValidateSamplerParameterIivOES(const Context *context, in ValidateSamplerParameterIivOES() argument
4605 if (context->getClientMajorVersion() < 3) in ValidateSamplerParameterIivOES()
4607 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateSamplerParameterIivOES()
4610 return ValidateSamplerParameterBase(context, sampler, pname, -1, true, params); in ValidateSamplerParameterIivOES()
4613 bool ValidateSamplerParameterIuivOES(const Context *context, in ValidateSamplerParameterIuivOES() argument
4618 if (context->getClientMajorVersion() < 3) in ValidateSamplerParameterIuivOES()
4620 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateSamplerParameterIuivOES()
4623 return ValidateSamplerParameterBase(context, sampler, pname, -1, true, params); in ValidateSamplerParameterIuivOES()
4626 bool ValidateGetVertexAttribIiv(const Context *context, in ValidateGetVertexAttribIiv() argument
4631 return ValidateGetVertexAttribBase(context, index, pname, nullptr, false, true); in ValidateGetVertexAttribIiv()
4634 bool ValidateGetVertexAttribIuiv(const Context *context, in ValidateGetVertexAttribIuiv() argument
4639 return ValidateGetVertexAttribBase(context, index, pname, nullptr, false, true); in ValidateGetVertexAttribIuiv()
4642 bool ValidateGetInternalformativ(const Context *context, in ValidateGetInternalformativ() argument
4649 return ValidateGetInternalFormativBase(context, target, internalformat, pname, bufSize, in ValidateGetInternalformativ()
4653 bool ValidateBindFragDataLocationIndexedEXT(const Context *context, in ValidateBindFragDataLocationIndexedEXT() argument
4659 if (!context->getExtensions().blendFuncExtended) in ValidateBindFragDataLocationIndexedEXT()
4661 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateBindFragDataLocationIndexedEXT()
4664 if (context->getClientMajorVersion() < 3) in ValidateBindFragDataLocationIndexedEXT()
4666 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateBindFragDataLocationIndexedEXT()
4674 context->validationError(GL_INVALID_VALUE, kFragDataBindingIndexOutOfRange); in ValidateBindFragDataLocationIndexedEXT()
4679 if (colorNumber >= context->getExtensions().maxDualSourceDrawBuffers) in ValidateBindFragDataLocationIndexedEXT()
4681 context->validationError(GL_INVALID_VALUE, in ValidateBindFragDataLocationIndexedEXT()
4688 if (colorNumber >= static_cast<GLuint>(context->getCaps().maxDrawBuffers)) in ValidateBindFragDataLocationIndexedEXT()
4690 context->validationError(GL_INVALID_VALUE, kColorNumberGreaterThanMaxDrawBuffers); in ValidateBindFragDataLocationIndexedEXT()
4694 Program *programObject = GetValidProgram(context, program); in ValidateBindFragDataLocationIndexedEXT()
4702 bool ValidateBindFragDataLocationEXT(const Context *context, in ValidateBindFragDataLocationEXT() argument
4707 return ValidateBindFragDataLocationIndexedEXT(context, program, colorNumber, 0u, name); in ValidateBindFragDataLocationEXT()
4710 bool ValidateGetFragDataIndexEXT(const Context *context, ShaderProgramID program, const char *name) in ValidateGetFragDataIndexEXT() argument
4712 if (!context->getExtensions().blendFuncExtended) in ValidateGetFragDataIndexEXT()
4714 context->validationError(GL_INVALID_OPERATION, kExtensionNotEnabled); in ValidateGetFragDataIndexEXT()
4717 if (context->getClientMajorVersion() < 3) in ValidateGetFragDataIndexEXT()
4719 context->validationError(GL_INVALID_OPERATION, kES3Required); in ValidateGetFragDataIndexEXT()
4722 Program *programObject = GetValidProgram(context, program); in ValidateGetFragDataIndexEXT()
4729 context->validationError(GL_INVALID_OPERATION, kProgramNotLinked); in ValidateGetFragDataIndexEXT()
4735 bool ValidateTexStorage2DMultisampleANGLE(const Context *context, in ValidateTexStorage2DMultisampleANGLE() argument
4743 if (!context->getExtensions().textureMultisample) in ValidateTexStorage2DMultisampleANGLE()
4745 context->validationError(GL_INVALID_OPERATION, kMultisampleTextureExtensionOrES31Required); in ValidateTexStorage2DMultisampleANGLE()
4749 return ValidateTexStorage2DMultisampleBase(context, target, samples, internalFormat, width, in ValidateTexStorage2DMultisampleANGLE()
4753 bool ValidateGetTexLevelParameterfvANGLE(const Context *context, in ValidateGetTexLevelParameterfvANGLE() argument
4759 if (!context->getExtensions().textureMultisample && in ValidateGetTexLevelParameterfvANGLE()
4760 !context->getExtensions().getTexLevelParameterANGLE) in ValidateGetTexLevelParameterfvANGLE()
4762 context->validationError( in ValidateGetTexLevelParameterfvANGLE()
4768 return ValidateGetTexLevelParameterBase(context, target, level, pname, nullptr); in ValidateGetTexLevelParameterfvANGLE()
4771 bool ValidateGetTexLevelParameterivANGLE(const Context *context, in ValidateGetTexLevelParameterivANGLE() argument
4777 if (!context->getExtensions().textureMultisample && in ValidateGetTexLevelParameterivANGLE()
4778 !context->getExtensions().getTexLevelParameterANGLE) in ValidateGetTexLevelParameterivANGLE()
4780 context->validationError( in ValidateGetTexLevelParameterivANGLE()
4786 return ValidateGetTexLevelParameterBase(context, target, level, pname, nullptr); in ValidateGetTexLevelParameterivANGLE()
4789 bool ValidateGetMultisamplefvANGLE(const Context *context, in ValidateGetMultisamplefvANGLE() argument
4794 if (!context->getExtensions().textureMultisample) in ValidateGetMultisamplefvANGLE()
4796 context->validationError(GL_INVALID_OPERATION, kMultisampleTextureExtensionOrES31Required); in ValidateGetMultisamplefvANGLE()
4800 return ValidateGetMultisamplefvBase(context, pname, index, val); in ValidateGetMultisamplefvANGLE()
4803 bool ValidateSampleMaskiANGLE(const Context *context, GLuint maskNumber, GLbitfield mask) in ValidateSampleMaskiANGLE() argument
4805 if (!context->getExtensions().textureMultisample) in ValidateSampleMaskiANGLE()
4807 context->validationError(GL_INVALID_OPERATION, kMultisampleTextureExtensionOrES31Required); in ValidateSampleMaskiANGLE()
4811 return ValidateSampleMaskiBase(context, maskNumber, mask); in ValidateSampleMaskiANGLE()