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

Side by Side Diff: include/gpu/GrXferProcessor.h

Issue 923153003: Revert of 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
« no previous file with comments | « no previous file | include/gpu/effects/GrPorterDuffXferProcessor.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 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 GrXferProcessor_DEFINED 8 #ifndef GrXferProcessor_DEFINED
9 #define GrXferProcessor_DEFINED 9 #define GrXferProcessor_DEFINED
10 10
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 GrXPFactory() : fClassID(kIllegalXPFClassID) {} 254 GrXPFactory() : fClassID(kIllegalXPFClassID) {}
255 255
256 template <typename XPF_SUBCLASS> void initClassID() { 256 template <typename XPF_SUBCLASS> void initClassID() {
257 static uint32_t kClassID = GenClassID(); 257 static uint32_t kClassID = GenClassID();
258 fClassID = kClassID; 258 fClassID = kClassID;
259 } 259 }
260 260
261 uint32_t fClassID; 261 uint32_t fClassID;
262 262
263 private: 263 private:
264 virtual GrXferProcessor* onCreateXferProcessor(const GrDrawTargetCaps& caps, 264 virtual GrXferProcessor* onCreateXferProcessor(const GrProcOptInfo& colorPOI ,
265 const GrProcOptInfo& colorPOI ,
266 const GrProcOptInfo& coverage POI, 265 const GrProcOptInfo& coverage POI,
267 const GrDeviceCoordTexture* d stCopy) const = 0; 266 const GrDeviceCoordTexture* d stCopy) const = 0;
268 /** 267 /**
269 * Returns true if the XP generated by this factory will explicitly read ds t in the fragment 268 * Returns true if the XP generated by this factory will explicitly read ds t in the fragment
270 * shader. 269 * shader.
271 */ 270 */
272 virtual bool willReadDstColor(const GrDrawTargetCaps& caps, 271 virtual bool willReadDstColor(const GrProcOptInfo& colorPOI,
273 const GrProcOptInfo& colorPOI,
274 const GrProcOptInfo& coveragePOI) const = 0; 272 const GrProcOptInfo& coveragePOI) const = 0;
275 273
276 virtual bool onIsEqual(const GrXPFactory&) const = 0; 274 virtual bool onIsEqual(const GrXPFactory&) const = 0;
277 275
278 static uint32_t GenClassID() { 276 static uint32_t GenClassID() {
279 // fCurrXPFactoryID has been initialized to kIllegalXPFactoryID. The 277 // fCurrXPFactoryID has been initialized to kIllegalXPFactoryID. The
280 // atomic inc returns the old value not the incremented value. So we add 278 // atomic inc returns the old value not the incremented value. So we add
281 // 1 to the returned value. 279 // 1 to the returned value.
282 uint32_t id = static_cast<uint32_t>(sk_atomic_inc(&gCurrXPFClassID)) + 1 ; 280 uint32_t id = static_cast<uint32_t>(sk_atomic_inc(&gCurrXPFClassID)) + 1 ;
283 if (!id) { 281 if (!id) {
284 SkFAIL("This should never wrap as it should only be called once for each GrXPFactory " 282 SkFAIL("This should never wrap as it should only be called once for each GrXPFactory "
285 "subclass."); 283 "subclass.");
286 } 284 }
287 return id; 285 return id;
288 } 286 }
289 287
290 enum { 288 enum {
291 kIllegalXPFClassID = 0, 289 kIllegalXPFClassID = 0,
292 }; 290 };
293 static int32_t gCurrXPFClassID; 291 static int32_t gCurrXPFClassID;
294 292
295 typedef GrProgramElement INHERITED; 293 typedef GrProgramElement INHERITED;
296 }; 294 };
297 295
298 #endif 296 #endif
299 297
OLDNEW
« no previous file with comments | « no previous file | include/gpu/effects/GrPorterDuffXferProcessor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698