mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Merge branch 'wayland' into wayland-pr
This commit is contained in:
		
						commit
						87ac63f5d5
					
				
					 34 changed files with 9265 additions and 4 deletions
				
			
		
							
								
								
									
										170
									
								
								externals/glad/src/eglplatform.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								externals/glad/src/eglplatform.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,170 @@ | |||
| #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 */ | ||||
| 
 | ||||
							
								
								
									
										3464
									
								
								externals/glad/src/glad.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3464
									
								
								externals/glad/src/glad.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										10
									
								
								externals/glad/src/glad_egl.c
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								externals/glad/src/glad_egl.c
									
										
									
									
										vendored
									
									
								
							|  | @ -2,31 +2,38 @@ | |||
| 
 | ||||
|     EGL loader generated by glad 0.1.36 on Tue Jun 11 17:09:40 2024. | ||||
| 
 | ||||
| 
 | ||||
|     Language/Generator: C/C++ | ||||
|     Specification: egl | ||||
|     APIs: egl=1.5 | ||||
|     Profile: - | ||||
|     Extensions: | ||||
| 
 | ||||
|         EGL_EXT_create_context_robustness, | ||||
|         EGL_EXT_platform_x11, | ||||
|         EGL_KHR_create_context, | ||||
|         EGL_KHR_platform_x11 | ||||
|     Loader: True | ||||
|     Local files: False | ||||
| 
 | ||||
|     Omit khrplatform: False | ||||
|     Reproducible: False | ||||
| 
 | ||||
|     Commandline: | ||||
| 
 | ||||
|         --api="egl=1.5" --generator="c" --spec="egl" --extensions="EGL_EXT_create_context_robustness,EGL_EXT_platform_x11,EGL_KHR_create_context,EGL_KHR_platform_x11" | ||||
|     Online: | ||||
|         https://glad.dav1d.de/#language=c&specification=egl&loader=on&api=egl%3D1.5&extensions=EGL_EXT_create_context_robustness&extensions=EGL_EXT_platform_x11&extensions=EGL_KHR_create_context&extensions=EGL_KHR_platform_x11
 | ||||
| 
 | ||||
| */ | ||||
| 
 | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| 
 | ||||
| #include <glad/glad_egl.h> | ||||
| 
 | ||||
| 
 | ||||
| int gladLoadEGL(void) { | ||||
|     return gladLoadEGLLoader((GLADloadproc)eglGetProcAddress); | ||||
| } | ||||
|  | @ -44,5 +51,4 @@ int gladLoadEGLLoader(GLADloadproc load) { | |||
| 
 | ||||
| 	if (!find_extensionsEGL()) return 0; | ||||
| 	return 1; | ||||
| } | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										317
									
								
								externals/glad/src/glad_egl.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										317
									
								
								externals/glad/src/glad_egl.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,317 @@ | |||
| /*
 | ||||
| 
 | ||||
|     EGL loader generated by glad 0.1.36 on Thu Sep 15 11:06:51 2022. | ||||
| 
 | ||||
|     Language/Generator: C/C++ | ||||
|     Specification: egl | ||||
|     APIs: egl=1.5 | ||||
|     Profile: - | ||||
|     Extensions: | ||||
|          | ||||
|     Loader: True | ||||
|     Local files: True | ||||
|     Omit khrplatform: False | ||||
|     Reproducible: False | ||||
| 
 | ||||
|     Commandline: | ||||
|         --api="egl=1.5" --generator="c" --spec="egl" --local-files --extensions="" | ||||
|     Online: | ||||
|         https://glad.dav1d.de/#language=c&specification=egl&loader=on&api=egl%3D1.5
 | ||||
| */ | ||||
| 
 | ||||
| 
 | ||||
| #ifndef __glad_egl_h_ | ||||
| 
 | ||||
| #ifdef __egl_h_ | ||||
| #error EGL header already included, remove this include, glad already provides it | ||||
| #endif | ||||
| 
 | ||||
| #define __glad_egl_h_ | ||||
| #define __egl_h_ | ||||
| 
 | ||||
| #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) | ||||
| #define APIENTRY __stdcall | ||||
| #endif | ||||
| 
 | ||||
| #ifndef APIENTRY | ||||
| #define APIENTRY | ||||
| #endif | ||||
| #ifndef APIENTRYP | ||||
| #define APIENTRYP APIENTRY * | ||||
| #endif | ||||
| #ifndef GLAPI | ||||
| #define GLAPI extern | ||||
| #endif | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
| 
 | ||||
| typedef void* (* GLADloadproc)(const char *name); | ||||
| 
 | ||||
| GLAPI int gladLoadEGL(void); | ||||
| GLAPI int gladLoadEGLLoader(GLADloadproc); | ||||
| 
 | ||||
