diff options
Diffstat (limited to 'include/gpu/effects')
-rw-r--r-- | include/gpu/effects/GrCoverageSetOpXP.h | 59 | ||||
-rw-r--r-- | include/gpu/effects/GrCustomXfermode.h | 26 | ||||
-rw-r--r-- | include/gpu/effects/GrPorterDuffXferProcessor.h | 71 |
3 files changed, 0 insertions, 156 deletions
diff --git a/include/gpu/effects/GrCoverageSetOpXP.h b/include/gpu/effects/GrCoverageSetOpXP.h deleted file mode 100644 index 7c9f909978..0000000000 --- a/include/gpu/effects/GrCoverageSetOpXP.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2014 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef GrCoverageSetOpXP_DEFINED -#define GrCoverageSetOpXP_DEFINED - -#include "GrTypes.h" -#include "GrXferProcessor.h" -#include "SkRegion.h" - -class GrProcOptInfo; - -// See the comment above GrXPFactory's definition about this warning suppression. -#if defined(__GNUC__) || defined(__clang) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wnon-virtual-dtor" -#endif - -/** - * This xfer processor directly blends the the src coverage with the dst using a set operator. It is - * useful for rendering coverage masks using CSG. It can optionally invert the src coverage before - * applying the set operator. - */ -class GrCoverageSetOpXPFactory : public GrXPFactory { -public: - static const GrXPFactory* Get(SkRegion::Op regionOp, bool invertCoverage = false); - -private: - constexpr GrCoverageSetOpXPFactory(SkRegion::Op regionOp, bool invertCoverage); - - bool willReadsDst(const GrProcOptInfo&, const GrProcOptInfo&) const override { - return fRegionOp != SkRegion::kReplace_Op; - } - - GrXferProcessor* onCreateXferProcessor(const GrCaps&, - const GrPipelineAnalysis&, - bool hasMixedSamples, - const DstTexture*) const override; - - bool willReadDstInShader(const GrCaps&, ColorType, CoverageType) const override { - return false; - } - - GR_DECLARE_XP_FACTORY_TEST; - - SkRegion::Op fRegionOp; - bool fInvertCoverage; - - typedef GrXPFactory INHERITED; -}; -#if defined(__GNUC__) || defined(__clang) -#pragma GCC diagnostic pop -#endif -#endif - diff --git a/include/gpu/effects/GrCustomXfermode.h b/include/gpu/effects/GrCustomXfermode.h deleted file mode 100644 index 54309ddafc..0000000000 --- a/include/gpu/effects/GrCustomXfermode.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2015 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef GrCustomXfermode_DEFINED -#define GrCustomXfermode_DEFINED - -#include "SkBlendMode.h" -#include "SkRefCnt.h" - -class GrTexture; -class GrXPFactory; - -/** - * Custom Xfer modes are used for blending when the blend mode cannot be represented using blend - * coefficients. - */ -namespace GrCustomXfermode { - bool IsSupportedMode(SkBlendMode mode); - const GrXPFactory* Get(SkBlendMode mode); -}; - -#endif diff --git a/include/gpu/effects/GrPorterDuffXferProcessor.h b/include/gpu/effects/GrPorterDuffXferProcessor.h deleted file mode 100644 index e6e676d6cc..0000000000 --- a/include/gpu/effects/GrPorterDuffXferProcessor.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2014 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef GrPorterDuffXferProcessor_DEFINED -#define GrPorterDuffXferProcessor_DEFINED - -#include "GrTypes.h" -#include "GrXferProcessor.h" -#include "SkBlendMode.h" - -class GrProcOptInfo; - -// See the comment above GrXPFactory's definition about this warning suppression. -#if defined(__GNUC__) || defined(__clang) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wnon-virtual-dtor" -#endif -class GrPorterDuffXPFactory : public GrXPFactory { -public: - static const GrXPFactory* Get(SkBlendMode blendMode); - - /** Because src-over is so common we special case it for performance reasons. If this returns - null then the SimpleSrcOverXP() below should be used. */ - static GrXferProcessor* CreateSrcOverXferProcessor(const GrCaps& caps, - const GrPipelineAnalysis&, - bool hasMixedSamples, - const GrXferProcessor::DstTexture*); - - /** Returns a simple non-LCD porter duff blend XP with no optimizations or coverage. */ - static sk_sp<GrXferProcessor> CreateNoCoverageXP(SkBlendMode); - - /** This XP implements non-LCD src-over using hw blend with no optimizations. It is returned - by reference because it is global and its ref-cnting methods are not thread safe. */ - static const GrXferProcessor& SimpleSrcOverXP(); - - static bool WillSrcOverReadDst(const GrProcOptInfo& colorInput, - const GrProcOptInfo& coverageInput); - static bool IsSrcOverPreCoverageBlendedColorConstant(const GrProcOptInfo& colorInput, - GrColor* color); - - static bool SrcOverWillNeedDstTexture(const GrCaps&, const GrPipelineAnalysis&); - -private: - constexpr GrPorterDuffXPFactory(SkBlendMode); - - bool willReadsDst(const GrProcOptInfo&, const GrProcOptInfo&) const override; - - GrXferProcessor* onCreateXferProcessor(const GrCaps& caps, - const GrPipelineAnalysis&, - bool hasMixedSamples, - const DstTexture*) const override; - - bool willReadDstInShader(const GrCaps&, ColorType, CoverageType) const override; - - GR_DECLARE_XP_FACTORY_TEST; - static void TestGetXPOutputTypes(const GrXferProcessor*, int* outPrimary, int* outSecondary); - - SkBlendMode fBlendMode; - - friend class GrPorterDuffTest; // for TestGetXPOutputTypes() - typedef GrXPFactory INHERITED; -}; -#if defined(__GNUC__) || defined(__clang) -#pragma GCC diagnostic pop -#endif - -#endif |