Edit

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

Branch :

  • Show log

    Commit

  • Author : John Bauman
    Date : 2015-11-24 19:13:55
    Hash : fe3e46ab
    Message : Add EGL_ANGLE_flexible_surface_compatibility This extension allows users of ANGLE to make contexts current with surfaces that were created with different bit depths. BUG=angleproject:1223 Change-Id: I9072c256e0a36aee1ce41ab69cb9a04240bf0521 Reviewed-on: https://chromium-review.googlesource.com/314935 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: John Bauman <jbauman@chromium.org> Tested-by: John Bauman <jbauman@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 Device;
    class Display;
    class Image;
    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);
    Error ValidateImage(const Display *display, const Image *image);
    
    // 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);
    
    Error ValidateCreateImageKHR(const Display *display,
                                 gl::Context *context,
                                 EGLenum target,
                                 EGLClientBuffer buffer,
                                 const AttributeMap &attributes);
    Error ValidateDestroyImageKHR(const Display *display, const Image *image);
    
    Error ValidateCreateDeviceANGLE(EGLint device_type,
                                    void *native_device,
                                    const EGLAttrib *attrib_list);
    Error ValidateReleaseDeviceANGLE(Device *device);
    
    // Other validation
    Error ValidateCompatibleConfigs(const Display *display,
                                    const Config *config1,
                                    const Surface *surface,
                                    const Config *config2,
                                    EGLint surfaceType);
    }
    
    #endif // LIBANGLE_VALIDATIONEGL_H_