| #include "khrplatform.h" | ||||
| #include <EGL/eglplatform.h> | ||||
| struct AHardwareBuffer; | ||||
| struct wl_buffer; | ||||
| struct wl_display; | ||||
| struct wl_resource; | ||||
| typedef unsigned int EGLBoolean; | ||||
| typedef unsigned int EGLenum; | ||||
| typedef intptr_t EGLAttribKHR; | ||||
| typedef intptr_t EGLAttrib; | ||||
| typedef void *EGLClientBuffer; | ||||
| typedef void *EGLConfig; | ||||
| typedef void *EGLContext; | ||||
| typedef void *EGLDeviceEXT; | ||||
| typedef void *EGLDisplay; | ||||
| typedef void *EGLImage; | ||||
| typedef void *EGLImageKHR; | ||||
| typedef void *EGLLabelKHR; | ||||
| typedef void *EGLObjectKHR; | ||||
| typedef void *EGLOutputLayerEXT; | ||||
| typedef void *EGLOutputPortEXT; | ||||
| typedef void *EGLStreamKHR; | ||||
| typedef void *EGLSurface; | ||||
| typedef void *EGLSync; | ||||
| typedef void *EGLSyncKHR; | ||||
| typedef void *EGLSyncNV; | ||||
| typedef void (*__eglMustCastToProperFunctionPointerType)(void); | ||||
| typedef khronos_utime_nanoseconds_t EGLTimeKHR; | ||||
| typedef khronos_utime_nanoseconds_t EGLTime; | ||||
| typedef khronos_utime_nanoseconds_t EGLTimeNV; | ||||
| typedef khronos_utime_nanoseconds_t EGLuint64NV; | ||||
| typedef khronos_uint64_t EGLuint64KHR; | ||||
| typedef khronos_stime_nanoseconds_t EGLnsecsANDROID; | ||||
| typedef int EGLNativeFileDescriptorKHR; | ||||
| typedef khronos_ssize_t EGLsizeiANDROID; | ||||
| typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize); | ||||
| typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize); | ||||
| struct EGLClientPixmapHI { | ||||
|     void  *pData; | ||||
|     EGLint iWidth; | ||||
|     EGLint iHeight; | ||||
|     EGLint iStride; | ||||
| }; | ||||
| typedef void (APIENTRY *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message); | ||||
| #define PFNEGLBINDWAYLANDDISPLAYWL PFNEGLBINDWAYLANDDISPLAYWLPROC | ||||
| #define PFNEGLUNBINDWAYLANDDISPLAYWL PFNEGLUNBINDWAYLANDDISPLAYWLPROC | ||||
| #define PFNEGLQUERYWAYLANDBUFFERWL PFNEGLQUERYWAYLANDBUFFERWLPROC | ||||
| #define PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWL PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC | ||||
| #define EGL_ALPHA_SIZE 0x3021 | ||||
| #define EGL_BAD_ACCESS 0x3002 | ||||
| #define EGL_BAD_ALLOC 0x3003 | ||||
| #define EGL_BAD_ATTRIBUTE 0x3004 | ||||
| #define EGL_BAD_CONFIG 0x3005 | ||||
| #define EGL_BAD_CONTEXT 0x3006 | ||||
| #define EGL_BAD_CURRENT_SURFACE 0x3007 | ||||
| #define EGL_BAD_DISPLAY 0x3008 | ||||
| #define EGL_BAD_MATCH 0x3009 | ||||
| #define EGL_BAD_NATIVE_PIXMAP 0x300A | ||||
| #define EGL_BAD_NATIVE_WINDOW 0x300B | ||||
| #define EGL_BAD_PARAMETER 0x300C | ||||
| #define EGL_BAD_SURFACE 0x300D | ||||
| #define EGL_BLUE_SIZE 0x3022 | ||||
| #define EGL_BUFFER_SIZE 0x3020 | ||||
| #define EGL_CONFIG_CAVEAT 0x3027 | ||||
| #define EGL_CONFIG_ID 0x3028 | ||||
| #define EGL_CORE_NATIVE_ENGINE 0x305B | ||||
| #define EGL_DEPTH_SIZE 0x3025 | ||||
| #define EGL_DONT_CARE EGL_CAST(EGLint,-1) | ||||
| #define EGL_DRAW 0x3059 | ||||
| #define EGL_EXTENSIONS 0x3055 | ||||
| #define EGL_FALSE 0 | ||||
| #define EGL_GREEN_SIZE 0x3023 | ||||
| #define EGL_HEIGHT 0x3056 | ||||
| #define EGL_LARGEST_PBUFFER 0x3058 | ||||
| #define EGL_LEVEL 0x3029 | ||||
| #define EGL_MAX_PBUFFER_HEIGHT 0x302A | ||||
| #define EGL_MAX_PBUFFER_PIXELS 0x302B | ||||
| #define EGL_MAX_PBUFFER_WIDTH 0x302C | ||||
| #define EGL_NATIVE_RENDERABLE 0x302D | ||||
| #define EGL_NATIVE_VISUAL_ID 0x302E | ||||
| #define EGL_NATIVE_VISUAL_TYPE 0x302F | ||||
| #define EGL_NONE 0x3038 | ||||
| #define EGL_NON_CONFORMANT_CONFIG 0x3051 | ||||
| #define EGL_NOT_INITIALIZED 0x3001 | ||||
| #define EGL_NO_CONTEXT EGL_CAST(EGLContext,0) | ||||
| #define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0) | ||||
| #define EGL_NO_SURFACE EGL_CAST(EGLSurface,0) | ||||
| #define EGL_PBUFFER_BIT 0x0001 | ||||
| #define EGL_PIXMAP_BIT 0x0002 | ||||
| #define EGL_READ 0x305A | ||||
| #define EGL_RED_SIZE 0x3024 | ||||
| #define EGL_SAMPLES 0x3031 | ||||
| #define EGL_SAMPLE_BUFFERS 0x3032 | ||||
| #define EGL_SLOW_CONFIG 0x3050 | ||||
| #define EGL_STENCIL_SIZE 0x3026 | ||||
| #define EGL_SUCCESS 0x3000 | ||||
| #define EGL_SURFACE_TYPE 0x3033 | ||||
| #define EGL_TRANSPARENT_BLUE_VALUE 0x3035 | ||||
| #define EGL_TRANSPARENT_GREEN_VALUE 0x3036 | ||||
| #define EGL_TRANSPARENT_RED_VALUE 0x3037 | ||||
| #define EGL_TRANSPARENT_RGB 0x3052 | ||||
| #define EGL_TRANSPARENT_TYPE 0x3034 | ||||
| #define EGL_TRUE 1 | ||||
| #define EGL_VENDOR 0x3053 | ||||
| #define EGL_VERSION 0x3054 | ||||
| #define EGL_WIDTH 0x3057 | ||||
| #define EGL_WINDOW_BIT 0x0004 | ||||
| #define EGL_BACK_BUFFER 0x3084 | ||||
| #define EGL_BIND_TO_TEXTURE_RGB 0x3039 | ||||
| #define EGL_BIND_TO_TEXTURE_RGBA 0x303A | ||||
| #define EGL_CONTEXT_LOST 0x300E | ||||
| #define EGL_MIN_SWAP_INTERVAL 0x303B | ||||
| #define EGL_MAX_SWAP_INTERVAL 0x303C | ||||
| #define EGL_MIPMAP_TEXTURE 0x3082 | ||||
| #define EGL_MIPMAP_LEVEL 0x3083 | ||||
| #define EGL_NO_TEXTURE 0x305C | ||||
| #define EGL_TEXTURE_2D 0x305F | ||||
| #define EGL_TEXTURE_FORMAT 0x3080 | ||||
| #define EGL_TEXTURE_RGB 0x305D | ||||
| #define EGL_TEXTURE_RGBA 0x305E | ||||
| #define EGL_TEXTURE_TARGET 0x3081 | ||||
| #define EGL_ALPHA_FORMAT 0x3088 | ||||
| #define EGL_ALPHA_FORMAT_NONPRE 0x308B | ||||
| #define EGL_ALPHA_FORMAT_PRE 0x308C | ||||
| #define EGL_ALPHA_MASK_SIZE 0x303E | ||||
| #define EGL_BUFFER_PRESERVED 0x3094 | ||||
| #define EGL_BUFFER_DESTROYED 0x3095 | ||||
| #define EGL_CLIENT_APIS 0x308D | ||||
| #define EGL_COLORSPACE 0x3087 | ||||
| #define EGL_COLORSPACE_sRGB 0x3089 | ||||
| #define EGL_COLORSPACE_LINEAR 0x308A | ||||
| #define EGL_COLOR_BUFFER_TYPE 0x303F | ||||
| #define EGL_CONTEXT_CLIENT_TYPE 0x3097 | ||||
| #define EGL_DISPLAY_SCALING 10000 | ||||
| #define EGL_HORIZONTAL_RESOLUTION 0x3090 | ||||
| #define EGL_LUMINANCE_BUFFER 0x308F | ||||
| #define EGL_LUMINANCE_SIZE 0x303D | ||||
| #define EGL_OPENGL_ES_BIT 0x0001 | ||||
| #define EGL_OPENVG_BIT 0x0002 | ||||
| #define EGL_OPENGL_ES_API 0x30A0 | ||||
| #define EGL_OPENVG_API 0x30A1 | ||||
| #define EGL_OPENVG_IMAGE 0x3096 | ||||
| #define EGL_PIXEL_ASPECT_RATIO 0x3092 | ||||
| #define EGL_RENDERABLE_TYPE 0x3040 | ||||
| #define EGL_RENDER_BUFFER 0x3086 | ||||
| #define EGL_RGB_BUFFER 0x308E | ||||
| #define EGL_SINGLE_BUFFER 0x3085 | ||||
| #define EGL_SWAP_BEHAVIOR 0x3093 | ||||
| #define EGL_UNKNOWN EGL_CAST(EGLint,-1) | ||||
| #define EGL_VERTICAL_RESOLUTION 0x3091 | ||||
| #define EGL_CONFORMANT 0x3042 | ||||
| #define EGL_CONTEXT_CLIENT_VERSION 0x3098 | ||||
| #define EGL_MATCH_NATIVE_PIXMAP 0x3041 | ||||
| #define EGL_OPENGL_ES2_BIT 0x0004 | ||||
| #define EGL_VG_ALPHA_FORMAT 0x3088 | ||||
| #define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B | ||||
| #define EGL_VG_ALPHA_FORMAT_PRE 0x308C | ||||
| #define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 | ||||
| #define EGL_VG_COLORSPACE 0x3087 | ||||
| #define EGL_VG_COLORSPACE_sRGB 0x3089 | ||||
| #define EGL_VG_COLORSPACE_LINEAR 0x308A | ||||
| #define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 | ||||
| #define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0) | ||||
| #define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 | ||||
| #define EGL_MULTISAMPLE_RESOLVE 0x3099 | ||||
| #define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A | ||||
| #define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B | ||||
| #define EGL_OPENGL_API 0x30A2 | ||||
| #define EGL_OPENGL_BIT 0x0008 | ||||
| #define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 | ||||
| #define EGL_CONTEXT_MAJOR_VERSION 0x3098 | ||||
| #define EGL_CONTEXT_MINOR_VERSION 0x30FB | ||||
| #define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD | ||||
| #define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD | ||||
| #define EGL_NO_RESET_NOTIFICATION 0x31BE | ||||
| #define EGL_LOSE_CONTEXT_ON_RESET 0x31BF | ||||
| #define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001 | ||||
| #define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002 | ||||
| #define EGL_CONTEXT_OPENGL_DEBUG 0x31B0 | ||||
| #define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1 | ||||
| #define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2 | ||||
| #define EGL_OPENGL_ES3_BIT 0x00000040 | ||||
| #define EGL_CL_EVENT_HANDLE 0x309C | ||||
| #define EGL_SYNC_CL_EVENT 0x30FE | ||||
| #define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF | ||||
| #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0 | ||||
| #define EGL_SYNC_TYPE 0x30F7 | ||||
| #define EGL_SYNC_STATUS 0x30F1 | ||||
| #define EGL_SYNC_CONDITION 0x30F8 | ||||
| #define EGL_SIGNALED 0x30F2 | ||||
| #define EGL_UNSIGNALED 0x30F3 | ||||
| #define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001 | ||||
| #define EGL_FOREVER 0xFFFFFFFFFFFFFFFF | ||||
| #define EGL_TIMEOUT_EXPIRED 0x30F5 | ||||
| #define EGL_CONDITION_SATISFIED 0x30F6 | ||||
| #define EGL_NO_SYNC EGL_CAST(EGLSync,0) | ||||
| #define EGL_SYNC_FENCE 0x30F9 | ||||
| #define EGL_GL_COLORSPACE 0x309D | ||||
| #define EGL_GL_COLORSPACE_SRGB 0x3089 | ||||
| #define EGL_GL_COLORSPACE_LINEAR 0x308A | ||||
| #define EGL_GL_RENDERBUFFER 0x30B9 | ||||
| #define EGL_GL_TEXTURE_2D 0x30B1 | ||||
| #define EGL_GL_TEXTURE_LEVEL 0x30BC | ||||
| #define EGL_GL_TEXTURE_3D 0x30B2 | ||||
| #define EGL_GL_TEXTURE_ZOFFSET 0x30BD | ||||
| #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3 | ||||
| #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4 | ||||
| #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5 | ||||
| #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6 | ||||
| #define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7 | ||||
| #define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8 | ||||
| #define EGL_IMAGE_PRESERVED 0x30D2 | ||||
| #define EGL_NO_IMAGE EGL_CAST(EGLImage,0) | ||||
| EGLBoolean eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); | ||||
| EGLBoolean eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); | ||||
| EGLContext eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); | ||||
| EGLSurface eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); | ||||
| EGLSurface eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); | ||||
| EGLSurface eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); | ||||
| EGLBoolean eglDestroyContext(EGLDisplay dpy, EGLContext ctx); | ||||
| EGLBoolean eglDestroySurface(EGLDisplay dpy, EGLSurface surface); | ||||
| EGLBoolean eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); | ||||
| EGLBoolean eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); | ||||
| EGLDisplay eglGetCurrentDisplay(void); | ||||
| EGLSurface eglGetCurrentSurface(EGLint readdraw); | ||||
| EGLDisplay eglGetDisplay(EGLNativeDisplayType display_id); | ||||
| EGLint eglGetError(void); | ||||
| __eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname); | ||||
| EGLBoolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor); | ||||
| EGLBoolean eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); | ||||
| EGLBoolean eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); | ||||
| const char *eglQueryString(EGLDisplay dpy, EGLint name); | ||||
| EGLBoolean eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); | ||||
| EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface surface); | ||||
| EGLBoolean eglTerminate(EGLDisplay dpy); | ||||
| EGLBoolean eglWaitGL(void); | ||||
| EGLBoolean eglWaitNative(EGLint engine); | ||||
| EGLBoolean eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); | ||||
| EGLBoolean eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); | ||||
| EGLBoolean eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); | ||||
| EGLBoolean eglSwapInterval(EGLDisplay dpy, EGLint interval); | ||||
| EGLBoolean eglBindAPI(EGLenum api); | ||||
| EGLenum eglQueryAPI(void); | ||||
| EGLSurface eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); | ||||
| EGLBoolean eglReleaseThread(void); | ||||
| EGLBoolean eglWaitClient(void); | ||||
| EGLContext eglGetCurrentContext(void); | ||||
| EGLSync eglCreateSync(EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list); | ||||
| EGLBoolean eglDestroySync(EGLDisplay dpy, EGLSync sync); | ||||
| EGLint eglClientWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); | ||||
| EGLBoolean eglGetSyncAttrib(EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value); | ||||
| EGLImage eglCreateImage(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list); | ||||
| EGLBoolean eglDestroyImage(EGLDisplay dpy, EGLImage image); | ||||
| EGLDisplay eglGetPlatformDisplay(EGLenum platform, void *native_display, const EGLAttrib *attrib_list); | ||||
| EGLSurface eglCreatePlatformWindowSurface(EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); | ||||
| EGLSurface eglCreatePlatformPixmapSurface(EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); | ||||
| EGLBoolean eglWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags); | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| #endif | ||||
							
								
								
									
										19
									
								
								externals/glad/src/glad_glx.c
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								externals/glad/src/glad_glx.c
									
										
									
									
										vendored
									
									
								
							|  | @ -1,5 +1,6 @@ | |||
