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