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

Side by Side Diff: src/gpu/effects/GrCustomXfermodePriv.h

Issue 1037123003: Implement support for KHR_blend_equation_advanced (Closed) Base URL: https://skia.googlesource.com/skia.git@upload_zzz2_barriers
Patch Set: Rename blendEquationAdvancedIsKHR to mustEnableAdvancedBlendEquations Created 5 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
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 #ifndef GrCustomXfermodePriv_DEFINED 8 #ifndef GrCustomXfermodePriv_DEFINED
9 #define GrCustomXfermodePriv_DEFINED 9 #define GrCustomXfermodePriv_DEFINED
10 10
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 /////////////////////////////////////////////////////////////////////////////// 57 ///////////////////////////////////////////////////////////////////////////////
58 58
59 class GrCustomXPFactory : public GrXPFactory { 59 class GrCustomXPFactory : public GrXPFactory {
60 public: 60 public:
61 GrCustomXPFactory(SkXfermode::Mode mode); 61 GrCustomXPFactory(SkXfermode::Mode mode);
62 62
63 bool supportsRGBCoverage(GrColor knownColor, uint32_t knownColorFlags) const override { 63 bool supportsRGBCoverage(GrColor knownColor, uint32_t knownColorFlags) const override {
64 return true; 64 return true;
65 } 65 }
66 66
67 bool canTweakAlphaForCoverage() const override { 67 bool canTweakAlphaForCoverage() const override;
68 return false;
69 }
70 68
71 void getInvariantOutput(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI, 69 void getInvariantOutput(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI,
72 GrXPFactory::InvariantOutput*) const override; 70 GrXPFactory::InvariantOutput*) const override;
73 71
74 private: 72 private:
75 GrXferProcessor* onCreateXferProcessor(const GrDrawTargetCaps& caps, 73 GrXferProcessor* onCreateXferProcessor(const GrDrawTargetCaps& caps,
76 const GrProcOptInfo& colorPOI, 74 const GrProcOptInfo& colorPOI,
77 const GrProcOptInfo& coveragePOI, 75 const GrProcOptInfo& coveragePOI,
78 const GrDeviceCoordTexture* dstCopy) const override; 76 const GrDeviceCoordTexture* dstCopy) const override;
79 77
80 bool willReadDstColor(const GrDrawTargetCaps& caps, 78 bool willReadDstColor(const GrDrawTargetCaps& caps,
81 const GrProcOptInfo& colorPOI, 79 const GrProcOptInfo& colorPOI,
82 const GrProcOptInfo& coveragePOI) const override { 80 const GrProcOptInfo& coveragePOI) const override;
83 return true;
84 }
85 81
86 bool onIsEqual(const GrXPFactory& xpfBase) const override { 82 bool onIsEqual(const GrXPFactory& xpfBase) const override {
87 const GrCustomXPFactory& xpf = xpfBase.cast<GrCustomXPFactory>(); 83 const GrCustomXPFactory& xpf = xpfBase.cast<GrCustomXPFactory>();
88 return fMode == xpf.fMode; 84 return fMode == xpf.fMode;
89 } 85 }
90 86
91 GR_DECLARE_XP_FACTORY_TEST; 87 GR_DECLARE_XP_FACTORY_TEST;
92 88
93 SkXfermode::Mode fMode; 89 SkXfermode::Mode fMode;
94 90
95 typedef GrXPFactory INHERITED; 91 typedef GrXPFactory INHERITED;
96 }; 92 };
97 #endif 93 #endif
98 94
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698