| /*
 | ||||
| 
 | ||||
| 
 | ||||
|     GLX loader generated by glad 0.1.36 on Tue Jun 11 18:29:34 2024. | ||||
| 
 | ||||
|     Language/Generator: C/C++ | ||||
|  | @ -17,20 +18,25 @@ | |||
|         GLX_SGI_swap_control | ||||
|     Loader: True | ||||
|     Local files: False | ||||
| 
 | ||||
|     Omit khrplatform: False | ||||
|     Reproducible: False | ||||
| 
 | ||||
|     Commandline: | ||||
| 
 | ||||
|         --api="glx=1.3" --generator="c" --spec="glx" --extensions="GLX_ARB_create_context,GLX_ARB_create_context_profile,GLX_ARB_get_proc_address,GLX_EXT_create_context_es2_profile,GLX_EXT_create_context_es_profile,GLX_EXT_swap_control,GLX_MESA_swap_control,GLX_SGI_swap_control" | ||||
|     Online: | ||||
|         https://glad.dav1d.de/#language=c&specification=glx&loader=on&api=glx%3D1.3&extensions=GLX_ARB_create_context&extensions=GLX_ARB_create_context_profile&extensions=GLX_ARB_get_proc_address&extensions=GLX_EXT_create_context_es2_profile&extensions=GLX_EXT_create_context_es_profile&extensions=GLX_EXT_swap_control&extensions=GLX_MESA_swap_control&extensions=GLX_SGI_swap_control
 | ||||
| 
 | ||||
| */ | ||||
| 
 | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| 
 | ||||
