mirror of https://github.com/PCSX2/pcsx2.git
3rdparty: Add glad
This commit is contained in:
parent
97474488d8
commit
ca2a75db9c
|
@ -0,0 +1,22 @@
|
||||||
|
add_library(glad
|
||||||
|
src/glad.c
|
||||||
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
target_sources(glad PRIVATE
|
||||||
|
src/glad_wgl.c
|
||||||
|
)
|
||||||
|
elseif(X11_API OR WAYLAND_API)
|
||||||
|
target_sources(glad PRIVATE
|
||||||
|
src/glad_egl.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_include_directories(glad PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||||
|
target_include_directories(glad INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include")
|
||||||
|
target_link_libraries(glad PRIVATE Threads::Threads "${CMAKE_DL_LIBS}")
|
||||||
|
|
||||||
|
if(APPLE)
|
||||||
|
target_compile_options(glad PRIVATE -fno-common)
|
||||||
|
endif()
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(SolutionDir)common\vsprops\BaseProjectConfig.props" />
|
||||||
|
<Import Project="$(SolutionDir)common\vsprops\WinSDK.props" />
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}</ProjectGuid>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization Condition="$(Configuration.Contains(Release))">true</WholeProgramOptimization>
|
||||||
|
<UseDebugLibraries Condition="$(Configuration.Contains(Debug))">true</UseDebugLibraries>
|
||||||
|
<UseDebugLibraries Condition="!$(Configuration.Contains(Debug))">false</UseDebugLibraries>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings" />
|
||||||
|
<ImportGroup Label="PropertySheets">
|
||||||
|
<Import Project="..\DefaultProjectRootDir.props" />
|
||||||
|
<Import Project="..\3rdparty.props" />
|
||||||
|
<Import Condition="$(Configuration.Contains(Debug))" Project="..\..\common\vsprops\CodeGen_Debug.props" />
|
||||||
|
<Import Condition="$(Configuration.Contains(Devel))" Project="..\..\common\vsprops\CodeGen_Devel.props" />
|
||||||
|
<Import Condition="$(Configuration.Contains(Release))" Project="..\..\common\vsprops\CodeGen_Release.props" />
|
||||||
|
<Import Condition="!$(Configuration.Contains(Release))" Project="..\..\common\vsprops\IncrementalLinking.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup>
|
||||||
|
<ClCompile>
|
||||||
|
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<WarningLevel>TurnOffAllWarnings</WarningLevel>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="src\glad.c" />
|
||||||
|
<ClCompile Include="src\glad_wgl.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="include\glad.h" />
|
||||||
|
<ClInclude Include="include\glad_wgl.h" />
|
||||||
|
<ClInclude Include="include\khrplatform.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets" />
|
||||||
|
</Project>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="src\glad.c">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\glad_wgl.c">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="include\glad.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\glad_wgl.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="include\khrplatform.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,282 @@
|
||||||
|
#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;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------------
|
||||||
|
* Definition of KHRONOS_APICALL
|
||||||
|
*-------------------------------------------------------------------------
|
||||||
|
* This precedes the return type of the function in the function prototype.
|
||||||
|
*/
|
||||||
|
#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#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 _WIN64
|
||||||
|
typedef signed long long int khronos_intptr_t;
|
||||||
|
typedef unsigned long long int khronos_uintptr_t;
|
||||||
|
typedef signed long long int khronos_ssize_t;
|
||||||
|
typedef unsigned long long int khronos_usize_t;
|
||||||
|
#else
|
||||||
|
typedef signed long int khronos_intptr_t;
|
||||||
|
typedef unsigned long int khronos_uintptr_t;
|
||||||
|
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_ */
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,576 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
EGL loader generated by glad 0.1.33 on Sun May 3 16:34:53 2020.
|
||||||
|
|
||||||
|
Language/Generator: C/C++
|
||||||
|
Specification: egl
|
||||||
|
APIs: egl=1.5
|
||||||
|
Profile: -
|
||||||
|
Extensions:
|
||||||
|
EGL_ANDROID_GLES_layers,
|
||||||
|
EGL_ANDROID_blob_cache,
|
||||||
|
EGL_ANDROID_create_native_client_buffer,
|
||||||
|
EGL_ANDROID_framebuffer_target,
|
||||||
|
EGL_ANDROID_front_buffer_auto_refresh,
|
||||||
|
EGL_ANDROID_get_frame_timestamps,
|
||||||
|
EGL_ANDROID_get_native_client_buffer,
|
||||||
|
EGL_ANDROID_image_native_buffer,
|
||||||
|
EGL_ANDROID_native_fence_sync,
|
||||||
|
EGL_ANDROID_presentation_time,
|
||||||
|
EGL_ANDROID_recordable,
|
||||||
|
EGL_ANGLE_d3d_share_handle_client_buffer,
|
||||||
|
EGL_ANGLE_device_d3d,
|
||||||
|
EGL_ANGLE_query_surface_pointer,
|
||||||
|
EGL_ANGLE_surface_d3d_texture_2d_share_handle,
|
||||||
|
EGL_ANGLE_window_fixed_size,
|
||||||
|
EGL_ARM_image_format,
|
||||||
|
EGL_ARM_implicit_external_sync,
|
||||||
|
EGL_ARM_pixmap_multisample_discard,
|
||||||
|
EGL_EXT_bind_to_front,
|
||||||
|
EGL_EXT_buffer_age,
|
||||||
|
EGL_EXT_client_extensions,
|
||||||
|
EGL_EXT_client_sync,
|
||||||
|
EGL_EXT_compositor,
|
||||||
|
EGL_EXT_create_context_robustness,
|
||||||
|
EGL_EXT_device_base,
|
||||||
|
EGL_EXT_device_drm,
|
||||||
|
EGL_EXT_device_enumeration,
|
||||||
|
EGL_EXT_device_openwf,
|
||||||
|
EGL_EXT_device_query,
|
||||||
|
EGL_EXT_gl_colorspace_bt2020_linear,
|
||||||
|
EGL_EXT_gl_colorspace_bt2020_pq,
|
||||||
|
EGL_EXT_gl_colorspace_display_p3,
|
||||||
|
EGL_EXT_gl_colorspace_display_p3_linear,
|
||||||
|
EGL_EXT_gl_colorspace_display_p3_passthrough,
|
||||||
|
EGL_EXT_gl_colorspace_scrgb,
|
||||||
|
EGL_EXT_gl_colorspace_scrgb_linear,
|
||||||
|
EGL_EXT_image_dma_buf_import,
|
||||||
|
EGL_EXT_image_dma_buf_import_modifiers,
|
||||||
|
EGL_EXT_image_gl_colorspace,
|
||||||
|
EGL_EXT_image_implicit_sync_control,
|
||||||
|
EGL_EXT_multiview_window,
|
||||||
|
EGL_EXT_output_base,
|
||||||
|
EGL_EXT_output_drm,
|
||||||
|
EGL_EXT_output_openwf,
|
||||||
|
EGL_EXT_pixel_format_float,
|
||||||
|
EGL_EXT_platform_base,
|
||||||
|
EGL_EXT_platform_device,
|
||||||
|
EGL_EXT_platform_wayland,
|
||||||
|
EGL_EXT_platform_x11,
|
||||||
|
EGL_EXT_protected_content,
|
||||||
|
EGL_EXT_protected_surface,
|
||||||
|
EGL_EXT_stream_consumer_egloutput,
|
||||||
|
EGL_EXT_surface_CTA861_3_metadata,
|
||||||
|
EGL_EXT_surface_SMPTE2086_metadata,
|
||||||
|
EGL_EXT_swap_buffers_with_damage,
|
||||||
|
EGL_EXT_sync_reuse,
|
||||||
|
EGL_EXT_yuv_surface,
|
||||||
|
EGL_HI_clientpixmap,
|
||||||
|
EGL_HI_colorformats,
|
||||||
|
EGL_IMG_context_priority,
|
||||||
|
EGL_IMG_image_plane_attribs,
|
||||||
|
EGL_KHR_cl_event,
|
||||||
|
EGL_KHR_cl_event2,
|
||||||
|
EGL_KHR_client_get_all_proc_addresses,
|
||||||
|
EGL_KHR_config_attribs,
|
||||||
|
EGL_KHR_context_flush_control,
|
||||||
|
EGL_KHR_create_context,
|
||||||
|
EGL_KHR_create_context_no_error,
|
||||||
|
EGL_KHR_debug,
|
||||||
|
EGL_KHR_display_reference,
|
||||||
|
EGL_KHR_fence_sync,
|
||||||
|
EGL_KHR_get_all_proc_addresses,
|
||||||
|
EGL_KHR_gl_colorspace,
|
||||||
|
EGL_KHR_gl_renderbuffer_image,
|
||||||
|
EGL_KHR_gl_texture_2D_image,
|
||||||
|
EGL_KHR_gl_texture_3D_image,
|
||||||
|
EGL_KHR_gl_texture_cubemap_image,
|
||||||
|
EGL_KHR_image,
|
||||||
|
EGL_KHR_image_base,
|
||||||
|
EGL_KHR_image_pixmap,
|
||||||
|
EGL_KHR_lock_surface,
|
||||||
|
EGL_KHR_lock_surface2,
|
||||||
|
EGL_KHR_lock_surface3,
|
||||||
|
EGL_KHR_mutable_render_buffer,
|
||||||
|
EGL_KHR_no_config_context,
|
||||||
|
EGL_KHR_partial_update,
|
||||||
|
EGL_KHR_platform_android,
|
||||||
|
EGL_KHR_platform_gbm,
|
||||||
|
EGL_KHR_platform_wayland,
|
||||||
|
EGL_KHR_platform_x11,
|
||||||
|
EGL_KHR_reusable_sync,
|
||||||
|
EGL_KHR_stream,
|
||||||
|
EGL_KHR_stream_attrib,
|
||||||
|
EGL_KHR_stream_consumer_gltexture,
|
||||||
|
EGL_KHR_stream_cross_process_fd,
|
||||||
|
EGL_KHR_stream_fifo,
|
||||||
|
EGL_KHR_stream_producer_aldatalocator,
|
||||||
|
EGL_KHR_stream_producer_eglsurface,
|
||||||
|
EGL_KHR_surfaceless_context,
|
||||||
|
EGL_KHR_swap_buffers_with_damage,
|
||||||
|
EGL_KHR_vg_parent_image,
|
||||||
|
EGL_KHR_wait_sync,
|
||||||
|
EGL_MESA_drm_image,
|
||||||
|
EGL_MESA_image_dma_buf_export,
|
||||||
|
EGL_MESA_platform_gbm,
|
||||||
|
EGL_MESA_platform_surfaceless,
|
||||||
|
EGL_MESA_query_driver,
|
||||||
|
EGL_NOK_swap_region,
|
||||||
|
EGL_NOK_swap_region2,
|
||||||
|
EGL_NOK_texture_from_pixmap,
|
||||||
|
EGL_NV_3dvision_surface,
|
||||||
|
EGL_NV_context_priority_realtime,
|
||||||
|
EGL_NV_coverage_sample,
|
||||||
|
EGL_NV_coverage_sample_resolve,
|
||||||
|
EGL_NV_cuda_event,
|
||||||
|
EGL_NV_depth_nonlinear,
|
||||||
|
EGL_NV_device_cuda,
|
||||||
|
EGL_NV_native_query,
|
||||||
|
EGL_NV_post_convert_rounding,
|
||||||
|
EGL_NV_post_sub_buffer,
|
||||||
|
EGL_NV_quadruple_buffer,
|
||||||
|
EGL_NV_robustness_video_memory_purge,
|
||||||
|
EGL_NV_stream_consumer_gltexture_yuv,
|
||||||
|
EGL_NV_stream_cross_display,
|
||||||
|
EGL_NV_stream_cross_object,
|
||||||
|
EGL_NV_stream_cross_partition,
|
||||||
|
EGL_NV_stream_cross_process,
|
||||||
|
EGL_NV_stream_cross_system,
|
||||||
|
EGL_NV_stream_dma,
|
||||||
|
EGL_NV_stream_fifo_next,
|
||||||
|
EGL_NV_stream_fifo_synchronous,
|
||||||
|
EGL_NV_stream_flush,
|
||||||
|
EGL_NV_stream_frame_limits,
|
||||||
|
EGL_NV_stream_metadata,
|
||||||
|
EGL_NV_stream_origin,
|
||||||
|
EGL_NV_stream_remote,
|
||||||
|
EGL_NV_stream_reset,
|
||||||
|
EGL_NV_stream_socket,
|
||||||
|
EGL_NV_stream_socket_inet,
|
||||||
|
EGL_NV_stream_socket_unix,
|
||||||
|
EGL_NV_stream_sync,
|
||||||
|
EGL_NV_sync,
|
||||||
|
EGL_NV_system_time,
|
||||||
|
EGL_NV_triple_buffer,
|
||||||
|
EGL_TIZEN_image_native_buffer,
|
||||||
|
EGL_TIZEN_image_native_surface,
|
||||||
|
EGL_WL_bind_wayland_display,
|
||||||
|
EGL_WL_create_wayland_buffer_from_image
|
||||||
|
Loader: True
|
||||||
|
Local files: False
|
||||||
|
Omit khrplatform: False
|
||||||
|
Reproducible: False
|
||||||
|
|
||||||
|
Commandline:
|
||||||
|
--api="egl=1.5" --generator="c" --spec="egl" --extensions="EGL_ANDROID_GLES_layers,EGL_ANDROID_blob_cache,EGL_ANDROID_create_native_client_buffer,EGL_ANDROID_framebuffer_target,EGL_ANDROID_front_buffer_auto_refresh,EGL_ANDROID_get_frame_timestamps,EGL_ANDROID_get_native_client_buffer,EGL_ANDROID_image_native_buffer,EGL_ANDROID_native_fence_sync,EGL_ANDROID_presentation_time,EGL_ANDROID_recordable,EGL_ANGLE_d3d_share_handle_client_buffer,EGL_ANGLE_device_d3d,EGL_ANGLE_query_surface_pointer,EGL_ANGLE_surface_d3d_texture_2d_share_handle,EGL_ANGLE_window_fixed_size,EGL_ARM_image_format,EGL_ARM_implicit_external_sync,EGL_ARM_pixmap_multisample_discard,EGL_EXT_bind_to_front,EGL_EXT_buffer_age,EGL_EXT_client_extensions,EGL_EXT_client_sync,EGL_EXT_compositor,EGL_EXT_create_context_robustness,EGL_EXT_device_base,EGL_EXT_device_drm,EGL_EXT_device_enumeration,EGL_EXT_device_openwf,EGL_EXT_device_query,EGL_EXT_gl_colorspace_bt2020_linear,EGL_EXT_gl_colorspace_bt2020_pq,EGL_EXT_gl_colorspace_display_p3,EGL_EXT_gl_colorspace_display_p3_linear,EGL_EXT_gl_colorspace_display_p3_passthrough,EGL_EXT_gl_colorspace_scrgb,EGL_EXT_gl_colorspace_scrgb_linear,EGL_EXT_image_dma_buf_import,EGL_EXT_image_dma_buf_import_modifiers,EGL_EXT_image_gl_colorspace,EGL_EXT_image_implicit_sync_control,EGL_EXT_multiview_window,EGL_EXT_output_base,EGL_EXT_output_drm,EGL_EXT_output_openwf,EGL_EXT_pixel_format_float,EGL_EXT_platform_base,EGL_EXT_platform_device,EGL_EXT_platform_wayland,EGL_EXT_platform_x11,EGL_EXT_protected_content,EGL_EXT_protected_surface,EGL_EXT_stream_consumer_egloutput,EGL_EXT_surface_CTA861_3_metadata,EGL_EXT_surface_SMPTE2086_metadata,EGL_EXT_swap_buffers_with_damage,EGL_EXT_sync_reuse,EGL_EXT_yuv_surface,EGL_HI_clientpixmap,EGL_HI_colorformats,EGL_IMG_context_priority,EGL_IMG_image_plane_attribs,EGL_KHR_cl_event,EGL_KHR_cl_event2,EGL_KHR_client_get_all_proc_addresses,EGL_KHR_config_attribs,EGL_KHR_context_flush_control,EGL_KHR_create_context,EGL_KHR_create_context_no_error,EGL_KHR_debug,EGL_KHR_display_reference,EGL_KHR_fence_sync,EGL_KHR_get_all_proc_addresses,EGL_KHR_gl_colorspace,EGL_KHR_gl_renderbuffer_image,EGL_KHR_gl_texture_2D_image,EGL_KHR_gl_texture_3D_image,EGL_KHR_gl_texture_cubemap_image,EGL_KHR_image,EGL_KHR_image_base,EGL_KHR_image_pixmap,EGL_KHR_lock_surface,EGL_KHR_lock_surface2,EGL_KHR_lock_surface3,EGL_KHR_mutable_render_buffer,EGL_KHR_no_config_context,EGL_KHR_partial_update,EGL_KHR_platform_android,EGL_KHR_platform_gbm,EGL_KHR_platform_wayland,EGL_KHR_platform_x11,EGL_KHR_reusable_sync,EGL_KHR_stream,EGL_KHR_stream_attrib,EGL_KHR_stream_consumer_gltexture,EGL_KHR_stream_cross_process_fd,EGL_KHR_stream_fifo,EGL_KHR_stream_producer_aldatalocator,EGL_KHR_stream_producer_eglsurface,EGL_KHR_surfaceless_context,EGL_KHR_swap_buffers_with_damage,EGL_KHR_vg_parent_image,EGL_KHR_wait_sync,EGL_MESA_drm_image,EGL_MESA_image_dma_buf_export,EGL_MESA_platform_gbm,EGL_MESA_platform_surfaceless,EGL_MESA_query_driver,EGL_NOK_swap_region,EGL_NOK_swap_region2,EGL_NOK_texture_from_pixmap,EGL_NV_3dvision_surface,EGL_NV_context_priority_realtime,EGL_NV_coverage_sample,EGL_NV_coverage_sample_resolve,EGL_NV_cuda_event,EGL_NV_depth_nonlinear,EGL_NV_device_cuda,EGL_NV_native_query,EGL_NV_post_convert_rounding,EGL_NV_post_sub_buffer,EGL_NV_quadruple_buffer,EGL_NV_robustness_video_memory_purge,EGL_NV_stream_consumer_gltexture_yuv,EGL_NV_stream_cross_display,EGL_NV_stream_cross_object,EGL_NV_stream_cross_partition,EGL_NV_stream_cross_process,EGL_NV_stream_cross_system,EGL_NV_stream_dma,EGL_NV_stream_fifo_next,EGL_NV_stream_fifo_synchronous,EGL_NV_stream_flush,EGL_NV_stream_frame_limits,EGL_NV_stream_metadata,EGL_NV_stream_origin,EGL_NV_stream_remote,EGL_NV_stream_reset,EGL_NV_stream_socket,EGL_NV_stream_socket_inet,EGL_NV_stream_socket_unix,EGL_NV_stream_sync,EGL_NV_sync,EGL_NV_system_time,EGL_NV_triple_buffer,EGL_TIZEN_image_native_buffer,EGL_TIZEN_image_native_surface,EGL_WL_bind_wayland_display,EGL_WL_create_wayland_buffer_from_image"
|
||||||
|
Online:
|
||||||
|
Too many extensions
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "glad_egl.h"
|
||||||
|
|
||||||
|
int gladLoadEGL(void) {
|
||||||
|
return gladLoadEGLLoader((GLADloadproc)eglGetProcAddress);
|
||||||
|
}
|
||||||
|
|
||||||
|
PFNEGLSETBLOBCACHEFUNCSANDROIDPROC glad_eglSetBlobCacheFuncsANDROID = NULL;
|
||||||
|
PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC glad_eglCreateNativeClientBufferANDROID = NULL;
|
||||||
|
PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC glad_eglGetCompositorTimingSupportedANDROID = NULL;
|
||||||
|
PFNEGLGETCOMPOSITORTIMINGANDROIDPROC glad_eglGetCompositorTimingANDROID = NULL;
|
||||||
|
PFNEGLGETNEXTFRAMEIDANDROIDPROC glad_eglGetNextFrameIdANDROID = NULL;
|
||||||
|
PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC glad_eglGetFrameTimestampSupportedANDROID = NULL;
|
||||||
|
PFNEGLGETFRAMETIMESTAMPSANDROIDPROC glad_eglGetFrameTimestampsANDROID = NULL;
|
||||||
|
PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC glad_eglGetNativeClientBufferANDROID = NULL;
|
||||||
|
PFNEGLDUPNATIVEFENCEFDANDROIDPROC glad_eglDupNativeFenceFDANDROID = NULL;
|
||||||
|
PFNEGLPRESENTATIONTIMEANDROIDPROC glad_eglPresentationTimeANDROID = NULL;
|
||||||
|
PFNEGLQUERYSURFACEPOINTERANGLEPROC glad_eglQuerySurfacePointerANGLE = NULL;
|
||||||
|
PFNEGLCLIENTSIGNALSYNCEXTPROC glad_eglClientSignalSyncEXT = NULL;
|
||||||
|
PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC glad_eglCompositorSetContextListEXT = NULL;
|
||||||
|
PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC glad_eglCompositorSetContextAttributesEXT = NULL;
|
||||||
|
PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC glad_eglCompositorSetWindowListEXT = NULL;
|
||||||
|
PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC glad_eglCompositorSetWindowAttributesEXT = NULL;
|
||||||
|
PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC glad_eglCompositorBindTexWindowEXT = NULL;
|
||||||
|
PFNEGLCOMPOSITORSETSIZEEXTPROC glad_eglCompositorSetSizeEXT = NULL;
|
||||||
|
PFNEGLCOMPOSITORSWAPPOLICYEXTPROC glad_eglCompositorSwapPolicyEXT = NULL;
|
||||||
|
PFNEGLQUERYDEVICEATTRIBEXTPROC glad_eglQueryDeviceAttribEXT = NULL;
|
||||||
|
PFNEGLQUERYDEVICESTRINGEXTPROC glad_eglQueryDeviceStringEXT = NULL;
|
||||||
|
PFNEGLQUERYDEVICESEXTPROC glad_eglQueryDevicesEXT = NULL;
|
||||||
|
PFNEGLQUERYDISPLAYATTRIBEXTPROC glad_eglQueryDisplayAttribEXT = NULL;
|
||||||
|
PFNEGLQUERYDMABUFFORMATSEXTPROC glad_eglQueryDmaBufFormatsEXT = NULL;
|
||||||
|
PFNEGLQUERYDMABUFMODIFIERSEXTPROC glad_eglQueryDmaBufModifiersEXT = NULL;
|
||||||
|
PFNEGLGETOUTPUTLAYERSEXTPROC glad_eglGetOutputLayersEXT = NULL;
|
||||||
|
PFNEGLGETOUTPUTPORTSEXTPROC glad_eglGetOutputPortsEXT = NULL;
|
||||||
|
PFNEGLOUTPUTLAYERATTRIBEXTPROC glad_eglOutputLayerAttribEXT = NULL;
|
||||||
|
PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC glad_eglQueryOutputLayerAttribEXT = NULL;
|
||||||
|
PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC glad_eglQueryOutputLayerStringEXT = NULL;
|
||||||
|
PFNEGLOUTPUTPORTATTRIBEXTPROC glad_eglOutputPortAttribEXT = NULL;
|
||||||
|
PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC glad_eglQueryOutputPortAttribEXT = NULL;
|
||||||
|
PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC glad_eglQueryOutputPortStringEXT = NULL;
|
||||||
|
PFNEGLGETPLATFORMDISPLAYEXTPROC glad_eglGetPlatformDisplayEXT = NULL;
|
||||||
|
PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC glad_eglCreatePlatformWindowSurfaceEXT = NULL;
|
||||||
|
PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC glad_eglCreatePlatformPixmapSurfaceEXT = NULL;
|
||||||
|
PFNEGLSTREAMCONSUMEROUTPUTEXTPROC glad_eglStreamConsumerOutputEXT = NULL;
|
||||||
|
PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC glad_eglSwapBuffersWithDamageEXT = NULL;
|
||||||
|
PFNEGLUNSIGNALSYNCEXTPROC glad_eglUnsignalSyncEXT = NULL;
|
||||||
|
PFNEGLCREATEPIXMAPSURFACEHIPROC glad_eglCreatePixmapSurfaceHI = NULL;
|
||||||
|
PFNEGLCREATESYNC64KHRPROC glad_eglCreateSync64KHR = NULL;
|
||||||
|
PFNEGLDEBUGMESSAGECONTROLKHRPROC glad_eglDebugMessageControlKHR = NULL;
|
||||||
|
PFNEGLQUERYDEBUGKHRPROC glad_eglQueryDebugKHR = NULL;
|
||||||
|
PFNEGLLABELOBJECTKHRPROC glad_eglLabelObjectKHR = NULL;
|
||||||
|
PFNEGLQUERYDISPLAYATTRIBKHRPROC glad_eglQueryDisplayAttribKHR = NULL;
|
||||||
|
PFNEGLCREATESYNCKHRPROC glad_eglCreateSyncKHR = NULL;
|
||||||
|
PFNEGLDESTROYSYNCKHRPROC glad_eglDestroySyncKHR = NULL;
|
||||||
|
PFNEGLCLIENTWAITSYNCKHRPROC glad_eglClientWaitSyncKHR = NULL;
|
||||||
|
PFNEGLGETSYNCATTRIBKHRPROC glad_eglGetSyncAttribKHR = NULL;
|
||||||
|
PFNEGLCREATEIMAGEKHRPROC glad_eglCreateImageKHR = NULL;
|
||||||
|
PFNEGLDESTROYIMAGEKHRPROC glad_eglDestroyImageKHR = NULL;
|
||||||
|
PFNEGLLOCKSURFACEKHRPROC glad_eglLockSurfaceKHR = NULL;
|
||||||
|
PFNEGLUNLOCKSURFACEKHRPROC glad_eglUnlockSurfaceKHR = NULL;
|
||||||
|
PFNEGLQUERYSURFACE64KHRPROC glad_eglQuerySurface64KHR = NULL;
|
||||||
|
PFNEGLSETDAMAGEREGIONKHRPROC glad_eglSetDamageRegionKHR = NULL;
|
||||||
|
PFNEGLSIGNALSYNCKHRPROC glad_eglSignalSyncKHR = NULL;
|
||||||
|
PFNEGLCREATESTREAMKHRPROC glad_eglCreateStreamKHR = NULL;
|
||||||
|
PFNEGLDESTROYSTREAMKHRPROC glad_eglDestroyStreamKHR = NULL;
|
||||||
|
PFNEGLSTREAMATTRIBKHRPROC glad_eglStreamAttribKHR = NULL;
|
||||||
|
PFNEGLQUERYSTREAMKHRPROC glad_eglQueryStreamKHR = NULL;
|
||||||
|
PFNEGLQUERYSTREAMU64KHRPROC glad_eglQueryStreamu64KHR = NULL;
|
||||||
|
PFNEGLCREATESTREAMATTRIBKHRPROC glad_eglCreateStreamAttribKHR = NULL;
|
||||||
|
PFNEGLSETSTREAMATTRIBKHRPROC glad_eglSetStreamAttribKHR = NULL;
|
||||||
|
PFNEGLQUERYSTREAMATTRIBKHRPROC glad_eglQueryStreamAttribKHR = NULL;
|
||||||
|
PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC glad_eglStreamConsumerAcquireAttribKHR = NULL;
|
||||||
|
PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC glad_eglStreamConsumerReleaseAttribKHR = NULL;
|
||||||
|
PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC glad_eglStreamConsumerGLTextureExternalKHR = NULL;
|
||||||
|
PFNEGLSTREAMCONSUMERACQUIREKHRPROC glad_eglStreamConsumerAcquireKHR = NULL;
|
||||||
|
PFNEGLSTREAMCONSUMERRELEASEKHRPROC glad_eglStreamConsumerReleaseKHR = NULL;
|
||||||
|
PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC glad_eglGetStreamFileDescriptorKHR = NULL;
|
||||||
|
PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC glad_eglCreateStreamFromFileDescriptorKHR = NULL;
|
||||||
|
PFNEGLQUERYSTREAMTIMEKHRPROC glad_eglQueryStreamTimeKHR = NULL;
|
||||||
|
PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC glad_eglCreateStreamProducerSurfaceKHR = NULL;
|
||||||
|
PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC glad_eglSwapBuffersWithDamageKHR = NULL;
|
||||||
|
PFNEGLWAITSYNCKHRPROC glad_eglWaitSyncKHR = NULL;
|
||||||
|
PFNEGLCREATEDRMIMAGEMESAPROC glad_eglCreateDRMImageMESA = NULL;
|
||||||
|
PFNEGLEXPORTDRMIMAGEMESAPROC glad_eglExportDRMImageMESA = NULL;
|
||||||
|
PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC glad_eglExportDMABUFImageQueryMESA = NULL;
|
||||||
|
PFNEGLEXPORTDMABUFIMAGEMESAPROC glad_eglExportDMABUFImageMESA = NULL;
|
||||||
|
PFNEGLGETDISPLAYDRIVERCONFIGPROC glad_eglGetDisplayDriverConfig = NULL;
|
||||||
|
PFNEGLGETDISPLAYDRIVERNAMEPROC glad_eglGetDisplayDriverName = NULL;
|
||||||
|
PFNEGLSWAPBUFFERSREGIONNOKPROC glad_eglSwapBuffersRegionNOK = NULL;
|
||||||
|
PFNEGLSWAPBUFFERSREGION2NOKPROC glad_eglSwapBuffersRegion2NOK = NULL;
|
||||||
|
PFNEGLQUERYNATIVEDISPLAYNVPROC glad_eglQueryNativeDisplayNV = NULL;
|
||||||
|
PFNEGLQUERYNATIVEWINDOWNVPROC glad_eglQueryNativeWindowNV = NULL;
|
||||||
|
PFNEGLQUERYNATIVEPIXMAPNVPROC glad_eglQueryNativePixmapNV = NULL;
|
||||||
|
PFNEGLPOSTSUBBUFFERNVPROC glad_eglPostSubBufferNV = NULL;
|
||||||
|
PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC glad_eglStreamConsumerGLTextureExternalAttribsNV = NULL;
|
||||||
|
PFNEGLSTREAMFLUSHNVPROC glad_eglStreamFlushNV = NULL;
|
||||||
|
PFNEGLQUERYDISPLAYATTRIBNVPROC glad_eglQueryDisplayAttribNV = NULL;
|
||||||
|
PFNEGLSETSTREAMMETADATANVPROC glad_eglSetStreamMetadataNV = NULL;
|
||||||
|
PFNEGLQUERYSTREAMMETADATANVPROC glad_eglQueryStreamMetadataNV = NULL;
|
||||||
|
PFNEGLRESETSTREAMNVPROC glad_eglResetStreamNV = NULL;
|
||||||
|
PFNEGLCREATESTREAMSYNCNVPROC glad_eglCreateStreamSyncNV = NULL;
|
||||||
|
PFNEGLCREATEFENCESYNCNVPROC glad_eglCreateFenceSyncNV = NULL;
|
||||||
|
PFNEGLDESTROYSYNCNVPROC glad_eglDestroySyncNV = NULL;
|
||||||
|
PFNEGLFENCENVPROC glad_eglFenceNV = NULL;
|
||||||
|
PFNEGLCLIENTWAITSYNCNVPROC glad_eglClientWaitSyncNV = NULL;
|
||||||
|
PFNEGLSIGNALSYNCNVPROC glad_eglSignalSyncNV = NULL;
|
||||||
|
PFNEGLGETSYNCATTRIBNVPROC glad_eglGetSyncAttribNV = NULL;
|
||||||
|
PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC glad_eglGetSystemTimeFrequencyNV = NULL;
|
||||||
|
PFNEGLGETSYSTEMTIMENVPROC glad_eglGetSystemTimeNV = NULL;
|
||||||
|
PFNEGLBINDWAYLANDDISPLAYWLPROC glad_eglBindWaylandDisplayWL = NULL;
|
||||||
|
PFNEGLUNBINDWAYLANDDISPLAYWLPROC glad_eglUnbindWaylandDisplayWL = NULL;
|
||||||
|
PFNEGLQUERYWAYLANDBUFFERWLPROC glad_eglQueryWaylandBufferWL = NULL;
|
||||||
|
PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC glad_eglCreateWaylandBufferFromImageWL = NULL;
|
||||||
|
static void load_EGL_ANDROID_blob_cache(GLADloadproc load) {
|
||||||
|
glad_eglSetBlobCacheFuncsANDROID = (PFNEGLSETBLOBCACHEFUNCSANDROIDPROC)load("eglSetBlobCacheFuncsANDROID");
|
||||||
|
}
|
||||||
|
static void load_EGL_ANDROID_create_native_client_buffer(GLADloadproc load) {
|
||||||
|
glad_eglCreateNativeClientBufferANDROID = (PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC)load("eglCreateNativeClientBufferANDROID");
|
||||||
|
}
|
||||||
|
static void load_EGL_ANDROID_get_frame_timestamps(GLADloadproc load) {
|
||||||
|
glad_eglGetCompositorTimingSupportedANDROID = (PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC)load("eglGetCompositorTimingSupportedANDROID");
|
||||||
|
glad_eglGetCompositorTimingANDROID = (PFNEGLGETCOMPOSITORTIMINGANDROIDPROC)load("eglGetCompositorTimingANDROID");
|
||||||
|
glad_eglGetNextFrameIdANDROID = (PFNEGLGETNEXTFRAMEIDANDROIDPROC)load("eglGetNextFrameIdANDROID");
|
||||||
|
glad_eglGetFrameTimestampSupportedANDROID = (PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC)load("eglGetFrameTimestampSupportedANDROID");
|
||||||
|
glad_eglGetFrameTimestampsANDROID = (PFNEGLGETFRAMETIMESTAMPSANDROIDPROC)load("eglGetFrameTimestampsANDROID");
|
||||||
|
}
|
||||||
|
static void load_EGL_ANDROID_get_native_client_buffer(GLADloadproc load) {
|
||||||
|
glad_eglGetNativeClientBufferANDROID = (PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC)load("eglGetNativeClientBufferANDROID");
|
||||||
|
}
|
||||||
|
static void load_EGL_ANDROID_native_fence_sync(GLADloadproc load) {
|
||||||
|
glad_eglDupNativeFenceFDANDROID = (PFNEGLDUPNATIVEFENCEFDANDROIDPROC)load("eglDupNativeFenceFDANDROID");
|
||||||
|
}
|
||||||
|
static void load_EGL_ANDROID_presentation_time(GLADloadproc load) {
|
||||||
|
glad_eglPresentationTimeANDROID = (PFNEGLPRESENTATIONTIMEANDROIDPROC)load("eglPresentationTimeANDROID");
|
||||||
|
}
|
||||||
|
static void load_EGL_ANGLE_query_surface_pointer(GLADloadproc load) {
|
||||||
|
glad_eglQuerySurfacePointerANGLE = (PFNEGLQUERYSURFACEPOINTERANGLEPROC)load("eglQuerySurfacePointerANGLE");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_client_sync(GLADloadproc load) {
|
||||||
|
glad_eglClientSignalSyncEXT = (PFNEGLCLIENTSIGNALSYNCEXTPROC)load("eglClientSignalSyncEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_compositor(GLADloadproc load) {
|
||||||
|
glad_eglCompositorSetContextListEXT = (PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC)load("eglCompositorSetContextListEXT");
|
||||||
|
glad_eglCompositorSetContextAttributesEXT = (PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC)load("eglCompositorSetContextAttributesEXT");
|
||||||
|
glad_eglCompositorSetWindowListEXT = (PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC)load("eglCompositorSetWindowListEXT");
|
||||||
|
glad_eglCompositorSetWindowAttributesEXT = (PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC)load("eglCompositorSetWindowAttributesEXT");
|
||||||
|
glad_eglCompositorBindTexWindowEXT = (PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC)load("eglCompositorBindTexWindowEXT");
|
||||||
|
glad_eglCompositorSetSizeEXT = (PFNEGLCOMPOSITORSETSIZEEXTPROC)load("eglCompositorSetSizeEXT");
|
||||||
|
glad_eglCompositorSwapPolicyEXT = (PFNEGLCOMPOSITORSWAPPOLICYEXTPROC)load("eglCompositorSwapPolicyEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_device_base(GLADloadproc load) {
|
||||||
|
glad_eglQueryDeviceAttribEXT = (PFNEGLQUERYDEVICEATTRIBEXTPROC)load("eglQueryDeviceAttribEXT");
|
||||||
|
glad_eglQueryDeviceStringEXT = (PFNEGLQUERYDEVICESTRINGEXTPROC)load("eglQueryDeviceStringEXT");
|
||||||
|
glad_eglQueryDevicesEXT = (PFNEGLQUERYDEVICESEXTPROC)load("eglQueryDevicesEXT");
|
||||||
|
glad_eglQueryDisplayAttribEXT = (PFNEGLQUERYDISPLAYATTRIBEXTPROC)load("eglQueryDisplayAttribEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_device_enumeration(GLADloadproc load) {
|
||||||
|
glad_eglQueryDevicesEXT = (PFNEGLQUERYDEVICESEXTPROC)load("eglQueryDevicesEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_device_query(GLADloadproc load) {
|
||||||
|
glad_eglQueryDeviceAttribEXT = (PFNEGLQUERYDEVICEATTRIBEXTPROC)load("eglQueryDeviceAttribEXT");
|
||||||
|
glad_eglQueryDeviceStringEXT = (PFNEGLQUERYDEVICESTRINGEXTPROC)load("eglQueryDeviceStringEXT");
|
||||||
|
glad_eglQueryDisplayAttribEXT = (PFNEGLQUERYDISPLAYATTRIBEXTPROC)load("eglQueryDisplayAttribEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_image_dma_buf_import_modifiers(GLADloadproc load) {
|
||||||
|
glad_eglQueryDmaBufFormatsEXT = (PFNEGLQUERYDMABUFFORMATSEXTPROC)load("eglQueryDmaBufFormatsEXT");
|
||||||
|
glad_eglQueryDmaBufModifiersEXT = (PFNEGLQUERYDMABUFMODIFIERSEXTPROC)load("eglQueryDmaBufModifiersEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_output_base(GLADloadproc load) {
|
||||||
|
glad_eglGetOutputLayersEXT = (PFNEGLGETOUTPUTLAYERSEXTPROC)load("eglGetOutputLayersEXT");
|
||||||
|
glad_eglGetOutputPortsEXT = (PFNEGLGETOUTPUTPORTSEXTPROC)load("eglGetOutputPortsEXT");
|
||||||
|
glad_eglOutputLayerAttribEXT = (PFNEGLOUTPUTLAYERATTRIBEXTPROC)load("eglOutputLayerAttribEXT");
|
||||||
|
glad_eglQueryOutputLayerAttribEXT = (PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC)load("eglQueryOutputLayerAttribEXT");
|
||||||
|
glad_eglQueryOutputLayerStringEXT = (PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC)load("eglQueryOutputLayerStringEXT");
|
||||||
|
glad_eglOutputPortAttribEXT = (PFNEGLOUTPUTPORTATTRIBEXTPROC)load("eglOutputPortAttribEXT");
|
||||||
|
glad_eglQueryOutputPortAttribEXT = (PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC)load("eglQueryOutputPortAttribEXT");
|
||||||
|
glad_eglQueryOutputPortStringEXT = (PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC)load("eglQueryOutputPortStringEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_platform_base(GLADloadproc load) {
|
||||||
|
glad_eglGetPlatformDisplayEXT = (PFNEGLGETPLATFORMDISPLAYEXTPROC)load("eglGetPlatformDisplayEXT");
|
||||||
|
glad_eglCreatePlatformWindowSurfaceEXT = (PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC)load("eglCreatePlatformWindowSurfaceEXT");
|
||||||
|
glad_eglCreatePlatformPixmapSurfaceEXT = (PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC)load("eglCreatePlatformPixmapSurfaceEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_stream_consumer_egloutput(GLADloadproc load) {
|
||||||
|
glad_eglStreamConsumerOutputEXT = (PFNEGLSTREAMCONSUMEROUTPUTEXTPROC)load("eglStreamConsumerOutputEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_swap_buffers_with_damage(GLADloadproc load) {
|
||||||
|
glad_eglSwapBuffersWithDamageEXT = (PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)load("eglSwapBuffersWithDamageEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_EXT_sync_reuse(GLADloadproc load) {
|
||||||
|
glad_eglUnsignalSyncEXT = (PFNEGLUNSIGNALSYNCEXTPROC)load("eglUnsignalSyncEXT");
|
||||||
|
}
|
||||||
|
static void load_EGL_HI_clientpixmap(GLADloadproc load) {
|
||||||
|
glad_eglCreatePixmapSurfaceHI = (PFNEGLCREATEPIXMAPSURFACEHIPROC)load("eglCreatePixmapSurfaceHI");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_cl_event2(GLADloadproc load) {
|
||||||
|
glad_eglCreateSync64KHR = (PFNEGLCREATESYNC64KHRPROC)load("eglCreateSync64KHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_debug(GLADloadproc load) {
|
||||||
|
glad_eglDebugMessageControlKHR = (PFNEGLDEBUGMESSAGECONTROLKHRPROC)load("eglDebugMessageControlKHR");
|
||||||
|
glad_eglQueryDebugKHR = (PFNEGLQUERYDEBUGKHRPROC)load("eglQueryDebugKHR");
|
||||||
|
glad_eglLabelObjectKHR = (PFNEGLLABELOBJECTKHRPROC)load("eglLabelObjectKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_display_reference(GLADloadproc load) {
|
||||||
|
glad_eglQueryDisplayAttribKHR = (PFNEGLQUERYDISPLAYATTRIBKHRPROC)load("eglQueryDisplayAttribKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_fence_sync(GLADloadproc load) {
|
||||||
|
glad_eglCreateSyncKHR = (PFNEGLCREATESYNCKHRPROC)load("eglCreateSyncKHR");
|
||||||
|
glad_eglDestroySyncKHR = (PFNEGLDESTROYSYNCKHRPROC)load("eglDestroySyncKHR");
|
||||||
|
glad_eglClientWaitSyncKHR = (PFNEGLCLIENTWAITSYNCKHRPROC)load("eglClientWaitSyncKHR");
|
||||||
|
glad_eglGetSyncAttribKHR = (PFNEGLGETSYNCATTRIBKHRPROC)load("eglGetSyncAttribKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_image(GLADloadproc load) {
|
||||||
|
glad_eglCreateImageKHR = (PFNEGLCREATEIMAGEKHRPROC)load("eglCreateImageKHR");
|
||||||
|
glad_eglDestroyImageKHR = (PFNEGLDESTROYIMAGEKHRPROC)load("eglDestroyImageKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_image_base(GLADloadproc load) {
|
||||||
|
glad_eglCreateImageKHR = (PFNEGLCREATEIMAGEKHRPROC)load("eglCreateImageKHR");
|
||||||
|
glad_eglDestroyImageKHR = (PFNEGLDESTROYIMAGEKHRPROC)load("eglDestroyImageKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_lock_surface(GLADloadproc load) {
|
||||||
|
glad_eglLockSurfaceKHR = (PFNEGLLOCKSURFACEKHRPROC)load("eglLockSurfaceKHR");
|
||||||
|
glad_eglUnlockSurfaceKHR = (PFNEGLUNLOCKSURFACEKHRPROC)load("eglUnlockSurfaceKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_lock_surface3(GLADloadproc load) {
|
||||||
|
glad_eglLockSurfaceKHR = (PFNEGLLOCKSURFACEKHRPROC)load("eglLockSurfaceKHR");
|
||||||
|
glad_eglUnlockSurfaceKHR = (PFNEGLUNLOCKSURFACEKHRPROC)load("eglUnlockSurfaceKHR");
|
||||||
|
glad_eglQuerySurface64KHR = (PFNEGLQUERYSURFACE64KHRPROC)load("eglQuerySurface64KHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_partial_update(GLADloadproc load) {
|
||||||
|
glad_eglSetDamageRegionKHR = (PFNEGLSETDAMAGEREGIONKHRPROC)load("eglSetDamageRegionKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_reusable_sync(GLADloadproc load) {
|
||||||
|
glad_eglCreateSyncKHR = (PFNEGLCREATESYNCKHRPROC)load("eglCreateSyncKHR");
|
||||||
|
glad_eglDestroySyncKHR = (PFNEGLDESTROYSYNCKHRPROC)load("eglDestroySyncKHR");
|
||||||
|
glad_eglClientWaitSyncKHR = (PFNEGLCLIENTWAITSYNCKHRPROC)load("eglClientWaitSyncKHR");
|
||||||
|
glad_eglSignalSyncKHR = (PFNEGLSIGNALSYNCKHRPROC)load("eglSignalSyncKHR");
|
||||||
|
glad_eglGetSyncAttribKHR = (PFNEGLGETSYNCATTRIBKHRPROC)load("eglGetSyncAttribKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_stream(GLADloadproc load) {
|
||||||
|
glad_eglCreateStreamKHR = (PFNEGLCREATESTREAMKHRPROC)load("eglCreateStreamKHR");
|
||||||
|
glad_eglDestroyStreamKHR = (PFNEGLDESTROYSTREAMKHRPROC)load("eglDestroyStreamKHR");
|
||||||
|
glad_eglStreamAttribKHR = (PFNEGLSTREAMATTRIBKHRPROC)load("eglStreamAttribKHR");
|
||||||
|
glad_eglQueryStreamKHR = (PFNEGLQUERYSTREAMKHRPROC)load("eglQueryStreamKHR");
|
||||||
|
glad_eglQueryStreamu64KHR = (PFNEGLQUERYSTREAMU64KHRPROC)load("eglQueryStreamu64KHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_stream_attrib(GLADloadproc load) {
|
||||||
|
glad_eglCreateStreamAttribKHR = (PFNEGLCREATESTREAMATTRIBKHRPROC)load("eglCreateStreamAttribKHR");
|
||||||
|
glad_eglSetStreamAttribKHR = (PFNEGLSETSTREAMATTRIBKHRPROC)load("eglSetStreamAttribKHR");
|
||||||
|
glad_eglQueryStreamAttribKHR = (PFNEGLQUERYSTREAMATTRIBKHRPROC)load("eglQueryStreamAttribKHR");
|
||||||
|
glad_eglStreamConsumerAcquireAttribKHR = (PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC)load("eglStreamConsumerAcquireAttribKHR");
|
||||||
|
glad_eglStreamConsumerReleaseAttribKHR = (PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC)load("eglStreamConsumerReleaseAttribKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_stream_consumer_gltexture(GLADloadproc load) {
|
||||||
|
glad_eglStreamConsumerGLTextureExternalKHR = (PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)load("eglStreamConsumerGLTextureExternalKHR");
|
||||||
|
glad_eglStreamConsumerAcquireKHR = (PFNEGLSTREAMCONSUMERACQUIREKHRPROC)load("eglStreamConsumerAcquireKHR");
|
||||||
|
glad_eglStreamConsumerReleaseKHR = (PFNEGLSTREAMCONSUMERRELEASEKHRPROC)load("eglStreamConsumerReleaseKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_stream_cross_process_fd(GLADloadproc load) {
|
||||||
|
glad_eglGetStreamFileDescriptorKHR = (PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)load("eglGetStreamFileDescriptorKHR");
|
||||||
|
glad_eglCreateStreamFromFileDescriptorKHR = (PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)load("eglCreateStreamFromFileDescriptorKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_stream_fifo(GLADloadproc load) {
|
||||||
|
glad_eglQueryStreamTimeKHR = (PFNEGLQUERYSTREAMTIMEKHRPROC)load("eglQueryStreamTimeKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_stream_producer_eglsurface(GLADloadproc load) {
|
||||||
|
glad_eglCreateStreamProducerSurfaceKHR = (PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)load("eglCreateStreamProducerSurfaceKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_swap_buffers_with_damage(GLADloadproc load) {
|
||||||
|
glad_eglSwapBuffersWithDamageKHR = (PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC)load("eglSwapBuffersWithDamageKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_KHR_wait_sync(GLADloadproc load) {
|
||||||
|
glad_eglWaitSyncKHR = (PFNEGLWAITSYNCKHRPROC)load("eglWaitSyncKHR");
|
||||||
|
}
|
||||||
|
static void load_EGL_MESA_drm_image(GLADloadproc load) {
|
||||||
|
glad_eglCreateDRMImageMESA = (PFNEGLCREATEDRMIMAGEMESAPROC)load("eglCreateDRMImageMESA");
|
||||||
|
glad_eglExportDRMImageMESA = (PFNEGLEXPORTDRMIMAGEMESAPROC)load("eglExportDRMImageMESA");
|
||||||
|
}
|
||||||
|
static void load_EGL_MESA_image_dma_buf_export(GLADloadproc load) {
|
||||||
|
glad_eglExportDMABUFImageQueryMESA = (PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC)load("eglExportDMABUFImageQueryMESA");
|
||||||
|
glad_eglExportDMABUFImageMESA = (PFNEGLEXPORTDMABUFIMAGEMESAPROC)load("eglExportDMABUFImageMESA");
|
||||||
|
}
|
||||||
|
static void load_EGL_MESA_query_driver(GLADloadproc load) {
|
||||||
|
glad_eglGetDisplayDriverConfig = (PFNEGLGETDISPLAYDRIVERCONFIGPROC)load("eglGetDisplayDriverConfig");
|
||||||
|
glad_eglGetDisplayDriverName = (PFNEGLGETDISPLAYDRIVERNAMEPROC)load("eglGetDisplayDriverName");
|
||||||
|
}
|
||||||
|
static void load_EGL_NOK_swap_region(GLADloadproc load) {
|
||||||
|
glad_eglSwapBuffersRegionNOK = (PFNEGLSWAPBUFFERSREGIONNOKPROC)load("eglSwapBuffersRegionNOK");
|
||||||
|
}
|
||||||
|
static void load_EGL_NOK_swap_region2(GLADloadproc load) {
|
||||||
|
glad_eglSwapBuffersRegion2NOK = (PFNEGLSWAPBUFFERSREGION2NOKPROC)load("eglSwapBuffersRegion2NOK");
|
||||||
|
}
|
||||||
|
static void load_EGL_NV_native_query(GLADloadproc load) {
|
||||||
|
glad_eglQueryNativeDisplayNV = (PFNEGLQUERYNATIVEDISPLAYNVPROC)load("eglQueryNativeDisplayNV");
|
||||||
|
glad_eglQueryNativeWindowNV = (PFNEGLQUERYNATIVEWINDOWNVPROC)load("eglQueryNativeWindowNV");
|
||||||
|
glad_eglQueryNativePixmapNV = (PFNEGLQUERYNATIVEPIXMAPNVPROC)load("eglQueryNativePixmapNV");
|
||||||
|
}
|
||||||
|
static void load_EGL_NV_post_sub_buffer(GLADloadproc load) {
|
||||||
|
glad_eglPostSubBufferNV = (PFNEGLPOSTSUBBUFFERNVPROC)load("eglPostSubBufferNV");
|
||||||
|
}
|
||||||
|
static void load_EGL_NV_stream_consumer_gltexture_yuv(GLADloadproc load) {
|
||||||
|
glad_eglStreamConsumerGLTextureExternalAttribsNV = (PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC)load("eglStreamConsumerGLTextureExternalAttribsNV");
|
||||||
|
}
|
||||||
|
static void load_EGL_NV_stream_flush(GLADloadproc load) {
|
||||||
|
glad_eglStreamFlushNV = (PFNEGLSTREAMFLUSHNVPROC)load("eglStreamFlushNV");
|
||||||
|
}
|
||||||
|
static void load_EGL_NV_stream_metadata(GLADloadproc load) {
|
||||||
|
glad_eglQueryDisplayAttribNV = (PFNEGLQUERYDISPLAYATTRIBNVPROC)load("eglQueryDisplayAttribNV");
|
||||||
|
glad_eglSetStreamMetadataNV = (PFNEGLSETSTREAMMETADATANVPROC)load("eglSetStreamMetadataNV");
|
||||||
|
glad_eglQueryStreamMetadataNV = (PFNEGLQUERYSTREAMMETADATANVPROC)load("eglQueryStreamMetadataNV");
|
||||||
|
}
|
||||||
|
static void load_EGL_NV_stream_reset(GLADloadproc load) {
|
||||||
|
glad_eglResetStreamNV = (PFNEGLRESETSTREAMNVPROC)load("eglResetStreamNV");
|
||||||
|
}
|
||||||
|
static void load_EGL_NV_stream_sync(GLADloadproc load) {
|
||||||
|
glad_eglCreateStreamSyncNV = (PFNEGLCREATESTREAMSYNCNVPROC)load("eglCreateStreamSyncNV");
|
||||||
|
}
|
||||||
|
static void load_EGL_NV_sync(GLADloadproc load) {
|
||||||
|
glad_eglCreateFenceSyncNV = (PFNEGLCREATEFENCESYNCNVPROC)load("eglCreateFenceSyncNV");
|
||||||
|
glad_eglDestroySyncNV = (PFNEGLDESTROYSYNCNVPROC)load("eglDestroySyncNV");
|
||||||
|
glad_eglFenceNV = (PFNEGLFENCENVPROC)load("eglFenceNV");
|
||||||
|
glad_eglClientWaitSyncNV = (PFNEGLCLIENTWAITSYNCNVPROC)load("eglClientWaitSyncNV");
|
||||||
|
glad_eglSignalSyncNV = (PFNEGLSIGNALSYNCNVPROC)load("eglSignalSyncNV");
|
||||||
|
glad_eglGetSyncAttribNV = (PFNEGLGETSYNCATTRIBNVPROC)load("eglGetSyncAttribNV");
|
||||||
|
}
|
||||||
|
static void load_EGL_NV_system_time(GLADloadproc load) {
|
||||||
|
glad_eglGetSystemTimeFrequencyNV = (PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC)load("eglGetSystemTimeFrequencyNV");
|
||||||
|
glad_eglGetSystemTimeNV = (PFNEGLGETSYSTEMTIMENVPROC)load("eglGetSystemTimeNV");
|
||||||
|
}
|
||||||
|
static void load_EGL_WL_bind_wayland_display(GLADloadproc load) {
|
||||||
|
glad_eglBindWaylandDisplayWL = (PFNEGLBINDWAYLANDDISPLAYWLPROC)load("eglBindWaylandDisplayWL");
|
||||||
|
glad_eglUnbindWaylandDisplayWL = (PFNEGLUNBINDWAYLANDDISPLAYWLPROC)load("eglUnbindWaylandDisplayWL");
|
||||||
|
glad_eglQueryWaylandBufferWL = (PFNEGLQUERYWAYLANDBUFFERWLPROC)load("eglQueryWaylandBufferWL");
|
||||||
|
}
|
||||||
|
static void load_EGL_WL_create_wayland_buffer_from_image(GLADloadproc load) {
|
||||||
|
glad_eglCreateWaylandBufferFromImageWL = (PFNEGLCREATEWAYLANDBUFFERFROMIMAGEWLPROC)load("eglCreateWaylandBufferFromImageWL");
|
||||||
|
}
|
||||||
|
static int find_extensionsEGL(void) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void find_coreEGL(void) {
|
||||||
|
}
|
||||||
|
|
||||||
|
int gladLoadEGLLoader(GLADloadproc load) {
|
||||||
|
(void) load;
|
||||||
|
find_coreEGL();
|
||||||
|
|
||||||
|
if (!find_extensionsEGL()) return 0;
|
||||||
|
load_EGL_ANDROID_blob_cache(load);
|
||||||
|
load_EGL_ANDROID_create_native_client_buffer(load);
|
||||||
|
load_EGL_ANDROID_get_frame_timestamps(load);
|
||||||
|
load_EGL_ANDROID_get_native_client_buffer(load);
|
||||||
|
load_EGL_ANDROID_native_fence_sync(load);
|
||||||
|
load_EGL_ANDROID_presentation_time(load);
|
||||||
|
load_EGL_ANGLE_query_surface_pointer(load);
|
||||||
|
load_EGL_EXT_client_sync(load);
|
||||||
|
load_EGL_EXT_compositor(load);
|
||||||
|
load_EGL_EXT_device_base(load);
|
||||||
|
load_EGL_EXT_device_enumeration(load);
|
||||||
|
load_EGL_EXT_device_query(load);
|
||||||
|
load_EGL_EXT_image_dma_buf_import_modifiers(load);
|
||||||
|
load_EGL_EXT_output_base(load);
|
||||||
|
load_EGL_EXT_platform_base(load);
|
||||||
|
load_EGL_EXT_stream_consumer_egloutput(load);
|
||||||
|
load_EGL_EXT_swap_buffers_with_damage(load);
|
||||||
|
load_EGL_EXT_sync_reuse(load);
|
||||||
|
load_EGL_HI_clientpixmap(load);
|
||||||
|
load_EGL_KHR_cl_event2(load);
|
||||||
|
load_EGL_KHR_debug(load);
|
||||||
|
load_EGL_KHR_display_reference(load);
|
||||||
|
load_EGL_KHR_fence_sync(load);
|
||||||
|
load_EGL_KHR_image(load);
|
||||||
|
load_EGL_KHR_image_base(load);
|
||||||
|
load_EGL_KHR_lock_surface(load);
|
||||||
|
load_EGL_KHR_lock_surface3(load);
|
||||||
|
load_EGL_KHR_partial_update(load);
|
||||||
|
load_EGL_KHR_reusable_sync(load);
|
||||||
|
load_EGL_KHR_stream(load);
|
||||||
|
load_EGL_KHR_stream_attrib(load);
|
||||||
|
load_EGL_KHR_stream_consumer_gltexture(load);
|
||||||
|
load_EGL_KHR_stream_cross_process_fd(load);
|
||||||
|
load_EGL_KHR_stream_fifo(load);
|
||||||
|
load_EGL_KHR_stream_producer_eglsurface(load);
|
||||||
|
load_EGL_KHR_swap_buffers_with_damage(load);
|
||||||
|
load_EGL_KHR_wait_sync(load);
|
||||||
|
load_EGL_MESA_drm_image(load);
|
||||||
|
load_EGL_MESA_image_dma_buf_export(load);
|
||||||
|
load_EGL_MESA_query_driver(load);
|
||||||
|
load_EGL_NOK_swap_region(load);
|
||||||
|
load_EGL_NOK_swap_region2(load);
|
||||||
|
load_EGL_NV_native_query(load);
|
||||||
|
load_EGL_NV_post_sub_buffer(load);
|
||||||
|
load_EGL_NV_stream_consumer_gltexture_yuv(load);
|
||||||
|
load_EGL_NV_stream_flush(load);
|
||||||
|
load_EGL_NV_stream_metadata(load);
|
||||||
|
load_EGL_NV_stream_reset(load);
|
||||||
|
load_EGL_NV_stream_sync(load);
|
||||||
|
load_EGL_NV_sync(load);
|
||||||
|
load_EGL_NV_system_time(load);
|
||||||
|
load_EGL_WL_bind_wayland_display(load);
|
||||||
|
load_EGL_WL_create_wayland_buffer_from_image(load);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,753 @@
|
||||||
|
/*
|
||||||
|
|
||||||
|
WGL loader generated by glad 0.1.33 on Sun May 3 16:49:27 2020.
|
||||||
|
|
||||||
|
Language/Generator: C/C++
|
||||||
|
Specification: wgl
|
||||||
|
APIs: wgl=1.0
|
||||||
|
Profile: -
|
||||||
|
Extensions:
|
||||||
|
WGL_3DFX_multisample,
|
||||||
|
WGL_3DL_stereo_control,
|
||||||
|
WGL_AMD_gpu_association,
|
||||||
|
WGL_ARB_buffer_region,
|
||||||
|
WGL_ARB_context_flush_control,
|
||||||
|
WGL_ARB_create_context,
|
||||||
|
WGL_ARB_create_context_no_error,
|
||||||
|
WGL_ARB_create_context_profile,
|
||||||
|
WGL_ARB_create_context_robustness,
|
||||||
|
WGL_ARB_extensions_string,
|
||||||
|
WGL_ARB_framebuffer_sRGB,
|
||||||
|
WGL_ARB_make_current_read,
|
||||||
|
WGL_ARB_multisample,
|
||||||
|
WGL_ARB_pbuffer,
|
||||||
|
WGL_ARB_pixel_format,
|
||||||
|
WGL_ARB_pixel_format_float,
|
||||||
|
WGL_ARB_render_texture,
|
||||||
|
WGL_ARB_robustness_application_isolation,
|
||||||
|
WGL_ARB_robustness_share_group_isolation,
|
||||||
|
WGL_ATI_pixel_format_float,
|
||||||
|
WGL_ATI_render_texture_rectangle,
|
||||||
|
WGL_EXT_colorspace,
|
||||||
|
WGL_EXT_create_context_es2_profile,
|
||||||
|
WGL_EXT_create_context_es_profile,
|
||||||
|
WGL_EXT_depth_float,
|
||||||
|
WGL_EXT_display_color_table,
|
||||||
|
WGL_EXT_extensions_string,
|
||||||
|
WGL_EXT_framebuffer_sRGB,
|
||||||
|
WGL_EXT_make_current_read,
|
||||||
|
WGL_EXT_multisample,
|
||||||
|
WGL_EXT_pbuffer,
|
||||||
|
WGL_EXT_pixel_format,
|
||||||
|
WGL_EXT_pixel_format_packed_float,
|
||||||
|
WGL_EXT_swap_control,
|
||||||
|
WGL_EXT_swap_control_tear,
|
||||||
|
WGL_I3D_digital_video_control,
|
||||||
|
WGL_I3D_gamma,
|
||||||
|
WGL_I3D_genlock,
|
||||||
|
WGL_I3D_image_buffer,
|
||||||
|
WGL_I3D_swap_frame_lock,
|
||||||
|
WGL_I3D_swap_frame_usage,
|
||||||
|
WGL_NV_DX_interop,
|
||||||
|
WGL_NV_DX_interop2,
|
||||||
|
WGL_NV_copy_image,
|
||||||
|
WGL_NV_delay_before_swap,
|
||||||
|
WGL_NV_float_buffer,
|
||||||
|
WGL_NV_gpu_affinity,
|
||||||
|
WGL_NV_multigpu_context,
|
||||||
|
WGL_NV_multisample_coverage,
|
||||||
|
WGL_NV_present_video,
|
||||||
|
WGL_NV_render_depth_texture,
|
||||||
|
WGL_NV_render_texture_rectangle,
|
||||||
|
WGL_NV_swap_group,
|
||||||
|
WGL_NV_vertex_array_range,
|
||||||
|
WGL_NV_video_capture,
|
||||||
|
WGL_NV_video_output,
|
||||||
|
WGL_OML_sync_control
|
||||||
|
Loader: True
|
||||||
|
Local files: False
|
||||||
|
Omit khrplatform: False
|
||||||
|
Reproducible: False
|
||||||
|
|
||||||
|
Commandline:
|
||||||
|
--api="wgl=1.0" --generator="c" --spec="wgl" --extensions="WGL_3DFX_multisample,WGL_3DL_stereo_control,WGL_AMD_gpu_association,WGL_ARB_buffer_region,WGL_ARB_context_flush_control,WGL_ARB_create_context,WGL_ARB_create_context_no_error,WGL_ARB_create_context_profile,WGL_ARB_create_context_robustness,WGL_ARB_extensions_string,WGL_ARB_framebuffer_sRGB,WGL_ARB_make_current_read,WGL_ARB_multisample,WGL_ARB_pbuffer,WGL_ARB_pixel_format,WGL_ARB_pixel_format_float,WGL_ARB_render_texture,WGL_ARB_robustness_application_isolation,WGL_ARB_robustness_share_group_isolation,WGL_ATI_pixel_format_float,WGL_ATI_render_texture_rectangle,WGL_EXT_colorspace,WGL_EXT_create_context_es2_profile,WGL_EXT_create_context_es_profile,WGL_EXT_depth_float,WGL_EXT_display_color_table,WGL_EXT_extensions_string,WGL_EXT_framebuffer_sRGB,WGL_EXT_make_current_read,WGL_EXT_multisample,WGL_EXT_pbuffer,WGL_EXT_pixel_format,WGL_EXT_pixel_format_packed_float,WGL_EXT_swap_control,WGL_EXT_swap_control_tear,WGL_I3D_digital_video_control,WGL_I3D_gamma,WGL_I3D_genlock,WGL_I3D_image_buffer,WGL_I3D_swap_frame_lock,WGL_I3D_swap_frame_usage,WGL_NV_DX_interop,WGL_NV_DX_interop2,WGL_NV_copy_image,WGL_NV_delay_before_swap,WGL_NV_float_buffer,WGL_NV_gpu_affinity,WGL_NV_multigpu_context,WGL_NV_multisample_coverage,WGL_NV_present_video,WGL_NV_render_depth_texture,WGL_NV_render_texture_rectangle,WGL_NV_swap_group,WGL_NV_vertex_array_range,WGL_NV_video_capture,WGL_NV_video_output,WGL_OML_sync_control"
|
||||||
|
Online:
|
||||||
|
Too many extensions
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "glad_wgl.h"
|
||||||
|
|
||||||
|
static void* get_proc(const char *namez);
|
||||||
|
|
||||||
|
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||||
|
#ifndef _WINDOWS_
|
||||||
|
#undef APIENTRY
|
||||||
|
#endif
|
||||||
|
#include <windows.h>
|
||||||
|
static HMODULE libGL;
|
||||||
|
|
||||||
|
typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
|
||||||
|
static PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#ifdef __has_include
|
||||||
|
#if __has_include(<winapifamily.h>)
|
||||||
|
#define HAVE_WINAPIFAMILY 1
|
||||||
|
#endif
|
||||||
|
#elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
|
||||||
|
#define HAVE_WINAPIFAMILY 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_WINAPIFAMILY
|
||||||
|
#include <winapifamily.h>
|
||||||
|
#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
||||||
|
#define IS_UWP 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static
|
||||||
|
int open_gl(void) {
|
||||||
|
#ifndef IS_UWP
|
||||||
|
libGL = LoadLibraryW(L"opengl32.dll");
|
||||||
|
if(libGL != NULL) {
|
||||||
|
void (* tmp)(void);
|
||||||
|
tmp = (void(*)(void)) GetProcAddress(libGL, "wglGetProcAddress");
|
||||||
|
gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE) tmp;
|
||||||
|
return gladGetProcAddressPtr != NULL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
void close_gl(void) {
|
||||||
|
if(libGL != NULL) {
|
||||||
|
FreeLibrary((HMODULE) libGL);
|
||||||
|
libGL = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#include <dlfcn.h>
|
||||||
|
static void* libGL;
|
||||||
|
|
||||||
|
#if !defined(__APPLE__) && !defined(__HAIKU__)
|
||||||
|
typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
|
||||||
|
static PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static
|
||||||
|
int open_gl(void) {
|
||||||
|
#ifdef __APPLE__
|
||||||
|
static const char *NAMES[] = {
|
||||||
|
"../Frameworks/OpenGL.framework/OpenGL",
|
||||||
|
"/Library/Frameworks/OpenGL.framework/OpenGL",
|
||||||
|
"/System/Library/Frameworks/OpenGL.framework/OpenGL",
|
||||||
|
"/System/Library/Frameworks/OpenGL.framework/Versions/Current/OpenGL"
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
static const char *NAMES[] = {"libGL.so.1", "libGL.so"};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
unsigned int index = 0;
|
||||||
|
for(index = 0; index < (sizeof(NAMES) / sizeof(NAMES[0])); index++) {
|
||||||
|
libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
|
||||||
|
|
||||||
|
if(libGL != NULL) {
|
||||||
|
#if defined(__APPLE__) || defined(__HAIKU__)
|
||||||
|
return 1;
|
||||||
|
#else
|
||||||
|
gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
|
||||||
|
"glXGetProcAddressARB");
|
||||||
|
return gladGetProcAddressPtr != NULL;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
void close_gl(void) {
|
||||||
|
if(libGL != NULL) {
|
||||||
|
dlclose(libGL);
|
||||||
|
libGL = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static
|
||||||
|
void* get_proc(const char *namez) {
|
||||||
|
void* result = NULL;
|
||||||
|
if(libGL == NULL) return NULL;
|
||||||
|
|
||||||
|
#if !defined(__APPLE__) && !defined(__HAIKU__)
|
||||||
|
if(gladGetProcAddressPtr != NULL) {
|
||||||
|
result = gladGetProcAddressPtr(namez);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if(result == NULL) {
|
||||||
|
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||||
|
result = (void*)GetProcAddress((HMODULE) libGL, namez);
|
||||||
|
#else
|
||||||
|
result = dlsym(libGL, namez);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
int gladLoadWGL(HDC hdc) {
|
||||||
|
int status = 0;
|
||||||
|
|
||||||
|
if(open_gl()) {
|
||||||
|
status = gladLoadWGLLoader((GLADloadproc)get_proc, hdc);
|
||||||
|
close_gl();
|
||||||
|
}
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HDC GLADWGLhdc = (HDC)INVALID_HANDLE_VALUE;
|
||||||
|
|
||||||
|
static int get_exts(void) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void free_exts(void) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int has_ext(const char *ext) {
|
||||||
|
const char *terminator;
|
||||||
|
const char *loc;
|
||||||
|
const char *extensions;
|
||||||
|
|
||||||
|
if(wglGetExtensionsStringEXT == NULL && wglGetExtensionsStringARB == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if(wglGetExtensionsStringARB == NULL || GLADWGLhdc == INVALID_HANDLE_VALUE)
|
||||||
|
extensions = wglGetExtensionsStringEXT();
|
||||||
|
else
|
||||||
|
extensions = wglGetExtensionsStringARB(GLADWGLhdc);
|
||||||
|
|
||||||
|
if(extensions == NULL || ext == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
while(1) {
|
||||||
|
loc = strstr(extensions, ext);
|
||||||
|
if(loc == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
terminator = loc + strlen(ext);
|
||||||
|
if((loc == extensions || *(loc - 1) == ' ') &&
|
||||||
|
(*terminator == ' ' || *terminator == '\0'))
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
extensions = terminator;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
int GLAD_WGL_VERSION_1_0 = 0;
|
||||||
|
int GLAD_WGL_3DFX_multisample = 0;
|
||||||
|
int GLAD_WGL_3DL_stereo_control = 0;
|
||||||
|
int GLAD_WGL_AMD_gpu_association = 0;
|
||||||
|
int GLAD_WGL_ARB_buffer_region = 0;
|
||||||
|
int GLAD_WGL_ARB_context_flush_control = 0;
|
||||||
|
int GLAD_WGL_ARB_create_context = 0;
|
||||||
|
int GLAD_WGL_ARB_create_context_no_error = 0;
|
||||||
|
int GLAD_WGL_ARB_create_context_profile = 0;
|
||||||
|
int GLAD_WGL_ARB_create_context_robustness = 0;
|
||||||
|
int GLAD_WGL_ARB_extensions_string = 0;
|
||||||
|
int GLAD_WGL_ARB_framebuffer_sRGB = 0;
|
||||||
|
int GLAD_WGL_ARB_make_current_read = 0;
|
||||||
|
int GLAD_WGL_ARB_multisample = 0;
|
||||||
|
int GLAD_WGL_ARB_pbuffer = 0;
|
||||||
|
int GLAD_WGL_ARB_pixel_format = 0;
|
||||||
|
int GLAD_WGL_ARB_pixel_format_float = 0;
|
||||||
|
int GLAD_WGL_ARB_render_texture = 0;
|
||||||
|
int GLAD_WGL_ARB_robustness_application_isolation = 0;
|
||||||
|
int GLAD_WGL_ARB_robustness_share_group_isolation = 0;
|
||||||
|
int GLAD_WGL_ATI_pixel_format_float = 0;
|
||||||
|
int GLAD_WGL_ATI_render_texture_rectangle = 0;
|
||||||
|
int GLAD_WGL_EXT_colorspace = 0;
|
||||||
|
int GLAD_WGL_EXT_create_context_es2_profile = 0;
|
||||||
|
int GLAD_WGL_EXT_create_context_es_profile = 0;
|
||||||
|
int GLAD_WGL_EXT_depth_float = 0;
|
||||||
|
int GLAD_WGL_EXT_display_color_table = 0;
|
||||||
|
int GLAD_WGL_EXT_extensions_string = 0;
|
||||||
|
int GLAD_WGL_EXT_framebuffer_sRGB = 0;
|
||||||
|
int GLAD_WGL_EXT_make_current_read = 0;
|
||||||
|
int GLAD_WGL_EXT_multisample = 0;
|
||||||
|
int GLAD_WGL_EXT_pbuffer = 0;
|
||||||
|
int GLAD_WGL_EXT_pixel_format = 0;
|
||||||
|
int GLAD_WGL_EXT_pixel_format_packed_float = 0;
|
||||||
|
int GLAD_WGL_EXT_swap_control = 0;
|
||||||
|
int GLAD_WGL_EXT_swap_control_tear = 0;
|
||||||
|
int GLAD_WGL_I3D_digital_video_control = 0;
|
||||||
|
int GLAD_WGL_I3D_gamma = 0;
|
||||||
|
int GLAD_WGL_I3D_genlock = 0;
|
||||||
|
int GLAD_WGL_I3D_image_buffer = 0;
|
||||||
|
int GLAD_WGL_I3D_swap_frame_lock = 0;
|
||||||
|
int GLAD_WGL_I3D_swap_frame_usage = 0;
|
||||||
|
int GLAD_WGL_NV_DX_interop = 0;
|
||||||
|
int GLAD_WGL_NV_DX_interop2 = 0;
|
||||||
|
int GLAD_WGL_NV_copy_image = 0;
|
||||||
|
int GLAD_WGL_NV_delay_before_swap = 0;
|
||||||
|
int GLAD_WGL_NV_float_buffer = 0;
|
||||||
|
int GLAD_WGL_NV_gpu_affinity = 0;
|
||||||
|
int GLAD_WGL_NV_multigpu_context = 0;
|
||||||
|
int GLAD_WGL_NV_multisample_coverage = 0;
|
||||||
|
int GLAD_WGL_NV_present_video = 0;
|
||||||
|
int GLAD_WGL_NV_render_depth_texture = 0;
|
||||||
|
int GLAD_WGL_NV_render_texture_rectangle = 0;
|
||||||
|
int GLAD_WGL_NV_swap_group = 0;
|
||||||
|
int GLAD_WGL_NV_vertex_array_range = 0;
|
||||||
|
int GLAD_WGL_NV_video_capture = 0;
|
||||||
|
int GLAD_WGL_NV_video_output = 0;
|
||||||
|
int GLAD_WGL_OML_sync_control = 0;
|
||||||
|
PFNWGLSETSTEREOEMITTERSTATE3DLPROC glad_wglSetStereoEmitterState3DL = NULL;
|
||||||
|
PFNWGLGETGPUIDSAMDPROC glad_wglGetGPUIDsAMD = NULL;
|
||||||
|
PFNWGLGETGPUINFOAMDPROC glad_wglGetGPUInfoAMD = NULL;
|
||||||
|
PFNWGLGETCONTEXTGPUIDAMDPROC glad_wglGetContextGPUIDAMD = NULL;
|
||||||
|
PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC glad_wglCreateAssociatedContextAMD = NULL;
|
||||||
|
PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_wglCreateAssociatedContextAttribsAMD = NULL;
|
||||||
|
PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC glad_wglDeleteAssociatedContextAMD = NULL;
|
||||||
|
PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_wglMakeAssociatedContextCurrentAMD = NULL;
|
||||||
|
PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_wglGetCurrentAssociatedContextAMD = NULL;
|
||||||
|
PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC glad_wglBlitContextFramebufferAMD = NULL;
|
||||||
|
PFNWGLCREATEBUFFERREGIONARBPROC glad_wglCreateBufferRegionARB = NULL;
|
||||||
|
PFNWGLDELETEBUFFERREGIONARBPROC glad_wglDeleteBufferRegionARB = NULL;
|
||||||
|
PFNWGLSAVEBUFFERREGIONARBPROC glad_wglSaveBufferRegionARB = NULL;
|
||||||
|
PFNWGLRESTOREBUFFERREGIONARBPROC glad_wglRestoreBufferRegionARB = NULL;
|
||||||
|
PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB = NULL;
|
||||||
|
PFNWGLGETEXTENSIONSSTRINGARBPROC glad_wglGetExtensionsStringARB = NULL;
|
||||||
|
PFNWGLMAKECONTEXTCURRENTARBPROC glad_wglMakeContextCurrentARB = NULL;
|
||||||
|
PFNWGLGETCURRENTREADDCARBPROC glad_wglGetCurrentReadDCARB = NULL;
|
||||||
|
PFNWGLCREATEPBUFFERARBPROC glad_wglCreatePbufferARB = NULL;
|
||||||
|
PFNWGLGETPBUFFERDCARBPROC glad_wglGetPbufferDCARB = NULL;
|
||||||
|
PFNWGLRELEASEPBUFFERDCARBPROC glad_wglReleasePbufferDCARB = NULL;
|
||||||
|
PFNWGLDESTROYPBUFFERARBPROC glad_wglDestroyPbufferARB = NULL;
|
||||||
|
PFNWGLQUERYPBUFFERARBPROC glad_wglQueryPbufferARB = NULL;
|
||||||
|
PFNWGLGETPIXELFORMATATTRIBIVARBPROC glad_wglGetPixelFormatAttribivARB = NULL;
|
||||||
|
PFNWGLGETPIXELFORMATATTRIBFVARBPROC glad_wglGetPixelFormatAttribfvARB = NULL;
|
||||||
|
PFNWGLCHOOSEPIXELFORMATARBPROC glad_wglChoosePixelFormatARB = NULL;
|
||||||
|
PFNWGLBINDTEXIMAGEARBPROC glad_wglBindTexImageARB = NULL;
|
||||||
|
PFNWGLRELEASETEXIMAGEARBPROC glad_wglReleaseTexImageARB = NULL;
|
||||||
|
PFNWGLSETPBUFFERATTRIBARBPROC glad_wglSetPbufferAttribARB = NULL;
|
||||||
|
PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC glad_wglCreateDisplayColorTableEXT = NULL;
|
||||||
|
PFNWGLLOADDISPLAYCOLORTABLEEXTPROC glad_wglLoadDisplayColorTableEXT = NULL;
|
||||||
|
PFNWGLBINDDISPLAYCOLORTABLEEXTPROC glad_wglBindDisplayColorTableEXT = NULL;
|
||||||
|
PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC glad_wglDestroyDisplayColorTableEXT = NULL;
|
||||||
|
PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT = NULL;
|
||||||
|
PFNWGLMAKECONTEXTCURRENTEXTPROC glad_wglMakeContextCurrentEXT = NULL;
|
||||||
|
PFNWGLGETCURRENTREADDCEXTPROC glad_wglGetCurrentReadDCEXT = NULL;
|
||||||
|
PFNWGLCREATEPBUFFEREXTPROC glad_wglCreatePbufferEXT = NULL;
|
||||||
|
PFNWGLGETPBUFFERDCEXTPROC glad_wglGetPbufferDCEXT = NULL;
|
||||||
|
PFNWGLRELEASEPBUFFERDCEXTPROC glad_wglReleasePbufferDCEXT = NULL;
|
||||||
|
PFNWGLDESTROYPBUFFEREXTPROC glad_wglDestroyPbufferEXT = NULL;
|
||||||
|
PFNWGLQUERYPBUFFEREXTPROC glad_wglQueryPbufferEXT = NULL;
|
||||||
|
PFNWGLGETPIXELFORMATATTRIBIVEXTPROC glad_wglGetPixelFormatAttribivEXT = NULL;
|
||||||
|
PFNWGLGETPIXELFORMATATTRIBFVEXTPROC glad_wglGetPixelFormatAttribfvEXT = NULL;
|
||||||
|
PFNWGLCHOOSEPIXELFORMATEXTPROC glad_wglChoosePixelFormatEXT = NULL;
|
||||||
|
PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT = NULL;
|
||||||
|
PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT = NULL;
|
||||||
|
PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC glad_wglGetDigitalVideoParametersI3D = NULL;
|
||||||
|
PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC glad_wglSetDigitalVideoParametersI3D = NULL;
|
||||||
|
PFNWGLGETGAMMATABLEPARAMETERSI3DPROC glad_wglGetGammaTableParametersI3D = NULL;
|
||||||
|
PFNWGLSETGAMMATABLEPARAMETERSI3DPROC glad_wglSetGammaTableParametersI3D = NULL;
|
||||||
|
PFNWGLGETGAMMATABLEI3DPROC glad_wglGetGammaTableI3D = NULL;
|
||||||
|
PFNWGLSETGAMMATABLEI3DPROC glad_wglSetGammaTableI3D = NULL;
|
||||||
|
PFNWGLENABLEGENLOCKI3DPROC glad_wglEnableGenlockI3D = NULL;
|
||||||
|
PFNWGLDISABLEGENLOCKI3DPROC glad_wglDisableGenlockI3D = NULL;
|
||||||
|
PFNWGLISENABLEDGENLOCKI3DPROC glad_wglIsEnabledGenlockI3D = NULL;
|
||||||
|
PFNWGLGENLOCKSOURCEI3DPROC glad_wglGenlockSourceI3D = NULL;
|
||||||
|
PFNWGLGETGENLOCKSOURCEI3DPROC glad_wglGetGenlockSourceI3D = NULL;
|
||||||
|
PFNWGLGENLOCKSOURCEEDGEI3DPROC glad_wglGenlockSourceEdgeI3D = NULL;
|
||||||
|
PFNWGLGETGENLOCKSOURCEEDGEI3DPROC glad_wglGetGenlockSourceEdgeI3D = NULL;
|
||||||
|
PFNWGLGENLOCKSAMPLERATEI3DPROC glad_wglGenlockSampleRateI3D = NULL;
|
||||||
|
PFNWGLGETGENLOCKSAMPLERATEI3DPROC glad_wglGetGenlockSampleRateI3D = NULL;
|
||||||
|
PFNWGLGENLOCKSOURCEDELAYI3DPROC glad_wglGenlockSourceDelayI3D = NULL;
|
||||||
|
PFNWGLGETGENLOCKSOURCEDELAYI3DPROC glad_wglGetGenlockSourceDelayI3D = NULL;
|
||||||
|
PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC glad_wglQueryGenlockMaxSourceDelayI3D = NULL;
|
||||||
|
PFNWGLCREATEIMAGEBUFFERI3DPROC glad_wglCreateImageBufferI3D = NULL;
|
||||||
|
PFNWGLDESTROYIMAGEBUFFERI3DPROC glad_wglDestroyImageBufferI3D = NULL;
|
||||||
|
PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC glad_wglAssociateImageBufferEventsI3D = NULL;
|
||||||
|
PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC glad_wglReleaseImageBufferEventsI3D = NULL;
|
||||||
|
PFNWGLENABLEFRAMELOCKI3DPROC glad_wglEnableFrameLockI3D = NULL;
|
||||||
|
PFNWGLDISABLEFRAMELOCKI3DPROC glad_wglDisableFrameLockI3D = NULL;
|
||||||
|
PFNWGLISENABLEDFRAMELOCKI3DPROC glad_wglIsEnabledFrameLockI3D = NULL;
|
||||||
|
PFNWGLQUERYFRAMELOCKMASTERI3DPROC glad_wglQueryFrameLockMasterI3D = NULL;
|
||||||
|
PFNWGLGETFRAMEUSAGEI3DPROC glad_wglGetFrameUsageI3D = NULL;
|
||||||
|
PFNWGLBEGINFRAMETRACKINGI3DPROC glad_wglBeginFrameTrackingI3D = NULL;
|
||||||
|
PFNWGLENDFRAMETRACKINGI3DPROC glad_wglEndFrameTrackingI3D = NULL;
|
||||||
|
PFNWGLQUERYFRAMETRACKINGI3DPROC glad_wglQueryFrameTrackingI3D = NULL;
|
||||||
|
PFNWGLDXSETRESOURCESHAREHANDLENVPROC glad_wglDXSetResourceShareHandleNV = NULL;
|
||||||
|
PFNWGLDXOPENDEVICENVPROC glad_wglDXOpenDeviceNV = NULL;
|
||||||
|
PFNWGLDXCLOSEDEVICENVPROC glad_wglDXCloseDeviceNV = NULL;
|
||||||
|
PFNWGLDXREGISTEROBJECTNVPROC glad_wglDXRegisterObjectNV = NULL;
|
||||||
|
PFNWGLDXUNREGISTEROBJECTNVPROC glad_wglDXUnregisterObjectNV = NULL;
|
||||||
|
PFNWGLDXOBJECTACCESSNVPROC glad_wglDXObjectAccessNV = NULL;
|
||||||
|
PFNWGLDXLOCKOBJECTSNVPROC glad_wglDXLockObjectsNV = NULL;
|
||||||
|
PFNWGLDXUNLOCKOBJECTSNVPROC glad_wglDXUnlockObjectsNV = NULL;
|
||||||
|
PFNWGLCOPYIMAGESUBDATANVPROC glad_wglCopyImageSubDataNV = NULL;
|
||||||
|
PFNWGLDELAYBEFORESWAPNVPROC glad_wglDelayBeforeSwapNV = NULL;
|
||||||
|
PFNWGLENUMGPUSNVPROC glad_wglEnumGpusNV = NULL;
|
||||||
|
PFNWGLENUMGPUDEVICESNVPROC glad_wglEnumGpuDevicesNV = NULL;
|
||||||
|
PFNWGLCREATEAFFINITYDCNVPROC glad_wglCreateAffinityDCNV = NULL;
|
||||||
|
PFNWGLENUMGPUSFROMAFFINITYDCNVPROC glad_wglEnumGpusFromAffinityDCNV = NULL;
|
||||||
|
PFNWGLDELETEDCNVPROC glad_wglDeleteDCNV = NULL;
|
||||||
|
PFNWGLENUMERATEVIDEODEVICESNVPROC glad_wglEnumerateVideoDevicesNV = NULL;
|
||||||
|
PFNWGLBINDVIDEODEVICENVPROC glad_wglBindVideoDeviceNV = NULL;
|
||||||
|
PFNWGLQUERYCURRENTCONTEXTNVPROC glad_wglQueryCurrentContextNV = NULL;
|
||||||
|
PFNWGLJOINSWAPGROUPNVPROC glad_wglJoinSwapGroupNV = NULL;
|
||||||
|
PFNWGLBINDSWAPBARRIERNVPROC glad_wglBindSwapBarrierNV = NULL;
|
||||||
|
PFNWGLQUERYSWAPGROUPNVPROC glad_wglQuerySwapGroupNV = NULL;
|
||||||
|
PFNWGLQUERYMAXSWAPGROUPSNVPROC glad_wglQueryMaxSwapGroupsNV = NULL;
|
||||||
|
PFNWGLQUERYFRAMECOUNTNVPROC glad_wglQueryFrameCountNV = NULL;
|
||||||
|
PFNWGLRESETFRAMECOUNTNVPROC glad_wglResetFrameCountNV = NULL;
|
||||||
|
PFNWGLALLOCATEMEMORYNVPROC glad_wglAllocateMemoryNV = NULL;
|
||||||
|
PFNWGLFREEMEMORYNVPROC glad_wglFreeMemoryNV = NULL;
|
||||||
|
PFNWGLBINDVIDEOCAPTUREDEVICENVPROC glad_wglBindVideoCaptureDeviceNV = NULL;
|
||||||
|
PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_wglEnumerateVideoCaptureDevicesNV = NULL;
|
||||||
|
PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC glad_wglLockVideoCaptureDeviceNV = NULL;
|
||||||
|
PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC glad_wglQueryVideoCaptureDeviceNV = NULL;
|
||||||
|
PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC glad_wglReleaseVideoCaptureDeviceNV = NULL;
|
||||||
|
PFNWGLGETVIDEODEVICENVPROC glad_wglGetVideoDeviceNV = NULL;
|
||||||
|
PFNWGLRELEASEVIDEODEVICENVPROC glad_wglReleaseVideoDeviceNV = NULL;
|
||||||
|
PFNWGLBINDVIDEOIMAGENVPROC glad_wglBindVideoImageNV = NULL;
|
||||||
|
PFNWGLRELEASEVIDEOIMAGENVPROC glad_wglReleaseVideoImageNV = NULL;
|
||||||
|
PFNWGLSENDPBUFFERTOVIDEONVPROC glad_wglSendPbufferToVideoNV = NULL;
|
||||||
|
PFNWGLGETVIDEOINFONVPROC glad_wglGetVideoInfoNV = NULL;
|
||||||
|
PFNWGLGETSYNCVALUESOMLPROC glad_wglGetSyncValuesOML = NULL;
|
||||||
|
PFNWGLGETMSCRATEOMLPROC glad_wglGetMscRateOML = NULL;
|
||||||
|
PFNWGLSWAPBUFFERSMSCOMLPROC glad_wglSwapBuffersMscOML = NULL;
|
||||||
|
PFNWGLSWAPLAYERBUFFERSMSCOMLPROC glad_wglSwapLayerBuffersMscOML = NULL;
|
||||||
|
PFNWGLWAITFORMSCOMLPROC glad_wglWaitForMscOML = NULL;
|
||||||
|
PFNWGLWAITFORSBCOMLPROC glad_wglWaitForSbcOML = NULL;
|
||||||
|
static void load_WGL_3DL_stereo_control(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_3DL_stereo_control) return;
|
||||||
|
glad_wglSetStereoEmitterState3DL = (PFNWGLSETSTEREOEMITTERSTATE3DLPROC)load("wglSetStereoEmitterState3DL");
|
||||||
|
}
|
||||||
|
static void load_WGL_AMD_gpu_association(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_AMD_gpu_association) return;
|
||||||
|
glad_wglGetGPUIDsAMD = (PFNWGLGETGPUIDSAMDPROC)load("wglGetGPUIDsAMD");
|
||||||
|
glad_wglGetGPUInfoAMD = (PFNWGLGETGPUINFOAMDPROC)load("wglGetGPUInfoAMD");
|
||||||
|
glad_wglGetContextGPUIDAMD = (PFNWGLGETCONTEXTGPUIDAMDPROC)load("wglGetContextGPUIDAMD");
|
||||||
|
glad_wglCreateAssociatedContextAMD = (PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC)load("wglCreateAssociatedContextAMD");
|
||||||
|
glad_wglCreateAssociatedContextAttribsAMD = (PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)load("wglCreateAssociatedContextAttribsAMD");
|
||||||
|
glad_wglDeleteAssociatedContextAMD = (PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC)load("wglDeleteAssociatedContextAMD");
|
||||||
|
glad_wglMakeAssociatedContextCurrentAMD = (PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)load("wglMakeAssociatedContextCurrentAMD");
|
||||||
|
glad_wglGetCurrentAssociatedContextAMD = (PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)load("wglGetCurrentAssociatedContextAMD");
|
||||||
|
glad_wglBlitContextFramebufferAMD = (PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)load("wglBlitContextFramebufferAMD");
|
||||||
|
}
|
||||||
|
static void load_WGL_ARB_buffer_region(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_ARB_buffer_region) return;
|
||||||
|
glad_wglCreateBufferRegionARB = (PFNWGLCREATEBUFFERREGIONARBPROC)load("wglCreateBufferRegionARB");
|
||||||
|
glad_wglDeleteBufferRegionARB = (PFNWGLDELETEBUFFERREGIONARBPROC)load("wglDeleteBufferRegionARB");
|
||||||
|
glad_wglSaveBufferRegionARB = (PFNWGLSAVEBUFFERREGIONARBPROC)load("wglSaveBufferRegionARB");
|
||||||
|
glad_wglRestoreBufferRegionARB = (PFNWGLRESTOREBUFFERREGIONARBPROC)load("wglRestoreBufferRegionARB");
|
||||||
|
}
|
||||||
|
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_ARB_extensions_string(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_ARB_extensions_string) return;
|
||||||
|
glad_wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)load("wglGetExtensionsStringARB");
|
||||||
|
}
|
||||||
|
static void load_WGL_ARB_make_current_read(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_ARB_make_current_read) return;
|
||||||
|
glad_wglMakeContextCurrentARB = (PFNWGLMAKECONTEXTCURRENTARBPROC)load("wglMakeContextCurrentARB");
|
||||||
|
glad_wglGetCurrentReadDCARB = (PFNWGLGETCURRENTREADDCARBPROC)load("wglGetCurrentReadDCARB");
|
||||||
|
}
|
||||||
|
static void load_WGL_ARB_pbuffer(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_ARB_pbuffer) return;
|
||||||
|
glad_wglCreatePbufferARB = (PFNWGLCREATEPBUFFERARBPROC)load("wglCreatePbufferARB");
|
||||||
|
glad_wglGetPbufferDCARB = (PFNWGLGETPBUFFERDCARBPROC)load("wglGetPbufferDCARB");
|
||||||
|
glad_wglReleasePbufferDCARB = (PFNWGLRELEASEPBUFFERDCARBPROC)load("wglReleasePbufferDCARB");
|
||||||
|
glad_wglDestroyPbufferARB = (PFNWGLDESTROYPBUFFERARBPROC)load("wglDestroyPbufferARB");
|
||||||
|
glad_wglQueryPbufferARB = (PFNWGLQUERYPBUFFERARBPROC)load("wglQueryPbufferARB");
|
||||||
|
}
|
||||||
|
static void load_WGL_ARB_pixel_format(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_ARB_pixel_format) return;
|
||||||
|
glad_wglGetPixelFormatAttribivARB = (PFNWGLGETPIXELFORMATATTRIBIVARBPROC)load("wglGetPixelFormatAttribivARB");
|
||||||
|
glad_wglGetPixelFormatAttribfvARB = (PFNWGLGETPIXELFORMATATTRIBFVARBPROC)load("wglGetPixelFormatAttribfvARB");
|
||||||
|
glad_wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)load("wglChoosePixelFormatARB");
|
||||||
|
}
|
||||||
|
static void load_WGL_ARB_render_texture(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_ARB_render_texture) return;
|
||||||
|
glad_wglBindTexImageARB = (PFNWGLBINDTEXIMAGEARBPROC)load("wglBindTexImageARB");
|
||||||
|
glad_wglReleaseTexImageARB = (PFNWGLRELEASETEXIMAGEARBPROC)load("wglReleaseTexImageARB");
|
||||||
|
glad_wglSetPbufferAttribARB = (PFNWGLSETPBUFFERATTRIBARBPROC)load("wglSetPbufferAttribARB");
|
||||||
|
}
|
||||||
|
static void load_WGL_EXT_display_color_table(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_EXT_display_color_table) return;
|
||||||
|
glad_wglCreateDisplayColorTableEXT = (PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC)load("wglCreateDisplayColorTableEXT");
|
||||||
|
glad_wglLoadDisplayColorTableEXT = (PFNWGLLOADDISPLAYCOLORTABLEEXTPROC)load("wglLoadDisplayColorTableEXT");
|
||||||
|
glad_wglBindDisplayColorTableEXT = (PFNWGLBINDDISPLAYCOLORTABLEEXTPROC)load("wglBindDisplayColorTableEXT");
|
||||||
|
glad_wglDestroyDisplayColorTableEXT = (PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC)load("wglDestroyDisplayColorTableEXT");
|
||||||
|
}
|
||||||
|
static void load_WGL_EXT_extensions_string(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_EXT_extensions_string) return;
|
||||||
|
glad_wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)load("wglGetExtensionsStringEXT");
|
||||||
|
}
|
||||||
|
static void load_WGL_EXT_make_current_read(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_EXT_make_current_read) return;
|
||||||
|
glad_wglMakeContextCurrentEXT = (PFNWGLMAKECONTEXTCURRENTEXTPROC)load("wglMakeContextCurrentEXT");
|
||||||
|
glad_wglGetCurrentReadDCEXT = (PFNWGLGETCURRENTREADDCEXTPROC)load("wglGetCurrentReadDCEXT");
|
||||||
|
}
|
||||||
|
static void load_WGL_EXT_pbuffer(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_EXT_pbuffer) return;
|
||||||
|
glad_wglCreatePbufferEXT = (PFNWGLCREATEPBUFFEREXTPROC)load("wglCreatePbufferEXT");
|
||||||
|
glad_wglGetPbufferDCEXT = (PFNWGLGETPBUFFERDCEXTPROC)load("wglGetPbufferDCEXT");
|
||||||
|
glad_wglReleasePbufferDCEXT = (PFNWGLRELEASEPBUFFERDCEXTPROC)load("wglReleasePbufferDCEXT");
|
||||||
|
glad_wglDestroyPbufferEXT = (PFNWGLDESTROYPBUFFEREXTPROC)load("wglDestroyPbufferEXT");
|
||||||
|
glad_wglQueryPbufferEXT = (PFNWGLQUERYPBUFFEREXTPROC)load("wglQueryPbufferEXT");
|
||||||
|
}
|
||||||
|
static void load_WGL_EXT_pixel_format(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_EXT_pixel_format) return;
|
||||||
|
glad_wglGetPixelFormatAttribivEXT = (PFNWGLGETPIXELFORMATATTRIBIVEXTPROC)load("wglGetPixelFormatAttribivEXT");
|
||||||
|
glad_wglGetPixelFormatAttribfvEXT = (PFNWGLGETPIXELFORMATATTRIBFVEXTPROC)load("wglGetPixelFormatAttribfvEXT");
|
||||||
|
glad_wglChoosePixelFormatEXT = (PFNWGLCHOOSEPIXELFORMATEXTPROC)load("wglChoosePixelFormatEXT");
|
||||||
|
}
|
||||||
|
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 void load_WGL_I3D_digital_video_control(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_I3D_digital_video_control) return;
|
||||||
|
glad_wglGetDigitalVideoParametersI3D = (PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC)load("wglGetDigitalVideoParametersI3D");
|
||||||
|
glad_wglSetDigitalVideoParametersI3D = (PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC)load("wglSetDigitalVideoParametersI3D");
|
||||||
|
}
|
||||||
|
static void load_WGL_I3D_gamma(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_I3D_gamma) return;
|
||||||
|
glad_wglGetGammaTableParametersI3D = (PFNWGLGETGAMMATABLEPARAMETERSI3DPROC)load("wglGetGammaTableParametersI3D");
|
||||||
|
glad_wglSetGammaTableParametersI3D = (PFNWGLSETGAMMATABLEPARAMETERSI3DPROC)load("wglSetGammaTableParametersI3D");
|
||||||
|
glad_wglGetGammaTableI3D = (PFNWGLGETGAMMATABLEI3DPROC)load("wglGetGammaTableI3D");
|
||||||
|
glad_wglSetGammaTableI3D = (PFNWGLSETGAMMATABLEI3DPROC)load("wglSetGammaTableI3D");
|
||||||
|
}
|
||||||
|
static void load_WGL_I3D_genlock(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_I3D_genlock) return;
|
||||||
|
glad_wglEnableGenlockI3D = (PFNWGLENABLEGENLOCKI3DPROC)load("wglEnableGenlockI3D");
|
||||||
|
glad_wglDisableGenlockI3D = (PFNWGLDISABLEGENLOCKI3DPROC)load("wglDisableGenlockI3D");
|
||||||
|
glad_wglIsEnabledGenlockI3D = (PFNWGLISENABLEDGENLOCKI3DPROC)load("wglIsEnabledGenlockI3D");
|
||||||
|
glad_wglGenlockSourceI3D = (PFNWGLGENLOCKSOURCEI3DPROC)load("wglGenlockSourceI3D");
|
||||||
|
glad_wglGetGenlockSourceI3D = (PFNWGLGETGENLOCKSOURCEI3DPROC)load("wglGetGenlockSourceI3D");
|
||||||
|
glad_wglGenlockSourceEdgeI3D = (PFNWGLGENLOCKSOURCEEDGEI3DPROC)load("wglGenlockSourceEdgeI3D");
|
||||||
|
glad_wglGetGenlockSourceEdgeI3D = (PFNWGLGETGENLOCKSOURCEEDGEI3DPROC)load("wglGetGenlockSourceEdgeI3D");
|
||||||
|
glad_wglGenlockSampleRateI3D = (PFNWGLGENLOCKSAMPLERATEI3DPROC)load("wglGenlockSampleRateI3D");
|
||||||
|
glad_wglGetGenlockSampleRateI3D = (PFNWGLGETGENLOCKSAMPLERATEI3DPROC)load("wglGetGenlockSampleRateI3D");
|
||||||
|
glad_wglGenlockSourceDelayI3D = (PFNWGLGENLOCKSOURCEDELAYI3DPROC)load("wglGenlockSourceDelayI3D");
|
||||||
|
glad_wglGetGenlockSourceDelayI3D = (PFNWGLGETGENLOCKSOURCEDELAYI3DPROC)load("wglGetGenlockSourceDelayI3D");
|
||||||
|
glad_wglQueryGenlockMaxSourceDelayI3D = (PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC)load("wglQueryGenlockMaxSourceDelayI3D");
|
||||||
|
}
|
||||||
|
static void load_WGL_I3D_image_buffer(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_I3D_image_buffer) return;
|
||||||
|
glad_wglCreateImageBufferI3D = (PFNWGLCREATEIMAGEBUFFERI3DPROC)load("wglCreateImageBufferI3D");
|
||||||
|
glad_wglDestroyImageBufferI3D = (PFNWGLDESTROYIMAGEBUFFERI3DPROC)load("wglDestroyImageBufferI3D");
|
||||||
|
glad_wglAssociateImageBufferEventsI3D = (PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC)load("wglAssociateImageBufferEventsI3D");
|
||||||
|
glad_wglReleaseImageBufferEventsI3D = (PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC)load("wglReleaseImageBufferEventsI3D");
|
||||||
|
}
|
||||||
|
static void load_WGL_I3D_swap_frame_lock(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_I3D_swap_frame_lock) return;
|
||||||
|
glad_wglEnableFrameLockI3D = (PFNWGLENABLEFRAMELOCKI3DPROC)load("wglEnableFrameLockI3D");
|
||||||
|
glad_wglDisableFrameLockI3D = (PFNWGLDISABLEFRAMELOCKI3DPROC)load("wglDisableFrameLockI3D");
|
||||||
|
glad_wglIsEnabledFrameLockI3D = (PFNWGLISENABLEDFRAMELOCKI3DPROC)load("wglIsEnabledFrameLockI3D");
|
||||||
|
glad_wglQueryFrameLockMasterI3D = (PFNWGLQUERYFRAMELOCKMASTERI3DPROC)load("wglQueryFrameLockMasterI3D");
|
||||||
|
}
|
||||||
|
static void load_WGL_I3D_swap_frame_usage(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_I3D_swap_frame_usage) return;
|
||||||
|
glad_wglGetFrameUsageI3D = (PFNWGLGETFRAMEUSAGEI3DPROC)load("wglGetFrameUsageI3D");
|
||||||
|
glad_wglBeginFrameTrackingI3D = (PFNWGLBEGINFRAMETRACKINGI3DPROC)load("wglBeginFrameTrackingI3D");
|
||||||
|
glad_wglEndFrameTrackingI3D = (PFNWGLENDFRAMETRACKINGI3DPROC)load("wglEndFrameTrackingI3D");
|
||||||
|
glad_wglQueryFrameTrackingI3D = (PFNWGLQUERYFRAMETRACKINGI3DPROC)load("wglQueryFrameTrackingI3D");
|
||||||
|
}
|
||||||
|
static void load_WGL_NV_DX_interop(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_NV_DX_interop) return;
|
||||||
|
glad_wglDXSetResourceShareHandleNV = (PFNWGLDXSETRESOURCESHAREHANDLENVPROC)load("wglDXSetResourceShareHandleNV");
|
||||||
|
glad_wglDXOpenDeviceNV = (PFNWGLDXOPENDEVICENVPROC)load("wglDXOpenDeviceNV");
|
||||||
|
glad_wglDXCloseDeviceNV = (PFNWGLDXCLOSEDEVICENVPROC)load("wglDXCloseDeviceNV");
|
||||||
|
glad_wglDXRegisterObjectNV = (PFNWGLDXREGISTEROBJECTNVPROC)load("wglDXRegisterObjectNV");
|
||||||
|
glad_wglDXUnregisterObjectNV = (PFNWGLDXUNREGISTEROBJECTNVPROC)load("wglDXUnregisterObjectNV");
|
||||||
|
glad_wglDXObjectAccessNV = (PFNWGLDXOBJECTACCESSNVPROC)load("wglDXObjectAccessNV");
|
||||||
|
glad_wglDXLockObjectsNV = (PFNWGLDXLOCKOBJECTSNVPROC)load("wglDXLockObjectsNV");
|
||||||
|
glad_wglDXUnlockObjectsNV = (PFNWGLDXUNLOCKOBJECTSNVPROC)load("wglDXUnlockObjectsNV");
|
||||||
|
}
|
||||||
|
static void load_WGL_NV_copy_image(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_NV_copy_image) return;
|
||||||
|
glad_wglCopyImageSubDataNV = (PFNWGLCOPYIMAGESUBDATANVPROC)load("wglCopyImageSubDataNV");
|
||||||
|
}
|
||||||
|
static void load_WGL_NV_delay_before_swap(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_NV_delay_before_swap) return;
|
||||||
|
glad_wglDelayBeforeSwapNV = (PFNWGLDELAYBEFORESWAPNVPROC)load("wglDelayBeforeSwapNV");
|
||||||
|
}
|
||||||
|
static void load_WGL_NV_gpu_affinity(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_NV_gpu_affinity) return;
|
||||||
|
glad_wglEnumGpusNV = (PFNWGLENUMGPUSNVPROC)load("wglEnumGpusNV");
|
||||||
|
glad_wglEnumGpuDevicesNV = (PFNWGLENUMGPUDEVICESNVPROC)load("wglEnumGpuDevicesNV");
|
||||||
|
glad_wglCreateAffinityDCNV = (PFNWGLCREATEAFFINITYDCNVPROC)load("wglCreateAffinityDCNV");
|
||||||
|
glad_wglEnumGpusFromAffinityDCNV = (PFNWGLENUMGPUSFROMAFFINITYDCNVPROC)load("wglEnumGpusFromAffinityDCNV");
|
||||||
|
glad_wglDeleteDCNV = (PFNWGLDELETEDCNVPROC)load("wglDeleteDCNV");
|
||||||
|
}
|
||||||
|
static void load_WGL_NV_present_video(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_NV_present_video) return;
|
||||||
|
glad_wglEnumerateVideoDevicesNV = (PFNWGLENUMERATEVIDEODEVICESNVPROC)load("wglEnumerateVideoDevicesNV");
|
||||||
|
glad_wglBindVideoDeviceNV = (PFNWGLBINDVIDEODEVICENVPROC)load("wglBindVideoDeviceNV");
|
||||||
|
glad_wglQueryCurrentContextNV = (PFNWGLQUERYCURRENTCONTEXTNVPROC)load("wglQueryCurrentContextNV");
|
||||||
|
}
|
||||||
|
static void load_WGL_NV_swap_group(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_NV_swap_group) return;
|
||||||
|
glad_wglJoinSwapGroupNV = (PFNWGLJOINSWAPGROUPNVPROC)load("wglJoinSwapGroupNV");
|
||||||
|
glad_wglBindSwapBarrierNV = (PFNWGLBINDSWAPBARRIERNVPROC)load("wglBindSwapBarrierNV");
|
||||||
|
glad_wglQuerySwapGroupNV = (PFNWGLQUERYSWAPGROUPNVPROC)load("wglQuerySwapGroupNV");
|
||||||
|
glad_wglQueryMaxSwapGroupsNV = (PFNWGLQUERYMAXSWAPGROUPSNVPROC)load("wglQueryMaxSwapGroupsNV");
|
||||||
|
glad_wglQueryFrameCountNV = (PFNWGLQUERYFRAMECOUNTNVPROC)load("wglQueryFrameCountNV");
|
||||||
|
glad_wglResetFrameCountNV = (PFNWGLRESETFRAMECOUNTNVPROC)load("wglResetFrameCountNV");
|
||||||
|
}
|
||||||
|
static void load_WGL_NV_vertex_array_range(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_NV_vertex_array_range) return;
|
||||||
|
glad_wglAllocateMemoryNV = (PFNWGLALLOCATEMEMORYNVPROC)load("wglAllocateMemoryNV");
|
||||||
|
glad_wglFreeMemoryNV = (PFNWGLFREEMEMORYNVPROC)load("wglFreeMemoryNV");
|
||||||
|
}
|
||||||
|
static void load_WGL_NV_video_capture(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_NV_video_capture) return;
|
||||||
|
glad_wglBindVideoCaptureDeviceNV = (PFNWGLBINDVIDEOCAPTUREDEVICENVPROC)load("wglBindVideoCaptureDeviceNV");
|
||||||
|
glad_wglEnumerateVideoCaptureDevicesNV = (PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC)load("wglEnumerateVideoCaptureDevicesNV");
|
||||||
|
glad_wglLockVideoCaptureDeviceNV = (PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC)load("wglLockVideoCaptureDeviceNV");
|
||||||
|
glad_wglQueryVideoCaptureDeviceNV = (PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC)load("wglQueryVideoCaptureDeviceNV");
|
||||||
|
glad_wglReleaseVideoCaptureDeviceNV = (PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC)load("wglReleaseVideoCaptureDeviceNV");
|
||||||
|
}
|
||||||
|
static void load_WGL_NV_video_output(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_NV_video_output) return;
|
||||||
|
glad_wglGetVideoDeviceNV = (PFNWGLGETVIDEODEVICENVPROC)load("wglGetVideoDeviceNV");
|
||||||
|
glad_wglReleaseVideoDeviceNV = (PFNWGLRELEASEVIDEODEVICENVPROC)load("wglReleaseVideoDeviceNV");
|
||||||
|
glad_wglBindVideoImageNV = (PFNWGLBINDVIDEOIMAGENVPROC)load("wglBindVideoImageNV");
|
||||||
|
glad_wglReleaseVideoImageNV = (PFNWGLRELEASEVIDEOIMAGENVPROC)load("wglReleaseVideoImageNV");
|
||||||
|
glad_wglSendPbufferToVideoNV = (PFNWGLSENDPBUFFERTOVIDEONVPROC)load("wglSendPbufferToVideoNV");
|
||||||
|
glad_wglGetVideoInfoNV = (PFNWGLGETVIDEOINFONVPROC)load("wglGetVideoInfoNV");
|
||||||
|
}
|
||||||
|
static void load_WGL_OML_sync_control(GLADloadproc load) {
|
||||||
|
if(!GLAD_WGL_OML_sync_control) return;
|
||||||
|
glad_wglGetSyncValuesOML = (PFNWGLGETSYNCVALUESOMLPROC)load("wglGetSyncValuesOML");
|
||||||
|
glad_wglGetMscRateOML = (PFNWGLGETMSCRATEOMLPROC)load("wglGetMscRateOML");
|
||||||
|
glad_wglSwapBuffersMscOML = (PFNWGLSWAPBUFFERSMSCOMLPROC)load("wglSwapBuffersMscOML");
|
||||||
|
glad_wglSwapLayerBuffersMscOML = (PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)load("wglSwapLayerBuffersMscOML");
|
||||||
|
glad_wglWaitForMscOML = (PFNWGLWAITFORMSCOMLPROC)load("wglWaitForMscOML");
|
||||||
|
glad_wglWaitForSbcOML = (PFNWGLWAITFORSBCOMLPROC)load("wglWaitForSbcOML");
|
||||||
|
}
|
||||||
|
static int find_extensionsWGL(void) {
|
||||||
|
if (!get_exts()) return 0;
|
||||||
|
GLAD_WGL_3DFX_multisample = has_ext("WGL_3DFX_multisample");
|
||||||
|
GLAD_WGL_3DL_stereo_control = has_ext("WGL_3DL_stereo_control");
|
||||||
|
GLAD_WGL_AMD_gpu_association = has_ext("WGL_AMD_gpu_association");
|
||||||
|
GLAD_WGL_ARB_buffer_region = has_ext("WGL_ARB_buffer_region");
|
||||||
|
GLAD_WGL_ARB_context_flush_control = has_ext("WGL_ARB_context_flush_control");
|
||||||
|
GLAD_WGL_ARB_create_context = has_ext("WGL_ARB_create_context");
|
||||||
|
GLAD_WGL_ARB_create_context_no_error = has_ext("WGL_ARB_create_context_no_error");
|
||||||
|
GLAD_WGL_ARB_create_context_profile = has_ext("WGL_ARB_create_context_profile");
|
||||||
|
GLAD_WGL_ARB_create_context_robustness = has_ext("WGL_ARB_create_context_robustness");
|
||||||
|
GLAD_WGL_ARB_extensions_string = has_ext("WGL_ARB_extensions_string");
|
||||||
|
GLAD_WGL_ARB_framebuffer_sRGB = has_ext("WGL_ARB_framebuffer_sRGB");
|
||||||
|
GLAD_WGL_ARB_make_current_read = has_ext("WGL_ARB_make_current_read");
|
||||||
|
GLAD_WGL_ARB_multisample = has_ext("WGL_ARB_multisample");
|
||||||
|
GLAD_WGL_ARB_pbuffer = has_ext("WGL_ARB_pbuffer");
|
||||||
|
GLAD_WGL_ARB_pixel_format = has_ext("WGL_ARB_pixel_format");
|
||||||
|
GLAD_WGL_ARB_pixel_format_float = has_ext("WGL_ARB_pixel_format_float");
|
||||||
|
GLAD_WGL_ARB_render_texture = has_ext("WGL_ARB_render_texture");
|
||||||
|
GLAD_WGL_ARB_robustness_application_isolation = has_ext("WGL_ARB_robustness_application_isolation");
|
||||||
|
GLAD_WGL_ARB_robustness_share_group_isolation = has_ext("WGL_ARB_robustness_share_group_isolation");
|
||||||
|
GLAD_WGL_ATI_pixel_format_float = has_ext("WGL_ATI_pixel_format_float");
|
||||||
|
GLAD_WGL_ATI_render_texture_rectangle = has_ext("WGL_ATI_render_texture_rectangle");
|
||||||
|
GLAD_WGL_EXT_colorspace = has_ext("WGL_EXT_colorspace");
|
||||||
|
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_depth_float = has_ext("WGL_EXT_depth_float");
|
||||||
|
GLAD_WGL_EXT_display_color_table = has_ext("WGL_EXT_display_color_table");
|
||||||
|
GLAD_WGL_EXT_extensions_string = has_ext("WGL_EXT_extensions_string");
|
||||||
|
GLAD_WGL_EXT_framebuffer_sRGB = has_ext("WGL_EXT_framebuffer_sRGB");
|
||||||
|
GLAD_WGL_EXT_make_current_read = has_ext("WGL_EXT_make_current_read");
|
||||||
|
GLAD_WGL_EXT_multisample = has_ext("WGL_EXT_multisample");
|
||||||
|
GLAD_WGL_EXT_pbuffer = has_ext("WGL_EXT_pbuffer");
|
||||||
|
GLAD_WGL_EXT_pixel_format = has_ext("WGL_EXT_pixel_format");
|
||||||
|
GLAD_WGL_EXT_pixel_format_packed_float = has_ext("WGL_EXT_pixel_format_packed_float");
|
||||||
|
GLAD_WGL_EXT_swap_control = has_ext("WGL_EXT_swap_control");
|
||||||
|
GLAD_WGL_EXT_swap_control_tear = has_ext("WGL_EXT_swap_control_tear");
|
||||||
|
GLAD_WGL_I3D_digital_video_control = has_ext("WGL_I3D_digital_video_control");
|
||||||
|
GLAD_WGL_I3D_gamma = has_ext("WGL_I3D_gamma");
|
||||||
|
GLAD_WGL_I3D_genlock = has_ext("WGL_I3D_genlock");
|
||||||
|
GLAD_WGL_I3D_image_buffer = has_ext("WGL_I3D_image_buffer");
|
||||||
|
GLAD_WGL_I3D_swap_frame_lock = has_ext("WGL_I3D_swap_frame_lock");
|
||||||
|
GLAD_WGL_I3D_swap_frame_usage = has_ext("WGL_I3D_swap_frame_usage");
|
||||||
|
GLAD_WGL_NV_DX_interop = has_ext("WGL_NV_DX_interop");
|
||||||
|
GLAD_WGL_NV_DX_interop2 = has_ext("WGL_NV_DX_interop2");
|
||||||
|
GLAD_WGL_NV_copy_image = has_ext("WGL_NV_copy_image");
|
||||||
|
GLAD_WGL_NV_delay_before_swap = has_ext("WGL_NV_delay_before_swap");
|
||||||
|
GLAD_WGL_NV_float_buffer = has_ext("WGL_NV_float_buffer");
|
||||||
|
GLAD_WGL_NV_gpu_affinity = has_ext("WGL_NV_gpu_affinity");
|
||||||
|
GLAD_WGL_NV_multigpu_context = has_ext("WGL_NV_multigpu_context");
|
||||||
|
GLAD_WGL_NV_multisample_coverage = has_ext("WGL_NV_multisample_coverage");
|
||||||
|
GLAD_WGL_NV_present_video = has_ext("WGL_NV_present_video");
|
||||||
|
GLAD_WGL_NV_render_depth_texture = has_ext("WGL_NV_render_depth_texture");
|
||||||
|
GLAD_WGL_NV_render_texture_rectangle = has_ext("WGL_NV_render_texture_rectangle");
|
||||||
|
GLAD_WGL_NV_swap_group = has_ext("WGL_NV_swap_group");
|
||||||
|
GLAD_WGL_NV_vertex_array_range = has_ext("WGL_NV_vertex_array_range");
|
||||||
|
GLAD_WGL_NV_video_capture = has_ext("WGL_NV_video_capture");
|
||||||
|
GLAD_WGL_NV_video_output = has_ext("WGL_NV_video_output");
|
||||||
|
GLAD_WGL_OML_sync_control = has_ext("WGL_OML_sync_control");
|
||||||
|
free_exts();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void find_coreWGL(HDC hdc) {
|
||||||
|
GLADWGLhdc = hdc;
|
||||||
|
}
|
||||||
|
|
||||||
|
int gladLoadWGLLoader(GLADloadproc load, HDC hdc) {
|
||||||
|
wglGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)load("wglGetExtensionsStringARB");
|
||||||
|
wglGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)load("wglGetExtensionsStringEXT");
|
||||||
|
if(wglGetExtensionsStringARB == NULL && wglGetExtensionsStringEXT == NULL) return 0;
|
||||||
|
find_coreWGL(hdc);
|
||||||
|
|
||||||
|
if (!find_extensionsWGL()) return 0;
|
||||||
|
load_WGL_3DL_stereo_control(load);
|
||||||
|
load_WGL_AMD_gpu_association(load);
|
||||||
|
load_WGL_ARB_buffer_region(load);
|
||||||
|
load_WGL_ARB_create_context(load);
|
||||||
|
load_WGL_ARB_extensions_string(load);
|
||||||
|
load_WGL_ARB_make_current_read(load);
|
||||||
|
load_WGL_ARB_pbuffer(load);
|
||||||
|
load_WGL_ARB_pixel_format(load);
|
||||||
|
load_WGL_ARB_render_texture(load);
|
||||||
|
load_WGL_EXT_display_color_table(load);
|
||||||
|
load_WGL_EXT_extensions_string(load);
|
||||||
|
load_WGL_EXT_make_current_read(load);
|
||||||
|
load_WGL_EXT_pbuffer(load);
|
||||||
|
load_WGL_EXT_pixel_format(load);
|
||||||
|
load_WGL_EXT_swap_control(load);
|
||||||
|
load_WGL_I3D_digital_video_control(load);
|
||||||
|
load_WGL_I3D_gamma(load);
|
||||||
|
load_WGL_I3D_genlock(load);
|
||||||
|
load_WGL_I3D_image_buffer(load);
|
||||||
|
load_WGL_I3D_swap_frame_lock(load);
|
||||||
|
load_WGL_I3D_swap_frame_usage(load);
|
||||||
|
load_WGL_NV_DX_interop(load);
|
||||||
|
load_WGL_NV_copy_image(load);
|
||||||
|
load_WGL_NV_delay_before_swap(load);
|
||||||
|
load_WGL_NV_gpu_affinity(load);
|
||||||
|
load_WGL_NV_present_video(load);
|
||||||
|
load_WGL_NV_swap_group(load);
|
||||||
|
load_WGL_NV_vertex_array_range(load);
|
||||||
|
load_WGL_NV_video_capture(load);
|
||||||
|
load_WGL_NV_video_output(load);
|
||||||
|
load_WGL_OML_sync_control(load);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
|
@ -58,6 +58,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpgd", "3rdparty\jpgd\jpgd.
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common\common.vcxproj", "{4639972E-424E-4E13-8B07-CA403C481346}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common\common.vcxproj", "{4639972E-424E-4E13-8B07-CA403C481346}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glad", "3rdparty\glad\glad.vcxproj", "{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug AVX2|Win32 = Debug AVX2|Win32
|
Debug AVX2|Win32 = Debug AVX2|Win32
|
||||||
|
@ -578,6 +580,30 @@ Global
|
||||||
{4639972E-424E-4E13-8B07-CA403C481346}.Release|Win32.Build.0 = Release|Win32
|
{4639972E-424E-4E13-8B07-CA403C481346}.Release|Win32.Build.0 = Release|Win32
|
||||||
{4639972E-424E-4E13-8B07-CA403C481346}.Release|x64.ActiveCfg = Release|x64
|
{4639972E-424E-4E13-8B07-CA403C481346}.Release|x64.ActiveCfg = Release|x64
|
||||||
{4639972E-424E-4E13-8B07-CA403C481346}.Release|x64.Build.0 = Release|x64
|
{4639972E-424E-4E13-8B07-CA403C481346}.Release|x64.Build.0 = Release|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug AVX2|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug AVX2|Win32.Build.0 = Debug|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug AVX2|x64.ActiveCfg = Debug|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug AVX2|x64.Build.0 = Debug|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel AVX2|Win32.ActiveCfg = Devel|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel AVX2|Win32.Build.0 = Devel|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel AVX2|x64.ActiveCfg = Devel|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel AVX2|x64.Build.0 = Devel|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel|Win32.ActiveCfg = Devel|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel|Win32.Build.0 = Devel|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel|x64.ActiveCfg = Devel|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Devel|x64.Build.0 = Devel|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release AVX2|Win32.ActiveCfg = Release|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release AVX2|Win32.Build.0 = Release|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release AVX2|x64.ActiveCfg = Release|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release AVX2|x64.Build.0 = Release|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A}.Release|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -602,6 +628,7 @@ Global
|
||||||
{48329442-E41B-4A1F-8364-36EEE1B71343} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
{48329442-E41B-4A1F-8364-36EEE1B71343} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
||||||
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
{A0D2B3AD-1F72-4EE3-8B5C-F2C358DA35F0} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
||||||
{ED2F21FD-0A36-4A8F-9B90-E7D92A2ACB63} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
{ED2F21FD-0A36-4A8F-9B90-E7D92A2ACB63} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
||||||
|
{C0293B32-5ACF-40F0-AA6C-E6DA6F3BF33A} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {0BC474EA-3628-45D3-9DBC-E22D0B7E0F77}
|
SolutionGuid = {0BC474EA-3628-45D3-9DBC-E22D0B7E0F77}
|
||||||
|
|
|
@ -189,6 +189,9 @@ else()
|
||||||
|
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
|
# Require threads on all OSes.
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
|
||||||
set(ACTUALLY_ENABLE_TESTS ${ENABLE_TESTS})
|
set(ACTUALLY_ENABLE_TESTS ${ENABLE_TESTS})
|
||||||
if(ENABLE_TESTS)
|
if(ENABLE_TESTS)
|
||||||
if(NOT EXISTS "${CMAKE_SOURCE_DIR}/3rdparty/gtest/CMakeLists.txt")
|
if(NOT EXISTS "${CMAKE_SOURCE_DIR}/3rdparty/gtest/CMakeLists.txt")
|
||||||
|
@ -265,3 +268,5 @@ else()
|
||||||
set(BIN2CPP perl ${CMAKE_SOURCE_DIR}/linux_various/hex2h.pl)
|
set(BIN2CPP perl ${CMAKE_SOURCE_DIR}/linux_various/hex2h.pl)
|
||||||
set(BIN2CPPDEP ${CMAKE_SOURCE_DIR}/linux_various/hex2h.pl)
|
set(BIN2CPPDEP ${CMAKE_SOURCE_DIR}/linux_various/hex2h.pl)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
add_subdirectory(3rdparty/glad EXCLUDE_FROM_ALL)
|
||||||
|
|
Loading…
Reference in New Issue