check for GL_ARB_sync, it's in ogl 3.2

This commit is contained in:
degasus 2013-02-06 01:05:19 +01:00
parent ef602fd643
commit e7a8d3f854
3 changed files with 7 additions and 2 deletions

View File

@ -165,6 +165,7 @@ struct VideoConfig
bool bSupportsGLSLUBO;
bool bSupportsGLSLCache;
bool bSupportsGLPinnedMemory;
bool bSupportsGLSync;
} backend_info;
// Utility

View File

@ -309,6 +309,8 @@ Renderer::Renderer()
g_Config.backend_info.bSupportsGLPinnedMemory = GLEW_AMD_pinned_memory;
g_Config.backend_info.bSupportsGLSync = GLEW_ARB_sync;
//TODO: revert this after cache is fixed itself
g_Config.backend_info.bSupportsGLSLCache = false; // GLEW_ARB_get_program_binary

View File

@ -38,10 +38,12 @@ StreamBuffer::StreamBuffer(u32 type, size_t size, StreamType uploadType)
if(m_uploadtype == STREAM_DETECT)
{
if(g_Config.backend_info.bSupportsGLPinnedMemory)
if(g_Config.backend_info.bSupportsGLPinnedMemory && g_Config.backend_info.bSupportsGLSync)
m_uploadtype = PINNED_MEMORY;
else
else if(g_Config.backend_info.bSupportsGLSync)
m_uploadtype = MAP_AND_RISK;
else
m_uploadtype = MAP_AND_ORPHAN;
}
Init();