| #include <glad/glad_glx.h> | ||||
| 
 | ||||
| 
 | ||||
| static void* get_proc(const char *namez); | ||||
| 
 | ||||
| #if defined(_WIN32) || defined(__CYGWIN__) | ||||
|  | @ -211,6 +217,7 @@ int GLAD_GLX_VERSION_1_0 = 0; | |||
| int GLAD_GLX_VERSION_1_1 = 0; | ||||
| int GLAD_GLX_VERSION_1_2 = 0; | ||||
| int GLAD_GLX_VERSION_1_3 = 0; | ||||
| 
 | ||||
| PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig = NULL; | ||||
| PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual = NULL; | ||||
| PFNGLXCOPYCONTEXTPROC glad_glXCopyContext = NULL; | ||||
|  | @ -233,6 +240,7 @@ PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable = NULL; | |||
| PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable = NULL; | ||||
| PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib = NULL; | ||||
| PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs = NULL; | ||||
| 
 | ||||
| PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent = NULL; | ||||
| PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig = NULL; | ||||
| PFNGLXISDIRECTPROC glad_glXIsDirect = NULL; | ||||
|  | @ -249,6 +257,7 @@ PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers = NULL; | |||
| PFNGLXUSEXFONTPROC glad_glXUseXFont = NULL; | ||||
| PFNGLXWAITGLPROC glad_glXWaitGL = NULL; | ||||
| PFNGLXWAITXPROC glad_glXWaitX = NULL; | ||||
| 
 | ||||
