Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: src/effects/SkDisplacementMapEffect.cpp

Issue 374923002: Goodbye GrEffectRef. (Closed) Base URL: https://skia.googlesource.com/skia.git@noref3
Patch Set: Address comments Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/effects/SkColorMatrixFilter.cpp ('k') | src/effects/SkGpuBlurUtils.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "SkDisplacementMapEffect.h" 8 #include "SkDisplacementMapEffect.h"
9 #include "SkReadBuffer.h" 9 #include "SkReadBuffer.h"
10 #include "SkWriteBuffer.h" 10 #include "SkWriteBuffer.h"
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 SkDisplacementMapEffect::ChannelSelectorType fYChannelSelector; 293 SkDisplacementMapEffect::ChannelSelectorType fYChannelSelector;
294 GrGLUniformManager::UniformHandle fScaleUni; 294 GrGLUniformManager::UniformHandle fScaleUni;
295 295
296 typedef GrGLEffect INHERITED; 296 typedef GrGLEffect INHERITED;
297 }; 297 };
298 298
299 /////////////////////////////////////////////////////////////////////////////// 299 ///////////////////////////////////////////////////////////////////////////////
300 300
301 class GrDisplacementMapEffect : public GrEffect { 301 class GrDisplacementMapEffect : public GrEffect {
302 public: 302 public:
303 static GrEffectRef* Create(SkDisplacementMapEffect::ChannelSelectorType xCha nnelSelector, 303 static GrEffect* Create(SkDisplacementMapEffect::ChannelSelectorType xChanne lSelector,
304 SkDisplacementMapEffect::ChannelSelectorType yCha nnelSelector, 304 SkDisplacementMapEffect::ChannelSelectorType yChanne lSelector,
305 SkVector scale, 305 SkVector scale,
306 GrTexture* displacement, const SkMatrix& offsetMa trix, 306 GrTexture* displacement, const SkMatrix& offsetMatri x,
307 GrTexture* color) { 307 GrTexture* color) {
308 return SkNEW_ARGS(GrDisplacementMapEffect, (xChannelSelector, 308 return SkNEW_ARGS(GrDisplacementMapEffect, (xChannelSelector,
309 yChannelSelector, 309 yChannelSelector,
310 scale, 310 scale,
311 displacement, 311 displacement,
312 offsetMatrix, 312 offsetMatrix,
313 color)); 313 color));
314 } 314 }
315 315
316 virtual ~GrDisplacementMapEffect(); 316 virtual ~GrDisplacementMapEffect();
317 317
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 // and no displacement offset push any texture coordinates out of bounds OR if the constant 469 // and no displacement offset push any texture coordinates out of bounds OR if the constant
470 // alpha is 0. Since this isn't trivial to compute at this point, let's assu me the output is 470 // alpha is 0. Since this isn't trivial to compute at this point, let's assu me the output is
471 // not of constant color when a displacement effect is applied. 471 // not of constant color when a displacement effect is applied.
472 *validFlags = 0; 472 *validFlags = 0;
473 } 473 }
474 474
475 /////////////////////////////////////////////////////////////////////////////// 475 ///////////////////////////////////////////////////////////////////////////////
476 476
477 GR_DEFINE_EFFECT_TEST(GrDisplacementMapEffect); 477 GR_DEFINE_EFFECT_TEST(GrDisplacementMapEffect);
478 478
479 GrEffectRef* GrDisplacementMapEffect::TestCreate(SkRandom* random, 479 GrEffect* GrDisplacementMapEffect::TestCreate(SkRandom* random,
480 GrContext*, 480 GrContext*,
481 const GrDrawTargetCaps&, 481 const GrDrawTargetCaps&,
482 GrTexture* textures[]) { 482 GrTexture* textures[]) {
483 int texIdxDispl = random->nextBool() ? GrEffectUnitTest::kSkiaPMTextureIdx : 483 int texIdxDispl = random->nextBool() ? GrEffectUnitTest::kSkiaPMTextureIdx :
484 GrEffectUnitTest::kAlphaTextureIdx; 484 GrEffectUnitTest::kAlphaTextureIdx;
485 int texIdxColor = random->nextBool() ? GrEffectUnitTest::kSkiaPMTextureIdx : 485 int texIdxColor = random->nextBool() ? GrEffectUnitTest::kSkiaPMTextureIdx :
486 GrEffectUnitTest::kAlphaTextureIdx; 486 GrEffectUnitTest::kAlphaTextureIdx;
487 static const int kMaxComponent = 4; 487 static const int kMaxComponent = 4;
488 SkDisplacementMapEffect::ChannelSelectorType xChannelSelector = 488 SkDisplacementMapEffect::ChannelSelectorType xChannelSelector =
489 static_cast<SkDisplacementMapEffect::ChannelSelectorType>( 489 static_cast<SkDisplacementMapEffect::ChannelSelectorType>(
490 random->nextRangeU(1, kMaxComponent)); 490 random->nextRangeU(1, kMaxComponent));
491 SkDisplacementMapEffect::ChannelSelectorType yChannelSelector = 491 SkDisplacementMapEffect::ChannelSelectorType yChannelSelector =
492 static_cast<SkDisplacementMapEffect::ChannelSelectorType>( 492 static_cast<SkDisplacementMapEffect::ChannelSelectorType>(
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 const GrGLCaps&) { 604 const GrGLCaps&) {
605 const GrDisplacementMapEffect& displacementMap = 605 const GrDisplacementMapEffect& displacementMap =
606 drawEffect.castEffect<GrDisplacementMapEffect>(); 606 drawEffect.castEffect<GrDisplacementMapEffect>();
607 607
608 EffectKey xKey = displacementMap.xChannelSelector(); 608 EffectKey xKey = displacementMap.xChannelSelector();
609 EffectKey yKey = displacementMap.yChannelSelector() << kChannelSelectorKeyBi ts; 609 EffectKey yKey = displacementMap.yChannelSelector() << kChannelSelectorKeyBi ts;
610 610
611 return xKey | yKey; 611 return xKey | yKey;
612 } 612 }
613 #endif 613 #endif
OLDNEW
« no previous file with comments | « src/effects/SkColorMatrixFilter.cpp ('k') | src/effects/SkGpuBlurUtils.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698