webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
validationEGL.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2015 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 // validationEGL.h: Validation functions for generic EGL entry point parameters
8 
9 #ifndef LIBANGLE_VALIDATIONEGL_H_
10 #define LIBANGLE_VALIDATIONEGL_H_
11 
12 #include "libANGLE/Error.h"
13 
14 #include <EGL/egl.h>
15 #include <EGL/eglext.h>
16 
17 namespace gl
18 {
19 class Context;
20 }
21 
22 namespace egl
23 {
24 
25 class AttributeMap;
26 struct Config;
27 class Device;
28 class Display;
29 class Image;
30 class Stream;
31 class Surface;
32 
33 // Object validation
34 Error ValidateDisplay(const Display *display);
35 Error ValidateSurface(const Display *display, Surface *surface);
36 Error ValidateConfig(const Display *display, const Config *config);
38 Error ValidateImage(const Display *display, const Image *image);
39 
40 // Entry point validation
41 Error ValidateCreateContext(Display *display, Config *configuration, gl::Context *shareContext,
42  const AttributeMap& attributes);
43 
44 Error ValidateCreateWindowSurface(Display *display, Config *config, EGLNativeWindowType window,
45  const AttributeMap& attributes);
46 
47 Error ValidateCreatePbufferSurface(Display *display, Config *config, const AttributeMap& attributes);
49  Config *config, const AttributeMap& attributes);
50 
51 Error ValidateCreateImageKHR(const Display *display,
55  const AttributeMap &attributes);
56 Error ValidateDestroyImageKHR(const Display *display, const Image *image);
57 
59  void *native_device,
60  const EGLAttrib *attrib_list);
61 Error ValidateReleaseDeviceANGLE(Device *device);
62 
63 Error ValidateCreateStreamKHR(const Display *display, const AttributeMap &attributes);
64 Error ValidateDestroyStreamKHR(const Display *display, const Stream *stream);
66  const Stream *stream,
68  EGLint value);
69 Error ValidateQueryStreamKHR(const Display *display,
70  const Stream *stream,
72  EGLint *value);
74  const Stream *stream,
79  const Stream *stream);
82  const Stream *stream);
85  const Stream *stream);
88  const Stream *stream,
89  const AttributeMap &attribs);
91  const Stream *stream,
92  const AttributeMap &attribs);
94  const Stream *stream,
95  void *texture,
96  const AttributeMap &attribs);
98  const Surface *surface,
99  const EGLuint64KHR *ust,
100  const EGLuint64KHR *msc,
101  const EGLuint64KHR *sbc);
102 
103 // Other validation
105  const Config *config1,
106  const Surface *surface,
107  const Config *config2,
108  EGLint surfaceType);
109 }
110 
111 #endif // LIBANGLE_VALIDATIONEGL_H_
Error ValidateDestroyStreamKHR(const Display *display, const Stream *stream)
Definition: validationEGL.cpp:1141
Error ValidateCreateImageKHR(const Display *display, gl::Context *context, EGLenum target, EGLClientBuffer buffer, const AttributeMap &attributes)
Definition: validationEGL.cpp:802
EGLStreamKHR stream
Definition: eglext.h:340
Error ValidateReleaseDeviceANGLE(Device *device)
Definition: validationEGL.cpp:1098
Error ValidateCreateContext(Display *display, Config *configuration, gl::Context *shareContext, const AttributeMap &attributes)
Definition: validationEGL.cpp:251
Error ValidateCreateWindowSurface(Display *display, Config *config, EGLNativeWindowType window, const AttributeMap &attributes)
Definition: validationEGL.cpp:436
Error ValidateStreamPostD3DTextureNV12ANGLE(const Display *display, const Stream *stream, void *texture, const AttributeMap &attribs)
Definition: validationEGL.cpp:1527
EGLSurface surface
Definition: eglext.h:232
Error ValidateCreateStreamProducerD3DTextureNV12ANGLE(const Display *display, const Stream *stream, const AttributeMap &attribs)
Definition: validationEGL.cpp:1494
Error ValidateGetSyncValuesCHROMIUM(const Display *display, const Surface *surface, const EGLuint64KHR *ust, const EGLuint64KHR *msc, const EGLuint64KHR *sbc)
Definition: validationEGL.cpp:1580
Error ValidateSurface(const Display *display, Surface *surface)
Definition: validationEGL.cpp:185
EGLContext EGLenum target
Definition: eglext.h:192
unsigned int EGLenum
Definition: egl.h:181
Error ValidateDisplay(const Display *display)
Definition: validationEGL.cpp:160
Error ValidateImage(const Display *display, const Image *image)
Definition: validationEGL.cpp:221
void * Context
Definition: platform_glx.h:177
EGLStreamKHR void * texture
Definition: eglext.h:568
EGLSurface EGLuint64KHR * ust
Definition: EGLSyncControlTest.cpp:26
Definition: entry_points_egl.h:15
boolean attributes
Definition: MutationObserver.idl:43
Error ValidateStreamConsumerAcquireKHR(const Display *display, gl::Context *context, const Stream *stream)
Definition: validationEGL.cpp:1244
EGLenum const EGLAttribKHR * attrib_list
Definition: eglext.h:63
void * native_device
Definition: eglext.h:627
khronos_uint64_t EGLuint64KHR
Definition: eglext.h:306
Error ValidateStreamConsumerGLTextureExternalAttribsNV(const Display *display, gl::Context *context, const Stream *stream, const AttributeMap &attribs)
Definition: validationEGL.cpp:1335
khronos_int32_t EGLint
Definition: eglplatform.h:147
Error ValidateStreamConsumerGLTextureExternalKHR(const Display *display, gl::Context *context, const Stream *stream)
Definition: validationEGL.cpp:1206
Error ValidateCompatibleConfigs(const Display *display, const Config *config1, const Surface *surface, const Config *config2, EGLint surfaceType)
Definition: validationEGL.cpp:759
EGLAttrib * value
Definition: eglext.h:120
Error ValidateCreateStreamKHR(const Display *display, const AttributeMap &attributes)
Definition: validationEGL.cpp:1120
Error ValidateContext(const Display *display, gl::Context *context)
Definition: validationEGL.cpp:209
Error ValidateDestroyImageKHR(const Display *display, const Image *image)
Definition: validationEGL.cpp:1053
Error ValidateQueryStreamu64KHR(const Display *display, const Stream *stream, EGLenum attribute, EGLuint64KHR *value)
Definition: validationEGL.cpp:1187
Error ValidateQueryStreamKHR(const Display *display, const Stream *stream, EGLenum attribute, EGLint *value)
Definition: validationEGL.cpp:1162
Error ValidateStreamConsumerReleaseKHR(const Display *display, gl::Context *context, const Stream *stream)
Definition: validationEGL.cpp:1291
Error ValidateStreamAttribKHR(const Display *display, const Stream *stream, EGLint attribute, EGLint value)
Definition: validationEGL.cpp:1147
EGLSurface EGLNativeWindowType * window
Definition: eglext.h:934
void Error(char *emsg)
Definition: towers.c:127
Error ValidateCreatePbufferFromClientBuffer(Display *display, EGLenum buftype, EGLClientBuffer buffer, Config *config, const AttributeMap &attributes)
Definition: validationEGL.cpp:636
Error ValidateCreateDeviceANGLE(EGLint device_type, void *native_device, const EGLAttrib *attrib_list)
Definition: validationEGL.cpp:1068
struct _XDisplay Display
Definition: shared_x_display.h:25
Definition: Context.h:59
EGLSurface EGLuint64KHR EGLuint64KHR * msc
Definition: EGLSyncControlTest.cpp:26
EGLSurface EGLuint64KHR EGLuint64KHR EGLuint64KHR * sbc
Definition: EGLSyncControlTest.cpp:26
Definition: image.py:1
void * EGLClientBuffer
Definition: egl.h:182
intptr_t EGLAttrib
Definition: egl.h:255
EGLContext EGLenum EGLClientBuffer buffer
Definition: eglext.h:192
Error ValidateCreatePbufferSurface(Display *display, Config *config, const AttributeMap &attributes)
Definition: validationEGL.cpp:533
EGLSurface EGLint attribute
Definition: eglext.h:247
Definition: entry_points_gles_2_0.h:15
U_CDECL_BEGIN typedef void * context
Definition: ustring.h:1023
EGLConfig config
Definition: eglext.h:389
Error ValidateConfig(const Display *display, const Config *config)
Definition: validationEGL.cpp:197