diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2011-12-10 08:07:13 -0600 |
|---|---|---|
| committer | Sonicadvance1 <sonicadvance1@RH-Live.(none)> | 2012-10-09 23:41:05 -0500 |
| commit | d4a80ca3ecb595f849f4b7baebb491fa1fbc915d (patch) | |
| tree | 715d3dd7fae32cf3896da8b6066a95586c73ef82 /Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp | |
| parent | 1f75ee49bf3003b10a41d93c0848573b38a7b440 (diff) | |
yay, UBOs work 100% now.
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp')
| -rw-r--r-- | Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp index a248157751..ff3196fa41 100644 --- a/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp +++ b/Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp @@ -429,24 +429,6 @@ bool CompileGLSLPixelShader(FRAGMENTSHADER& ps, const char* pstrprogram) glShaderSource(result, 1, &pstrprogram, NULL); glCompileShader(result); - GLsizei length = 0; - - glGetShaderiv(result, GL_INFO_LOG_LENGTH, &length); - if (length > 0) - { - GLsizei charsWritten; - GLchar* infoLog = new GLchar[length]; - glGetShaderInfoLog(result, length, &charsWritten, infoLog); - WARN_LOG(VIDEO, "PS Shader info log:\n%s", infoLog); - char szTemp[MAX_PATH]; - sprintf(szTemp, "ps_%d.txt", result); - FILE *fp = fopen(szTemp, "wb"); - fwrite(pstrprogram, strlen(pstrprogram), 1, fp); - fclose(fp); - if(strstr(infoLog, "warning") != NULL || strstr(infoLog, "error") != NULL) - exit(0); - delete[] infoLog; - } GLint compileStatus; glGetShaderiv(result, GL_COMPILE_STATUS, &compileStatus); @@ -454,6 +436,23 @@ bool CompileGLSLPixelShader(FRAGMENTSHADER& ps, const char* pstrprogram) { // Compile failed ERROR_LOG(VIDEO, "Shader compilation failed; see info log"); + + GLsizei length = 0; + glGetShaderiv(result, GL_INFO_LOG_LENGTH, &length); + if (length > 0) + { + GLsizei charsWritten; + GLchar* infoLog = new GLchar[length]; + glGetShaderInfoLog(result, length, &charsWritten, infoLog); + WARN_LOG(VIDEO, "VS Shader info log:\n%s", infoLog); + char szTemp[MAX_PATH]; + sprintf(szTemp, "vs_%d.txt", result); + FILE *fp = fopen(szTemp, "wb"); + fwrite(pstrprogram, strlen(pstrprogram), 1, fp); + fclose(fp); + + delete[] infoLog; + } // Don't try to use this shader glDeleteShader(result); return false; |
