diff options
author | Nicolas Roard <nicolas@android.com> | 2011-01-07 13:29:09 -0800 |
---|---|---|
committer | Nicolas Roard <nicolas@android.com> | 2011-01-07 13:29:51 -0800 |
commit | d0958d7594589dc381528262b23836dfc94b9aee (patch) | |
tree | ed2f76743825ebd901248103f41c29c88290bc6c /WebCore | |
parent | 44009dc8813df9eb0815bf581740a7c365f3b515 (diff) | |
download | external_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.cpp | 2 | ||||
-rw-r--r-- | WebCore/platform/graphics/android/ShaderProgram.cpp | 2 |
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) |