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