Initial OpenGL 4.6 support

This commit is contained in:
Nigel Stewart 2017-07-30 20:49:24 +10:00
parent 0ce7b8ee26
commit 4b40314cc0
10 changed files with 167 additions and 1 deletions

View File

@ -516,6 +516,49 @@ EOT
grep -v "RasterSamplesEXT" $1/GL_NV_framebuffer_mixed_samples > tmp
mv tmp $1/GL_NV_framebuffer_mixed_samples
# Filter out glNamedBufferStorageEXT from GL_ARB_buffer_storage
grep -v "glNamedBufferStorageEXT" $1/GL_ARB_buffer_storage > tmp
mv tmp $1/GL_ARB_buffer_storage
# Filter out glFramebufferTextureEXT from GL_EXT_geometry_point_size
# and GL_EXT_geometry_shader
grep -v "glFramebufferTextureEXT" $1/GL_EXT_geometry_point_size > tmp
mv tmp $1/GL_EXT_geometry_point_size
grep -v "glFramebufferTextureEXT" $1/GL_EXT_geometry_shader > tmp
mv tmp $1/GL_EXT_geometry_shader
# Filter out glBindFragDataLocationEXT from GL_EXT_blend_func_extended
grep -v "glBindFragDataLocationEXT" $1/GL_EXT_blend_func_extended > tmp
mv tmp $1/GL_EXT_blend_func_extended
# Filter out glDrawArraysInstancedEXT and glDrawElementsInstancedEXT from GL_EXT_blend_func_extended
grep -v "glDrawArraysInstancedEXT" $1/GL_EXT_instanced_arrays > tmp
mv tmp $1/GL_EXT_instanced_arrays
grep -v "glDrawElementsInstancedEXT" $1/GL_EXT_instanced_arrays > tmp
mv tmp $1/GL_EXT_instanced_arrays
# Filter out glRenderbufferStorageMultisampleEXT from GL_EXT_multisampled_render_to_texture
grep -v "glRenderbufferStorageMultisampleEXT" $1/GL_EXT_multisampled_render_to_texture > tmp
mv tmp $1/GL_EXT_multisampled_render_to_texture
# Filter out glTexturePageCommitmentEXT from GL_ARB_sparse_texture
grep -v "glTexturePageCommitmentEXT" $1/GL_ARB_sparse_texture > tmp
mv tmp $1/GL_ARB_sparse_texture
# Filter out TextureStorage* from GL_ARB_texture_storage
grep -v "TextureStorage" $1/GL_ARB_texture_storage > tmp
mv tmp $1/GL_ARB_texture_storage
# Append GLVULKANPROCNV to GL_NV_draw_vulkan_image
# Probably ought to be explicitly mentioned in the spec language

View File

@ -0,0 +1,7 @@
GL_EXT_external_buffer
http://www.opengl.org/registry/specs/EXT/external_buffer.txt
GL_EXT_external_buffer
void glBufferStorageExternalEXT (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags)
void glNamedBufferStorageExternalEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags)
typedef void* GLeglClientBufferEXT

View File

@ -0,0 +1,41 @@
GL_EXT_memory_object
http://www.opengl.org/registry/specs/EXT/external_objects.txt
GL_EXT_memory_object
GL_UUID_SIZE_EXT 16
GL_TEXTURE_TILING_EXT 0x9580
GL_DEDICATED_MEMORY_OBJECT_EXT 0x9581
GL_NUM_TILING_TYPES_EXT 0x9582
GL_TILING_TYPES_EXT 0x9583
GL_OPTIMAL_TILING_EXT 0x9584
GL_LINEAR_TILING_EXT 0x9585
GL_LAYOUT_GENERAL_EXT 0x958D
GL_LAYOUT_COLOR_ATTACHMENT_EXT 0x958E
GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT 0x958F
GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT 0x9590
GL_LAYOUT_SHADER_READ_ONLY_EXT 0x9591
GL_LAYOUT_TRANSFER_SRC_EXT 0x9592
GL_LAYOUT_TRANSFER_DST_EXT 0x9593
GL_NUM_DEVICE_UUIDS_EXT 0x9596
GL_DEVICE_UUID_EXT 0x9597
GL_DRIVER_UUID_EXT 0x9598
GL_PROTECTED_MEMORY_OBJECT_EXT 0x959B
void glBufferStorageMemEXT (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset)
void glCreateMemoryObjectsEXT (GLsizei n, GLuint* memoryObjects)
void glDeleteMemoryObjectsEXT (GLsizei n, const GLuint* memoryObjects)
void glGetMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, GLint* params)
void glGetUnsignedBytei_vEXT (GLenum target, GLuint index, GLubyte* data)
void glGetUnsignedBytevEXT (GLenum pname, GLubyte* data)
GLboolean glIsMemoryObjectEXT (GLuint memoryObject)
void glMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, const GLint* params)
void glNamedBufferStorageMemEXT (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset)
void glTexStorageMem1DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset)
void glTexStorageMem2DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset)
void glTexStorageMem2DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset)
void glTexStorageMem3DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset)
void glTexStorageMem3DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset)
void glTextureStorageMem1DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset)
void glTextureStorageMem2DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset)
void glTextureStorageMem2DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset)
void glTextureStorageMem3DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset)
void glTextureStorageMem3DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset)

View File

@ -0,0 +1,6 @@
GL_EXT_memory_object_fd
http://www.opengl.org/registry/specs/EXT/external_objects_fd.txt
GL_EXT_memory_object_fd
GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586
void glImportMemoryFdEXT (GLuint memory, GLuint64 size, GLenum handleType, GLint fd)

