Edit

kc3-lang/angle/src/libANGLE/validationES2.h

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2017-02-14 17:56:40
    Hash : e8fb640d
    Message : Update RenderbufferStorage EPs to new style. This will facilitate changes for WebGL compatibility. BUG=angleproject:747 BUG=angleproject:1708 Change-Id: I62e5d684ca10a843b5e958afe9954c1065bfeb19 Reviewed-on: https://chromium-review.googlesource.com/442093 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>

  • src/libANGLE/validationES2.h
  • //
    // Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    // validationES2.h: Validation functions for OpenGL ES 2.0 entry point parameters
    
    #ifndef LIBANGLE_VALIDATION_ES2_H_
    #define LIBANGLE_VALIDATION_ES2_H_
    
    #include <GLES2/gl2.h>
    #include <GLES2/gl2ext.h>
    
    namespace gl
    {
    class Context;
    class ValidationContext;
    class Texture;
    
    bool ValidateES2TexImageParameters(Context *context,
                                       GLenum target,
                                       GLint level,
                                       GLenum internalformat,
                                       bool isCompressed,
                                       bool isSubImage,
                                       GLint xoffset,
                                       GLint yoffset,
                                       GLsizei width,
                                       GLsizei height,
                                       GLint border,
                                       GLenum format,
                                       GLenum type,
                                       GLsizei imageSize,
                                       const GLvoid *pixels);
    
    bool ValidateES2CopyTexImageParameters(ValidationContext *context,
                                           GLenum target,
                                           GLint level,
                                           GLenum internalformat,
                                           bool isSubImage,
                                           GLint xoffset,
                                           GLint yoffset,
                                           GLint x,
                                           GLint y,
                                           GLsizei width,
                                           GLsizei height,
                                           GLint border);
    
    bool ValidateES2TexStorageParameters(Context *context, GLenum target, GLsizei levels, GLenum internalformat,
                                                       GLsizei width, GLsizei height);
    
    bool ValidateDiscardFramebufferEXT(Context *context, GLenum target, GLsizei numAttachments,
                                       const GLenum *attachments);
    
    bool ValidateDrawBuffersEXT(ValidationContext *context, GLsizei n, const GLenum *bufs);
    
    bool ValidateBindVertexArrayOES(Context *context, GLuint array);
    bool ValidateDeleteVertexArraysOES(Context *context, GLsizei n);
    bool ValidateGenVertexArraysOES(Context *context, GLsizei n);
    bool ValidateIsVertexArrayOES(Context *context);
    
    bool ValidateProgramBinaryOES(Context *context,
                                  GLuint program,
                                  GLenum binaryFormat,
                                  const void *binary,
                                  GLint length);
    bool ValidateGetProgramBinaryOES(Context *context,
                                     GLuint program,
                                     GLsizei bufSize,
                                     GLsizei *length,
                                     GLenum *binaryFormat,
                                     void *binary);
    
    // GL_KHR_debug
    bool ValidateDebugMessageControlKHR(Context *context,
                                        GLenum source,
                                        GLenum type,
                                        GLenum severity,
                                        GLsizei count,
                                        const GLuint *ids,
                                        GLboolean enabled);
    bool ValidateDebugMessageInsertKHR(Context *context,
                                       GLenum source,
                                       GLenum type,
                                       GLuint id,
                                       GLenum severity,
                                       GLsizei length,
                                       const GLchar *buf);
    bool ValidateDebugMessageCallbackKHR(Context *context,
                                         GLDEBUGPROCKHR callback,
                                         const void *userParam);
    bool ValidateGetDebugMessageLogKHR(Context *context,
                                       GLuint count,
                                       GLsizei bufSize,
                                       GLenum *sources,
                                       GLenum *types,
                                       GLuint *ids,
                                       GLenum *severities,
                                       GLsizei *lengths,
                                       GLchar *messageLog);
    bool ValidatePushDebugGroupKHR(Context *context,
                                   GLenum source,
                                   GLuint id,
                                   GLsizei length,
                                   const GLchar *message);
    bool ValidatePopDebugGroupKHR(Context *context);
    bool ValidateObjectLabelKHR(Context *context,
                                GLenum identifier,
                                GLuint name,
                                GLsizei length,
                                const GLchar *label);
    bool ValidateGetObjectLabelKHR(Context *context,
                                   GLenum identifier,
                                   GLuint name,
                                   GLsizei bufSize,
                                   GLsizei *length,
                                   GLchar *label);
    bool ValidateObjectPtrLabelKHR(Context *context,
                                   const void *ptr,
                                   GLsizei length,
                                   const GLchar *label);
    bool ValidateGetObjectPtrLabelKHR(Context *context,
                                      const void *ptr,
                                      GLsizei bufSize,
                                      GLsizei *length,
                                      GLchar *label);
    bool ValidateGetPointervKHR(Context *context, GLenum pname, void **params);
    bool ValidateBlitFramebufferANGLE(Context *context,
                                      GLint srcX0,
                                      GLint srcY0,
                                      GLint srcX1,
                                      GLint srcY1,
                                      GLint dstX0,
                                      GLint dstY0,
                                      GLint dstX1,
                                      GLint dstY1,
                                      GLbitfield mask,
                                      GLenum filter);
    
    bool ValidateClear(ValidationContext *context, GLbitfield mask);
    bool ValidateTexImage2D(Context *context,
                            GLenum target,
                            GLint level,
                            GLint internalformat,
                            GLsizei width,
                            GLsizei height,
                            GLint border,
                            GLenum format,
                            GLenum type,
                            const GLvoid *pixels);
    bool ValidateTexImage2DRobust(Context *context,
                                  GLenum target,
                                  GLint level,
                                  GLint internalformat,
                                  GLsizei width,
                                  GLsizei height,
                                  GLint border,
                                  GLenum format,
                                  GLenum type,
                                  GLsizei bufSize,
                                  const GLvoid *pixels);
    bool ValidateTexSubImage2D(Context *context,
                               GLenum target,
                               GLint level,
                               GLint xoffset,
                               GLint yoffset,
                               GLsizei width,
                               GLsizei height,
                               GLenum format,
                               GLenum type,
                               const GLvoid *pixels);
    bool ValidateTexSubImage2DRobustANGLE(Context *context,
                                          GLenum target,
                                          GLint level,
                                          GLint xoffset,
                                          GLint yoffset,
                                          GLsizei width,
                                          GLsizei height,
                                          GLenum format,
                                          GLenum type,
                                          GLsizei bufSize,
                                          const GLvoid *pixels);
    bool ValidateCompressedTexImage2D(Context *context,
                                      GLenum target,
                                      GLint level,
                                      GLenum internalformat,
                                      GLsizei width,
                                      GLsizei height,
                                      GLint border,
                                      GLsizei imageSize,
                                      const GLvoid *data);
    bool ValidateCompressedTexSubImage2D(Context *context,
                                         GLenum target,
                                         GLint level,
                                         GLint xoffset,
                                         GLint yoffset,
                                         GLsizei width,
                                         GLsizei height,
                                         GLenum format,
                                         GLsizei imageSize,
                                         const GLvoid *data);
    bool ValidateBindTexture(Context *context, GLenum target, GLuint texture);
    
    bool ValidateGetBufferPointervOES(Context *context, GLenum target, GLenum pname, void **params);
    bool ValidateMapBufferOES(Context *context, GLenum target, GLenum access);
    bool ValidateUnmapBufferOES(Context *context, GLenum target);
    bool ValidateMapBufferRangeEXT(Context *context,
                                   GLenum target,
                                   GLintptr offset,
                                   GLsizeiptr length,
                                   GLbitfield access);
    bool ValidateFlushMappedBufferRangeEXT(Context *context,
                                           GLenum target,
                                           GLintptr offset,
                                           GLsizeiptr length);
    
    bool ValidateBindUniformLocationCHROMIUM(Context *context,
                                             GLuint program,
                                             GLint location,
                                             const GLchar *name);
    
    bool ValidateCoverageModulationCHROMIUM(Context *context, GLenum components);
    
    // CHROMIUM_path_rendering
    bool ValidateMatrix(Context *context, GLenum matrixMode, const GLfloat *matrix);
    bool ValidateMatrixMode(Context *context, GLenum matrixMode);
    bool ValidateGenPaths(Context *context, GLsizei range);
    bool ValidateDeletePaths(Context *context, GLuint first, GLsizei range);
    bool ValidatePathCommands(Context *context,
                              GLuint path,
                              GLsizei numCommands,
                              const GLubyte *commands,
                              GLsizei numCoords,
                              GLenum coordType,
                              const void *coords);
    bool ValidateSetPathParameter(Context *context, GLuint path, GLenum pname, GLfloat value);
    bool ValidateGetPathParameter(Context *context, GLuint path, GLenum pname, GLfloat *value);
    bool ValidatePathStencilFunc(Context *context, GLenum func, GLint ref, GLuint mask);
    bool ValidateStencilFillPath(Context *context, GLuint path, GLenum fillMode, GLuint mask);
    bool ValidateStencilStrokePath(Context *context, GLuint path, GLint reference, GLuint mask);
    bool ValidateCoverPath(Context *context, GLuint path, GLenum coverMode);
    bool ValidateStencilThenCoverFillPath(Context *context,
                                          GLuint path,
                                          GLenum fillMode,
                                          GLuint mask,
                                          GLenum coverMode);
    bool ValidateStencilThenCoverStrokePath(Context *context,
                                            GLuint path,
                                            GLint reference,
                                            GLuint mask,
                                            GLenum coverMode);
    bool ValidateIsPath(Context *context);
    bool ValidateCoverFillPathInstanced(Context *context,
                                        GLsizei numPaths,
                                        GLenum pathNameType,
                                        const void *paths,
                                        GLuint pathBase,
                                        GLenum coverMode,
                                        GLenum transformType,
                                        const GLfloat *transformValues);
    bool ValidateCoverStrokePathInstanced(Context *context,
                                          GLsizei numPaths,
                                          GLenum pathNameType,
                                          const void *paths,
                                          GLuint pathBase,
                                          GLenum coverMode,
                                          GLenum transformType,
                                          const GLfloat *transformValues);
    bool ValidateStencilFillPathInstanced(Context *context,
                                          GLsizei numPaths,
                                          GLenum pathNameType,
                                          const void *paths,
                                          GLuint pathBAse,
                                          GLenum fillMode,
                                          GLuint mask,
                                          GLenum transformType,
                                          const GLfloat *transformValues);
    bool ValidateStencilStrokePathInstanced(Context *context,
                                            GLsizei numPaths,
                                            GLenum pathNameType,
                                            const void *paths,
                                            GLuint pathBase,
                                            GLint reference,
                                            GLuint mask,
                                            GLenum transformType,
                                            const GLfloat *transformValues);
    bool ValidateStencilThenCoverFillPathInstanced(Context *context,
                                                   GLsizei numPaths,
                                                   GLenum pathNameType,
                                                   const void *paths,
                                                   GLuint pathBase,
                                                   GLenum fillMode,
                                                   GLuint mask,
                                                   GLenum coverMode,
                                                   GLenum transformType,
                                                   const GLfloat *transformValues);
    bool ValidateStencilThenCoverStrokePathInstanced(Context *context,
                                                     GLsizei numPaths,
                                                     GLenum pathNameType,
                                                     const void *paths,
                                                     GLuint pathBase,
                                                     GLint reference,
                                                     GLuint mask,
                                                     GLenum coverMode,
                                                     GLenum transformType,
                                                     const GLfloat *transformValues);
    bool ValidateBindFragmentInputLocation(Context *context,
                                           GLuint program,
                                           GLint location,
                                           const GLchar *name);
    bool ValidateProgramPathFragmentInputGen(Context *context,
                                             GLuint program,
                                             GLint location,
                                             GLenum genMode,
                                             GLint components,
                                             const GLfloat *coeffs);
    
    bool ValidateCopyTextureCHROMIUM(Context *context,
                                     GLuint sourceId,
                                     GLuint destId,
                                     GLint internalFormat,
                                     GLenum destType,
                                     GLboolean unpackFlipY,
                                     GLboolean unpackPremultiplyAlpha,
                                     GLboolean unpackUnmultiplyAlpha);
    bool ValidateCopySubTextureCHROMIUM(Context *context,
                                        GLuint sourceId,
                                        GLuint destId,
                                        GLint xoffset,
                                        GLint yoffset,
                                        GLint x,
                                        GLint y,
                                        GLsizei width,
                                        GLsizei height,
                                        GLboolean unpackFlipY,
                                        GLboolean unpackPremultiplyAlpha,
                                        GLboolean unpackUnmultiplyAlpha);
    bool ValidateCompressedCopyTextureCHROMIUM(Context *context, GLuint sourceId, GLuint destId);
    
    bool ValidateCreateShader(Context *context, GLenum type);
    bool ValidateBufferData(ValidationContext *context,
                            GLenum target,
                            GLsizeiptr size,
                            const GLvoid *data,
                            GLenum usage);
    bool ValidateBufferSubData(ValidationContext *context,
                               GLenum target,
                               GLintptr offset,
                               GLsizeiptr size,
                               const GLvoid *data);
    
    bool ValidateRequestExtensionANGLE(ValidationContext *context, const GLchar *name);
    
    bool ValidateActiveTexture(ValidationContext *context, GLenum texture);
    bool ValidateAttachShader(ValidationContext *context, GLuint program, GLuint shader);
    bool ValidateBindAttribLocation(ValidationContext *context,
                                    GLuint program,
                                    GLuint index,
                                    const GLchar *name);
    bool ValidateBindBuffer(ValidationContext *context, GLenum target, GLuint buffer);
    bool ValidateBindFramebuffer(ValidationContext *context, GLenum target, GLuint framebuffer);
    bool ValidateBindRenderbuffer(ValidationContext *context, GLenum target, GLuint renderbuffer);
    bool ValidateBlendEquation(ValidationContext *context, GLenum mode);
    bool ValidateBlendEquationSeparate(ValidationContext *context, GLenum modeRGB, GLenum modeAlpha);
    bool ValidateBlendFunc(ValidationContext *context, GLenum sfactor, GLenum dfactor);
    bool ValidateBlendFuncSeparate(ValidationContext *context,
                                   GLenum srcRGB,
                                   GLenum dstRGB,
                                   GLenum srcAlpha,
                                   GLenum dstAlpha);
    
    bool ValidateGetString(Context *context, GLenum name);
    bool ValidateLineWidth(ValidationContext *context, GLfloat width);
    bool ValidateVertexAttribPointer(ValidationContext *context,
                                     GLuint index,
                                     GLint size,
                                     GLenum type,
                                     GLboolean normalized,
                                     GLsizei stride,
                                     const GLvoid *ptr);
    
    bool ValidateDepthRangef(ValidationContext *context, GLclampf zNear, GLclampf zFar);
    bool ValidateRenderbufferStorage(ValidationContext *context,
                                     GLenum target,
                                     GLenum internalformat,
                                     GLsizei width,
                                     GLsizei height);
    bool ValidateRenderbufferStorageMultisampleANGLE(ValidationContext *context,
                                                     GLenum target,
                                                     GLsizei samples,
                                                     GLenum internalformat,
                                                     GLsizei width,
                                                     GLsizei height);
    
    }  // namespace gl
    
    #endif // LIBANGLE_VALIDATION_ES2_H_