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

Unified Diff: src/gpu/batches/GrBatch.h

Issue 1355353002: Create GrDraw and start fast pathing src over rects (Closed) Base URL: https://skia.googlesource.com/skia.git@strokerect2
Patch Set: rebase Created 5 years, 3 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
Index: src/gpu/batches/GrBatch.h
diff --git a/src/gpu/batches/GrBatch.h b/src/gpu/batches/GrBatch.h
index c5fc80c5d50dfbd622dfb69e3eb9adfbcd3c31f9..ea1712f6452c4bd84437ceaaf653b257c4948ec1 100644
--- a/src/gpu/batches/GrBatch.h
+++ b/src/gpu/batches/GrBatch.h
@@ -14,6 +14,8 @@
#include "SkRect.h"
#include "SkString.h"
+#include "draws/GrDraw.h"
+
class GrCaps;
class GrBatchFlushState;
@@ -109,6 +111,14 @@ public:
/** Used for spewing information about batches when debugging. */
virtual SkString dumpInfo() const = 0;
+ // TODO put on stack
+ template <class T> T* getSnapStorage() {
bsalomon 2015/09/23 13:49:38 Can we do anything here with var args to forward c
joshualitt 2015/09/25 18:17:12 Acknowledged.
+ SkASSERT(sizeof(T) < fSnapStorage.size());
+ fSnap = reinterpret_cast<GrDrawSnap*>(fSnapStorage.get());
+ return reinterpret_cast<T*>(fSnap);
+ }
+ const GrDrawSnap* drawSnap() const { return fSnap; }
+
protected:
// NOTE, compute some bounds, even if extremely conservative. Do *NOT* setLargest on the bounds
// rect because we outset it for dst copy textures
@@ -150,6 +160,9 @@ private:
const uint32_t fUniqueID;
static int32_t gCurrBatchUniqueID;
#endif
+ GrDrawSnap* fSnap;
bsalomon 2015/09/23 13:49:38 alignment
robertphillips 2015/09/25 12:48:48 How was 256 arrived at ?
joshualitt 2015/09/25 18:17:12 magic! I'll add a comment
joshualitt 2015/09/25 18:17:12 Acknowledged.
+ SkAlignedSStorage<256> fSnapStorage;
+
static int32_t gCurrBatchClassID;
typedef GrNonAtomicRef INHERITED;
};

Powered by Google App Engine
This is Rietveld 408576698