aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrBufferAllocPool.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/GrBufferAllocPool.h')
-rw-r--r--src/gpu/GrBufferAllocPool.h35
1 files changed, 11 insertions, 24 deletions
diff --git a/src/gpu/GrBufferAllocPool.h b/src/gpu/GrBufferAllocPool.h
index a3d8e45364..071b00b064 100644
--- a/src/gpu/GrBufferAllocPool.h
+++ b/src/gpu/GrBufferAllocPool.h
@@ -11,8 +11,9 @@
#include "SkTArray.h"
#include "SkTDArray.h"
#include "SkTypes.h"
+#include "GrTypesPriv.h"
-class GrGeometryBuffer;
+class GrBuffer;
class GrGpu;
/**
@@ -47,16 +48,6 @@ public:
protected:
/**
- * Used to determine what type of buffers to create. We could make the
- * createBuffer a virtual except that we want to use it in the cons for
- * pre-allocated buffers.
- */
- enum BufferType {
- kVertex_BufferType,
- kIndex_BufferType,
- };
-
- /**
* Constructor
*
* @param gpu The GrGpu used to create the buffers.
@@ -66,7 +57,7 @@ protected:
* reasonable minimum.
*/
GrBufferAllocPool(GrGpu* gpu,
- BufferType bufferType,
+ GrBufferType bufferType,
size_t bufferSize = 0);
virtual ~GrBufferAllocPool();
@@ -92,15 +83,15 @@ protected:
*/
void* makeSpace(size_t size,
size_t alignment,
- const GrGeometryBuffer** buffer,
+ const GrBuffer** buffer,
size_t* offset);
- GrGeometryBuffer* getBuffer(size_t size);
+ GrBuffer* getBuffer(size_t size);
private:
struct BufferBlock {
- size_t fBytesFree;
- GrGeometryBuffer* fBuffer;
+ size_t fBytesFree;
+ GrBuffer* fBuffer;
};
bool createBlock(size_t requestSize);
@@ -115,16 +106,14 @@ private:
GrGpu* fGpu;
size_t fMinBlockSize;
- BufferType fBufferType;
+ GrBufferType fBufferType;
SkTArray<BufferBlock> fBlocks;
void* fCpuData;
void* fBufferPtr;
- size_t fGeometryBufferMapThreshold;
+ size_t fBufferMapThreshold;
};
-class GrVertexBuffer;
-
/**
* A GrBufferAllocPool of vertex buffers
*/
@@ -160,15 +149,13 @@ public:
*/
void* makeSpace(size_t vertexSize,
int vertexCount,
- const GrVertexBuffer** buffer,
+ const GrBuffer** buffer,
int* startVertex);
private:
typedef GrBufferAllocPool INHERITED;
};
-class GrIndexBuffer;
-
/**
* A GrBufferAllocPool of index buffers
*/
@@ -200,7 +187,7 @@ public:
* @return pointer to first index.
*/
void* makeSpace(int indexCount,
- const GrIndexBuffer** buffer,
+ const GrBuffer** buffer,
int* startIndex);
private: