diff options
Diffstat (limited to 'libs/hwui/ProgramCache.cpp')
-rw-r--r-- | libs/hwui/ProgramCache.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/libs/hwui/ProgramCache.cpp b/libs/hwui/ProgramCache.cpp index c9e2d2e6d423..23923f6c6a4a 100644 --- a/libs/hwui/ProgramCache.cpp +++ b/libs/hwui/ProgramCache.cpp @@ -106,9 +106,9 @@ const char* gFS_Main_FetchBitmap = const char* gFS_Main_FetchBitmapNpot = " vec4 bitmapColor = texture2D(bitmapSampler, wrap(outBitmapTexCoords));\n"; const char* gFS_Main_BlendShadersBG = - " fragColor = blendShaders(bitmapColor, gradientColor)"; -const char* gFS_Main_BlendShadersGB = " fragColor = blendShaders(gradientColor, bitmapColor)"; +const char* gFS_Main_BlendShadersGB = + " fragColor = blendShaders(bitmapColor, gradientColor)"; const char* gFS_Main_BlendShaders_Modulate = " * fragColor.a;\n"; const char* gFS_Main_GradientShader_Modulate = @@ -144,23 +144,23 @@ const char* gPorterDuff[12] = { // Dst "return dst;\n", // SrcOver - "return vec4(src.rgb + (1.0 - src.a) * dst.rgb, src.a + dst.a - src.a * dst.a);\n", + "return src + dst * (1.0 - src.a);\n", // DstOver - "return vec4(dst.rgb + (1.0 - dst.a) * src.rgb, src.a + dst.a - src.a * dst.a);\n", + "return dst + src * (1.0 - dst.a);\n", // SrcIn - "return vec4(src.rgb * dst.a, src.a * dst.a);\n", + "return src * dst.a;\n", // DstIn - "return vec4(dst.rgb * src.a, src.a * dst.a);\n", + "return dst * src.a;\n", // SrcOut - "return vec4(src.rgb * (1.0 - dst.a), src.a * (1.0 - dst.a));\n", + "return src * (1.0 - dst.a);\n", // DstOut - "return vec4(dst.rgb * (1.0 - src.a), dst.a * (1.0 - src.a));\n", + "return dst * (1.0 - src.a);\n", // SrcAtop "return vec4(src.rgb * dst.a + (1.0 - src.a) * dst.rgb, dst.a);\n", // DstAtop "return vec4(dst.rgb * src.a + (1.0 - dst.a) * src.rgb, src.a);\n", // Xor - "return vec4(src.rgb * (1.0 - dst.a) + (1.0 - src.a) * dst.rgb, " + "return vec4(src.rgb * (1.0 - dst.a) + (1.0 - src.a) * dst.rgb, 1.0, " "src.a + dst.a - 2.0 * src.a * dst.a);\n", }; |