aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/gpu/effects/GrPorterDuffXferProcessor.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gpu/effects/GrPorterDuffXferProcessor.h')
-rw-r--r--include/gpu/effects/GrPorterDuffXferProcessor.h71
1 files changed, 0 insertions, 71 deletions
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