1 // 2 // Copyright 2017 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // ErrorStrings.h: Contains mapping of commonly used error messages 8 9 #ifndef LIBANGLE_ERRORSTRINGS_H_ 10 #define LIBANGLE_ERRORSTRINGS_H_ 11 12 namespace gl 13 { 14 namespace err 15 { 16 #define MSG constexpr const char * 17 18 // clang-format off 19 MSG k3DDepthStencil = "Format cannot be GL_DEPTH_COMPONENT or GL_DEPTH_STENCIL if target is GL_TEXTURE_3D"; 20 MSG kANGLECopyTexture3DUnavailable = "GL_ANGLE_copy_texture_3d extension not available."; 21 MSG kAdvancedBlendEquationWithMRT = "Advanced blend equation can only be used when only one draw buffer is not NONE"; 22 MSG kAdvancedBlendExtensionNotEnabled = "GL_KHR_blend_equation_advanced extension not enabled."; 23 MSG kAtomicCounterResourceName = "Active atomic counter resources are not assigned name strings."; 24 MSG kAttributeListNotNull = "Attribute list must be NULL or GL_NONE"; 25 MSG kAttributeZeroRequiresDivisorLimitation = "The current context doesn't support setting a non-zero divisor on the attribute with index zero. Please reorder the attributes in your vertex shader so that attribute zero can have a zero divisor."; 26 MSG kBaseLevelNegative = "Base level must be at least 0."; 27 MSG kBaseLevelNonZero = "Base level must be 0."; 28 MSG kBaseLevelOutOfRange = "Texture base level out of range"; 29 MSG kBlendEquationNotEnabled = "Active fragment shader does not include the layout qualifier matching the blend equation"; 30 MSG kBlitDepthOrStencilFormatMismatch = "Depth/stencil buffer format combination not allowed for blit."; 31 MSG kBlitDimensionsOutOfRange = "BlitFramebuffer dimensions out of 32-bit integer range."; 32 MSG kBlitExtensionDepthStencilWholeBufferBlit = "Only whole-buffer depth and stencil blits are supported by this extension."; 33 MSG kBlitExtensionFormatMismatch = "Attempting to blit and the read and draw buffer formats don't match. read: 0x%04X draw: 0x%04X"; 34 MSG kBlitExtensionFromInvalidAttachmentType = "Blits are only supported from 2D texture, renderbuffer or default framebuffer attachments in this extension."; 35 MSG kBlitExtensionLinear = "Linear blit not supported in this extension."; 36 MSG kBlitExtensionMultisampledDepthOrStencil = "Multisampled depth/stencil blit is not supported by this extension."; 37 MSG kBlitExtensionMultisampledWholeBufferBlit = "Only whole-buffer blit is supported from a multisampled read buffer in this extension."; 38 MSG kBlitExtensionNotAvailable = "Blit extension not available."; 39 MSG kBlitExtensionScaleOrFlip = "Scaling and flipping in BlitFramebufferANGLE not supported by this implementation."; 40 MSG kBlitExtensionToInvalidAttachmentType = "Blits are only supported to 2D texture, renderbuffer or default framebuffer attachments in this extension."; 41 MSG kBlitFeedbackLoop = "Blit feedback loop: the read and draw framebuffers are the same."; 42 MSG kBlitFramebufferMissing = "Read and draw framebuffers must both exist for a blit to succeed."; 43 MSG kBlitFromMultiview = "Attempt to read from a multi-view framebuffer."; 44 MSG kBlitIntegerWithLinearFilter = "Cannot use GL_LINEAR filter when blitting a integer framebuffer."; 45 MSG kBlitInvalidFilter = "Invalid blit filter."; 46 MSG kBlitInvalidMask = "Invalid blit mask."; 47 MSG kBlitMissingColor = "Attempt to read from a missing color attachment of a complete framebuffer."; 48 MSG kBlitMissingDepthOrStencil = "Attempt to read from a missing depth/stencil attachment of a complete framebuffer."; 49 MSG kBlitMultisampledBoundsMismatch = "Attempt to blit from a multisampled framebuffer and the bounds don't match with the draw framebuffer."; 50 MSG kBlitMultisampledFormatOrBoundsMismatch = "Attempt to blit from a multisampled framebuffer and the bounds or format of the color buffer don't match with the draw framebuffer."; 51 MSG kBlitOnlyNearestForNonColor = "Only nearest filtering can be used when blitting buffers other than the color buffer."; 52 MSG kBlitSameImageColor = "Read and write color attachments cannot be the same image."; 53 MSG kBlitSameImageDepthOrStencil = "Read and write depth stencil attachments cannot be the same image."; 54 MSG kBlitToMultiview = "Attempt to write to a multi-view framebuffer."; 55 MSG kBlitTypeMismatchFixedOrFloat = "If the read buffer contains fixed-point or floating-point values, the draw buffer must as well."; 56 MSG kBlitTypeMismatchFixedPoint = "If the read buffer contains fixed-point values, the draw buffer must as well."; 57 MSG kBlitTypeMismatchSignedInteger = "If the read buffer contains signed integer values the draw buffer must as well."; 58 MSG kBlitTypeMismatchUnsignedInteger = "If the read buffer contains unsigned integer values the draw buffer must as well."; 59 MSG kBlitYUVFramebuffer = "Blitting to or from a YUV framebuffer is disallowed."; 60 MSG kBufferAlreadyMapped = "Buffer is already mapped."; 61 MSG kBufferBoundForTransformFeedback = "Buffer is bound for transform feedback."; 62 MSG kBufferImmutable = "Buffer is immutable."; 63 MSG kBufferMapped = "An active buffer is mapped"; 64 MSG kBufferNotBound = "A buffer must be bound."; 65 MSG kBufferNotMappable = "Attempted to map buffer object zero."; 66 MSG kBufferNotMapped = "Buffer is not mapped."; 67 MSG kBufferNotUpdatable = "Buffer is not updatable."; 68 MSG kBufferOffsetOverflow = "Buffer offset overflow."; 69 MSG kBufferPointerNotAvailable = "Can not get pointer for reserved buffer name zero."; 70 MSG kCannotPopDefaultDebugGroup = "Cannot pop the default debug group."; 71 MSG kClientBufferInvalid = "Size must not exceed the size of clientbuffer"; 72 MSG kClientDataInVertexArray = "Client data cannot be used with a non-default vertex array object."; 73 MSG kColorNumberGreaterThanMaxDrawBuffers = "Color number for primary color greater than or equal to MAX_DRAW_BUFFERS"; 74 MSG kColorNumberGreaterThanMaxDualSourceDrawBuffers = "Color number for secondary color greater than or equal to MAX_DUAL_SOURCE_DRAW_BUFFERS"; 75 MSG kCompressedDataSizeTooSmall = "dataSize is too small"; 76 MSG kCompressedMismatch = "Compressed data is valid if-and-only-if the texture is compressed."; 77 MSG kCompressedTextureDimensionsMustMatchData = "Compressed texture dimensions must exactly match the dimensions of the data passed in."; 78 MSG kCompressedTexturesNotAttachable = "Compressed textures cannot be attached to a framebuffer."; 79 MSG kConstantColorAlphaLimitation = "Simultaneous use of GL_CONSTANT_ALPHA/GL_ONE_MINUS_CONSTANT_ALPHA and GL_CONSTANT_COLOR/GL_ONE_MINUS_CONSTANT_COLOR as color factors is not supported by this implementation."; 80 MSG kContextLost = "Context has been lost."; 81 MSG kCopyAlias = "The read and write copy regions alias memory."; 82 MSG kCopyFromYUVFramebuffer = "Copying from a YUV framebuffer is disallowed."; 83 MSG kCubemapFacesEqualDimensions = "Each cubemap face must have equal width and height."; 84 MSG kCubemapIncomplete = "Texture is not cubemap complete. All cubemaps faces must be defined and be the same size."; 85 MSG kCubemapInvalidDepth = "The cubemap depth must be a multiple of 6."; 86 MSG kDataTypeNotAligned = "Data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type."; 87 MSG kDefaultFramebuffer = "Default framebuffer is bound."; 88 MSG kDefaultFramebufferAttachmentOnUserFBO = "Invalid attachment when a user framebuffer is bound."; 89 MSG kDefaultFramebufferInvalidAttachment = "Invalid attachment when the default framebuffer is bound."; 90 MSG kDefaultFramebufferInvalidDrawBuffer = "Only NONE or BACK are valid draw buffers for the default framebuffer"; 91 MSG kDefaultFramebufferTarget = "It is invalid to change default FBO's attachments"; 92 MSG kDefaultVertexArray = "Default vertex array object is bound."; 93 MSG kDestinationImmutable = "Destination texture cannot be immutable."; 94 MSG kDestinationLevelNotDefined = "The destination level of the destination texture must be defined."; 95 MSG kDestinationTextureTooSmall = "Destination texture too small."; 96 MSG kDimensionsMustBePow2 = "Texture dimensions must be power-of-two."; 97 MSG kDispatchIndirectBufferNotBound = "Dispatch indirect buffer must be bound."; 98 MSG kDrawBufferMaskMismatch = "Active draw buffers with missing fragment shader outputs."; 99 MSG kDrawBuffersIndexedExtensionNotAvailable = "EXT/OES_draw_buffers_indexed is not available."; 100 MSG kES31OrDrawBuffersIndexedExtensionNotAvailable = "EXT/OES_draw_buffers_indexed or ES 3.1 are required but not available."; 101 MSG kDrawBufferTypeMismatch = "Fragment shader output type does not match the bound framebuffer attachment type."; 102 MSG kDrawFramebufferIncomplete = "Draw framebuffer is incomplete"; 103 MSG kDrawIndirectBufferNotBound = "Draw indirect buffer must be bound."; 104 MSG kEGLImageCannotCreate2DMultisampled = "Cannot create a 2D texture from a multisampled EGL image."; 105 MSG kEGLImageRenderbufferFormatNotSupported = "EGL image internal format is not supported as a renderbuffer."; 106 MSG kEGLImageTextureFormatNotSupported = "EGL image internal format is not supported as a texture."; 107 MSG kEGLImageTextureTargetMismatch = "The source EGL image is incompatible with the target texture type."; 108 MSG kElementArrayBufferBoundForTransformFeedback = "It is undefined behavior to use an element array buffer that is bound for transform feedback."; 109 MSG kElementArrayNoBufferOrPointer = "No element array buffer and no pointer."; 110 MSG kEnumNotSupported = "Enum is not currently supported."; 111 MSG kEnumRequiresGLES30 = "Enum requires GLES 3.0"; 112 MSG kEnumRequiresGLES31 = "Enum requires GLES 3.1"; 113 MSG kES1or32Required = "OpenGL ES 1.x or 3.2 Required"; 114 MSG kES31Required = "OpenGL ES 3.1 Required"; 115 MSG kES32Required = "OpenGL ES 3.2 Required"; 116 MSG kES3Required = "OpenGL ES 3.0 Required."; 117 MSG kExceedsComputeWorkGroupCountX = "num_groups_x cannot be greater than MAX_COMPUTE_WORK_GROUP_COUNT[0]"; 118 MSG kExceedsComputeWorkGroupCountY = "num_groups_y cannot be greater than MAX_COMPUTE_WORK_GROUP_COUNT[1]"; 119 MSG kExceedsComputeWorkGroupCountZ = "num_groups_z cannot be greater than MAX_COMPUTE_WORK_GROUP_COUNT[2]"; 120 MSG kExceedsElementRange = "Element value exceeds element range."; 121 MSG kExceedsFramebufferHeight = "Params less than 0 or greater than GL_MAX_FRAMEBUFFER_HEIGHT."; 122 MSG kExceedsFramebufferSamples = "Params less than 0 or greater than GL_MAX_FRAMEBUFFER_SAMPLES."; 123 MSG kExceedsFramebufferWidth = "Params less than 0 or greater than GL_MAX_FRAMEBUFFER_WIDTH."; 124 MSG kExceedsMaxColorAttachments = "Index is greater than the maximum supported color attachments"; 125 MSG kExceedsMaxDebugGroupStackDepth = "Cannot push more than GL_MAX_DEBUG_GROUP_STACK_DEPTH debug groups."; 126 MSG kExceedsMaxDebugMessageLength = "Message length is larger than GL_MAX_DEBUG_MESSAGE_LENGTH."; 127 MSG kExceedsMaxDrawBuffers = "Draw buffer greater than MAX_DRAW_BUFFERS."; 128 MSG kExceedsMaxElement = "Element value exceeds maximum element index."; 129 MSG kExceedsMaxImageUnits = "Index must be within [0, MAX_IMAGE_UNITS)."; 130 MSG kExceedsMaxLabelLength = "Label length is larger than GL_MAX_LABEL_LENGTH."; 131 MSG kExceedsMaxShaderStorageBufferBindings = "Index must be within [0, MAX_SHADER_STORAGE_BUFFER_BINDINGS)."; 132 MSG kExceedsMaxVertexAttribBindings = "Index must be within [0, MAX_VERTEX_ATTRIB_BINDINGS)."; 133 MSG kExceedsMaxVertexAttribStride = "Stride must be within [0, MAX_VERTEX_ATTRIB_STRIDE)."; 134 MSG kExceedsNumExtensions = "Index must be within [0, NUM_EXTENSIONS)."; 135 MSG kExceedsNumRequestableExtensions = "Index must be within [0, NUM_REQUESTABLE_EXTENSIONS_ANGLE)."; 136 MSG kExpectedProgramName = "Expected a program name, but found a shader name."; 137 MSG kExpectedShaderName = "Expected a shader name, but found a program name."; 138 MSG kExtensionNotEnabled = "Extension is not enabled."; 139 MSG kExtensionNotDisablable = "Extension is not disablable."; 140 MSG kExtensionNotRequestable = "Extension is not requestable."; 141 MSG kExternalBufferInvalidOffset = "Offset must be zero for external buffers"; 142 MSG kExternalTextureAttachmentNotYUV = "External texture attached to framebuffer is not YUV."; 143 MSG kExternalTextureNotSupported = "External texture extension not enabled"; 144 MSG kFeedbackLoop = "Feedback loop formed between Framebuffer and active Texture."; 145 MSG kFixedNotInWebGL = "GL_FIXED is not supported in WebGL."; 146 MSG kFormatNotRenderable = "Internal format is not renderable."; 147 MSG kFragDataBindingIndexOutOfRange = "Fragment output color index must be zero or one."; 148 MSG kFragmentInputTypeNotFloatingPoint = "Fragment input type is not a floating point scalar or vector."; 149 MSG kFramebufferIncomplete = "Framebuffer is incomplete."; 150 MSG kFramebufferIncompleteAttachment = "Attachment type must be compatible with attachment object."; 151 MSG kFramebufferIncompleteAttachmentDepthGreaterThanMaxLayers = "Framebuffer is incomplete: Attachment depth is greater than MAX_FRAMEBUFFER_LAYERS."; 152 MSG kFramebufferIncompleteAttachmentInconsistantBitPlanes = "Framebuffer is incomplete: Attachments have inconsistent bit plane counts."; 153 MSG kFramebufferIncompleteAttachmentLayerGreaterThanDepth = "Framebuffer is incomplete: Attachment layer is greater than texture layer count."; 154 MSG kFramebufferIncompleteAttachmentLevelNotBaseLevelForIncompleteMipTexture = "Framebuffer is incomplete: Attachment level not equal to the base level and the texture is not mipmap complete."; 155 MSG kFramebufferIncompleteAttachmentLevelOutOfBaseMaxLevelRange = "Framebuffer is incomplete: Attachment level is not in the [base level, max level] range."; 156 MSG kFramebufferIncompleteAttachmentNoDepthBitsInDepthBuffer = "Framebuffer is incomplete: Depth attachment has no depth bits."; 157 MSG kFramebufferIncompleteAttachmentNoStencilBitsInStencilBuffer = "Framebuffer is incomplete: Stencil attachment has no stencil bits."; 158 MSG kFramebufferIncompleteAttachmentNotCubeComplete = "Framebuffer is incomplete: Attachment is an incomplete cube map."; 159 MSG kFramebufferIncompleteAttachmentNotRenderable = "Framebuffer is incomplete: Attachment is not renderable."; 160 MSG kFramebufferIncompleteAttachmentSamplesGreaterThanMaxSupportedSamples = "Framebuffer is incomplete: Attachment samples are greater than the maximum supported samples for this format."; 161 MSG kFramebufferIncompleteAttachmentsNotUnique = "Framebuffer is incomplete: All attachments must be unique."; 162 MSG kFramebufferIncompleteAttachmentWebGLDepthBufferHasStencilBits = "Framebuffer is incomplete: Stencil attachment has depth bits."; 163 MSG kFramebufferIncompleteAttachmentWebGLDepthStencilNoDepthOrStencilBits = "Framebuffer is incomplete: Depth stencil attachment has no depth bits or no stencil bits."; 164 MSG kFramebufferIncompleteAttachmentWebGLStencilBufferHasDepthBits = "Framebuffer is incomplete: Stencil attachment has depth bits."; 165 MSG kFramebufferIncompleteAttachmentZeroSize = "Framebuffer is incomplete: Attachment has zero size."; 166 MSG kFramebufferIncompleteDefaultZeroSize = "Framebuffer is incomplete: No attachments and default size is zero."; 167 MSG kFramebufferIncompleteDepthAndStencilBuffersNotTheSame = "Framebuffer is incomplete: Depth and stencil attachments are not the same."; 168 MSG kFramebufferIncompleteDepthStencilInColorBuffer = "Framebuffer is incomplete: Depth stencil texture in color attachment."; 169 MSG kFramebufferIncompleteDriverUnsupported = "Framebuffer is incomplete: Driver does not support this framebuffer configuration."; 170 MSG kFramebufferIncompleteInconsistantAttachmentSizes = "Framebuffer is incomplete: Attachments are not all the same size."; 171 MSG kFramebufferIncompleteInternalError = "Framebuffer is incomplete: Internal error."; 172 MSG kFramebufferIncompleteMismatchedLayeredAttachments = "Framebuffer is incomplete: If one attachment is layered, all must be layered."; 173 MSG kFramebufferIncompleteMismatchedLayeredTexturetypes = "Framebuffer is incomplete: If an attachments are layered, they must all be the same texture type."; 174 MSG kFramebufferIncompleteMultisampleDepthStencilSampleCountDivisibleByColorSampleCount = "Framebuffer is incomplete: Depth stencil sample count must be divisible by the color sample count."; 175 MSG kFramebufferIncompleteMultisampleInconsistentFixedSampleLocations = "Framebuffer is incomplete: Attachments have inconsistent fixed sample locations."; 176 MSG kFramebufferIncompleteMultisampleInconsistentSampleCounts = "Framebuffer is incomplete: Attachments have different sample counts."; 177 MSG kFramebufferIncompleteMultisampleNonFixedSamplesWithRenderbuffers = "Framebuffer is incomplete: All textures must have fixed samples if paired with multisample renderbuffers."; 178 MSG kFramebufferIncompleteMultiviewBaseViewMismatch = "Framebuffer is incomplete: Attachments have inconsistent multiview base view."; 179 MSG kFramebufferIncompleteMultiviewMismatch = "Framebuffer is incomplete: Attachments have inconsistent multiview enabled state."; 180 MSG kFramebufferIncompleteMultiviewViewsMismatch = "Framebuffer is incomplete: Attachments have inconsistent multiview view counts."; 181 MSG kFramebufferIncompleteSurfaceless = "Framebuffer is incomplete: Framebuffer is surfaceless."; 182 MSG kFramebufferIncompleteUnsupportedMissmatchedDimensions = "Framebuffer is incomplete: Mismatched attachment sizes are unsupported."; 183 MSG kFramebufferIncompleteUnsupportedNonUniqueAttachments = "Framebuffer is incomplete: Non-unique attachments are unsupported."; 184 MSG kFramebufferIncompleteUnsupportedSeparateDepthStencilBuffers = "Framebuffer is incomplete: Separate depth and stencil buffers are unsupported."; 185 MSG kFramebufferIncompleteWebGLDepthStencilInconsistant = "Framebuffer is incomplete: WebGL depth stencil state is inconsistent."; 186 MSG kFramebufferTextureInvalidLayer = "Layer invalid for framebuffer texture attachment."; 187 MSG kFramebufferTextureInvalidMipLevel = "Mip level invalid for framebuffer texture attachment."; 188 MSG kFramebufferTextureLayerIncorrectTextureType = "Texture is not a three-dimensional, two-dimensional array, two-dimensional multisample array, cube map, or cube map array texture."; 189 MSG kGenerateMipmapNotAllowed = "Texture format does not support mipmap generation."; 190 MSG kGenerateMipmapZeroSize = "Cannot generate mipmaps for a zero-size texture in a WebGL context."; 191 MSG kGeometryShaderExtensionNotEnabled = "GL_EXT_geometry_shader or GL_OES_geometry_shader extension not enabled."; 192 MSG kGetImageExtensionNotEnabled = "GL_ANGLE_get_image extension not enabled."; 193 MSG kGetImageCompressed = "Texture is compressed, call GetCompressedTexImage instead."; 194 MSG kGetImageNotCompressed = "Texture is not compressed, call GetTexImage instead."; 195 MSG kGLES1Only = "GLES1-only function."; 196 MSG kImageSizeMustBeZero = "imageSize must be 0 if no texture data is provided."; 197 MSG kImageSizeTooSmall = "imageSize is too small."; 198 MSG kImmutableMemoryObject = "The memory object is immutable."; 199 MSG kImmutableTextureBound = "The value of TEXTURE_IMMUTABLE_FORMAT for the texture currently bound to target on the active texture unit is true."; 200 MSG kIncompatibleDrawModeAgainstGeometryShader = "Primitive mode is incompatible with the input primitive type of the geometry shader."; 201 MSG kIncompatibleDrawModeWithTessellationShader = "When tessellation is active the primitive mode must be GL_PATCHES."; 202 MSG kIncompatibleDrawModeWithoutTessellationShader = "When tessellation is not active the primitive mode must not be GL_PATCHES."; 203 MSG kIncompatibleTextures = "Texture formats are not compatible"; 204 MSG kIndexExceedsActiveUniformBlockCount = "Index exceeds active uniform block count."; 205 MSG kIndexExceedsMaxActiveUniform = "Index must be less than program active uniform count."; 206 MSG kIndexExceedsMaxActiveUniformBlock = "Index must be less than program active uniform block count."; 207 MSG kIndexExceedsMaxAtomicCounterBufferBindings = "Index must be less than MAX_ATOMIC_COUNTER_BUFFER_BINDINGS."; 208 MSG kIndexExceedsMaxDrawBuffer = "Index must be less than MAX_DRAW_BUFFERS."; 209 MSG kIndexExceedsMaxTransformFeedbackAttribs = "Index must be less than MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS."; 210 MSG kIndexExceedsMaxUniformBufferBindings = "Index must be less than MAX_UNIFORM_BUFFER_BINDINGS."; 211 MSG kIndexExceedsMaxVertexAttribute = "Index must be less than MAX_VERTEX_ATTRIBS."; 212 MSG kIndexExceedsMaxWorkgroupDimensions = "Index must be less than the number of workgroup dimensions (3)."; 213 MSG kIndexExceedsSamples = "Index must be less than the value of SAMPLES."; 214 MSG kIndexExceedsTransformFeedbackBufferBindings = "Index is greater than or equal to the number of TRANSFORM_FEEDBACK_BUFFER indexed binding points."; 215 MSG kInsufficientBufferSize = "Insufficient buffer size."; 216 MSG kInsufficientParams = "More parameters are required than were provided."; 217 MSG kInsufficientVertexBufferSize = "Vertex buffer is not big enough for the draw call"; 218 MSG kIntegerOverflow = "Integer overflow."; 219 MSG kInternalFormatRequiresTexture2D = "internalformat is an ETC1 or PVRTC1 format."; 220 MSG kInternalFormatRequiresTexture2DArray = "internalformat is an ETC2/EAC format and target is not GL_TEXTURE_2D_ARRAY."; 221 MSG kInternalFormatRequiresTexture2DArrayS3TC = "internalformat is an S3TC format and target is not GL_TEXTURE_2D_ARRAY."; 222 MSG kInternalFormatRequiresTexture2DArrayRGTC = "internalformat is an RGTC format and target is not GL_TEXTURE_2D_ARRAY."; 223 MSG kInternalFormatRequiresTexture2DArrayBPTC = "internalformat is a BPTC format and target is not GL_TEXTURE_2D_ARRAY."; 224 MSG kInternalFormatRequiresTexture2DArrayASTC = "internalformat is an ASTC format and target is not GL_TEXTURE_2D_ARRAY."; 225 MSG kInvalidAccessBits = "Invalid access bits."; 226 MSG kInvalidAccessBitsFlush = "The explicit flushing bit may only be set if the buffer is mapped for writing."; 227 MSG kInvalidAccessBitsRead = "Invalid access bits when mapping buffer for reading"; 228 MSG kInvalidAccessBitsReadWrite = "Need to map buffer for either reading or writing."; 229 MSG kInvalidAttachment = "Invalid Attachment Type."; 230 MSG kInvalidBindBufferSize = "Invalid buffer binding size."; 231 MSG kInvalidBindUniformLocation = "Location must be less than (MAX_VERTEX_UNIFORM_VECTORS + MAX_FRAGMENT_UNIFORM_VECTORS) * 4"; 232 MSG kInvalidBlendEquation = "Invalid blend equation."; 233 MSG kInvalidBlendFunction = "Invalid blend function."; 234 MSG kInvalidBlendStateForYUV = "Blending must be disabled when writing to YUV framebuffers."; 235 MSG kInvalidBooleanValue = "Invalid boolean value. Must be GL_FALSE or GL_TRUE."; 236 MSG kInvalidBorder = "Border must be 0."; 237 MSG kInvalidBufferName = "name is not a valid buffer."; 238 MSG kInvalidBufferTypes = "Invalid buffer target."; 239 MSG kInvalidBufferUsage = "Invalid buffer usage enum."; 240 MSG kInvalidBufferUsageFlags = "Invalid buffer usage flags."; 241 MSG kInvalidClearMask = "Invalid mask bits."; 242 MSG kInvalidClientState = "Invalid client vertex array type."; 243 MSG kInvalidClipPlane = "Invalid clip plane."; 244 MSG kInvalidColorMaskForYUV = "Red, green and blue color writes must be enabled when writing to YUV framebuffers."; 245 MSG kInvalidCombinedImageUnit = "Specified unit must be in [GL_TEXTURE0, GL_TEXTURE0 + GL_MAX_COMBINED_IMAGE_UNITS)"; 246 MSG kInvalidComponents = "Invalid components."; 247 MSG kInvalidCompressedFormat = "Not a valid compressed texture format."; 248 MSG kInvalidCompressedImageSize = "Invalid compressed image size."; 249 MSG kInvalidCompressedRegionSize = "Invalid region for compressed texture format."; 250 MSG kInvalidConstantColor = "CONSTANT_COLOR (or ONE_MINUS_CONSTANT_COLOR) and CONSTANT_ALPHA (or ONE_MINUS_CONSTANT_ALPHA) cannot be used together as source and destination color factors in the blend function."; 251 MSG kInvalidCopyCombination = "Invalid copy texture format combination."; 252 MSG kInvalidCoverageComponents = "components is not one of GL_RGB, GL_RGBA, GL_ALPHA or GL_NONE."; 253 MSG kInvalidCoverMode = "Invalid cover mode."; 254 MSG kInvalidExternalCreateFlags = "Create flags must only include bits defined by GL_ANGLE_external_objects_flags"; 255 MSG kInvalidCullMode = "Cull mode not recognized."; 256 MSG kInvalidDebugSeverity = "Invalid debug severity."; 257 MSG kInvalidDebugSource = "Invalid debug source."; 258 MSG kInvalidDebugSourceType = "If count is greater than zero, source and type cannot be GL_DONT_CARE."; 259 MSG kInvalidDebugType = "Invalid debug type."; 260 MSG kInvalidDefaultReadBuffer = "Read buffer must be GL_NONE or GL_BACK when reading from the default framebuffer."; 261 MSG kInvalidDepthEnum = "Invalid depth enum."; 262 MSG kInvalidDepthRange = "Near value cannot be greater than far."; 263 MSG kInvalidDepthStencilDrawBuffer = "Draw buffer must be zero when using depth or stencil."; 264 MSG kInvalidDestinationTexture = "Destination texture is not a valid texture object."; 265 MSG kInvalidDestinationTextureType = "Invalid destination texture type."; 266 MSG kInvalidDrawBuffer = "Invalid draw buffer."; 267 MSG kInvalidDrawBufferCountForDefault = "The default framebuffer must have exactly one draw buffer."; 268 MSG kInvalidDrawBufferValue = "Ith value does not match COLOR_ATTACHMENTi or NONE."; 269 MSG kInvalidDrawMode = "Invalid draw mode."; 270 MSG kInvalidDrawModeTransformFeedback = "Draw mode must match current transform feedback object's draw mode."; 271 MSG kInvalidEGLImage = "EGL image is not valid."; 272 MSG kInvalidElementRange = "Invalid element range."; 273 MSG kInvalidEmulatedFormat = "Implementation format is emulated."; 274 MSG kInvalidFence = "Invalid fence object."; 275 MSG kInvalidFenceCondition = "Invalid value for condition."; 276 MSG kInvalidFenceState = "Fence must be set."; 277 MSG kInvalidFillMode = "Invalid fill mode."; 278 MSG kInvalidFilterTexture = "Texture only supports NEAREST and LINEAR filtering."; 279 MSG kInvalidFlags = "Invalid value for flags."; 280 MSG kInvalidFlushOutOfRange = "Flushed range does not fit into buffer mapping dimensions."; 281 MSG kInvalidFlushTarget = "Attempted to flush a buffer not mapped for explicit flushing."; 282 MSG kInvalidFlushZero = "Attempted to flush buffer object zero."; 283 MSG kInvalidFogDensity = "Invalid fog density (must be nonnegative)."; 284 MSG kInvalidFogMode = "Invalid fog mode."; 285 MSG kInvalidFogParameter = "Invalid fog parameter."; 286 MSG kInvalidFormat = "Invalid format."; 287 MSG kInvalidFormatCombination = "Invalid combination of format, type and internalFormat."; 288 MSG kInvalidFragmentInputBinding = "No such binding."; 289 MSG kInvalidFramebufferAttachmentParameter = "Invalid parameter name for framebuffer attachment."; 290 MSG kInvalidFramebufferLayer = "Framebuffer layer cannot be less than 0 or greater than GL_MAX_FRAMEBUFFER_LAYERS_EXT."; 291 MSG kInvalidFramebufferName = "name is not a valid framebuffer."; 292 MSG kInvalidFramebufferTarget = "Invalid framebuffer target."; 293 MSG kInvalidFramebufferTextureLevel = "Mipmap level must be 0 when attaching a texture."; 294 MSG kInvalidHandleType = "Invalid handle type."; 295 MSG kInvalidImageAccess = "access is not one of the supported tokens."; 296 MSG kInvalidImageLayout = "Invalid image layout."; 297 MSG kInvalidImageFormat = "format is not one of supported image unit formats."; 298 MSG kInvalidIndentifier = "Invalid identifier."; 299 MSG kInvalidIndirectOffset = "indirect must be a multiple of the size of uint in basic machine units."; 300 MSG kInvalidInternalFormat = "Invalid internal format."; 301 MSG kInvalidLight = "Invalid light."; 302 MSG kInvalidLightModelParameter = "Invalid light model parameter."; 303 MSG kInvalidLightParameter = "Invalid light parameter."; 304 MSG kInvalidLogicOp = "Invalid logical operation."; 305 MSG kInvalidMapPointerQuery = "GL_BUFFER_MAP_POINTER can only be queried with GetBufferPointerv."; 306 MSG kInvalidMaterialFace = "Invalid material face."; 307 MSG kInvalidMaterialParameter = "Invalid material parameter."; 308 MSG kInvalidMatrixMode = "Invalid matrix mode."; 309 MSG kInvalidMemoryBarrierBit = "Invalid memory barrier bit."; 310 MSG kInvalidMemoryObject = "Invalid memory object."; 311 MSG kInvalidMemoryObjectParameter = "Invalid memory object parameter."; 312 MSG kInvalidMipLevel = "Level of detail outside of range."; 313 MSG kInvalidMipLevels = "Invalid level count."; 314 MSG kInvalidMultisampledFramebufferOperation = "Invalid operation on multisampled framebuffer"; 315 MSG kInvalidMultitextureUnit = "Specified unit must be in [GL_TEXTURE0, GL_TEXTURE0 + GL_MAX_TEXTURE_UNITS)"; 316 MSG kInvalidName = "Invalid name."; 317 MSG kInvalidNameCharacters = "Name contains invalid characters."; 318 MSG kInvalidOriginEnum = "Invalid origin enum."; 319 MSG kInvalidPackParametersForWebGL = "Invalid combination of pack parameters for WebGL."; 320 MSG kInvalidPerfMonitor = "Invalid perf monitor."; 321 MSG kInvalidPerfMonitorCounter = "Invalid perf monitor counter."; 322 MSG kInvalidPerfMonitorGroup = "Invalid perf monitor counter group."; 323 MSG kInvalidPname = "Invalid pname."; 324 MSG kInvalidPointerQuery = "Invalid pointer query."; 325 MSG kInvalidPointParameter = "Invalid point parameter."; 326 MSG kInvalidPointParameterValue = "Invalid point parameter value (must be non-negative)."; 327 MSG kInvalidPointSizeValue = "Invalid point size (must be positive)."; 328 MSG kInvalidPrecision = "Invalid or unsupported precision type."; 329 MSG kInvalidPrimitiveMode = "Invalid primitive mode."; 330 MSG kInvalidProgramBinaryFormat = "Program binary format is not valid."; 331 MSG kInvalidProgramInterface = "Invalid program interface."; 332 MSG kInvalidProgramName = "Program object expected."; 333 MSG kInvalidProgramPipelineName = "name is not a valid program pipeline."; 334 MSG kInvalidProgramResourceIndex = "Invalid program resource index."; 335 MSG kInvalidProgramResourceProperty = "Invalid program resource property."; 336 MSG kInvalidProjectionMatrix = "Invalid projection matrix. Left/right, top/bottom, near/far intervals cannot be zero, and near/far cannot be less than zero."; 337 MSG kInvalidPropCount = "Invalid propCount."; 338 MSG kInvalidPropertyForProgramInterface = "Not an allowed program resource property for this program interface"; 339 MSG kInvalidProvokingVertex = "Invalid provoking vertex."; 340 MSG kInvalidQueryId = "Invalid query Id."; 341 MSG kInvalidQueryName = "name is not a valid query."; 342 MSG kInvalidQueryTarget = "Invalid query target."; 343 MSG kInvalidQueryType = "Invalid query type."; 344 MSG kInvalidRange = "Invalid range."; 345 MSG kInvalidReadBuffer = "Invalid read buffer"; 346 MSG kInvalidRenderbufferInternalFormat = "Invalid renderbuffer internalformat."; 347 MSG kInvalidRenderbufferName = "name is not a valid renderbuffer."; 348 MSG kInvalidRenderbufferTarget = "Invalid renderbuffer target."; 349 MSG kInvalidRenderbufferTextureParameter = "Invalid parameter name for renderbuffer attachment."; 350 MSG kInvalidRenderbufferWidthHeight = "Renderbuffer width and height cannot be negative and cannot exceed maximum texture size."; 351 MSG kInvalidResetStatus = "Reset status is not valid"; 352 MSG kInvalidSampleMaskNumber = "MaskNumber cannot be greater than or equal to the value of MAX_SAMPLE_MASK_WORDS."; 353 MSG kInvalidSampler = "Sampler is not valid"; 354 MSG kInvalidSamplerName = "name is not a valid sampler."; 355 MSG kInvalidShaderBinaryFormat = "Invalid shader binary format."; 356 MSG kInvalidShaderName = "Shader object expected."; 357 MSG kInvalidShaderType = "Invalid shader type."; 358 MSG kInvalidShadingModel = "Invalid shading model."; 359 MSG kInvalidSourceTexture = "Source texture is not a valid texture object."; 360 MSG kInvalidSourceTextureInternalFormat = "Source texture internal format is invalid."; 361 MSG kInvalidSourceTextureLevel = "Invalid source texture level."; 362 MSG kInvalidSourceTextureSize = "Invalid source texture height or width."; 363 MSG kInvalidSourceTextureType = "Source texture must be a valid texture type."; 364 MSG kInvalidStencil = "Invalid stencil."; 365 MSG kInvalidStencilBitMask = "Invalid stencil bit mask."; 366 MSG kInvalidSyncPointer = "Not a valid sync pointer."; 367 MSG kInvalidTarget = "Invalid target."; 368 MSG kInvalidTextureCombine = "Invalid texture combine mode."; 369 MSG kInvalidTextureCombineOp = "Invalid texture combine operand."; 370 MSG kInvalidTextureCombineSrc = "Invalid texture combine source."; 371 MSG kInvalidTextureEnvMode = "Invalid texture environment mode."; 372 MSG kInvalidTextureEnvParameter = "Invalid texture environment parameter."; 373 MSG kInvalidTextureEnvScale = "Invalid texture environment scale."; 374 MSG kInvalidTextureEnvTarget = "Invalid texture environment target."; 375 MSG kInvalidTextureFilterParam = "Texture filter not recognized."; 376 MSG kInvalidTextureLevel = "Texture level does not exist."; 377 MSG kInvalidTextureName = "Not a valid texture object name."; 378 MSG kInvalidTextureRange = "Cannot be less than 0 or greater than maximum number of textures."; 379 MSG kInvalidTextureTarget = "Invalid or unsupported texture target."; 380 MSG kInvalidTextureType = "Texture has incompatible target."; 381 MSG kInvalidTextureWrap = "Texture wrap mode not recognized."; 382 MSG kInvalidTimeout = "Invalid value for timeout."; 383 MSG kInvalidTransformation = "Invalid transformation."; 384 MSG kInvalidTransformFeedbackAttribsCount = "Count exceeds MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS."; 385 MSG kInvalidTransformFeedbackName = "name is not a valid transform feedback."; 386 MSG kInvalidType = "Invalid type."; 387 MSG kInvalidUniformCount = "Only array uniforms may have count > 1."; 388 MSG kInvalidUniformLocation = "Invalid uniform location"; 389 MSG kInvalidUnpackAlignment = "Unpack alignment must be 1, 2, 4 or 8."; 390 MSG kInvalidUnpackParametersForWebGL = "Invalid combination of unpack parameters for WebGL."; 391 MSG kInvalidExternalUsageFlags = "Usage flags must only include bits defined by GL_ANGLE_external_objects_flags"; 392 MSG kInvalidValueExceedsMaxPatchSize = "Value must be less than or equal to MAX_PATCH_SIZE."; 393 MSG kInvalidValueNonPositive = "Value must be greater than zero."; 394 MSG kInvalidVaryingLocation = "Location exceeds max varying."; 395 MSG kInvalidVertexArray = "Vertex array does not exist."; 396 MSG kInvalidVertexArrayName = "name is not a valid vertex array."; 397 MSG kInvalidVertexAttribSize2101010 = "Type is INT_2_10_10_10_REV or UNSIGNED_INT_2_10_10_10_REV and size is not 4."; 398 MSG kInvalidVertexAttribSize1010102 = "Type is INT_10_10_10_2_OES or UNSIGNED_INT_10_10_10_2_OES and size is not 3 or 4."; 399 MSG kInvalidVertexAttrSize = "Vertex attribute size must be 1, 2, 3, or 4."; 400 MSG kInvalidVertexPointerSize = "Size for built-in vertex attribute is outside allowed range."; 401 MSG kInvalidVertexPointerStride = "Invalid stride for built-in vertex attribute."; 402 MSG kInvalidVertexPointerType = "Invalid type for built-in vertex attribute."; 403 MSG kInvalidWidth = "Invalid width."; 404 MSG kInvalidWrapModeTexture = "Invalid wrap mode for texture type."; 405 MSG kInvalidZOffset = "zoffset is larger than MAX_3D_TEXTURE_SIZE-1"; 406 MSG kLengthZero = "Length must not be zero."; 407 MSG kLevelNotZero = "Texture level must be zero."; 408 MSG kLightParameterOutOfRange = "Light parameter out of range."; 409 MSG kMapOutOfRange = "Mapped range does not fit into buffer dimensions."; 410 MSG kMaterialParameterOutOfRange = "Material parameter out of range."; 411 MSG kMatrixStackOverflow = "Current matrix stack is full."; 412 MSG kMatrixStackUnderflow = "Current matrix stack has only a single matrix."; 413 MSG kMaxActiveVariablesInterface = "MAX_NUM_ACTIVE_VARIABLES requires a buffer or block interface."; 414 MSG kMismatchedFormat = "Format must match internal format."; 415 MSG kMismatchedTargetAndFormat = "Invalid texture target and format combination."; 416 MSG kMismatchedTypeAndFormat = "Invalid format and type combination."; 417 MSG kMismatchedVariableProgram = "Variable is not part of the current program."; 418 MSG kMissingName = "No name given."; 419 MSG kMissingReadAttachment = "Missing read attachment."; 420 MSG kMissingTexture = "No Texture is bound to the specified target."; 421 MSG kMissingTextureName = "texture is not the name of an existing texture object."; 422 MSG kMultisampleArrayExtensionRequired = "GL_ANGLE_texture_multisample_array not enabled."; 423 MSG kMultisampleTextureExtensionOrES31Required = "GL_ANGLE_texture_multisample or GLES 3.1 required."; 424 MSG kMultisampleTextureExtensionOrGetTexLevelParameterExtensionOrES31Required = "GL_ANGLE_texture_multisample, GL_ANGLE_get_tex_level_parameter or GLES 3.1 required."; 425 MSG kMultiviewActive = "The number of views in the active draw framebuffer is greater than 1."; 426 MSG kMultiviewMismatch = "The number of views in the active program and draw framebuffer does not match."; 427 MSG kMultiviewNotAvailable = "ANGLE_multiview is not available."; 428 MSG kMultiviewReadFramebuffer = "The active read framebuffer object has multiview attachments."; 429 MSG kMultiviewTimerQuery = "There is an active query for target GL_TIME_ELAPSED_EXT when the number of views in the active draw framebuffer is greater than 1."; 430 MSG kMultiviewTransformFeedback = "There is an active transform feedback object when the number of views in the active draw framebuffer is greater than 1."; 431 MSG kMultiviewViewsTooLarge = "numViews cannot be greater than GL_MAX_VIEWS_ANGLE."; 432 MSG kMultiviewViewsTooSmall = "numViews cannot be less than 1."; 433 MSG kMustHaveElementArrayBinding = "Must have element array buffer bound."; 434 MSG kNameBeginsWithGL = "Attributes that begin with 'gl_' are not allowed."; 435 MSG kNegativeAttachments = "Negative number of attachments."; 436 MSG kNegativeBaseViewIndex = "Negative baseViewIndex."; 437 MSG kNegativeBufferSize = "Negative buffer size."; 438 MSG kNegativeBufSize = "Invalid bufSize."; 439 MSG kNegativeCount = "Negative count."; 440 MSG kNegativeHeightWidthDepth = "Cannot have negative height, width, or depth."; 441 MSG kNegativeLayer = "Negative layer."; 442 MSG kNegativeLength = "Negative length."; 443 MSG kNegativeLevel = "Level is negative."; 444 MSG kNegativeLocation = "Location cannot be less than 0."; 445 MSG kNegativeMaxCount = "Negative maxcount."; 446 MSG kNegativeOffset = "Negative offset."; 447 MSG kNegativeParam = "param is negative."; 448 MSG kNegativePrimcount = "Primcount must be greater than or equal to zero."; 449 MSG kNegativeSize = "Negative size."; 450 MSG kNegativeStart = "Cannot have negative start."; 451 MSG kNegativeStride = "Cannot have negative stride."; 452 MSG kNegativeXYZ = "x = y = or z cannot be negative."; 453 MSG kNoActiveComputeShaderStage = "No active compute shader stage in this program."; 454 MSG kNoActiveGeometryShaderStage = "No active geometry shader stage in this program."; 455 MSG kNoActiveGraphicsShaderStage = "It is a undefined behaviour to render without vertex shader stage or fragment shader stage."; 456 MSG kNoActiveProgramWithComputeShader = "No active program for the compute shader stage."; 457 MSG kNoDefinedClearConversion = "No defined conversion between clear value and attachment format."; 458 MSG kNonPositiveDrawTextureDimension = "Both width and height argument of drawn texture must be positive."; 459 MSG kNonPositiveSize = "Size must be greater than 0"; 460 MSG kNoProgramBinaryFormats = "No program binary formats supported."; 461 MSG kNoReadFramebuffer = "No active read framebuffer."; 462 MSG kNoSampleAlphaToCoveragesLimitation = "Current renderer doesn't support alpha-to-coverage."; 463 MSG kNotTextureComplete = "The texture is not complete."; 464 MSG kNoTransformArray = "No transform array given."; 465 MSG kNoTransformFeedbackOutputVariables = "The active program has specified no output variables to record."; 466 MSG kNoZeroDivisor = "At least one enabled attribute must have a divisor of zero."; 467 MSG kNVFenceNotSupported = "GL_NV_fence is not supported"; 468 MSG kObjectNotGenerated = "Object cannot be used because it has not been generated."; 469 MSG kOffsetAlignment = "offset must be a multiple of 4."; 470 MSG kOffsetAndSizeAlignment = "Offset and size must be multiple of 4."; 471 MSG kOffsetMustBeMultipleOfType = "Offset must be a multiple of the passed in datatype."; 472 MSG kOffsetMustBeMultipleOfUint = "Offset must be a multiple of sizeof(uint) in basic machine units."; 473 MSG kOffsetOverflow = "Offset overflows texture dimensions."; 474 MSG kOtherQueryActive = "Other query is active."; 475 MSG kOutsideOfBounds = "Parameter outside of bounds."; 476 MSG kParamOverflow = "The provided parameters overflow with the provided buffer."; 477 MSG kPixelDataNotNull = "Pixel data must be null."; 478 MSG kPixelDataNull = "Pixel data cannot be null."; 479 MSG kPixelPackBufferBoundForTransformFeedback = "It is undefined behavior to use a pixel pack buffer that is bound for transform feedback."; 480 MSG kPixelUnpackBufferBoundForTransformFeedback = "It is undefined behavior to use a pixel unpack buffer that is bound for transform feedback."; 481 MSG kPointSizeArrayExtensionNotEnabled = "GL_OES_point_size_array not enabled."; 482 MSG kProgramDoesNotExist = "Program doesn't exist."; 483 MSG kProgramInterfaceMustBeProgramOutput = "programInterface must be set to GL_PROGRAM_OUTPUT."; 484 MSG kProgramNotBound = "A program must be bound."; 485 MSG kProgramNotLinked = "Program not linked."; 486 MSG kQueryActive = "Query is active."; 487 MSG kQueryExtensionNotEnabled = "Query extension not enabled."; 488 MSG kQueryInactive = "Query is not active."; 489 MSG kQueryTargetMismatch = "Query type does not match target."; 490 MSG kReadBufferNone = "Read buffer is GL_NONE."; 491 MSG kReadBufferNotAttached = "Read buffer has no attachment."; 492 MSG kRectangleTextureCompressed = "Rectangle texture cannot have a compressed format."; 493 MSG kRelativeOffsetTooLarge = "relativeOffset cannot be greater than MAX_VERTEX_ATTRIB_RELATIVE_OFFSET."; 494 MSG kRenderableInternalFormat = "SizedInternalformat must be color-renderable, depth-renderable, or stencil-renderable."; 495 MSG kRenderbufferNotBound = "A renderbuffer must be bound."; 496 MSG kResourceMaxRenderbufferSize = "Desired resource size is greater than max renderbuffer size."; 497 MSG kResourceMaxTextureSize = "Desired resource size is greater than max texture size."; 498 MSG kRobustResourceInitializationExtensionRequired = "EGL_ANGLE_robust_resource_initialization not enabled."; 499 MSG kSamplerFormatMismatch = "Mismatch between texture format and sampler type (signed/unsigned/float/shadow)."; 500 MSG kSamplerUniformValueOutOfRange = "Sampler uniform value out of range."; 501 MSG kSamplesOutOfRange = "Samples must not be greater than maximum supported value for the format."; 502 MSG kSamplesZero = "Samples may not be zero."; 503 MSG kShaderAttachmentHasShader = "Shader attachment already has a shader."; 504 MSG kShaderSourceInvalidCharacters = "Shader source contains invalid characters."; 505 MSG kShaderStorageBufferOffsetAlignment = "Offset must be multiple of value of SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT."; 506 MSG kShaderToDetachMustBeAttached = "Shader to be detached must be currently attached to the program."; 507 MSG kSourceLevelNotDefined = "The source level of the source texture must be defined."; 508 MSG kSourceTextureLevelZeroDefined = "Source texture must level 0 defined."; 509 MSG kSourceTextureMustBeCompressed = "Source texture must have a compressed internal format."; 510 MSG kSourceTextureTooSmall = "The specified dimensions are outside of the bounds of the texture."; 511 MSG kStencilReferenceMaskOrMismatch = "Stencil reference and mask values must be the same for front facing and back facing triangles."; 512 MSG kStrideExceedsWebGLLimit = "Stride is over the maximum stride allowed by WebGL."; 513 MSG kStrideMustBeMultipleOfType = "Stride must be a multiple of the passed in datatype."; 514 MSG kSyncMissing = "Sync object does not exist."; 515 MSG kTargetMustBeTexture2DMultisampleArrayOES = "Target must be TEXTURE_2D_MULTISAMPLE_ARRAY_OES."; 516 MSG kTessellationShaderExtensionNotEnabled = "GL_EXT_tessellation_shader extension not enabled."; 517 MSG kTessellationShaderRequiresBothControlAndEvaluation = "Tessellation requires both control and evaluation shaders."; 518 MSG kTessellationShaderRequiresVertexShader = "Any command that transfers vertices to the GL requires a vertex shader if the current program uses a tessellation shader."; 519 MSG kTextureBufferExtensionNotAvailable = "Texture buffer extension not available."; 520 MSG kTextureBufferOffsetAlignment = "Offset must be multiple of value of TEXTURE_BUFFER_OFFSET_ALIGNMENT."; 521 MSG kTextureBufferSize = "Texture buffer size must be a positive integer."; 522 MSG kTextureBufferSizeOffset = "Texture buffer offset + size must be less than or equal to BUFFER_SIZE."; 523 MSG kTextureBufferTarget = "Target must be TEXTURE_BUFFER."; 524 MSG kTextureBufferInternalFormat = "Internal format is not an accepted sized internal format."; 525 MSG kTextureBufferInvalidBuffer = "If buffer is nonzero, it must match the name of an existing buffer object."; 526 MSG kTextureFormatMismatch = "Passed in texture target and format must match the one originally used to define the texture."; 527 MSG kTextureIsImmutable = "Texture is immutable."; 528 MSG kTextureIsNotImmutable = "Texture is not immutable."; 529 MSG kTextureNotBound = "A texture must be bound."; 530 MSG kTextureNotPow2 = "The texture is a non-power-of-two texture."; 531 MSG kTextureRectangleNotSupported = "Context does not support GL_ANGLE_texture_rectangle"; 532 MSG kTextureSizeTooSmall = "Texture dimensions must all be greater than zero."; 533 MSG kTextureTargetMismatch = "Textarget must match the texture target type."; 534 MSG kTextureTargetMismatchWithLabel = "Textarget must match the texture target type. Requested: %d Texture's: %d label: %s"; 535 MSG kTextureTargetRequiresES31 = "Texture target requires at least OpenGL ES 3.1."; 536 MSG kTextureTypeConflict = "Two textures of different types use the same sampler location."; 537 MSG kTextureTypeMismatch = "Passed in texture type must match the one originally used to define the texture."; 538 MSG kTextureWidthOrHeightOutOfRange = "Width and height must be less than or equal to GL_MAX_TEXTURE_SIZE."; 539 MSG kTextureDepthOutOfRange = "Depth must be less than or equal to MAX_ARRAY_TEXTURE_LAYERS"; 540 MSG kTransfomFeedbackAlreadyActive = "Transform feedback is already active."; 541 MSG kTransformFeedbackActiveDelete = "Attempt to delete an active transform feedback."; 542 MSG kTransformFeedbackActiveDuringLink = "Cannot link program while program is associated with an active transform feedback object."; 543 MSG kTransformFeedbackBufferDoubleBound = "A transform feedback buffer that would be written to is also bound to a non-transform-feedback target, which would cause undefined behavior."; 544 MSG kTransformFeedbackBufferMissing = "Every binding point used in transform feedback mode must have a buffer object bound."; 545 MSG kTransformFeedbackBufferMultipleOutputs = "Transform feedback has a buffer bound to multiple outputs."; 546 MSG kTransformFeedbackBufferTooSmall = "Not enough space in bound transform feedback buffers."; 547 MSG kTransformFeedbackDoesNotExist = "Transform feedback object that does not exist."; 548 MSG kTransformFeedbackNotActive = "No Transform Feedback object is active."; 549 MSG kTransformFeedbackNotPaused = "The active Transform Feedback object is not paused."; 550 MSG kTransformFeedbackPaused = "The active Transform Feedback object is paused."; 551 MSG kTransformFeedbackProgramBinary = "Cannot change program binary while program is associated with an active transform feedback object."; 552 MSG kTransformFeedbackTargetActive = "Target is TRANSFORM_FEEDBACK_BUFFER and transform feedback is currently active."; 553 MSG kTransformFeedbackUseProgram = "Cannot change active program while transform feedback is unpaused."; 554 MSG kTransformFeedbackVaryingIndexOutOfRange = "Index must be less than the transform feedback varying count in the program."; 555 MSG kTypeNotUnsignedShortByte = "Only UNSIGNED_SHORT and UNSIGNED_BYTE types are supported."; 556 MSG kUniformBufferBoundForTransformFeedback = "It is undefined behavior to use an uniform buffer that is bound for transform feedback."; 557 MSG kUniformBufferOffsetAlignment = "Offset must be multiple of value of UNIFORM_BUFFER_OFFSET_ALIGNMENT."; 558 MSG kUniformBufferTooSmall = "It is undefined behaviour to use a uniform buffer that is too small."; 559 MSG kUniformBufferUnbound = "It is undefined behaviour to have a used but unbound uniform buffer."; 560 MSG kUniformSizeMismatch = "Uniform size does not match uniform method."; 561 MSG kUniformTypeMismatch = "Uniform type does not match uniform method."; 562 MSG kUnimplementedComputeShaderPrecision = "Compute shader precision not yet implemented."; 563 MSG kUnknownParameter = "Unknown parameter value."; 564 MSG kUnsizedInternalFormatUnsupported = "Internalformat is one of the unsupported unsized base internalformats."; 565 MSG kUnsupportedDrawModeForTransformFeedback = "The draw command is unsupported when transform feedback is active and not paused."; 566 MSG kUnsupportedFloatBlending = "GL_BLEND with floating-point color attachments requires the EXT_float_blend extension."; 567 MSG kVertexArrayNoBuffer = "An enabled vertex array has no buffer."; 568 MSG kVertexArrayNoBufferPointer = "An enabled vertex array has no buffer and no pointer."; 569 MSG kVertexBufferBoundForTransformFeedback = "It is undefined behavior to use a vertex buffer that is bound for transform feedback."; 570 MSG kVertexShaderTypeMismatch = "Vertex shader input type does not match the type of the bound vertex attribute."; 571 MSG kViewportNegativeSize = "Viewport size cannot be negative."; 572 MSG kViewsExceedMaxArrayLayers = "baseViewIndex+numViews cannot be greater than GL_MAX_ARRAY_TEXTURE_LAYERS."; 573 MSG kWebgl2NameLengthLimitExceeded = "Location lengths must not be greater than 1024 characters."; 574 MSG kWebglBindAttribLocationReservedPrefix = "Attributes that begin with 'webgl_', or '_webgl_' are not allowed."; 575 MSG kWebglNameLengthLimitExceeded = "Location name lengths must not be greater than 256 characters."; 576 MSG kYUVOutputMissmatch = "Program and framebuffer YUV output state does not match."; 577 MSG kYUVTargetExtensionRequired = "GL_EXT_YUV_target not enabled."; 578 MSG kZeroBoundToTarget = "Zero is bound to target."; 579 MSG kUnrecognizedShaderStageBit = "Unrecognized shader stage bit."; 580 MSG kProgramNotSeparable = "Program object was not linked with its PROGRAM_SEPARABLE status set."; 581 MSG kProgramPipelineDoesNotExist = "Program pipeline does not exist."; 582 MSG kNotAllStagesOfSeparableProgramUsed = "A program object is active for at least one, but not all of the shader stages that were present when the program was linked."; 583 MSG kNoExecutableCodeInstalled = "There is no current program object specified by UseProgram, there is a current program pipeline object, and that object is empty (no executable code is installed for any stage)."; 584 MSG kProgramPipelineLinkFailed = "Program pipeline link failed"; 585 MSG kProtectedTexturesExtensionRequired = "GL_EXT_protected_textures not enabled."; 586 587 // clang-format on 588 589 #undef MSG 590 } // namespace err 591 } // namespace gl 592 #endif // LIBANGLE_ERRORSTRINGS_H_ 593