1bf215546Sopenharmony_ci// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2bf215546Sopenharmony_ci//
3bf215546Sopenharmony_ci// Redistribution and use in source and binary forms, with or without
4bf215546Sopenharmony_ci// modification, are permitted provided that the following conditions are
5bf215546Sopenharmony_ci// met:
6bf215546Sopenharmony_ci//
7bf215546Sopenharmony_ci//    * Redistributions of source code must retain the above copyright
8bf215546Sopenharmony_ci// notice, this list of conditions and the following disclaimer.
9bf215546Sopenharmony_ci//    * Redistributions in binary form must reproduce the above
10bf215546Sopenharmony_ci// copyright notice, this list of conditions and the following disclaimer
11bf215546Sopenharmony_ci// in the documentation and/or other materials provided with the
12bf215546Sopenharmony_ci// distribution.
13bf215546Sopenharmony_ci//    * Neither the name of Google Inc. nor the names of its
14bf215546Sopenharmony_ci// contributors may be used to endorse or promote products derived from
15bf215546Sopenharmony_ci// this software without specific prior written permission.
16bf215546Sopenharmony_ci//
17bf215546Sopenharmony_ci// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18bf215546Sopenharmony_ci// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19bf215546Sopenharmony_ci// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20bf215546Sopenharmony_ci// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21bf215546Sopenharmony_ci// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22bf215546Sopenharmony_ci// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23bf215546Sopenharmony_ci// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24bf215546Sopenharmony_ci// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25bf215546Sopenharmony_ci// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26bf215546Sopenharmony_ci// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27bf215546Sopenharmony_ci// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28bf215546Sopenharmony_ci
29bf215546Sopenharmony_ci// This file contains Chromium-specific EGL extensions declarations.
30bf215546Sopenharmony_ci
31bf215546Sopenharmony_ci#ifndef GPU_EGL_EGLEXTCHROMIUM_H_
32bf215546Sopenharmony_ci#define GPU_EGL_EGLEXTCHROMIUM_H_
33bf215546Sopenharmony_ci
34bf215546Sopenharmony_ci#ifdef __cplusplus
35bf215546Sopenharmony_ciextern "C" {
36bf215546Sopenharmony_ci#endif
37bf215546Sopenharmony_ci
38bf215546Sopenharmony_ci#include <EGL/eglplatform.h>
39bf215546Sopenharmony_ci
40bf215546Sopenharmony_ci/* EGLSyncControlCHROMIUM requires 64-bit uint support */
41bf215546Sopenharmony_ci#if KHRONOS_SUPPORT_INT64
42bf215546Sopenharmony_ci#ifndef EGL_CHROMIUM_sync_control
43bf215546Sopenharmony_ci#define EGL_CHROMIUM_sync_control 1
44bf215546Sopenharmony_citypedef khronos_uint64_t EGLuint64CHROMIUM;
45bf215546Sopenharmony_ci#ifdef EGL_EGLEXT_PROTOTYPES
46bf215546Sopenharmony_ciEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncValuesCHROMIUM(
47bf215546Sopenharmony_ci    EGLDisplay dpy, EGLSurface surface, EGLuint64CHROMIUM *ust,
48bf215546Sopenharmony_ci    EGLuint64CHROMIUM *msc, EGLuint64CHROMIUM *sbc);
49bf215546Sopenharmony_ci#endif /* EGL_EGLEXT_PROTOTYPES */
50bf215546Sopenharmony_citypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCVALUESCHROMIUMPROC)
51bf215546Sopenharmony_ci    (EGLDisplay dpy, EGLSurface surface, EGLuint64CHROMIUM *ust,
52bf215546Sopenharmony_ci     EGLuint64CHROMIUM *msc, EGLuint64CHROMIUM *sbc);
53bf215546Sopenharmony_ci#endif
54bf215546Sopenharmony_ci#endif
55bf215546Sopenharmony_ci
56bf215546Sopenharmony_ci#ifndef EGL_EXT_image_flush_external
57bf215546Sopenharmony_ci#define EGL_EXT_image_flush_external 1
58bf215546Sopenharmony_ci#define EGL_IMAGE_EXTERNAL_FLUSH_EXT 0x32A2
59bf215546Sopenharmony_citypedef EGLBoolean (EGLAPIENTRYP PFNEGLIMAGEFLUSHEXTERNALEXTPROC) (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
60bf215546Sopenharmony_citypedef EGLBoolean (EGLAPIENTRYP PFNEGLIMAGEINVALIDATEEXTERNALEXTPROC) (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
61bf215546Sopenharmony_ci#ifdef EGL_EGLEXT_PROTOTYPES
62bf215546Sopenharmony_ciEGLAPI EGLBoolean EGLAPIENTRY eglImageFlushExternalEXT (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
63bf215546Sopenharmony_ciEGLAPI EGLBoolean EGLAPIENTRY eglImageInvalidateExternalEXT (EGLDisplay dpy, EGLImageKHR image, const EGLAttrib *attrib_list);
64bf215546Sopenharmony_ci#endif
65bf215546Sopenharmony_ci#endif /* EGL_EXT_image_flush_external */
66bf215546Sopenharmony_ci
67bf215546Sopenharmony_ci#ifdef __cplusplus
68bf215546Sopenharmony_ci}
69bf215546Sopenharmony_ci#endif
70bf215546Sopenharmony_ci
71bf215546Sopenharmony_ci#endif // GPU_EGL_EGLEXTCHROMIUM_H_
72