| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkAlphaThresholdFilter.h" | 8 #include "SkAlphaThresholdFilter.h" |
| 9 #include "SkBitmap.h" | 9 #include "SkBitmap.h" |
| 10 #include "SkReadBuffer.h" | 10 #include "SkReadBuffer.h" |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 }; | 136 }; |
| 137 | 137 |
| 138 void GrGLAlphaThresholdEffect::emitCode(GrGLFPBuilder* builder, | 138 void GrGLAlphaThresholdEffect::emitCode(GrGLFPBuilder* builder, |
| 139 const GrFragmentProcessor&, | 139 const GrFragmentProcessor&, |
| 140 const char* outputColor, | 140 const char* outputColor, |
| 141 const char* inputColor, | 141 const char* inputColor, |
| 142 const TransformedCoordsArray& coords, | 142 const TransformedCoordsArray& coords, |
| 143 const TextureSamplerArray& samplers) { | 143 const TextureSamplerArray& samplers) { |
| 144 fInnerThresholdVar = builder->addUniform( | 144 fInnerThresholdVar = builder->addUniform( |
| 145 GrGLProgramBuilder::kFragment_Visibility, | 145 GrGLProgramBuilder::kFragment_Visibility, |
| 146 kFloat_GrSLType, "inner_threshold"); | 146 kFloat_GrSLType, kDefault_GrSLPrecision, |
| 147 "inner_threshold"); |
| 147 fOuterThresholdVar = builder->addUniform( | 148 fOuterThresholdVar = builder->addUniform( |
| 148 GrGLProgramBuilder::kFragment_Visibility, | 149 GrGLProgramBuilder::kFragment_Visibility, |
| 149 kFloat_GrSLType, "outer_threshold"); | 150 kFloat_GrSLType, kDefault_GrSLPrecision, |
| 151 "outer_threshold"); |
| 150 | 152 |
| 151 GrGLFPFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); | 153 GrGLFPFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); |
| 152 SkString coords2D = fsBuilder->ensureFSCoords2D(coords, 0); | 154 SkString coords2D = fsBuilder->ensureFSCoords2D(coords, 0); |
| 153 SkString maskCoords2D = fsBuilder->ensureFSCoords2D(coords, 1); | 155 SkString maskCoords2D = fsBuilder->ensureFSCoords2D(coords, 1); |
| 154 | 156 |
| 155 fsBuilder->codeAppendf("\t\tvec2 coord = %s;\n", coords2D.c_str()); | 157 fsBuilder->codeAppendf("\t\tvec2 coord = %s;\n", coords2D.c_str()); |
| 156 fsBuilder->codeAppendf("\t\tvec2 mask_coord = %s;\n", maskCoords2D.c_str()); | 158 fsBuilder->codeAppendf("\t\tvec2 mask_coord = %s;\n", maskCoords2D.c_str()); |
| 157 fsBuilder->codeAppend("\t\tvec4 input_color = "); | 159 fsBuilder->codeAppend("\t\tvec4 input_color = "); |
| 158 fsBuilder->appendTextureLookup(samplers[0], "coord"); | 160 fsBuilder->appendTextureLookup(samplers[0], "coord"); |
| 159 fsBuilder->codeAppend(";\n"); | 161 fsBuilder->codeAppend(";\n"); |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 (U8CPU)(SkColorGetG(source) *
scale), | 368 (U8CPU)(SkColorGetG(source) *
scale), |
| 367 (U8CPU)(SkColorGetB(source) *
scale)); | 369 (U8CPU)(SkColorGetB(source) *
scale)); |
| 368 } | 370 } |
| 369 } | 371 } |
| 370 dptr[y * dst->width() + x] = output_color; | 372 dptr[y * dst->width() + x] = output_color; |
| 371 } | 373 } |
| 372 } | 374 } |
| 373 | 375 |
| 374 return true; | 376 return true; |
| 375 } | 377 } |
| OLD | NEW |