Partially Revert "gsdx-ogl: drop support of GL_ARB_clear_texture extension"

This reverts commit 03e72781aa.

Let's add back the clean texture pointer

I want to test it on
1/ DSA
2/ MT driver
This commit is contained in:
Gregory Hainaut 2015-05-15 20:58:14 +02:00
parent 534fa65ecf
commit a1bfb237e6
3 changed files with 7 additions and 0 deletions

View File

@ -108,6 +108,7 @@ PFNGLBINDIMAGETEXTUREPROC gl_BindImageTexture = NU
PFNGLMEMORYBARRIERPROC gl_MemoryBarrier = NULL;
PFNGLTEXSTORAGE2DPROC gl_TexStorage2D = NULL;
// GL4.4
PFNGLCLEARTEXIMAGEPROC gl_ClearTexImage = NULL;
PFNGLBUFFERSTORAGEPROC gl_BufferStorage = NULL;
// GL_ARB_bindless_texture (GL5?)
PFNGLGETTEXTURESAMPLERHANDLEARBPROC gl_GetTextureSamplerHandleARB = NULL;
@ -324,6 +325,8 @@ namespace GLLoader {
bool found_GL_ARB_separate_shader_objects = false; // Issue with Mesa and Catalyst...
bool found_geometry_shader = true; // we require GL3.3 so geometry must be supported by default
bool found_GL_EXT_texture_filter_anisotropic = false;
bool found_GL_ARB_clear_texture = false; // Don't know if GL3 GPU can support it
// Note: except Apple, all drivers support explicit uniform location
bool found_GL_ARB_explicit_uniform_location = false; // need by subroutine and bindless texture
// GL4 hardware
@ -455,6 +458,7 @@ namespace GLLoader {
if (ext.compare("GL_ARB_explicit_uniform_location") == 0) found_GL_ARB_explicit_uniform_location = true;
// GL4.4
if (ext.compare("GL_ARB_buffer_storage") == 0) found_GL_ARB_buffer_storage = true;
if (ext.compare("GL_ARB_clear_texture") == 0) found_GL_ARB_clear_texture = true;
// FIXME: I have a crash when I hit pause (debug build)
//if (ext.compare("GL_ARB_bindless_texture") == 0) found_GL_ARB_bindless_texture = true;
// GL4.5
@ -486,6 +490,7 @@ namespace GLLoader {
// GL4.4
status &= status_and_override(found_GL_ARB_buffer_storage,"GL_ARB_buffer_storage");
status &= status_and_override(found_GL_ARB_bindless_texture,"GL_ARB_bindless_texture");
status &= status_and_override(found_GL_ARB_clear_texture,"GL_ARB_clear_texture");
// GL4.5
status &= status_and_override(found_GL_ARB_clip_control, "GL_ARB_clip_control");
status &= status_and_override(found_GL_ARB_direct_state_access, "GL_ARB_direct_state_access");

View File

@ -292,6 +292,7 @@ extern PFNGLINVALIDATETEXIMAGEPROC gl_InvalidateTexImage;
extern PFNGLPUSHDEBUGGROUPPROC gl_PushDebugGroup;
extern PFNGLDEBUGMESSAGEINSERTPROC gl_DebugMessageInsert;
// GL4.4
extern PFNGLCLEARTEXIMAGEPROC gl_ClearTexImage;
extern PFNGLBUFFERSTORAGEPROC gl_BufferStorage;
// GL_ARB_bindless_texture (GL5?)
extern PFNGLGETTEXTURESAMPLERHANDLEARBPROC gl_GetTextureSamplerHandleARB;

View File

@ -116,6 +116,7 @@ void GSWndGL::PopulateGlFunction()
*(void**)&(gl_PopDebugGroup) = GetProcAddress("glPopDebugGroup", debug_optional);
*(void**)&(gl_DebugMessageInsert) = GetProcAddress("glDebugMessageInsert", debug_optional);
// GL4.4
*(void**)&(gl_ClearTexImage) = GetProcAddress("glClearTexImage", true);
*(void**)&(gl_BufferStorage) = GetProcAddress("glBufferStorage", true);
// GL_ARB_bindless_texture (GL5?)
*(void**)&(gl_GetTextureSamplerHandleARB) = GetProcAddress("glGetTextureSamplerHandleARB", true);