OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 #include "SkXfermode.h" | 10 #include "SkXfermode.h" |
(...skipping 934 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
945 builder->fsCodeAppendf("\t\tvec4 %s = ", dstColor); | 945 builder->fsCodeAppendf("\t\tvec4 %s = ", dstColor); |
946 builder->fsAppendTextureLookup(samplers[0], coords[0].c_str(), c
oords[0].type()); | 946 builder->fsAppendTextureLookup(samplers[0], coords[0].c_str(), c
oords[0].type()); |
947 builder->fsCodeAppendf(";\n"); | 947 builder->fsCodeAppendf(";\n"); |
948 } else { | 948 } else { |
949 dstColor = builder->dstColor(); | 949 dstColor = builder->dstColor(); |
950 } | 950 } |
951 SkASSERT(NULL != dstColor); | 951 SkASSERT(NULL != dstColor); |
952 | 952 |
953 // We don't try to optimize for this case at all | 953 // We don't try to optimize for this case at all |
954 if (NULL == inputColor) { | 954 if (NULL == inputColor) { |
955 builder->fsCodeAppendf("\t\tconst vec4 ones = %s;\n", GrGLSLOnes
Vecf(4)); | 955 builder->fsCodeAppendf("\t\tconst vec4 ones = vec4(1);\n"); |
956 inputColor = "ones"; | 956 inputColor = "ones"; |
957 } | 957 } |
958 builder->fsCodeAppendf("\t\t// SkXfermode::Mode: %s\n", SkXfermode::
ModeName(mode)); | 958 builder->fsCodeAppendf("\t\t// SkXfermode::Mode: %s\n", SkXfermode::
ModeName(mode)); |
959 | 959 |
960 // These all perform src-over on the alpha channel. | 960 // These all perform src-over on the alpha channel. |
961 builder->fsCodeAppendf("\t\t%s.a = %s.a + (1.0 - %s.a) * %s.a;\n", | 961 builder->fsCodeAppendf("\t\t%s.a = %s.a + (1.0 - %s.a) * %s.a;\n", |
962 outputColor, inputColor, inputColor, dstColo
r); | 962 outputColor, inputColor, inputColor, dstColo
r); |
963 | 963 |
964 switch (mode) { | 964 switch (mode) { |
965 case SkXfermode::kOverlay_Mode: | 965 case SkXfermode::kOverlay_Mode: |
(...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1974 return proc16; | 1974 return proc16; |
1975 } | 1975 } |
1976 | 1976 |
1977 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkXfermode) | 1977 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkXfermode) |
1978 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkProcCoeffXfermode) | 1978 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkProcCoeffXfermode) |
1979 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkClearXfermode) | 1979 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkClearXfermode) |
1980 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSrcXfermode) | 1980 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSrcXfermode) |
1981 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstInXfermode) | 1981 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstInXfermode) |
1982 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstOutXfermode) | 1982 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDstOutXfermode) |
1983 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 1983 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
OLD | NEW |