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

Unified Diff: src/pipe/SkGPipePriv.h

Issue 1568883003: remove SkGPipe (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 11 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 | « samplecode/SampleCode.h ('k') | src/pipe/SkGPipeRead.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/pipe/SkGPipePriv.h
diff --git a/src/pipe/SkGPipePriv.h b/src/pipe/SkGPipePriv.h
deleted file mode 100644
index 1820a4941aee9521489d6349897834a714512220..0000000000000000000000000000000000000000
--- a/src/pipe/SkGPipePriv.h
+++ /dev/null
@@ -1,313 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-
-
-#ifndef SkGPipePriv_DEFINED
-#define SkGPipePriv_DEFINED
-
-#include "SkTypes.h"
-
-#define UNIMPLEMENTED
-
-// these must be contiguous, 0...N-1
-enum PaintFlats {
- kColorFilter_PaintFlat,
- kDrawLooper_PaintFlat,
- kImageFilter_PaintFlat,
- kMaskFilter_PaintFlat,
- kPathEffect_PaintFlat,
- kRasterizer_PaintFlat,
- kShader_PaintFlat,
- kXfermode_PaintFlat,
-
- kLast_PaintFlat = kXfermode_PaintFlat
-};
-#define kCount_PaintFlats (kLast_PaintFlat + 1)
-
-enum DrawOps {
- kSkip_DrawOp, // skip an addition N bytes (N == data)
-
- // these match Canvas apis
- kClipPath_DrawOp,
- kClipRegion_DrawOp,
- kClipRect_DrawOp,
- kClipRRect_DrawOp,
- kConcat_DrawOp,
- kDrawAtlas_DrawOp,
- kDrawBitmap_DrawOp,
- kDrawBitmapNine_DrawOp,
- kDrawBitmapRect_DrawOp,
- kDrawDRRect_DrawOp,
- kDrawImage_DrawOp,
- kDrawImageRect_DrawOp,
- kDrawImageNine_DrawOp,
- kDrawOval_DrawOp,
- kDrawPaint_DrawOp,
- kDrawPatch_DrawOp,
- kDrawPath_DrawOp,
- kDrawPicture_DrawOp,
- kDrawPoints_DrawOp,
- kDrawPosText_DrawOp,
- kDrawPosTextH_DrawOp,
- kDrawRect_DrawOp,
- kDrawRRect_DrawOp,
- kDrawText_DrawOp,
- kDrawTextBlob_DrawOp,
- kDrawTextOnPath_DrawOp,
- kDrawVertices_DrawOp,
- kRestore_DrawOp,
- kRotate_DrawOp,
- kSave_DrawOp,
- kSaveLayer_DrawOp,
- kScale_DrawOp,
- kSetMatrix_DrawOp,
- kSkew_DrawOp,
- kTranslate_DrawOp,
-
- kPaintOp_DrawOp,
- kSetTypeface_DrawOp,
- kSetAnnotation_DrawOp,
-
- kDef_Typeface_DrawOp,
- kDef_Flattenable_DrawOp,
- kDef_Bitmap_DrawOp,
- kDef_Factory_DrawOp,
-
- // these are signals to playback, not drawing verbs
- kReportFlags_DrawOp,
- kShareBitmapHeap_DrawOp,
- kShareImageHeap_DrawOp,
- kDone_DrawOp,
-};
-
-/**
- * DrawOp packs into a 32bit int as follows
- *
- * DrawOp:8 - Flags:4 - Data:20
- *
- * Flags and Data are called out separately, so we can reuse Data between
- * different Ops that might have different Flags. e.g. Data might be a Paint
- * index for both drawRect (no flags) and saveLayer (does have flags).
- *
- * All Ops that take a SkPaint use their Data field to store the index to
- * the paint (previously defined with kPaintOp_DrawOp).
- */
-
-#define DRAWOPS_OP_BITS 8
-#define DRAWOPS_FLAG_BITS 4
-#define DRAWOPS_DATA_BITS 20
-
-#define DRAWOPS_OP_MASK ((1 << DRAWOPS_OP_BITS) - 1)
-#define DRAWOPS_FLAG_MASK ((1 << DRAWOPS_FLAG_BITS) - 1)
-#define DRAWOPS_DATA_MASK ((1 << DRAWOPS_DATA_BITS) - 1)
-
-static inline unsigned DrawOp_unpackOp(uint32_t op32) {
- return (op32 >> (DRAWOPS_FLAG_BITS + DRAWOPS_DATA_BITS));
-}
-
-static inline unsigned DrawOp_unpackFlags(uint32_t op32) {
- return (op32 >> DRAWOPS_DATA_BITS) & DRAWOPS_FLAG_MASK;
-}
-
-static inline unsigned DrawOp_unpackData(uint32_t op32) {
- return op32 & DRAWOPS_DATA_MASK;
-}
-
-static inline uint32_t DrawOp_packOpFlagData(DrawOps op, unsigned flags, unsigned data) {
- SkASSERT(0 == (op & ~DRAWOPS_OP_MASK));
- SkASSERT(0 == (flags & ~DRAWOPS_FLAG_MASK));
- SkASSERT(0 == (data & ~DRAWOPS_DATA_MASK));
-
- return (op << (DRAWOPS_FLAG_BITS + DRAWOPS_DATA_BITS)) |
- (flags << DRAWOPS_DATA_BITS) |
- data;
-}
-
-/** DrawOp specific flag bits
- */
-
-enum {
- kSaveLayer_HasBounds_DrawOpFlag = 1 << 0,
- kSaveLayer_HasPaint_DrawOpFlag = 1 << 1,
-};
-enum {
- kDrawTextOnPath_HasMatrix_DrawOpFlag = 1 << 0
-};
-enum {
- kDrawVertices_HasTexs_DrawOpFlag = 1 << 0,
- kDrawVertices_HasColors_DrawOpFlag = 1 << 1,
- kDrawVertices_HasIndices_DrawOpFlag = 1 << 2,
- kDrawVertices_HasXfermode_DrawOpFlag = 1 << 3,
-};
-enum {
- kDrawAtlas_HasPaint_DrawOpFlag = 1 << 0,
- kDrawAtlas_HasColors_DrawOpFlag = 1 << 1,
- kDrawAtlas_HasCull_DrawOpFlag = 1 << 2,
-};
-// These are shared between drawbitmap and drawimage
-enum {
- kDrawBitmap_HasPaint_DrawOpFlag = 1 << 0,
- // Specific to drawBitmapRect, but needs to be different from HasPaint,
- // which is used for all drawBitmap calls, so include it here.
- kDrawBitmap_HasSrcRect_DrawOpFlag = 1 << 1,
- // SkCanvas::DrawBitmapRectFlags::kBleed_DrawBitmapRectFlag is
- // converted into and out of this flag to save space
- kDrawBitmap_Bleed_DrawOpFlag = 1 << 2,
-};
-enum {
- kClip_HasAntiAlias_DrawOpFlag = 1 << 0,
-};
-///////////////////////////////////////////////////////////////////////////////
-
-class BitmapInfo : SkNoncopyable {
-public:
- BitmapInfo(SkBitmap* bitmap, uint32_t genID, int toBeDrawnCount)
- : fBitmap(bitmap)
- , fGenID(genID)
- , fBytesAllocated(0)
- , fMoreRecentlyUsed(nullptr)
- , fLessRecentlyUsed(nullptr)
- , fToBeDrawnCount(toBeDrawnCount)
- {}
-
- ~BitmapInfo() {
- SkASSERT(0 == fToBeDrawnCount);
- delete fBitmap;
- }
-
- void addDraws(int drawsToAdd) {
- if (0 == fToBeDrawnCount) {
- // The readers will only ever decrement the count, so once the
- // count is zero, the writer will be the only one modifying it,
- // so it does not need to be an atomic operation.
- fToBeDrawnCount = drawsToAdd;
- } else {
- sk_atomic_add(&fToBeDrawnCount, drawsToAdd);
- }
- }
-
- void decDraws() {
- sk_atomic_dec(&fToBeDrawnCount);
- }
-
- int drawCount() const {
- return fToBeDrawnCount;
- }
-
- SkBitmap* fBitmap;
- // Store the generation ID of the original bitmap, since copying does
- // not copy this field, so fBitmap's generation ID will not be useful
- // for comparing.
- // FIXME: Is it reasonable to make copying a bitmap/pixelref copy the
- // generation ID?
- uint32_t fGenID;
- // Keep track of the bytes allocated for this bitmap. When replacing the
- // bitmap or removing this BitmapInfo we know how much memory has been
- // reclaimed.
- size_t fBytesAllocated;
- // TODO: Generalize the LRU caching mechanism
- BitmapInfo* fMoreRecentlyUsed;
- BitmapInfo* fLessRecentlyUsed;
-private:
- int fToBeDrawnCount;
-};
-
-static inline bool shouldFlattenBitmaps(uint32_t flags) {
- return SkToBool(flags & SkGPipeWriter::kCrossProcess_Flag
- && !(flags & SkGPipeWriter::kSharedAddressSpace_Flag));
-}
-
-class SkImageHeap : public SkRefCnt {
-public:
- SkImageHeap();
- virtual ~SkImageHeap();
-
- size_t bytesInCache() const { return fBytesInCache; }
- void reset();
- // slot must be "valid" -- 0 is never valid
- const SkImage* get(int32_t slot) const;
- // returns 0 if not found, else returns slot
- int32_t find(const SkImage*) const;
- // returns non-zero value for where the image was stored
- int32_t insert(const SkImage*);
-
-private:
- SkTDArray<const SkImage*> fArray;
- size_t fBytesInCache;
-};
-
-///////////////////////////////////////////////////////////////////////////////
-
-enum PaintOps {
- kReset_PaintOp, // no arg
-
- kFlags_PaintOp, // arg inline
- kColor_PaintOp, // arg 32
- kFilterLevel_PaintOp, // arg inline
- kStyle_PaintOp, // arg inline
- kJoin_PaintOp, // arg inline
- kCap_PaintOp, // arg inline
- kWidth_PaintOp, // arg scalar
- kMiter_PaintOp, // arg scalar
-
- kEncoding_PaintOp, // arg inline - text
- kHinting_PaintOp, // arg inline - text
- kAlign_PaintOp, // arg inline - text
- kTextSize_PaintOp, // arg scalar - text
- kTextScaleX_PaintOp,// arg scalar - text
- kTextSkewX_PaintOp, // arg scalar - text
- kTypeface_PaintOp, // arg inline (index) - text
-
- kFlatIndex_PaintOp, // flags=paintflat, data=index
-};
-
-#define PAINTOPS_OP_BITS 8
-#define PAINTOPS_FLAG_BITS 4
-#define PAINTOPS_DATA_BITS 20
-
-#define PAINTOPS_OP_MASK ((1 << PAINTOPS_OP_BITS) - 1)
-#define PAINTOPS_FLAG_MASK ((1 << PAINTOPS_FLAG_BITS) - 1)
-#define PAINTOPS_DATA_MASK ((1 << PAINTOPS_DATA_BITS) - 1)
-
-static inline unsigned PaintOp_unpackOp(uint32_t op32) {
- return (op32 >> (PAINTOPS_FLAG_BITS + PAINTOPS_DATA_BITS));
-}
-
-static inline unsigned PaintOp_unpackFlags(uint32_t op32) {
- return (op32 >> PAINTOPS_DATA_BITS) & PAINTOPS_FLAG_MASK;
-}
-
-static inline unsigned PaintOp_unpackData(uint32_t op32) {
- return op32 & PAINTOPS_DATA_MASK;
-}
-
-static inline uint32_t PaintOp_packOp(PaintOps op) {
- SkASSERT(0 == (op & ~PAINTOPS_OP_MASK));
-
- return op << (PAINTOPS_FLAG_BITS + PAINTOPS_DATA_BITS);
-}
-
-static inline uint32_t PaintOp_packOpData(PaintOps op, unsigned data) {
- SkASSERT(0 == (op & ~PAINTOPS_OP_MASK));
- SkASSERT(0 == (data & ~PAINTOPS_DATA_MASK));
-
- return (op << (PAINTOPS_FLAG_BITS + PAINTOPS_DATA_BITS)) | data;
-}
-
-static inline uint32_t PaintOp_packOpFlagData(PaintOps op, unsigned flags, unsigned data) {
- SkASSERT(0 == (op & ~PAINTOPS_OP_MASK));
- SkASSERT(0 == (flags & ~PAINTOPS_FLAG_MASK));
- SkASSERT(0 == (data & ~PAINTOPS_DATA_MASK));
-
- return (op << (PAINTOPS_FLAG_BITS + PAINTOPS_DATA_BITS)) |
- (flags << PAINTOPS_DATA_BITS) |
- data;
-}
-
-#endif
« no previous file with comments | « samplecode/SampleCode.h ('k') | src/pipe/SkGPipeRead.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698