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

Side by Side Diff: src/gpu/effects/GrCustomXfermode.cpp

Issue 1952323002: Remove hasMixedSamples() from GrPipelineBuilder (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Comments Created 4 years, 7 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/gpu/GrXferProcessor.cpp ('k') | src/gpu/effects/GrDisableColorXP.h » ('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 2015 Google Inc. 2 * Copyright 2015 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 "effects/GrCustomXfermode.h" 8 #include "effects/GrCustomXfermode.h"
9 9
10 #include "GrCoordTransform.h" 10 #include "GrCoordTransform.h"
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 330
331 void getInvariantBlendedColor(const GrProcOptInfo& colorPOI, 331 void getInvariantBlendedColor(const GrProcOptInfo& colorPOI,
332 GrXPFactory::InvariantBlendedColor*) const ove rride; 332 GrXPFactory::InvariantBlendedColor*) const ove rride;
333 333
334 private: 334 private:
335 GrXferProcessor* onCreateXferProcessor(const GrCaps& caps, 335 GrXferProcessor* onCreateXferProcessor(const GrCaps& caps,
336 const GrPipelineOptimizations& optimi zations, 336 const GrPipelineOptimizations& optimi zations,
337 bool hasMixedSamples, 337 bool hasMixedSamples,
338 const DstTexture*) const override; 338 const DstTexture*) const override;
339 339
340 bool onWillReadDstColor(const GrCaps& caps, 340 bool onWillReadDstColor(const GrCaps&, const GrPipelineOptimizations&) const override;
341 const GrPipelineOptimizations& optimizations,
342 bool hasMixedSamples) const override;
343 341
344 bool onIsEqual(const GrXPFactory& xpfBase) const override { 342 bool onIsEqual(const GrXPFactory& xpfBase) const override {
345 const CustomXPFactory& xpf = xpfBase.cast<CustomXPFactory>(); 343 const CustomXPFactory& xpf = xpfBase.cast<CustomXPFactory>();
346 return fMode == xpf.fMode; 344 return fMode == xpf.fMode;
347 } 345 }
348 346
349 GR_DECLARE_XP_FACTORY_TEST; 347 GR_DECLARE_XP_FACTORY_TEST;
350 348
351 SkXfermode::Mode fMode; 349 SkXfermode::Mode fMode;
352 GrBlendEquation fHWBlendEquation; 350 GrBlendEquation fHWBlendEquation;
(...skipping 13 matching lines...) Expand all
366 bool hasMixedSamples, 364 bool hasMixedSamples,
367 const DstTexture* dstTex ture) const { 365 const DstTexture* dstTex ture) const {
368 if (can_use_hw_blend_equation(fHWBlendEquation, opt, caps)) { 366 if (can_use_hw_blend_equation(fHWBlendEquation, opt, caps)) {
369 SkASSERT(!dstTexture || !dstTexture->texture()); 367 SkASSERT(!dstTexture || !dstTexture->texture());
370 return new CustomXP(fMode, fHWBlendEquation); 368 return new CustomXP(fMode, fHWBlendEquation);
371 } 369 }
372 return new CustomXP(dstTexture, hasMixedSamples, fMode); 370 return new CustomXP(dstTexture, hasMixedSamples, fMode);
373 } 371 }
374 372
375 bool CustomXPFactory::onWillReadDstColor(const GrCaps& caps, 373 bool CustomXPFactory::onWillReadDstColor(const GrCaps& caps,
376 const GrPipelineOptimizations& optimiza tions, 374 const GrPipelineOptimizations& optimiza tions) const {
377 bool hasMixedSamples) const {
378 return !can_use_hw_blend_equation(fHWBlendEquation, optimizations, caps); 375 return !can_use_hw_blend_equation(fHWBlendEquation, optimizations, caps);
379 } 376 }
380 377
381 void CustomXPFactory::getInvariantBlendedColor(const GrProcOptInfo& colorPOI, 378 void CustomXPFactory::getInvariantBlendedColor(const GrProcOptInfo& colorPOI,
382 InvariantBlendedColor* blendedCol or) const { 379 InvariantBlendedColor* blendedCol or) const {
383 blendedColor->fWillBlendWithDst = true; 380 blendedColor->fWillBlendWithDst = true;
384 blendedColor->fKnownColorFlags = kNone_GrColorComponentFlags; 381 blendedColor->fKnownColorFlags = kNone_GrColorComponentFlags;
385 } 382 }
386 383
387 GR_DEFINE_XP_FACTORY_TEST(CustomXPFactory); 384 GR_DEFINE_XP_FACTORY_TEST(CustomXPFactory);
388 const GrXPFactory* CustomXPFactory::TestCreate(GrProcessorTestData* d) { 385 const GrXPFactory* CustomXPFactory::TestCreate(GrProcessorTestData* d) {
389 int mode = d->fRandom->nextRangeU(SkXfermode::kLastCoeffMode + 1, 386 int mode = d->fRandom->nextRangeU(SkXfermode::kLastCoeffMode + 1,
390 SkXfermode::kLastSeparableMode); 387 SkXfermode::kLastSeparableMode);
391 388
392 return new CustomXPFactory(static_cast<SkXfermode::Mode>(mode)); 389 return new CustomXPFactory(static_cast<SkXfermode::Mode>(mode));
393 } 390 }
394 391
395 /////////////////////////////////////////////////////////////////////////////// 392 ///////////////////////////////////////////////////////////////////////////////
396 393
397 GrXPFactory* GrCustomXfermode::CreateXPFactory(SkXfermode::Mode mode) { 394 GrXPFactory* GrCustomXfermode::CreateXPFactory(SkXfermode::Mode mode) {
398 if (!GrCustomXfermode::IsSupportedMode(mode)) { 395 if (!GrCustomXfermode::IsSupportedMode(mode)) {
399 return nullptr; 396 return nullptr;
400 } else { 397 } else {
401 return new CustomXPFactory(mode); 398 return new CustomXPFactory(mode);
402 } 399 }
403 } 400 }
OLDNEW
« no previous file with comments | « src/gpu/GrXferProcessor.cpp ('k') | src/gpu/effects/GrDisableColorXP.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698