GLExtensions: Seperate GL_ARB_texture_storage from GL 4.2
This allows us to use glTexStorage on GL3.3 implementations that support the extension.
This commit is contained in:
parent
f8059eae43
commit
bd15d0352a
|
@ -86,6 +86,7 @@
|
|||
<ClInclude Include="GL\GLExtensions\ARB_shader_storage_buffer_object.h" />
|
||||
<ClInclude Include="GL\GLExtensions\ARB_sync.h" />
|
||||
<ClInclude Include="GL\GLExtensions\ARB_texture_multisample.h" />
|
||||
<ClInclude Include="GL\GLExtensions\ARB_texture_storage.h" />
|
||||
<ClInclude Include="GL\GLExtensions\ARB_texture_storage_multisample.h" />
|
||||
<ClInclude Include="GL\GLExtensions\ARB_uniform_buffer_object.h" />
|
||||
<ClInclude Include="GL\GLExtensions\ARB_vertex_array_object.h" />
|
||||
|
|
|
@ -238,6 +238,10 @@
|
|||
<ClInclude Include="NonCopyable.h" />
|
||||
<ClInclude Include="Analytics.h" />
|
||||
<ClInclude Include="Semaphore.h" />
|
||||
<ClInclude Include="MD5.h" />
|
||||
<ClInclude Include="GL\GLExtensions\ARB_texture_storage.h">
|
||||
<Filter>GL\GLExtensions</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="CDUtils.cpp" />
|
||||
|
@ -303,6 +307,7 @@
|
|||
</ClCompile>
|
||||
<ClCompile Include="ucrtFreadWorkaround.cpp" />
|
||||
<ClCompile Include="Analytics.cpp" />
|
||||
<ClCompile Include="MD5.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="CMakeLists.txt" />
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
** Copyright (c) 2013-2015 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
|
||||
#include "Common/GL/GLExtensions/gl_common.h"
|
||||
|
||||
#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
|
||||
|
||||
typedef void(APIENTRYP PFNDOLTEXSTORAGE1DPROC)(GLenum target, GLsizei levels, GLenum internalformat,
|
||||
GLsizei width);
|
||||
typedef void(APIENTRYP PFNDOLTEXSTORAGE2DPROC)(GLenum target, GLsizei levels, GLenum internalformat,
|
||||
GLsizei width, GLsizei height);
|
||||
typedef void(APIENTRYP PFNDOLTEXSTORAGE3DPROC)(GLenum target, GLsizei levels, GLenum internalformat,
|
||||
GLsizei width, GLsizei height, GLsizei depth);
|
||||
|
||||
extern PFNDOLTEXSTORAGE1DPROC dolTexStorage1D;
|
||||
extern PFNDOLTEXSTORAGE2DPROC dolTexStorage2D;
|
||||
extern PFNDOLTEXSTORAGE3DPROC dolTexStorage3D;
|
||||
|
||||
#define glTexStorage1D dolTexStorage1D
|
||||
#define glTexStorage2D dolTexStorage2D
|
||||
#define glTexStorage3D dolTexStorage3D
|
|
@ -655,9 +655,6 @@ PFNDOLGETINTERNALFORMATIVPROC dolGetInternalformativ;
|
|||
PFNDOLGETACTIVEATOMICCOUNTERBUFFERIVPROC dolGetActiveAtomicCounterBufferiv;
|
||||
PFNDOLBINDIMAGETEXTUREPROC dolBindImageTexture;
|
||||
PFNDOLMEMORYBARRIERPROC dolMemoryBarrier;
|
||||
PFNDOLTEXSTORAGE1DPROC dolTexStorage1D;
|
||||
PFNDOLTEXSTORAGE2DPROC dolTexStorage2D;
|
||||
PFNDOLTEXSTORAGE3DPROC dolTexStorage3D;
|
||||
PFNDOLDRAWTRANSFORMFEEDBACKINSTANCEDPROC dolDrawTransformFeedbackInstanced;
|
||||
PFNDOLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC dolDrawTransformFeedbackStreamInstanced;
|
||||
|
||||
|
@ -905,6 +902,11 @@ PFNDOLTEXIMAGE3DMULTISAMPLEPROC dolTexImage3DMultisample;
|
|||
PFNDOLGETMULTISAMPLEFVPROC dolGetMultisamplefv;
|
||||
PFNDOLSAMPLEMASKIPROC dolSampleMaski;
|
||||
|
||||
// ARB_texture_storage
|
||||
PFNDOLTEXSTORAGE1DPROC dolTexStorage1D;
|
||||
PFNDOLTEXSTORAGE2DPROC dolTexStorage2D;
|
||||
PFNDOLTEXSTORAGE3DPROC dolTexStorage3D;
|
||||
|
||||
// ARB_texture_storage_multisample
|
||||
PFNDOLTEXSTORAGE2DMULTISAMPLEPROC dolTexStorage2DMultisample;
|
||||
PFNDOLTEXSTORAGE3DMULTISAMPLEPROC dolTexStorage3DMultisample;
|
||||
|
@ -1681,6 +1683,11 @@ const GLFunc gl_function_array[] = {
|
|||
GLFUNC_REQUIRES(glGetMultisamplefv, "GL_ARB_texture_multisample"),
|
||||
GLFUNC_REQUIRES(glSampleMaski, "GL_ARB_texture_multisample"),
|
||||
|
||||
// ARB_texture_storage
|
||||
GLFUNC_REQUIRES(glTexStorage1D, "GL_ARB_texture_storage !VERSION_4_2"),
|
||||
GLFUNC_REQUIRES(glTexStorage2D, "GL_ARB_texture_storage !VERSION_4_2 |VERSION_GLES_3"),
|
||||
GLFUNC_REQUIRES(glTexStorage3D, "GL_ARB_texture_storage !VERSION_4_2 |VERSION_GLES_3"),
|
||||
|
||||
// ARB_texture_storage_multisample
|
||||
GLFUNC_REQUIRES(glTexStorage2DMultisample,
|
||||
"GL_ARB_texture_storage_multisample !VERSION_4_3 |VERSION_GLES_3_1"),
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "Common/GL/GLExtensions/ARB_shader_storage_buffer_object.h"
|
||||
#include "Common/GL/GLExtensions/ARB_sync.h"
|
||||
#include "Common/GL/GLExtensions/ARB_texture_multisample.h"
|
||||
#include "Common/GL/GLExtensions/ARB_texture_storage.h"
|
||||
#include "Common/GL/GLExtensions/ARB_texture_storage_multisample.h"
|
||||
#include "Common/GL/GLExtensions/ARB_uniform_buffer_object.h"
|
||||
#include "Common/GL/GLExtensions/ARB_vertex_array_object.h"
|
||||
|
|
|
@ -134,7 +134,6 @@
|
|||
#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D
|
||||
#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E
|
||||
#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F
|
||||
#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
|
||||
|
||||
typedef void(APIENTRYP PFNDOLDRAWARRAYSINSTANCEDBASEINSTANCEPROC)(GLenum mode, GLint first,
|
||||
GLsizei count,
|
||||
|
@ -156,12 +155,6 @@ typedef void(APIENTRYP PFNDOLBINDIMAGETEXTUREPROC)(GLuint unit, GLuint texture,
|
|||
GLboolean layered, GLint layer, GLenum access,
|
||||
GLenum format);
|
||||
typedef void(APIENTRYP PFNDOLMEMORYBARRIERPROC)(GLbitfield barriers);
|
||||
typedef void(APIENTRYP PFNDOLTEXSTORAGE1DPROC)(GLenum target, GLsizei levels, GLenum internalformat,
|
||||
GLsizei width);
|
||||
typedef void(APIENTRYP PFNDOLTEXSTORAGE2DPROC)(GLenum target, GLsizei levels, GLenum internalformat,
|
||||
GLsizei width, GLsizei height);
|
||||
typedef void(APIENTRYP PFNDOLTEXSTORAGE3DPROC)(GLenum target, GLsizei levels, GLenum internalformat,
|
||||
GLsizei width, GLsizei height, GLsizei depth);
|
||||
typedef void(APIENTRYP PFNDOLDRAWTRANSFORMFEEDBACKINSTANCEDPROC)(GLenum mode, GLuint id,
|
||||
GLsizei instancecount);
|
||||
typedef void(APIENTRYP PFNDOLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC)(GLenum mode, GLuint id,
|
||||
|
@ -176,9 +169,6 @@ extern PFNDOLGETINTERNALFORMATIVPROC dolGetInternalformativ;
|
|||
extern PFNDOLGETACTIVEATOMICCOUNTERBUFFERIVPROC dolGetActiveAtomicCounterBufferiv;
|
||||
extern PFNDOLBINDIMAGETEXTUREPROC dolBindImageTexture;
|
||||
extern PFNDOLMEMORYBARRIERPROC dolMemoryBarrier;
|
||||
extern PFNDOLTEXSTORAGE1DPROC dolTexStorage1D;
|
||||
extern PFNDOLTEXSTORAGE2DPROC dolTexStorage2D;
|
||||
extern PFNDOLTEXSTORAGE3DPROC dolTexStorage3D;
|
||||
extern PFNDOLDRAWTRANSFORMFEEDBACKINSTANCEDPROC dolDrawTransformFeedbackInstanced;
|
||||
extern PFNDOLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC dolDrawTransformFeedbackStreamInstanced;
|
||||
|
||||
|
@ -189,8 +179,5 @@ extern PFNDOLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC dolDrawTransformFeedbackSt
|
|||
#define glGetActiveAtomicCounterBufferiv dolGetActiveAtomicCounterBufferiv
|
||||
#define glBindImageTexture dolBindImageTexture
|
||||
#define glMemoryBarrier dolMemoryBarrier
|
||||
#define glTexStorage1D dolTexStorage1D
|
||||
#define glTexStorage2D dolTexStorage2D
|
||||
#define glTexStorage3D dolTexStorage3D
|
||||
#define glDrawTransformFeedbackInstanced dolDrawTransformFeedbackInstanced
|
||||
#define glDrawTransformFeedbackStreamInstanced dolDrawTransformFeedbackStreamInstanced
|
||||
|
|
Loading…
Reference in New Issue