| Index: src/gpu/GrResourceProvider.h
|
| diff --git a/src/gpu/GrResourceProvider.h b/src/gpu/GrResourceProvider.h
|
| index 3dfc9ba863334299c5ea1c7142a6ea8d27be9e9e..7b51726d10c7e26d8a1e1ef2a1df64e7a994ee3c 100644
|
| --- a/src/gpu/GrResourceProvider.h
|
| +++ b/src/gpu/GrResourceProvider.h
|
| @@ -9,18 +9,16 @@
|
| #define GrResourceProvider_DEFINED
|
|
|
| #include "GrBatchAtlas.h"
|
| -#include "GrIndexBuffer.h"
|
| +#include "GrBuffer.h"
|
| #include "GrTextureProvider.h"
|
| #include "GrPathRange.h"
|
|
|
| class GrBatchAtlas;
|
| -class GrIndexBuffer;
|
| class GrPath;
|
| class GrRenderTarget;
|
| class GrSingleOwner;
|
| class GrStencilAttachment;
|
| class GrStrokeInfo;
|
| -class GrVertexBuffer;
|
| class SkDescriptor;
|
| class SkPath;
|
| class SkTypeface;
|
| @@ -45,7 +43,7 @@ public:
|
| /**
|
| * Either finds and refs, or creates an index buffer for instanced drawing with a specific
|
| * pattern if the index buffer is not found. If the return is non-null, the caller owns
|
| - * a ref on the returned GrIndexBuffer.
|
| + * a ref on the returned GrBuffer.
|
| *
|
| * @param pattern the pattern of indices to repeat
|
| * @param patternSize size in bytes of the pattern
|
| @@ -55,12 +53,12 @@ public:
|
| *
|
| * @return The index buffer if successful, otherwise nullptr.
|
| */
|
| - const GrIndexBuffer* findOrCreateInstancedIndexBuffer(const uint16_t* pattern,
|
| - int patternSize,
|
| - int reps,
|
| - int vertCount,
|
| - const GrUniqueKey& key) {
|
| - if (GrIndexBuffer* buffer = this->findAndRefTByUniqueKey<GrIndexBuffer>(key)) {
|
| + const GrBuffer* findOrCreateInstancedIndexBuffer(const uint16_t* pattern,
|
| + int patternSize,
|
| + int reps,
|
| + int vertCount,
|
| + const GrUniqueKey& key) {
|
| + if (GrBuffer* buffer = this->findAndRefTByUniqueKey<GrBuffer>(key)) {
|
| return buffer;
|
| }
|
| return this->createInstancedIndexBuffer(pattern, patternSize, reps, vertCount, key);
|
| @@ -69,13 +67,13 @@ public:
|
| /**
|
| * Returns an index buffer that can be used to render quads.
|
| * Six indices per quad: 0, 1, 2, 0, 2, 3, etc.
|
| - * The max number of quads can be queried using GrIndexBuffer::maxQuads().
|
| + * The max number of quads is the buffer's index capacity divided by 6.
|
| * Draw with kTriangles_GrPrimitiveType
|
| * @ return the quad index buffer
|
| */
|
| - const GrIndexBuffer* refQuadIndexBuffer() {
|
| - if (GrIndexBuffer* buffer =
|
| - this->findAndRefTByUniqueKey<GrIndexBuffer>(fQuadIndexBufferKey)) {
|
| + const GrBuffer* refQuadIndexBuffer() {
|
| + if (GrBuffer* buffer =
|
| + this->findAndRefTByUniqueKey<GrBuffer>(fQuadIndexBufferKey)) {
|
| return buffer;
|
| }
|
| return this->createQuadIndexBuffer();
|
| @@ -104,16 +102,7 @@ public:
|
| kNoPendingIO_Flag = kNoPendingIO_ScratchTextureFlag,
|
| };
|
|
|
| - enum BufferUsage {
|
| - /** Caller intends to specify the buffer data rarely with respect to the number of draws
|
| - that read the data. */
|
| - kStatic_BufferUsage,
|
| - /** Caller intends to respecify the buffer data frequently between draws. */
|
| - kDynamic_BufferUsage,
|
| - };
|
| - GrIndexBuffer* createIndexBuffer(size_t size, BufferUsage, uint32_t flags);
|
| - GrVertexBuffer* createVertexBuffer(size_t size, BufferUsage, uint32_t flags);
|
| - GrTransferBuffer* createTransferBuffer(size_t size, TransferType, uint32_t flags);
|
| + GrBuffer* createBuffer(GrBufferType, size_t size, GrAccessPattern, uint32_t flags);
|
|
|
| GrTexture* createApproxTexture(const GrSurfaceDesc& desc, uint32_t flags) {
|
| SkASSERT(0 == flags || kNoPendingIO_Flag == flags);
|
| @@ -157,13 +146,13 @@ public:
|
| GrWrapOwnership = kBorrow_GrWrapOwnership);
|
|
|
| private:
|
| - const GrIndexBuffer* createInstancedIndexBuffer(const uint16_t* pattern,
|
| - int patternSize,
|
| - int reps,
|
| - int vertCount,
|
| - const GrUniqueKey& key);
|
| + const GrBuffer* createInstancedIndexBuffer(const uint16_t* pattern,
|
| + int patternSize,
|
| + int reps,
|
| + int vertCount,
|
| + const GrUniqueKey& key);
|
|
|
| - const GrIndexBuffer* createQuadIndexBuffer();
|
| + const GrBuffer* createQuadIndexBuffer();
|
|
|
| GrUniqueKey fQuadIndexBufferKey;
|
|
|
|
|