Browse Source

Added recently announced OpenGL extensions and some missing consts

master
saschawillems 8 years ago
parent
commit
383ffeebcd
2 changed files with 370 additions and 39 deletions
  1. +59
    -36
      README.md
  2. +311
    -3
      dglOpenGL.pas

+ 59
- 36
README.md View File

@@ -1,9 +1,9 @@
# Delphi / Pascal OpenGL header translation # Delphi / Pascal OpenGL header translation
- OpenGL version 4.5 - OpenGL version 4.5
- Header revision 4.5a
- Header revision 4.5b
- Copyright (C) DGL-OpenGL-Portteam - All Rights Reserved - Copyright (C) DGL-OpenGL-Portteam - All Rights Reserved
- Last update : 2014-12-06
- Last update : 2015-09-03
- Last updater : Sascha Willems - Last updater : Sascha Willems
# Supported environments and targets # Supported environments and targets
@@ -12,7 +12,7 @@
- (Win32, Win64, Linux, MacOSX) FreePascal (1.9.3 and up) - (Win32, Win64, Linux, MacOSX) FreePascal (1.9.3 and up)
# Obtained through # Obtained through
- Bitbucket source repository - https://bitbucket.org/saschawillems/dglopengl
- GitHub repository - https://github.com/SaschaWillems/dglOpenGL
- Delphi OpenGL Community(DGL) - www.delphigl.com - Delphi OpenGL Community(DGL) - www.delphigl.com
# Credits # Credits
@@ -44,10 +44,10 @@
> Note : If you want to use our header for projects whose licensing is not compatible with the MPL, just ask for a changed license! > Note : If you want to use our header for projects whose licensing is not compatible with the MPL, just ask for a changed license!
# History # History
# Version 1.0 # Version 1.0
- Initial Release - Initial Release
# Version 1.1 # Version 1.1
- Added PPointer in Tpyessection for compatiblity with Delphi versions lower than 7 (SW) - Added PPointer in Tpyessection for compatiblity with Delphi versions lower than 7 (SW)
Added a function named RaiseLastOSError including a comment Added a function named RaiseLastOSError including a comment
@@ -58,25 +58,25 @@ Added a function named RaiseLastOSError including a comment
- Fixed some problems with getting the addresses of some - Fixed some problems with getting the addresses of some
- Extensions (e.g. glTexImage3D) where the EXT/ARB did work - Extensions (e.g. glTexImage3D) where the EXT/ARB did work
- but not the core-functions (SW) - but not the core-functions (SW)
# Version 1.3 # Version 1.3
- A second call to ReadimplementationProperties won't - A second call to ReadimplementationProperties won't
- revert to the default libs anymore (MW) - revert to the default libs anymore (MW)
- Libraries now will be released if necessary (MW) - Libraries now will be released if necessary (MW)
# Version 1.3a # Version 1.3a
- Small fixes for glSlang-functions (SW) - Small fixes for glSlang-functions (SW)
# Version 1.3b # Version 1.3b
- Fixed a small bug with GL_ARB_shader_objects, that lead to that extension not loaded correctly (SW) - Fixed a small bug with GL_ARB_shader_objects, that lead to that extension not loaded correctly (SW)
# Version 1.3c # Version 1.3c
- more GL 1.5 compliance by FOG_COORD_xx and - more GL 1.5 compliance by FOG_COORD_xx and
- ARB less VBO and occlusion query routines (MW) - ARB less VBO and occlusion query routines (MW)
# Version 1.3d # Version 1.3d
- Fixed linebreaks (should now be corrected under D5) (SW) - Fixed linebreaks (should now be corrected under D5) (SW)
# Version 1.4 # Version 1.4
- Changed header to correspond to the OpenGL-Shading - Changed header to correspond to the OpenGL-Shading
- Language specification 1.10 : - Language specification 1.10 :
@@ -84,21 +84,21 @@ Added a function named RaiseLastOSError including a comment
- Added Constant GL_SHADING_LANGUAGE_VERSION_ARB - Added Constant GL_SHADING_LANGUAGE_VERSION_ARB
- Added Constant GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB - Added Constant GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB
- Added Constant GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB (SW) - Added Constant GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB (SW)
# Version 1.4a # Version 1.4a
- Fixed a missing stdcall for glBindAttribLocationARB (SW) - Fixed a missing stdcall for glBindAttribLocationARB (SW)
# Version 1.4b # Version 1.4b
- Fixed declaration for glUniform*(f/i)vARB (added count) (MW) - Fixed declaration for glUniform*(f/i)vARB (added count) (MW)
- glCompileShaderARB changed from function to procedure (MW) - glCompileShaderARB changed from function to procedure (MW)
# Version 1.5 # Version 1.5
- Added support for FreePascal (BR) - Added support for FreePascal (BR)
- Added type TGLVectorf3/TGLVector3f (SW) - Added type TGLVectorf3/TGLVector3f (SW)
# Version 1.6 # Version 1.6
- Added Extension GL_EXT_framebuffer_object (SX) - Added Extension GL_EXT_framebuffer_object (SX)
# Version 1.7 # Version 1.7
- Added Extension GL_ARB_fragment_program_shadow (SX) - Added Extension GL_ARB_fragment_program_shadow (SX)
- Added Extension GL_ARB_draw_buffers (SX) - Added Extension GL_ARB_draw_buffers (SX)
@@ -116,7 +116,7 @@ Added a function named RaiseLastOSError including a comment
- Added Extension GL_NV_fragment_program2 (SX) - Added Extension GL_NV_fragment_program2 (SX)
- Added Extension GL_NV_vertex_program2_option (SX) - Added Extension GL_NV_vertex_program2_option (SX)
- Added Extension GL_NV_vertex_program3 (SX) - Added Extension GL_NV_vertex_program3 (SX)
# Version 1.8 # Version 1.8
- Added explicit delegate type definitions (LM) - Added explicit delegate type definitions (LM)
- Added .Net 1.1 Support (LM) - Added .Net 1.1 Support (LM)
@@ -124,7 +124,7 @@ Added a function named RaiseLastOSError including a comment
- Added delayed extension loading and stubs (LM) - Added delayed extension loading and stubs (LM)
- Added automatic InitOpenGL call in CreateRenderingContext(LM) - Added automatic InitOpenGL call in CreateRenderingContext(LM)
- Added extra Read_* function (LM) - Added extra Read_* function (LM)
# Version 2.0 # Version 2.0
- fixed some Problem with version string and damn drivers. - fixed some Problem with version string and damn drivers.
- String 1.15 identified as OpenGL 1.5 not as OpenGL 1.1 (SX) - String 1.15 identified as OpenGL 1.5 not as OpenGL 1.1 (SX)
@@ -138,17 +138,17 @@ Added a function named RaiseLastOSError including a comment
- gluUnProject need pointer for not .net (SX) - gluUnProject need pointer for not .net (SX)
- wglUseFontOutlines* need pointer for not .net (SX) - wglUseFontOutlines* need pointer for not .net (SX)
- wglSwapMultipleBuffers need pointer for not .net (SX) - wglSwapMultipleBuffers need pointer for not .net (SX)
- Bug with wglGetExtensionsStringEXT removed (SX)
- Bug with wglGetExtensionsStringEXT removed (SX)
- different type for .net (SX) - different type for .net (SX)
- Added OpenGL 2.0 Core (SX) - Added OpenGL 2.0 Core (SX)
# Version 2.0.1 # Version 2.0.1
- fixed some problems with glGetActiveAttrib in 2.0 Core (SX) - fixed some problems with glGetActiveAttrib in 2.0 Core (SX)
- fixes some problems with gluProject (SX) - fixes some problems with gluProject (SX)
- fixes some problems with gluUnProject (SX) - fixes some problems with gluUnProject (SX)
- fixes some problems with gluTessVertex (SX) - fixes some problems with gluTessVertex (SX)
- fixes some problems with gluLoadSamplingMatrices (SX) - fixes some problems with gluLoadSamplingMatrices (SX)
# Version 2.1 # Version 2.1
- Removed .NET Support (SX) - Removed .NET Support (SX)
- Better support for Linux (SX) - Better support for Linux (SX)
@@ -182,7 +182,7 @@ Added a function named RaiseLastOSError including a comment
- Added Extension GL_NV_parameter_buffer_object (SX) - Added Extension GL_NV_parameter_buffer_object (SX)
- Added Extension GL_NV_transform_feedback (SX) - Added Extension GL_NV_transform_feedback (SX)
- Added Extension GL_NV_vertex_program4 (SX) - Added Extension GL_NV_vertex_program4 (SX)
# Version 3.0 # Version 3.0
- fixed some const of GL_EXT_texture_shared_exponent (SX) - fixed some const of GL_EXT_texture_shared_exponent (SX)
- possible better support for mac (SX) - possible better support for mac (SX)
@@ -217,13 +217,13 @@ Added a function named RaiseLastOSError including a comment
- visible from outside the unit to custom load functions (SX) - visible from outside the unit to custom load functions (SX)
- dglCheckExtension added to check if an extension exists (SX) - dglCheckExtension added to check if an extension exists (SX)
- Read_GL_ARB_buffer_object renamed to Read_GL_ARB_vertex_buffer_object (SX) - Read_GL_ARB_buffer_object renamed to Read_GL_ARB_vertex_buffer_object (SX)
# Version 3.0.1 # Version 3.0.1
- fixed an problem with fpc (SX) - fixed an problem with fpc (SX)
# Version 3.0.2 # Version 3.0.2
- fixed an problem with WGL_ARB_create_context (SX) - fixed an problem with WGL_ARB_create_context (SX)
# Version 3.2 # Version 3.2
- Functions from GL_VERSION_3_0 where updated (SX) - Functions from GL_VERSION_3_0 where updated (SX)
- Functions from GL_ARB_map_buffer_range where updated (SX) - Functions from GL_ARB_map_buffer_range where updated (SX)
@@ -279,10 +279,10 @@ Added a function named RaiseLastOSError including a comment
- Added Extension GLX_EXT_fbconfig_packed_float (SX) - Added Extension GLX_EXT_fbconfig_packed_float (SX)
- Added Extension GLX_EXT_framebuffer_sRGB (SX) - Added Extension GLX_EXT_framebuffer_sRGB (SX)
- Added Extension GLX_EXT_texture_from_pixmap (SX) - Added Extension GLX_EXT_texture_from_pixmap (SX)
# Version 3.2.1 # Version 3.2.1
- Fixed some problems with Delphi < 6 (SX) - Fixed some problems with Delphi < 6 (SX)
# Version 3.2.2 # Version 3.2.2
- Added Extension GL_APPLE_rgb_422 (SX) - Added Extension GL_APPLE_rgb_422 (SX)
- Added Extension GL_EXT_separate_shader_objects (SX) - Added Extension GL_EXT_separate_shader_objects (SX)
@@ -298,12 +298,12 @@ Added a function named RaiseLastOSError including a comment
- Added Extension WGL_NV_copy_image (SX) - Added Extension WGL_NV_copy_image (SX)
- WGL_NV_video_out now named WGL_NV_video_output (SX) - WGL_NV_video_out now named WGL_NV_video_output (SX)
- Added Extension GLX_EXT_swap_control (SX) - Added Extension GLX_EXT_swap_control (SX)
# Version 3.2.3 # Version 3.2.3
- Fixed an Problem with glGetAttribLocation (SX) - Fixed an Problem with glGetAttribLocation (SX)
- Added const GL_UNIFORM_BUFFER_EXT (SX) - Added const GL_UNIFORM_BUFFER_EXT (SX)
- Functions of GL_NV_texture_barrier now will be loaded (SX) - Functions of GL_NV_texture_barrier now will be loaded (SX)
# Version 4.0 # Version 4.0
- Changes on Extension GL_ARB_texture_gather (SX) - Changes on Extension GL_ARB_texture_gather (SX)
- Changes on Extension GL_NV_shader_buffer_load (SX) - Changes on Extension GL_NV_shader_buffer_load (SX)
@@ -330,7 +330,7 @@ Added a function named RaiseLastOSError including a comment
- Added Extension GL_ARB_texture_buffer_object_rgb32 (SX) - Added Extension GL_ARB_texture_buffer_object_rgb32 (SX)
- Added Extension GL_ARB_transform_feedback2 (SX) - Added Extension GL_ARB_transform_feedback2 (SX)
- Added Extension GL_ARB_transform_feedback3 (SX) - Added Extension GL_ARB_transform_feedback3 (SX)
# Version 4.1 # Version 4.1
- Possible fix some strange linux behavior (SX) - Possible fix some strange linux behavior (SX)
- All function uses GL instead of TGL types (SX) - All function uses GL instead of TGL types (SX)
@@ -389,10 +389,10 @@ Added a function named RaiseLastOSError including a comment
- Added Extension GLX_ARB_framebuffer_sRGB (SX) - Added Extension GLX_ARB_framebuffer_sRGB (SX)
- Added Extension GLX_ARB_create_context_robustness (SX) - Added Extension GLX_ARB_create_context_robustness (SX)
- Added Extension GLX_EXT_create_context_es2_profile (SX) - Added Extension GLX_EXT_create_context_es2_profile (SX)
# Version 4.1a # Version 4.1a
- Fix for dglGetProcAddress with FPC and linux (def param) (SW) - Fix for dglGetProcAddress with FPC and linux (def param) (SW)
# Version 4.2 # Version 4.2
- Added OpenGL 4.2 Core (SW) - Added OpenGL 4.2 Core (SW)
- Added Extension GL_ARB_base_instance (SW) - Added Extension GL_ARB_base_instance (SW)
@@ -408,10 +408,10 @@ Added a function named RaiseLastOSError including a comment
- Added Extension GL_ARB_texture_storage (SW) - Added Extension GL_ARB_texture_storage (SW)
- Added Extension WGL_NV_DX_interop (SW) - Added Extension WGL_NV_DX_interop (SW)
- Added Define for WGL_EXT_create_context_es2_profile (SW) - Added Define for WGL_EXT_create_context_es2_profile (SW)
# Version 4.2a # Version 4.2a
- Added Mac OS X patch by Andrey Gruzdev (SW) - Added Mac OS X patch by Andrey Gruzdev (SW)
# Version 4.3 # Version 4.3
- Added OpenGL 4.3 Core (SW) - Added OpenGL 4.3 Core (SW)
- Added GL_ARB_arrays_of_arrays (SW) - Added GL_ARB_arrays_of_arrays (SW)
@@ -446,7 +446,7 @@ Added a function named RaiseLastOSError including a comment
- Added GL_NV_shader_atomic_float (SW) - Added GL_NV_shader_atomic_float (SW)
- Added GL_AMD_query_buffer_object (SW) - Added GL_AMD_query_buffer_object (SW)
- Added CreateRenderingContextVersion (SW) - Added CreateRenderingContextVersion (SW)
# Version 4.4 # Version 4.4
- Added OpenGL 4.4 Core (SW) - Added OpenGL 4.4 Core (SW)
- Added ARB_buffer_storage (SW) - Added ARB_buffer_storage (SW)
@@ -462,7 +462,7 @@ Added a function named RaiseLastOSError including a comment
- GL3.0+ uses non-deprecated way of getting extensions - GL3.0+ uses non-deprecated way of getting extensions
- (thanks to frenK) (SW) - (thanks to frenK) (SW)
- Added missing cdecl for TglXGetVisualFromFBConfig (SW) - Added missing cdecl for TglXGetVisualFromFBConfig (SW)
# Version 4.5 # Version 4.5
- Added OpenGL 4.5 Core (SW) - Added OpenGL 4.5 Core (SW)
- Added GL_ARB_ES3_1_compatibility (SW) - Added GL_ARB_ES3_1_compatibility (SW)
@@ -488,3 +488,26 @@ Added a function named RaiseLastOSError including a comment
- Added Exception mask settings for 64-Bit (SetExceptionMask) (SW) - Added Exception mask settings for 64-Bit (SetExceptionMask) (SW)
- Changed 64-Bit detection for FPC - Changed 64-Bit detection for FPC
- Added TVector3f for backwards compatibility - Added TVector3f for backwards compatibility
# Version 4.6a
- Added missing constant GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED (SW)
- Added missing constant GL_TEXTURE_BUFFER_BINDING (SW)
- Added missing extension GL_NV_conservative_raster (SW)
- Added recently announced OpenGL extensions :
- Added GL_ARB_ES3_2_compatibility (SW)
- Added GL_ARB_fragment_shader_interlock (SW)
- Added GL_ARB_gpu_shader_int64 (SW)
- Added GL_ARB_parallel_shader_compile (SW)
- Added GL_ARB_post_depth_coverage (SW)
- Added GL_ARB_sample_locations (SW)
- Added GL_ARB_shader_atomic_counter_ops (SW)
- Added GL_ARB_shader_ballot (SW)
- Added GL_ARB_shader_clock (SW)
- Added GL_ARB_shader_viewport_layer_array (SW)
- Added GL_ARB_sparse_texture2 (SW)
- Added GL_ARB_sparse_texture_clamp (SW)
- Added GL_KHR_no_error (SW)
- Added GL_NV_conservative_raster_dilate (SW)
- Added GL_OVR_multiview (SW)
- Added GL_OVR_multiview2 (SW)
- Added GL_INTEL_framebuffer_CMAA (SW)

