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

Side by Side Diff: src/gpu/effects/GrCoverageSetOpXP.cpp

Issue 914003003: Use dst copies in porter duffer XP to correctly render certain blends. (Closed) Base URL: https://skia.googlesource.com/skia.git@prePDDstCopy
Patch Set: Created 5 years, 10 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 /* 2 /*
3 * Copyright 2014 Google Inc. 3 * Copyright 2014 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "effects/GrCoverageSetOpXP.h" 9 #include "effects/GrCoverageSetOpXP.h"
10 #include "GrColor.h" 10 #include "GrColor.h"
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 return SkRef(&gRevDiffCDXPF); 221 return SkRef(&gRevDiffCDXPF);
222 } 222 }
223 break; 223 break;
224 } 224 }
225 default: 225 default:
226 return NULL; 226 return NULL;
227 } 227 }
228 } 228 }
229 229
230 GrXferProcessor* 230 GrXferProcessor*
231 GrCoverageSetOpXPFactory::onCreateXferProcessor(const GrProcOptInfo& colorPOI, 231 GrCoverageSetOpXPFactory::onCreateXferProcessor(const GrDrawTargetCaps& caps,
232 const GrProcOptInfo& colorPOI,
232 const GrProcOptInfo& covPOI, 233 const GrProcOptInfo& covPOI,
233 const GrDeviceCoordTexture* dstC opy) const { 234 const GrDeviceCoordTexture* dstC opy) const {
234 return CoverageSetOpXP::Create(fRegionOp, fInvertCoverage); 235 return CoverageSetOpXP::Create(fRegionOp, fInvertCoverage);
235 } 236 }
236 237
237 void GrCoverageSetOpXPFactory::getInvariantOutput(const GrProcOptInfo& colorPOI, 238 void GrCoverageSetOpXPFactory::getInvariantOutput(const GrProcOptInfo& colorPOI,
238 const GrProcOptInfo& coverageP OI, 239 const GrProcOptInfo& coverageP OI,
239 GrXPFactory::InvariantOutput* output) const { 240 GrXPFactory::InvariantOutput* output) const {
240 if (SkRegion::kReplace_Op == fRegionOp) { 241 if (SkRegion::kReplace_Op == fRegionOp) {
241 if (coveragePOI.isSolidWhite()) { 242 if (coveragePOI.isSolidWhite()) {
(...skipping 14 matching lines...) Expand all
256 257
257 GrXPFactory* GrCoverageSetOpXPFactory::TestCreate(SkRandom* random, 258 GrXPFactory* GrCoverageSetOpXPFactory::TestCreate(SkRandom* random,
258 GrContext*, 259 GrContext*,
259 const GrDrawTargetCaps&, 260 const GrDrawTargetCaps&,
260 GrTexture*[]) { 261 GrTexture*[]) {
261 SkRegion::Op regionOp = SkRegion::Op(random->nextULessThan(SkRegion::kLastOp + 1)); 262 SkRegion::Op regionOp = SkRegion::Op(random->nextULessThan(SkRegion::kLastOp + 1));
262 bool invertCoverage = random->nextBool(); 263 bool invertCoverage = random->nextBool();
263 return GrCoverageSetOpXPFactory::Create(regionOp, invertCoverage); 264 return GrCoverageSetOpXPFactory::Create(regionOp, invertCoverage);
264 } 265 }
265 266
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698