diff options
author | cdalton <cdalton@nvidia.com> | 2016-03-25 01:54:54 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-25 01:54:55 -0700 |
commit | 8b1bff29675afd25843439eade634a57f68fe16f (patch) | |
tree | 07e7676e54f5520b14e2e1896c64e96b4f61f3c3 /src/gpu/GrMesh.h | |
parent | 6b3eacb0dfaeb3374d410c8c041bd39cd066e1ea (diff) |
Consolidate GPU buffer implementations
Consolidates all the different buffer implementations into a single
GrBuffer class. This will allow us to add new buffer types, use DSA in
OpenGL, track buffer bindings by unique ID, cache buffers without
respect to the type of data they have been used for previously, etc.
This change is strictly a refactor; it introduces no change in
functionality.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1825393002
Review URL: https://codereview.chromium.org/1825393002
Diffstat (limited to 'src/gpu/GrMesh.h')
-rw-r--r-- | src/gpu/GrMesh.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/gpu/GrMesh.h b/src/gpu/GrMesh.h index 5ff23dcfd0..964e0b4a8e 100644 --- a/src/gpu/GrMesh.h +++ b/src/gpu/GrMesh.h @@ -8,8 +8,8 @@ #ifndef GrMesh_DEFINED #define GrMesh_DEFINED -#include "GrIndexBuffer.h" -#include "GrVertexBuffer.h" +#include "GrBuffer.h" +#include "GrGpuResourceRef.h" class GrNonInstancedMesh { public: @@ -20,8 +20,8 @@ public: int indexCount() const { return fIndexCount; } bool isIndexed() const { return fIndexCount > 0; } - const GrVertexBuffer* vertexBuffer() const { return fVertexBuffer.get(); } - const GrIndexBuffer* indexBuffer() const { return fIndexBuffer.get(); } + const GrBuffer* vertexBuffer() const { return fVertexBuffer.get(); } + const GrBuffer* indexBuffer() const { return fIndexBuffer.get(); } protected: GrPrimitiveType fPrimitiveType; @@ -29,8 +29,8 @@ protected: int fStartIndex; int fVertexCount; int fIndexCount; - GrPendingIOResource<const GrVertexBuffer, kRead_GrIOType> fVertexBuffer; - GrPendingIOResource<const GrIndexBuffer, kRead_GrIOType> fIndexBuffer; + GrPendingIOResource<const GrBuffer, kRead_GrIOType> fVertexBuffer; + GrPendingIOResource<const GrBuffer, kRead_GrIOType> fIndexBuffer; friend class GrMesh; }; @@ -46,7 +46,7 @@ public: GrMesh(const GrMesh& di) { (*this) = di; } GrMesh& operator =(const GrMesh& di); - void init(GrPrimitiveType primType, const GrVertexBuffer* vertexBuffer, int startVertex, + void init(GrPrimitiveType primType, const GrBuffer* vertexBuffer, int startVertex, int vertexCount) { SkASSERT(vertexBuffer); SkASSERT(vertexCount); @@ -65,8 +65,8 @@ public: } void initIndexed(GrPrimitiveType primType, - const GrVertexBuffer* vertexBuffer, - const GrIndexBuffer* indexBuffer, + const GrBuffer* vertexBuffer, + const GrBuffer* indexBuffer, int startVertex, int startIndex, int vertexCount, @@ -95,8 +95,8 @@ public: the number of instances supported by the index buffer. To be used with nextInstances() to draw in max-sized batches.*/ void initInstanced(GrPrimitiveType primType, - const GrVertexBuffer* vertexBuffer, - const GrIndexBuffer* indexBuffer, + const GrBuffer* vertexBuffer, + const GrBuffer* indexBuffer, int startVertex, int verticesPerInstance, int indicesPerInstance, |