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

Unified Diff: include/core/SkXfermode.h

Issue 1680523002: start experimenting with 64bit frame-buffers (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: impl N versions Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gyp/core.gypi ('k') | src/core/SkXfermodeU64.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/core/SkXfermode.h
diff --git a/include/core/SkXfermode.h b/include/core/SkXfermode.h
index f2d8d578659bc8838420913e34d96c4e94c82e75..28bea618ab9efcfd264d3a3583764dd008938b88 100644
--- a/include/core/SkXfermode.h
+++ b/include/core/SkXfermode.h
@@ -246,6 +246,21 @@ public:
virtual PM4fProc1 getPM4fProc1(uint32_t flags) const;
virtual PM4fProcN getPM4fProcN(uint32_t flags) const;
+ enum U64Flags {
+ kSrcIsOpaque_U64Flag = 1 << 0,
+ kDstIsFloat16_U64Flag = 1 << 1, // else U16 bit components
+ };
+ struct U64State {
+ const SkXfermode* fXfer;
+ uint32_t fFlags;
+ };
+ typedef void (*U64Proc1)(const U64State&, uint64_t dst[], const SkPM4f& src, int count,
+ const SkAlpha coverage[]);
+ typedef void (*U64ProcN)(const U64State&, uint64_t dst[], const SkPM4f src[], int count,
+ const SkAlpha coverage[]);
+ static U64Proc1 GetU64Proc1(Mode, uint32_t flags);
+ static U64ProcN GetU64ProcN(Mode, uint32_t flags);
+
protected:
SkXfermode() {}
/** The default implementation of xfer32/xfer16/xferA8 in turn call this
« no previous file with comments | « gyp/core.gypi ('k') | src/core/SkXfermodeU64.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698