Add GrSTAllocator subclass, hide cons in GrTAllocator that takes ptr
Review URL: http://codereview.appspot.com/5147045/
git-svn-id: http://skia.googlecode.com/svn/trunk@2355 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrInOrderDrawBuffer.cpp b/gpu/src/GrInOrderDrawBuffer.cpp
index 3d78da3..946d31c 100644
--- a/gpu/src/GrInOrderDrawBuffer.cpp
+++ b/gpu/src/GrInOrderDrawBuffer.cpp
@@ -18,17 +18,11 @@
GrInOrderDrawBuffer::GrInOrderDrawBuffer(const GrGpu* gpu,
GrVertexBufferAllocPool* vertexPool,
GrIndexBufferAllocPool* indexPool)
- : fDraws(&fDrawStorage)
- , fStates(&fStateStorage)
- , fClears(&fClearStorage)
- , fClips(&fClipStorage)
- , fClipSet(true)
-
+ : fClipSet(true)
, fLastRectVertexLayout(0)
, fQuadIndexBuffer(NULL)
, fMaxQuads(0)
, fCurrQuad(0)
-
, fVertexPool(*vertexPool)
, fIndexPool(*indexPool) {
diff --git a/gpu/src/GrInOrderDrawBuffer.h b/gpu/src/GrInOrderDrawBuffer.h
index 122be53..3d1ec8c 100644
--- a/gpu/src/GrInOrderDrawBuffer.h
+++ b/gpu/src/GrInOrderDrawBuffer.h
@@ -144,13 +144,22 @@
void pushState();
void pushClip();
+
+ enum {
+ kDrawPreallocCnt = 8,
+ kStatePreallocCnt = 8,
+ kClipPreallocCnt = 8,
+ kClearPreallocCnt = 4,
+ kGeoPoolStatePreAllocCnt = 4,
+ };
const GrGpu* fGpu;
- GrTAllocator<Draw> fDraws;
- GrTAllocator<SavedDrawState> fStates;
- GrTAllocator<Clear> fClears;
- GrTAllocator<GrClip> fClips;
+ GrSTAllocator<kDrawPreallocCnt, Draw> fDraws;
+ GrSTAllocator<kStatePreallocCnt, SavedDrawState> fStates;
+ GrSTAllocator<kClearPreallocCnt, Clear> fClears;
+ GrSTAllocator<kClipPreallocCnt, GrClip> fClips;
+
bool fClipSet;
GrVertexLayout fLastRectVertexLayout;
@@ -162,14 +171,6 @@
GrIndexBufferAllocPool& fIndexPool;
- enum {
- kDrawPreallocCnt = 8,
- kStatePreallocCnt = 8,
- kClipPreallocCnt = 8,
- kClearPreallocCnt = 4,
- kGeoPoolStatePreAllocCnt = 4,
- };
-
struct GeometryPoolState {
const GrVertexBuffer* fPoolVertexBuffer;
int fPoolStartVertex;
@@ -183,11 +184,6 @@
};
SkSTArray<kGeoPoolStatePreAllocCnt, GeometryPoolState> fGeoPoolStateStack;
- SkAlignedSTStorage<kDrawPreallocCnt, Draw> fDrawStorage;
- SkAlignedSTStorage<kStatePreallocCnt, SavedDrawState> fStateStorage;
- SkAlignedSTStorage<kClipPreallocCnt, GrClip> fClipStorage;
- SkAlignedSTStorage<kClearPreallocCnt, Clear> fClearStorage;
-
typedef GrDrawTarget INHERITED;
};