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

Side by Side Diff: src/effects/SkArithmeticMode_gpu.cpp

Issue 1471293003: Create a static instances of SrcOver XferProcessor (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: nit Created 5 years 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 #include "SkArithmeticMode_gpu.h" 8 #include "SkArithmeticMode_gpu.h"
9 9
10 #if SK_SUPPORT_GPU 10 #if SK_SUPPORT_GPU
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 float k2() const { return fK2; } 164 float k2() const { return fK2; }
165 float k3() const { return fK3; } 165 float k3() const { return fK3; }
166 float k4() const { return fK4; } 166 float k4() const { return fK4; }
167 bool enforcePMColor() const { return fEnforcePMColor; } 167 bool enforcePMColor() const { return fEnforcePMColor; }
168 168
169 private: 169 private:
170 GrXferProcessor::OptFlags onGetOptimizations(const GrProcOptInfo& colorPOI, 170 GrXferProcessor::OptFlags onGetOptimizations(const GrProcOptInfo& colorPOI,
171 const GrProcOptInfo& coveragePO I, 171 const GrProcOptInfo& coveragePO I,
172 bool doesStencilWrite, 172 bool doesStencilWrite,
173 GrColor* overrideColor, 173 GrColor* overrideColor,
174 const GrCaps& caps) override; 174 const GrCaps& caps) const overr ide;
175 175
176 void onGetGLSLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override; 176 void onGetGLSLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyBuilder* b) const override;
177 177
178 bool onIsEqual(const GrXferProcessor& xpBase) const override { 178 bool onIsEqual(const GrXferProcessor& xpBase) const override {
179 const ArithmeticXP& xp = xpBase.cast<ArithmeticXP>(); 179 const ArithmeticXP& xp = xpBase.cast<ArithmeticXP>();
180 if (fK1 != xp.fK1 || 180 if (fK1 != xp.fK1 ||
181 fK2 != xp.fK2 || 181 fK2 != xp.fK2 ||
182 fK3 != xp.fK3 || 182 fK3 != xp.fK3 ||
183 fK4 != xp.fK4 || 183 fK4 != xp.fK4 ||
184 fEnforcePMColor != xp.fEnforcePMColor) { 184 fEnforcePMColor != xp.fEnforcePMColor) {
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 void ArithmeticXP::onGetGLSLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyB uilder* b) const { 254 void ArithmeticXP::onGetGLSLProcessorKey(const GrGLSLCaps& caps, GrProcessorKeyB uilder* b) const {
255 GLArithmeticXP::GenKey(*this, caps, b); 255 GLArithmeticXP::GenKey(*this, caps, b);
256 } 256 }
257 257
258 GrGLSLXferProcessor* ArithmeticXP::createGLSLInstance() const { return new GLAri thmeticXP(*this); } 258 GrGLSLXferProcessor* ArithmeticXP::createGLSLInstance() const { return new GLAri thmeticXP(*this); }
259 259
260 GrXferProcessor::OptFlags ArithmeticXP::onGetOptimizations(const GrProcOptInfo& colorPOI, 260 GrXferProcessor::OptFlags ArithmeticXP::onGetOptimizations(const GrProcOptInfo& colorPOI,
261 const GrProcOptInfo& coveragePOI, 261 const GrProcOptInfo& coveragePOI,
262 bool doesStencilWrite , 262 bool doesStencilWrite ,
263 GrColor* overrideColo r, 263 GrColor* overrideColo r,
264 const GrCaps& caps) { 264 const GrCaps& caps) c onst {
265 return GrXferProcessor::kNone_OptFlags; 265 return GrXferProcessor::kNone_OptFlags;
266 } 266 }
267 267
268 /////////////////////////////////////////////////////////////////////////////// 268 ///////////////////////////////////////////////////////////////////////////////
269 269
270 GrArithmeticXPFactory::GrArithmeticXPFactory(float k1, float k2, float k3, float k4, 270 GrArithmeticXPFactory::GrArithmeticXPFactory(float k1, float k2, float k3, float k4,
271 bool enforcePMColor) 271 bool enforcePMColor)
272 : fK1(k1), fK2(k2), fK3(k3), fK4(k4), fEnforcePMColor(enforcePMColor) { 272 : fK1(k1), fK2(k2), fK3(k3), fK4(k4), fEnforcePMColor(enforcePMColor) {
273 this->initClassID<GrArithmeticXPFactory>(); 273 this->initClassID<GrArithmeticXPFactory>();
274 } 274 }
(...skipping 24 matching lines...) Expand all
299 float k1 = d->fRandom->nextF(); 299 float k1 = d->fRandom->nextF();
300 float k2 = d->fRandom->nextF(); 300 float k2 = d->fRandom->nextF();
301 float k3 = d->fRandom->nextF(); 301 float k3 = d->fRandom->nextF();
302 float k4 = d->fRandom->nextF(); 302 float k4 = d->fRandom->nextF();
303 bool enforcePMColor = d->fRandom->nextBool(); 303 bool enforcePMColor = d->fRandom->nextBool();
304 304
305 return GrArithmeticXPFactory::Create(k1, k2, k3, k4, enforcePMColor); 305 return GrArithmeticXPFactory::Create(k1, k2, k3, k4, enforcePMColor);
306 } 306 }
307 307
308 #endif 308 #endif
OLDNEW
« no previous file with comments | « include/gpu/GrXferProcessor.h ('k') | src/gpu/GrPipeline.h » ('j') | src/gpu/GrPipeline.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698