| int GLAD_GLX_ARB_create_context = 0; | ||||
| int GLAD_GLX_ARB_create_context_profile = 0; | ||||
| int GLAD_GLX_ARB_get_proc_address = 0; | ||||
|  | @ -263,6 +272,7 @@ PFNGLXSWAPINTERVALEXTPROC glad_glXSwapIntervalEXT = NULL; | |||
| PFNGLXGETSWAPINTERVALMESAPROC glad_glXGetSwapIntervalMESA = NULL; | ||||
| PFNGLXSWAPINTERVALMESAPROC glad_glXSwapIntervalMESA = NULL; | ||||
| PFNGLXSWAPINTERVALSGIPROC glad_glXSwapIntervalSGI = NULL; | ||||
| 
 | ||||
| static void load_GLX_VERSION_1_0(GLADloadproc load) { | ||||
| 	if(!GLAD_GLX_VERSION_1_0) return; | ||||
| 	glad_glXChooseVisual = (PFNGLXCHOOSEVISUALPROC)load("glXChooseVisual"); | ||||
|  | @ -313,6 +323,7 @@ static void load_GLX_VERSION_1_3(GLADloadproc load) { | |||
| 	glad_glXSelectEvent = (PFNGLXSELECTEVENTPROC)load("glXSelectEvent"); | ||||
| 	glad_glXGetSelectedEvent = (PFNGLXGETSELECTEDEVENTPROC)load("glXGetSelectedEvent"); | ||||
| } | ||||
| 
 | ||||
| static void load_GLX_ARB_create_context(GLADloadproc load) { | ||||
| 	if(!GLAD_GLX_ARB_create_context) return; | ||||
| 	glad_glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC)load("glXCreateContextAttribsARB"); | ||||
|  | @ -321,19 +332,23 @@ static void load_GLX_ARB_get_proc_address(GLADloadproc load) { | |||
| 	if(!GLAD_GLX_ARB_get_proc_address) return; | ||||
| 	glad_glXGetProcAddressARB = (PFNGLXGETPROCADDRESSARBPROC)load("glXGetProcAddressARB"); | ||||
| } | ||||
| 
 | ||||
| static void load_GLX_EXT_swap_control(GLADloadproc load) { | ||||
| 	if(!GLAD_GLX_EXT_swap_control) return; | ||||
| 	glad_glXSwapIntervalEXT = (PFNGLXSWAPINTERVALEXTPROC)load("glXSwapIntervalEXT"); | ||||
| } | ||||
| 
 | ||||
| static void load_GLX_MESA_swap_control(GLADloadproc load) { | ||||
| 	if(!GLAD_GLX_MESA_swap_control) return; | ||||
| 	glad_glXGetSwapIntervalMESA = (PFNGLXGETSWAPINTERVALMESAPROC)load("glXGetSwapIntervalMESA"); | ||||
| 	glad_glXSwapIntervalMESA = (PFNGLXSWAPINTERVALMESAPROC)load("glXSwapIntervalMESA"); | ||||
| } | ||||
| 
 | ||||
| static void load_GLX_SGI_swap_control(GLADloadproc load) { | ||||
| 	if(!GLAD_GLX_SGI_swap_control) return; | ||||
| 	glad_glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)load("glXSwapIntervalSGI"); | ||||
| } | ||||
| 
 | ||||