View File

@ -0,0 +1,17 @@
GL_EXT_memory_object_win32
http://www.opengl.org/registry/specs/EXT/external_objects_win32.txt
GL_EXT_memory_object_win32
GL_LUID_SIZE_EXT 8
GL_HANDLE_TYPE_OPAQUE_WIN32_EXT 0x9587
GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT 0x9588
GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT 0x9589
GL_HANDLE_TYPE_D3D12_RESOURCE_EXT 0x958A
GL_HANDLE_TYPE_D3D11_IMAGE_EXT 0x958B
GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT 0x958C
GL_HANDLE_TYPE_D3D12_FENCE_EXT 0x9594
GL_D3D12_FENCE_VALUE_EXT 0x9595
GL_DEVICE_LUID_EXT 0x9599
GL_DEVICE_NODE_MASK_EXT 0x959A
void glImportMemoryWin32HandleEXT (GLuint memory, GLuint64 size, GLenum handleType, void *handle)
void glImportMemoryWin32NameEXT (GLuint memory, GLuint64 size, GLenum handleType, const void *name)

View File

@ -0,0 +1,11 @@
GL_EXT_semaphore
http://www.opengl.org/registry/specs/EXT/external_objects.txt
GL_EXT_semaphore
void glDeleteSemaphoresEXT (GLsizei n, const GLuint* semaphores)
void glGenSemaphoresEXT (GLsizei n, GLuint* semaphores)
void glGetSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, GLuint64* params)
GLboolean glIsSemaphoreEXT (GLuint semaphore)
void glSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, const GLuint64* params)
void glSignalSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint* buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts)
void glWaitSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint* buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts)

View File

@ -0,0 +1,5 @@
GL_EXT_semaphore_fd
http://www.opengl.org/registry/specs/EXT/external_objects_fd.txt
GL_EXT_semaphore_fd
void glImportSemaphoreFdEXT (GLuint semaphore, GLenum handleType, GLint fd)

View File

@ -0,0 +1,6 @@
GL_EXT_semaphore_win32
http://www.opengl.org/registry/specs/EXT/external_objects_win32.txt
GL_EXT_semaphore_win32
void glImportSemaphoreWin32HandleEXT (GLuint semaphore, GLenum handleType, void *handle)
void glImportSemaphoreWin32NameEXT (GLuint semaphore, GLenum handleType, const void *name)

View File

@ -0,0 +1,29 @@
GL_VERSION_4_6
https://www.opengl.org/registry/doc/glspec46.compatibility.pdf
GL_PARAMETER_BUFFER 0x80EE
GL_PARAMETER_BUFFER_BINDING 0x80EF
GL_VERTICES_SUBMITTED 0x82EE
GL_PRIMITIVES_SUBMITTED 0x82EF
GL_VERTEX_SHADER_INVOCATIONS 0x82F0
GL_TESS_CONTROL_SHADER_PATCHES 0x82F1
GL_TESS_EVALUATION_SHADER_INVOCATIONS 0x82F2
GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED 0x82F3
GL_FRAGMENT_SHADER_INVOCATIONS 0x82F4
GL_COMPUTE_SHADER_INVOCATIONS 0x82F5
GL_CLIPPING_INPUT_PRIMITIVES 0x82F6
GL_CLIPPING_OUTPUT_PRIMITIVES 0x82F7
GL_TRANSFORM_FEEDBACK_OVERFLOW 0x82EC
GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW 0x82ED
GL_POLYGON_OFFSET_CLAMP 0x8E1B
GL_TEXTURE_MAX_ANISOTROPY 0x84FE
GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF
GL_SHADER_BINARY_FORMAT_SPIR_V 0x9551
GL_SPIR_V_BINARY 0x9552
GL_CONTEXT_FLAG_NO_ERROR_BIT 0x00000008
GL_SPIR_V_EXTENSIONS 0x9553
GL_NUM_SPIR_V_EXTENSIONS 0x9554
void glMultiDrawArraysIndirectCount (GLenum mode, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride)
void glMultiDrawElementsIndirectCount (GLenum mode, GLenum type, const GLvoid *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride)
void glSpecializeShader (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue)

View File

@ -109,7 +109,8 @@ static GLenum GLEWAPIENTRY glewContextInit ()
}
else
{
GLEW_VERSION_4_5 = ( major > 4 ) || ( major == 4 && minor >= 5 ) ? GL_TRUE : GL_FALSE;
GLEW_VERSION_4_6 = ( major > 4 ) || ( major == 4 && minor >= 6 ) ? GL_TRUE : GL_FALSE;
GLEW_VERSION_4_5 = GLEW_VERSION_4_4 == GL_TRUE || ( major == 4 && minor >= 5 ) ? GL_TRUE : GL_FALSE;
GLEW_VERSION_4_4 = GLEW_VERSION_4_5 == GL_TRUE || ( major == 4 && minor >= 4 ) ? GL_TRUE : GL_FALSE;
GLEW_VERSION_4_3 = GLEW_VERSION_4_4 == GL_TRUE || ( major == 4 && minor >= 3 ) ? GL_TRUE : GL_FALSE;
GLEW_VERSION_4_2 = GLEW_VERSION_4_3 == GL_TRUE || ( major == 4 && minor >= 2 ) ? GL_TRUE : GL_FALSE;