mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-02 17:54:05 +00:00
Checking GLEW_VERSION_4_0 is superfluous since we check GL_ARB_get_program_binary, and it's a runtime variable anyways.
This commit is contained in:
parent
4bc14c3473
commit
16f9d8e06d
@ -144,10 +144,8 @@ void ProgramShaderCache::SetBothShaders(GLuint PS, GLuint VS)
|
|||||||
|
|
||||||
glAttachShader(entry.program.glprogid, entry.program.psid);
|
glAttachShader(entry.program.glprogid, entry.program.psid);
|
||||||
|
|
||||||
#ifdef GLEW_VERSION_4_0
|
|
||||||
if (g_ActiveConfig.backend_info.bSupportsGLSLCache)
|
if (g_ActiveConfig.backend_info.bSupportsGLSLCache)
|
||||||
glProgramParameteri(entry.program.glprogid, GL_PROGRAM_BINARY_RETRIEVABLE_HINT, GL_TRUE);
|
glProgramParameteri(entry.program.glprogid, GL_PROGRAM_BINARY_RETRIEVABLE_HINT, GL_TRUE);
|
||||||
#endif
|
|
||||||
|
|
||||||
glLinkProgram(entry.program.glprogid);
|
glLinkProgram(entry.program.glprogid);
|
||||||
|
|
||||||
@ -210,7 +208,6 @@ void ProgramShaderCache::Init(void)
|
|||||||
glBindBufferRange(GL_UNIFORM_BUFFER, 2, s_ps_vs_ubo, s_vs_data_offset, vs_data_size);
|
glBindBufferRange(GL_UNIFORM_BUFFER, 2, s_ps_vs_ubo, s_vs_data_offset, vs_data_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef GLEW_VERSION_4_0
|
|
||||||
// Read our shader cache, only if supported
|
// Read our shader cache, only if supported
|
||||||
if (g_ActiveConfig.backend_info.bSupportsGLSLCache)
|
if (g_ActiveConfig.backend_info.bSupportsGLSLCache)
|
||||||
{
|
{
|
||||||
@ -229,7 +226,6 @@ void ProgramShaderCache::Init(void)
|
|||||||
ProgramFormat = (GLenum)Formats[0];
|
ProgramFormat = (GLenum)Formats[0];
|
||||||
delete[] Formats;
|
delete[] Formats;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProgramShaderCache::Shutdown(void)
|
void ProgramShaderCache::Shutdown(void)
|
||||||
|
@ -85,25 +85,17 @@ struct PROGRAMSHADER
|
|||||||
// TODO at first glance looks bad - malloc/no free/pointer not saved in instance...
|
// TODO at first glance looks bad - malloc/no free/pointer not saved in instance...
|
||||||
u8 *Data()
|
u8 *Data()
|
||||||
{
|
{
|
||||||
#ifdef GLEW_VERSION_4_0
|
|
||||||
glGetProgramiv(glprogid, GL_PROGRAM_BINARY_LENGTH, &binaryLength);
|
glGetProgramiv(glprogid, GL_PROGRAM_BINARY_LENGTH, &binaryLength);
|
||||||
u8* binary = (u8*)malloc(binaryLength);
|
u8* binary = (u8*)malloc(binaryLength);
|
||||||
glGetProgramBinary(glprogid, binaryLength, NULL, &ProgramFormat, binary);
|
glGetProgramBinary(glprogid, binaryLength, NULL, &ProgramFormat, binary);
|
||||||
return binary;
|
return binary;
|
||||||
#else
|
|
||||||
return NULL;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GLint Size()
|
GLint Size()
|
||||||
{
|
{
|
||||||
#ifdef GLEW_VERSION_4_0
|
|
||||||
if (!binaryLength)
|
if (!binaryLength)
|
||||||
glGetProgramiv(glprogid, GL_PROGRAM_BINARY_LENGTH, &binaryLength);
|
glGetProgramiv(glprogid, GL_PROGRAM_BINARY_LENGTH, &binaryLength);
|
||||||
return binaryLength;
|
return binaryLength;
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -137,7 +129,6 @@ class ProgramShaderCache
|
|||||||
public:
|
public:
|
||||||
void Read(const PROGRAMUID &key, const u8 *value, u32 value_size)
|
void Read(const PROGRAMUID &key, const u8 *value, u32 value_size)
|
||||||
{
|
{
|
||||||
#ifdef GLEW_VERSION_4_0
|
|
||||||
PCacheEntry entry;
|
PCacheEntry entry;
|
||||||
|
|
||||||
// The two shaders might not even exist anymore
|
// The two shaders might not even exist anymore
|
||||||
@ -158,7 +149,6 @@ class ProgramShaderCache
|
|||||||
glUseProgram(entry.program.glprogid);
|
glUseProgram(entry.program.glprogid);
|
||||||
SetProgramVariables(entry, key);
|
SetProgramVariables(entry, key);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user