summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2013-06-18 10:24:36 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2013-06-18 10:24:36 -0500
commit6143594db6ed7ff803f4305e5ca39b8c5f1c2f34 (patch)
treec88f2d874131982b4442af340485db93c04870ae /Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
parentfbb82ccab3a3561805cbe79b15e8d27f9af4f7f5 (diff)
[Android] Qualcomm glGetShaderInfoLog returns a max of 1024 bytes(tested) for the log, and glGetShaderiv with GL_INFO_LOG_LENGTH /always/ returns 0 on compile failure.
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
index c482c13900..c16cf69aae 100644
--- a/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
+++ b/Source/Plugins/Plugin_VideoOGL/Src/ProgramShaderCache.cpp
@@ -335,15 +335,13 @@ GLuint ProgramShaderCache::CompileSingleShader (GLuint type, const char* code )
glGetShaderiv(result, GL_COMPILE_STATUS, &compileStatus);
GLsizei length = 0;
glGetShaderiv(result, GL_INFO_LOG_LENGTH, &length);
+
+ if (DriverDetails::HasBug(DriverDetails::BUG_BROKENINFOLOG))
+ length = 1024;
+
if (compileStatus != GL_TRUE || (length > 1 && DEBUG_GLSL))
{
GLsizei charsWritten;
-#ifdef USE_GLES3
- // This is a bug in the Qualcomm OpenGL Driver
- // The length returned is garbage length so we need to set a default max
- // XXX: Check if qualcomm driver here
- length = 1024; // Qualcomm driver maxes out at 512 bytes returned from glGetShaderInfoLog anyway
-#endif
GLchar* infoLog = new GLchar[length];
glGetShaderInfoLog(result, length, &charsWritten, infoLog);
ERROR_LOG(VIDEO, "PS Shader info log:\n%s", infoLog);