-
Notifications
You must be signed in to change notification settings - Fork 121
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
git-subtree-dir: third_party/khronos git-subtree-split: 1759c6ae9316996b9f150c0ce9d0ca78a3d15c02
- Loading branch information
0 parents
commit bcac692
Showing
20 changed files
with
25,745 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Copyright 2014 The Chromium Authors | ||
# Use of this source code is governed by a BSD-style license that can be | ||
# found in the LICENSE file. | ||
|
||
config("khronos_headers") { | ||
include_dirs = [ | ||
".", | ||
"//gpu", # Contains GLES2/gl2chromium.h | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
include_rules = [ | ||
"+gpu/command_buffer/client/gles2_c_lib_export.h", | ||
"+mojo/public/c/gles2/gles2_export.h", | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
monorail: { | ||
component: "Internals>GPU>Internals" | ||
} | ||
team_email: "[email protected]" |
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
#ifndef __eglplatform_h_ | ||
#define __eglplatform_h_ | ||
|
||
/* | ||
** Copyright 2007-2020 The Khronos Group Inc. | ||
** SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
|
||
/* Platform-specific types and definitions for egl.h | ||
* | ||
* Adopters may modify khrplatform.h and this file to suit their platform. | ||
* You are encouraged to submit all modifications to the Khronos group so that | ||
* they can be included in future versions of this file. Please submit changes | ||
* by filing an issue or pull request on the public Khronos EGL Registry, at | ||
* https://www.github.com/KhronosGroup/EGL-Registry/ | ||
*/ | ||
|
||
#include <KHR/khrplatform.h> | ||
|
||
/* Macros used in EGL function prototype declarations. | ||
* | ||
* EGL functions should be prototyped as: | ||
* | ||
* EGLAPI return-type EGLAPIENTRY eglFunction(arguments); | ||
* typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); | ||
* | ||
* KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h | ||
*/ | ||
|
||
#ifndef EGLAPI | ||
#define EGLAPI KHRONOS_APICALL | ||
#endif | ||
|
||
#ifndef EGLAPIENTRY | ||
#define EGLAPIENTRY KHRONOS_APIENTRY | ||
#endif | ||
#define EGLAPIENTRYP EGLAPIENTRY* | ||
|
||
/* The types NativeDisplayType, NativeWindowType, and NativePixmapType | ||
* are aliases of window-system-dependent types, such as X Display * or | ||
* Windows Device Context. They must be defined in platform-specific | ||
* code below. The EGL-prefixed versions of Native*Type are the same | ||
* types, renamed in EGL 1.3 so all types in the API start with "EGL". | ||
* | ||
* Khronos STRONGLY RECOMMENDS that you use the default definitions | ||
* provided below, since these changes affect both binary and source | ||
* portability of applications using EGL running on different EGL | ||
* implementations. | ||
*/ | ||
|
||
#if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES) | ||
|
||
typedef void *EGLNativeDisplayType; | ||
typedef void *EGLNativePixmapType; | ||
typedef void *EGLNativeWindowType; | ||
|
||
#elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ | ||
#ifndef WIN32_LEAN_AND_MEAN | ||
#define WIN32_LEAN_AND_MEAN 1 | ||
#endif | ||
#include <windows.h> | ||
|
||
typedef HDC EGLNativeDisplayType; | ||
typedef HBITMAP EGLNativePixmapType; | ||
typedef HWND EGLNativeWindowType; | ||
|
||
#elif defined(__EMSCRIPTEN__) | ||
|
||
typedef int EGLNativeDisplayType; | ||
typedef int EGLNativePixmapType; | ||
typedef int EGLNativeWindowType; | ||
|
||
#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ | ||
|
||
typedef int EGLNativeDisplayType; | ||
typedef void *EGLNativePixmapType; | ||
typedef void *EGLNativeWindowType; | ||
|
||
#elif defined(WL_EGL_PLATFORM) | ||
|
||
typedef struct wl_display *EGLNativeDisplayType; | ||
typedef struct wl_egl_pixmap *EGLNativePixmapType; | ||
typedef struct wl_egl_window *EGLNativeWindowType; | ||
|
||
#elif defined(__GBM__) | ||
|
||
typedef struct gbm_device *EGLNativeDisplayType; | ||
typedef struct gbm_bo *EGLNativePixmapType; | ||
typedef void *EGLNativeWindowType; | ||
|
||
#elif defined(__ANDROID__) || defined(ANDROID) | ||
|
||
struct ANativeWindow; | ||
struct egl_native_pixmap_t; | ||
|
||
typedef void* EGLNativeDisplayType; | ||
typedef struct egl_native_pixmap_t* EGLNativePixmapType; | ||
typedef struct ANativeWindow* EGLNativeWindowType; | ||
|
||
#elif defined(USE_OZONE) | ||
|
||
typedef intptr_t EGLNativeDisplayType; | ||
typedef intptr_t EGLNativePixmapType; | ||
typedef intptr_t EGLNativeWindowType; | ||
|
||
#elif defined(USE_X11) | ||
|
||
/* X11 (tentative) */ | ||
#include <X11/Xlib.h> | ||
#include <X11/Xutil.h> | ||
|
||
typedef Display *EGLNativeDisplayType; | ||
typedef Pixmap EGLNativePixmapType; | ||
typedef Window EGLNativeWindowType; | ||
|
||
#elif defined(__unix__) | ||
|
||
typedef void *EGLNativeDisplayType; | ||
typedef khronos_uintptr_t EGLNativePixmapType; | ||
typedef khronos_uintptr_t EGLNativeWindowType; | ||
|
||
#elif defined(__APPLE__) | ||
|
||
typedef int EGLNativeDisplayType; | ||
typedef void *EGLNativePixmapType; | ||
typedef void *EGLNativeWindowType; | ||
|
||
#elif defined(__HAIKU__) | ||
|
||
#include <kernel/image.h> | ||
|
||
typedef void *EGLNativeDisplayType; | ||
typedef khronos_uintptr_t EGLNativePixmapType; | ||
typedef khronos_uintptr_t EGLNativeWindowType; | ||
|
||
#elif defined(__Fuchsia__) | ||
|
||
typedef void *EGLNativeDisplayType; | ||
typedef khronos_uintptr_t EGLNativePixmapType; | ||
typedef khronos_uintptr_t EGLNativeWindowType; | ||
|
||
#else | ||
#error "Platform not recognized" | ||
#endif | ||
|
||
/* EGL 1.2 types, renamed for consistency in EGL 1.3 */ | ||
typedef EGLNativeDisplayType NativeDisplayType; | ||
typedef EGLNativePixmapType NativePixmapType; | ||
typedef EGLNativeWindowType NativeWindowType; | ||
|
||
|
||
/* Define EGLint. This must be a signed integral type large enough to contain | ||
* all legal attribute names and values passed into and out of EGL, whether | ||
* their type is boolean, bitmask, enumerant (symbolic constant), integer, | ||
* handle, or other. While in general a 32-bit integer will suffice, if | ||
* handles are 64 bit types, then EGLint should be defined as a signed 64-bit | ||
* integer type. | ||
*/ | ||
typedef khronos_int32_t EGLint; | ||
|
||
|
||
/* C++ / C typecast macros for special EGL handle values */ | ||
#if defined(__cplusplus) | ||
#define EGL_CAST(type, value) (static_cast<type>(value)) | ||
#else | ||
#define EGL_CAST(type, value) ((type) (value)) | ||
#endif | ||
|
||
#endif /* __eglplatform_h */ |
Oops, something went wrong.