+ 311
- 3
dglOpenGL.pas View File

@@ -524,6 +524,7 @@ var
GL_ARB_texture_env_combine, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_env_dot3,
GL_ARB_texture_filter_minmax,
GL_ARB_texture_mirrored_repeat, GL_ARB_texture_mirrored_repeat,
GL_ARB_transpose_matrix, GL_ARB_transpose_matrix,
GL_ARB_vertex_blend, GL_ARB_vertex_blend,
@@ -533,6 +534,7 @@ var
GL_ARB_shader_objects, GL_ARB_shader_objects,
GL_ARB_vertex_shader, GL_ARB_vertex_shader,
GL_ARB_fragment_shader, GL_ARB_fragment_shader,
GL_ARB_fragment_shader_interlock,
GL_ARB_shading_language_100, GL_ARB_shading_language_100,
GL_ARB_occlusion_query, GL_ARB_occlusion_query,
GL_ARB_texture_non_power_of_two, GL_ARB_texture_non_power_of_two,
@@ -560,6 +562,7 @@ var
GL_ARB_compatibility, GL_ARB_compatibility,
GL_ARB_copy_buffer, GL_ARB_copy_buffer,
GL_ARB_shader_texture_lod, GL_ARB_shader_texture_lod,
GL_ARB_shader_viewport_layer_array,
GL_ARB_depth_clamp, GL_ARB_depth_clamp,
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_elements_base_vertex,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_coord_conventions,
@@ -570,6 +573,9 @@ var
GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_bgra,
GL_ARB_draw_buffers_blend, GL_ARB_draw_buffers_blend,
GL_ARB_sample_shading, GL_ARB_sample_shading,
GL_ARB_sample_locations,
GL_ARB_sparse_texture2,
GL_ARB_sparse_texture_clamp,
GL_ARB_texture_cube_map_array, GL_ARB_texture_cube_map_array,
GL_ARB_texture_gather, GL_ARB_texture_gather,
GL_ARB_texture_query_lod, GL_ARB_texture_query_lod,
@@ -578,8 +584,11 @@ var
GL_ARB_blend_func_extended, GL_ARB_blend_func_extended,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_attrib_location,
GL_ARB_occlusion_query2, GL_ARB_occlusion_query2,
GL_ARB_parallel_shader_compile,
GL_ARB_post_depth_coverage,
GL_ARB_sampler_objects, GL_ARB_sampler_objects,
GL_ARB_shader_bit_encoding, GL_ARB_shader_bit_encoding,
GL_ARB_shader_clock,
GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_swizzle, GL_ARB_texture_swizzle,
GL_ARB_timer_query, GL_ARB_timer_query,
@@ -587,17 +596,22 @@ var
GL_ARB_draw_indirect, GL_ARB_draw_indirect,
GL_ARB_gpu_shader5, GL_ARB_gpu_shader5,
GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_fp64,
GL_ARB_gpu_shader_int64,
GL_ARB_shader_subroutine, GL_ARB_shader_subroutine,
GL_ARB_tessellation_shader, GL_ARB_tessellation_shader,
GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_object_rgb32,
GL_ARB_transform_feedback2, GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback3,
GL_ARB_ES2_compatibility, GL_ARB_ES2_compatibility,
GL_ARB_ES3_2_compatibility,
GL_ARB_get_program_binary, GL_ARB_get_program_binary,
GL_ARB_separate_shader_objects, GL_ARB_separate_shader_objects,
GL_ARB_shader_atomic_counter_ops,
GL_ARB_shader_precision, GL_ARB_shader_precision,
GL_ARB_shader_ballot,
GL_ARB_vertex_attrib_64bit, GL_ARB_vertex_attrib_64bit,
GL_ARB_viewport_array, GL_ARB_viewport_array,
GL_KHR_no_error,


// GL 4.2 // GL 4.2
GL_ARB_base_instance, GL_ARB_base_instance,
@@ -813,6 +827,7 @@ var
GL_INGR_color_clamp, GL_INGR_color_clamp,
GL_INGR_interlace_read, GL_INGR_interlace_read,
GL_INGR_palette_buffer, GL_INGR_palette_buffer,
GL_INTEL_framebuffer_CMAA,
GL_INTEL_parallel_arrays, GL_INTEL_parallel_arrays,
GL_INTEL_texture_scissor, GL_INTEL_texture_scissor,
GL_MESA_resize_buffers, GL_MESA_resize_buffers,
@@ -862,6 +877,9 @@ var
GL_NV_transform_feedback, GL_NV_transform_feedback,
GL_NV_vertex_program4, GL_NV_vertex_program4,
GL_NV_conditional_render, GL_NV_conditional_render,
GL_NV_conservative_raster,
GL_NV_conservative_raster_dilate,

GL_NV_present_video, GL_NV_present_video,
GL_NV_explicit_multisample, GL_NV_explicit_multisample,
GL_NV_transform_feedback2, GL_NV_transform_feedback2,
@@ -881,6 +899,10 @@ var
GL_OML_interlace, GL_OML_interlace,
GL_OML_resample, GL_OML_resample,
GL_OML_subsample, GL_OML_subsample,

GL_OVR_multiview,
GL_OVR_multiview2,

GL_PGI_misc_hints, GL_PGI_misc_hints,
GL_PGI_vertex_hints, GL_PGI_vertex_hints,
GL_REND_screen_coordinates, GL_REND_screen_coordinates,
@@ -3230,6 +3252,10 @@ const
GL_DOT3_RGB_ARB = $86AE; GL_DOT3_RGB_ARB = $86AE;
GL_DOT3_RGBA_ARB = $86AF; GL_DOT3_RGBA_ARB = $86AF;


// GL_ARB_texture_filter_minmax
GL_TEXTURE_REDUCTION_MODE_ARB = $9366;
GL_WEIGHTED_AVERAGE_ARB = $9367;

// GL_ARB_texture_mirrored_repeat // GL_ARB_texture_mirrored_repeat
GL_MIRRORED_REPEAT_ARB = $8370; GL_MIRRORED_REPEAT_ARB = $8370;


@@ -3740,6 +3766,16 @@ const
GL_SAMPLE_SHADING_ARB = $8C36; GL_SAMPLE_SHADING_ARB = $8C36;
GL_MIN_SAMPLE_SHADING_VALUE_ARB = $8C37; GL_MIN_SAMPLE_SHADING_VALUE_ARB = $8C37;


// GL_ARB_sample_locations
GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = $933D;
GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = $933E;
GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = $933F;
GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = $9340;
GL_SAMPLE_LOCATION_ARB = $8E50;
GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = $9341;
GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = $9342;
GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = $9343;

// GL_ARB_texture_cube_map_array // GL_ARB_texture_cube_map_array
GL_TEXTURE_CUBE_MAP_ARRAY_ARB = $9009; GL_TEXTURE_CUBE_MAP_ARRAY_ARB = $9009;
GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = $900A; GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = $900A;
@@ -3774,6 +3810,10 @@ const
// GL_ARB_occlusion_query2 // GL_ARB_occlusion_query2
GL_ANY_SAMPLES_PASSED = $8C2F; GL_ANY_SAMPLES_PASSED = $8C2F;


// GL_ARB_parallel_shader_compile
GL_MAX_SHADER_COMPILER_THREADS_ARB = $91B0;
GL_COMPLETION_STATUS_ARB = $91B1;

// GL_ARB_sampler_objects // GL_ARB_sampler_objects
GL_SAMPLER_BINDING = $8919; GL_SAMPLER_BINDING = $8919;


@@ -3836,6 +3876,15 @@ const
GL_DOUBLE_MAT4x2 = $8F4D; GL_DOUBLE_MAT4x2 = $8F4D;
GL_DOUBLE_MAT4x3 = $8F4E; GL_DOUBLE_MAT4x3 = $8F4E;


// GL_ARB_gpu_shader_int64
GL_INT64_ARB = $140E;
GL_INT64_VEC2_ARB = $8FE9;
GL_INT64_VEC3_ARB = $8FEA;
GL_INT64_VEC4_ARB = $8FEB;
GL_UNSIGNED_INT64_VEC2_ARB = $8FF5;
GL_UNSIGNED_INT64_VEC3_ARB = $8FF6;
GL_UNSIGNED_INT64_VEC4_ARB = $8FF7;

// GL_ARB_shader_subroutine // GL_ARB_shader_subroutine
GL_ACTIVE_SUBROUTINES = $8DE5; GL_ACTIVE_SUBROUTINES = $8DE5;
GL_ACTIVE_SUBROUTINE_UNIFORMS = $8DE6; GL_ACTIVE_SUBROUTINE_UNIFORMS = $8DE6;
@@ -3926,6 +3975,11 @@ const
GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD; GL_MAX_FRAGMENT_UNIFORM_VECTORS = $8DFD;
GL_RGB565 = $8D62; GL_RGB565 = $8D62;


// GL_ARB_ES3_2_compatibility
GL_PRIMITIVE_BOUNDING_BOX_ARB = $092BE;
GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = $09381;
GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = $09382;

// GL_ARB_get_program_binary // GL_ARB_get_program_binary
GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257; GL_PROGRAM_BINARY_RETRIEVABLE_HINT = $8257;
GL_PROGRAM_BINARY_LENGTH = $8741; GL_PROGRAM_BINARY_LENGTH = $8741;
@@ -6378,6 +6432,17 @@ const
GL_QUERY_BY_REGION_WAIT_NV = $8E15; GL_QUERY_BY_REGION_WAIT_NV = $8E15;
GL_QUERY_BY_REGION_NO_WAIT_NV = $8E16; GL_QUERY_BY_REGION_NO_WAIT_NV = $8E16;


// GL_NV_conservative_raster
GL_CONSERVATIVE_RASTERIZATION_NV = $9346;
GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = $9347;
GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = $9348;
GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = $9349;

// GL_NV_conservative_raster_dilate
GL_CONSERVATIVE_RASTER_DILATE_NV = $9379;
GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = $937A;
GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = $937B;

// GL_NV_present_video // GL_NV_present_video
GL_FRAME_NV = $8E26; GL_FRAME_NV = $8E26;
GL_FIELDS_NV = $8E27; GL_FIELDS_NV = $8E27;
@@ -6550,6 +6615,10 @@ const
GL_FORMAT_SUBSAMPLE_24_24_OML = $8982; GL_FORMAT_SUBSAMPLE_24_24_OML = $8982;
GL_FORMAT_SUBSAMPLE_244_244_OML = $8983; GL_FORMAT_SUBSAMPLE_244_244_OML = $8983;


// GL_OVR_multiview
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = $9630;
GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = $9632;

// GL_PGI_misc_hints // GL_PGI_misc_hints
GL_PREFER_DOUBLEBUFFER_HINT_PGI = $1A1F8; GL_PREFER_DOUBLEBUFFER_HINT_PGI = $1A1F8;
GL_CONSERVE_MEMORY_HINT_PGI = $1A1FD; GL_CONSERVE_MEMORY_HINT_PGI = $1A1FD;
@@ -7033,6 +7102,9 @@ const
// GL_KHR_robustness // GL_KHR_robustness
GL_CONTEXT_ROBUST_ACCESS = $90F3; GL_CONTEXT_ROBUST_ACCESS = $90F3;


// GL_KHR_no_error
GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = $00000008;

// GL_ARB_fragment_shader // GL_ARB_fragment_shader
GL_FRAGMENT_SHADER_ARB = $8B30; GL_FRAGMENT_SHADER_ARB = $8B30;
GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = $8B49; // 1.4 GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = $8B49; // 1.4
@@ -8815,6 +8887,9 @@ type
TglMapBufferRange = function(target: GLenum; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglMapBufferRange = function(target: GLenum; offset: GLintptr; length: GLsizeiptr; access: GLbitfield): PGLvoid; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglFlushMappedBufferRange = procedure(target: GLenum; offset: GLintptr; length: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglFlushMappedBufferRange = procedure(target: GLenum; offset: GLintptr; length: GLsizeiptr); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}


// GL_ARB_parallel_shader_compile
TglMaxShaderCompilerThreadsARB = procedure(count : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

// GL_ARB_texture_buffer_object // GL_ARB_texture_buffer_object
TglTexBufferARB = procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglTexBufferARB = procedure(target: GLenum; internalformat: GLenum; buffer: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}


@@ -8869,6 +8944,11 @@ type
// GL_ARB_sample_shading // GL_ARB_sample_shading
TglMinSampleShadingARB = procedure(value: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglMinSampleShadingARB = procedure(value: GLclampf); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}


// GL_ARB_sample_locations
TglFramebufferSampleLocationsfvARB = procedure(target : GLenum; start : GLuint; count : GLsizei; const v : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglNamedFramebufferSampleLocationsfvARB = procedure(framebuffer : GLuint; start : GLuint; count : GLsizei; const v : PGLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglEvaluateDepthValuesARB = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

// GL_ARB_shading_language_include // GL_ARB_shading_language_include
TglNamedStringARB = procedure(type_: GLenum; namelen: GLint; const name: PGLchar; stringlen: GLint; const string_: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglNamedStringARB = procedure(type_: GLenum; namelen: GLint; const name: PGLchar; stringlen: GLint; const string_: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglDeleteNamedStringARB = procedure(namelen: GLint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglDeleteNamedStringARB = procedure(namelen: GLint; const name: PGLchar); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
@@ -8966,6 +9046,44 @@ type
TglUniformMatrix4x3dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglUniformMatrix4x3dv = procedure(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglGetUniformdv = procedure(program_: GLuint; location: GLint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglGetUniformdv = procedure(program_: GLuint; location: GLint; params: PGLdouble); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}


// GL_ARB_gpu_shader_int64
TglUniform1i64ARB = procedure(location : GLint; x : GLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform2i64ARB = procedure(location : GLint; x : GLint64; y : GLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform3i64ARB = procedure(location : GLint; x : GLint64; y : GLint64; z : GLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform4i64ARB = procedure(location : GLint; x : GLint64; y : GLint64; z : GLint64; w : GLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform1i64vARB = procedure(location : GLint; count : GLsizei; const value : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform2i64vARB = procedure(location : GLint; count : GLsizei; const value : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform3i64vARB = procedure(location : GLint; count : GLsizei; const value : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform4i64vARB = procedure(location : GLint; count : GLsizei; const value : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform1ui64ARB = procedure(location : GLint; x : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform2ui64ARB = procedure(location : GLint; x : GLuint64; y : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform3ui64ARB = procedure(location : GLint; x : GLuint64; y : GLuint64; z : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform4ui64ARB = procedure(location : GLint; x : GLuint64; y : GLuint64; z : GLuint64; w : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform1ui64vARB = procedure(location : GLint; count : GLsizei; const value : PGLuint64 ); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform2ui64vARB = procedure(location : GLint; count : GLsizei; const value : PGLuint64 ); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform3ui64vARB = procedure(location : GLint; count : GLsizei; const value : PGLuint64 ); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglUniform4ui64vARB = procedure(location : GLint; count : GLsizei; const value : PGLuint64 ); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglGetUniformi64vARB = procedure(program_ : GLuint; location : GLint; params : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglGetUniformui64vARB = procedure(program_ : GLuint; location : GLint; params : PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglGetnUniformi64vARB = procedure(program_ : GLuint; location : GLint; bufSize : GLsizei; params : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglGetnUniformui64vARB = procedure(program_ : GLuint; location : GLint; bufSize : GLsizei; params : PGLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform1i64ARB = procedure(program_ : GLuint; location : GLint; x : GLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform2i64ARB = procedure(program_ : GLuint; location : GLint; x : GLint64; y : GLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform3i64ARB = procedure(program_ : GLuint; location : GLint; x : GLint64; y : GLint64; z : GLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform4i64ARB = procedure(program_ : GLuint; location : GLint; x : GLint64; y : GLint64; z : GLint64; w : GLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform1i64vARB = procedure(program_ : GLuint; location : GLint; count : GLsizei; const value : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform2i64vARB = procedure(program_ : GLuint; location : GLint; count : GLsizei; const value : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform3i64vARB = procedure(program_ : GLuint; location : GLint; count : GLsizei; const value : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform4i64vARB = procedure(program_ : GLuint; location : GLint; count : GLsizei; const value : PGLint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform1ui64ARB = procedure(program_ : GLuint; location : GLint; x : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform2ui64ARB = procedure(program_ : GLuint; location : GLint; x : GLuint64; y : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform3ui64ARB = procedure(program_ : GLuint; location : GLint; x : GLuint64; y : GLuint64; z : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform4ui64ARB = procedure(program_ : GLuint; location : GLint; x : GLuint64; y : GLuint64; z : GLuint64; w : GLuint64); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform1ui64vARB = procedure(program_ : GLuint; location : GLint; count : GLsizei; const value : PGLuint64 ); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform2ui64vARB = procedure(program_ : GLuint; location : GLint; count : GLsizei; const value : PGLuint64 ); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform3ui64vARB = procedure(program_ : GLuint; location : GLint; count : GLsizei; const value : PGLuint64 ); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglProgramUniform4ui64vARB = procedure(program_ : GLuint; location : GLint; count : GLsizei; const value : PGLuint64 ); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

// GL_ARB_shader_subroutine // GL_ARB_shader_subroutine
TglGetSubroutineUniformLocation = function(program_: GLuint; shadertype: GLenum; const name: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglGetSubroutineUniformLocation = function(program_: GLuint; shadertype: GLenum; const name: PGLchar): GLint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglGetSubroutineIndex = function(program_: GLuint; shadertype: GLenum; const name: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglGetSubroutineIndex = function(program_: GLuint; shadertype: GLenum; const name: PGLchar): GLuint; {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
@@ -9158,6 +9276,9 @@ type


// GL_ARB_debug_output2 // GL_ARB_debug_output2


// GL_ARB_ES3_2_compatibility
TglPrimitiveBoundingBoxARB = procedure(minX : GLfloat; minY : GLfloat; minZ : GLfloat; minW : GLfloat; maxX : GLfloat; maxY : GLfloat; maxZ : GLfloat; maxW : GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

// GL_ARB_ES3_compatibility // GL_ARB_ES3_compatibility


// GL_ARB_explicit_uniform_location // GL_ARB_explicit_uniform_location
@@ -10156,6 +10277,9 @@ type
// GL_INGR_blend_func_separate // GL_INGR_blend_func_separate
TglBlendFuncSeparateINGR = procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglBlendFuncSeparateINGR = procedure(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}


// GL_INTEL_framebuffer_CMAA
TglApplyFramebufferAttachmentCMAAINTEL = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

// GL_INTEL_parallel_arrays // GL_INTEL_parallel_arrays
TglVertexPointervINTEL = procedure(size: GLint; _type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglVertexPointervINTEL = procedure(size: GLint; _type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglNormalPointervINTEL = procedure(_type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglNormalPointervINTEL = procedure(_type: GLenum; const _pointer: PGLvoid); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
@@ -10429,6 +10553,12 @@ type
TglBeginConditionalRenderNV = procedure(id: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglBeginConditionalRenderNV = procedure(id: GLuint; mode: GLenum); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglEndConditionalRenderNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglEndConditionalRenderNV = procedure(); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}


// GL_NV_conservative_raster
TglSubpixelPrecisionBiasNV = procedure(xbits : GLuint; ybits : GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

// GL_NV_conservative_raster_dilate
TglConservativeRasterParameterfNV = procedure(pname : GLenum; value : GLfloat); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}

// GL_NV_present_video // GL_NV_present_video
TglPresentFrameKeyedNV = procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDuratioId: GLuint; type_: GLenum; target0: GLenum; fill0: GLuint; key0: GLuint; target1: GLenum; fill1: GLuint; key1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglPresentFrameKeyedNV = procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDuratioId: GLuint; type_: GLenum; target0: GLenum; fill0: GLuint; key0: GLuint; target1: GLenum; fill1: GLuint; key1: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
TglPresentFrameDualFillNV = procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDurationId: GLuint; type_: GLenum; target0: GLenum; fill0: GLuint; target1: GLenum; fill1: GLuint; target2: GLenum; fill2: GLuint; target3: GLenum; fill3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglPresentFrameDualFillNV = procedure(video_slot: GLuint; minPresentTime: GLuint64EXT; beginPresentTimeId: GLuint; presentDurationId: GLuint; type_: GLenum; target0: GLenum; fill0: GLuint; target1: GLenum; fill1: GLuint; target2: GLenum; fill2: GLuint; target3: GLenum; fill3: GLuint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
@@ -10673,7 +10803,8 @@ type


// GL_AMD_query_buffer_object // GL_AMD_query_buffer_object


//
// GL_OVR_multiview
TglFramebufferTextureMultiviewOVR = procedure(target : GLenum; attachment : GLenum; texture : GLuint; level : GLint; baseViewIndex : GLint; numViews : GLsizei); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}


// GL_PGI_misc_hints // GL_PGI_misc_hints
TglHintPGI = procedure(target: GLenum; mode: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF} TglHintPGI = procedure(target: GLenum; mode: GLint); {$IFDEF DGL_WIN}stdcall; {$ELSE}cdecl; {$ENDIF}
@@ -12284,6 +12415,11 @@ var
// GL_ARB_sample_shading // GL_ARB_sample_shading
glMinSampleShadingARB: TglMinSampleShadingARB; glMinSampleShadingARB: TglMinSampleShadingARB;


// GL_ARB_sample_locations
glFramebufferSampleLocationsfvARB : TglFramebufferSampleLocationsfvARB;
glNamedFramebufferSampleLocationsfvARB : TglNamedFramebufferSampleLocationsfvARB;
glEvaluateDepthValuesARB : TglEvaluateDepthValuesARB;

// GL_ARB_shading_language_include // GL_ARB_shading_language_include
glNamedStringARB: TglNamedStringARB; glNamedStringARB: TglNamedStringARB;
glDeleteNamedStringARB: TglDeleteNamedStringARB; glDeleteNamedStringARB: TglDeleteNamedStringARB;
@@ -12381,6 +12517,44 @@ var
glUniformMatrix4x3dv: TglUniformMatrix4x3dv; glUniformMatrix4x3dv: TglUniformMatrix4x3dv;
glGetUniformdv: TglGetUniformdv; glGetUniformdv: TglGetUniformdv;


// GL_ARB_gpu_shader_int64
glUniform1i64ARB : TglUniform1i64ARB;
glUniform2i64ARB : TglUniform2i64ARB;
glUniform3i64ARB : TglUniform3i64ARB;
glUniform4i64ARB : TglUniform4i64ARB;
glUniform1i64vARB : TglUniform1i64vARB;
glUniform2i64vARB : TglUniform2i64vARB;
glUniform3i64vARB : TglUniform3i64vARB;
glUniform4i64vARB : TglUniform4i64vARB;
glUniform1ui64ARB : TglUniform1ui64ARB;
glUniform2ui64ARB : TglUniform2ui64ARB;
glUniform3ui64ARB : TglUniform3ui64ARB;
glUniform4ui64ARB : TglUniform4ui64ARB;
glUniform1ui64vARB : TglUniform1ui64vARB;
glUniform2ui64vARB : TglUniform2ui64vARB;
glUniform3ui64vARB : TglUniform3ui64vARB;
glUniform4ui64vARB : TglUniform4ui64vARB;
glGetUniformi64vARB : TglGetUniformi64vARB;
glGetUniformui64vARB : TglGetUniformui64vARB;
glGetnUniformi64vARB : TglGetnUniformi64vARB;
glGetnUniformui64vARB : TglGetnUniformui64vARB;
glProgramUniform1i64ARB : TglProgramUniform1i64ARB;
glProgramUniform2i64ARB : TglProgramUniform2i64ARB;
glProgramUniform3i64ARB : TglProgramUniform3i64ARB;
glProgramUniform4i64ARB : TglProgramUniform4i64ARB;
glProgramUniform1i64vARB : TglProgramUniform1i64vARB;
glProgramUniform2i64vARB : TglProgramUniform2i64vARB;
glProgramUniform3i64vARB : TglProgramUniform3i64vARB;
glProgramUniform4i64vARB : TglProgramUniform4i64vARB;
glProgramUniform1ui64ARB : TglProgramUniform1ui64ARB;
glProgramUniform2ui64ARB : TglProgramUniform2ui64ARB;
glProgramUniform3ui64ARB : TglProgramUniform3ui64ARB;
glProgramUniform4ui64ARB : TglProgramUniform4ui64ARB ;
glProgramUniform1ui64vARB : TglProgramUniform1ui64vARB;
glProgramUniform2ui64vARB : TglProgramUniform2ui64vARB;
glProgramUniform3ui64vARB : TglProgramUniform3ui64vARB;
glProgramUniform4ui64vARB : TglProgramUniform4ui64vARB;

// GL_ARB_shader_subroutine // GL_ARB_shader_subroutine
glGetSubroutineUniformLocation: TglGetSubroutineUniformLocation; glGetSubroutineUniformLocation: TglGetSubroutineUniformLocation;
glGetSubroutineIndex: TglGetSubroutineIndex; glGetSubroutineIndex: TglGetSubroutineIndex;
@@ -12417,6 +12591,12 @@ var
glDepthRangef: TglDepthRangef; glDepthRangef: TglDepthRangef;
glClearDepthf: TglClearDepthf; glClearDepthf: TglClearDepthf;


// GL_ARB_ES3_2_compatibility
glPrimitiveBoundingBoxARB : TglPrimitiveBoundingBoxARB;

// GL_ARB_parallel_shader_compile
glMaxShaderCompilerThreadsARB : TglMaxShaderCompilerThreadsARB;

// GL_ARB_get_program_binary // GL_ARB_get_program_binary
glGetProgramBinary: TglGetProgramBinary; glGetProgramBinary: TglGetProgramBinary;
glProgramBinary: TglProgramBinary; glProgramBinary: TglProgramBinary;
@@ -13533,6 +13713,9 @@ var
// GL_INGR_blend_func_separate // GL_INGR_blend_func_separate
glBlendFuncSeparateINGR: TglBlendFuncSeparateINGR; glBlendFuncSeparateINGR: TglBlendFuncSeparateINGR;


// GL_INTEL_framebuffer_CMAA
glApplyFramebufferAttachmentCMAAINTEL : TglApplyFramebufferAttachmentCMAAINTEL;

// GL_INTEL_parallel_arrays // GL_INTEL_parallel_arrays
glVertexPointervINTEL: TglVertexPointervINTEL; glVertexPointervINTEL: TglVertexPointervINTEL;
glNormalPointervINTEL: TglNormalPointervINTEL; glNormalPointervINTEL: TglNormalPointervINTEL;
@@ -13806,6 +13989,12 @@ var
glBeginConditionalRenderNV: TglBeginConditionalRenderNV; glBeginConditionalRenderNV: TglBeginConditionalRenderNV;
glEndConditionalRenderNV: TglEndConditionalRenderNV; glEndConditionalRenderNV: TglEndConditionalRenderNV;


// GL_NV_conservative_raster
glSubpixelPrecisionBiasNV : TglSubpixelPrecisionBiasNV;

// GL_NV_conservative_raster_dilate
glConservativeRasterParameterfNV : TglConservativeRasterParameterfNV;

// GL_NV_present_video // GL_NV_present_video
glPresentFrameKeyedNV: TglPresentFrameKeyedNV; glPresentFrameKeyedNV: TglPresentFrameKeyedNV;
glPresentFrameDualFillNV: TglPresentFrameDualFillNV; glPresentFrameDualFillNV: TglPresentFrameDualFillNV;
@@ -14047,6 +14236,9 @@ var
// GL_PGI_misc_hints // GL_PGI_misc_hints
glHintPGI: TglHintPGI; glHintPGI: TglHintPGI;


// GL_OVR_multiview
glFramebufferTextureMultiviewOVR : TglFramebufferTextureMultiviewOVR;

// GL_SGIS_detail_texture // GL_SGIS_detail_texture
glDetailTexFuncSGIS: TglDetailTexFuncSGIS; glDetailTexFuncSGIS: TglDetailTexFuncSGIS;
glGetDetailTexFuncSGIS: TglGetDetailTexFuncSGIS; glGetDetailTexFuncSGIS: TglGetDetailTexFuncSGIS;
@@ -14651,6 +14843,7 @@ procedure Read_GL_ARB_sync;
procedure Read_GL_ARB_texture_multisample; procedure Read_GL_ARB_texture_multisample;
procedure Read_GL_ARB_draw_buffers_blend; procedure Read_GL_ARB_draw_buffers_blend;
procedure Read_GL_ARB_sample_shading; procedure Read_GL_ARB_sample_shading;
procedure Read_GL_ARB_sample_locations;
procedure Read_GL_ARB_shading_language_include; procedure Read_GL_ARB_shading_language_include;
procedure Read_GL_ARB_blend_func_extended; procedure Read_GL_ARB_blend_func_extended;
procedure Read_GL_ARB_sampler_objects; procedure Read_GL_ARB_sampler_objects;
@@ -14658,6 +14851,7 @@ procedure Read_GL_ARB_timer_query;
procedure Read_GL_ARB_vertex_type_2_10_10_10_rev; procedure Read_GL_ARB_vertex_type_2_10_10_10_rev;
procedure Read_GL_ARB_draw_indirect; procedure Read_GL_ARB_draw_indirect;
procedure Read_GL_ARB_gpu_shader_fp64; procedure Read_GL_ARB_gpu_shader_fp64;
procedure Read_GL_ARB_gpu_shader_int64;
procedure Read_GL_ARB_shader_subroutine; procedure Read_GL_ARB_shader_subroutine;
procedure Read_GL_ARB_tessellation_shader; procedure Read_GL_ARB_tessellation_shader;
procedure Read_GL_ARB_transform_feedback2; procedure Read_GL_ARB_transform_feedback2;
@@ -14667,6 +14861,10 @@ procedure Read_GL_ARB_get_program_binary;
procedure Read_GL_ARB_separate_shader_objects; procedure Read_GL_ARB_separate_shader_objects;
procedure Read_GL_ARB_vertex_attrib_64bit; procedure Read_GL_ARB_vertex_attrib_64bit;
procedure Read_GL_ARB_viewport_array; procedure Read_GL_ARB_viewport_array;

procedure Read_GL_ARB_ES3_2_compatibility;
procedure Read_GL_ARB_parallel_shader_compile;

// GL 4.2 // GL 4.2
procedure Read_GL_ARB_base_instance; procedure Read_GL_ARB_base_instance;
procedure Read_GL_ARB_transform_feedback_instanced; procedure Read_GL_ARB_transform_feedback_instanced;
@@ -14769,6 +14967,7 @@ procedure Read_GL_IBM_multimode_draw_arrays;
procedure Read_GL_IBM_vertex_array_lists; procedure Read_GL_IBM_vertex_array_lists;
procedure Read_GL_INGR_blend_func_separate; procedure Read_GL_INGR_blend_func_separate;
procedure Read_GL_INTEL_parallel_arrays; procedure Read_GL_INTEL_parallel_arrays;
procedure Read_GL_INTEL_framebuffer_CMAA;
procedure Read_GL_MESA_resize_buffers; procedure Read_GL_MESA_resize_buffers;
procedure Read_GL_MESA_window_pos; procedure Read_GL_MESA_window_pos;
procedure Read_GL_NV_evaluators; procedure Read_GL_NV_evaluators;
@@ -14790,6 +14989,8 @@ procedure Read_GL_NV_gpu_program4;
procedure Read_GL_NV_parameter_buffer_object; procedure Read_GL_NV_parameter_buffer_object;
procedure Read_GL_NV_transform_feedback; procedure Read_GL_NV_transform_feedback;
procedure Read_GL_NV_conditional_render; procedure Read_GL_NV_conditional_render;
procedure Read_GL_NV_conservative_raster;
procedure Read_GL_NV_conservative_raster_dilate;
procedure Read_GL_NV_present_video; procedure Read_GL_NV_present_video;
procedure Read_GL_NV_explicit_multisample; procedure Read_GL_NV_explicit_multisample;
procedure Read_GL_NV_transform_feedback2; procedure Read_GL_NV_transform_feedback2;
@@ -14803,6 +15004,7 @@ procedure Read_GL_NV_vertex_attrib_integer_64bit;
procedure Read_GL_NV_vdpau_interop; procedure Read_GL_NV_vdpau_interop;
procedure Read_GL_NV_texture_barrier; procedure Read_GL_NV_texture_barrier;
procedure Read_GL_PGI_misc_hints; procedure Read_GL_PGI_misc_hints;
procedure Read_GL_OVR_multiview;
procedure Read_GL_SGIS_detail_texture; procedure Read_GL_SGIS_detail_texture;
procedure Read_GL_SGIS_fog_function; procedure Read_GL_SGIS_fog_function;
procedure Read_GL_SGIS_multisample; procedure Read_GL_SGIS_multisample;
@@ -15995,7 +16197,6 @@ begin
Read_GL_ARB_texture_view; Read_GL_ARB_texture_view;
Read_GL_ARB_vertex_attrib_binding; Read_GL_ARB_vertex_attrib_binding;


// Note (Due to Khronos' change in header convetions, no more single read_ functions) starting with GL 4.4
Read_GL_4_4; Read_GL_4_4;
Read_GL_4_5; Read_GL_4_5;
end; end;
@@ -16452,6 +16653,13 @@ begin
glMinSampleShadingARB := dglGetProcAddress('glMinSampleShadingARB'); glMinSampleShadingARB := dglGetProcAddress('glMinSampleShadingARB');
end; end;


procedure Read_GL_ARB_sample_locations;
begin
glFramebufferSampleLocationsfvARB := dglGetProcAddress('glFramebufferSampleLocationsfvARB');
glNamedFramebufferSampleLocationsfvARB := dglGetProcAddress('glNamedFramebufferSampleLocationsfvARB');
glEvaluateDepthValuesARB := dglGetProcAddress('glEvaluateDepthValuesARB');;
end;

procedure Read_GL_ARB_shading_language_include; procedure Read_GL_ARB_shading_language_include;
begin begin
glNamedStringARB := dglGetProcAddress('glNamedStringARB'); glNamedStringARB := dglGetProcAddress('glNamedStringARB');
@@ -16581,6 +16789,46 @@ begin
glGetUniformdv := dglGetProcAddress('glGetUniformdv'); glGetUniformdv := dglGetProcAddress('glGetUniformdv');
end; end;


procedure Read_GL_ARB_gpu_shader_int64;
begin
glUniform1i64ARB := dglGetProcAddress('glUniform1i64ARB');
glUniform2i64ARB := dglGetProcAddress('glUniform2i64ARB');
glUniform3i64ARB := dglGetProcAddress('glUniform3i64ARB');
glUniform4i64ARB := dglGetProcAddress('glUniform4i64ARB');
glUniform1i64vARB := dglGetProcAddress('glUniform1i64vARB');
glUniform2i64vARB := dglGetProcAddress('glUniform2i64vARB');
glUniform3i64vARB := dglGetProcAddress('glUniform3i64vARB');
glUniform4i64vARB := dglGetProcAddress('glUniform4i64vARB');
glUniform1ui64ARB := dglGetProcAddress('glUniform1ui64ARB');
glUniform2ui64ARB := dglGetProcAddress('glUniform2ui64ARB');
glUniform3ui64ARB := dglGetProcAddress('glUniform3ui64ARB');
glUniform4ui64ARB := dglGetProcAddress('glUniform4ui64ARB');
glUniform1ui64vARB := dglGetProcAddress('glUniform1ui64vARB');
glUniform2ui64vARB := dglGetProcAddress('glUniform2ui64vARB');
glUniform3ui64vARB := dglGetProcAddress('glUniform3ui64vARB');
glUniform4ui64vARB := dglGetProcAddress('glUniform4ui64vARB');
glGetUniformi64vARB := dglGetProcAddress('glGetUniformi64vARB');
glGetUniformui64vARB := dglGetProcAddress('glGetUniformui64vARB');
glGetnUniformi64vARB := dglGetProcAddress('glGetnUniformi64vARB');
glGetnUniformui64vARB := dglGetProcAddress('glGetnUniformui64vARB');
glProgramUniform1i64ARB := dglGetProcAddress('glProgramUniform1i64ARB');
glProgramUniform2i64ARB := dglGetProcAddress('glProgramUniform2i64ARB');
glProgramUniform3i64ARB := dglGetProcAddress('glProgramUniform3i64ARB');
glProgramUniform4i64ARB := dglGetProcAddress('glProgramUniform4i64ARB');
glProgramUniform1i64vARB := dglGetProcAddress('glProgramUniform1i64vARB');
glProgramUniform2i64vARB := dglGetProcAddress('glProgramUniform2i64vARB');
glProgramUniform3i64vARB := dglGetProcAddress('glProgramUniform3i64vARB');
glProgramUniform4i64vARB := dglGetProcAddress('glProgramUniform4i64vARB');
glProgramUniform1ui64ARB := dglGetProcAddress('glProgramUniform1ui64ARB');
glProgramUniform2ui64ARB := dglGetProcAddress('glProgramUniform2ui64ARB');
glProgramUniform3ui64ARB := dglGetProcAddress('glProgramUniform3ui64ARB');
glProgramUniform4ui64ARB := dglGetProcAddress('glProgramUniform4ui64ARB ');
glProgramUniform1ui64vARB := dglGetProcAddress('glProgramUniform1ui64vARB');
glProgramUniform2ui64vARB := dglGetProcAddress('glProgramUniform2ui64vARB');
glProgramUniform3ui64vARB := dglGetProcAddress('glProgramUniform3ui64vARB');
glProgramUniform4ui64vARB := dglGetProcAddress('glProgramUniform4ui64vARB');
end;

procedure Read_GL_ARB_shader_subroutine; procedure Read_GL_ARB_shader_subroutine;
begin begin
glGetSubroutineUniformLocation := dglGetProcAddress('glGetSubroutineUniformLocation'); glGetSubroutineUniformLocation := dglGetProcAddress('glGetSubroutineUniformLocation');
@@ -16627,6 +16875,16 @@ begin
glClearDepthf := dglGetProcAddress('glClearDepthf'); glClearDepthf := dglGetProcAddress('glClearDepthf');
end; end;


procedure Read_GL_ARB_ES3_2_compatibility;
begin
glPrimitiveBoundingBoxARB := dglGetProcAddress('glPrimitiveBoundingBoxARB');
end;

procedure Read_GL_ARB_parallel_shader_compile;
begin
glMaxShaderCompilerThreadsARB := dglGetProcAddress('glMaxShaderCompilerThreadsARB');
end;

procedure Read_GL_ARB_get_program_binary; procedure Read_GL_ARB_get_program_binary;
begin begin
glGetProgramBinary := dglGetProcAddress('glGetProgramBinary'); glGetProgramBinary := dglGetProcAddress('glGetProgramBinary');
@@ -18052,6 +18310,11 @@ begin
glTexCoordPointervINTEL := dglGetProcAddress('glTexCoordPointervINTEL'); glTexCoordPointervINTEL := dglGetProcAddress('glTexCoordPointervINTEL');
end; end;


procedure Read_GL_INTEL_framebuffer_CMAA;
begin
glApplyFramebufferAttachmentCMAAINTEL := dglGetProcAddress('glApplyFramebufferAttachmentCMAAINTEL');
end;

procedure Read_GL_MESA_resize_buffers; procedure Read_GL_MESA_resize_buffers;
begin begin
glResizeBuffersMESA := dglGetProcAddress('glResizeBuffersMESA'); glResizeBuffersMESA := dglGetProcAddress('glResizeBuffersMESA');
@@ -18361,6 +18624,17 @@ begin
glEndConditionalRenderNV := dglGetProcAddress('glEndConditionalRenderNV'); glEndConditionalRenderNV := dglGetProcAddress('glEndConditionalRenderNV');
end; end;


procedure Read_GL_NV_conservative_raster;
begin
glSubpixelPrecisionBiasNV := dglGetProcAddress('glSubpixelPrecisionBiasNV');
end;

procedure Read_GL_NV_conservative_raster_dilate;
begin
glConservativeRasterParameterfNV := dglGetProcAddress('glConservativeRasterParameterfNV');
end;


procedure Read_GL_NV_present_video; procedure Read_GL_NV_present_video;
begin begin
glPresentFrameKeyedNV := dglGetProcAddress('glPresentFrameKeyedNV'); glPresentFrameKeyedNV := dglGetProcAddress('glPresentFrameKeyedNV');
@@ -18535,6 +18809,11 @@ begin
glHintPGI := dglGetProcAddress('glHintPGI'); glHintPGI := dglGetProcAddress('glHintPGI');
end; end;


procedure Read_GL_OVR_multiview;
begin
glFramebufferTextureMultiviewOVR := dglGetProcAddress('glFramebufferTextureMultiviewOVR');
end;

procedure Read_GL_SGIS_detail_texture; procedure Read_GL_SGIS_detail_texture;
begin begin
glDetailTexFuncSGIS := dglGetProcAddress('glDetailTexFuncSGIS'); glDetailTexFuncSGIS := dglGetProcAddress('glDetailTexFuncSGIS');
@@ -19062,6 +19341,7 @@ begin
Read_GL_ARB_draw_instanced; Read_GL_ARB_draw_instanced;
Read_GL_ARB_framebuffer_object; Read_GL_ARB_framebuffer_object;
Read_GL_ARB_geometry_shader4; Read_GL_ARB_geometry_shader4;
Read_GL_ARB_gpu_shader_int64;
Read_GL_ARB_instanced_arrays; Read_GL_ARB_instanced_arrays;
Read_GL_ARB_map_buffer_range; Read_GL_ARB_map_buffer_range;
Read_GL_ARB_texture_buffer_object; Read_GL_ARB_texture_buffer_object;
@@ -19074,6 +19354,7 @@ begin
Read_GL_ARB_texture_multisample; Read_GL_ARB_texture_multisample;
Read_GL_ARB_draw_buffers_blend; Read_GL_ARB_draw_buffers_blend;
Read_GL_ARB_sample_shading; Read_GL_ARB_sample_shading;
Read_GL_ARB_sample_locations;
Read_GL_ARB_shading_language_include; Read_GL_ARB_shading_language_include;
Read_GL_ARB_sparse_texture; Read_GL_ARB_sparse_texture;
Read_GL_ARB_sparse_buffer; Read_GL_ARB_sparse_buffer;
@@ -19087,7 +19368,6 @@ begin
Read_GL_ARB_tessellation_shader; Read_GL_ARB_tessellation_shader;
Read_GL_ARB_transform_feedback2; Read_GL_ARB_transform_feedback2;
Read_GL_ARB_transform_feedback3; Read_GL_ARB_transform_feedback3;
Read_GL_ARB_ES2_compatibility;
Read_GL_ARB_get_program_binary; Read_GL_ARB_get_program_binary;
Read_GL_ARB_separate_shader_objects; Read_GL_ARB_separate_shader_objects;
Read_GL_ARB_vertex_attrib_64bit; Read_GL_ARB_vertex_attrib_64bit;
@@ -19096,6 +19376,7 @@ begin
Read_GL_ARB_compute_variable_group_size; Read_GL_ARB_compute_variable_group_size;
Read_GL_ARB_debug_output; Read_GL_ARB_debug_output;
Read_GL_ARB_robustness; Read_GL_ARB_robustness;
Read_GL_ARB_ES2_compatibility;
// //
Read_GL_ATI_draw_buffers; Read_GL_ATI_draw_buffers;
Read_GL_ATI_element_array; Read_GL_ATI_element_array;
@@ -19168,6 +19449,7 @@ begin
Read_GL_IBM_vertex_array_lists; Read_GL_IBM_vertex_array_lists;
Read_GL_INGR_blend_func_separate; Read_GL_INGR_blend_func_separate;
Read_GL_INTEL_parallel_arrays; Read_GL_INTEL_parallel_arrays;
Read_GL_INTEL_framebuffer_CMAA;
Read_GL_KHR_blend_equation_advanced; Read_GL_KHR_blend_equation_advanced;
Read_GL_MESA_resize_buffers; Read_GL_MESA_resize_buffers;
Read_GL_MESA_window_pos; Read_GL_MESA_window_pos;
@@ -19190,6 +19472,8 @@ begin
Read_GL_NV_parameter_buffer_object; Read_GL_NV_parameter_buffer_object;
Read_GL_NV_transform_feedback; Read_GL_NV_transform_feedback;
Read_GL_NV_conditional_render; Read_GL_NV_conditional_render;
Read_GL_NV_conservative_raster;
Read_GL_NV_conservative_raster_dilate;
Read_GL_NV_present_video; Read_GL_NV_present_video;
Read_GL_NV_explicit_multisample; Read_GL_NV_explicit_multisample;
Read_GL_NV_transform_feedback2; Read_GL_NV_transform_feedback2;
@@ -19205,6 +19489,7 @@ begin
Read_GL_NV_path_rendering; Read_GL_NV_path_rendering;
Read_GL_NV_bindless_texture; Read_GL_NV_bindless_texture;
Read_GL_PGI_misc_hints; Read_GL_PGI_misc_hints;
Read_GL_OVR_multiview;
Read_GL_SGIS_detail_texture; Read_GL_SGIS_detail_texture;
Read_GL_SGIS_fog_function; Read_GL_SGIS_fog_function;
Read_GL_SGIS_multisample; Read_GL_SGIS_multisample;
@@ -19233,6 +19518,9 @@ begin
Read_GL_SUN_triangle_list; Read_GL_SUN_triangle_list;
Read_GL_SUN_vertex; Read_GL_SUN_vertex;


Read_GL_ARB_ES3_2_compatibility;
Read_GL_ARB_parallel_shader_compile;

{$IFDEF DGL_WIN} {$IFDEF DGL_WIN}
Read_WGL_ARB_buffer_region; Read_WGL_ARB_buffer_region;
Read_WGL_ARB_extensions_string; Read_WGL_ARB_extensions_string;
@@ -19480,6 +19768,8 @@ begin
GL_ARB_shadow := Int_CheckExtension(Buffer, 'GL_ARB_shadow'); GL_ARB_shadow := Int_CheckExtension(Buffer, 'GL_ARB_shadow');
GL_ARB_shadow_ambient := Int_CheckExtension(Buffer, 'GL_ARB_shadow_ambient'); GL_ARB_shadow_ambient := Int_CheckExtension(Buffer, 'GL_ARB_shadow_ambient');
GL_ARB_sparse_texture := Int_CheckExtension(Buffer, 'GL_ARB_sparse_texture'); GL_ARB_sparse_texture := Int_CheckExtension(Buffer, 'GL_ARB_sparse_texture');
GL_ARB_sparse_texture2 := Int_CheckExtension(Buffer, 'GL_ARB_sparse_texture2');
GL_ARB_sparse_texture_clamp := Int_CheckExtension(Buffer, 'GL_ARB_sparse_texture_clamp');
GL_ARB_texture_border_clamp := Int_CheckExtension(Buffer, 'GL_ARB_texture_border_clamp'); GL_ARB_texture_border_clamp := Int_CheckExtension(Buffer, 'GL_ARB_texture_border_clamp');
GL_ARB_texture_compression := Int_CheckExtension(Buffer, 'GL_ARB_texture_compression'); GL_ARB_texture_compression := Int_CheckExtension(Buffer, 'GL_ARB_texture_compression');
GL_ARB_texture_cube_map := Int_CheckExtension(Buffer, 'GL_ARB_texture_cube_map'); GL_ARB_texture_cube_map := Int_CheckExtension(Buffer, 'GL_ARB_texture_cube_map');
@@ -19487,6 +19777,7 @@ begin
GL_ARB_texture_env_combine := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_combine'); GL_ARB_texture_env_combine := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_combine');
GL_ARB_texture_env_crossbar := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_crossbar'); GL_ARB_texture_env_crossbar := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_crossbar');
GL_ARB_texture_env_dot3 := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_dot3'); GL_ARB_texture_env_dot3 := Int_CheckExtension(Buffer, 'GL_ARB_texture_env_dot3');
GL_ARB_texture_filter_minmax := Int_CheckExtension(Buffer, 'GL_ARB_texture_filter_minmax');
GL_ARB_texture_mirrored_repeat := Int_CheckExtension(Buffer, 'GL_ARB_texture_mirrored_repeat'); GL_ARB_texture_mirrored_repeat := Int_CheckExtension(Buffer, 'GL_ARB_texture_mirrored_repeat');
GL_ARB_transpose_matrix := Int_CheckExtension(Buffer, 'GL_ARB_transpose_matrix'); GL_ARB_transpose_matrix := Int_CheckExtension(Buffer, 'GL_ARB_transpose_matrix');
GL_ARB_vertex_blend := Int_CheckExtension(Buffer, 'GL_ARB_vertex_blend'); GL_ARB_vertex_blend := Int_CheckExtension(Buffer, 'GL_ARB_vertex_blend');
@@ -19496,6 +19787,7 @@ begin
GL_ARB_shader_objects := Int_CheckExtension(Buffer, 'GL_ARB_shader_objects'); GL_ARB_shader_objects := Int_CheckExtension(Buffer, 'GL_ARB_shader_objects');
GL_ARB_vertex_shader := Int_CheckExtension(Buffer, 'GL_ARB_vertex_shader'); GL_ARB_vertex_shader := Int_CheckExtension(Buffer, 'GL_ARB_vertex_shader');
GL_ARB_fragment_shader := Int_CheckExtension(Buffer, 'GL_ARB_fragment_shader'); GL_ARB_fragment_shader := Int_CheckExtension(Buffer, 'GL_ARB_fragment_shader');
GL_ARB_fragment_shader_interlock := Int_CheckExtension(Buffer, 'GL_ARB_fragment_shader_interlock');
GL_ARB_occlusion_query := Int_CheckExtension(Buffer, 'GL_ARB_occlusion_query'); GL_ARB_occlusion_query := Int_CheckExtension(Buffer, 'GL_ARB_occlusion_query');
GL_ARB_shading_language_100 := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_100'); GL_ARB_shading_language_100 := Int_CheckExtension(Buffer, 'GL_ARB_shading_language_100');
GL_ARB_point_sprite := Int_CheckExtension(Buffer, 'GL_ARB_point_sprite'); GL_ARB_point_sprite := Int_CheckExtension(Buffer, 'GL_ARB_point_sprite');
@@ -19523,6 +19815,7 @@ begin
GL_ARB_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_compatibility'); GL_ARB_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_compatibility');
GL_ARB_copy_buffer := Int_CheckExtension(Buffer, 'GL_ARB_copy_buffer'); GL_ARB_copy_buffer := Int_CheckExtension(Buffer, 'GL_ARB_copy_buffer');
GL_ARB_shader_texture_lod := Int_CheckExtension(Buffer, 'GL_ARB_shader_texture_lod'); GL_ARB_shader_texture_lod := Int_CheckExtension(Buffer, 'GL_ARB_shader_texture_lod');
GL_ARB_shader_viewport_layer_array := Int_CheckExtension(Buffer, 'GL_ARB_shader_viewport_layer_array');
GL_ARB_depth_clamp := Int_CheckExtension(Buffer, 'GL_ARB_depth_clamp'); GL_ARB_depth_clamp := Int_CheckExtension(Buffer, 'GL_ARB_depth_clamp');
GL_ARB_draw_elements_base_vertex := Int_CheckExtension(Buffer, 'GL_ARB_draw_elements_base_vertex'); GL_ARB_draw_elements_base_vertex := Int_CheckExtension(Buffer, 'GL_ARB_draw_elements_base_vertex');
GL_ARB_fragment_coord_conventions := Int_CheckExtension(Buffer, 'GL_ARB_fragment_coord_conventions'); GL_ARB_fragment_coord_conventions := Int_CheckExtension(Buffer, 'GL_ARB_fragment_coord_conventions');
@@ -19541,8 +19834,11 @@ begin
GL_ARB_blend_func_extended := Int_CheckExtension(Buffer, 'GL_ARB_blend_func_extended'); GL_ARB_blend_func_extended := Int_CheckExtension(Buffer, 'GL_ARB_blend_func_extended');
GL_ARB_explicit_attrib_location := Int_CheckExtension(Buffer, 'GL_ARB_explicit_attrib_location'); GL_ARB_explicit_attrib_location := Int_CheckExtension(Buffer, 'GL_ARB_explicit_attrib_location');
GL_ARB_occlusion_query2 := Int_CheckExtension(Buffer, 'GL_ARB_occlusion_query2'); GL_ARB_occlusion_query2 := Int_CheckExtension(Buffer, 'GL_ARB_occlusion_query2');
GL_ARB_parallel_shader_compile := Int_CheckExtension(Buffer, 'GL_ARB_parallel_shader_compile');
GL_ARB_post_depth_coverage := Int_CheckExtension(Buffer, 'GL_ARB_post_depth_coverage');
GL_ARB_sampler_objects := Int_CheckExtension(Buffer, 'GL_ARB_sampler_objects'); GL_ARB_sampler_objects := Int_CheckExtension(Buffer, 'GL_ARB_sampler_objects');
GL_ARB_shader_bit_encoding := Int_CheckExtension(Buffer, 'GL_ARB_shader_bit_encoding'); GL_ARB_shader_bit_encoding := Int_CheckExtension(Buffer, 'GL_ARB_shader_bit_encoding');
GL_ARB_shader_clock := Int_CheckExtension(Buffer, 'GL_ARB_shader_clock');
GL_ARB_texture_rgb10_a2ui := Int_CheckExtension(Buffer, 'GL_ARB_texture_rgb10_a2ui'); GL_ARB_texture_rgb10_a2ui := Int_CheckExtension(Buffer, 'GL_ARB_texture_rgb10_a2ui');
GL_ARB_texture_swizzle := Int_CheckExtension(Buffer, 'GL_ARB_texture_swizzle'); GL_ARB_texture_swizzle := Int_CheckExtension(Buffer, 'GL_ARB_texture_swizzle');
GL_ARB_timer_query := Int_CheckExtension(Buffer, 'GL_ARB_timer_query'); GL_ARB_timer_query := Int_CheckExtension(Buffer, 'GL_ARB_timer_query');
@@ -19550,14 +19846,18 @@ begin
GL_ARB_draw_indirect := Int_CheckExtension(Buffer, 'GL_ARB_draw_indirect'); GL_ARB_draw_indirect := Int_CheckExtension(Buffer, 'GL_ARB_draw_indirect');
GL_ARB_gpu_shader5 := Int_CheckExtension(Buffer, 'GL_ARB_gpu_shader5'); GL_ARB_gpu_shader5 := Int_CheckExtension(Buffer, 'GL_ARB_gpu_shader5');
GL_ARB_gpu_shader_fp64 := Int_CheckExtension(Buffer, 'GL_ARB_gpu_shader_fp64'); GL_ARB_gpu_shader_fp64 := Int_CheckExtension(Buffer, 'GL_ARB_gpu_shader_fp64');
GL_ARB_gpu_shader_int64 := Int_CheckExtension(Buffer, 'GL_ARB_gpu_shader_int64');
GL_ARB_shader_subroutine := Int_CheckExtension(Buffer, 'GL_ARB_shader_subroutine'); GL_ARB_shader_subroutine := Int_CheckExtension(Buffer, 'GL_ARB_shader_subroutine');
GL_ARB_tessellation_shader := Int_CheckExtension(Buffer, 'GL_ARB_tessellation_shader'); GL_ARB_tessellation_shader := Int_CheckExtension(Buffer, 'GL_ARB_tessellation_shader');
GL_ARB_texture_buffer_object_rgb32 := Int_CheckExtension(Buffer, 'GL_ARB_texture_buffer_object_rgb32'); GL_ARB_texture_buffer_object_rgb32 := Int_CheckExtension(Buffer, 'GL_ARB_texture_buffer_object_rgb32');
GL_ARB_transform_feedback2 := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback2'); GL_ARB_transform_feedback2 := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback2');
GL_ARB_transform_feedback3 := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback3'); GL_ARB_transform_feedback3 := Int_CheckExtension(Buffer, 'GL_ARB_transform_feedback3');
GL_ARB_ES2_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_ES2_compatibility'); GL_ARB_ES2_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_ES2_compatibility');
GL_ARB_ES3_2_compatibility := Int_CheckExtension(Buffer, 'GL_ARB_ES3_2_compatibility');
GL_ARB_get_program_binary := Int_CheckExtension(Buffer, 'GL_ARB_get_program_binary'); GL_ARB_get_program_binary := Int_CheckExtension(Buffer, 'GL_ARB_get_program_binary');
GL_ARB_separate_shader_objects := Int_CheckExtension(Buffer, 'GL_ARB_separate_shader_objects'); GL_ARB_separate_shader_objects := Int_CheckExtension(Buffer, 'GL_ARB_separate_shader_objects');
GL_ARB_shader_atomic_counter_ops := Int_CheckExtension(Buffer, 'GL_ARB_shader_atomic_counter_ops');
GL_ARB_shader_ballot := Int_CheckExtension(Buffer, 'GL_ARB_shader_ballot');
GL_ARB_shader_precision := Int_CheckExtension(Buffer, 'GL_ARB_shader_precision'); GL_ARB_shader_precision := Int_CheckExtension(Buffer, 'GL_ARB_shader_precision');
GL_ARB_vertex_attrib_64bit := Int_CheckExtension(Buffer, 'GL_ARB_vertex_attrib_64bit'); GL_ARB_vertex_attrib_64bit := Int_CheckExtension(Buffer, 'GL_ARB_vertex_attrib_64bit');
GL_ARB_viewport_array := Int_CheckExtension(Buffer, 'GL_ARB_viewport_array'); GL_ARB_viewport_array := Int_CheckExtension(Buffer, 'GL_ARB_viewport_array');
@@ -19779,6 +20079,7 @@ begin
GL_INGR_palette_buffer := Int_CheckExtension(Buffer, 'GL_INGR_palette_buffer'); GL_INGR_palette_buffer := Int_CheckExtension(Buffer, 'GL_INGR_palette_buffer');


// INTEL // INTEL
GL_INTEL_framebuffer_CMAA := Int_CheckExtension(Buffer, 'GL_INTEL_framebuffer_CMAA');
GL_INTEL_parallel_arrays := Int_CheckExtension(Buffer, 'GL_INTEL_parallel_arrays'); GL_INTEL_parallel_arrays := Int_CheckExtension(Buffer, 'GL_INTEL_parallel_arrays');
GL_INTEL_texture_scissor := Int_CheckExtension(Buffer, 'GL_INTEL_texture_scissor'); GL_INTEL_texture_scissor := Int_CheckExtension(Buffer, 'GL_INTEL_texture_scissor');


@@ -19790,6 +20091,7 @@ begin
// 4.5 // 4.5
GL_KHR_blend_equation_advanced := Int_CheckExtension(Buffer, 'GL_KHR_blend_equation_advanced'); GL_KHR_blend_equation_advanced := Int_CheckExtension(Buffer, 'GL_KHR_blend_equation_advanced');
GL_KHR_blend_equation_advanced_coherent := Int_CheckExtension(Buffer, 'GL_KHR_blend_equation_advanced_coherent'); GL_KHR_blend_equation_advanced_coherent := Int_CheckExtension(Buffer, 'GL_KHR_blend_equation_advanced_coherent');
GL_KHR_no_error := Int_CheckExtension(Buffer, 'GL_KHR_no_error');
GL_KHR_robustness := Int_CheckExtension(Buffer, 'GL_KHR_robustness'); GL_KHR_robustness := Int_CheckExtension(Buffer, 'GL_KHR_robustness');
GL_KHR_robust_buffer_access_behavior := Int_CheckExtension(Buffer, 'GL_KHR_robust_buffer_access_behavior'); GL_KHR_robust_buffer_access_behavior := Int_CheckExtension(Buffer, 'GL_KHR_robust_buffer_access_behavior');


@@ -19839,6 +20141,8 @@ begin
GL_NV_transform_feedback := Int_CheckExtension(Buffer, 'GL_NV_transform_feedback'); GL_NV_transform_feedback := Int_CheckExtension(Buffer, 'GL_NV_transform_feedback');
GL_NV_vertex_program4 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program4'); GL_NV_vertex_program4 := Int_CheckExtension(Buffer, 'GL_NV_vertex_program4');
GL_NV_conditional_render := Int_CheckExtension(Buffer, 'GL_NV_conditional_render'); GL_NV_conditional_render := Int_CheckExtension(Buffer, 'GL_NV_conditional_render');
GL_NV_conservative_raster := Int_CheckExtension(Buffer, 'GL_NV_conservative_raster');
GL_NV_conservative_raster_dilate := Int_CheckExtension(Buffer, 'GL_NV_conservative_raster_dilate');
GL_NV_present_video := Int_CheckExtension(Buffer, 'GL_NV_present_video'); GL_NV_present_video := Int_CheckExtension(Buffer, 'GL_NV_present_video');
GL_NV_explicit_multisample := Int_CheckExtension(Buffer, 'GL_NV_explicit_multisample'); GL_NV_explicit_multisample := Int_CheckExtension(Buffer, 'GL_NV_explicit_multisample');
GL_NV_transform_feedback2 := Int_CheckExtension(Buffer, 'GL_NV_transform_feedback2'); GL_NV_transform_feedback2 := Int_CheckExtension(Buffer, 'GL_NV_transform_feedback2');
@@ -19865,6 +20169,10 @@ begin
GL_OML_resample := Int_CheckExtension(Buffer, 'GL_OML_resample'); GL_OML_resample := Int_CheckExtension(Buffer, 'GL_OML_resample');
GL_OML_subsample := Int_CheckExtension(Buffer, 'GL_OML_subsample'); GL_OML_subsample := Int_CheckExtension(Buffer, 'GL_OML_subsample');


// OVR
GL_OVR_multiview := Int_CheckExtension(Buffer, 'GL_OVR_multiview');
GL_OVR_multiview2 := Int_CheckExtension(Buffer, 'GL_OVR_multiview2');

// PGI // PGI
GL_PGI_misc_hints := Int_CheckExtension(Buffer, 'GL_PGI_misc_hints'); GL_PGI_misc_hints := Int_CheckExtension(Buffer, 'GL_PGI_misc_hints');
GL_PGI_vertex_hints := Int_CheckExtension(Buffer, 'GL_PGI_vertex_hints'); GL_PGI_vertex_hints := Int_CheckExtension(Buffer, 'GL_PGI_vertex_hints');


Loading…
Cancel
Save