| static int find_extensionsGLX(void) { | ||||
| 	if (!get_exts()) return 0; | ||||
| 	GLAD_GLX_ARB_create_context = has_ext("GLX_ARB_create_context"); | ||||
|  | @ -344,6 +359,7 @@ static int find_extensionsGLX(void) { | |||
| 	GLAD_GLX_EXT_swap_control = has_ext("GLX_EXT_swap_control"); | ||||
| 	GLAD_GLX_MESA_swap_control = has_ext("GLX_MESA_swap_control"); | ||||
| 	GLAD_GLX_SGI_swap_control = has_ext("GLX_SGI_swap_control"); | ||||
| 
 | ||||
| 	free_exts(); | ||||
| 	return 1; | ||||
| } | ||||
|  | @ -382,5 +398,4 @@ int gladLoadGLXLoader(GLADloadproc load, Display *dpy, int screen) { | |||
| 	load_GLX_MESA_swap_control(load); | ||||
| 	load_GLX_SGI_swap_control(load); | ||||
| 	return 1; | ||||
| } | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										1269
									
								
								externals/glad/src/glad_glx.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1269
									
								
								externals/glad/src/glad_glx.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										16
									
								
								externals/glad/src/glad_wgl.c
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								externals/glad/src/glad_wgl.c
									
										
									
									
										vendored
									
									
								
							|  | @ -1,18 +1,22 @@ | |||
| /*
 | ||||
| 
 | ||||
| 
 | ||||
|     WGL loader generated by glad 0.1.36 on Tue Jun 11 13:42:52 2024. | ||||
| 
 | ||||
| 
 | ||||
|     Language/Generator: C/C++ | ||||
|     Specification: wgl | ||||
|     APIs: wgl=1.0 | ||||
|     Profile: - | ||||
|     Extensions: | ||||
| 
 | ||||
|         WGL_ARB_create_context, | ||||
|         WGL_EXT_create_context_es2_profile, | ||||
|         WGL_EXT_create_context_es_profile, | ||||
|         WGL_EXT_swap_control | ||||
|     Loader: True | ||||
|     Local files: False | ||||
| 
 | ||||
|     Omit khrplatform: False | ||||
|     Reproducible: False | ||||
| 
 | ||||
|  | @ -20,13 +24,16 @@ | |||
|         --api="wgl=1.0" --generator="c" --spec="wgl" --extensions="WGL_ARB_create_context,WGL_EXT_create_context_es2_profile,WGL_EXT_create_context_es_profile,WGL_EXT_swap_control" | ||||
|     Online: | ||||
|         https://glad.dav1d.de/#language=c&specification=wgl&loader=on&api=wgl%3D1.0&extensions=WGL_ARB_create_context&extensions=WGL_EXT_create_context_es2_profile&extensions=WGL_EXT_create_context_es_profile&extensions=WGL_EXT_swap_control
 | ||||
| 
 | ||||
| */ | ||||
| 
 | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
| 
 | ||||
| #include <glad/glad_wgl.h> | ||||
| 
 | ||||
| 
 | ||||
| static void* get_proc(const char *namez); | ||||
| 
 | ||||
| #if defined(_WIN32) || defined(__CYGWIN__) | ||||
|  | @ -158,7 +165,9 @@ int gladLoadWGL(HDC hdc) { | |||
|     return status; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void gladUnloadWGL(void) { | ||||
| 
 | ||||
|     close_wgl(); | ||||
| } | ||||
| 
 | ||||
|  | @ -205,6 +214,7 @@ static int has_ext(const char *ext) { | |||
|     return 0; | ||||
| } | ||||
| int GLAD_WGL_VERSION_1_0 = 0; | ||||
| 
 | ||||
| int GLAD_WGL_ARB_create_context = 0; | ||||
| int GLAD_WGL_EXT_create_context_es2_profile = 0; | ||||
| int GLAD_WGL_EXT_create_context_es_profile = 0; | ||||
|  | @ -212,21 +222,26 @@ int GLAD_WGL_EXT_swap_control = 0; | |||
| PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB = NULL; | ||||
| PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT = NULL; | ||||
| PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT = NULL; | ||||
| 
 | ||||
| static void load_WGL_ARB_create_context(GLADloadproc load) { | ||||
| 	if(!GLAD_WGL_ARB_create_context) return; | ||||
| 	glad_wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)load("wglCreateContextAttribsARB"); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| static void load_WGL_EXT_swap_control(GLADloadproc load) { | ||||
| 	if(!GLAD_WGL_EXT_swap_control) return; | ||||
| 	glad_wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)load("wglSwapIntervalEXT"); | ||||
| 	glad_wglGetSwapIntervalEXT = (PFNWGLGETSWAPINTERVALEXTPROC)load("wglGetSwapIntervalEXT"); | ||||
| } | ||||
| 
 | ||||
| static int find_extensionsWGL(void) { | ||||
| 	if (!get_exts()) return 0; | ||||
| 	GLAD_WGL_ARB_create_context = has_ext("WGL_ARB_create_context"); | ||||
| 	GLAD_WGL_EXT_create_context_es2_profile = has_ext("WGL_EXT_create_context_es2_profile"); | ||||
| 	GLAD_WGL_EXT_create_context_es_profile = has_ext("WGL_EXT_create_context_es_profile"); | ||||
| 	GLAD_WGL_EXT_swap_control = has_ext("WGL_EXT_swap_control"); | ||||
| 
 | ||||
| 	free_exts(); | ||||
| 	return 1; | ||||
| } | ||||
|  | @ -242,6 +257,7 @@ int gladLoadWGLLoader(GLADloadproc load, HDC hdc) { | |||
| 	find_coreWGL(hdc); | ||||
| 
 | ||||
| 	if (!find_extensionsWGL()) return 0; | ||||
| 
 | ||||
| 	load_WGL_ARB_create_context(load); | ||||
| 	load_WGL_EXT_swap_control(load); | ||||
| 	return 1; | ||||
|  |  | |||
							
								
								
									
										1016
									
								
								externals/glad/src/glad_wgl.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1016
									
								
								externals/glad/src/glad_wgl.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										311
									
								
								externals/glad/src/khrplatform.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										311
									
								
								externals/glad/src/khrplatform.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,311 @@ | |||
| #ifndef __khrplatform_h_ | ||||
| #define __khrplatform_h_ | ||||
| 
 | ||||
| /*
 | ||||
| ** Copyright (c) 2008-2018 The Khronos Group Inc. | ||||
| ** | ||||
| ** Permission is hereby granted, free of charge, to any person obtaining a | ||||
| ** copy of this software and/or associated documentation files (the | ||||
| ** "Materials"), to deal in the Materials without restriction, including | ||||
| ** without limitation the rights to use, copy, modify, merge, publish, | ||||
| ** distribute, sublicense, and/or sell copies of the Materials, and to | ||||
| ** permit persons to whom the Materials are furnished to do so, subject to | ||||
| ** the following conditions: | ||||
| ** | ||||
| ** The above copyright notice and this permission notice shall be included | ||||
| ** in all copies or substantial portions of the Materials. | ||||
| ** | ||||
| ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
| ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||||
| ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||||
| ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | ||||
| ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||||
| ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||||
| ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | ||||
| */ | ||||
| 
 | ||||
| /* Khronos platform-specific types and definitions.
 | ||||
|  * | ||||
|  * The master copy of khrplatform.h is maintained in the Khronos EGL | ||||
|  * Registry repository at https://github.com/KhronosGroup/EGL-Registry
 | ||||
|  * The last semantic modification to khrplatform.h was at commit ID: | ||||
|  *      67a3e0864c2d75ea5287b9f3d2eb74a745936692 | ||||
|  * | ||||
|  * Adopters may modify this file to suit their platform. Adopters are | ||||
|  * encouraged to submit platform specific modifications to the Khronos | ||||
|  * group so that they can be included in future versions of this file. | ||||
|  * Please submit changes by filing pull requests or issues on | ||||
|  * the EGL Registry repository linked above. | ||||
|  * | ||||
|  * | ||||
|  * See the Implementer's Guidelines for information about where this file | ||||
|  * should be located on your system and for more details of its use: | ||||
|  *    http://www.khronos.org/registry/implementers_guide.pdf
 | ||||
|  * | ||||
|  * This file should be included as | ||||
|  *        #include <KHR/khrplatform.h> | ||||
|  * by Khronos client API header files that use its types and defines. | ||||
|  * | ||||
|  * The types in khrplatform.h should only be used to define API-specific types. | ||||
|  * | ||||
|  * Types defined in khrplatform.h: | ||||
|  *    khronos_int8_t              signed   8  bit | ||||
|  *    khronos_uint8_t             unsigned 8  bit | ||||
|  *    khronos_int16_t             signed   16 bit | ||||
|  *    khronos_uint16_t            unsigned 16 bit | ||||
|  *    khronos_int32_t             signed   32 bit | ||||
|  *    khronos_uint32_t            unsigned 32 bit | ||||
|  *    khronos_int64_t             signed   64 bit | ||||
|  *    khronos_uint64_t            unsigned 64 bit | ||||
|  *    khronos_intptr_t            signed   same number of bits as a pointer | ||||
|  *    khronos_uintptr_t           unsigned same number of bits as a pointer | ||||
|  *    khronos_ssize_t             signed   size | ||||
|  *    khronos_usize_t             unsigned size | ||||
|  *    khronos_float_t             signed   32 bit floating point | ||||
|  *    khronos_time_ns_t           unsigned 64 bit time in nanoseconds | ||||
|  *    khronos_utime_nanoseconds_t unsigned time interval or absolute time in | ||||
|  *                                         nanoseconds | ||||
|  *    khronos_stime_nanoseconds_t signed time interval in nanoseconds | ||||
|  *    khronos_boolean_enum_t      enumerated boolean type. This should | ||||
|  *      only be used as a base type when a client API's boolean type is | ||||
|  *      an enum. Client APIs which use an integer or other type for | ||||
|  *      booleans cannot use this as the base type for their boolean. | ||||
|  * | ||||
|  * Tokens defined in khrplatform.h: | ||||
|  * | ||||
|  *    KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. | ||||
|  * | ||||
|  *    KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. | ||||
|  *    KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. | ||||
|  * | ||||
|  * Calling convention macros defined in this file: | ||||
|  *    KHRONOS_APICALL | ||||
|  *    KHRONOS_APIENTRY | ||||
|  *    KHRONOS_APIATTRIBUTES | ||||
|  * | ||||
|  * These may be used in function prototypes as: | ||||
|  * | ||||
|  *      KHRONOS_APICALL void KHRONOS_APIENTRY funcname( | ||||
|  *                                  int arg1, | ||||
|  *                                  int arg2) KHRONOS_APIATTRIBUTES; | ||||
|  */ | ||||
| 
 | ||||
| #if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC) | ||||
| #   define KHRONOS_STATIC 1 | ||||
| #endif | ||||
| 
 | ||||
| /*-------------------------------------------------------------------------
 | ||||
|  * Definition of KHRONOS_APICALL | ||||
|  *------------------------------------------------------------------------- | ||||
|  * This precedes the return type of the function in the function prototype. | ||||
|  */ | ||||
| #if defined(KHRONOS_STATIC) | ||||
|     /* If the preprocessor constant KHRONOS_STATIC is defined, make the
 | ||||
|      * header compatible with static linking. */ | ||||
| #   define KHRONOS_APICALL | ||||
| #elif defined(_WIN32) | ||||
| #   define KHRONOS_APICALL __declspec(dllimport) | ||||
| #elif defined (__SYMBIAN32__) | ||||
| #   define KHRONOS_APICALL IMPORT_C | ||||
| #elif defined(__ANDROID__) | ||||
| #   define KHRONOS_APICALL __attribute__((visibility("default"))) | ||||
| #else | ||||
| #   define KHRONOS_APICALL | ||||
| #endif | ||||
| 
 | ||||
| /*-------------------------------------------------------------------------
 | ||||
|  * Definition of KHRONOS_APIENTRY | ||||
|  *------------------------------------------------------------------------- | ||||
|  * This follows the return type of the function  and precedes the function | ||||
|  * name in the function prototype. | ||||
|  */ | ||||
| #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) | ||||
|     /* Win32 but not WinCE */ | ||||
| #   define KHRONOS_APIENTRY __stdcall | ||||
| #else | ||||
| #   define KHRONOS_APIENTRY | ||||
| #endif | ||||
| 
 | ||||
| /*-------------------------------------------------------------------------
 | ||||
|  * Definition of KHRONOS_APIATTRIBUTES | ||||
|  *------------------------------------------------------------------------- | ||||
|  * This follows the closing parenthesis of the function prototype arguments. | ||||
|  */ | ||||
| #if defined (__ARMCC_2__) | ||||
| #define KHRONOS_APIATTRIBUTES __softfp | ||||
| #else | ||||
| #define KHRONOS_APIATTRIBUTES | ||||
| #endif | ||||
| 
 | ||||
| /*-------------------------------------------------------------------------
 | ||||
|  * basic type definitions | ||||
|  *-----------------------------------------------------------------------*/ | ||||
| #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * Using <stdint.h> | ||||
|  */ | ||||
| #include <stdint.h> | ||||
| typedef int32_t                 khronos_int32_t; | ||||
| typedef uint32_t                khronos_uint32_t; | ||||
| typedef int64_t                 khronos_int64_t; | ||||
| typedef uint64_t                khronos_uint64_t; | ||||
| #define KHRONOS_SUPPORT_INT64   1 | ||||
| #define KHRONOS_SUPPORT_FLOAT   1 | ||||
| /*
 | ||||
|  * To support platform where unsigned long cannot be used interchangeably with | ||||
|  * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. | ||||
|  * Ideally, we could just use (u)intptr_t everywhere, but this could result in | ||||
|  * ABI breakage if khronos_uintptr_t is changed from unsigned long to | ||||
|  * unsigned long long or similar (this results in different C++ name mangling). | ||||
|  * To avoid changes for existing platforms, we restrict usage of intptr_t to | ||||
|  * platforms where the size of a pointer is larger than the size of long. | ||||
|  */ | ||||
| #if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) | ||||
| #if __SIZEOF_POINTER__ > __SIZEOF_LONG__ | ||||
| #define KHRONOS_USE_INTPTR_T | ||||
| #endif | ||||
| #endif | ||||
| 
 | ||||
| #elif defined(__VMS ) || defined(__sgi) | ||||
| 
 | ||||
| /*
 | ||||
|  * Using <inttypes.h> | ||||
|  */ | ||||
| #include <inttypes.h> | ||||
| typedef int32_t                 khronos_int32_t; | ||||
| typedef uint32_t                khronos_uint32_t; | ||||
| typedef int64_t                 khronos_int64_t; | ||||
| typedef uint64_t                khronos_uint64_t; | ||||
| #define KHRONOS_SUPPORT_INT64   1 | ||||
| #define KHRONOS_SUPPORT_FLOAT   1 | ||||
| 
 | ||||
| #elif defined(_WIN32) && !defined(__SCITECH_SNAP__) | ||||
| 
 | ||||
| /*
 | ||||
|  * Win32 | ||||
|  */ | ||||
| typedef __int32                 khronos_int32_t; | ||||
| typedef unsigned __int32        khronos_uint32_t; | ||||
| typedef __int64                 khronos_int64_t; | ||||
| typedef unsigned __int64        khronos_uint64_t; | ||||
| #define KHRONOS_SUPPORT_INT64   1 | ||||
| #define KHRONOS_SUPPORT_FLOAT   1 | ||||
| 
 | ||||
| #elif defined(__sun__) || defined(__digital__) | ||||
| 
 | ||||
| /*
 | ||||
|  * Sun or Digital | ||||
|  */ | ||||
| typedef int                     khronos_int32_t; | ||||
| typedef unsigned int            khronos_uint32_t; | ||||
| #if defined(__arch64__) || defined(_LP64) | ||||
| typedef long int                khronos_int64_t; | ||||
| typedef unsigned long int       khronos_uint64_t; | ||||
| #else | ||||
| typedef long long int           khronos_int64_t; | ||||
| typedef unsigned long long int  khronos_uint64_t; | ||||
| #endif /* __arch64__ */ | ||||
| #define KHRONOS_SUPPORT_INT64   1 | ||||
| #define KHRONOS_SUPPORT_FLOAT   1 | ||||
| 
 | ||||
| #elif 0 | ||||
| 
 | ||||
| /*
 | ||||
|  * Hypothetical platform with no float or int64 support | ||||
|  */ | ||||
| typedef int                     khronos_int32_t; | ||||
| typedef unsigned int            khronos_uint32_t; | ||||
| #define KHRONOS_SUPPORT_INT64   0 | ||||
| #define KHRONOS_SUPPORT_FLOAT   0 | ||||
| 
 | ||||
| #else | ||||
| 
 | ||||
| /*
 | ||||
|  * Generic fallback | ||||
|  */ | ||||
| #include <stdint.h> | ||||
| typedef int32_t                 khronos_int32_t; | ||||
| typedef uint32_t                khronos_uint32_t; | ||||
| typedef int64_t                 khronos_int64_t; | ||||
| typedef uint64_t                khronos_uint64_t; | ||||
| #define KHRONOS_SUPPORT_INT64   1 | ||||
| #define KHRONOS_SUPPORT_FLOAT   1 | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * Types that are (so far) the same on all platforms | ||||
|  */ | ||||
| typedef signed   char          khronos_int8_t; | ||||
| typedef unsigned char          khronos_uint8_t; | ||||
| typedef signed   short int     khronos_int16_t; | ||||
| typedef unsigned short int     khronos_uint16_t; | ||||
| 
 | ||||
| /*
 | ||||
|  * Types that differ between LLP64 and LP64 architectures - in LLP64, | ||||
|  * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears | ||||
|  * to be the only LLP64 architecture in current use. | ||||
|  */ | ||||
| #ifdef KHRONOS_USE_INTPTR_T | ||||
| typedef intptr_t               khronos_intptr_t; | ||||
| typedef uintptr_t              khronos_uintptr_t; | ||||
| #elif defined(_WIN64) | ||||
| typedef signed   long long int khronos_intptr_t; | ||||
| typedef unsigned long long int khronos_uintptr_t; | ||||
| #else | ||||
| typedef signed   long  int     khronos_intptr_t; | ||||
| typedef unsigned long  int     khronos_uintptr_t; | ||||
| #endif | ||||
| 
 | ||||
| #if defined(_WIN64) | ||||
| typedef signed   long long int khronos_ssize_t; | ||||
| typedef unsigned long long int khronos_usize_t; | ||||
| #else | ||||
| typedef signed   long  int     khronos_ssize_t; | ||||
| typedef unsigned long  int     khronos_usize_t; | ||||
| #endif | ||||
| 
 | ||||
| #if KHRONOS_SUPPORT_FLOAT | ||||
| /*
 | ||||
|  * Float type | ||||
|  */ | ||||
| typedef          float         khronos_float_t; | ||||
| #endif | ||||
| 
 | ||||
| #if KHRONOS_SUPPORT_INT64 | ||||
| /* Time types
 | ||||
|  * | ||||
|  * These types can be used to represent a time interval in nanoseconds or | ||||
|  * an absolute Unadjusted System Time.  Unadjusted System Time is the number | ||||
|  * of nanoseconds since some arbitrary system event (e.g. since the last | ||||
|  * time the system booted).  The Unadjusted System Time is an unsigned | ||||
|  * 64 bit value that wraps back to 0 every 584 years.  Time intervals | ||||
|  * may be either signed or unsigned. | ||||
|  */ | ||||
| typedef khronos_uint64_t       khronos_utime_nanoseconds_t; | ||||
| typedef khronos_int64_t        khronos_stime_nanoseconds_t; | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
|  * Dummy value used to pad enum types to 32 bits. | ||||
|  */ | ||||
| #ifndef KHRONOS_MAX_ENUM | ||||
| #define KHRONOS_MAX_ENUM 0x7FFFFFFF | ||||
| #endif | ||||
| 
 | ||||
| /*
 | ||||
|  * Enumerated boolean type | ||||
|  * | ||||
|  * Values other than zero should be considered to be true.  Therefore | ||||
|  * comparisons should not be made against KHRONOS_TRUE. | ||||
|  */ | ||||
| typedef enum { | ||||
|     KHRONOS_FALSE = 0, | ||||
|     KHRONOS_TRUE  = 1, | ||||
|     KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM | ||||
| } khronos_boolean_enum_t; | ||||
| 
 | ||||
| #endif /* __khrplatform_h_ */ | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue