mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-14 16:14:38 +00:00
linux followup work by tim
This commit is contained in:
parent
9fe9389ae5
commit
f1282a9cbc
26 changed files with 6646 additions and 5681 deletions
|
|
@ -2,7 +2,7 @@
|
||||||
#define __khrplatform_h_
|
#define __khrplatform_h_
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2008-2009 The Khronos Group Inc.
|
** Copyright (c) 2008-2018 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
** copy of this software and/or associated documentation files (the
|
** copy of this software and/or associated documentation files (the
|
||||||
|
|
@ -26,18 +26,16 @@
|
||||||
|
|
||||||
/* Khronos platform-specific types and definitions.
|
/* Khronos platform-specific types and definitions.
|
||||||
*
|
*
|
||||||
* $Revision: 32517 $ on $Date: 2016-03-11 02:41:19 -0800 (Fri, 11 Mar 2016) $
|
* 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
|
* Adopters may modify this file to suit their platform. Adopters are
|
||||||
* encouraged to submit platform specific modifications to the Khronos
|
* encouraged to submit platform specific modifications to the Khronos
|
||||||
* group so that they can be included in future versions of this file.
|
* group so that they can be included in future versions of this file.
|
||||||
* Please submit changes by sending them to the public Khronos Bugzilla
|
* Please submit changes by filing pull requests or issues on
|
||||||
* (http://khronos.org/bugzilla) by filing a bug against product
|
* the EGL Registry repository linked above.
|
||||||
* "Khronos (general)" component "Registry".
|
|
||||||
*
|
|
||||||
* A predefined template which fills in some of the bug fields can be
|
|
||||||
* reached using http://tinyurl.com/khrplatform-h-bugreport, but you
|
|
||||||
* must create a Bugzilla login first.
|
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* See the Implementer's Guidelines for information about where this file
|
* See the Implementer's Guidelines for information about where this file
|
||||||
|
|
@ -92,18 +90,25 @@
|
||||||
* int arg2) KHRONOS_APIATTRIBUTES;
|
* int arg2) KHRONOS_APIATTRIBUTES;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
|
||||||
|
# define KHRONOS_STATIC 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------
|
/*-------------------------------------------------------------------------
|
||||||
* Definition of KHRONOS_APICALL
|
* Definition of KHRONOS_APICALL
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
* This precedes the return type of the function in the function prototype.
|
* This precedes the return type of the function in the function prototype.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
#if defined(KHRONOS_STATIC)
|
||||||
|
/* If the preprocessor constant KHRONOS_STATIC is defined, make the
|
||||||
|
* header compatible with static linking. */
|
||||||
|
# define KHRONOS_APICALL
|
||||||
|
#elif defined(_WIN32)
|
||||||
# define KHRONOS_APICALL __declspec(dllimport)
|
# define KHRONOS_APICALL __declspec(dllimport)
|
||||||
#elif defined (__SYMBIAN32__)
|
#elif defined (__SYMBIAN32__)
|
||||||
# define KHRONOS_APICALL IMPORT_C
|
# define KHRONOS_APICALL IMPORT_C
|
||||||
#elif defined(__ANDROID__)
|
#elif defined(__ANDROID__)
|
||||||
# include <sys/cdefs.h>
|
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||||
# define KHRONOS_APICALL __attribute__((visibility("default"))) __NDK_FPABI__
|
|
||||||
#else
|
#else
|
||||||
# define KHRONOS_APICALL
|
# define KHRONOS_APICALL
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -114,7 +119,7 @@
|
||||||
* This follows the return type of the function and precedes the function
|
* This follows the return type of the function and precedes the function
|
||||||
* name in the function prototype.
|
* name in the function prototype.
|
||||||
*/
|
*/
|
||||||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(KHRONOS_STATIC)
|
||||||
/* Win32 but not WinCE */
|
/* Win32 but not WinCE */
|
||||||
# define KHRONOS_APIENTRY __stdcall
|
# define KHRONOS_APIENTRY __stdcall
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
|
|
||||||
GLX loader generated by glad 0.1.12a0 on Mon Sep 12 03:11:58 2016.
|
GLX loader generated by glad 0.1.33 on Sun Aug 18 11:26:39 2019.
|
||||||
|
|
||||||
Language/Generator: C/C++
|
Language/Generator: C/C++
|
||||||
Specification: glx
|
Specification: glx
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
GLX_AMD_gpu_association,
|
GLX_AMD_gpu_association,
|
||||||
GLX_ARB_context_flush_control,
|
GLX_ARB_context_flush_control,
|
||||||
GLX_ARB_create_context,
|
GLX_ARB_create_context,
|
||||||
|
GLX_ARB_create_context_no_error,
|
||||||
GLX_ARB_create_context_profile,
|
GLX_ARB_create_context_profile,
|
||||||
GLX_ARB_create_context_robustness,
|
GLX_ARB_create_context_robustness,
|
||||||
GLX_ARB_fbconfig_float,
|
GLX_ARB_fbconfig_float,
|
||||||
|
|
@ -21,12 +22,14 @@
|
||||||
GLX_ARB_robustness_share_group_isolation,
|
GLX_ARB_robustness_share_group_isolation,
|
||||||
GLX_ARB_vertex_buffer_object,
|
GLX_ARB_vertex_buffer_object,
|
||||||
GLX_EXT_buffer_age,
|
GLX_EXT_buffer_age,
|
||||||
|
GLX_EXT_context_priority,
|
||||||
GLX_EXT_create_context_es2_profile,
|
GLX_EXT_create_context_es2_profile,
|
||||||
GLX_EXT_create_context_es_profile,
|
GLX_EXT_create_context_es_profile,
|
||||||
GLX_EXT_fbconfig_packed_float,
|
GLX_EXT_fbconfig_packed_float,
|
||||||
GLX_EXT_framebuffer_sRGB,
|
GLX_EXT_framebuffer_sRGB,
|
||||||
GLX_EXT_import_context,
|
GLX_EXT_import_context,
|
||||||
GLX_EXT_libglvnd,
|
GLX_EXT_libglvnd,
|
||||||
|
GLX_EXT_no_config_context,
|
||||||
GLX_EXT_stereo_tree,
|
GLX_EXT_stereo_tree,
|
||||||
GLX_EXT_swap_control,
|
GLX_EXT_swap_control,
|
||||||
GLX_EXT_swap_control_tear,
|
GLX_EXT_swap_control_tear,
|
||||||
|
|
@ -40,6 +43,7 @@
|
||||||
GLX_MESA_query_renderer,
|
GLX_MESA_query_renderer,
|
||||||
GLX_MESA_release_buffers,
|
GLX_MESA_release_buffers,
|
||||||
GLX_MESA_set_3dfx_mode,
|
GLX_MESA_set_3dfx_mode,
|
||||||
|
GLX_MESA_swap_control,
|
||||||
GLX_NV_copy_buffer,
|
GLX_NV_copy_buffer,
|
||||||
GLX_NV_copy_image,
|
GLX_NV_copy_image,
|
||||||
GLX_NV_delay_before_swap,
|
GLX_NV_delay_before_swap,
|
||||||
|
|
@ -72,9 +76,10 @@
|
||||||
Loader: True
|
Loader: True
|
||||||
Local files: False
|
Local files: False
|
||||||
Omit khrplatform: False
|
Omit khrplatform: False
|
||||||
|
Reproducible: False
|
||||||
|
|
||||||
Commandline:
|
Commandline:
|
||||||
--api="glx=1.4" --generator="c" --spec="glx" --extensions="GLX_3DFX_multisample,GLX_AMD_gpu_association,GLX_ARB_context_flush_control,GLX_ARB_create_context,GLX_ARB_create_context_profile,GLX_ARB_create_context_robustness,GLX_ARB_fbconfig_float,GLX_ARB_framebuffer_sRGB,GLX_ARB_get_proc_address,GLX_ARB_multisample,GLX_ARB_robustness_application_isolation,GLX_ARB_robustness_share_group_isolation,GLX_ARB_vertex_buffer_object,GLX_EXT_buffer_age,GLX_EXT_create_context_es2_profile,GLX_EXT_create_context_es_profile,GLX_EXT_fbconfig_packed_float,GLX_EXT_framebuffer_sRGB,GLX_EXT_import_context,GLX_EXT_libglvnd,GLX_EXT_stereo_tree,GLX_EXT_swap_control,GLX_EXT_swap_control_tear,GLX_EXT_texture_from_pixmap,GLX_EXT_visual_info,GLX_EXT_visual_rating,GLX_INTEL_swap_event,GLX_MESA_agp_offset,GLX_MESA_copy_sub_buffer,GLX_MESA_pixmap_colormap,GLX_MESA_query_renderer,GLX_MESA_release_buffers,GLX_MESA_set_3dfx_mode,GLX_NV_copy_buffer,GLX_NV_copy_image,GLX_NV_delay_before_swap,GLX_NV_float_buffer,GLX_NV_multisample_coverage,GLX_NV_present_video,GLX_NV_robustness_video_memory_purge,GLX_NV_swap_group,GLX_NV_video_capture,GLX_NV_video_out,GLX_OML_swap_method,GLX_OML_sync_control,GLX_SGIS_blended_overlay,GLX_SGIS_multisample,GLX_SGIS_shared_multisample,GLX_SGIX_dmbuffer,GLX_SGIX_fbconfig,GLX_SGIX_hyperpipe,GLX_SGIX_pbuffer,GLX_SGIX_swap_barrier,GLX_SGIX_swap_group,GLX_SGIX_video_resize,GLX_SGIX_video_source,GLX_SGIX_visual_select_group,GLX_SGI_cushion,GLX_SGI_make_current_read,GLX_SGI_swap_control,GLX_SGI_video_sync,GLX_SUN_get_transparent_index"
|
--api="glx=1.4" --generator="c" --spec="glx" --extensions="GLX_3DFX_multisample,GLX_AMD_gpu_association,GLX_ARB_context_flush_control,GLX_ARB_create_context,GLX_ARB_create_context_no_error,GLX_ARB_create_context_profile,GLX_ARB_create_context_robustness,GLX_ARB_fbconfig_float,GLX_ARB_framebuffer_sRGB,GLX_ARB_get_proc_address,GLX_ARB_multisample,GLX_ARB_robustness_application_isolation,GLX_ARB_robustness_share_group_isolation,GLX_ARB_vertex_buffer_object,GLX_EXT_buffer_age,GLX_EXT_context_priority,GLX_EXT_create_context_es2_profile,GLX_EXT_create_context_es_profile,GLX_EXT_fbconfig_packed_float,GLX_EXT_framebuffer_sRGB,GLX_EXT_import_context,GLX_EXT_libglvnd,GLX_EXT_no_config_context,GLX_EXT_stereo_tree,GLX_EXT_swap_control,GLX_EXT_swap_control_tear,GLX_EXT_texture_from_pixmap,GLX_EXT_visual_info,GLX_EXT_visual_rating,GLX_INTEL_swap_event,GLX_MESA_agp_offset,GLX_MESA_copy_sub_buffer,GLX_MESA_pixmap_colormap,GLX_MESA_query_renderer,GLX_MESA_release_buffers,GLX_MESA_set_3dfx_mode,GLX_MESA_swap_control,GLX_NV_copy_buffer,GLX_NV_copy_image,GLX_NV_delay_before_swap,GLX_NV_float_buffer,GLX_NV_multisample_coverage,GLX_NV_present_video,GLX_NV_robustness_video_memory_purge,GLX_NV_swap_group,GLX_NV_video_capture,GLX_NV_video_out,GLX_OML_swap_method,GLX_OML_sync_control,GLX_SGIS_blended_overlay,GLX_SGIS_multisample,GLX_SGIS_shared_multisample,GLX_SGIX_dmbuffer,GLX_SGIX_fbconfig,GLX_SGIX_hyperpipe,GLX_SGIX_pbuffer,GLX_SGIX_swap_barrier,GLX_SGIX_swap_group,GLX_SGIX_video_resize,GLX_SGIX_video_source,GLX_SGIX_visual_select_group,GLX_SGI_cushion,GLX_SGI_make_current_read,GLX_SGI_swap_control,GLX_SGI_video_sync,GLX_SUN_get_transparent_index"
|
||||||
Online:
|
Online:
|
||||||
Too many extensions
|
Too many extensions
|
||||||
*/
|
*/
|
||||||
|
|
@ -109,7 +114,7 @@ typedef void* (* GLADloadproc)(const char *name);
|
||||||
|
|
||||||
#ifndef GLAPI
|
#ifndef GLAPI
|
||||||
# if defined(GLAD_GLAPI_EXPORT)
|
# if defined(GLAD_GLAPI_EXPORT)
|
||||||
# if defined(WIN32) || defined(__CYGWIN__)
|
# if defined(_WIN32) || defined(__CYGWIN__)
|
||||||
# if defined(GLAD_GLAPI_EXPORT_BUILD)
|
# if defined(GLAD_GLAPI_EXPORT_BUILD)
|
||||||
# if defined(__GNUC__)
|
# if defined(__GNUC__)
|
||||||
# define GLAPI __attribute__ ((dllexport)) extern
|
# define GLAPI __attribute__ ((dllexport)) extern
|
||||||
|
|
@ -388,16 +393,16 @@ GLAPI PFNGLXISDIRECTPROC glad_glXIsDirect;
|
||||||
typedef int (APIENTRYP PFNGLXGETCONFIGPROC)(Display *dpy, XVisualInfo *visual, int attrib, int *value);
|
typedef int (APIENTRYP PFNGLXGETCONFIGPROC)(Display *dpy, XVisualInfo *visual, int attrib, int *value);
|
||||||
GLAPI PFNGLXGETCONFIGPROC glad_glXGetConfig;
|
GLAPI PFNGLXGETCONFIGPROC glad_glXGetConfig;
|
||||||
#define glXGetConfig glad_glXGetConfig
|
#define glXGetConfig glad_glXGetConfig
|
||||||
typedef GLXContext (APIENTRYP PFNGLXGETCURRENTCONTEXTPROC)();
|
typedef GLXContext (APIENTRYP PFNGLXGETCURRENTCONTEXTPROC)(void);
|
||||||
GLAPI PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext;
|
GLAPI PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext;
|
||||||
#define glXGetCurrentContext glad_glXGetCurrentContext
|
#define glXGetCurrentContext glad_glXGetCurrentContext
|
||||||
typedef GLXDrawable (APIENTRYP PFNGLXGETCURRENTDRAWABLEPROC)();
|
typedef GLXDrawable (APIENTRYP PFNGLXGETCURRENTDRAWABLEPROC)(void);
|
||||||
GLAPI PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable;
|
GLAPI PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable;
|
||||||
#define glXGetCurrentDrawable glad_glXGetCurrentDrawable
|
#define glXGetCurrentDrawable glad_glXGetCurrentDrawable
|
||||||
typedef void (APIENTRYP PFNGLXWAITGLPROC)();
|
typedef void (APIENTRYP PFNGLXWAITGLPROC)(void);
|
||||||
GLAPI PFNGLXWAITGLPROC glad_glXWaitGL;
|
GLAPI PFNGLXWAITGLPROC glad_glXWaitGL;
|
||||||
#define glXWaitGL glad_glXWaitGL
|
#define glXWaitGL glad_glXWaitGL
|
||||||
typedef void (APIENTRYP PFNGLXWAITXPROC)();
|
typedef void (APIENTRYP PFNGLXWAITXPROC)(void);
|
||||||
GLAPI PFNGLXWAITXPROC glad_glXWaitX;
|
GLAPI PFNGLXWAITXPROC glad_glXWaitX;
|
||||||
#define glXWaitX glad_glXWaitX
|
#define glXWaitX glad_glXWaitX
|
||||||
typedef void (APIENTRYP PFNGLXUSEXFONTPROC)(Font font, int first, int count, int list);
|
typedef void (APIENTRYP PFNGLXUSEXFONTPROC)(Font font, int first, int count, int list);
|
||||||
|
|
@ -420,7 +425,7 @@ GLAPI PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString;
|
||||||
#ifndef GLX_VERSION_1_2
|
#ifndef GLX_VERSION_1_2
|
||||||
#define GLX_VERSION_1_2 1
|
#define GLX_VERSION_1_2 1
|
||||||
GLAPI int GLAD_GLX_VERSION_1_2;
|
GLAPI int GLAD_GLX_VERSION_1_2;
|
||||||
typedef Display * (APIENTRYP PFNGLXGETCURRENTDISPLAYPROC)();
|
typedef Display * (APIENTRYP PFNGLXGETCURRENTDISPLAYPROC)(void);
|
||||||
GLAPI PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay;
|
GLAPI PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay;
|
||||||
#define glXGetCurrentDisplay glad_glXGetCurrentDisplay
|
#define glXGetCurrentDisplay glad_glXGetCurrentDisplay
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -466,7 +471,7 @@ GLAPI PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext;
|
||||||
typedef Bool (APIENTRYP PFNGLXMAKECONTEXTCURRENTPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
|
typedef Bool (APIENTRYP PFNGLXMAKECONTEXTCURRENTPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
|
||||||
GLAPI PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent;
|
GLAPI PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent;
|
||||||
#define glXMakeContextCurrent glad_glXMakeContextCurrent
|
#define glXMakeContextCurrent glad_glXMakeContextCurrent
|
||||||
typedef GLXDrawable (APIENTRYP PFNGLXGETCURRENTREADDRAWABLEPROC)();
|
typedef GLXDrawable (APIENTRYP PFNGLXGETCURRENTREADDRAWABLEPROC)(void);
|
||||||
GLAPI PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable;
|
GLAPI PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable;
|
||||||
#define glXGetCurrentReadDrawable glad_glXGetCurrentReadDrawable
|
#define glXGetCurrentReadDrawable glad_glXGetCurrentReadDrawable
|
||||||
typedef int (APIENTRYP PFNGLXQUERYCONTEXTPROC)(Display *dpy, GLXContext ctx, int attribute, int *value);
|
typedef int (APIENTRYP PFNGLXQUERYCONTEXTPROC)(Display *dpy, GLXContext ctx, int attribute, int *value);
|
||||||
|
|
@ -506,6 +511,7 @@ GLAPI PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress;
|
||||||
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
|
||||||
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
|
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
|
||||||
#define GLX_CONTEXT_FLAGS_ARB 0x2094
|
#define GLX_CONTEXT_FLAGS_ARB 0x2094
|
||||||
|
#define GLX_CONTEXT_OPENGL_NO_ERROR_ARB 0x31B3
|
||||||
#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
||||||
#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
|
#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
|
||||||
#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
|
#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
|
||||||
|
|
@ -521,6 +527,10 @@ GLAPI PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress;
|
||||||
#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
|
#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
|
||||||
#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095
|
#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095
|
||||||
#define GLX_BACK_BUFFER_AGE_EXT 0x20F4
|
#define GLX_BACK_BUFFER_AGE_EXT 0x20F4
|
||||||
|
#define GLX_CONTEXT_PRIORITY_LEVEL_EXT 0x3100
|
||||||
|
#define GLX_CONTEXT_PRIORITY_HIGH_EXT 0x3101
|
||||||
|
#define GLX_CONTEXT_PRIORITY_MEDIUM_EXT 0x3102
|
||||||
|
#define GLX_CONTEXT_PRIORITY_LOW_EXT 0x3103
|
||||||
#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
|
#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
|
||||||
#define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
|
#define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
|
||||||
#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
|
#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1
|
||||||
|
|
@ -603,7 +613,6 @@ GLAPI PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress;
|
||||||
#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
|
#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
|
||||||
#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
|
#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
|
||||||
#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
|
#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
|
||||||
#define GLX_RENDERER_ID_MESA 0x818E
|
|
||||||
#define GLX_3DFX_WINDOW_MODE_MESA 0x1
|
#define GLX_3DFX_WINDOW_MODE_MESA 0x1
|
||||||
#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
|
#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
|
||||||
#define GLX_FLOAT_COMPONENTS_NV 0x20B0
|
#define GLX_FLOAT_COMPONENTS_NV 0x20B0
|
||||||
|
|
@ -710,7 +719,7 @@ GLAPI PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC glad_glXDeleteAssociatedContextAMD;
|
||||||
typedef Bool (APIENTRYP PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(GLXContext ctx);
|
typedef Bool (APIENTRYP PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(GLXContext ctx);
|
||||||
GLAPI PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_glXMakeAssociatedContextCurrentAMD;
|
GLAPI PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_glXMakeAssociatedContextCurrentAMD;
|
||||||
#define glXMakeAssociatedContextCurrentAMD glad_glXMakeAssociatedContextCurrentAMD
|
#define glXMakeAssociatedContextCurrentAMD glad_glXMakeAssociatedContextCurrentAMD
|
||||||
typedef GLXContext (APIENTRYP PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC)();
|
typedef GLXContext (APIENTRYP PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC)(void);
|
||||||
GLAPI PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_glXGetCurrentAssociatedContextAMD;
|
GLAPI PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_glXGetCurrentAssociatedContextAMD;
|
||||||
#define glXGetCurrentAssociatedContextAMD glad_glXGetCurrentAssociatedContextAMD
|
#define glXGetCurrentAssociatedContextAMD glad_glXGetCurrentAssociatedContextAMD
|
||||||
typedef void (APIENTRYP PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC)(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
typedef void (APIENTRYP PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC)(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||||
|
|
@ -728,6 +737,10 @@ typedef GLXContext (APIENTRYP PFNGLXCREATECONTEXTATTRIBSARBPROC)(Display *dpy, G
|
||||||
GLAPI PFNGLXCREATECONTEXTATTRIBSARBPROC glad_glXCreateContextAttribsARB;
|
GLAPI PFNGLXCREATECONTEXTATTRIBSARBPROC glad_glXCreateContextAttribsARB;
|
||||||
#define glXCreateContextAttribsARB glad_glXCreateContextAttribsARB
|
#define glXCreateContextAttribsARB glad_glXCreateContextAttribsARB
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef GLX_ARB_create_context_no_error
|
||||||
|
#define GLX_ARB_create_context_no_error 1
|
||||||
|
GLAPI int GLAD_GLX_ARB_create_context_no_error;
|
||||||
|
#endif
|
||||||
#ifndef GLX_ARB_create_context_profile
|
#ifndef GLX_ARB_create_context_profile
|
||||||
#define GLX_ARB_create_context_profile 1
|
#define GLX_ARB_create_context_profile 1
|
||||||
GLAPI int GLAD_GLX_ARB_create_context_profile;
|
GLAPI int GLAD_GLX_ARB_create_context_profile;
|
||||||
|
|
@ -771,6 +784,10 @@ GLAPI int GLAD_GLX_ARB_vertex_buffer_object;
|
||||||
#define GLX_EXT_buffer_age 1
|
#define GLX_EXT_buffer_age 1
|
||||||
GLAPI int GLAD_GLX_EXT_buffer_age;
|
GLAPI int GLAD_GLX_EXT_buffer_age;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef GLX_EXT_context_priority
|
||||||
|
#define GLX_EXT_context_priority 1
|
||||||
|
GLAPI int GLAD_GLX_EXT_context_priority;
|
||||||
|
#endif
|
||||||
#ifndef GLX_EXT_create_context_es2_profile
|
#ifndef GLX_EXT_create_context_es2_profile
|
||||||
#define GLX_EXT_create_context_es2_profile 1
|
#define GLX_EXT_create_context_es2_profile 1
|
||||||
GLAPI int GLAD_GLX_EXT_create_context_es2_profile;
|
GLAPI int GLAD_GLX_EXT_create_context_es2_profile;
|
||||||
|
|
@ -790,7 +807,7 @@ GLAPI int GLAD_GLX_EXT_framebuffer_sRGB;
|
||||||
#ifndef GLX_EXT_import_context
|
#ifndef GLX_EXT_import_context
|
||||||
#define GLX_EXT_import_context 1
|
#define GLX_EXT_import_context 1
|
||||||
GLAPI int GLAD_GLX_EXT_import_context;
|
GLAPI int GLAD_GLX_EXT_import_context;
|
||||||
typedef Display * (APIENTRYP PFNGLXGETCURRENTDISPLAYEXTPROC)();
|
typedef Display * (APIENTRYP PFNGLXGETCURRENTDISPLAYEXTPROC)(void);
|
||||||
GLAPI PFNGLXGETCURRENTDISPLAYEXTPROC glad_glXGetCurrentDisplayEXT;
|
GLAPI PFNGLXGETCURRENTDISPLAYEXTPROC glad_glXGetCurrentDisplayEXT;
|
||||||
#define glXGetCurrentDisplayEXT glad_glXGetCurrentDisplayEXT
|
#define glXGetCurrentDisplayEXT glad_glXGetCurrentDisplayEXT
|
||||||
typedef int (APIENTRYP PFNGLXQUERYCONTEXTINFOEXTPROC)(Display *dpy, GLXContext context, int attribute, int *value);
|
typedef int (APIENTRYP PFNGLXQUERYCONTEXTINFOEXTPROC)(Display *dpy, GLXContext context, int attribute, int *value);
|
||||||
|
|
@ -810,6 +827,10 @@ GLAPI PFNGLXFREECONTEXTEXTPROC glad_glXFreeContextEXT;
|
||||||
#define GLX_EXT_libglvnd 1
|
#define GLX_EXT_libglvnd 1
|
||||||
GLAPI int GLAD_GLX_EXT_libglvnd;
|
GLAPI int GLAD_GLX_EXT_libglvnd;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef GLX_EXT_no_config_context
|
||||||
|
#define GLX_EXT_no_config_context 1
|
||||||
|
GLAPI int GLAD_GLX_EXT_no_config_context;
|
||||||
|
#endif
|
||||||
#ifndef GLX_EXT_stereo_tree
|
#ifndef GLX_EXT_stereo_tree
|
||||||
#define GLX_EXT_stereo_tree 1
|
#define GLX_EXT_stereo_tree 1
|
||||||
GLAPI int GLAD_GLX_EXT_stereo_tree;
|
GLAPI int GLAD_GLX_EXT_stereo_tree;
|
||||||
|
|
@ -894,10 +915,20 @@ GLAPI PFNGLXRELEASEBUFFERSMESAPROC glad_glXReleaseBuffersMESA;
|
||||||
#ifndef GLX_MESA_set_3dfx_mode
|
#ifndef GLX_MESA_set_3dfx_mode
|
||||||
#define GLX_MESA_set_3dfx_mode 1
|
#define GLX_MESA_set_3dfx_mode 1
|
||||||
GLAPI int GLAD_GLX_MESA_set_3dfx_mode;
|
GLAPI int GLAD_GLX_MESA_set_3dfx_mode;
|
||||||
typedef Bool (APIENTRYP PFNGLXSET3DFXMODEMESAPROC)(int mode);
|
typedef GLboolean (APIENTRYP PFNGLXSET3DFXMODEMESAPROC)(GLint mode);
|
||||||
GLAPI PFNGLXSET3DFXMODEMESAPROC glad_glXSet3DfxModeMESA;
|
GLAPI PFNGLXSET3DFXMODEMESAPROC glad_glXSet3DfxModeMESA;
|
||||||
#define glXSet3DfxModeMESA glad_glXSet3DfxModeMESA
|
#define glXSet3DfxModeMESA glad_glXSet3DfxModeMESA
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef GLX_MESA_swap_control
|
||||||
|
#define GLX_MESA_swap_control 1
|
||||||
|
GLAPI int GLAD_GLX_MESA_swap_control;
|
||||||
|
typedef int (APIENTRYP PFNGLXGETSWAPINTERVALMESAPROC)(void);
|
||||||
|
GLAPI PFNGLXGETSWAPINTERVALMESAPROC glad_glXGetSwapIntervalMESA;
|
||||||
|
#define glXGetSwapIntervalMESA glad_glXGetSwapIntervalMESA
|
||||||
|
typedef int (APIENTRYP PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);
|
||||||
|
GLAPI PFNGLXSWAPINTERVALMESAPROC glad_glXSwapIntervalMESA;
|
||||||
|
#define glXSwapIntervalMESA glad_glXSwapIntervalMESA
|
||||||
|
#endif
|
||||||
#ifndef GLX_NV_copy_buffer
|
#ifndef GLX_NV_copy_buffer
|
||||||
#define GLX_NV_copy_buffer 1
|
#define GLX_NV_copy_buffer 1
|
||||||
GLAPI int GLAD_GLX_NV_copy_buffer;
|
GLAPI int GLAD_GLX_NV_copy_buffer;
|
||||||
|
|
@ -1110,7 +1141,7 @@ GLAPI PFNGLXCREATEGLXPBUFFERSGIXPROC glad_glXCreateGLXPbufferSGIX;
|
||||||
typedef void (APIENTRYP PFNGLXDESTROYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbufferSGIX pbuf);
|
typedef void (APIENTRYP PFNGLXDESTROYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbufferSGIX pbuf);
|
||||||
GLAPI PFNGLXDESTROYGLXPBUFFERSGIXPROC glad_glXDestroyGLXPbufferSGIX;
|
GLAPI PFNGLXDESTROYGLXPBUFFERSGIXPROC glad_glXDestroyGLXPbufferSGIX;
|
||||||
#define glXDestroyGLXPbufferSGIX glad_glXDestroyGLXPbufferSGIX
|
#define glXDestroyGLXPbufferSGIX glad_glXDestroyGLXPbufferSGIX
|
||||||
typedef int (APIENTRYP PFNGLXQUERYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
|
typedef void (APIENTRYP PFNGLXQUERYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
|
||||||
GLAPI PFNGLXQUERYGLXPBUFFERSGIXPROC glad_glXQueryGLXPbufferSGIX;
|
GLAPI PFNGLXQUERYGLXPBUFFERSGIXPROC glad_glXQueryGLXPbufferSGIX;
|
||||||
#define glXQueryGLXPbufferSGIX glad_glXQueryGLXPbufferSGIX
|
#define glXQueryGLXPbufferSGIX glad_glXQueryGLXPbufferSGIX
|
||||||
typedef void (APIENTRYP PFNGLXSELECTEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long mask);
|
typedef void (APIENTRYP PFNGLXSELECTEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long mask);
|
||||||
|
|
@ -1185,7 +1216,7 @@ GLAPI int GLAD_GLX_SGI_make_current_read;
|
||||||
typedef Bool (APIENTRYP PFNGLXMAKECURRENTREADSGIPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
|
typedef Bool (APIENTRYP PFNGLXMAKECURRENTREADSGIPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
|
||||||
GLAPI PFNGLXMAKECURRENTREADSGIPROC glad_glXMakeCurrentReadSGI;
|
GLAPI PFNGLXMAKECURRENTREADSGIPROC glad_glXMakeCurrentReadSGI;
|
||||||
#define glXMakeCurrentReadSGI glad_glXMakeCurrentReadSGI
|
#define glXMakeCurrentReadSGI glad_glXMakeCurrentReadSGI
|
||||||
typedef GLXDrawable (APIENTRYP PFNGLXGETCURRENTREADDRAWABLESGIPROC)();
|
typedef GLXDrawable (APIENTRYP PFNGLXGETCURRENTREADDRAWABLESGIPROC)(void);
|
||||||
GLAPI PFNGLXGETCURRENTREADDRAWABLESGIPROC glad_glXGetCurrentReadDrawableSGI;
|
GLAPI PFNGLXGETCURRENTREADDRAWABLESGIPROC glad_glXGetCurrentReadDrawableSGI;
|
||||||
#define glXGetCurrentReadDrawableSGI glad_glXGetCurrentReadDrawableSGI
|
#define glXGetCurrentReadDrawableSGI glad_glXGetCurrentReadDrawableSGI
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -1209,7 +1240,7 @@ GLAPI PFNGLXWAITVIDEOSYNCSGIPROC glad_glXWaitVideoSyncSGI;
|
||||||
#ifndef GLX_SUN_get_transparent_index
|
#ifndef GLX_SUN_get_transparent_index
|
||||||
#define GLX_SUN_get_transparent_index 1
|
#define GLX_SUN_get_transparent_index 1
|
||||||
GLAPI int GLAD_GLX_SUN_get_transparent_index;
|
GLAPI int GLAD_GLX_SUN_get_transparent_index;
|
||||||
typedef Status (APIENTRYP PFNGLXGETTRANSPARENTINDEXSUNPROC)(Display *dpy, Window overlay, Window underlay, long *pTransparentIndex);
|
typedef Status (APIENTRYP PFNGLXGETTRANSPARENTINDEXSUNPROC)(Display *dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
|
||||||
GLAPI PFNGLXGETTRANSPARENTINDEXSUNPROC glad_glXGetTransparentIndexSUN;
|
GLAPI PFNGLXGETTRANSPARENTINDEXSUNPROC glad_glXGetTransparentIndexSUN;
|
||||||
#define glXGetTransparentIndexSUN glad_glXGetTransparentIndexSUN
|
#define glXGetTransparentIndexSUN glad_glXGetTransparentIndexSUN
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
|
|
||||||
WGL loader generated by glad 0.1.12a0 on Mon Sep 12 03:11:07 2016.
|
WGL loader generated by glad 0.1.33 on Sun Aug 18 11:27:10 2019.
|
||||||
|
|
||||||
Language/Generator: C/C++
|
Language/Generator: C/C++
|
||||||
Specification: wgl
|
Specification: wgl
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
WGL_ARB_buffer_region,
|
WGL_ARB_buffer_region,
|
||||||
WGL_ARB_context_flush_control,
|
WGL_ARB_context_flush_control,
|
||||||
WGL_ARB_create_context,
|
WGL_ARB_create_context,
|
||||||
|
WGL_ARB_create_context_no_error,
|
||||||
WGL_ARB_create_context_profile,
|
WGL_ARB_create_context_profile,
|
||||||
WGL_ARB_create_context_robustness,
|
WGL_ARB_create_context_robustness,
|
||||||
WGL_ARB_extensions_string,
|
WGL_ARB_extensions_string,
|
||||||
|
|
@ -26,6 +27,8 @@
|
||||||
WGL_ARB_robustness_application_isolation,
|
WGL_ARB_robustness_application_isolation,
|
||||||
WGL_ARB_robustness_share_group_isolation,
|
WGL_ARB_robustness_share_group_isolation,
|
||||||
WGL_ATI_pixel_format_float,
|
WGL_ATI_pixel_format_float,
|
||||||
|
WGL_ATI_render_texture_rectangle,
|
||||||
|
WGL_EXT_colorspace,
|
||||||
WGL_EXT_create_context_es2_profile,
|
WGL_EXT_create_context_es2_profile,
|
||||||
WGL_EXT_create_context_es_profile,
|
WGL_EXT_create_context_es_profile,
|
||||||
WGL_EXT_depth_float,
|
WGL_EXT_depth_float,
|
||||||
|
|
@ -51,6 +54,7 @@
|
||||||
WGL_NV_delay_before_swap,
|
WGL_NV_delay_before_swap,
|
||||||
WGL_NV_float_buffer,
|
WGL_NV_float_buffer,
|
||||||
WGL_NV_gpu_affinity,
|
WGL_NV_gpu_affinity,
|
||||||
|
WGL_NV_multigpu_context,
|
||||||
WGL_NV_multisample_coverage,
|
WGL_NV_multisample_coverage,
|
||||||
WGL_NV_present_video,
|
WGL_NV_present_video,
|
||||||
WGL_NV_render_depth_texture,
|
WGL_NV_render_depth_texture,
|
||||||
|
|
@ -63,19 +67,23 @@
|
||||||
Loader: True
|
Loader: True
|
||||||
Local files: False
|
Local files: False
|
||||||
Omit khrplatform: False
|
Omit khrplatform: False
|
||||||
|
Reproducible: False
|
||||||
|
|
||||||
Commandline:
|
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_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_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_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"
|
--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:
|
Online:
|
||||||
http://glad.dav1d.de/#language=c&specification=wgl&loader=on&api=wgl%3D1.0&extensions=WGL_3DFX_multisample&extensions=WGL_3DL_stereo_control&extensions=WGL_AMD_gpu_association&extensions=WGL_ARB_buffer_region&extensions=WGL_ARB_context_flush_control&extensions=WGL_ARB_create_context&extensions=WGL_ARB_create_context_profile&extensions=WGL_ARB_create_context_robustness&extensions=WGL_ARB_extensions_string&extensions=WGL_ARB_framebuffer_sRGB&extensions=WGL_ARB_make_current_read&extensions=WGL_ARB_multisample&extensions=WGL_ARB_pbuffer&extensions=WGL_ARB_pixel_format&extensions=WGL_ARB_pixel_format_float&extensions=WGL_ARB_render_texture&extensions=WGL_ARB_robustness_application_isolation&extensions=WGL_ARB_robustness_share_group_isolation&extensions=WGL_ATI_pixel_format_float&extensions=WGL_EXT_create_context_es2_profile&extensions=WGL_EXT_create_context_es_profile&extensions=WGL_EXT_depth_float&extensions=WGL_EXT_display_color_table&extensions=WGL_EXT_extensions_string&extensions=WGL_EXT_framebuffer_sRGB&extensions=WGL_EXT_make_current_read&extensions=WGL_EXT_multisample&extensions=WGL_EXT_pbuffer&extensions=WGL_EXT_pixel_format&extensions=WGL_EXT_pixel_format_packed_float&extensions=WGL_EXT_swap_control&extensions=WGL_EXT_swap_control_tear&extensions=WGL_I3D_digital_video_control&extensions=WGL_I3D_gamma&extensions=WGL_I3D_genlock&extensions=WGL_I3D_image_buffer&extensions=WGL_I3D_swap_frame_lock&extensions=WGL_I3D_swap_frame_usage&extensions=WGL_NV_DX_interop&extensions=WGL_NV_DX_interop2&extensions=WGL_NV_copy_image&extensions=WGL_NV_delay_before_swap&extensions=WGL_NV_float_buffer&extensions=WGL_NV_gpu_affinity&extensions=WGL_NV_multisample_coverage&extensions=WGL_NV_present_video&extensions=WGL_NV_render_depth_texture&extensions=WGL_NV_render_texture_rectangle&extensions=WGL_NV_swap_group&extensions=WGL_NV_vertex_array_range&extensions=WGL_NV_video_capture&extensions=WGL_NV_video_output&extensions=WGL_OML_sync_control
|
Too many extensions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#ifndef WINAPI
|
#ifndef WINAPI
|
||||||
# ifndef WIN32_LEAN_AND_MEAN
|
#ifndef WIN32_LEAN_AND_MEAN
|
||||||
# define WIN32_LEAN_AND_MEAN 1
|
#define WIN32_LEAN_AND_MEAN 1
|
||||||
# endif
|
#endif
|
||||||
# include <windows.h>
|
#ifndef NOMINMAX
|
||||||
|
#define NOMINMAX 1
|
||||||
|
#endif
|
||||||
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <glad/glad.h>
|
#include <glad/glad.h>
|
||||||
|
|
@ -104,7 +112,7 @@ typedef void* (* GLADloadproc)(const char *name);
|
||||||
|
|
||||||
#ifndef GLAPI
|
#ifndef GLAPI
|
||||||
# if defined(GLAD_GLAPI_EXPORT)
|
# if defined(GLAD_GLAPI_EXPORT)
|
||||||
# if defined(WIN32) || defined(__CYGWIN__)
|
# if defined(_WIN32) || defined(__CYGWIN__)
|
||||||
# if defined(GLAD_GLAPI_EXPORT_BUILD)
|
# if defined(GLAD_GLAPI_EXPORT_BUILD)
|
||||||
# if defined(__GNUC__)
|
# if defined(__GNUC__)
|
||||||
# define GLAPI __attribute__ ((dllexport)) extern
|
# define GLAPI __attribute__ ((dllexport)) extern
|
||||||
|
|
@ -178,6 +186,7 @@ typedef struct _GPU_DEVICE *PGPU_DEVICE;
|
||||||
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
|
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
|
||||||
#define WGL_CONTEXT_FLAGS_ARB 0x2094
|
#define WGL_CONTEXT_FLAGS_ARB 0x2094
|
||||||
#define ERROR_INVALID_VERSION_ARB 0x2095
|
#define ERROR_INVALID_VERSION_ARB 0x2095
|
||||||
|
#define WGL_CONTEXT_OPENGL_NO_ERROR_ARB 0x31B3
|
||||||
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
|
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126
|
||||||
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
|
||||||
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
|
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
|
||||||
|
|
@ -284,6 +293,10 @@ typedef struct _GPU_DEVICE *PGPU_DEVICE;
|
||||||
#define WGL_AUX9_ARB 0x2090
|
#define WGL_AUX9_ARB 0x2090
|
||||||
#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
|
#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x00000008
|
||||||
#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
|
#define WGL_TYPE_RGBA_FLOAT_ATI 0x21A0
|
||||||
|
#define WGL_TEXTURE_RECTANGLE_ATI 0x21A5
|
||||||
|
#define WGL_COLORSPACE_EXT 0x309D
|
||||||
|
#define WGL_COLORSPACE_SRGB_EXT 0x3089
|
||||||
|
#define WGL_COLORSPACE_LINEAR_EXT 0x308A
|
||||||
#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
|
#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
|
||||||
#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
|
#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004
|
||||||
#define WGL_DEPTH_FLOAT_EXT 0x2040
|
#define WGL_DEPTH_FLOAT_EXT 0x2040
|
||||||
|
|
@ -377,6 +390,11 @@ typedef struct _GPU_DEVICE *PGPU_DEVICE;
|
||||||
#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
|
#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8
|
||||||
#define ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
|
#define ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0
|
||||||
#define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
|
#define ERROR_MISSING_AFFINITY_MASK_NV 0x20D1
|
||||||
|
#define WGL_CONTEXT_MULTIGPU_ATTRIB_NV 0x20AA
|
||||||
|
#define WGL_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV 0x20AB
|
||||||
|
#define WGL_CONTEXT_MULTIGPU_ATTRIB_AFR_NV 0x20AC
|
||||||
|
#define WGL_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV 0x20AD
|
||||||
|
#define WGL_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV 0x20AE
|
||||||
#define WGL_COVERAGE_SAMPLES_NV 0x2042
|
#define WGL_COVERAGE_SAMPLES_NV 0x2042
|
||||||
#define WGL_COLOR_SAMPLES_NV 0x20B9
|
#define WGL_COLOR_SAMPLES_NV 0x20B9
|
||||||
#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
|
#define WGL_NUM_VIDEO_SLOTS_NV 0x20F0
|
||||||
|
|
@ -420,7 +438,7 @@ GLAPI int GLAD_WGL_AMD_gpu_association;
|
||||||
typedef UINT (APIENTRYP PFNWGLGETGPUIDSAMDPROC)(UINT maxCount, UINT *ids);
|
typedef UINT (APIENTRYP PFNWGLGETGPUIDSAMDPROC)(UINT maxCount, UINT *ids);
|
||||||
GLAPI PFNWGLGETGPUIDSAMDPROC glad_wglGetGPUIDsAMD;
|
GLAPI PFNWGLGETGPUIDSAMDPROC glad_wglGetGPUIDsAMD;
|
||||||
#define wglGetGPUIDsAMD glad_wglGetGPUIDsAMD
|
#define wglGetGPUIDsAMD glad_wglGetGPUIDsAMD
|
||||||
typedef INT (APIENTRYP PFNWGLGETGPUINFOAMDPROC)(UINT id, int property, GLenum dataType, UINT size, void *data);
|
typedef INT (APIENTRYP PFNWGLGETGPUINFOAMDPROC)(UINT id, INT property, GLenum dataType, UINT size, void *data);
|
||||||
GLAPI PFNWGLGETGPUINFOAMDPROC glad_wglGetGPUInfoAMD;
|
GLAPI PFNWGLGETGPUINFOAMDPROC glad_wglGetGPUInfoAMD;
|
||||||
#define wglGetGPUInfoAMD glad_wglGetGPUInfoAMD
|
#define wglGetGPUInfoAMD glad_wglGetGPUInfoAMD
|
||||||
typedef UINT (APIENTRYP PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc);
|
typedef UINT (APIENTRYP PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc);
|
||||||
|
|
@ -438,7 +456,7 @@ GLAPI PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC glad_wglDeleteAssociatedContextAMD;
|
||||||
typedef BOOL (APIENTRYP PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(HGLRC hglrc);
|
typedef BOOL (APIENTRYP PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(HGLRC hglrc);
|
||||||
GLAPI PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_wglMakeAssociatedContextCurrentAMD;
|
GLAPI PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_wglMakeAssociatedContextCurrentAMD;
|
||||||
#define wglMakeAssociatedContextCurrentAMD glad_wglMakeAssociatedContextCurrentAMD
|
#define wglMakeAssociatedContextCurrentAMD glad_wglMakeAssociatedContextCurrentAMD
|
||||||
typedef HGLRC (APIENTRYP PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)();
|
typedef HGLRC (APIENTRYP PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC)(void);
|
||||||
GLAPI PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_wglGetCurrentAssociatedContextAMD;
|
GLAPI PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_wglGetCurrentAssociatedContextAMD;
|
||||||
#define wglGetCurrentAssociatedContextAMD glad_wglGetCurrentAssociatedContextAMD
|
#define wglGetCurrentAssociatedContextAMD glad_wglGetCurrentAssociatedContextAMD
|
||||||
typedef VOID (APIENTRYP PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
typedef VOID (APIENTRYP PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC)(HGLRC dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
||||||
|
|
@ -472,6 +490,10 @@ typedef HGLRC (APIENTRYP PFNWGLCREATECONTEXTATTRIBSARBPROC)(HDC hDC, HGLRC hShar
|
||||||
GLAPI PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB;
|
GLAPI PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB;
|
||||||
#define wglCreateContextAttribsARB glad_wglCreateContextAttribsARB
|
#define wglCreateContextAttribsARB glad_wglCreateContextAttribsARB
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef WGL_ARB_create_context_no_error
|
||||||
|
#define WGL_ARB_create_context_no_error 1
|
||||||
|
GLAPI int GLAD_WGL_ARB_create_context_no_error;
|
||||||
|
#endif
|
||||||
#ifndef WGL_ARB_create_context_profile
|
#ifndef WGL_ARB_create_context_profile
|
||||||
#define WGL_ARB_create_context_profile 1
|
#define WGL_ARB_create_context_profile 1
|
||||||
GLAPI int GLAD_WGL_ARB_create_context_profile;
|
GLAPI int GLAD_WGL_ARB_create_context_profile;
|
||||||
|
|
@ -497,7 +519,7 @@ GLAPI int GLAD_WGL_ARB_make_current_read;
|
||||||
typedef BOOL (APIENTRYP PFNWGLMAKECONTEXTCURRENTARBPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
typedef BOOL (APIENTRYP PFNWGLMAKECONTEXTCURRENTARBPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||||
GLAPI PFNWGLMAKECONTEXTCURRENTARBPROC glad_wglMakeContextCurrentARB;
|
GLAPI PFNWGLMAKECONTEXTCURRENTARBPROC glad_wglMakeContextCurrentARB;
|
||||||
#define wglMakeContextCurrentARB glad_wglMakeContextCurrentARB
|
#define wglMakeContextCurrentARB glad_wglMakeContextCurrentARB
|
||||||
typedef HDC (APIENTRYP PFNWGLGETCURRENTREADDCARBPROC)();
|
typedef HDC (APIENTRYP PFNWGLGETCURRENTREADDCARBPROC)(void);
|
||||||
GLAPI PFNWGLGETCURRENTREADDCARBPROC glad_wglGetCurrentReadDCARB;
|
GLAPI PFNWGLGETCURRENTREADDCARBPROC glad_wglGetCurrentReadDCARB;
|
||||||
#define wglGetCurrentReadDCARB glad_wglGetCurrentReadDCARB
|
#define wglGetCurrentReadDCARB glad_wglGetCurrentReadDCARB
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -566,6 +588,14 @@ GLAPI int GLAD_WGL_ARB_robustness_share_group_isolation;
|
||||||
#define WGL_ATI_pixel_format_float 1
|
#define WGL_ATI_pixel_format_float 1
|
||||||
GLAPI int GLAD_WGL_ATI_pixel_format_float;
|
GLAPI int GLAD_WGL_ATI_pixel_format_float;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef WGL_ATI_render_texture_rectangle
|
||||||
|
#define WGL_ATI_render_texture_rectangle 1
|
||||||
|
GLAPI int GLAD_WGL_ATI_render_texture_rectangle;
|
||||||
|
#endif
|
||||||
|
#ifndef WGL_EXT_colorspace
|
||||||
|
#define WGL_EXT_colorspace 1
|
||||||
|
GLAPI int GLAD_WGL_EXT_colorspace;
|
||||||
|
#endif
|
||||||
#ifndef WGL_EXT_create_context_es2_profile
|
#ifndef WGL_EXT_create_context_es2_profile
|
||||||
#define WGL_EXT_create_context_es2_profile 1
|
#define WGL_EXT_create_context_es2_profile 1
|
||||||
GLAPI int GLAD_WGL_EXT_create_context_es2_profile;
|
GLAPI int GLAD_WGL_EXT_create_context_es2_profile;
|
||||||
|
|
@ -597,7 +627,7 @@ GLAPI PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC glad_wglDestroyDisplayColorTableEXT;
|
||||||
#ifndef WGL_EXT_extensions_string
|
#ifndef WGL_EXT_extensions_string
|
||||||
#define WGL_EXT_extensions_string 1
|
#define WGL_EXT_extensions_string 1
|
||||||
GLAPI int GLAD_WGL_EXT_extensions_string;
|
GLAPI int GLAD_WGL_EXT_extensions_string;
|
||||||
typedef const char * (APIENTRYP PFNWGLGETEXTENSIONSSTRINGEXTPROC)();
|
typedef const char * (APIENTRYP PFNWGLGETEXTENSIONSSTRINGEXTPROC)(void);
|
||||||
GLAPI PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT;
|
GLAPI PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT;
|
||||||
#define wglGetExtensionsStringEXT glad_wglGetExtensionsStringEXT
|
#define wglGetExtensionsStringEXT glad_wglGetExtensionsStringEXT
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -611,7 +641,7 @@ GLAPI int GLAD_WGL_EXT_make_current_read;
|
||||||
typedef BOOL (APIENTRYP PFNWGLMAKECONTEXTCURRENTEXTPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
typedef BOOL (APIENTRYP PFNWGLMAKECONTEXTCURRENTEXTPROC)(HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
|
||||||
GLAPI PFNWGLMAKECONTEXTCURRENTEXTPROC glad_wglMakeContextCurrentEXT;
|
GLAPI PFNWGLMAKECONTEXTCURRENTEXTPROC glad_wglMakeContextCurrentEXT;
|
||||||
#define wglMakeContextCurrentEXT glad_wglMakeContextCurrentEXT
|
#define wglMakeContextCurrentEXT glad_wglMakeContextCurrentEXT
|
||||||
typedef HDC (APIENTRYP PFNWGLGETCURRENTREADDCEXTPROC)();
|
typedef HDC (APIENTRYP PFNWGLGETCURRENTREADDCEXTPROC)(void);
|
||||||
GLAPI PFNWGLGETCURRENTREADDCEXTPROC glad_wglGetCurrentReadDCEXT;
|
GLAPI PFNWGLGETCURRENTREADDCEXTPROC glad_wglGetCurrentReadDCEXT;
|
||||||
#define wglGetCurrentReadDCEXT glad_wglGetCurrentReadDCEXT
|
#define wglGetCurrentReadDCEXT glad_wglGetCurrentReadDCEXT
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -661,7 +691,7 @@ GLAPI int GLAD_WGL_EXT_swap_control;
|
||||||
typedef BOOL (APIENTRYP PFNWGLSWAPINTERVALEXTPROC)(int interval);
|
typedef BOOL (APIENTRYP PFNWGLSWAPINTERVALEXTPROC)(int interval);
|
||||||
GLAPI PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT;
|
GLAPI PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT;
|
||||||
#define wglSwapIntervalEXT glad_wglSwapIntervalEXT
|
#define wglSwapIntervalEXT glad_wglSwapIntervalEXT
|
||||||
typedef int (APIENTRYP PFNWGLGETSWAPINTERVALEXTPROC)();
|
typedef int (APIENTRYP PFNWGLGETSWAPINTERVALEXTPROC)(void);
|
||||||
GLAPI PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT;
|
GLAPI PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT;
|
||||||
#define wglGetSwapIntervalEXT glad_wglGetSwapIntervalEXT
|
#define wglGetSwapIntervalEXT glad_wglGetSwapIntervalEXT
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -754,10 +784,10 @@ GLAPI PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC glad_wglReleaseImageBufferEventsI3D;
|
||||||
#ifndef WGL_I3D_swap_frame_lock
|
#ifndef WGL_I3D_swap_frame_lock
|
||||||
#define WGL_I3D_swap_frame_lock 1
|
#define WGL_I3D_swap_frame_lock 1
|
||||||
GLAPI int GLAD_WGL_I3D_swap_frame_lock;
|
GLAPI int GLAD_WGL_I3D_swap_frame_lock;
|
||||||
typedef BOOL (APIENTRYP PFNWGLENABLEFRAMELOCKI3DPROC)();
|
typedef BOOL (APIENTRYP PFNWGLENABLEFRAMELOCKI3DPROC)(void);
|
||||||
GLAPI PFNWGLENABLEFRAMELOCKI3DPROC glad_wglEnableFrameLockI3D;
|
GLAPI PFNWGLENABLEFRAMELOCKI3DPROC glad_wglEnableFrameLockI3D;
|
||||||
#define wglEnableFrameLockI3D glad_wglEnableFrameLockI3D
|
#define wglEnableFrameLockI3D glad_wglEnableFrameLockI3D
|
||||||
typedef BOOL (APIENTRYP PFNWGLDISABLEFRAMELOCKI3DPROC)();
|
typedef BOOL (APIENTRYP PFNWGLDISABLEFRAMELOCKI3DPROC)(void);
|
||||||
GLAPI PFNWGLDISABLEFRAMELOCKI3DPROC glad_wglDisableFrameLockI3D;
|
GLAPI PFNWGLDISABLEFRAMELOCKI3DPROC glad_wglDisableFrameLockI3D;
|
||||||
#define wglDisableFrameLockI3D glad_wglDisableFrameLockI3D
|
#define wglDisableFrameLockI3D glad_wglDisableFrameLockI3D
|
||||||
typedef BOOL (APIENTRYP PFNWGLISENABLEDFRAMELOCKI3DPROC)(BOOL *pFlag);
|
typedef BOOL (APIENTRYP PFNWGLISENABLEDFRAMELOCKI3DPROC)(BOOL *pFlag);
|
||||||
|
|
@ -773,10 +803,10 @@ GLAPI int GLAD_WGL_I3D_swap_frame_usage;
|
||||||
typedef BOOL (APIENTRYP PFNWGLGETFRAMEUSAGEI3DPROC)(float *pUsage);
|
typedef BOOL (APIENTRYP PFNWGLGETFRAMEUSAGEI3DPROC)(float *pUsage);
|
||||||
GLAPI PFNWGLGETFRAMEUSAGEI3DPROC glad_wglGetFrameUsageI3D;
|
GLAPI PFNWGLGETFRAMEUSAGEI3DPROC glad_wglGetFrameUsageI3D;
|
||||||
#define wglGetFrameUsageI3D glad_wglGetFrameUsageI3D
|
#define wglGetFrameUsageI3D glad_wglGetFrameUsageI3D
|
||||||
typedef BOOL (APIENTRYP PFNWGLBEGINFRAMETRACKINGI3DPROC)();
|
typedef BOOL (APIENTRYP PFNWGLBEGINFRAMETRACKINGI3DPROC)(void);
|
||||||
GLAPI PFNWGLBEGINFRAMETRACKINGI3DPROC glad_wglBeginFrameTrackingI3D;
|
GLAPI PFNWGLBEGINFRAMETRACKINGI3DPROC glad_wglBeginFrameTrackingI3D;
|
||||||
#define wglBeginFrameTrackingI3D glad_wglBeginFrameTrackingI3D
|
#define wglBeginFrameTrackingI3D glad_wglBeginFrameTrackingI3D
|
||||||
typedef BOOL (APIENTRYP PFNWGLENDFRAMETRACKINGI3DPROC)();
|
typedef BOOL (APIENTRYP PFNWGLENDFRAMETRACKINGI3DPROC)(void);
|
||||||
GLAPI PFNWGLENDFRAMETRACKINGI3DPROC glad_wglEndFrameTrackingI3D;
|
GLAPI PFNWGLENDFRAMETRACKINGI3DPROC glad_wglEndFrameTrackingI3D;
|
||||||
#define wglEndFrameTrackingI3D glad_wglEndFrameTrackingI3D
|
#define wglEndFrameTrackingI3D glad_wglEndFrameTrackingI3D
|
||||||
typedef BOOL (APIENTRYP PFNWGLQUERYFRAMETRACKINGI3DPROC)(DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
|
typedef BOOL (APIENTRYP PFNWGLQUERYFRAMETRACKINGI3DPROC)(DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
|
||||||
|
|
@ -852,6 +882,10 @@ typedef BOOL (APIENTRYP PFNWGLDELETEDCNVPROC)(HDC hdc);
|
||||||
GLAPI PFNWGLDELETEDCNVPROC glad_wglDeleteDCNV;
|
GLAPI PFNWGLDELETEDCNVPROC glad_wglDeleteDCNV;
|
||||||
#define wglDeleteDCNV glad_wglDeleteDCNV
|
#define wglDeleteDCNV glad_wglDeleteDCNV
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef WGL_NV_multigpu_context
|
||||||
|
#define WGL_NV_multigpu_context 1
|
||||||
|
GLAPI int GLAD_WGL_NV_multigpu_context;
|
||||||
|
#endif
|
||||||
#ifndef WGL_NV_multisample_coverage
|
#ifndef WGL_NV_multisample_coverage
|
||||||
#define WGL_NV_multisample_coverage 1
|
#define WGL_NV_multisample_coverage 1
|
||||||
GLAPI int GLAD_WGL_NV_multisample_coverage;
|
GLAPI int GLAD_WGL_NV_multisample_coverage;
|
||||||
|
|
@ -859,10 +893,10 @@ GLAPI int GLAD_WGL_NV_multisample_coverage;
|
||||||
#ifndef WGL_NV_present_video
|
#ifndef WGL_NV_present_video
|
||||||
#define WGL_NV_present_video 1
|
#define WGL_NV_present_video 1
|
||||||
GLAPI int GLAD_WGL_NV_present_video;
|
GLAPI int GLAD_WGL_NV_present_video;
|
||||||
typedef int (APIENTRYP PFNWGLENUMERATEVIDEODEVICESNVPROC)(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
|
typedef int (APIENTRYP PFNWGLENUMERATEVIDEODEVICESNVPROC)(HDC hDc, HVIDEOOUTPUTDEVICENV *phDeviceList);
|
||||||
GLAPI PFNWGLENUMERATEVIDEODEVICESNVPROC glad_wglEnumerateVideoDevicesNV;
|
GLAPI PFNWGLENUMERATEVIDEODEVICESNVPROC glad_wglEnumerateVideoDevicesNV;
|
||||||
#define wglEnumerateVideoDevicesNV glad_wglEnumerateVideoDevicesNV
|
#define wglEnumerateVideoDevicesNV glad_wglEnumerateVideoDevicesNV
|
||||||
typedef BOOL (APIENTRYP PFNWGLBINDVIDEODEVICENVPROC)(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
|
typedef BOOL (APIENTRYP PFNWGLBINDVIDEODEVICENVPROC)(HDC hDc, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
|
||||||
GLAPI PFNWGLBINDVIDEODEVICENVPROC glad_wglBindVideoDeviceNV;
|
GLAPI PFNWGLBINDVIDEODEVICENVPROC glad_wglBindVideoDeviceNV;
|
||||||
#define wglBindVideoDeviceNV glad_wglBindVideoDeviceNV
|
#define wglBindVideoDeviceNV glad_wglBindVideoDeviceNV
|
||||||
typedef BOOL (APIENTRYP PFNWGLQUERYCURRENTCONTEXTNVPROC)(int iAttribute, int *piValue);
|
typedef BOOL (APIENTRYP PFNWGLQUERYCURRENTCONTEXTNVPROC)(int iAttribute, int *piValue);
|
||||||
|
|
@ -962,7 +996,7 @@ GLAPI PFNWGLGETMSCRATEOMLPROC glad_wglGetMscRateOML;
|
||||||
typedef INT64 (APIENTRYP PFNWGLSWAPBUFFERSMSCOMLPROC)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
|
typedef INT64 (APIENTRYP PFNWGLSWAPBUFFERSMSCOMLPROC)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||||
GLAPI PFNWGLSWAPBUFFERSMSCOMLPROC glad_wglSwapBuffersMscOML;
|
GLAPI PFNWGLSWAPBUFFERSMSCOMLPROC glad_wglSwapBuffersMscOML;
|
||||||
#define wglSwapBuffersMscOML glad_wglSwapBuffersMscOML
|
#define wglSwapBuffersMscOML glad_wglSwapBuffersMscOML
|
||||||
typedef INT64 (APIENTRYP PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)(HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
|
typedef INT64 (APIENTRYP PFNWGLSWAPLAYERBUFFERSMSCOMLPROC)(HDC hdc, INT fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
|
||||||
GLAPI PFNWGLSWAPLAYERBUFFERSMSCOMLPROC glad_wglSwapLayerBuffersMscOML;
|
GLAPI PFNWGLSWAPLAYERBUFFERSMSCOMLPROC glad_wglSwapLayerBuffersMscOML;
|
||||||
#define wglSwapLayerBuffersMscOML glad_wglSwapLayerBuffersMscOML
|
#define wglSwapLayerBuffersMscOML glad_wglSwapLayerBuffersMscOML
|
||||||
typedef BOOL (APIENTRYP PFNWGLWAITFORMSCOMLPROC)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
|
typedef BOOL (APIENTRYP PFNWGLWAITFORMSCOMLPROC)(HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
|
|
||||||
GLX loader generated by glad 0.1.12a0 on Mon Sep 12 03:11:58 2016.
|
GLX loader generated by glad 0.1.33 on Sun Aug 18 11:26:39 2019.
|
||||||
|
|
||||||
Language/Generator: C/C++
|
Language/Generator: C/C++
|
||||||
Specification: glx
|
Specification: glx
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
GLX_AMD_gpu_association,
|
GLX_AMD_gpu_association,
|
||||||
GLX_ARB_context_flush_control,
|
GLX_ARB_context_flush_control,
|
||||||
GLX_ARB_create_context,
|
GLX_ARB_create_context,
|
||||||
|
GLX_ARB_create_context_no_error,
|
||||||
GLX_ARB_create_context_profile,
|
GLX_ARB_create_context_profile,
|
||||||
GLX_ARB_create_context_robustness,
|
GLX_ARB_create_context_robustness,
|
||||||
GLX_ARB_fbconfig_float,
|
GLX_ARB_fbconfig_float,
|
||||||
|
|
@ -21,12 +22,14 @@
|
||||||
GLX_ARB_robustness_share_group_isolation,
|
GLX_ARB_robustness_share_group_isolation,
|
||||||
GLX_ARB_vertex_buffer_object,
|
GLX_ARB_vertex_buffer_object,
|
||||||
GLX_EXT_buffer_age,
|
GLX_EXT_buffer_age,
|
||||||
|
GLX_EXT_context_priority,
|
||||||
GLX_EXT_create_context_es2_profile,
|
GLX_EXT_create_context_es2_profile,
|
||||||
GLX_EXT_create_context_es_profile,
|
GLX_EXT_create_context_es_profile,
|
||||||
GLX_EXT_fbconfig_packed_float,
|
GLX_EXT_fbconfig_packed_float,
|
||||||
GLX_EXT_framebuffer_sRGB,
|
GLX_EXT_framebuffer_sRGB,
|
||||||
GLX_EXT_import_context,
|
GLX_EXT_import_context,
|
||||||
GLX_EXT_libglvnd,
|
GLX_EXT_libglvnd,
|
||||||
|
GLX_EXT_no_config_context,
|
||||||
GLX_EXT_stereo_tree,
|
GLX_EXT_stereo_tree,
|
||||||
GLX_EXT_swap_control,
|
GLX_EXT_swap_control,
|
||||||
GLX_EXT_swap_control_tear,
|
GLX_EXT_swap_control_tear,
|
||||||
|
|
@ -40,6 +43,7 @@
|
||||||
GLX_MESA_query_renderer,
|
GLX_MESA_query_renderer,
|
||||||
GLX_MESA_release_buffers,
|
GLX_MESA_release_buffers,
|
||||||
GLX_MESA_set_3dfx_mode,
|
GLX_MESA_set_3dfx_mode,
|
||||||
|
GLX_MESA_swap_control,
|
||||||
GLX_NV_copy_buffer,
|
GLX_NV_copy_buffer,
|
||||||
GLX_NV_copy_image,
|
GLX_NV_copy_image,
|
||||||
GLX_NV_delay_before_swap,
|
GLX_NV_delay_before_swap,
|
||||||
|
|
@ -72,9 +76,10 @@
|
||||||
Loader: True
|
Loader: True
|
||||||
Local files: False
|
Local files: False
|
||||||
Omit khrplatform: False
|
Omit khrplatform: False
|
||||||
|
Reproducible: False
|
||||||
|
|
||||||
Commandline:
|
Commandline:
|
||||||
--api="glx=1.4" --generator="c" --spec="glx" --extensions="GLX_3DFX_multisample,GLX_AMD_gpu_association,GLX_ARB_context_flush_control,GLX_ARB_create_context,GLX_ARB_create_context_profile,GLX_ARB_create_context_robustness,GLX_ARB_fbconfig_float,GLX_ARB_framebuffer_sRGB,GLX_ARB_get_proc_address,GLX_ARB_multisample,GLX_ARB_robustness_application_isolation,GLX_ARB_robustness_share_group_isolation,GLX_ARB_vertex_buffer_object,GLX_EXT_buffer_age,GLX_EXT_create_context_es2_profile,GLX_EXT_create_context_es_profile,GLX_EXT_fbconfig_packed_float,GLX_EXT_framebuffer_sRGB,GLX_EXT_import_context,GLX_EXT_libglvnd,GLX_EXT_stereo_tree,GLX_EXT_swap_control,GLX_EXT_swap_control_tear,GLX_EXT_texture_from_pixmap,GLX_EXT_visual_info,GLX_EXT_visual_rating,GLX_INTEL_swap_event,GLX_MESA_agp_offset,GLX_MESA_copy_sub_buffer,GLX_MESA_pixmap_colormap,GLX_MESA_query_renderer,GLX_MESA_release_buffers,GLX_MESA_set_3dfx_mode,GLX_NV_copy_buffer,GLX_NV_copy_image,GLX_NV_delay_before_swap,GLX_NV_float_buffer,GLX_NV_multisample_coverage,GLX_NV_present_video,GLX_NV_robustness_video_memory_purge,GLX_NV_swap_group,GLX_NV_video_capture,GLX_NV_video_out,GLX_OML_swap_method,GLX_OML_sync_control,GLX_SGIS_blended_overlay,GLX_SGIS_multisample,GLX_SGIS_shared_multisample,GLX_SGIX_dmbuffer,GLX_SGIX_fbconfig,GLX_SGIX_hyperpipe,GLX_SGIX_pbuffer,GLX_SGIX_swap_barrier,GLX_SGIX_swap_group,GLX_SGIX_video_resize,GLX_SGIX_video_source,GLX_SGIX_visual_select_group,GLX_SGI_cushion,GLX_SGI_make_current_read,GLX_SGI_swap_control,GLX_SGI_video_sync,GLX_SUN_get_transparent_index"
|
--api="glx=1.4" --generator="c" --spec="glx" --extensions="GLX_3DFX_multisample,GLX_AMD_gpu_association,GLX_ARB_context_flush_control,GLX_ARB_create_context,GLX_ARB_create_context_no_error,GLX_ARB_create_context_profile,GLX_ARB_create_context_robustness,GLX_ARB_fbconfig_float,GLX_ARB_framebuffer_sRGB,GLX_ARB_get_proc_address,GLX_ARB_multisample,GLX_ARB_robustness_application_isolation,GLX_ARB_robustness_share_group_isolation,GLX_ARB_vertex_buffer_object,GLX_EXT_buffer_age,GLX_EXT_context_priority,GLX_EXT_create_context_es2_profile,GLX_EXT_create_context_es_profile,GLX_EXT_fbconfig_packed_float,GLX_EXT_framebuffer_sRGB,GLX_EXT_import_context,GLX_EXT_libglvnd,GLX_EXT_no_config_context,GLX_EXT_stereo_tree,GLX_EXT_swap_control,GLX_EXT_swap_control_tear,GLX_EXT_texture_from_pixmap,GLX_EXT_visual_info,GLX_EXT_visual_rating,GLX_INTEL_swap_event,GLX_MESA_agp_offset,GLX_MESA_copy_sub_buffer,GLX_MESA_pixmap_colormap,GLX_MESA_query_renderer,GLX_MESA_release_buffers,GLX_MESA_set_3dfx_mode,GLX_MESA_swap_control,GLX_NV_copy_buffer,GLX_NV_copy_image,GLX_NV_delay_before_swap,GLX_NV_float_buffer,GLX_NV_multisample_coverage,GLX_NV_present_video,GLX_NV_robustness_video_memory_purge,GLX_NV_swap_group,GLX_NV_video_capture,GLX_NV_video_out,GLX_OML_swap_method,GLX_OML_sync_control,GLX_SGIS_blended_overlay,GLX_SGIS_multisample,GLX_SGIS_shared_multisample,GLX_SGIX_dmbuffer,GLX_SGIX_fbconfig,GLX_SGIX_hyperpipe,GLX_SGIX_pbuffer,GLX_SGIX_swap_barrier,GLX_SGIX_swap_group,GLX_SGIX_video_resize,GLX_SGIX_video_source,GLX_SGIX_visual_select_group,GLX_SGI_cushion,GLX_SGI_make_current_read,GLX_SGI_swap_control,GLX_SGI_video_sync,GLX_SUN_get_transparent_index"
|
||||||
Online:
|
Online:
|
||||||
Too many extensions
|
Too many extensions
|
||||||
*/
|
*/
|
||||||
|
|
@ -86,21 +91,44 @@
|
||||||
|
|
||||||
static void* get_proc(const char *namez);
|
static void* get_proc(const char *namez);
|
||||||
|
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||||
|
#ifndef _WINDOWS_
|
||||||
|
#undef APIENTRY
|
||||||
|
#endif
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
static HMODULE libGL;
|
static HMODULE libGL;
|
||||||
|
|
||||||
typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
|
typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
|
||||||
PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
|
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
|
static
|
||||||
int open_gl(void) {
|
int open_gl(void) {
|
||||||
|
#ifndef IS_UWP
|
||||||
libGL = LoadLibraryW(L"opengl32.dll");
|
libGL = LoadLibraryW(L"opengl32.dll");
|
||||||
if(libGL != NULL) {
|
if(libGL != NULL) {
|
||||||
gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress(
|
void (* tmp)(void);
|
||||||
libGL, "wglGetProcAddress");
|
tmp = (void(*)(void)) GetProcAddress(libGL, "wglGetProcAddress");
|
||||||
|
gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE) tmp;
|
||||||
return gladGetProcAddressPtr != NULL;
|
return gladGetProcAddressPtr != NULL;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -108,7 +136,7 @@ int open_gl(void) {
|
||||||
static
|
static
|
||||||
void close_gl(void) {
|
void close_gl(void) {
|
||||||
if(libGL != NULL) {
|
if(libGL != NULL) {
|
||||||
FreeLibrary(libGL);
|
FreeLibrary((HMODULE) libGL);
|
||||||
libGL = NULL;
|
libGL = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -116,9 +144,9 @@ void close_gl(void) {
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
static void* libGL;
|
static void* libGL;
|
||||||
|
|
||||||
#ifndef __APPLE__
|
#if !defined(__APPLE__) && !defined(__HAIKU__)
|
||||||
typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
|
typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
|
||||||
PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
|
static PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static
|
static
|
||||||
|
|
@ -139,7 +167,7 @@ int open_gl(void) {
|
||||||
libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
|
libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
|
||||||
|
|
||||||
if(libGL != NULL) {
|
if(libGL != NULL) {
|
||||||
#ifdef __APPLE__
|
#if defined(__APPLE__) || defined(__HAIKU__)
|
||||||
return 1;
|
return 1;
|
||||||
#else
|
#else
|
||||||
gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
|
gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
|
||||||
|
|
@ -153,7 +181,7 @@ int open_gl(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
void close_gl() {
|
void close_gl(void) {
|
||||||
if(libGL != NULL) {
|
if(libGL != NULL) {
|
||||||
dlclose(libGL);
|
dlclose(libGL);
|
||||||
libGL = NULL;
|
libGL = NULL;
|
||||||
|
|
@ -166,14 +194,14 @@ void* get_proc(const char *namez) {
|
||||||
void* result = NULL;
|
void* result = NULL;
|
||||||
if(libGL == NULL) return NULL;
|
if(libGL == NULL) return NULL;
|
||||||
|
|
||||||
#ifndef __APPLE__
|
#if !defined(__APPLE__) && !defined(__HAIKU__)
|
||||||
if(gladGetProcAddressPtr != NULL) {
|
if(gladGetProcAddressPtr != NULL) {
|
||||||
result = gladGetProcAddressPtr(namez);
|
result = gladGetProcAddressPtr(namez);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if(result == NULL) {
|
if(result == NULL) {
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||||
result = (void*)GetProcAddress(libGL, namez);
|
result = (void*)GetProcAddress((HMODULE) libGL, namez);
|
||||||
#else
|
#else
|
||||||
result = dlsym(libGL, namez);
|
result = dlsym(libGL, namez);
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -234,209 +262,215 @@ static int has_ext(const char *ext) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GLAD_GLX_VERSION_1_0;
|
int GLAD_GLX_VERSION_1_0 = 0;
|
||||||
int GLAD_GLX_VERSION_1_1;
|
int GLAD_GLX_VERSION_1_1 = 0;
|
||||||
int GLAD_GLX_VERSION_1_2;
|
int GLAD_GLX_VERSION_1_2 = 0;
|
||||||
int GLAD_GLX_VERSION_1_3;
|
int GLAD_GLX_VERSION_1_3 = 0;
|
||||||
int GLAD_GLX_VERSION_1_4;
|
int GLAD_GLX_VERSION_1_4 = 0;
|
||||||
PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent;
|
PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig = NULL;
|
||||||
PFNGLXQUERYEXTENSIONPROC glad_glXQueryExtension;
|
PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual = NULL;
|
||||||
PFNGLXMAKECURRENTPROC glad_glXMakeCurrent;
|
PFNGLXCOPYCONTEXTPROC glad_glXCopyContext = NULL;
|
||||||
PFNGLXSELECTEVENTPROC glad_glXSelectEvent;
|
PFNGLXCREATECONTEXTPROC glad_glXCreateContext = NULL;
|
||||||
PFNGLXCREATECONTEXTPROC glad_glXCreateContext;
|
PFNGLXCREATEGLXPIXMAPPROC glad_glXCreateGLXPixmap = NULL;
|
||||||
PFNGLXCREATEGLXPIXMAPPROC glad_glXCreateGLXPixmap;
|
PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext = NULL;
|
||||||
PFNGLXQUERYVERSIONPROC glad_glXQueryVersion;
|
PFNGLXCREATEPBUFFERPROC glad_glXCreatePbuffer = NULL;
|
||||||
PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable;
|
PFNGLXCREATEPIXMAPPROC glad_glXCreatePixmap = NULL;
|
||||||
PFNGLXDESTROYPIXMAPPROC glad_glXDestroyPixmap;
|
PFNGLXCREATEWINDOWPROC glad_glXCreateWindow = NULL;
|
||||||
PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext;
|
PFNGLXDESTROYCONTEXTPROC glad_glXDestroyContext = NULL;
|
||||||
PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress;
|
PFNGLXDESTROYGLXPIXMAPPROC glad_glXDestroyGLXPixmap = NULL;
|
||||||
PFNGLXWAITGLPROC glad_glXWaitGL;
|
PFNGLXDESTROYPBUFFERPROC glad_glXDestroyPbuffer = NULL;
|
||||||
PFNGLXISDIRECTPROC glad_glXIsDirect;
|
PFNGLXDESTROYPIXMAPPROC glad_glXDestroyPixmap = NULL;
|
||||||
PFNGLXDESTROYWINDOWPROC glad_glXDestroyWindow;
|
PFNGLXDESTROYWINDOWPROC glad_glXDestroyWindow = NULL;
|
||||||
PFNGLXCREATEWINDOWPROC glad_glXCreateWindow;
|
PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString = NULL;
|
||||||
PFNGLXCOPYCONTEXTPROC glad_glXCopyContext;
|
PFNGLXGETCONFIGPROC glad_glXGetConfig = NULL;
|
||||||
PFNGLXCREATEPBUFFERPROC glad_glXCreatePbuffer;
|
PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext = NULL;
|
||||||
PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers;
|
PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay = NULL;
|
||||||
PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay;
|
PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable = NULL;
|
||||||
PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable;
|
PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable = NULL;
|
||||||
PFNGLXQUERYCONTEXTPROC glad_glXQueryContext;
|
PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib = NULL;
|
||||||
PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual;
|
PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs = NULL;
|
||||||
PFNGLXQUERYSERVERSTRINGPROC glad_glXQueryServerString;
|
PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress = NULL;
|
||||||
PFNGLXDESTROYCONTEXTPROC glad_glXDestroyContext;
|
PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent = NULL;
|
||||||
PFNGLXDESTROYGLXPIXMAPPROC glad_glXDestroyGLXPixmap;
|
PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig = NULL;
|
||||||
PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib;
|
PFNGLXISDIRECTPROC glad_glXIsDirect = NULL;
|
||||||
PFNGLXUSEXFONTPROC glad_glXUseXFont;
|
PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent = NULL;
|
||||||
PFNGLXDESTROYPBUFFERPROC glad_glXDestroyPbuffer;
|
PFNGLXMAKECURRENTPROC glad_glXMakeCurrent = NULL;
|
||||||
PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig;
|
PFNGLXQUERYCONTEXTPROC glad_glXQueryContext = NULL;
|
||||||
PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext;
|
PFNGLXQUERYDRAWABLEPROC glad_glXQueryDrawable = NULL;
|
||||||
PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent;
|
PFNGLXQUERYEXTENSIONPROC glad_glXQueryExtension = NULL;
|
||||||
PFNGLXGETCONFIGPROC glad_glXGetConfig;
|
PFNGLXQUERYEXTENSIONSSTRINGPROC glad_glXQueryExtensionsString = NULL;
|
||||||
PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs;
|
PFNGLXQUERYSERVERSTRINGPROC glad_glXQueryServerString = NULL;
|
||||||
PFNGLXCREATEPIXMAPPROC glad_glXCreatePixmap;
|
PFNGLXQUERYVERSIONPROC glad_glXQueryVersion = NULL;
|
||||||
PFNGLXWAITXPROC glad_glXWaitX;
|
PFNGLXSELECTEVENTPROC glad_glXSelectEvent = NULL;
|
||||||
PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig;
|
PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers = NULL;
|
||||||
PFNGLXQUERYDRAWABLEPROC glad_glXQueryDrawable;
|
PFNGLXUSEXFONTPROC glad_glXUseXFont = NULL;
|
||||||
PFNGLXQUERYEXTENSIONSSTRINGPROC glad_glXQueryExtensionsString;
|
PFNGLXWAITGLPROC glad_glXWaitGL = NULL;
|
||||||
PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString;
|
PFNGLXWAITXPROC glad_glXWaitX = NULL;
|
||||||
int GLAD_GLX_ARB_framebuffer_sRGB;
|
int GLAD_GLX_3DFX_multisample = 0;
|
||||||
int GLAD_GLX_EXT_import_context;
|
int GLAD_GLX_AMD_gpu_association = 0;
|
||||||
int GLAD_GLX_EXT_libglvnd;
|
int GLAD_GLX_ARB_context_flush_control = 0;
|
||||||
int GLAD_GLX_SGIS_shared_multisample;
|
int GLAD_GLX_ARB_create_context = 0;
|
||||||
int GLAD_GLX_SGIX_pbuffer;
|
int GLAD_GLX_ARB_create_context_no_error = 0;
|
||||||
int GLAD_GLX_EXT_swap_control_tear;
|
int GLAD_GLX_ARB_create_context_profile = 0;
|
||||||
int GLAD_GLX_ARB_fbconfig_float;
|
int GLAD_GLX_ARB_create_context_robustness = 0;
|
||||||
int GLAD_GLX_SGIX_hyperpipe;
|
int GLAD_GLX_ARB_fbconfig_float = 0;
|
||||||
int GLAD_GLX_MESA_set_3dfx_mode;
|
int GLAD_GLX_ARB_framebuffer_sRGB = 0;
|
||||||
int GLAD_GLX_INTEL_swap_event;
|
int GLAD_GLX_ARB_get_proc_address = 0;
|
||||||
int GLAD_GLX_SGIX_video_resize;
|
int GLAD_GLX_ARB_multisample = 0;
|
||||||
int GLAD_GLX_MESA_pixmap_colormap;
|
int GLAD_GLX_ARB_robustness_application_isolation = 0;
|
||||||
int GLAD_GLX_EXT_create_context_es2_profile;
|
int GLAD_GLX_ARB_robustness_share_group_isolation = 0;
|
||||||
int GLAD_GLX_ARB_robustness_application_isolation;
|
int GLAD_GLX_ARB_vertex_buffer_object = 0;
|
||||||
int GLAD_GLX_NV_copy_image;
|
int GLAD_GLX_EXT_buffer_age = 0;
|
||||||
int GLAD_GLX_NV_swap_group;
|
int GLAD_GLX_EXT_context_priority = 0;
|
||||||
int GLAD_GLX_OML_sync_control;
|
int GLAD_GLX_EXT_create_context_es2_profile = 0;
|
||||||
int GLAD_GLX_EXT_framebuffer_sRGB;
|
int GLAD_GLX_EXT_create_context_es_profile = 0;
|
||||||
int GLAD_GLX_ARB_create_context_robustness;
|
int GLAD_GLX_EXT_fbconfig_packed_float = 0;
|
||||||
int GLAD_GLX_OML_swap_method;
|
int GLAD_GLX_EXT_framebuffer_sRGB = 0;
|
||||||
int GLAD_GLX_EXT_fbconfig_packed_float;
|
int GLAD_GLX_EXT_import_context = 0;
|
||||||
int GLAD_GLX_EXT_buffer_age;
|
int GLAD_GLX_EXT_libglvnd = 0;
|
||||||
int GLAD_GLX_3DFX_multisample;
|
int GLAD_GLX_EXT_no_config_context = 0;
|
||||||
int GLAD_GLX_EXT_visual_info;
|
int GLAD_GLX_EXT_stereo_tree = 0;
|
||||||
int GLAD_GLX_SGI_video_sync;
|
int GLAD_GLX_EXT_swap_control = 0;
|
||||||
int GLAD_GLX_NV_video_capture;
|
int GLAD_GLX_EXT_swap_control_tear = 0;
|
||||||
int GLAD_GLX_SGIS_multisample;
|
int GLAD_GLX_EXT_texture_from_pixmap = 0;
|
||||||
int GLAD_GLX_EXT_texture_from_pixmap;
|
int GLAD_GLX_EXT_visual_info = 0;
|
||||||
int GLAD_GLX_NV_video_out;
|
int GLAD_GLX_EXT_visual_rating = 0;
|
||||||
int GLAD_GLX_ARB_multisample;
|
int GLAD_GLX_INTEL_swap_event = 0;
|
||||||
int GLAD_GLX_NV_delay_before_swap;
|
int GLAD_GLX_MESA_agp_offset = 0;
|
||||||
int GLAD_GLX_SGI_make_current_read;
|
int GLAD_GLX_MESA_copy_sub_buffer = 0;
|
||||||
int GLAD_GLX_SGIX_swap_group;
|
int GLAD_GLX_MESA_pixmap_colormap = 0;
|
||||||
int GLAD_GLX_EXT_swap_control;
|
int GLAD_GLX_MESA_query_renderer = 0;
|
||||||
int GLAD_GLX_SGIX_video_source;
|
int GLAD_GLX_MESA_release_buffers = 0;
|
||||||
int GLAD_GLX_MESA_query_renderer;
|
int GLAD_GLX_MESA_set_3dfx_mode = 0;
|
||||||
int GLAD_GLX_NV_robustness_video_memory_purge;
|
int GLAD_GLX_MESA_swap_control = 0;
|
||||||
int GLAD_GLX_ARB_create_context;
|
int GLAD_GLX_NV_copy_buffer = 0;
|
||||||
int GLAD_GLX_ARB_context_flush_control;
|
int GLAD_GLX_NV_copy_image = 0;
|
||||||
int GLAD_GLX_ARB_robustness_share_group_isolation;
|
int GLAD_GLX_NV_delay_before_swap = 0;
|
||||||
int GLAD_GLX_EXT_stereo_tree;
|
int GLAD_GLX_NV_float_buffer = 0;
|
||||||
int GLAD_GLX_SGI_swap_control;
|
int GLAD_GLX_NV_multisample_coverage = 0;
|
||||||
int GLAD_GLX_SGIX_dmbuffer;
|
int GLAD_GLX_NV_present_video = 0;
|
||||||
int GLAD_GLX_SGIX_visual_select_group;
|
int GLAD_GLX_NV_robustness_video_memory_purge = 0;
|
||||||
int GLAD_GLX_SGIS_blended_overlay;
|
int GLAD_GLX_NV_swap_group = 0;
|
||||||
int GLAD_GLX_NV_multisample_coverage;
|
int GLAD_GLX_NV_video_capture = 0;
|
||||||
int GLAD_GLX_EXT_create_context_es_profile;
|
int GLAD_GLX_NV_video_out = 0;
|
||||||
int GLAD_GLX_SGIX_fbconfig;
|
int GLAD_GLX_OML_swap_method = 0;
|
||||||
int GLAD_GLX_NV_float_buffer;
|
int GLAD_GLX_OML_sync_control = 0;
|
||||||
int GLAD_GLX_SGI_cushion;
|
int GLAD_GLX_SGIS_blended_overlay = 0;
|
||||||
int GLAD_GLX_MESA_release_buffers;
|
int GLAD_GLX_SGIS_multisample = 0;
|
||||||
int GLAD_GLX_EXT_visual_rating;
|
int GLAD_GLX_SGIS_shared_multisample = 0;
|
||||||
int GLAD_GLX_MESA_copy_sub_buffer;
|
int GLAD_GLX_SGIX_dmbuffer = 0;
|
||||||
int GLAD_GLX_MESA_agp_offset;
|
int GLAD_GLX_SGIX_fbconfig = 0;
|
||||||
int GLAD_GLX_NV_copy_buffer;
|
int GLAD_GLX_SGIX_hyperpipe = 0;
|
||||||
int GLAD_GLX_NV_present_video;
|
int GLAD_GLX_SGIX_pbuffer = 0;
|
||||||
int GLAD_GLX_SUN_get_transparent_index;
|
int GLAD_GLX_SGIX_swap_barrier = 0;
|
||||||
int GLAD_GLX_AMD_gpu_association;
|
int GLAD_GLX_SGIX_swap_group = 0;
|
||||||
int GLAD_GLX_ARB_create_context_profile;
|
int GLAD_GLX_SGIX_video_resize = 0;
|
||||||
int GLAD_GLX_SGIX_swap_barrier;
|
int GLAD_GLX_SGIX_video_source = 0;
|
||||||
int GLAD_GLX_ARB_get_proc_address;
|
int GLAD_GLX_SGIX_visual_select_group = 0;
|
||||||
int GLAD_GLX_ARB_vertex_buffer_object;
|
int GLAD_GLX_SGI_cushion = 0;
|
||||||
PFNGLXGETGPUIDSAMDPROC glad_glXGetGPUIDsAMD;
|
int GLAD_GLX_SGI_make_current_read = 0;
|
||||||
PFNGLXGETGPUINFOAMDPROC glad_glXGetGPUInfoAMD;
|
int GLAD_GLX_SGI_swap_control = 0;
|
||||||
PFNGLXGETCONTEXTGPUIDAMDPROC glad_glXGetContextGPUIDAMD;
|
int GLAD_GLX_SGI_video_sync = 0;
|
||||||
PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC glad_glXCreateAssociatedContextAMD;
|
int GLAD_GLX_SUN_get_transparent_index = 0;
|
||||||
PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_glXCreateAssociatedContextAttribsAMD;
|
PFNGLXGETGPUIDSAMDPROC glad_glXGetGPUIDsAMD = NULL;
|
||||||
PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC glad_glXDeleteAssociatedContextAMD;
|
PFNGLXGETGPUINFOAMDPROC glad_glXGetGPUInfoAMD = NULL;
|
||||||
PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_glXMakeAssociatedContextCurrentAMD;
|
PFNGLXGETCONTEXTGPUIDAMDPROC glad_glXGetContextGPUIDAMD = NULL;
|
||||||
PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_glXGetCurrentAssociatedContextAMD;
|
PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC glad_glXCreateAssociatedContextAMD = NULL;
|
||||||
PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC glad_glXBlitContextFramebufferAMD;
|
PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_glXCreateAssociatedContextAttribsAMD = NULL;
|
||||||
PFNGLXCREATECONTEXTATTRIBSARBPROC glad_glXCreateContextAttribsARB;
|
PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC glad_glXDeleteAssociatedContextAMD = NULL;
|
||||||
PFNGLXGETPROCADDRESSARBPROC glad_glXGetProcAddressARB;
|
PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_glXMakeAssociatedContextCurrentAMD = NULL;
|
||||||
PFNGLXGETCURRENTDISPLAYEXTPROC glad_glXGetCurrentDisplayEXT;
|
PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_glXGetCurrentAssociatedContextAMD = NULL;
|
||||||
PFNGLXQUERYCONTEXTINFOEXTPROC glad_glXQueryContextInfoEXT;
|
PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC glad_glXBlitContextFramebufferAMD = NULL;
|
||||||
PFNGLXGETCONTEXTIDEXTPROC glad_glXGetContextIDEXT;
|
PFNGLXCREATECONTEXTATTRIBSARBPROC glad_glXCreateContextAttribsARB = NULL;
|
||||||
PFNGLXIMPORTCONTEXTEXTPROC glad_glXImportContextEXT;
|
PFNGLXGETPROCADDRESSARBPROC glad_glXGetProcAddressARB = NULL;
|
||||||
PFNGLXFREECONTEXTEXTPROC glad_glXFreeContextEXT;
|
PFNGLXGETCURRENTDISPLAYEXTPROC glad_glXGetCurrentDisplayEXT = NULL;
|
||||||
PFNGLXSWAPINTERVALEXTPROC glad_glXSwapIntervalEXT;
|
PFNGLXQUERYCONTEXTINFOEXTPROC glad_glXQueryContextInfoEXT = NULL;
|
||||||
PFNGLXBINDTEXIMAGEEXTPROC glad_glXBindTexImageEXT;
|
PFNGLXGETCONTEXTIDEXTPROC glad_glXGetContextIDEXT = NULL;
|
||||||
PFNGLXRELEASETEXIMAGEEXTPROC glad_glXReleaseTexImageEXT;
|
PFNGLXIMPORTCONTEXTEXTPROC glad_glXImportContextEXT = NULL;
|
||||||
PFNGLXGETAGPOFFSETMESAPROC glad_glXGetAGPOffsetMESA;
|
PFNGLXFREECONTEXTEXTPROC glad_glXFreeContextEXT = NULL;
|
||||||
PFNGLXCOPYSUBBUFFERMESAPROC glad_glXCopySubBufferMESA;
|
PFNGLXSWAPINTERVALEXTPROC glad_glXSwapIntervalEXT = NULL;
|
||||||
PFNGLXCREATEGLXPIXMAPMESAPROC glad_glXCreateGLXPixmapMESA;
|
PFNGLXBINDTEXIMAGEEXTPROC glad_glXBindTexImageEXT = NULL;
|
||||||
PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC glad_glXQueryCurrentRendererIntegerMESA;
|
PFNGLXRELEASETEXIMAGEEXTPROC glad_glXReleaseTexImageEXT = NULL;
|
||||||
PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC glad_glXQueryCurrentRendererStringMESA;
|
PFNGLXGETAGPOFFSETMESAPROC glad_glXGetAGPOffsetMESA = NULL;
|
||||||
PFNGLXQUERYRENDERERINTEGERMESAPROC glad_glXQueryRendererIntegerMESA;
|
PFNGLXCOPYSUBBUFFERMESAPROC glad_glXCopySubBufferMESA = NULL;
|
||||||
PFNGLXQUERYRENDERERSTRINGMESAPROC glad_glXQueryRendererStringMESA;
|
PFNGLXCREATEGLXPIXMAPMESAPROC glad_glXCreateGLXPixmapMESA = NULL;
|
||||||
PFNGLXRELEASEBUFFERSMESAPROC glad_glXReleaseBuffersMESA;
|
PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC glad_glXQueryCurrentRendererIntegerMESA = NULL;
|
||||||
PFNGLXSET3DFXMODEMESAPROC glad_glXSet3DfxModeMESA;
|
PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC glad_glXQueryCurrentRendererStringMESA = NULL;
|
||||||
PFNGLXCOPYBUFFERSUBDATANVPROC glad_glXCopyBufferSubDataNV;
|
PFNGLXQUERYRENDERERINTEGERMESAPROC glad_glXQueryRendererIntegerMESA = NULL;
|
||||||
PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC glad_glXNamedCopyBufferSubDataNV;
|
PFNGLXQUERYRENDERERSTRINGMESAPROC glad_glXQueryRendererStringMESA = NULL;
|
||||||
PFNGLXCOPYIMAGESUBDATANVPROC glad_glXCopyImageSubDataNV;
|
PFNGLXRELEASEBUFFERSMESAPROC glad_glXReleaseBuffersMESA = NULL;
|
||||||
PFNGLXDELAYBEFORESWAPNVPROC glad_glXDelayBeforeSwapNV;
|
PFNGLXSET3DFXMODEMESAPROC glad_glXSet3DfxModeMESA = NULL;
|
||||||
PFNGLXENUMERATEVIDEODEVICESNVPROC glad_glXEnumerateVideoDevicesNV;
|
PFNGLXGETSWAPINTERVALMESAPROC glad_glXGetSwapIntervalMESA = NULL;
|
||||||
PFNGLXBINDVIDEODEVICENVPROC glad_glXBindVideoDeviceNV;
|
PFNGLXSWAPINTERVALMESAPROC glad_glXSwapIntervalMESA = NULL;
|
||||||
PFNGLXJOINSWAPGROUPNVPROC glad_glXJoinSwapGroupNV;
|
PFNGLXCOPYBUFFERSUBDATANVPROC glad_glXCopyBufferSubDataNV = NULL;
|
||||||
PFNGLXBINDSWAPBARRIERNVPROC glad_glXBindSwapBarrierNV;
|
PFNGLXNAMEDCOPYBUFFERSUBDATANVPROC glad_glXNamedCopyBufferSubDataNV = NULL;
|
||||||
PFNGLXQUERYSWAPGROUPNVPROC glad_glXQuerySwapGroupNV;
|
PFNGLXCOPYIMAGESUBDATANVPROC glad_glXCopyImageSubDataNV = NULL;
|
||||||
PFNGLXQUERYMAXSWAPGROUPSNVPROC glad_glXQueryMaxSwapGroupsNV;
|
PFNGLXDELAYBEFORESWAPNVPROC glad_glXDelayBeforeSwapNV = NULL;
|
||||||
PFNGLXQUERYFRAMECOUNTNVPROC glad_glXQueryFrameCountNV;
|
PFNGLXENUMERATEVIDEODEVICESNVPROC glad_glXEnumerateVideoDevicesNV = NULL;
|
||||||
PFNGLXRESETFRAMECOUNTNVPROC glad_glXResetFrameCountNV;
|
PFNGLXBINDVIDEODEVICENVPROC glad_glXBindVideoDeviceNV = NULL;
|
||||||
PFNGLXBINDVIDEOCAPTUREDEVICENVPROC glad_glXBindVideoCaptureDeviceNV;
|
PFNGLXJOINSWAPGROUPNVPROC glad_glXJoinSwapGroupNV = NULL;
|
||||||
PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_glXEnumerateVideoCaptureDevicesNV;
|
PFNGLXBINDSWAPBARRIERNVPROC glad_glXBindSwapBarrierNV = NULL;
|
||||||
PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC glad_glXLockVideoCaptureDeviceNV;
|
PFNGLXQUERYSWAPGROUPNVPROC glad_glXQuerySwapGroupNV = NULL;
|
||||||
PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC glad_glXQueryVideoCaptureDeviceNV;
|
PFNGLXQUERYMAXSWAPGROUPSNVPROC glad_glXQueryMaxSwapGroupsNV = NULL;
|
||||||
PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC glad_glXReleaseVideoCaptureDeviceNV;
|
PFNGLXQUERYFRAMECOUNTNVPROC glad_glXQueryFrameCountNV = NULL;
|
||||||
PFNGLXGETVIDEODEVICENVPROC glad_glXGetVideoDeviceNV;
|
PFNGLXRESETFRAMECOUNTNVPROC glad_glXResetFrameCountNV = NULL;
|
||||||
PFNGLXRELEASEVIDEODEVICENVPROC glad_glXReleaseVideoDeviceNV;
|
PFNGLXBINDVIDEOCAPTUREDEVICENVPROC glad_glXBindVideoCaptureDeviceNV = NULL;
|
||||||
PFNGLXBINDVIDEOIMAGENVPROC glad_glXBindVideoImageNV;
|
PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_glXEnumerateVideoCaptureDevicesNV = NULL;
|
||||||
PFNGLXRELEASEVIDEOIMAGENVPROC glad_glXReleaseVideoImageNV;
|
PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC glad_glXLockVideoCaptureDeviceNV = NULL;
|
||||||
PFNGLXSENDPBUFFERTOVIDEONVPROC glad_glXSendPbufferToVideoNV;
|
PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC glad_glXQueryVideoCaptureDeviceNV = NULL;
|
||||||
PFNGLXGETVIDEOINFONVPROC glad_glXGetVideoInfoNV;
|
PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC glad_glXReleaseVideoCaptureDeviceNV = NULL;
|
||||||
PFNGLXGETSYNCVALUESOMLPROC glad_glXGetSyncValuesOML;
|
PFNGLXGETVIDEODEVICENVPROC glad_glXGetVideoDeviceNV = NULL;
|
||||||
PFNGLXGETMSCRATEOMLPROC glad_glXGetMscRateOML;
|
PFNGLXRELEASEVIDEODEVICENVPROC glad_glXReleaseVideoDeviceNV = NULL;
|
||||||
PFNGLXSWAPBUFFERSMSCOMLPROC glad_glXSwapBuffersMscOML;
|
PFNGLXBINDVIDEOIMAGENVPROC glad_glXBindVideoImageNV = NULL;
|
||||||
PFNGLXWAITFORMSCOMLPROC glad_glXWaitForMscOML;
|
PFNGLXRELEASEVIDEOIMAGENVPROC glad_glXReleaseVideoImageNV = NULL;
|
||||||
PFNGLXWAITFORSBCOMLPROC glad_glXWaitForSbcOML;
|
PFNGLXSENDPBUFFERTOVIDEONVPROC glad_glXSendPbufferToVideoNV = NULL;
|
||||||
|
PFNGLXGETVIDEOINFONVPROC glad_glXGetVideoInfoNV = NULL;
|
||||||
|
PFNGLXGETSYNCVALUESOMLPROC glad_glXGetSyncValuesOML = NULL;
|
||||||
|
PFNGLXGETMSCRATEOMLPROC glad_glXGetMscRateOML = NULL;
|
||||||
|
PFNGLXSWAPBUFFERSMSCOMLPROC glad_glXSwapBuffersMscOML = NULL;
|
||||||
|
PFNGLXWAITFORMSCOMLPROC glad_glXWaitForMscOML = NULL;
|
||||||
|
PFNGLXWAITFORSBCOMLPROC glad_glXWaitForSbcOML = NULL;
|
||||||
#ifdef _DM_BUFFER_H_
|
#ifdef _DM_BUFFER_H_
|
||||||
PFNGLXASSOCIATEDMPBUFFERSGIXPROC glad_glXAssociateDMPbufferSGIX;
|
PFNGLXASSOCIATEDMPBUFFERSGIXPROC glad_glXAssociateDMPbufferSGIX = NULL;
|
||||||
#endif
|
#endif
|
||||||
PFNGLXGETFBCONFIGATTRIBSGIXPROC glad_glXGetFBConfigAttribSGIX;
|
PFNGLXGETFBCONFIGATTRIBSGIXPROC glad_glXGetFBConfigAttribSGIX = NULL;
|
||||||
PFNGLXCHOOSEFBCONFIGSGIXPROC glad_glXChooseFBConfigSGIX;
|
PFNGLXCHOOSEFBCONFIGSGIXPROC glad_glXChooseFBConfigSGIX = NULL;
|
||||||
PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC glad_glXCreateGLXPixmapWithConfigSGIX;
|
PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC glad_glXCreateGLXPixmapWithConfigSGIX = NULL;
|
||||||
PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC glad_glXCreateContextWithConfigSGIX;
|
PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC glad_glXCreateContextWithConfigSGIX = NULL;
|
||||||
PFNGLXGETVISUALFROMFBCONFIGSGIXPROC glad_glXGetVisualFromFBConfigSGIX;
|
PFNGLXGETVISUALFROMFBCONFIGSGIXPROC glad_glXGetVisualFromFBConfigSGIX = NULL;
|
||||||
PFNGLXGETFBCONFIGFROMVISUALSGIXPROC glad_glXGetFBConfigFromVisualSGIX;
|
PFNGLXGETFBCONFIGFROMVISUALSGIXPROC glad_glXGetFBConfigFromVisualSGIX = NULL;
|
||||||
PFNGLXQUERYHYPERPIPENETWORKSGIXPROC glad_glXQueryHyperpipeNetworkSGIX;
|
PFNGLXQUERYHYPERPIPENETWORKSGIXPROC glad_glXQueryHyperpipeNetworkSGIX = NULL;
|
||||||
PFNGLXHYPERPIPECONFIGSGIXPROC glad_glXHyperpipeConfigSGIX;
|
PFNGLXHYPERPIPECONFIGSGIXPROC glad_glXHyperpipeConfigSGIX = NULL;
|
||||||
PFNGLXQUERYHYPERPIPECONFIGSGIXPROC glad_glXQueryHyperpipeConfigSGIX;
|
PFNGLXQUERYHYPERPIPECONFIGSGIXPROC glad_glXQueryHyperpipeConfigSGIX = NULL;
|
||||||
PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC glad_glXDestroyHyperpipeConfigSGIX;
|
PFNGLXDESTROYHYPERPIPECONFIGSGIXPROC glad_glXDestroyHyperpipeConfigSGIX = NULL;
|
||||||
PFNGLXBINDHYPERPIPESGIXPROC glad_glXBindHyperpipeSGIX;
|
PFNGLXBINDHYPERPIPESGIXPROC glad_glXBindHyperpipeSGIX = NULL;
|
||||||
PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC glad_glXQueryHyperpipeBestAttribSGIX;
|
PFNGLXQUERYHYPERPIPEBESTATTRIBSGIXPROC glad_glXQueryHyperpipeBestAttribSGIX = NULL;
|
||||||
PFNGLXHYPERPIPEATTRIBSGIXPROC glad_glXHyperpipeAttribSGIX;
|
PFNGLXHYPERPIPEATTRIBSGIXPROC glad_glXHyperpipeAttribSGIX = NULL;
|
||||||
PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC glad_glXQueryHyperpipeAttribSGIX;
|
PFNGLXQUERYHYPERPIPEATTRIBSGIXPROC glad_glXQueryHyperpipeAttribSGIX = NULL;
|
||||||
PFNGLXCREATEGLXPBUFFERSGIXPROC glad_glXCreateGLXPbufferSGIX;
|
PFNGLXCREATEGLXPBUFFERSGIXPROC glad_glXCreateGLXPbufferSGIX = NULL;
|
||||||
PFNGLXDESTROYGLXPBUFFERSGIXPROC glad_glXDestroyGLXPbufferSGIX;
|
PFNGLXDESTROYGLXPBUFFERSGIXPROC glad_glXDestroyGLXPbufferSGIX = NULL;
|
||||||
PFNGLXQUERYGLXPBUFFERSGIXPROC glad_glXQueryGLXPbufferSGIX;
|
PFNGLXQUERYGLXPBUFFERSGIXPROC glad_glXQueryGLXPbufferSGIX = NULL;
|
||||||
PFNGLXSELECTEVENTSGIXPROC glad_glXSelectEventSGIX;
|
PFNGLXSELECTEVENTSGIXPROC glad_glXSelectEventSGIX = NULL;
|
||||||
PFNGLXGETSELECTEDEVENTSGIXPROC glad_glXGetSelectedEventSGIX;
|
PFNGLXGETSELECTEDEVENTSGIXPROC glad_glXGetSelectedEventSGIX = NULL;
|
||||||
PFNGLXBINDSWAPBARRIERSGIXPROC glad_glXBindSwapBarrierSGIX;
|
PFNGLXBINDSWAPBARRIERSGIXPROC glad_glXBindSwapBarrierSGIX = NULL;
|
||||||
PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC glad_glXQueryMaxSwapBarriersSGIX;
|
PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC glad_glXQueryMaxSwapBarriersSGIX = NULL;
|
||||||
PFNGLXJOINSWAPGROUPSGIXPROC glad_glXJoinSwapGroupSGIX;
|
PFNGLXJOINSWAPGROUPSGIXPROC glad_glXJoinSwapGroupSGIX = NULL;
|
||||||
PFNGLXBINDCHANNELTOWINDOWSGIXPROC glad_glXBindChannelToWindowSGIX;
|
PFNGLXBINDCHANNELTOWINDOWSGIXPROC glad_glXBindChannelToWindowSGIX = NULL;
|
||||||
PFNGLXCHANNELRECTSGIXPROC glad_glXChannelRectSGIX;
|
PFNGLXCHANNELRECTSGIXPROC glad_glXChannelRectSGIX = NULL;
|
||||||
PFNGLXQUERYCHANNELRECTSGIXPROC glad_glXQueryChannelRectSGIX;
|
PFNGLXQUERYCHANNELRECTSGIXPROC glad_glXQueryChannelRectSGIX = NULL;
|
||||||
PFNGLXQUERYCHANNELDELTASSGIXPROC glad_glXQueryChannelDeltasSGIX;
|
PFNGLXQUERYCHANNELDELTASSGIXPROC glad_glXQueryChannelDeltasSGIX = NULL;
|
||||||
PFNGLXCHANNELRECTSYNCSGIXPROC glad_glXChannelRectSyncSGIX;
|
PFNGLXCHANNELRECTSYNCSGIXPROC glad_glXChannelRectSyncSGIX = NULL;
|
||||||
#ifdef _VL_H_
|
#ifdef _VL_H_
|
||||||
PFNGLXCREATEGLXVIDEOSOURCESGIXPROC glad_glXCreateGLXVideoSourceSGIX;
|
PFNGLXCREATEGLXVIDEOSOURCESGIXPROC glad_glXCreateGLXVideoSourceSGIX = NULL;
|
||||||
PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC glad_glXDestroyGLXVideoSourceSGIX;
|
PFNGLXDESTROYGLXVIDEOSOURCESGIXPROC glad_glXDestroyGLXVideoSourceSGIX = NULL;
|
||||||
#endif
|
#endif
|
||||||
PFNGLXCUSHIONSGIPROC glad_glXCushionSGI;
|
PFNGLXCUSHIONSGIPROC glad_glXCushionSGI = NULL;
|
||||||
PFNGLXMAKECURRENTREADSGIPROC glad_glXMakeCurrentReadSGI;
|
PFNGLXMAKECURRENTREADSGIPROC glad_glXMakeCurrentReadSGI = NULL;
|
||||||
PFNGLXGETCURRENTREADDRAWABLESGIPROC glad_glXGetCurrentReadDrawableSGI;
|
PFNGLXGETCURRENTREADDRAWABLESGIPROC glad_glXGetCurrentReadDrawableSGI = NULL;
|
||||||
PFNGLXSWAPINTERVALSGIPROC glad_glXSwapIntervalSGI;
|
PFNGLXSWAPINTERVALSGIPROC glad_glXSwapIntervalSGI = NULL;
|
||||||
PFNGLXGETVIDEOSYNCSGIPROC glad_glXGetVideoSyncSGI;
|
PFNGLXGETVIDEOSYNCSGIPROC glad_glXGetVideoSyncSGI = NULL;
|
||||||
PFNGLXWAITVIDEOSYNCSGIPROC glad_glXWaitVideoSyncSGI;
|
PFNGLXWAITVIDEOSYNCSGIPROC glad_glXWaitVideoSyncSGI = NULL;
|
||||||
PFNGLXGETTRANSPARENTINDEXSUNPROC glad_glXGetTransparentIndexSUN;
|
PFNGLXGETTRANSPARENTINDEXSUNPROC glad_glXGetTransparentIndexSUN = NULL;
|
||||||
static void load_GLX_VERSION_1_0(GLADloadproc load) {
|
static void load_GLX_VERSION_1_0(GLADloadproc load) {
|
||||||
if(!GLAD_GLX_VERSION_1_0) return;
|
if(!GLAD_GLX_VERSION_1_0) return;
|
||||||
glad_glXChooseVisual = (PFNGLXCHOOSEVISUALPROC)load("glXChooseVisual");
|
glad_glXChooseVisual = (PFNGLXCHOOSEVISUALPROC)load("glXChooseVisual");
|
||||||
|
|
@ -555,6 +589,11 @@ static void load_GLX_MESA_set_3dfx_mode(GLADloadproc load) {
|
||||||
if(!GLAD_GLX_MESA_set_3dfx_mode) return;
|
if(!GLAD_GLX_MESA_set_3dfx_mode) return;
|
||||||
glad_glXSet3DfxModeMESA = (PFNGLXSET3DFXMODEMESAPROC)load("glXSet3DfxModeMESA");
|
glad_glXSet3DfxModeMESA = (PFNGLXSET3DFXMODEMESAPROC)load("glXSet3DfxModeMESA");
|
||||||
}
|
}
|
||||||
|
static void load_GLX_MESA_swap_control(GLADloadproc load) {
|
||||||
|
if(!GLAD_GLX_MESA_swap_control) return;
|
||||||
|
glad_glXGetSwapIntervalMESA = (PFNGLXGETSWAPINTERVALMESAPROC)load("glXGetSwapIntervalMESA");
|
||||||
|
glad_glXSwapIntervalMESA = (PFNGLXSWAPINTERVALMESAPROC)load("glXSwapIntervalMESA");
|
||||||
|
}
|
||||||
static void load_GLX_NV_copy_buffer(GLADloadproc load) {
|
static void load_GLX_NV_copy_buffer(GLADloadproc load) {
|
||||||
if(!GLAD_GLX_NV_copy_buffer) return;
|
if(!GLAD_GLX_NV_copy_buffer) return;
|
||||||
glad_glXCopyBufferSubDataNV = (PFNGLXCOPYBUFFERSUBDATANVPROC)load("glXCopyBufferSubDataNV");
|
glad_glXCopyBufferSubDataNV = (PFNGLXCOPYBUFFERSUBDATANVPROC)load("glXCopyBufferSubDataNV");
|
||||||
|
|
@ -697,6 +736,7 @@ static int find_extensionsGLX(void) {
|
||||||
GLAD_GLX_AMD_gpu_association = has_ext("GLX_AMD_gpu_association");
|
GLAD_GLX_AMD_gpu_association = has_ext("GLX_AMD_gpu_association");
|
||||||
GLAD_GLX_ARB_context_flush_control = has_ext("GLX_ARB_context_flush_control");
|
GLAD_GLX_ARB_context_flush_control = has_ext("GLX_ARB_context_flush_control");
|
||||||
GLAD_GLX_ARB_create_context = has_ext("GLX_ARB_create_context");
|
GLAD_GLX_ARB_create_context = has_ext("GLX_ARB_create_context");
|
||||||
|
GLAD_GLX_ARB_create_context_no_error = has_ext("GLX_ARB_create_context_no_error");
|
||||||
GLAD_GLX_ARB_create_context_profile = has_ext("GLX_ARB_create_context_profile");
|
GLAD_GLX_ARB_create_context_profile = has_ext("GLX_ARB_create_context_profile");
|
||||||
GLAD_GLX_ARB_create_context_robustness = has_ext("GLX_ARB_create_context_robustness");
|
GLAD_GLX_ARB_create_context_robustness = has_ext("GLX_ARB_create_context_robustness");
|
||||||
GLAD_GLX_ARB_fbconfig_float = has_ext("GLX_ARB_fbconfig_float");
|
GLAD_GLX_ARB_fbconfig_float = has_ext("GLX_ARB_fbconfig_float");
|
||||||
|
|
@ -707,12 +747,14 @@ static int find_extensionsGLX(void) {
|
||||||
GLAD_GLX_ARB_robustness_share_group_isolation = has_ext("GLX_ARB_robustness_share_group_isolation");
|
GLAD_GLX_ARB_robustness_share_group_isolation = has_ext("GLX_ARB_robustness_share_group_isolation");
|
||||||
GLAD_GLX_ARB_vertex_buffer_object = has_ext("GLX_ARB_vertex_buffer_object");
|
GLAD_GLX_ARB_vertex_buffer_object = has_ext("GLX_ARB_vertex_buffer_object");
|
||||||
GLAD_GLX_EXT_buffer_age = has_ext("GLX_EXT_buffer_age");
|
GLAD_GLX_EXT_buffer_age = has_ext("GLX_EXT_buffer_age");
|
||||||
|
GLAD_GLX_EXT_context_priority = has_ext("GLX_EXT_context_priority");
|
||||||
GLAD_GLX_EXT_create_context_es2_profile = has_ext("GLX_EXT_create_context_es2_profile");
|
GLAD_GLX_EXT_create_context_es2_profile = has_ext("GLX_EXT_create_context_es2_profile");
|
||||||
GLAD_GLX_EXT_create_context_es_profile = has_ext("GLX_EXT_create_context_es_profile");
|
GLAD_GLX_EXT_create_context_es_profile = has_ext("GLX_EXT_create_context_es_profile");
|
||||||
GLAD_GLX_EXT_fbconfig_packed_float = has_ext("GLX_EXT_fbconfig_packed_float");
|
GLAD_GLX_EXT_fbconfig_packed_float = has_ext("GLX_EXT_fbconfig_packed_float");
|
||||||
GLAD_GLX_EXT_framebuffer_sRGB = has_ext("GLX_EXT_framebuffer_sRGB");
|
GLAD_GLX_EXT_framebuffer_sRGB = has_ext("GLX_EXT_framebuffer_sRGB");
|
||||||
GLAD_GLX_EXT_import_context = has_ext("GLX_EXT_import_context");
|
GLAD_GLX_EXT_import_context = has_ext("GLX_EXT_import_context");
|
||||||
GLAD_GLX_EXT_libglvnd = has_ext("GLX_EXT_libglvnd");
|
GLAD_GLX_EXT_libglvnd = has_ext("GLX_EXT_libglvnd");
|
||||||
|
GLAD_GLX_EXT_no_config_context = has_ext("GLX_EXT_no_config_context");
|
||||||
GLAD_GLX_EXT_stereo_tree = has_ext("GLX_EXT_stereo_tree");
|
GLAD_GLX_EXT_stereo_tree = has_ext("GLX_EXT_stereo_tree");
|
||||||
GLAD_GLX_EXT_swap_control = has_ext("GLX_EXT_swap_control");
|
GLAD_GLX_EXT_swap_control = has_ext("GLX_EXT_swap_control");
|
||||||
GLAD_GLX_EXT_swap_control_tear = has_ext("GLX_EXT_swap_control_tear");
|
GLAD_GLX_EXT_swap_control_tear = has_ext("GLX_EXT_swap_control_tear");
|
||||||
|
|
@ -726,6 +768,7 @@ static int find_extensionsGLX(void) {
|
||||||
GLAD_GLX_MESA_query_renderer = has_ext("GLX_MESA_query_renderer");
|
GLAD_GLX_MESA_query_renderer = has_ext("GLX_MESA_query_renderer");
|
||||||
GLAD_GLX_MESA_release_buffers = has_ext("GLX_MESA_release_buffers");
|
GLAD_GLX_MESA_release_buffers = has_ext("GLX_MESA_release_buffers");
|
||||||
GLAD_GLX_MESA_set_3dfx_mode = has_ext("GLX_MESA_set_3dfx_mode");
|
GLAD_GLX_MESA_set_3dfx_mode = has_ext("GLX_MESA_set_3dfx_mode");
|
||||||
|
GLAD_GLX_MESA_swap_control = has_ext("GLX_MESA_swap_control");
|
||||||
GLAD_GLX_NV_copy_buffer = has_ext("GLX_NV_copy_buffer");
|
GLAD_GLX_NV_copy_buffer = has_ext("GLX_NV_copy_buffer");
|
||||||
GLAD_GLX_NV_copy_image = has_ext("GLX_NV_copy_image");
|
GLAD_GLX_NV_copy_image = has_ext("GLX_NV_copy_image");
|
||||||
GLAD_GLX_NV_delay_before_swap = has_ext("GLX_NV_delay_before_swap");
|
GLAD_GLX_NV_delay_before_swap = has_ext("GLX_NV_delay_before_swap");
|
||||||
|
|
@ -801,6 +844,7 @@ int gladLoadGLXLoader(GLADloadproc load, Display *dpy, int screen) {
|
||||||
load_GLX_MESA_query_renderer(load);
|
load_GLX_MESA_query_renderer(load);
|
||||||
load_GLX_MESA_release_buffers(load);
|
load_GLX_MESA_release_buffers(load);
|
||||||
load_GLX_MESA_set_3dfx_mode(load);
|
load_GLX_MESA_set_3dfx_mode(load);
|
||||||
|
load_GLX_MESA_swap_control(load);
|
||||||
load_GLX_NV_copy_buffer(load);
|
load_GLX_NV_copy_buffer(load);
|
||||||
load_GLX_NV_copy_image(load);
|
load_GLX_NV_copy_image(load);
|
||||||
load_GLX_NV_delay_before_swap(load);
|
load_GLX_NV_delay_before_swap(load);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
|
|
||||||
WGL loader generated by glad 0.1.12a0 on Mon Sep 12 03:11:07 2016.
|
WGL loader generated by glad 0.1.33 on Sun Aug 18 11:27:10 2019.
|
||||||
|
|
||||||
Language/Generator: C/C++
|
Language/Generator: C/C++
|
||||||
Specification: wgl
|
Specification: wgl
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
WGL_ARB_buffer_region,
|
WGL_ARB_buffer_region,
|
||||||
WGL_ARB_context_flush_control,
|
WGL_ARB_context_flush_control,
|
||||||
WGL_ARB_create_context,
|
WGL_ARB_create_context,
|
||||||
|
WGL_ARB_create_context_no_error,
|
||||||
WGL_ARB_create_context_profile,
|
WGL_ARB_create_context_profile,
|
||||||
WGL_ARB_create_context_robustness,
|
WGL_ARB_create_context_robustness,
|
||||||
WGL_ARB_extensions_string,
|
WGL_ARB_extensions_string,
|
||||||
|
|
@ -26,6 +27,8 @@
|
||||||
WGL_ARB_robustness_application_isolation,
|
WGL_ARB_robustness_application_isolation,
|
||||||
WGL_ARB_robustness_share_group_isolation,
|
WGL_ARB_robustness_share_group_isolation,
|
||||||
WGL_ATI_pixel_format_float,
|
WGL_ATI_pixel_format_float,
|
||||||
|
WGL_ATI_render_texture_rectangle,
|
||||||
|
WGL_EXT_colorspace,
|
||||||
WGL_EXT_create_context_es2_profile,
|
WGL_EXT_create_context_es2_profile,
|
||||||
WGL_EXT_create_context_es_profile,
|
WGL_EXT_create_context_es_profile,
|
||||||
WGL_EXT_depth_float,
|
WGL_EXT_depth_float,
|
||||||
|
|
@ -51,6 +54,7 @@
|
||||||
WGL_NV_delay_before_swap,
|
WGL_NV_delay_before_swap,
|
||||||
WGL_NV_float_buffer,
|
WGL_NV_float_buffer,
|
||||||
WGL_NV_gpu_affinity,
|
WGL_NV_gpu_affinity,
|
||||||
|
WGL_NV_multigpu_context,
|
||||||
WGL_NV_multisample_coverage,
|
WGL_NV_multisample_coverage,
|
||||||
WGL_NV_present_video,
|
WGL_NV_present_video,
|
||||||
WGL_NV_render_depth_texture,
|
WGL_NV_render_depth_texture,
|
||||||
|
|
@ -63,11 +67,12 @@
|
||||||
Loader: True
|
Loader: True
|
||||||
Local files: False
|
Local files: False
|
||||||
Omit khrplatform: False
|
Omit khrplatform: False
|
||||||
|
Reproducible: False
|
||||||
|
|
||||||
Commandline:
|
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_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_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_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"
|
--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:
|
Online:
|
||||||
http://glad.dav1d.de/#language=c&specification=wgl&loader=on&api=wgl%3D1.0&extensions=WGL_3DFX_multisample&extensions=WGL_3DL_stereo_control&extensions=WGL_AMD_gpu_association&extensions=WGL_ARB_buffer_region&extensions=WGL_ARB_context_flush_control&extensions=WGL_ARB_create_context&extensions=WGL_ARB_create_context_profile&extensions=WGL_ARB_create_context_robustness&extensions=WGL_ARB_extensions_string&extensions=WGL_ARB_framebuffer_sRGB&extensions=WGL_ARB_make_current_read&extensions=WGL_ARB_multisample&extensions=WGL_ARB_pbuffer&extensions=WGL_ARB_pixel_format&extensions=WGL_ARB_pixel_format_float&extensions=WGL_ARB_render_texture&extensions=WGL_ARB_robustness_application_isolation&extensions=WGL_ARB_robustness_share_group_isolation&extensions=WGL_ATI_pixel_format_float&extensions=WGL_EXT_create_context_es2_profile&extensions=WGL_EXT_create_context_es_profile&extensions=WGL_EXT_depth_float&extensions=WGL_EXT_display_color_table&extensions=WGL_EXT_extensions_string&extensions=WGL_EXT_framebuffer_sRGB&extensions=WGL_EXT_make_current_read&extensions=WGL_EXT_multisample&extensions=WGL_EXT_pbuffer&extensions=WGL_EXT_pixel_format&extensions=WGL_EXT_pixel_format_packed_float&extensions=WGL_EXT_swap_control&extensions=WGL_EXT_swap_control_tear&extensions=WGL_I3D_digital_video_control&extensions=WGL_I3D_gamma&extensions=WGL_I3D_genlock&extensions=WGL_I3D_image_buffer&extensions=WGL_I3D_swap_frame_lock&extensions=WGL_I3D_swap_frame_usage&extensions=WGL_NV_DX_interop&extensions=WGL_NV_DX_interop2&extensions=WGL_NV_copy_image&extensions=WGL_NV_delay_before_swap&extensions=WGL_NV_float_buffer&extensions=WGL_NV_gpu_affinity&extensions=WGL_NV_multisample_coverage&extensions=WGL_NV_present_video&extensions=WGL_NV_render_depth_texture&extensions=WGL_NV_render_texture_rectangle&extensions=WGL_NV_swap_group&extensions=WGL_NV_vertex_array_range&extensions=WGL_NV_video_capture&extensions=WGL_NV_video_output&extensions=WGL_OML_sync_control
|
Too many extensions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
@ -77,21 +82,44 @@
|
||||||
|
|
||||||
static void* get_proc(const char *namez);
|
static void* get_proc(const char *namez);
|
||||||
|
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||||
|
#ifndef _WINDOWS_
|
||||||
|
#undef APIENTRY
|
||||||
|
#endif
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
static HMODULE libGL;
|
static HMODULE libGL;
|
||||||
|
|
||||||
typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
|
typedef void* (APIENTRYP PFNWGLGETPROCADDRESSPROC_PRIVATE)(const char*);
|
||||||
PFNWGLGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
|
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
|
static
|
||||||
int open_gl(void) {
|
int open_gl(void) {
|
||||||
|
#ifndef IS_UWP
|
||||||
libGL = LoadLibraryW(L"opengl32.dll");
|
libGL = LoadLibraryW(L"opengl32.dll");
|
||||||
if(libGL != NULL) {
|
if(libGL != NULL) {
|
||||||
gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress(
|
void (* tmp)(void);
|
||||||
libGL, "wglGetProcAddress");
|
tmp = (void(*)(void)) GetProcAddress(libGL, "wglGetProcAddress");
|
||||||
|
gladGetProcAddressPtr = (PFNWGLGETPROCADDRESSPROC_PRIVATE) tmp;
|
||||||
return gladGetProcAddressPtr != NULL;
|
return gladGetProcAddressPtr != NULL;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -99,7 +127,7 @@ int open_gl(void) {
|
||||||
static
|
static
|
||||||
void close_gl(void) {
|
void close_gl(void) {
|
||||||
if(libGL != NULL) {
|
if(libGL != NULL) {
|
||||||
FreeLibrary(libGL);
|
FreeLibrary((HMODULE) libGL);
|
||||||
libGL = NULL;
|
libGL = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -107,9 +135,9 @@ void close_gl(void) {
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
static void* libGL;
|
static void* libGL;
|
||||||
|
|
||||||
#ifndef __APPLE__
|
#if !defined(__APPLE__) && !defined(__HAIKU__)
|
||||||
typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
|
typedef void* (APIENTRYP PFNGLXGETPROCADDRESSPROC_PRIVATE)(const char*);
|
||||||
PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
|
static PFNGLXGETPROCADDRESSPROC_PRIVATE gladGetProcAddressPtr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static
|
static
|
||||||
|
|
@ -130,7 +158,7 @@ int open_gl(void) {
|
||||||
libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
|
libGL = dlopen(NAMES[index], RTLD_NOW | RTLD_GLOBAL);
|
||||||
|
|
||||||
if(libGL != NULL) {
|
if(libGL != NULL) {
|
||||||
#ifdef __APPLE__
|
#if defined(__APPLE__) || defined(__HAIKU__)
|
||||||
return 1;
|
return 1;
|
||||||
#else
|
#else
|
||||||
gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
|
gladGetProcAddressPtr = (PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL,
|
||||||
|
|
@ -144,7 +172,7 @@ int open_gl(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
void close_gl() {
|
void close_gl(void) {
|
||||||
if(libGL != NULL) {
|
if(libGL != NULL) {
|
||||||
dlclose(libGL);
|
dlclose(libGL);
|
||||||
libGL = NULL;
|
libGL = NULL;
|
||||||
|
|
@ -157,14 +185,14 @@ void* get_proc(const char *namez) {
|
||||||
void* result = NULL;
|
void* result = NULL;
|
||||||
if(libGL == NULL) return NULL;
|
if(libGL == NULL) return NULL;
|
||||||
|
|
||||||
#ifndef __APPLE__
|
#if !defined(__APPLE__) && !defined(__HAIKU__)
|
||||||
if(gladGetProcAddressPtr != NULL) {
|
if(gladGetProcAddressPtr != NULL) {
|
||||||
result = gladGetProcAddressPtr(namez);
|
result = gladGetProcAddressPtr(namez);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if(result == NULL) {
|
if(result == NULL) {
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||||
result = (void*)GetProcAddress(libGL, namez);
|
result = (void*)GetProcAddress((HMODULE) libGL, namez);
|
||||||
#else
|
#else
|
||||||
result = dlsym(libGL, namez);
|
result = dlsym(libGL, namez);
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -226,179 +254,183 @@ static int has_ext(const char *ext) {
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int GLAD_WGL_VERSION_1_0;
|
int GLAD_WGL_VERSION_1_0 = 0;
|
||||||
int GLAD_WGL_NV_multisample_coverage;
|
int GLAD_WGL_3DFX_multisample = 0;
|
||||||
int GLAD_WGL_I3D_image_buffer;
|
int GLAD_WGL_3DL_stereo_control = 0;
|
||||||
int GLAD_WGL_I3D_swap_frame_usage;
|
int GLAD_WGL_AMD_gpu_association = 0;
|
||||||
int GLAD_WGL_NV_DX_interop2;
|
int GLAD_WGL_ARB_buffer_region = 0;
|
||||||
int GLAD_WGL_OML_sync_control;
|
int GLAD_WGL_ARB_context_flush_control = 0;
|
||||||
int GLAD_WGL_NV_float_buffer;
|
int GLAD_WGL_ARB_create_context = 0;
|
||||||
int GLAD_WGL_NV_delay_before_swap;
|
int GLAD_WGL_ARB_create_context_no_error = 0;
|
||||||
int GLAD_WGL_NV_video_capture;
|
int GLAD_WGL_ARB_create_context_profile = 0;
|
||||||
int GLAD_WGL_ARB_pixel_format_float;
|
int GLAD_WGL_ARB_create_context_robustness = 0;
|
||||||
int GLAD_WGL_ARB_create_context_profile;
|
int GLAD_WGL_ARB_extensions_string = 0;
|
||||||
int GLAD_WGL_NV_swap_group;
|
int GLAD_WGL_ARB_framebuffer_sRGB = 0;
|
||||||
int GLAD_WGL_NV_gpu_affinity;
|
int GLAD_WGL_ARB_make_current_read = 0;
|
||||||
int GLAD_WGL_EXT_pixel_format;
|
int GLAD_WGL_ARB_multisample = 0;
|
||||||
int GLAD_WGL_ARB_extensions_string;
|
int GLAD_WGL_ARB_pbuffer = 0;
|
||||||
int GLAD_WGL_NV_render_texture_rectangle;
|
int GLAD_WGL_ARB_pixel_format = 0;
|
||||||
int GLAD_WGL_EXT_create_context_es_profile;
|
int GLAD_WGL_ARB_pixel_format_float = 0;
|
||||||
int GLAD_WGL_ARB_robustness_share_group_isolation;
|
int GLAD_WGL_ARB_render_texture = 0;
|
||||||
int GLAD_WGL_ARB_create_context_robustness;
|
int GLAD_WGL_ARB_robustness_application_isolation = 0;
|
||||||
int GLAD_WGL_EXT_depth_float;
|
int GLAD_WGL_ARB_robustness_share_group_isolation = 0;
|
||||||
int GLAD_WGL_EXT_swap_control_tear;
|
int GLAD_WGL_ATI_pixel_format_float = 0;
|
||||||
int GLAD_WGL_ARB_context_flush_control;
|
int GLAD_WGL_ATI_render_texture_rectangle = 0;
|
||||||
int GLAD_WGL_ARB_pixel_format;
|
int GLAD_WGL_EXT_colorspace = 0;
|
||||||
int GLAD_WGL_ARB_multisample;
|
int GLAD_WGL_EXT_create_context_es2_profile = 0;
|
||||||
int GLAD_WGL_I3D_genlock;
|
int GLAD_WGL_EXT_create_context_es_profile = 0;
|
||||||
int GLAD_WGL_NV_vertex_array_range;
|
int GLAD_WGL_EXT_depth_float = 0;
|
||||||
int GLAD_WGL_3DL_stereo_control;
|
int GLAD_WGL_EXT_display_color_table = 0;
|
||||||
int GLAD_WGL_EXT_pbuffer;
|
int GLAD_WGL_EXT_extensions_string = 0;
|
||||||
int GLAD_WGL_EXT_display_color_table;
|
int GLAD_WGL_EXT_framebuffer_sRGB = 0;
|
||||||
int GLAD_WGL_NV_video_output;
|
int GLAD_WGL_EXT_make_current_read = 0;
|
||||||
int GLAD_WGL_ARB_robustness_application_isolation;
|
int GLAD_WGL_EXT_multisample = 0;
|
||||||
int GLAD_WGL_3DFX_multisample;
|
int GLAD_WGL_EXT_pbuffer = 0;
|
||||||
int GLAD_WGL_I3D_gamma;
|
int GLAD_WGL_EXT_pixel_format = 0;
|
||||||
int GLAD_WGL_ARB_framebuffer_sRGB;
|
int GLAD_WGL_EXT_pixel_format_packed_float = 0;
|
||||||
int GLAD_WGL_NV_copy_image;
|
int GLAD_WGL_EXT_swap_control = 0;
|
||||||
int GLAD_WGL_EXT_framebuffer_sRGB;
|
int GLAD_WGL_EXT_swap_control_tear = 0;
|
||||||
int GLAD_WGL_NV_present_video;
|
int GLAD_WGL_I3D_digital_video_control = 0;
|
||||||
int GLAD_WGL_EXT_create_context_es2_profile;
|
int GLAD_WGL_I3D_gamma = 0;
|
||||||
int GLAD_WGL_ARB_render_texture;
|
int GLAD_WGL_I3D_genlock = 0;
|
||||||
int GLAD_WGL_ARB_make_current_read;
|
int GLAD_WGL_I3D_image_buffer = 0;
|
||||||
int GLAD_WGL_EXT_multisample;
|
int GLAD_WGL_I3D_swap_frame_lock = 0;
|
||||||
int GLAD_WGL_ARB_create_context;
|
int GLAD_WGL_I3D_swap_frame_usage = 0;
|
||||||
int GLAD_WGL_EXT_extensions_string;
|
int GLAD_WGL_NV_DX_interop = 0;
|
||||||
int GLAD_WGL_NV_render_depth_texture;
|
int GLAD_WGL_NV_DX_interop2 = 0;
|
||||||
int GLAD_WGL_ATI_pixel_format_float;
|
int GLAD_WGL_NV_copy_image = 0;
|
||||||
int GLAD_WGL_EXT_swap_control;
|
int GLAD_WGL_NV_delay_before_swap = 0;
|
||||||
int GLAD_WGL_I3D_digital_video_control;
|
int GLAD_WGL_NV_float_buffer = 0;
|
||||||
int GLAD_WGL_ARB_pbuffer;
|
int GLAD_WGL_NV_gpu_affinity = 0;
|
||||||
int GLAD_WGL_NV_DX_interop;
|
int GLAD_WGL_NV_multigpu_context = 0;
|
||||||
int GLAD_WGL_AMD_gpu_association;
|
int GLAD_WGL_NV_multisample_coverage = 0;
|
||||||
int GLAD_WGL_EXT_pixel_format_packed_float;
|
int GLAD_WGL_NV_present_video = 0;
|
||||||
int GLAD_WGL_EXT_make_current_read;
|
int GLAD_WGL_NV_render_depth_texture = 0;
|
||||||
int GLAD_WGL_I3D_swap_frame_lock;
|
int GLAD_WGL_NV_render_texture_rectangle = 0;
|
||||||
int GLAD_WGL_ARB_buffer_region;
|
int GLAD_WGL_NV_swap_group = 0;
|
||||||
PFNWGLSETSTEREOEMITTERSTATE3DLPROC glad_wglSetStereoEmitterState3DL;
|
int GLAD_WGL_NV_vertex_array_range = 0;
|
||||||
PFNWGLGETGPUIDSAMDPROC glad_wglGetGPUIDsAMD;
|
int GLAD_WGL_NV_video_capture = 0;
|
||||||
PFNWGLGETGPUINFOAMDPROC glad_wglGetGPUInfoAMD;
|
int GLAD_WGL_NV_video_output = 0;
|
||||||
PFNWGLGETCONTEXTGPUIDAMDPROC glad_wglGetContextGPUIDAMD;
|
int GLAD_WGL_OML_sync_control = 0;
|
||||||
PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC glad_wglCreateAssociatedContextAMD;
|
PFNWGLSETSTEREOEMITTERSTATE3DLPROC glad_wglSetStereoEmitterState3DL = NULL;
|
||||||
PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_wglCreateAssociatedContextAttribsAMD;
|
PFNWGLGETGPUIDSAMDPROC glad_wglGetGPUIDsAMD = NULL;
|
||||||
PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC glad_wglDeleteAssociatedContextAMD;
|
PFNWGLGETGPUINFOAMDPROC glad_wglGetGPUInfoAMD = NULL;
|
||||||
PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_wglMakeAssociatedContextCurrentAMD;
|
PFNWGLGETCONTEXTGPUIDAMDPROC glad_wglGetContextGPUIDAMD = NULL;
|
||||||
PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_wglGetCurrentAssociatedContextAMD;
|
PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC glad_wglCreateAssociatedContextAMD = NULL;
|
||||||
PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC glad_wglBlitContextFramebufferAMD;
|
PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC glad_wglCreateAssociatedContextAttribsAMD = NULL;
|
||||||
PFNWGLCREATEBUFFERREGIONARBPROC glad_wglCreateBufferRegionARB;
|
PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC glad_wglDeleteAssociatedContextAMD = NULL;
|
||||||
PFNWGLDELETEBUFFERREGIONARBPROC glad_wglDeleteBufferRegionARB;
|
PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC glad_wglMakeAssociatedContextCurrentAMD = NULL;
|
||||||
PFNWGLSAVEBUFFERREGIONARBPROC glad_wglSaveBufferRegionARB;
|
PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC glad_wglGetCurrentAssociatedContextAMD = NULL;
|
||||||
PFNWGLRESTOREBUFFERREGIONARBPROC glad_wglRestoreBufferRegionARB;
|
PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC glad_wglBlitContextFramebufferAMD = NULL;
|
||||||
PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB;
|
PFNWGLCREATEBUFFERREGIONARBPROC glad_wglCreateBufferRegionARB = NULL;
|
||||||
PFNWGLGETEXTENSIONSSTRINGARBPROC glad_wglGetExtensionsStringARB;
|
PFNWGLDELETEBUFFERREGIONARBPROC glad_wglDeleteBufferRegionARB = NULL;
|
||||||
PFNWGLMAKECONTEXTCURRENTARBPROC glad_wglMakeContextCurrentARB;
|
PFNWGLSAVEBUFFERREGIONARBPROC glad_wglSaveBufferRegionARB = NULL;
|
||||||
PFNWGLGETCURRENTREADDCARBPROC glad_wglGetCurrentReadDCARB;
|
PFNWGLRESTOREBUFFERREGIONARBPROC glad_wglRestoreBufferRegionARB = NULL;
|
||||||
PFNWGLCREATEPBUFFERARBPROC glad_wglCreatePbufferARB;
|
PFNWGLCREATECONTEXTATTRIBSARBPROC glad_wglCreateContextAttribsARB = NULL;
|
||||||
PFNWGLGETPBUFFERDCARBPROC glad_wglGetPbufferDCARB;
|
PFNWGLGETEXTENSIONSSTRINGARBPROC glad_wglGetExtensionsStringARB = NULL;
|
||||||
PFNWGLRELEASEPBUFFERDCARBPROC glad_wglReleasePbufferDCARB;
|
PFNWGLMAKECONTEXTCURRENTARBPROC glad_wglMakeContextCurrentARB = NULL;
|
||||||
PFNWGLDESTROYPBUFFERARBPROC glad_wglDestroyPbufferARB;
|
PFNWGLGETCURRENTREADDCARBPROC glad_wglGetCurrentReadDCARB = NULL;
|
||||||
PFNWGLQUERYPBUFFERARBPROC glad_wglQueryPbufferARB;
|
PFNWGLCREATEPBUFFERARBPROC glad_wglCreatePbufferARB = NULL;
|
||||||
PFNWGLGETPIXELFORMATATTRIBIVARBPROC glad_wglGetPixelFormatAttribivARB;
|
PFNWGLGETPBUFFERDCARBPROC glad_wglGetPbufferDCARB = NULL;
|
||||||
PFNWGLGETPIXELFORMATATTRIBFVARBPROC glad_wglGetPixelFormatAttribfvARB;
|
PFNWGLRELEASEPBUFFERDCARBPROC glad_wglReleasePbufferDCARB = NULL;
|
||||||
PFNWGLCHOOSEPIXELFORMATARBPROC glad_wglChoosePixelFormatARB;
|
PFNWGLDESTROYPBUFFERARBPROC glad_wglDestroyPbufferARB = NULL;
|
||||||
PFNWGLBINDTEXIMAGEARBPROC glad_wglBindTexImageARB;
|
PFNWGLQUERYPBUFFERARBPROC glad_wglQueryPbufferARB = NULL;
|
||||||
PFNWGLRELEASETEXIMAGEARBPROC glad_wglReleaseTexImageARB;
|
PFNWGLGETPIXELFORMATATTRIBIVARBPROC glad_wglGetPixelFormatAttribivARB = NULL;
|
||||||
PFNWGLSETPBUFFERATTRIBARBPROC glad_wglSetPbufferAttribARB;
|
PFNWGLGETPIXELFORMATATTRIBFVARBPROC glad_wglGetPixelFormatAttribfvARB = NULL;
|
||||||
PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC glad_wglCreateDisplayColorTableEXT;
|
PFNWGLCHOOSEPIXELFORMATARBPROC glad_wglChoosePixelFormatARB = NULL;
|
||||||
PFNWGLLOADDISPLAYCOLORTABLEEXTPROC glad_wglLoadDisplayColorTableEXT;
|
PFNWGLBINDTEXIMAGEARBPROC glad_wglBindTexImageARB = NULL;
|
||||||
PFNWGLBINDDISPLAYCOLORTABLEEXTPROC glad_wglBindDisplayColorTableEXT;
|
PFNWGLRELEASETEXIMAGEARBPROC glad_wglReleaseTexImageARB = NULL;
|
||||||
PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC glad_wglDestroyDisplayColorTableEXT;
|
PFNWGLSETPBUFFERATTRIBARBPROC glad_wglSetPbufferAttribARB = NULL;
|
||||||
PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT;
|
PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC glad_wglCreateDisplayColorTableEXT = NULL;
|
||||||
PFNWGLMAKECONTEXTCURRENTEXTPROC glad_wglMakeContextCurrentEXT;
|
PFNWGLLOADDISPLAYCOLORTABLEEXTPROC glad_wglLoadDisplayColorTableEXT = NULL;
|
||||||
PFNWGLGETCURRENTREADDCEXTPROC glad_wglGetCurrentReadDCEXT;
|
PFNWGLBINDDISPLAYCOLORTABLEEXTPROC glad_wglBindDisplayColorTableEXT = NULL;
|
||||||
PFNWGLCREATEPBUFFEREXTPROC glad_wglCreatePbufferEXT;
|
PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC glad_wglDestroyDisplayColorTableEXT = NULL;
|
||||||
PFNWGLGETPBUFFERDCEXTPROC glad_wglGetPbufferDCEXT;
|
PFNWGLGETEXTENSIONSSTRINGEXTPROC glad_wglGetExtensionsStringEXT = NULL;
|
||||||
PFNWGLRELEASEPBUFFERDCEXTPROC glad_wglReleasePbufferDCEXT;
|
PFNWGLMAKECONTEXTCURRENTEXTPROC glad_wglMakeContextCurrentEXT = NULL;
|
||||||
PFNWGLDESTROYPBUFFEREXTPROC glad_wglDestroyPbufferEXT;
|
PFNWGLGETCURRENTREADDCEXTPROC glad_wglGetCurrentReadDCEXT = NULL;
|
||||||
PFNWGLQUERYPBUFFEREXTPROC glad_wglQueryPbufferEXT;
|
PFNWGLCREATEPBUFFEREXTPROC glad_wglCreatePbufferEXT = NULL;
|
||||||
PFNWGLGETPIXELFORMATATTRIBIVEXTPROC glad_wglGetPixelFormatAttribivEXT;
|
PFNWGLGETPBUFFERDCEXTPROC glad_wglGetPbufferDCEXT = NULL;
|
||||||
PFNWGLGETPIXELFORMATATTRIBFVEXTPROC glad_wglGetPixelFormatAttribfvEXT;
|
PFNWGLRELEASEPBUFFERDCEXTPROC glad_wglReleasePbufferDCEXT = NULL;
|
||||||
PFNWGLCHOOSEPIXELFORMATEXTPROC glad_wglChoosePixelFormatEXT;
|
PFNWGLDESTROYPBUFFEREXTPROC glad_wglDestroyPbufferEXT = NULL;
|
||||||
PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT;
|
PFNWGLQUERYPBUFFEREXTPROC glad_wglQueryPbufferEXT = NULL;
|
||||||
PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT;
|
PFNWGLGETPIXELFORMATATTRIBIVEXTPROC glad_wglGetPixelFormatAttribivEXT = NULL;
|
||||||
PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC glad_wglGetDigitalVideoParametersI3D;
|
PFNWGLGETPIXELFORMATATTRIBFVEXTPROC glad_wglGetPixelFormatAttribfvEXT = NULL;
|
||||||
PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC glad_wglSetDigitalVideoParametersI3D;
|
PFNWGLCHOOSEPIXELFORMATEXTPROC glad_wglChoosePixelFormatEXT = NULL;
|
||||||
PFNWGLGETGAMMATABLEPARAMETERSI3DPROC glad_wglGetGammaTableParametersI3D;
|
PFNWGLSWAPINTERVALEXTPROC glad_wglSwapIntervalEXT = NULL;
|
||||||
PFNWGLSETGAMMATABLEPARAMETERSI3DPROC glad_wglSetGammaTableParametersI3D;
|
PFNWGLGETSWAPINTERVALEXTPROC glad_wglGetSwapIntervalEXT = NULL;
|
||||||
PFNWGLGETGAMMATABLEI3DPROC glad_wglGetGammaTableI3D;
|
PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC glad_wglGetDigitalVideoParametersI3D = NULL;
|
||||||
PFNWGLSETGAMMATABLEI3DPROC glad_wglSetGammaTableI3D;
|
PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC glad_wglSetDigitalVideoParametersI3D = NULL;
|
||||||
PFNWGLENABLEGENLOCKI3DPROC glad_wglEnableGenlockI3D;
|
PFNWGLGETGAMMATABLEPARAMETERSI3DPROC glad_wglGetGammaTableParametersI3D = NULL;
|
||||||
PFNWGLDISABLEGENLOCKI3DPROC glad_wglDisableGenlockI3D;
|
PFNWGLSETGAMMATABLEPARAMETERSI3DPROC glad_wglSetGammaTableParametersI3D = NULL;
|
||||||
PFNWGLISENABLEDGENLOCKI3DPROC glad_wglIsEnabledGenlockI3D;
|
PFNWGLGETGAMMATABLEI3DPROC glad_wglGetGammaTableI3D = NULL;
|
||||||
PFNWGLGENLOCKSOURCEI3DPROC glad_wglGenlockSourceI3D;
|
PFNWGLSETGAMMATABLEI3DPROC glad_wglSetGammaTableI3D = NULL;
|
||||||
PFNWGLGETGENLOCKSOURCEI3DPROC glad_wglGetGenlockSourceI3D;
|
PFNWGLENABLEGENLOCKI3DPROC glad_wglEnableGenlockI3D = NULL;
|
||||||
PFNWGLGENLOCKSOURCEEDGEI3DPROC glad_wglGenlockSourceEdgeI3D;
|
PFNWGLDISABLEGENLOCKI3DPROC glad_wglDisableGenlockI3D = NULL;
|
||||||
PFNWGLGETGENLOCKSOURCEEDGEI3DPROC glad_wglGetGenlockSourceEdgeI3D;
|
PFNWGLISENABLEDGENLOCKI3DPROC glad_wglIsEnabledGenlockI3D = NULL;
|
||||||
PFNWGLGENLOCKSAMPLERATEI3DPROC glad_wglGenlockSampleRateI3D;
|
PFNWGLGENLOCKSOURCEI3DPROC glad_wglGenlockSourceI3D = NULL;
|
||||||
PFNWGLGETGENLOCKSAMPLERATEI3DPROC glad_wglGetGenlockSampleRateI3D;
|
PFNWGLGETGENLOCKSOURCEI3DPROC glad_wglGetGenlockSourceI3D = NULL;
|
||||||
PFNWGLGENLOCKSOURCEDELAYI3DPROC glad_wglGenlockSourceDelayI3D;
|
PFNWGLGENLOCKSOURCEEDGEI3DPROC glad_wglGenlockSourceEdgeI3D = NULL;
|
||||||
PFNWGLGETGENLOCKSOURCEDELAYI3DPROC glad_wglGetGenlockSourceDelayI3D;
|
PFNWGLGETGENLOCKSOURCEEDGEI3DPROC glad_wglGetGenlockSourceEdgeI3D = NULL;
|
||||||
PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC glad_wglQueryGenlockMaxSourceDelayI3D;
|
PFNWGLGENLOCKSAMPLERATEI3DPROC glad_wglGenlockSampleRateI3D = NULL;
|
||||||
PFNWGLCREATEIMAGEBUFFERI3DPROC glad_wglCreateImageBufferI3D;
|
PFNWGLGETGENLOCKSAMPLERATEI3DPROC glad_wglGetGenlockSampleRateI3D = NULL;
|
||||||
PFNWGLDESTROYIMAGEBUFFERI3DPROC glad_wglDestroyImageBufferI3D;
|
PFNWGLGENLOCKSOURCEDELAYI3DPROC glad_wglGenlockSourceDelayI3D = NULL;
|
||||||
PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC glad_wglAssociateImageBufferEventsI3D;
|
PFNWGLGETGENLOCKSOURCEDELAYI3DPROC glad_wglGetGenlockSourceDelayI3D = NULL;
|
||||||
PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC glad_wglReleaseImageBufferEventsI3D;
|
PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC glad_wglQueryGenlockMaxSourceDelayI3D = NULL;
|
||||||
PFNWGLENABLEFRAMELOCKI3DPROC glad_wglEnableFrameLockI3D;
|
PFNWGLCREATEIMAGEBUFFERI3DPROC glad_wglCreateImageBufferI3D = NULL;
|
||||||
PFNWGLDISABLEFRAMELOCKI3DPROC glad_wglDisableFrameLockI3D;
|
PFNWGLDESTROYIMAGEBUFFERI3DPROC glad_wglDestroyImageBufferI3D = NULL;
|
||||||
PFNWGLISENABLEDFRAMELOCKI3DPROC glad_wglIsEnabledFrameLockI3D;
|
PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC glad_wglAssociateImageBufferEventsI3D = NULL;
|
||||||
PFNWGLQUERYFRAMELOCKMASTERI3DPROC glad_wglQueryFrameLockMasterI3D;
|
PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC glad_wglReleaseImageBufferEventsI3D = NULL;
|
||||||
PFNWGLGETFRAMEUSAGEI3DPROC glad_wglGetFrameUsageI3D;
|
PFNWGLENABLEFRAMELOCKI3DPROC glad_wglEnableFrameLockI3D = NULL;
|
||||||
PFNWGLBEGINFRAMETRACKINGI3DPROC glad_wglBeginFrameTrackingI3D;
|
PFNWGLDISABLEFRAMELOCKI3DPROC glad_wglDisableFrameLockI3D = NULL;
|
||||||
PFNWGLENDFRAMETRACKINGI3DPROC glad_wglEndFrameTrackingI3D;
|
PFNWGLISENABLEDFRAMELOCKI3DPROC glad_wglIsEnabledFrameLockI3D = NULL;
|
||||||
PFNWGLQUERYFRAMETRACKINGI3DPROC glad_wglQueryFrameTrackingI3D;
|
PFNWGLQUERYFRAMELOCKMASTERI3DPROC glad_wglQueryFrameLockMasterI3D = NULL;
|
||||||
PFNWGLDXSETRESOURCESHAREHANDLENVPROC glad_wglDXSetResourceShareHandleNV;
|
PFNWGLGETFRAMEUSAGEI3DPROC glad_wglGetFrameUsageI3D = NULL;
|
||||||
PFNWGLDXOPENDEVICENVPROC glad_wglDXOpenDeviceNV;
|
PFNWGLBEGINFRAMETRACKINGI3DPROC glad_wglBeginFrameTrackingI3D = NULL;
|
||||||
PFNWGLDXCLOSEDEVICENVPROC glad_wglDXCloseDeviceNV;
|
PFNWGLENDFRAMETRACKINGI3DPROC glad_wglEndFrameTrackingI3D = NULL;
|
||||||
PFNWGLDXREGISTEROBJECTNVPROC glad_wglDXRegisterObjectNV;
|
PFNWGLQUERYFRAMETRACKINGI3DPROC glad_wglQueryFrameTrackingI3D = NULL;
|
||||||
PFNWGLDXUNREGISTEROBJECTNVPROC glad_wglDXUnregisterObjectNV;
|
PFNWGLDXSETRESOURCESHAREHANDLENVPROC glad_wglDXSetResourceShareHandleNV = NULL;
|
||||||
PFNWGLDXOBJECTACCESSNVPROC glad_wglDXObjectAccessNV;
|
PFNWGLDXOPENDEVICENVPROC glad_wglDXOpenDeviceNV = NULL;
|
||||||
PFNWGLDXLOCKOBJECTSNVPROC glad_wglDXLockObjectsNV;
|
PFNWGLDXCLOSEDEVICENVPROC glad_wglDXCloseDeviceNV = NULL;
|
||||||
PFNWGLDXUNLOCKOBJECTSNVPROC glad_wglDXUnlockObjectsNV;
|
PFNWGLDXREGISTEROBJECTNVPROC glad_wglDXRegisterObjectNV = NULL;
|
||||||
PFNWGLCOPYIMAGESUBDATANVPROC glad_wglCopyImageSubDataNV;
|
PFNWGLDXUNREGISTEROBJECTNVPROC glad_wglDXUnregisterObjectNV = NULL;
|
||||||
PFNWGLDELAYBEFORESWAPNVPROC glad_wglDelayBeforeSwapNV;
|
PFNWGLDXOBJECTACCESSNVPROC glad_wglDXObjectAccessNV = NULL;
|
||||||
PFNWGLENUMGPUSNVPROC glad_wglEnumGpusNV;
|
PFNWGLDXLOCKOBJECTSNVPROC glad_wglDXLockObjectsNV = NULL;
|
||||||
PFNWGLENUMGPUDEVICESNVPROC glad_wglEnumGpuDevicesNV;
|
PFNWGLDXUNLOCKOBJECTSNVPROC glad_wglDXUnlockObjectsNV = NULL;
|
||||||
PFNWGLCREATEAFFINITYDCNVPROC glad_wglCreateAffinityDCNV;
|
PFNWGLCOPYIMAGESUBDATANVPROC glad_wglCopyImageSubDataNV = NULL;
|
||||||
PFNWGLENUMGPUSFROMAFFINITYDCNVPROC glad_wglEnumGpusFromAffinityDCNV;
|
PFNWGLDELAYBEFORESWAPNVPROC glad_wglDelayBeforeSwapNV = NULL;
|
||||||
PFNWGLDELETEDCNVPROC glad_wglDeleteDCNV;
|
PFNWGLENUMGPUSNVPROC glad_wglEnumGpusNV = NULL;
|
||||||
PFNWGLENUMERATEVIDEODEVICESNVPROC glad_wglEnumerateVideoDevicesNV;
|
PFNWGLENUMGPUDEVICESNVPROC glad_wglEnumGpuDevicesNV = NULL;
|
||||||
PFNWGLBINDVIDEODEVICENVPROC glad_wglBindVideoDeviceNV;
|
PFNWGLCREATEAFFINITYDCNVPROC glad_wglCreateAffinityDCNV = NULL;
|
||||||
PFNWGLQUERYCURRENTCONTEXTNVPROC glad_wglQueryCurrentContextNV;
|
PFNWGLENUMGPUSFROMAFFINITYDCNVPROC glad_wglEnumGpusFromAffinityDCNV = NULL;
|
||||||
PFNWGLJOINSWAPGROUPNVPROC glad_wglJoinSwapGroupNV;
|
PFNWGLDELETEDCNVPROC glad_wglDeleteDCNV = NULL;
|
||||||
PFNWGLBINDSWAPBARRIERNVPROC glad_wglBindSwapBarrierNV;
|
PFNWGLENUMERATEVIDEODEVICESNVPROC glad_wglEnumerateVideoDevicesNV = NULL;
|
||||||
PFNWGLQUERYSWAPGROUPNVPROC glad_wglQuerySwapGroupNV;
|
PFNWGLBINDVIDEODEVICENVPROC glad_wglBindVideoDeviceNV = NULL;
|
||||||
PFNWGLQUERYMAXSWAPGROUPSNVPROC glad_wglQueryMaxSwapGroupsNV;
|
PFNWGLQUERYCURRENTCONTEXTNVPROC glad_wglQueryCurrentContextNV = NULL;
|
||||||
PFNWGLQUERYFRAMECOUNTNVPROC glad_wglQueryFrameCountNV;
|
PFNWGLJOINSWAPGROUPNVPROC glad_wglJoinSwapGroupNV = NULL;
|
||||||
PFNWGLRESETFRAMECOUNTNVPROC glad_wglResetFrameCountNV;
|
PFNWGLBINDSWAPBARRIERNVPROC glad_wglBindSwapBarrierNV = NULL;
|
||||||
PFNWGLALLOCATEMEMORYNVPROC glad_wglAllocateMemoryNV;
|
PFNWGLQUERYSWAPGROUPNVPROC glad_wglQuerySwapGroupNV = NULL;
|
||||||
PFNWGLFREEMEMORYNVPROC glad_wglFreeMemoryNV;
|
PFNWGLQUERYMAXSWAPGROUPSNVPROC glad_wglQueryMaxSwapGroupsNV = NULL;
|
||||||
PFNWGLBINDVIDEOCAPTUREDEVICENVPROC glad_wglBindVideoCaptureDeviceNV;
|
PFNWGLQUERYFRAMECOUNTNVPROC glad_wglQueryFrameCountNV = NULL;
|
||||||
PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_wglEnumerateVideoCaptureDevicesNV;
|
PFNWGLRESETFRAMECOUNTNVPROC glad_wglResetFrameCountNV = NULL;
|
||||||
PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC glad_wglLockVideoCaptureDeviceNV;
|
PFNWGLALLOCATEMEMORYNVPROC glad_wglAllocateMemoryNV = NULL;
|
||||||
PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC glad_wglQueryVideoCaptureDeviceNV;
|
PFNWGLFREEMEMORYNVPROC glad_wglFreeMemoryNV = NULL;
|
||||||
PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC glad_wglReleaseVideoCaptureDeviceNV;
|
PFNWGLBINDVIDEOCAPTUREDEVICENVPROC glad_wglBindVideoCaptureDeviceNV = NULL;
|
||||||
PFNWGLGETVIDEODEVICENVPROC glad_wglGetVideoDeviceNV;
|
PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC glad_wglEnumerateVideoCaptureDevicesNV = NULL;
|
||||||
PFNWGLRELEASEVIDEODEVICENVPROC glad_wglReleaseVideoDeviceNV;
|
PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC glad_wglLockVideoCaptureDeviceNV = NULL;
|
||||||
PFNWGLBINDVIDEOIMAGENVPROC glad_wglBindVideoImageNV;
|
PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC glad_wglQueryVideoCaptureDeviceNV = NULL;
|
||||||
PFNWGLRELEASEVIDEOIMAGENVPROC glad_wglReleaseVideoImageNV;
|
PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC glad_wglReleaseVideoCaptureDeviceNV = NULL;
|
||||||
PFNWGLSENDPBUFFERTOVIDEONVPROC glad_wglSendPbufferToVideoNV;
|
PFNWGLGETVIDEODEVICENVPROC glad_wglGetVideoDeviceNV = NULL;
|
||||||
PFNWGLGETVIDEOINFONVPROC glad_wglGetVideoInfoNV;
|
PFNWGLRELEASEVIDEODEVICENVPROC glad_wglReleaseVideoDeviceNV = NULL;
|
||||||
PFNWGLGETSYNCVALUESOMLPROC glad_wglGetSyncValuesOML;
|
PFNWGLBINDVIDEOIMAGENVPROC glad_wglBindVideoImageNV = NULL;
|
||||||
PFNWGLGETMSCRATEOMLPROC glad_wglGetMscRateOML;
|
PFNWGLRELEASEVIDEOIMAGENVPROC glad_wglReleaseVideoImageNV = NULL;
|
||||||
PFNWGLSWAPBUFFERSMSCOMLPROC glad_wglSwapBuffersMscOML;
|
PFNWGLSENDPBUFFERTOVIDEONVPROC glad_wglSendPbufferToVideoNV = NULL;
|
||||||
PFNWGLSWAPLAYERBUFFERSMSCOMLPROC glad_wglSwapLayerBuffersMscOML;
|
PFNWGLGETVIDEOINFONVPROC glad_wglGetVideoInfoNV = NULL;
|
||||||
PFNWGLWAITFORMSCOMLPROC glad_wglWaitForMscOML;
|
PFNWGLGETSYNCVALUESOMLPROC glad_wglGetSyncValuesOML = NULL;
|
||||||
PFNWGLWAITFORSBCOMLPROC glad_wglWaitForSbcOML;
|
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) {
|
static void load_WGL_3DL_stereo_control(GLADloadproc load) {
|
||||||
if(!GLAD_WGL_3DL_stereo_control) return;
|
if(!GLAD_WGL_3DL_stereo_control) return;
|
||||||
glad_wglSetStereoEmitterState3DL = (PFNWGLSETSTEREOEMITTERSTATE3DLPROC)load("wglSetStereoEmitterState3DL");
|
glad_wglSetStereoEmitterState3DL = (PFNWGLSETSTEREOEMITTERSTATE3DLPROC)load("wglSetStereoEmitterState3DL");
|
||||||
|
|
@ -619,6 +651,7 @@ static int find_extensionsWGL(void) {
|
||||||
GLAD_WGL_ARB_buffer_region = has_ext("WGL_ARB_buffer_region");
|
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_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 = 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_profile = has_ext("WGL_ARB_create_context_profile");
|
||||||
GLAD_WGL_ARB_create_context_robustness = has_ext("WGL_ARB_create_context_robustness");
|
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_extensions_string = has_ext("WGL_ARB_extensions_string");
|
||||||
|
|
@ -632,6 +665,8 @@ static int find_extensionsWGL(void) {
|
||||||
GLAD_WGL_ARB_robustness_application_isolation = has_ext("WGL_ARB_robustness_application_isolation");
|
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_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_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_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_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_depth_float = has_ext("WGL_EXT_depth_float");
|
||||||
|
|
@ -657,6 +692,7 @@ static int find_extensionsWGL(void) {
|
||||||
GLAD_WGL_NV_delay_before_swap = has_ext("WGL_NV_delay_before_swap");
|
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_float_buffer = has_ext("WGL_NV_float_buffer");
|
||||||
GLAD_WGL_NV_gpu_affinity = has_ext("WGL_NV_gpu_affinity");
|
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_multisample_coverage = has_ext("WGL_NV_multisample_coverage");
|
||||||
GLAD_WGL_NV_present_video = has_ext("WGL_NV_present_video");
|
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_depth_texture = has_ext("WGL_NV_render_depth_texture");
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
// IN THE SOFTWARE.
|
// IN THE SOFTWARE.
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "T3D/components/game/InteractableComponent.h"
|
#include "T3D/components/game/interactableComponent.h"
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
// Constructor/Destructor
|
// Constructor/Destructor
|
||||||
|
|
@ -91,4 +91,4 @@ void InteractableComponent::interact(InteractComponent* interactor, RayInfo rayI
|
||||||
if (isMethod("onInteract"))
|
if (isMethod("onInteract"))
|
||||||
Con::executef(this, "onInteract", interactor);
|
Con::executef(this, "onInteract", interactor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
#include "math/mBox.h"
|
#include "math/mBox.h"
|
||||||
#endif
|
#endif
|
||||||
#ifndef _ENTITY_H_
|
#ifndef _ENTITY_H_
|
||||||
#include "T3D/Entity.h"
|
#include "T3D/entity.h"
|
||||||
#endif
|
#endif
|
||||||
#ifndef _CONVEX_H_
|
#ifndef _CONVEX_H_
|
||||||
#include "collision/convex.h"
|
#include "collision/convex.h"
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
#include "T3D/components/camera/cameraComponent.h"
|
#include "T3D/components/camera/cameraComponent.h"
|
||||||
#include "T3D/components/camera/cameraOrbiterComponent.h"
|
#include "T3D/components/camera/cameraOrbiterComponent.h"
|
||||||
#include "T3D/components/game/controlObjectComponent.h"
|
#include "T3D/components/game/controlObjectComponent.h"
|
||||||
#include "T3D/components/audio/soundComponent.h"
|
#include "T3D/components/audio/SoundComponent.h"
|
||||||
#include "T3D/components/game/interactComponent.h"
|
#include "T3D/components/game/interactComponent.h"
|
||||||
|
|
||||||
class PlayerObject : public Entity
|
class PlayerObject : public Entity
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
// IN THE SOFTWARE.
|
// IN THE SOFTWARE.
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "T3D/lighting/Skylight.h"
|
#include "T3D/lighting/skylight.h"
|
||||||
#include "math/mathIO.h"
|
#include "math/mathIO.h"
|
||||||
#include "scene/sceneRenderState.h"
|
#include "scene/sceneRenderState.h"
|
||||||
#include "console/consoleTypes.h"
|
#include "console/consoleTypes.h"
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,7 @@ void GFXD3D11Device::enumerateAdapters(Vector<GFXAdapter*> &adapterList)
|
||||||
toAdd->mAvailableModes.push_back(vmAdd);
|
toAdd->mAvailableModes.push_back(vmAdd);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Check adapater can handle feature level 10
|
//Check adapater can handle feature level 10_!
|
||||||
D3D_FEATURE_LEVEL deviceFeature;
|
D3D_FEATURE_LEVEL deviceFeature;
|
||||||
ID3D11Device *pTmpDevice = nullptr;
|
ID3D11Device *pTmpDevice = nullptr;
|
||||||
// Create temp Direct3D11 device.
|
// Create temp Direct3D11 device.
|
||||||
|
|
@ -328,11 +328,11 @@ void GFXD3D11Device::enumerateAdapters(Vector<GFXAdapter*> &adapterList)
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
suitable = false;
|
suitable = false;
|
||||||
|
|
||||||
if (deviceFeature < D3D_FEATURE_LEVEL_10_0)
|
if (deviceFeature < D3D_FEATURE_LEVEL_10_1)
|
||||||
suitable = false;
|
suitable = false;
|
||||||
|
|
||||||
//double check we support required bgra format for LEVEL_10_0 & LEVEL_10_1
|
//double check we support required bgra format for LEVEL_10_1
|
||||||
if (deviceFeature == D3D_FEATURE_LEVEL_10_0 || deviceFeature == D3D_FEATURE_LEVEL_10_1)
|
if (deviceFeature == D3D_FEATURE_LEVEL_10_1)
|
||||||
{
|
{
|
||||||
U32 formatSupported = 0;
|
U32 formatSupported = 0;
|
||||||
pTmpDevice->CheckFormatSupport(DXGI_FORMAT_B8G8R8A8_UNORM, &formatSupported);
|
pTmpDevice->CheckFormatSupport(DXGI_FORMAT_B8G8R8A8_UNORM, &formatSupported);
|
||||||
|
|
@ -517,12 +517,6 @@ void GFXD3D11Device::init(const GFXVideoMode &mode, PlatformWindow *window)
|
||||||
mPixVersion = 4.1f;
|
mPixVersion = 4.1f;
|
||||||
mShaderModel = "41";
|
mShaderModel = "41";
|
||||||
break;
|
break;
|
||||||
case D3D_FEATURE_LEVEL_10_0:
|
|
||||||
mVertexShaderTarget = "vs_4_0";
|
|
||||||
mPixelShaderTarget = "ps_4_0";
|
|
||||||
mPixVersion = 4.0f;
|
|
||||||
mShaderModel = "40";
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
AssertFatal(false, "GFXD3D11Device::init - We don't support this feature level");
|
AssertFatal(false, "GFXD3D11Device::init - We don't support this feature level");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,20 +55,20 @@ void GFXGLCardProfiler::setupCardCapabilities()
|
||||||
setCapability("GL_ARB_buffer_storage", gglHasExtension(ARB_buffer_storage));
|
setCapability("GL_ARB_buffer_storage", gglHasExtension(ARB_buffer_storage));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Check for shader model 5.0
|
|
||||||
setCapability("GL_ARB_gpu_shader5", gglHasExtension(ARB_gpu_shader5));
|
|
||||||
|
|
||||||
// Check for texture storage
|
// Check for texture storage
|
||||||
setCapability("GL_ARB_texture_storage", gglHasExtension(ARB_texture_storage));
|
setCapability("GL_ARB_texture_storage", gglHasExtension(ARB_texture_storage));
|
||||||
|
|
||||||
// Check for sampler objects
|
|
||||||
setCapability("GL_ARB_sampler_objects", gglHasExtension(ARB_sampler_objects));
|
|
||||||
|
|
||||||
// Check for copy image support
|
// Check for copy image support
|
||||||
setCapability("GL_ARB_copy_image", gglHasExtension(ARB_copy_image));
|
setCapability("GL_ARB_copy_image", gglHasExtension(ARB_copy_image));
|
||||||
|
|
||||||
// Check for vertex attrib binding
|
// Check for vertex attrib binding
|
||||||
setCapability("GL_ARB_vertex_attrib_binding", gglHasExtension(ARB_vertex_attrib_binding));
|
setCapability("GL_ARB_vertex_attrib_binding", gglHasExtension(ARB_vertex_attrib_binding));
|
||||||
|
|
||||||
|
//check for KHR debug
|
||||||
|
setCapability("GL_KHR_debug", gglHasExtension(KHR_debug));
|
||||||
|
|
||||||
|
//check for KHR debug
|
||||||
|
setCapability("GL_EXT_debug_marker", gglHasExtension(EXT_debug_marker));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -132,11 +132,11 @@ void GFXGLDevice::initGLState()
|
||||||
// Set capability extensions.
|
// Set capability extensions.
|
||||||
mCapabilities.anisotropicFiltering = mCardProfiler->queryProfile("GL_EXT_texture_filter_anisotropic");
|
mCapabilities.anisotropicFiltering = mCardProfiler->queryProfile("GL_EXT_texture_filter_anisotropic");
|
||||||
mCapabilities.bufferStorage = mCardProfiler->queryProfile("GL_ARB_buffer_storage");
|
mCapabilities.bufferStorage = mCardProfiler->queryProfile("GL_ARB_buffer_storage");
|
||||||
mCapabilities.shaderModel5 = mCardProfiler->queryProfile("GL_ARB_gpu_shader5");
|
|
||||||
mCapabilities.textureStorage = mCardProfiler->queryProfile("GL_ARB_texture_storage");
|
mCapabilities.textureStorage = mCardProfiler->queryProfile("GL_ARB_texture_storage");
|
||||||
mCapabilities.samplerObjects = mCardProfiler->queryProfile("GL_ARB_sampler_objects");
|
|
||||||
mCapabilities.copyImage = mCardProfiler->queryProfile("GL_ARB_copy_image");
|
mCapabilities.copyImage = mCardProfiler->queryProfile("GL_ARB_copy_image");
|
||||||
mCapabilities.vertexAttributeBinding = mCardProfiler->queryProfile("GL_ARB_vertex_attrib_binding");
|
mCapabilities.vertexAttributeBinding = mCardProfiler->queryProfile("GL_ARB_vertex_attrib_binding");
|
||||||
|
mCapabilities.khrDebug = mCardProfiler->queryProfile("GL_KHR_debug");
|
||||||
|
mCapabilities.extDebugMarker = mCardProfiler->queryProfile("GL_EXT_debug_marker");
|
||||||
|
|
||||||
String vendorStr = (const char*)glGetString( GL_VENDOR );
|
String vendorStr = (const char*)glGetString( GL_VENDOR );
|
||||||
if( vendorStr.find("NVIDIA", 0, String::NoCase | String::Left) != String::NPos)
|
if( vendorStr.find("NVIDIA", 0, String::NoCase | String::Left) != String::NPos)
|
||||||
|
|
@ -686,7 +686,7 @@ void GFXGLDevice::setCubemapArrayInternal(U32 textureUnit, const GFXGLCubemapArr
|
||||||
{
|
{
|
||||||
if (texture)
|
if (texture)
|
||||||
{
|
{
|
||||||
mActiveTextureType[textureUnit] = GL_TEXTURE_CUBE_MAP_ARRAY;
|
mActiveTextureType[textureUnit] = GL_TEXTURE_CUBE_MAP_ARRAY_ARB;
|
||||||
texture->bind(textureUnit);
|
texture->bind(textureUnit);
|
||||||
}
|
}
|
||||||
else if (mActiveTextureType[textureUnit] != GL_ZERO)
|
else if (mActiveTextureType[textureUnit] != GL_ZERO)
|
||||||
|
|
|
||||||
|
|
@ -50,11 +50,11 @@ public:
|
||||||
{
|
{
|
||||||
bool anisotropicFiltering;
|
bool anisotropicFiltering;
|
||||||
bool bufferStorage;
|
bool bufferStorage;
|
||||||
bool shaderModel5;
|
|
||||||
bool textureStorage;
|
bool textureStorage;
|
||||||
bool samplerObjects;
|
|
||||||
bool copyImage;
|
bool copyImage;
|
||||||
bool vertexAttributeBinding;
|
bool vertexAttributeBinding;
|
||||||
|
bool khrDebug;
|
||||||
|
bool extDebugMarker;
|
||||||
};
|
};
|
||||||
GLCapabilities mCapabilities;
|
GLCapabilities mCapabilities;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,15 @@ void GFXGLDevice::enterDebugEvent(ColorI color, const char *name)
|
||||||
#ifdef TORQUE_BASIC_GPU_PROFILER
|
#ifdef TORQUE_BASIC_GPU_PROFILER
|
||||||
gfxProfiler.enterDebugEvent(color, name);
|
gfxProfiler.enterDebugEvent(color, name);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (mCapabilities.khrDebug)
|
||||||
|
{
|
||||||
|
glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, -1, name);
|
||||||
|
}
|
||||||
|
else if(mCapabilities.extDebugMarker)
|
||||||
|
{
|
||||||
|
glPushGroupMarkerEXT(0, name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GFXGLDevice::leaveDebugEvent()
|
void GFXGLDevice::leaveDebugEvent()
|
||||||
|
|
@ -114,11 +123,28 @@ void GFXGLDevice::leaveDebugEvent()
|
||||||
#ifdef TORQUE_BASIC_GPU_PROFILER
|
#ifdef TORQUE_BASIC_GPU_PROFILER
|
||||||
gfxProfiler.leaveDebugEvent();
|
gfxProfiler.leaveDebugEvent();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (mCapabilities.khrDebug)
|
||||||
|
{
|
||||||
|
glPopDebugGroup();
|
||||||
|
}
|
||||||
|
else if(mCapabilities.extDebugMarker)
|
||||||
|
{
|
||||||
|
glPopGroupMarkerEXT();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GFXGLDevice::setDebugMarker(ColorI color, const char *name)
|
void GFXGLDevice::setDebugMarker(ColorI color, const char *name)
|
||||||
{
|
{
|
||||||
|
if (mCapabilities.khrDebug)
|
||||||
|
{
|
||||||
|
glDebugMessageInsert(GL_DEBUG_SOURCE_APPLICATION, GL_DEBUG_TYPE_MARKER, 0,
|
||||||
|
GL_DEBUG_SEVERITY_NOTIFICATION, -1, name);
|
||||||
|
}
|
||||||
|
else if(mCapabilities.extDebugMarker)
|
||||||
|
{
|
||||||
|
glInsertEventMarkerEXT(0, name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TORQUE_BASIC_GPU_PROFILER
|
#ifdef TORQUE_BASIC_GPU_PROFILER
|
||||||
|
|
|
||||||
|
|
@ -626,7 +626,7 @@ void GFXGLShader::initConstantDescs()
|
||||||
case GL_SAMPLER_CUBE:
|
case GL_SAMPLER_CUBE:
|
||||||
desc.constType = GFXSCT_SamplerCube;
|
desc.constType = GFXSCT_SamplerCube;
|
||||||
break;
|
break;
|
||||||
case GL_SAMPLER_CUBE_MAP_ARRAY:
|
case GL_SAMPLER_CUBE_MAP_ARRAY_ARB:
|
||||||
desc.constType = GFXSCT_SamplerCubeArray;
|
desc.constType = GFXSCT_SamplerCubeArray;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -1008,30 +1008,18 @@ bool GFXGLShader::_loadShaderFromStream( GLuint shader,
|
||||||
Vector<U32> lengths;
|
Vector<U32> lengths;
|
||||||
|
|
||||||
// The GLSL version declaration must go first!
|
// The GLSL version declaration must go first!
|
||||||
char* versionDecl = "#version 150\r\n";
|
const char *versionDecl = "#version 330\n";
|
||||||
if (!gglHasExtension(ARB_texture_cube_map_array))
|
buffers.push_back( dStrdup( versionDecl ) );
|
||||||
{
|
lengths.push_back( dStrlen( versionDecl ) );
|
||||||
Con::errorf("ARB_texture_cube_map_array not found. attempting to use 4.0 core");
|
|
||||||
versionDecl = "#version 400\r\n";
|
|
||||||
buffers.push_back(dStrdup(versionDecl));
|
|
||||||
lengths.push_back(dStrlen(versionDecl));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Con::errorf("Attempting to use 3.2 core with ARB_texture_cube_map_array ");
|
|
||||||
buffers.push_back(dStrdup(versionDecl));
|
|
||||||
lengths.push_back(dStrlen(versionDecl));
|
|
||||||
const char* extension = "#extension GL_ARB_texture_cube_map_array : enable\r\n";
|
|
||||||
buffers.push_back(dStrdup(extension));
|
|
||||||
lengths.push_back(dStrlen(extension));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (GFXGL->mCapabilities.shaderModel5)
|
//Required extensions. These are already checked when creating the GFX adapter, if we make it this far it's supported
|
||||||
{
|
const char* cubeArrayExt = "#extension GL_ARB_texture_cube_map_array : enable\n";
|
||||||
const char* extension = "#extension GL_ARB_gpu_shader5 : enable\r\n";
|
buffers.push_back(dStrdup(cubeArrayExt));
|
||||||
buffers.push_back(dStrdup(extension));
|
lengths.push_back(dStrlen(cubeArrayExt));
|
||||||
lengths.push_back(dStrlen(extension));
|
|
||||||
}
|
const char* gpuShader5Ext = "#extension GL_ARB_gpu_shader5 : enable\n";
|
||||||
|
buffers.push_back(dStrdup(gpuShader5Ext));
|
||||||
|
lengths.push_back(dStrlen(gpuShader5Ext));
|
||||||
|
|
||||||
const char* newLine = "\r\n";
|
const char* newLine = "\r\n";
|
||||||
buffers.push_back(dStrdup(newLine));
|
buffers.push_back(dStrdup(newLine));
|
||||||
|
|
|
||||||
|
|
@ -39,9 +39,6 @@ GFXGLStateBlock::GFXGLStateBlock(const GFXStateBlockDesc& desc) :
|
||||||
mDesc(desc),
|
mDesc(desc),
|
||||||
mCachedHashValue(desc.getHashValue())
|
mCachedHashValue(desc.getHashValue())
|
||||||
{
|
{
|
||||||
if( !GFXGL->mCapabilities.samplerObjects )
|
|
||||||
return;
|
|
||||||
|
|
||||||
static Map<GFXSamplerStateDesc, U32> mSamplersMap;
|
static Map<GFXSamplerStateDesc, U32> mSamplersMap;
|
||||||
|
|
||||||
for(int i = 0; i < TEXTURE_STAGE_COUNT; ++i)
|
for(int i = 0; i < TEXTURE_STAGE_COUNT; ++i)
|
||||||
|
|
@ -175,14 +172,10 @@ void GFXGLStateBlock::activate(const GFXGLStateBlock* oldState)
|
||||||
#undef CHECK_TOGGLE_STATE
|
#undef CHECK_TOGGLE_STATE
|
||||||
|
|
||||||
//sampler objects
|
//sampler objects
|
||||||
if( GFXGL->mCapabilities.samplerObjects )
|
for (U32 i = 0; i < getMin(getOwningDevice()->getNumSamplers(), (U32) TEXTURE_STAGE_COUNT); i++)
|
||||||
{
|
{
|
||||||
for (U32 i = 0; i < getMin(getOwningDevice()->getNumSamplers(), (U32) TEXTURE_STAGE_COUNT); i++)
|
if(!oldState || oldState->mSamplerObjects[i] != mSamplerObjects[i])
|
||||||
{
|
glBindSampler(i, mSamplerObjects[i] );
|
||||||
if(!oldState || oldState->mSamplerObjects[i] != mSamplerObjects[i])
|
}
|
||||||
glBindSampler(i, mSamplerObjects[i] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: states added for detail blend
|
// TODO: states added for detail blend
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -216,37 +216,6 @@ void GFXGLTextureObject::bind(U32 textureUnit)
|
||||||
glActiveTexture(GL_TEXTURE0 + textureUnit);
|
glActiveTexture(GL_TEXTURE0 + textureUnit);
|
||||||
glBindTexture(mBinding, mHandle);
|
glBindTexture(mBinding, mHandle);
|
||||||
GFXGL->getOpenglCache()->setCacheBindedTex(textureUnit, mBinding, mHandle);
|
GFXGL->getOpenglCache()->setCacheBindedTex(textureUnit, mBinding, mHandle);
|
||||||
|
|
||||||
if(GFXGL->mCapabilities.samplerObjects)
|
|
||||||
return;
|
|
||||||
|
|
||||||
GFXGLStateBlockRef sb = mGLDevice->getCurrentStateBlock();
|
|
||||||
AssertFatal(sb, "GFXGLTextureObject::bind - No active stateblock!");
|
|
||||||
if (!sb)
|
|
||||||
return;
|
|
||||||
|
|
||||||
const GFXSamplerStateDesc ssd = sb->getDesc().samplers[textureUnit];
|
|
||||||
|
|
||||||
if(mNeedInitSamplerState)
|
|
||||||
{
|
|
||||||
initSamplerState(ssd);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(mSampler.minFilter != ssd.minFilter || mSampler.mipFilter != ssd.mipFilter)
|
|
||||||
glTexParameteri(mBinding, GL_TEXTURE_MIN_FILTER, minificationFilter(ssd.minFilter, ssd.mipFilter, mMipLevels));
|
|
||||||
if(mSampler.magFilter != ssd.magFilter)
|
|
||||||
glTexParameteri(mBinding, GL_TEXTURE_MAG_FILTER, GFXGLTextureFilter[ssd.magFilter]);
|
|
||||||
if(mSampler.addressModeU != ssd.addressModeU)
|
|
||||||
glTexParameteri(mBinding, GL_TEXTURE_WRAP_S, !mIsNPoT2 ? GFXGLTextureAddress[ssd.addressModeU] : GL_CLAMP_TO_EDGE);
|
|
||||||
if(mSampler.addressModeV != ssd.addressModeV)
|
|
||||||
glTexParameteri(mBinding, GL_TEXTURE_WRAP_T, !mIsNPoT2 ? GFXGLTextureAddress[ssd.addressModeV] : GL_CLAMP_TO_EDGE);
|
|
||||||
if(mBinding == GL_TEXTURE_3D && mSampler.addressModeW != ssd.addressModeW )
|
|
||||||
glTexParameteri(mBinding, GL_TEXTURE_WRAP_R, GFXGLTextureAddress[ssd.addressModeW]);
|
|
||||||
if(mSampler.maxAnisotropy != ssd.maxAnisotropy && static_cast< GFXGLDevice* >( GFX )->supportsAnisotropic() )
|
|
||||||
glTexParameterf(mBinding, GL_TEXTURE_MAX_ANISOTROPY_EXT, ssd.maxAnisotropy);
|
|
||||||
|
|
||||||
mSampler = ssd;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
U8* GFXGLTextureObject::getTextureData( U32 mip )
|
U8* GFXGLTextureObject::getTextureData( U32 mip )
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ void GFXGLDevice::enumerateAdapters( Vector<GFXAdapter*> &adapterList )
|
||||||
|
|
||||||
SDL_ClearError();
|
SDL_ClearError();
|
||||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
|
||||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
|
||||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
||||||
SDL_GL_SetAttribute(SDL_GL_FRAMEBUFFER_SRGB_CAPABLE, 1);
|
SDL_GL_SetAttribute(SDL_GL_FRAMEBUFFER_SRGB_CAPABLE, 1);
|
||||||
|
|
||||||
|
|
@ -111,14 +111,27 @@ void GFXGLDevice::enumerateAdapters( Vector<GFXAdapter*> &adapterList )
|
||||||
loadGLCore();
|
loadGLCore();
|
||||||
loadGLExtensions(tempContext);
|
loadGLExtensions(tempContext);
|
||||||
|
|
||||||
//check minimun Opengl 3.2
|
//check minimun Opengl 3.3
|
||||||
int major, minor;
|
int major, minor;
|
||||||
glGetIntegerv(GL_MAJOR_VERSION, &major);
|
glGetIntegerv(GL_MAJOR_VERSION, &major);
|
||||||
glGetIntegerv(GL_MINOR_VERSION, &minor);
|
glGetIntegerv(GL_MINOR_VERSION, &minor);
|
||||||
if( major < 3 || ( major == 3 && minor < 2 ) )
|
if( major < 3 || ( major == 3 && minor < 3 ) )
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check for required extensions
|
||||||
|
if (!gglHasExtension(ARB_texture_cube_map_array))
|
||||||
|
{
|
||||||
|
Con::warnf("Adapater supports OpenGL 3.3 but doesnt support GL_ARB_texture_cube_map_array");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!gglHasExtension(ARB_gpu_shader5))
|
||||||
|
{
|
||||||
|
Con::warnf("Adapater supports OpenGL 3.3 but doesnt support GL_ARB_gpu_shader5");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
GFXAdapter *toAdd = new GFXAdapter;
|
GFXAdapter *toAdd = new GFXAdapter;
|
||||||
toAdd->mIndex = 0;
|
toAdd->mIndex = 0;
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ namespace PlatformGL
|
||||||
void init()
|
void init()
|
||||||
{
|
{
|
||||||
const U32 majorOGL = 3;
|
const U32 majorOGL = 3;
|
||||||
const U32 minorOGL = 2;
|
const U32 minorOGL = 3;
|
||||||
U32 debugFlag = 0;
|
U32 debugFlag = 0;
|
||||||
#ifdef TORQUE_DEBUG
|
#ifdef TORQUE_DEBUG
|
||||||
debugFlag |= SDL_GL_CONTEXT_DEBUG_FLAG;
|
debugFlag |= SDL_GL_CONTEXT_DEBUG_FLAG;
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
// IN THE SOFTWARE.
|
// IN THE SOFTWARE.
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "shadergen/customShaderFeature.h"
|
#include "shaderGen/customShaderFeature.h"
|
||||||
|
|
||||||
#ifdef TORQUE_D3D11
|
#ifdef TORQUE_D3D11
|
||||||
#include "shaderGen/HLSL/customFeatureHLSL.h"
|
#include "shaderGen/HLSL/customFeatureHLSL.h"
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
// IN THE SOFTWARE.
|
// IN THE SOFTWARE.
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
#pragma once
|
|
||||||
#ifndef CUSTOMSHADERFEATURE_H
|
#ifndef CUSTOMSHADERFEATURE_H
|
||||||
#define CUSTOMSHADERFEATURE_H
|
#define CUSTOMSHADERFEATURE_H
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
in vec4 hpos;
|
in vec4 hpos;
|
||||||
in vec2 uv0;
|
in vec2 uv0;
|
||||||
|
#line 27
|
||||||
|
|
||||||
uniform samplerCube environmentMap;
|
uniform samplerCube environmentMap;
|
||||||
|
|
||||||
|
|
@ -123,8 +124,7 @@ vec4 prefilterEnvMap(vec3 R)
|
||||||
out vec4 OUT_col;
|
out vec4 OUT_col;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
|
|
||||||
vec3 N = getCubeDir(face, uv0);
|
vec3 N = getCubeDir(face, uv0);
|
||||||
OUT_col = prefilterEnvMap(N);
|
OUT_col = prefilterEnvMap(N);
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#include "../../../gl/hlslCompat.glsl"
|
#include "../../../gl/hlslCompat.glsl"
|
||||||
#include "../../../postFx/gl/postFx.glsl"
|
#include "../../../postFX/gl/postFx.glsl"
|
||||||
#include "../../../gl/torque.glsl"
|
#include "../../../gl/torque.glsl"
|
||||||
#include "shadergen:/autogenConditioners.h"
|
#include "shadergen:/autogenConditioners.h"
|
||||||
#include "../../../gl/lighting.glsl"
|
#include "../../../gl/lighting.glsl"
|
||||||
|
|
@ -55,6 +55,7 @@ void main()
|
||||||
|
|
||||||
float alpha = 1;
|
float alpha = 1;
|
||||||
|
|
||||||
|
#ifdef SKYLIGHT_ONLY
|
||||||
#if SKYLIGHT_ONLY == 0
|
#if SKYLIGHT_ONLY == 0
|
||||||
int i = 0;
|
int i = 0;
|
||||||
float blendFactor[MAX_PROBES];
|
float blendFactor[MAX_PROBES];
|
||||||
|
|
@ -154,6 +155,7 @@ void main()
|
||||||
#endif
|
#endif
|
||||||
//}
|
//}
|
||||||
#endif
|
#endif
|
||||||
|
#endif //SKYLIGHT_ONLY
|
||||||
|
|
||||||
vec3 irradiance = vec3(0, 0, 0);
|
vec3 irradiance = vec3(0, 0, 0);
|
||||||
vec3 specular = vec3(0, 0, 0);
|
vec3 specular = vec3(0, 0, 0);
|
||||||
|
|
@ -165,6 +167,7 @@ void main()
|
||||||
float lod = 0;
|
float lod = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef SKYLIGHT_ONLY
|
||||||
#if SKYLIGHT_ONLY == 0
|
#if SKYLIGHT_ONLY == 0
|
||||||
alpha = 1;
|
alpha = 1;
|
||||||
for (i = 0; i < numProbes; ++i)
|
for (i = 0; i < numProbes; ++i)
|
||||||
|
|
@ -172,7 +175,7 @@ void main()
|
||||||
float contrib = contribution[i];
|
float contrib = contribution[i];
|
||||||
if (contrib != 0)
|
if (contrib != 0)
|
||||||
{
|
{
|
||||||
int cubemapIdx = probeConfigData[i].a;
|
float cubemapIdx = probeConfigData[i].a;
|
||||||
vec3 dir = boxProject(surface.P, surface.R, worldToObjArray[i], bbMinArray[i].xyz, bbMaxArray[i].xyz, inRefPosArray[i].xyz);
|
vec3 dir = boxProject(surface.P, surface.R, worldToObjArray[i], bbMinArray[i].xyz, bbMaxArray[i].xyz, inRefPosArray[i].xyz);
|
||||||
|
|
||||||
irradiance += textureLod(irradianceCubemapAR, vec4(dir, cubemapIdx), 0).xyz * contrib;
|
irradiance += textureLod(irradianceCubemapAR, vec4(dir, cubemapIdx), 0).xyz * contrib;
|
||||||
|
|
@ -181,6 +184,7 @@ void main()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif //SKYLIGHT_ONLY
|
||||||
|
|
||||||
if (skylightCubemapIdx != -1 && alpha > 0.001)
|
if (skylightCubemapIdx != -1 && alpha > 0.001)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue