Commit c40df30f authored by hybrid's avatar hybrid

Update to latest headers and extensions from OpenGL

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3919 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 5de816e5
...@@ -94,8 +94,10 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -94,8 +94,10 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_AMD_debug_output", "GL_AMD_debug_output",
"GL_AMD_depth_clamp_separate", "GL_AMD_depth_clamp_separate",
"GL_AMD_draw_buffers_blend", "GL_AMD_draw_buffers_blend",
"GL_AMD_multi_draw_indirect",
"GL_AMD_name_gen_delete", "GL_AMD_name_gen_delete",
"GL_AMD_performance_monitor", "GL_AMD_performance_monitor",
"GL_AMD_sample_positions",
"GL_AMD_seamless_cubemap_per_texture", "GL_AMD_seamless_cubemap_per_texture",
"GL_AMD_shader_stencil_export", "GL_AMD_shader_stencil_export",
"GL_AMD_texture_texture4", "GL_AMD_texture_texture4",
...@@ -117,10 +119,13 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -117,10 +119,13 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_APPLE_vertex_array_range", "GL_APPLE_vertex_array_range",
"GL_APPLE_vertex_program_evaluators", "GL_APPLE_vertex_program_evaluators",
"GL_APPLE_ycbcr_422", "GL_APPLE_ycbcr_422",
"GL_ARB_base_instance",
"GL_ARB_blend_func_extended", "GL_ARB_blend_func_extended",
"GL_ARB_cl_event", "GL_ARB_cl_event",
"GL_ARB_color_buffer_float", "GL_ARB_color_buffer_float",
"GL_ARB_compatibility", "GL_ARB_compatibility",
"GL_ARB_compressed_texture_pixel_storage",
"GL_ARB_conservative_depth",
"GL_ARB_copy_buffer", "GL_ARB_copy_buffer",
"GL_ARB_debug_output", "GL_ARB_debug_output",
"GL_ARB_depth_buffer_float", "GL_ARB_depth_buffer_float",
...@@ -147,6 +152,8 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -147,6 +152,8 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_ARB_half_float_vertex", "GL_ARB_half_float_vertex",
"GL_ARB_imaging", "GL_ARB_imaging",
"GL_ARB_instanced_arrays", "GL_ARB_instanced_arrays",
"GL_ARB_internalformat_query",
"GL_ARB_map_buffer_alignment",
"GL_ARB_map_buffer_range", "GL_ARB_map_buffer_range",
"GL_ARB_matrix_palette", "GL_ARB_matrix_palette",
"GL_ARB_multisample", "GL_ARB_multisample",
...@@ -162,13 +169,18 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -162,13 +169,18 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_ARB_sampler_objects", "GL_ARB_sampler_objects",
"GL_ARB_seamless_cube_map", "GL_ARB_seamless_cube_map",
"GL_ARB_separate_shader_objects", "GL_ARB_separate_shader_objects",
"GL_ARB_shader_atomic_counters",
"GL_ARB_shader_bit_encoding",
"GL_ARB_shader_image_load_store",
"GL_ARB_shader_objects", "GL_ARB_shader_objects",
"GL_ARB_shader_precision", "GL_ARB_shader_precision",
"GL_ARB_shader_stencil_export", "GL_ARB_shader_stencil_export",
"GL_ARB_shader_subroutine", "GL_ARB_shader_subroutine",
"GL_ARB_shader_texture_lod", "GL_ARB_shader_texture_lod",
"GL_ARB_shading_language_100", "GL_ARB_shading_language_100",
"GL_ARB_shading_language_420pack",
"GL_ARB_shading_language_include", "GL_ARB_shading_language_include",
"GL_ARB_shading_language_packing",
"GL_ARB_shadow", "GL_ARB_shadow",
"GL_ARB_shadow_ambient", "GL_ARB_shadow_ambient",
"GL_ARB_sync", "GL_ARB_sync",
...@@ -194,10 +206,12 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -194,10 +206,12 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_ARB_texture_rectangle", "GL_ARB_texture_rectangle",
"GL_ARB_texture_rg", "GL_ARB_texture_rg",
"GL_ARB_texture_rgb10_a2ui", "GL_ARB_texture_rgb10_a2ui",
"GL_ARB_texture_storage",
"GL_ARB_texture_swizzle", "GL_ARB_texture_swizzle",
"GL_ARB_timer_query", "GL_ARB_timer_query",
"GL_ARB_transform_feedback2", "GL_ARB_transform_feedback2",
"GL_ARB_transform_feedback3", "GL_ARB_transform_feedback3",
"GL_ARB_transform_feedback_instanced",
"GL_ARB_transpose_matrix", "GL_ARB_transpose_matrix",
"GL_ARB_uniform_buffer_object", "GL_ARB_uniform_buffer_object",
"GL_ARB_vertex_array_bgra", "GL_ARB_vertex_array_bgra",
...@@ -252,6 +266,7 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -252,6 +266,7 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_EXT_fog_coord", "GL_EXT_fog_coord",
"GL_EXT_framebuffer_blit", "GL_EXT_framebuffer_blit",
"GL_EXT_framebuffer_multisample", "GL_EXT_framebuffer_multisample",
"GL_EXT_framebuffer_multisample_blit_scaled",
"GL_EXT_framebuffer_object", "GL_EXT_framebuffer_object",
"GL_EXT_framebuffer_sRGB", "GL_EXT_framebuffer_sRGB",
"GL_EXT_geometry_shader4", "GL_EXT_geometry_shader4",
...@@ -316,6 +331,7 @@ static const char* const OpenGLFeatureStrings[] = { ...@@ -316,6 +331,7 @@ static const char* const OpenGLFeatureStrings[] = {
"GL_EXT_vertex_attrib_64bit", "GL_EXT_vertex_attrib_64bit",
"GL_EXT_vertex_shader", "GL_EXT_vertex_shader",
"GL_EXT_vertex_weighting", "GL_EXT_vertex_weighting",
"GL_EXT_x11_sync_object",
"GL_FfdMaskSGIX", "GL_FfdMaskSGIX",
"GL_GREMEDY_frame_terminator", "GL_GREMEDY_frame_terminator",
"GL_GREMEDY_string_marker", "GL_GREMEDY_string_marker",
...@@ -496,8 +512,10 @@ class COpenGLExtensionHandler ...@@ -496,8 +512,10 @@ class COpenGLExtensionHandler
IRR_AMD_debug_output, IRR_AMD_debug_output,
IRR_AMD_depth_clamp_separate, IRR_AMD_depth_clamp_separate,
IRR_AMD_draw_buffers_blend, IRR_AMD_draw_buffers_blend,
IRR_AMD_multi_draw_indirect,
IRR_AMD_name_gen_delete, IRR_AMD_name_gen_delete,
IRR_AMD_performance_monitor, IRR_AMD_performance_monitor,
IRR_AMD_sample_positions,
IRR_AMD_seamless_cubemap_per_texture, IRR_AMD_seamless_cubemap_per_texture,
IRR_AMD_shader_stencil_export, IRR_AMD_shader_stencil_export,
IRR_AMD_texture_texture4, IRR_AMD_texture_texture4,
...@@ -519,10 +537,13 @@ class COpenGLExtensionHandler ...@@ -519,10 +537,13 @@ class COpenGLExtensionHandler
IRR_APPLE_vertex_array_range, IRR_APPLE_vertex_array_range,
IRR_APPLE_vertex_program_evaluators, IRR_APPLE_vertex_program_evaluators,
IRR_APPLE_ycbcr_422, IRR_APPLE_ycbcr_422,
IRR_ARB_base_instance,
IRR_ARB_blend_func_extended, IRR_ARB_blend_func_extended,
IRR_ARB_cl_event, IRR_ARB_cl_event,
IRR_ARB_color_buffer_float, IRR_ARB_color_buffer_float,
IRR_ARB_compatibility, IRR_ARB_compatibility,
IRR_ARB_compressed_texture_pixel_storage,
IRR_ARB_conservative_depth,
IRR_ARB_copy_buffer, IRR_ARB_copy_buffer,
IRR_ARB_debug_output, IRR_ARB_debug_output,
IRR_ARB_depth_buffer_float, IRR_ARB_depth_buffer_float,
...@@ -549,6 +570,8 @@ class COpenGLExtensionHandler ...@@ -549,6 +570,8 @@ class COpenGLExtensionHandler
IRR_ARB_half_float_vertex, IRR_ARB_half_float_vertex,
IRR_ARB_imaging, IRR_ARB_imaging,
IRR_ARB_instanced_arrays, IRR_ARB_instanced_arrays,
IRR_ARB_internalformat_query,
IRR_ARB_map_buffer_alignment,
IRR_ARB_map_buffer_range, IRR_ARB_map_buffer_range,
IRR_ARB_matrix_palette, IRR_ARB_matrix_palette,
IRR_ARB_multisample, IRR_ARB_multisample,
...@@ -564,13 +587,18 @@ class COpenGLExtensionHandler ...@@ -564,13 +587,18 @@ class COpenGLExtensionHandler
IRR_ARB_sampler_objects, IRR_ARB_sampler_objects,
IRR_ARB_seamless_cube_map, IRR_ARB_seamless_cube_map,
IRR_ARB_separate_shader_objects, IRR_ARB_separate_shader_objects,
IRR_ARB_shader_atomic_counters,
IRR_ARB_shader_bit_encoding,
IRR_ARB_shader_image_load_store,
IRR_ARB_shader_objects, IRR_ARB_shader_objects,
IRR_ARB_shader_precision, IRR_ARB_shader_precision,
IRR_ARB_shader_stencil_export, IRR_ARB_shader_stencil_export,
IRR_ARB_shader_subroutine, IRR_ARB_shader_subroutine,
IRR_ARB_shader_texture_lod, IRR_ARB_shader_texture_lod,
IRR_ARB_shading_language_100, IRR_ARB_shading_language_100,
IRR_ARB_shading_language_420pack,
IRR_ARB_shading_language_include, IRR_ARB_shading_language_include,
IRR_ARB_shading_language_packing,
IRR_ARB_shadow, IRR_ARB_shadow,
IRR_ARB_shadow_ambient, IRR_ARB_shadow_ambient,
IRR_ARB_sync, IRR_ARB_sync,
...@@ -596,10 +624,12 @@ class COpenGLExtensionHandler ...@@ -596,10 +624,12 @@ class COpenGLExtensionHandler
IRR_ARB_texture_rectangle, IRR_ARB_texture_rectangle,
IRR_ARB_texture_rg, IRR_ARB_texture_rg,
IRR_ARB_texture_rgb10_a2ui, IRR_ARB_texture_rgb10_a2ui,
IRR_ARB_texture_storage,
IRR_ARB_texture_swizzle, IRR_ARB_texture_swizzle,
IRR_ARB_timer_query, IRR_ARB_timer_query,
IRR_ARB_transform_feedback2, IRR_ARB_transform_feedback2,
IRR_ARB_transform_feedback3, IRR_ARB_transform_feedback3,
IRR_ARB_transform_feedback_instanced,
IRR_ARB_transpose_matrix, IRR_ARB_transpose_matrix,
IRR_ARB_uniform_buffer_object, IRR_ARB_uniform_buffer_object,
IRR_ARB_vertex_array_bgra, IRR_ARB_vertex_array_bgra,
...@@ -654,6 +684,7 @@ class COpenGLExtensionHandler ...@@ -654,6 +684,7 @@ class COpenGLExtensionHandler
IRR_EXT_fog_coord, IRR_EXT_fog_coord,
IRR_EXT_framebuffer_blit, IRR_EXT_framebuffer_blit,
IRR_EXT_framebuffer_multisample, IRR_EXT_framebuffer_multisample,
IRR_EXT_framebuffer_multisample_blit_scaled,
IRR_EXT_framebuffer_object, IRR_EXT_framebuffer_object,
IRR_EXT_framebuffer_sRGB, IRR_EXT_framebuffer_sRGB,
IRR_EXT_geometry_shader4, IRR_EXT_geometry_shader4,
...@@ -718,6 +749,7 @@ class COpenGLExtensionHandler ...@@ -718,6 +749,7 @@ class COpenGLExtensionHandler
IRR_EXT_vertex_attrib_64bit, IRR_EXT_vertex_attrib_64bit,
IRR_EXT_vertex_shader, IRR_EXT_vertex_shader,
IRR_EXT_vertex_weighting, IRR_EXT_vertex_weighting,
IRR_EXT_x11_sync_object,
IRR_FfdMaskSGIX, IRR_FfdMaskSGIX,
IRR_GREMEDY_frame_terminator, IRR_GREMEDY_frame_terminator,
IRR_GREMEDY_string_marker, IRR_GREMEDY_string_marker,
......
...@@ -6,7 +6,7 @@ extern "C" { ...@@ -6,7 +6,7 @@ extern "C" {
#endif #endif
/* /*
** Copyright (c) 2007-2010 The Khronos Group Inc. ** Copyright (c) 2007-2011 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
...@@ -29,9 +29,9 @@ extern "C" { ...@@ -29,9 +29,9 @@ extern "C" {
*/ */
/* Header file version number, required by OpenGL ABI for Linux */ /* Header file version number, required by OpenGL ABI for Linux */
/* glext.h last updated $Date: 2011-04-05 23:08:32 -0700 (Tue, 05 Apr 2011) $ */ /* glext.h last updated $Date: 2011-08-08 00:34:29 -0700 (Mon, 08 Aug 2011) $ */
/* Current version at http://www.opengl.org/registry/ */ /* Current version at http://www.opengl.org/registry/ */
#define GL_GLEXT_VERSION 68 #define GL_GLEXT_VERSION 72
/* Function declaration macros - to move into glplatform.h */ /* Function declaration macros - to move into glplatform.h */
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
...@@ -1047,6 +1047,124 @@ extern "C" { ...@@ -1047,6 +1047,124 @@ extern "C" {
/* reuse GL_UNDEFINED_VERTEX */ /* reuse GL_UNDEFINED_VERTEX */
#endif #endif
#ifndef GL_VERSION_4_2
/* Reuse tokens from ARB_base_instance (none) */
/* Reuse tokens from ARB_shading_language_420pack (none) */
/* Reuse tokens from ARB_transform_feedback_instanced (none) */
/* Reuse tokens from ARB_compressed_texture_pixel_storage */
/* reuse GL_UNPACK_COMPRESSED_BLOCK_WIDTH */
/* reuse GL_UNPACK_COMPRESSED_BLOCK_HEIGHT */
/* reuse GL_UNPACK_COMPRESSED_BLOCK_DEPTH */
/* reuse GL_UNPACK_COMPRESSED_BLOCK_SIZE */
/* reuse GL_PACK_COMPRESSED_BLOCK_WIDTH */
/* reuse GL_PACK_COMPRESSED_BLOCK_HEIGHT */
/* reuse GL_PACK_COMPRESSED_BLOCK_DEPTH */
/* reuse GL_PACK_COMPRESSED_BLOCK_SIZE */
/* Reuse tokens from ARB_conservative_depth (none) */
/* Reuse tokens from ARB_internalformat_query */
/* reuse GL_NUM_SAMPLE_COUNTS */
/* Reuse tokens from ARB_map_buffer_alignment */
/* reuse GL_MIN_MAP_BUFFER_ALIGNMENT */
/* Reuse tokens from ARB_shader_atomic_counters */
/* reuse GL_ATOMIC_COUNTER_BUFFER */
/* reuse GL_ATOMIC_COUNTER_BUFFER_BINDING */
/* reuse GL_ATOMIC_COUNTER_BUFFER_START */
/* reuse GL_ATOMIC_COUNTER_BUFFER_SIZE */
/* reuse GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE */
/* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS */
/* reuse GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES */
/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER */
/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER */
/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER */
/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER */
/* reuse GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER */
/* reuse GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS */
/* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS */
/* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS */
/* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS */
/* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS */
/* reuse GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS */
/* reuse GL_MAX_VERTEX_ATOMIC_COUNTERS */
/* reuse GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS */
/* reuse GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS */
/* reuse GL_MAX_GEOMETRY_ATOMIC_COUNTERS */
/* reuse GL_MAX_FRAGMENT_ATOMIC_COUNTERS */
/* reuse GL_MAX_COMBINED_ATOMIC_COUNTERS */
/* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE */
/* reuse GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS */
/* reuse GL_ACTIVE_ATOMIC_COUNTER_BUFFERS */
/* reuse GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX */
/* reuse GL_UNSIGNED_INT_ATOMIC_COUNTER */
/* Reuse tokens from ARB_shader_image_load_store */
/* reuse GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT */
/* reuse GL_ELEMENT_ARRAY_BARRIER_BIT */
/* reuse GL_UNIFORM_BARRIER_BIT */
/* reuse GL_TEXTURE_FETCH_BARRIER_BIT */
/* reuse GL_SHADER_IMAGE_ACCESS_BARRIER_BIT */
/* reuse GL_COMMAND_BARRIER_BIT */
/* reuse GL_PIXEL_BUFFER_BARRIER_BIT */
/* reuse GL_TEXTURE_UPDATE_BARRIER_BIT */
/* reuse GL_BUFFER_UPDATE_BARRIER_BIT */
/* reuse GL_FRAMEBUFFER_BARRIER_BIT */
/* reuse GL_TRANSFORM_FEEDBACK_BARRIER_BIT */
/* reuse GL_ATOMIC_COUNTER_BARRIER_BIT */
/* reuse GL_ALL_BARRIER_BITS */
/* reuse GL_MAX_IMAGE_UNITS */
/* reuse GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS */
/* reuse GL_IMAGE_BINDING_NAME */
/* reuse GL_IMAGE_BINDING_LEVEL */
/* reuse GL_IMAGE_BINDING_LAYERED */
/* reuse GL_IMAGE_BINDING_LAYER */
/* reuse GL_IMAGE_BINDING_ACCESS */
/* reuse GL_IMAGE_1D */
/* reuse GL_IMAGE_2D */
/* reuse GL_IMAGE_3D */
/* reuse GL_IMAGE_2D_RECT */
/* reuse GL_IMAGE_CUBE */
/* reuse GL_IMAGE_BUFFER */
/* reuse GL_IMAGE_1D_ARRAY */
/* reuse GL_IMAGE_2D_ARRAY */
/* reuse GL_IMAGE_CUBE_MAP_ARRAY */
/* reuse GL_IMAGE_2D_MULTISAMPLE */
/* reuse GL_IMAGE_2D_MULTISAMPLE_ARRAY */
/* reuse GL_INT_IMAGE_1D */
/* reuse GL_INT_IMAGE_2D */
/* reuse GL_INT_IMAGE_3D */
/* reuse GL_INT_IMAGE_2D_RECT */
/* reuse GL_INT_IMAGE_CUBE */
/* reuse GL_INT_IMAGE_BUFFER */
/* reuse GL_INT_IMAGE_1D_ARRAY */
/* reuse GL_INT_IMAGE_2D_ARRAY */
/* reuse GL_INT_IMAGE_CUBE_MAP_ARRAY */
/* reuse GL_INT_IMAGE_2D_MULTISAMPLE */
/* reuse GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
/* reuse GL_UNSIGNED_INT_IMAGE_1D */
/* reuse GL_UNSIGNED_INT_IMAGE_2D */
/* reuse GL_UNSIGNED_INT_IMAGE_3D */
/* reuse GL_UNSIGNED_INT_IMAGE_2D_RECT */
/* reuse GL_UNSIGNED_INT_IMAGE_CUBE */
/* reuse GL_UNSIGNED_INT_IMAGE_BUFFER */
/* reuse GL_UNSIGNED_INT_IMAGE_1D_ARRAY */
/* reuse GL_UNSIGNED_INT_IMAGE_2D_ARRAY */
/* reuse GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY */
/* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE */
/* reuse GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY */
/* reuse GL_MAX_IMAGE_SAMPLES */
/* reuse GL_IMAGE_BINDING_FORMAT */
/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_TYPE */
/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE */
/* reuse GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS */
/* reuse GL_MAX_VERTEX_IMAGE_UNIFORMS */
/* reuse GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS */
/* reuse GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS */
/* reuse GL_MAX_GEOMETRY_IMAGE_UNIFORMS */
/* reuse GL_MAX_FRAGMENT_IMAGE_UNIFORMS */
/* reuse GL_MAX_COMBINED_IMAGE_UNIFORMS */
/* Reuse tokens from ARB_shading_language_packing (none) */
/* Reuse tokens from ARB_texture_storage */
/* reuse GL_TEXTURE_IMMUTABLE_FORMAT */
#endif
#ifndef GL_ARB_multitexture #ifndef GL_ARB_multitexture
#define GL_TEXTURE0_ARB 0x84C0 #define GL_TEXTURE0_ARB 0x84C0
#define GL_TEXTURE1_ARB 0x84C1 #define GL_TEXTURE1_ARB 0x84C1
...@@ -2140,6 +2258,143 @@ extern "C" { ...@@ -2140,6 +2258,143 @@ extern "C" {
#ifndef GL_ARB_shader_stencil_export #ifndef GL_ARB_shader_stencil_export
#endif #endif
#ifndef GL_ARB_base_instance
#endif
#ifndef GL_ARB_shading_language_420pack
#endif
#ifndef GL_ARB_transform_feedback_instanced
#endif
#ifndef GL_ARB_compressed_texture_pixel_storage
#define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127
#define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128
#define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129
#define GL_UNPACK_COMPRESSED_BLOCK_SIZE 0x912A
#define GL_PACK_COMPRESSED_BLOCK_WIDTH 0x912B
#define GL_PACK_COMPRESSED_BLOCK_HEIGHT 0x912C
#define GL_PACK_COMPRESSED_BLOCK_DEPTH 0x912D
#define GL_PACK_COMPRESSED_BLOCK_SIZE 0x912E
#endif
#ifndef GL_ARB_conservative_depth
#endif
#ifndef GL_ARB_internalformat_query
#define GL_NUM_SAMPLE_COUNTS 0x9380
#endif
#ifndef GL_ARB_map_buffer_alignment
#define GL_MIN_MAP_BUFFER_ALIGNMENT 0x90BC
#endif
#ifndef GL_ARB_shader_atomic_counters
#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
#define GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE 0x92C4
#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS 0x92C5
#define GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES 0x92C6
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER 0x92C7
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER 0x92C8
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER 0x92C9
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER 0x92CA
#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER 0x92CB
#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS 0x92CD
#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS 0x92CE
#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS 0x92CF
#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS 0x92D3
#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS 0x92D4
#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS 0x92D5
#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
#define GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX 0x92DA
#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
#endif
#ifndef GL_ARB_shader_image_load_store
#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
#define GL_UNIFORM_BARRIER_BIT 0x00000004
#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
#define GL_COMMAND_BARRIER_BIT 0x00000040
#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
#define GL_ALL_BARRIER_BITS 0xFFFFFFFF
#define GL_MAX_IMAGE_UNITS 0x8F38
#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
#define GL_IMAGE_BINDING_NAME 0x8F3A
#define GL_IMAGE_BINDING_LEVEL 0x8F3B
#define GL_IMAGE_BINDING_LAYERED 0x8F3C
#define GL_IMAGE_BINDING_LAYER 0x8F3D
#define GL_IMAGE_BINDING_ACCESS 0x8F3E
#define GL_IMAGE_1D 0x904C
#define GL_IMAGE_2D 0x904D
#define GL_IMAGE_3D 0x904E
#define GL_IMAGE_2D_RECT 0x904F
#define GL_IMAGE_CUBE 0x9050
#define GL_IMAGE_BUFFER 0x9051
#define GL_IMAGE_1D_ARRAY 0x9052
#define GL_IMAGE_2D_ARRAY 0x9053
#define GL_IMAGE_CUBE_MAP_ARRAY 0x9054
#define GL_IMAGE_2D_MULTISAMPLE 0x9055
#define GL_IMAGE_2D_MULTISAMPLE_ARRAY 0x9056
#define GL_INT_IMAGE_1D 0x9057
#define GL_INT_IMAGE_2D 0x9058
#define GL_INT_IMAGE_3D 0x9059
#define GL_INT_IMAGE_2D_RECT 0x905A
#define GL_INT_IMAGE_CUBE 0x905B
#define GL_INT_IMAGE_BUFFER 0x905C
#define GL_INT_IMAGE_1D_ARRAY 0x905D
#define GL_INT_IMAGE_2D_ARRAY 0x905E
#define GL_INT_IMAGE_CUBE_MAP_ARRAY 0x905F
#define GL_INT_IMAGE_2D_MULTISAMPLE 0x9060
#define GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x9061
#define GL_UNSIGNED_INT_IMAGE_1D 0x9062
#define GL_UNSIGNED_INT_IMAGE_2D 0x9063
#define GL_UNSIGNED_INT_IMAGE_3D 0x9064
#define GL_UNSIGNED_INT_IMAGE_2D_RECT 0x9065
#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
#define GL_UNSIGNED_INT_IMAGE_BUFFER 0x9067
#define GL_UNSIGNED_INT_IMAGE_1D_ARRAY 0x9068
#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY 0x906A
#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE 0x906B
#define GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY 0x906C
#define GL_MAX_IMAGE_SAMPLES 0x906D
#define GL_IMAGE_BINDING_FORMAT 0x906E
#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
#endif
#ifndef GL_ARB_shading_language_packing
#endif
#ifndef GL_ARB_texture_storage
#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
#endif
#ifndef GL_EXT_abgr #ifndef GL_EXT_abgr
#define GL_ABGR_EXT 0x8000 #define GL_ABGR_EXT 0x8000
#endif #endif
...@@ -5042,6 +5297,22 @@ extern "C" { ...@@ -5042,6 +5297,22 @@ extern "C" {
#define GL_FACTOR_MAX_AMD 0x901D #define GL_FACTOR_MAX_AMD 0x901D
#endif #endif
#ifndef GL_AMD_sample_positions
#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F
#endif
#ifndef GL_EXT_x11_sync_object
#define GL_SYNC_X11_FENCE_EXT 0x90E1
#endif
#ifndef GL_AMD_multi_draw_indirect
#endif
#ifndef GL_EXT_framebuffer_multisample_blit_scaled
#define GL_SCALED_RESOLVE_FASTEST_EXT 0x90BA
#define GL_SCALED_RESOLVE_NICEST_EXT 0x90BB
#endif
/*************************************************************/ /*************************************************************/
...@@ -5901,7 +6172,7 @@ typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, ...@@ -5901,7 +6172,7 @@ typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB,
#ifndef GL_VERSION_4_1 #ifndef GL_VERSION_4_1
#define GL_VERSION_4_1 1 #define GL_VERSION_4_1 1
/* OpenGL 4.1 also reuses entry points from these extensions: */ /* OpenGL 4.1 reuses entry points from these extensions: */
/* ARB_ES2_compatibility */ /* ARB_ES2_compatibility */
/* ARB_get_program_binary */ /* ARB_get_program_binary */
/* ARB_separate_shader_objects */ /* ARB_separate_shader_objects */
...@@ -5910,6 +6181,22 @@ typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, ...@@ -5910,6 +6181,22 @@ typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB,
/* ARB_viewport_array */ /* ARB_viewport_array */
#endif #endif
#ifndef GL_VERSION_4_2
#define GL_VERSION_4_2 1
/* OpenGL 4.2 reuses entry points from these extensions: */
/* ARB_base_instance */
/* ARB_shading_language_420pack (no entry points) */
/* ARB_transform_feedback_instanced */
/* ARB_compressed_texture_pixel_storage (no entry points) */
/* ARB_conservative_depth (no entry points) */
/* ARB_internalformat_query */
/* ARB_map_buffer_alignment (no entry points) */
/* ARB_shader_atomic_counters */
/* ARB_shader_image_load_store */
/* ARB_shading_language_packing (no entry points) */
/* ARB_texture_storage */
#endif
#ifndef GL_ARB_multitexture #ifndef GL_ARB_multitexture
#define GL_ARB_multitexture 1 #define GL_ARB_multitexture 1
#ifdef GL_GLEXT_PROTOTYPES #ifdef GL_GLEXT_PROTOTYPES
...@@ -6835,6 +7122,10 @@ typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum ...@@ -6835,6 +7122,10 @@ typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum
typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params); typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params);
#endif #endif
#ifndef GL_ARB_shader_bit_encoding
#define GL_ARB_shader_bit_encoding 1
#endif
#ifndef GL_ARB_texture_rgb10_a2ui #ifndef GL_ARB_texture_rgb10_a2ui
#define GL_ARB_texture_rgb10_a2ui 1 #define GL_ARB_texture_rgb10_a2ui 1
#endif #endif
...@@ -7341,6 +7632,92 @@ typedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint locati ...@@ -7341,6 +7632,92 @@ typedef void (APIENTRYP PFNGLGETNUNIFORMDVARBPROC) (GLuint program, GLint locati
#define GL_ARB_shader_stencil_export 1 #define GL_ARB_shader_stencil_export 1
#endif #endif
#ifndef GL_ARB_base_instance
#define GL_ARB_base_instance 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glDrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);
GLAPI void APIENTRY glDrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance);
GLAPI void APIENTRY glDrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance);
typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance);
typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance);
#endif
#ifndef GL_ARB_shading_language_420pack
#define GL_ARB_shading_language_420pack 1
#endif
#ifndef GL_ARB_transform_feedback_instanced
#define GL_ARB_transform_feedback_instanced 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glDrawTransformFeedbackInstanced (GLenum mode, GLuint id, GLsizei primcount);
GLAPI void APIENTRY glDrawTransformFeedbackStreamInstanced (GLenum mode, GLuint id, GLuint stream, GLsizei primcount);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC) (GLenum mode, GLuint id, GLsizei primcount);
typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum mode, GLuint id, GLuint stream, GLsizei primcount);
#endif
#ifndef GL_ARB_compressed_texture_pixel_storage
#define GL_ARB_compressed_texture_pixel_storage 1
#endif
#ifndef GL_ARB_conservative_depth
#define GL_ARB_conservative_depth 1
#endif
#ifndef GL_ARB_internalformat_query
#define GL_ARB_internalformat_query 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
#endif
#ifndef GL_ARB_map_buffer_alignment
#define GL_ARB_map_buffer_alignment 1
#endif
#ifndef GL_ARB_shader_atomic_counters
#define GL_ARB_shader_atomic_counters 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
#endif
#ifndef GL_ARB_shader_image_load_store
#define GL_ARB_shader_image_load_store 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
GLAPI void APIENTRY glMemoryBarrier (GLbitfield barriers);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers);
#endif
#ifndef GL_ARB_shading_language_packing
#define GL_ARB_shading_language_packing 1
#endif
#ifndef GL_ARB_texture_storage
#define GL_ARB_texture_storage 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glTexStorage1D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
GLAPI void APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
GLAPI void APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
GLAPI void APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
GLAPI void APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
GLAPI void APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
#endif
#ifndef GL_EXT_abgr #ifndef GL_EXT_abgr
#define GL_EXT_abgr 1 #define GL_EXT_abgr 1
#endif #endif
...@@ -11073,6 +11450,36 @@ typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint te ...@@ -11073,6 +11450,36 @@ typedef void (APIENTRYP PFNGLTEXTUREIMAGE3DMULTISAMPLECOVERAGENVPROC) (GLuint te
#define GL_AMD_blend_minmax_factor 1 #define GL_AMD_blend_minmax_factor 1
#endif #endif
#ifndef GL_AMD_sample_positions
#define GL_AMD_sample_positions 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glSetMultisamplefvAMD (GLenum pname, GLuint index, const GLfloat *val);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRYP PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat *val);
#endif
#ifndef GL_EXT_x11_sync_object
#define GL_EXT_x11_sync_object 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI GLsync APIENTRY glImportSyncEXT (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
#endif /* GL_GLEXT_PROTOTYPES */
typedef GLsync (APIENTRYP PFNGLIMPORTSYNCEXTPROC) (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags);
#endif
#ifndef GL_AMD_multi_draw_indirect
#define GL_AMD_multi_draw_indirect 1
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glMultiDrawArraysIndirectAMD (GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
GLAPI void APIENTRY glMultiDrawElementsIndirectAMD (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
#endif /* GL_GLEXT_PROTOTYPES */
typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTAMDPROC) (GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTAMDPROC) (GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
#endif
#ifndef GL_EXT_framebuffer_multisample_blit_scaled
#define GL_EXT_framebuffer_multisample_blit_scaled 1
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
......
...@@ -6,7 +6,7 @@ extern "C" { ...@@ -6,7 +6,7 @@ extern "C" {
#endif #endif
/* /*
** Copyright (c) 2007-2010 The Khronos Group Inc. ** Copyright (c) 2007-2011 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
......
...@@ -6,7 +6,7 @@ extern "C" { ...@@ -6,7 +6,7 @@ extern "C" {
#endif #endif
/* /*
** Copyright (c) 2007-2010 The Khronos Group Inc. ** Copyright (c) 2007-2011 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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment