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

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

Issue 1316123003: Style Change: SkNEW->new; SkDELETE->delete (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2015-08-26 (Wednesday) 15:59:00 EDT Created 5 years, 3 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/effects/GrOvalEffect.cpp ('k') | src/gpu/effects/GrRRectEffect.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 2014 Google Inc. 2 * Copyright 2014 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/GrPorterDuffXferProcessor.h" 8 #include "effects/GrPorterDuffXferProcessor.h"
9 9
10 #include "GrBlend.h" 10 #include "GrBlend.h"
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 }; 413 };
414 414
415 /////////////////////////////////////////////////////////////////////////////// 415 ///////////////////////////////////////////////////////////////////////////////
416 416
417 void PorterDuffXferProcessor::onGetGLProcessorKey(const GrGLSLCaps&, 417 void PorterDuffXferProcessor::onGetGLProcessorKey(const GrGLSLCaps&,
418 GrProcessorKeyBuilder* b) cons t { 418 GrProcessorKeyBuilder* b) cons t {
419 GLPorterDuffXferProcessor::GenKey(*this, b); 419 GLPorterDuffXferProcessor::GenKey(*this, b);
420 } 420 }
421 421
422 GrGLXferProcessor* PorterDuffXferProcessor::createGLInstance() const { 422 GrGLXferProcessor* PorterDuffXferProcessor::createGLInstance() const {
423 return SkNEW(GLPorterDuffXferProcessor); 423 return new GLPorterDuffXferProcessor;
424 } 424 }
425 425
426 GrXferProcessor::OptFlags 426 GrXferProcessor::OptFlags
427 PorterDuffXferProcessor::onGetOptimizations(const GrProcOptInfo& colorPOI, 427 PorterDuffXferProcessor::onGetOptimizations(const GrProcOptInfo& colorPOI,
428 const GrProcOptInfo& coveragePOI, 428 const GrProcOptInfo& coveragePOI,
429 bool doesStencilWrite, 429 bool doesStencilWrite,
430 GrColor* overrideColor, 430 GrColor* overrideColor,
431 const GrCaps& caps) { 431 const GrCaps& caps) {
432 GrXferProcessor::OptFlags optFlags = GrXferProcessor::kNone_OptFlags; 432 GrXferProcessor::OptFlags optFlags = GrXferProcessor::kNone_OptFlags;
433 if (!fBlendFormula.modifiesDst()) { 433 if (!fBlendFormula.modifiesDst()) {
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 }; 511 };
512 512
513 /////////////////////////////////////////////////////////////////////////////// 513 ///////////////////////////////////////////////////////////////////////////////
514 514
515 void ShaderPDXferProcessor::onGetGLProcessorKey(const GrGLSLCaps&, 515 void ShaderPDXferProcessor::onGetGLProcessorKey(const GrGLSLCaps&,
516 GrProcessorKeyBuilder* b) cons t { 516 GrProcessorKeyBuilder* b) cons t {
517 GLShaderPDXferProcessor::GenKey(*this, b); 517 GLShaderPDXferProcessor::GenKey(*this, b);
518 } 518 }
519 519
520 GrGLXferProcessor* ShaderPDXferProcessor::createGLInstance() const { 520 GrGLXferProcessor* ShaderPDXferProcessor::createGLInstance() const {
521 return SkNEW(GLShaderPDXferProcessor); 521 return new GLShaderPDXferProcessor;
522 } 522 }
523 523
524 /////////////////////////////////////////////////////////////////////////////// 524 ///////////////////////////////////////////////////////////////////////////////
525 525
526 class PDLCDXferProcessor : public GrXferProcessor { 526 class PDLCDXferProcessor : public GrXferProcessor {
527 public: 527 public:
528 static GrXferProcessor* Create(SkXfermode::Mode xfermode, const GrProcOptInf o& colorPOI); 528 static GrXferProcessor* Create(SkXfermode::Mode xfermode, const GrProcOptInf o& colorPOI);
529 529
530 ~PDLCDXferProcessor() override; 530 ~PDLCDXferProcessor() override;
531 531
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 } 604 }
605 605
606 if (kRGBA_GrColorComponentFlags != colorPOI.validFlags()) { 606 if (kRGBA_GrColorComponentFlags != colorPOI.validFlags()) {
607 return NULL; 607 return NULL;
608 } 608 }
609 609
610 GrColor blendConstant = GrUnPreMulColor(colorPOI.color()); 610 GrColor blendConstant = GrUnPreMulColor(colorPOI.color());
611 uint8_t alpha = GrColorUnpackA(blendConstant); 611 uint8_t alpha = GrColorUnpackA(blendConstant);
612 blendConstant |= (0xff << GrColor_SHIFT_A); 612 blendConstant |= (0xff << GrColor_SHIFT_A);
613 613
614 return SkNEW_ARGS(PDLCDXferProcessor, (blendConstant, alpha)); 614 return new PDLCDXferProcessor(blendConstant, alpha);
615 } 615 }
616 616
617 PDLCDXferProcessor::~PDLCDXferProcessor() { 617 PDLCDXferProcessor::~PDLCDXferProcessor() {
618 } 618 }
619 619
620 void PDLCDXferProcessor::onGetGLProcessorKey(const GrGLSLCaps& caps, 620 void PDLCDXferProcessor::onGetGLProcessorKey(const GrGLSLCaps& caps,
621 GrProcessorKeyBuilder* b) const { 621 GrProcessorKeyBuilder* b) const {
622 GLPDLCDXferProcessor::GenKey(*this, caps, b); 622 GLPDLCDXferProcessor::GenKey(*this, caps, b);
623 } 623 }
624 624
625 GrGLXferProcessor* PDLCDXferProcessor::createGLInstance() const { 625 GrGLXferProcessor* PDLCDXferProcessor::createGLInstance() const {
626 return SkNEW_ARGS(GLPDLCDXferProcessor, (*this)); 626 return new GLPDLCDXferProcessor(*this);
627 } 627 }
628 628
629 GrXferProcessor::OptFlags 629 GrXferProcessor::OptFlags
630 PDLCDXferProcessor::onGetOptimizations(const GrProcOptInfo& colorPOI, 630 PDLCDXferProcessor::onGetOptimizations(const GrProcOptInfo& colorPOI,
631 const GrProcOptInfo& coveragePOI, 631 const GrProcOptInfo& coveragePOI,
632 bool doesStencilWrite, 632 bool doesStencilWrite,
633 GrColor* overrideColor, 633 GrColor* overrideColor,
634 const GrCaps& caps) { 634 const GrCaps& caps) {
635 // We want to force our primary output to be alpha * Coverage, where alp ha is the alpha 635 // We want to force our primary output to be alpha * Coverage, where alp ha is the alpha
636 // value of the blend the constant. We should already have valid blend c oeff's if we are at 636 // value of the blend the constant. We should already have valid blend c oeff's if we are at
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 const GrProcOptInfo& covPOI, 684 const GrProcOptInfo& covPOI,
685 bool hasMixedSamples, 685 bool hasMixedSamples,
686 const DstTexture* dstTexture) const { 686 const DstTexture* dstTexture) const {
687 if (covPOI.isFourChannelOutput()) { 687 if (covPOI.isFourChannelOutput()) {
688 SkASSERT(!dstTexture || !dstTexture->texture()); 688 SkASSERT(!dstTexture || !dstTexture->texture());
689 return PDLCDXferProcessor::Create(fXfermode, colorPOI); 689 return PDLCDXferProcessor::Create(fXfermode, colorPOI);
690 } 690 }
691 691
692 BlendFormula blendFormula = get_blend_formula(colorPOI, covPOI, hasMixedSamp les, fXfermode); 692 BlendFormula blendFormula = get_blend_formula(colorPOI, covPOI, hasMixedSamp les, fXfermode);
693 if (blendFormula.hasSecondaryOutput() && !caps.shaderCaps()->dualSourceBlend ingSupport()) { 693 if (blendFormula.hasSecondaryOutput() && !caps.shaderCaps()->dualSourceBlend ingSupport()) {
694 return SkNEW_ARGS(ShaderPDXferProcessor, (dstTexture, hasMixedSamples, f Xfermode)); 694 return new ShaderPDXferProcessor(dstTexture, hasMixedSamples, fXfermode) ;
695 } 695 }
696 696
697 SkASSERT(!dstTexture || !dstTexture->texture()); 697 SkASSERT(!dstTexture || !dstTexture->texture());
698 return SkNEW_ARGS(PorterDuffXferProcessor, (blendFormula)); 698 return new PorterDuffXferProcessor(blendFormula);
699 } 699 }
700 700
701 bool GrPorterDuffXPFactory::supportsRGBCoverage(GrColor /*knownColor*/, 701 bool GrPorterDuffXPFactory::supportsRGBCoverage(GrColor /*knownColor*/,
702 uint32_t knownColorFlags) const { 702 uint32_t knownColorFlags) const {
703 if (SkXfermode::kSrcOver_Mode == fXfermode && 703 if (SkXfermode::kSrcOver_Mode == fXfermode &&
704 kRGBA_GrColorComponentFlags == knownColorFlags) { 704 kRGBA_GrColorComponentFlags == knownColorFlags) {
705 return true; 705 return true;
706 } 706 }
707 return false; 707 return false;
708 } 708 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
764 int* outPrimary, 764 int* outPrimary,
765 int* outSecondary) { 765 int* outSecondary) {
766 if (!!strcmp(xp->name(), "Porter Duff")) { 766 if (!!strcmp(xp->name(), "Porter Duff")) {
767 *outPrimary = *outSecondary = -1; 767 *outPrimary = *outSecondary = -1;
768 return; 768 return;
769 } 769 }
770 BlendFormula blendFormula = static_cast<const PorterDuffXferProcessor*>(xp)- >getBlendFormula(); 770 BlendFormula blendFormula = static_cast<const PorterDuffXferProcessor*>(xp)- >getBlendFormula();
771 *outPrimary = blendFormula.fPrimaryOutputType; 771 *outPrimary = blendFormula.fPrimaryOutputType;
772 *outSecondary = blendFormula.fSecondaryOutputType; 772 *outSecondary = blendFormula.fSecondaryOutputType;
773 } 773 }
OLDNEW
« no previous file with comments | « src/gpu/effects/GrOvalEffect.cpp ('k') | src/gpu/effects/GrRRectEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698