| OLD | NEW |
| 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 SkArithmeticMode_gpu_DEFINED | 8 #ifndef SkArithmeticMode_gpu_DEFINED |
| 9 #define SkArithmeticMode_gpu_DEFINED | 9 #define SkArithmeticMode_gpu_DEFINED |
| 10 | 10 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 class GrTexture; | 24 class GrTexture; |
| 25 | 25 |
| 26 /////////////////////////////////////////////////////////////////////////////// | 26 /////////////////////////////////////////////////////////////////////////////// |
| 27 // Fragment Processor | 27 // Fragment Processor |
| 28 /////////////////////////////////////////////////////////////////////////////// | 28 /////////////////////////////////////////////////////////////////////////////// |
| 29 | 29 |
| 30 class GrGLArtithmeticFP; | 30 class GrGLArtithmeticFP; |
| 31 | 31 |
| 32 class GrArithmeticFP : public GrFragmentProcessor { | 32 class GrArithmeticFP : public GrFragmentProcessor { |
| 33 public: | 33 public: |
| 34 static const GrFragmentProcessor* Create(float k1, float k2, float k3, float
k4, | 34 static sk_sp<GrFragmentProcessor> Make(float k1, float k2, float k3, float k
4, |
| 35 bool enforcePMColor, const GrFragme
ntProcessor* dst) { | 35 bool enforcePMColor, sk_sp<GrFragment
Processor> dst) { |
| 36 return new GrArithmeticFP(k1, k2, k3, k4, enforcePMColor, dst); | 36 return sk_sp<GrFragmentProcessor>(new GrArithmeticFP(k1, k2, k3, k4, enf
orcePMColor, |
| 37 std::move(dst))); |
| 37 } | 38 } |
| 38 | 39 |
| 39 ~GrArithmeticFP() override {}; | 40 ~GrArithmeticFP() override {}; |
| 40 | 41 |
| 41 const char* name() const override { return "Arithmetic"; } | 42 const char* name() const override { return "Arithmetic"; } |
| 42 | 43 |
| 43 SkString dumpInfo() const override { | 44 SkString dumpInfo() const override { |
| 44 SkString str; | 45 SkString str; |
| 45 str.appendf("K1: %.2f K2: %.2f K3: %.2f K4: %.2f", fK1, fK2, fK3, fK4); | 46 str.appendf("K1: %.2f K2: %.2f K3: %.2f K4: %.2f", fK1, fK2, fK3, fK4); |
| 46 return str; | 47 return str; |
| 47 } | 48 } |
| 48 | 49 |
| 49 float k1() const { return fK1; } | 50 float k1() const { return fK1; } |
| 50 float k2() const { return fK2; } | 51 float k2() const { return fK2; } |
| 51 float k3() const { return fK3; } | 52 float k3() const { return fK3; } |
| 52 float k4() const { return fK4; } | 53 float k4() const { return fK4; } |
| 53 bool enforcePMColor() const { return fEnforcePMColor; } | 54 bool enforcePMColor() const { return fEnforcePMColor; } |
| 54 | 55 |
| 55 private: | 56 private: |
| 56 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; | 57 GrGLSLFragmentProcessor* onCreateGLSLInstance() const override; |
| 57 | 58 |
| 58 void onGetGLSLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b)
const override; | 59 void onGetGLSLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b)
const override; |
| 59 | 60 |
| 60 bool onIsEqual(const GrFragmentProcessor&) const override; | 61 bool onIsEqual(const GrFragmentProcessor&) const override; |
| 61 | 62 |
| 62 void onComputeInvariantOutput(GrInvariantOutput* inout) const override; | 63 void onComputeInvariantOutput(GrInvariantOutput* inout) const override; |
| 63 | 64 |
| 64 GrArithmeticFP(float k1, float k2, float k3, float k4, bool enforcePMColor, | 65 GrArithmeticFP(float k1, float k2, float k3, float k4, bool enforcePMColor, |
| 65 const GrFragmentProcessor* dst); | 66 sk_sp<GrFragmentProcessor> dst); |
| 66 | 67 |
| 67 float fK1, fK2, fK3, fK4; | 68 float fK1, fK2, fK3, fK4; |
| 68 bool fEnforcePMColor; | 69 bool fEnforcePMColor; |
| 69 | 70 |
| 70 GR_DECLARE_FRAGMENT_PROCESSOR_TEST; | 71 GR_DECLARE_FRAGMENT_PROCESSOR_TEST; |
| 71 typedef GrFragmentProcessor INHERITED; | 72 typedef GrFragmentProcessor INHERITED; |
| 72 }; | 73 }; |
| 73 | 74 |
| 74 /////////////////////////////////////////////////////////////////////////////// | 75 /////////////////////////////////////////////////////////////////////////////// |
| 75 // Xfer Processor | 76 // Xfer Processor |
| 76 /////////////////////////////////////////////////////////////////////////////// | 77 /////////////////////////////////////////////////////////////////////////////// |
| 77 | 78 |
| 78 class GrArithmeticXPFactory : public GrXPFactory { | 79 class GrArithmeticXPFactory : public GrXPFactory { |
| 79 public: | 80 public: |
| 80 static GrXPFactory* Create(float k1, float k2, float k3, float k4, bool enfo
rcePMColor) { | 81 static sk_sp<GrXPFactory> Make(float k1, float k2, float k3, float k4, bool
enforcePMColor) { |
| 81 return new GrArithmeticXPFactory(k1, k2, k3, k4, enforcePMColor); | 82 return sk_sp<GrXPFactory>(new GrArithmeticXPFactory(k1, k2, k3, k4, enfo
rcePMColor)); |
| 82 } | 83 } |
| 83 | 84 |
| 84 void getInvariantBlendedColor(const GrProcOptInfo& colorPOI, | 85 void getInvariantBlendedColor(const GrProcOptInfo& colorPOI, |
| 85 GrXPFactory::InvariantBlendedColor*) const ove
rride; | 86 GrXPFactory::InvariantBlendedColor*) const ove
rride; |
| 86 | 87 |
| 87 private: | 88 private: |
| 88 GrArithmeticXPFactory(float k1, float k2, float k3, float k4, bool enforcePM
Color); | 89 GrArithmeticXPFactory(float k1, float k2, float k3, float k4, bool enforcePM
Color); |
| 89 | 90 |
| 90 GrXferProcessor* onCreateXferProcessor(const GrCaps& caps, | 91 GrXferProcessor* onCreateXferProcessor(const GrCaps& caps, |
| 91 const GrPipelineOptimizations& optimi
zations, | 92 const GrPipelineOptimizations& optimi
zations, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 111 GR_DECLARE_XP_FACTORY_TEST; | 112 GR_DECLARE_XP_FACTORY_TEST; |
| 112 | 113 |
| 113 float fK1, fK2, fK3, fK4; | 114 float fK1, fK2, fK3, fK4; |
| 114 bool fEnforcePMColor; | 115 bool fEnforcePMColor; |
| 115 | 116 |
| 116 typedef GrXPFactory INHERITED; | 117 typedef GrXPFactory INHERITED; |
| 117 }; | 118 }; |
| 118 | 119 |
| 119 #endif | 120 #endif |
| 120 #endif | 121 #endif |
| OLD | NEW |