| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 The Android Open Source Project | 2 * Copyright 2012 The Android Open Source Project |
| 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 "SkMatrixConvolutionImageFilter.h" | 8 #include "SkMatrixConvolutionImageFilter.h" |
| 9 #include "SkBitmap.h" | 9 #include "SkBitmap.h" |
| 10 #include "SkColorPriv.h" | 10 #include "SkColorPriv.h" |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 317 }; | 317 }; |
| 318 | 318 |
| 319 class GrGLMatrixConvolutionEffect : public GrGLEffect { | 319 class GrGLMatrixConvolutionEffect : public GrGLEffect { |
| 320 public: | 320 public: |
| 321 GrGLMatrixConvolutionEffect(const GrBackendEffectFactory& factory, | 321 GrGLMatrixConvolutionEffect(const GrBackendEffectFactory& factory, |
| 322 const GrDrawEffect& effect); | 322 const GrDrawEffect& effect); |
| 323 virtual void emitCode(GrGLShaderBuilder*, | 323 virtual void emitCode(GrGLShaderBuilder*, |
| 324 const GrDrawEffect&, | 324 const GrDrawEffect&, |
| 325 EffectKey, | 325 EffectKey, |
| 326 const char* outputColor, | 326 const char* outputColor, |
| 327 const char* inputColor, | 327 const GrGLSLExpr4& inputColor, |
| 328 const TransformedCoordsArray&, | 328 const TransformedCoordsArray&, |
| 329 const TextureSamplerArray&) SK_OVERRIDE; | 329 const TextureSamplerArray&) SK_OVERRIDE; |
| 330 | 330 |
| 331 static inline EffectKey GenKey(const GrDrawEffect&, const GrGLCaps&); | 331 static inline EffectKey GenKey(const GrDrawEffect&, const GrGLCaps&); |
| 332 | 332 |
| 333 virtual void setData(const GrGLUniformManager&, const GrDrawEffect&) SK_OVER
RIDE; | 333 virtual void setData(const GrGLUniformManager&, const GrDrawEffect&) SK_OVER
RIDE; |
| 334 | 334 |
| 335 private: | 335 private: |
| 336 typedef GrGLUniformManager::UniformHandle UniformHandle; | 336 typedef GrGLUniformManager::UniformHandle UniformHandle; |
| 337 typedef SkMatrixConvolutionImageFilter::TileMode TileMode; | 337 typedef SkMatrixConvolutionImageFilter::TileMode TileMode; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 builder->fsCodeAppendf("clamp(%s, 0.0, 1.0) != %s ? vec4(0, 0, 0, 0)
: ", coord, coord); | 375 builder->fsCodeAppendf("clamp(%s, 0.0, 1.0) != %s ? vec4(0, 0, 0, 0)
: ", coord, coord); |
| 376 break; | 376 break; |
| 377 } | 377 } |
| 378 builder->fsAppendTextureLookup(sampler, coord); | 378 builder->fsAppendTextureLookup(sampler, coord); |
| 379 } | 379 } |
| 380 | 380 |
| 381 void GrGLMatrixConvolutionEffect::emitCode(GrGLShaderBuilder* builder, | 381 void GrGLMatrixConvolutionEffect::emitCode(GrGLShaderBuilder* builder, |
| 382 const GrDrawEffect&, | 382 const GrDrawEffect&, |
| 383 EffectKey key, | 383 EffectKey key, |
| 384 const char* outputColor, | 384 const char* outputColor, |
| 385 const char* inputColor, | 385 const GrGLSLExpr4& inputColor, |
| 386 const TransformedCoordsArray& coords, | 386 const TransformedCoordsArray& coords, |
| 387 const TextureSamplerArray& samplers)
{ | 387 const TextureSamplerArray& samplers)
{ |
| 388 sk_ignore_unused_variable(inputColor); | 388 sk_ignore_unused_variable(inputColor); |
| 389 SkString coords2D = builder->ensureFSCoords2D(coords, 0); | 389 SkString coords2D = builder->ensureFSCoords2D(coords, 0); |
| 390 fImageIncrementUni = builder->addUniform(GrGLShaderBuilder::kFragment_Visibi
lity, | 390 fImageIncrementUni = builder->addUniform(GrGLShaderBuilder::kFragment_Visibi
lity, |
| 391 kVec2f_GrSLType, "ImageIncrement"); | 391 kVec2f_GrSLType, "ImageIncrement"); |
| 392 fKernelUni = builder->addUniformArray(GrGLShaderBuilder::kFragment_Visibilit
y, | 392 fKernelUni = builder->addUniformArray(GrGLShaderBuilder::kFragment_Visibilit
y, |
| 393 kFloat_GrSLType, "Kernel", fKernelS
ize.width() * fKernelSize.height()); | 393 kFloat_GrSLType, "Kernel", fKernelS
ize.width() * fKernelSize.height()); |
| 394 fTargetUni = builder->addUniform(GrGLShaderBuilder::kFragment_Visibility, | 394 fTargetUni = builder->addUniform(GrGLShaderBuilder::kFragment_Visibility, |
| 395 kVec2f_GrSLType, "Target"); | 395 kVec2f_GrSLType, "Target"); |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 fBias, | 564 fBias, |
| 565 fTarget, | 565 fTarget, |
| 566 fTileMode, | 566 fTileMode, |
| 567 fConvolveAlpha); | 567 fConvolveAlpha); |
| 568 return true; | 568 return true; |
| 569 } | 569 } |
| 570 | 570 |
| 571 /////////////////////////////////////////////////////////////////////////////// | 571 /////////////////////////////////////////////////////////////////////////////// |
| 572 | 572 |
| 573 #endif | 573 #endif |
| OLD | NEW |