summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2014-08-17 15:17:04 -0400
committerLioncash <mathew1800@gmail.com>2014-08-17 15:17:04 -0400
commit15a3b30e27121ad89805b2e3ac8920d3a5e92960 (patch)
tree1758da2240fd1f73bb5801f6f95e2b3a5c4a4bf4 /Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
parente3e1869493d95ea88c68941642c785553b833fa1 (diff)
parent7e3d1050f0f25f659dded00a9df787195b47e7b5 (diff)
Merge pull request #790 from lioncash/ogl-cleanup
Small OGL cleanup
Diffstat (limited to 'Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp32
1 files changed, 20 insertions, 12 deletions
diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
index 768663f56a..84e009a900 100644
--- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
+++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
@@ -111,7 +111,8 @@ void SHADER::SetProgramBindings()
glBindAttribLocation(glprogid, SHADER_NORM1_ATTRIB, "rawnorm1");
glBindAttribLocation(glprogid, SHADER_NORM2_ATTRIB, "rawnorm2");
- for (int i=0; i<8; i++) {
+ for (int i = 0; i < 8; i++)
+ {
char attrib_name[8];
snprintf(attrib_name, 8, "tex%d", i);
glBindAttribLocation(glprogid, SHADER_TEXTURE0_ATTRIB+i, attrib_name);
@@ -153,12 +154,12 @@ void ProgramShaderCache::UploadConstants()
}
}
-GLuint ProgramShaderCache::GetCurrentProgram(void)
+GLuint ProgramShaderCache::GetCurrentProgram()
{
return CurrentProgram;
}
-SHADER* ProgramShaderCache::SetShader ( DSTALPHA_MODE dstAlphaMode, u32 components )
+SHADER* ProgramShaderCache::SetShader(DSTALPHA_MODE dstAlphaMode, u32 components)
{
SHADERUID uid;
GetShaderId(&uid, dstAlphaMode, components);
@@ -216,7 +217,8 @@ SHADER* ProgramShaderCache::SetShader ( DSTALPHA_MODE dstAlphaMode, u32 componen
}
#endif
- if (!CompileShader(newentry.shader, vcode.GetBuffer(), pcode.GetBuffer())) {
+ if (!CompileShader(newentry.shader, vcode.GetBuffer(), pcode.GetBuffer()))
+ {
GFX_DEBUGGER_PAUSE_AT(NEXT_ERROR, true);
return nullptr;
}
@@ -229,7 +231,7 @@ SHADER* ProgramShaderCache::SetShader ( DSTALPHA_MODE dstAlphaMode, u32 componen
return &last_entry->shader;
}
-bool ProgramShaderCache::CompileShader ( SHADER& shader, const char* vcode, const char* pcode )
+bool ProgramShaderCache::CompileShader(SHADER& shader, const char* vcode, const char* pcode)
{
GLuint vsid = CompileSingleShader(GL_VERTEX_SHADER, vcode);
GLuint psid = CompileSingleShader(GL_FRAGMENT_SHADER, pcode);
@@ -275,12 +277,14 @@ bool ProgramShaderCache::CompileShader ( SHADER& shader, const char* vcode, cons
file.close();
if (linkStatus != GL_TRUE)
+ {
PanicAlert("Failed to link shaders!\nThis usually happens when trying to use Dolphin with an outdated GPU or integrated GPU like the Intel GMA series.\n\nIf you're sure this is Dolphin's error anyway, post the contents of %s along with this error message at the forums.\n\nDebug info (%s, %s, %s):\n%s",
filename.c_str(),
g_ogl_config.gl_vendor,
g_ogl_config.gl_renderer,
g_ogl_config.gl_version,
infoLog);
+ }
delete [] infoLog;
}
@@ -299,7 +303,7 @@ bool ProgramShaderCache::CompileShader ( SHADER& shader, const char* vcode, cons
return true;
}
-GLuint ProgramShaderCache::CompileSingleShader (GLuint type, const char* code )
+GLuint ProgramShaderCache::CompileSingleShader(GLuint type, const char* code)
{
GLuint result = glCreateShader(type);
@@ -332,13 +336,15 @@ GLuint ProgramShaderCache::CompileSingleShader (GLuint type, const char* code )
file.close();
if (compileStatus != GL_TRUE)
+ {
PanicAlert("Failed to compile %s shader!\nThis usually happens when trying to use Dolphin with an outdated GPU or integrated GPU like the Intel GMA series.\n\nIf you're sure this is Dolphin's error anyway, post the contents of %s along with this error message at the forums.\n\nDebug info (%s, %s, %s):\n%s",
- type==GL_VERTEX_SHADER ? "vertex" : "pixel",
+ type == GL_VERTEX_SHADER ? "vertex" : "pixel",
filename.c_str(),
g_ogl_config.gl_vendor,
g_ogl_config.gl_renderer,
g_ogl_config.gl_version,
infoLog);
+ }
delete[] infoLog;
}
@@ -372,12 +378,12 @@ void ProgramShaderCache::GetShaderId(SHADERUID* uid, DSTALPHA_MODE dstAlphaMode,
}
}
-ProgramShaderCache::PCacheEntry ProgramShaderCache::GetShaderProgram(void)
+ProgramShaderCache::PCacheEntry ProgramShaderCache::GetShaderProgram()
{
return *last_entry;
}
-void ProgramShaderCache::Init(void)
+void ProgramShaderCache::Init()
{
// We have to get the UBO alignment here because
// if we generate a buffer that isn't aligned
@@ -421,7 +427,7 @@ void ProgramShaderCache::Init(void)
last_entry = nullptr;
}
-void ProgramShaderCache::Shutdown(void)
+void ProgramShaderCache::Shutdown()
{
// store all shaders in cache on disk
if (g_ogl_config.bSupportsGLSLCache && !g_Config.bEnableShaderDebugging)
@@ -468,7 +474,7 @@ void ProgramShaderCache::Shutdown(void)
s_buffer = nullptr;
}
-void ProgramShaderCache::CreateHeader ( void )
+void ProgramShaderCache::CreateHeader()
{
GLSL_VERSION v = g_ogl_config.eSupportedGLSLVersion;
snprintf(s_glsl_header, sizeof(s_glsl_header),
@@ -520,7 +526,7 @@ void ProgramShaderCache::CreateHeader ( void )
}
-void ProgramShaderCache::ProgramShaderCacheInserter::Read ( const SHADERUID& key, const u8* value, u32 value_size )
+void ProgramShaderCache::ProgramShaderCacheInserter::Read(const SHADERUID& key, const u8* value, u32 value_size)
{
const u8 *binary = value+sizeof(GLenum);
GLenum *prog_format = (GLenum*)value;
@@ -540,7 +546,9 @@ void ProgramShaderCache::ProgramShaderCacheInserter::Read ( const SHADERUID& key
entry.shader.SetProgramVariables();
}
else
+ {
glDeleteProgram(entry.shader.glprogid);
+ }
}