Edit

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

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2015-02-03 16:16:04
    Hash : b885e571
    Message : Implement ReadBuffer functionality. This enables ReadPixels from non-0 FBO attachments. Tested with: dEQP-GLES3.functional.negative_api.buffer.read_buffer (fails due to a possible error in dEQP) dEQP-GLES3.functional.shaders.fragdata.draw_buffers (passes) BUG=angle:903 Change-Id: Ib095e1d50b8fbbc6f197de25f19ec0993309145a Reviewed-on: https://chromium-review.googlesource.com/244841 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>

  • src/libANGLE/validationES3.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.
    //
    
    // validationES3.h: Validation functions for OpenGL ES 3.0 entry point parameters
    
    #ifndef LIBANGLE_VALIDATION_ES3_H_
    #define LIBANGLE_VALIDATION_ES3_H_
    
    #include <GLES3/gl3.h>
    
    namespace gl
    {
    
    class Context;
    
    bool ValidateES3TexImageParameters(Context *context, GLenum target, GLint level, GLenum internalformat, bool isCompressed, bool isSubImage,
                                       GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
                                       GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    
    bool ValidateES3CopyTexImageParameters(Context *context, GLenum target, GLint level, GLenum internalformat,
                                           bool isSubImage, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y,
                                           GLsizei width, GLsizei height, GLint border);
    
    bool ValidateES3TexStorageParameters(Context *context, GLenum target, GLsizei levels, GLenum internalformat,
                                         GLsizei width, GLsizei height, GLsizei depth);
    
    bool ValidateFramebufferTextureLayer(Context *context, GLenum target, GLenum attachment,
                                         GLuint texture, GLint level, GLint layer);
    
    bool ValidES3ReadFormatType(Context *context, GLenum internalFormat, GLenum format, GLenum type);
    
    bool ValidateES3RenderbufferStorageParameters(Context *context, GLenum target, GLsizei samples,
                                                  GLenum internalformat, GLsizei width, GLsizei height);
    
    bool ValidateInvalidateFramebufferParameters(Context *context, GLenum target, GLsizei numAttachments,
                                                 const GLenum* attachments);
    
    bool ValidateClearBuffer(Context *context);
    
    bool ValidateGetUniformuiv(Context *context, GLuint program, GLint location, GLuint* params);
    
    bool ValidateReadBuffer(Context *context, GLenum mode);
    
    }
    
    #endif // LIBANGLE_VALIDATION_ES3_H_