summaryrefslogtreecommitdiffstats
path: root/WebCore
diff options
context:
space:
mode:
authorNicolas Roard <nicolas@android.com>2011-01-07 13:29:09 -0800
committerNicolas Roard <nicolas@android.com>2011-01-07 13:29:51 -0800
commitd0958d7594589dc381528262b23836dfc94b9aee (patch)
treeed2f76743825ebd901248103f41c29c88290bc6c /WebCore
parent44009dc8813df9eb0815bf581740a7c365f3b515 (diff)
downloadexternal_webkit-d0958d7594589dc381528262b23836dfc94b9aee.zip
external_webkit-d0958d7594589dc381528262b23836dfc94b9aee.tar.gz
external_webkit-d0958d7594589dc381528262b23836dfc94b9aee.tar.bz2
Fix alpha compositing in the shaders to work with premultiplied alpha
textures bug:3332829 Change-Id: Iffce6322fca694e85dd51dbc4147f4309f350eca
Diffstat (limited to 'WebCore')
-rw-r--r--WebCore/platform/graphics/android/BaseLayerAndroid.cpp2
-rw-r--r--WebCore/platform/graphics/android/ShaderProgram.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/WebCore/platform/graphics/android/BaseLayerAndroid.cpp b/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
index 1a08b3c..5a26868 100644
--- a/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
+++ b/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
@@ -250,7 +250,7 @@ bool BaseLayerAndroid::drawGL(IntRect& viewRect, SkRect& visibleRect,
(float)m_color.blue() / 255.0, 1);
glClear(GL_COLOR_BUFFER_BIT);
glEnable(GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glViewport(left, top, width, height);
ShaderProgram* shader = TilesManager::instance()->shader();
diff --git a/WebCore/platform/graphics/android/ShaderProgram.cpp b/WebCore/platform/graphics/android/ShaderProgram.cpp
index 6c18a61..f61186a 100644
--- a/WebCore/platform/graphics/android/ShaderProgram.cpp
+++ b/WebCore/platform/graphics/android/ShaderProgram.cpp
@@ -56,7 +56,7 @@ static const char gFragmentShader[] =
"uniform sampler2D s_texture; \n"
"void main() {\n"
" gl_FragColor = texture2D(s_texture, v_texCoord); \n"
- " gl_FragColor.a *= alpha; "
+ " gl_FragColor *= alpha; "
"}\n";
GLuint ShaderProgram::loadShader(GLenum shaderType, const char* pSource)