Edit

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

Branch :

  • Show log

    Commit

  • Author : Corentin Wallez
    Date : 2015-05-20 11:06:25
    Hash : e3b10e8d
    Message : Make eglMakeCurrent validate for config compatibility See section 2.2 of the EGL 1.5 specification. BUG=angleproject:892 Change-Id: I2a43260e53cb045b2e06b0e50915e228cec96f33 Reviewed-on: https://chromium-review.googlesource.com/272370 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>

  • src/libANGLE/validationEGL.h
  • //
    // Copyright (c) 2015 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.
    //
    
    // validationEGL.h: Validation functions for generic EGL entry point parameters
    
    #ifndef LIBANGLE_VALIDATIONEGL_H_
    #define LIBANGLE_VALIDATIONEGL_H_
    
    #include "libANGLE/Error.h"
    
    #include <EGL/egl.h>
    
    namespace gl
    {
    class Context;
    }
    
    namespace egl
    {
    
    class AttributeMap;
    struct Config;
    class Display;
    class Surface;
    
    // Object validation
    Error ValidateDisplay(const Display *display);
    Error ValidateSurface(const Display *display, Surface *surface);
    Error ValidateConfig(const Display *display, const Config *config);
    Error ValidateContext(const Display *display, gl::Context *context);
    
    // Entry point validation
    Error ValidateCreateContext(Display *display, Config *configuration, gl::Context *shareContext,
                                const AttributeMap& attributes);
    
    Error ValidateCreateWindowSurface(Display *display, Config *config, EGLNativeWindowType window,
                                      const AttributeMap& attributes);
    
    Error ValidateCreatePbufferSurface(Display *display, Config *config, const AttributeMap& attributes);
    Error ValidateCreatePbufferFromClientBuffer(Display *display, EGLenum buftype, EGLClientBuffer buffer,
                                                Config *config, const AttributeMap& attributes);
    
    // Other validation
    Error ValidateCompatibleConfigs(const Config *config1, const Config *config2, EGLint surfaceType);
    
    }
    
    #endif // LIBANGLE_VALIDATIONEGL_H_