summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/android/ShaderProgram.cpp
diff options
context:
space:
mode:
authorNicolas Roard <nicolas@android.com>2011-01-30 19:04:54 -0800
committerNicolas Roard <nicolas@android.com>2011-01-30 19:04:54 -0800
commit1a2e2a9d1bbd0829307e9a52aa98d415f8d10e52 (patch)
tree5283229913f2340f6d9575ac4df1e451c76f67f4 /WebCore/platform/graphics/android/ShaderProgram.cpp
parent8ffb52a0a92be5cf8f035b7db75f45b5522c97ef (diff)
downloadexternal_webkit-1a2e2a9d1bbd0829307e9a52aa98d415f8d10e52.zip
external_webkit-1a2e2a9d1bbd0829307e9a52aa98d415f8d10e52.tar.gz
external_webkit-1a2e2a9d1bbd0829307e9a52aa98d415f8d10e52.tar.bz2
Fix GL error when initializing the browser
bug:3355704 may also fix bug:3383599 Change-Id: I77892c2e90c4edf054513de92b0c6bfba3152819
Diffstat (limited to 'WebCore/platform/graphics/android/ShaderProgram.cpp')
-rw-r--r--WebCore/platform/graphics/android/ShaderProgram.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/WebCore/platform/graphics/android/ShaderProgram.cpp b/WebCore/platform/graphics/android/ShaderProgram.cpp
index 103bb02..0237f03 100644
--- a/WebCore/platform/graphics/android/ShaderProgram.cpp
+++ b/WebCore/platform/graphics/android/ShaderProgram.cpp
@@ -97,12 +97,16 @@ GLuint ShaderProgram::loadShader(GLenum shaderType, const char* pSource)
GLuint ShaderProgram::createProgram(const char* pVertexSource, const char* pFragmentSource)
{
GLuint vertexShader = loadShader(GL_VERTEX_SHADER, pVertexSource);
- if (!vertexShader)
- return 0;
+ if (!vertexShader) {
+ XLOG("couldn't load the vertex shader!");
+ return -1;
+ }
GLuint pixelShader = loadShader(GL_FRAGMENT_SHADER, pFragmentSource);
- if (!pixelShader)
- return 0;
+ if (!pixelShader) {
+ XLOG("couldn't load the pixel shader!");
+ return -1;
+ }
GLuint program = glCreateProgram();
if (program) {
@@ -125,7 +129,9 @@ GLuint ShaderProgram::createProgram(const char* pVertexSource, const char* pFrag
}
}
glDeleteProgram(program);
- program = 0;
+ program = -1;
+ } else {
+ XLOG("couldn't link the shader!");
}
}
return program;
@@ -133,6 +139,11 @@ GLuint ShaderProgram::createProgram(const char* pVertexSource, const char* pFrag
ShaderProgram::ShaderProgram()
{
+ init();
+}
+
+void ShaderProgram::init()
+{
m_program = createProgram(gVertexShader, gFragmentShader);
m_videoProgram = createProgram(gVertexShader, gVideoFragmentShader);