Index: src/gpu/GrIndexBuffer.h |
diff --git a/src/gpu/GrIndexBuffer.h b/src/gpu/GrIndexBuffer.h |
index 4dfd1c1b07713ff170fb9d18f708129d71a75c38..f3d58e24726749e193b0f3491335943b94b9be95 100644 |
--- a/src/gpu/GrIndexBuffer.h |
+++ b/src/gpu/GrIndexBuffer.h |
@@ -13,8 +13,19 @@ |
#include "GrGeometryBuffer.h" |
+ |
class GrIndexBuffer : public GrGeometryBuffer { |
public: |
+ static void ComputeScratchKey(size_t size, bool dynamic, GrScratchKey* key) { |
+ static const GrScratchKey::ResourceType kType = GrScratchKey::GenerateResourceType(); |
+ |
+ GrScratchKey::Builder builder(key, kType, 2); |
+ |
+ SkASSERT(size <= SK_MaxU32); |
+ builder[0] = size; |
+ builder[1] = dynamic ? 1 : 0; |
+ } |
+ |
/** |
* Retrieves the maximum number of quads that could be rendered |
* from the index buffer (using kTriangles_GrPrimitiveType). |
@@ -25,7 +36,12 @@ public: |
} |
protected: |
GrIndexBuffer(GrGpu* gpu, size_t gpuMemorySize, bool dynamic, bool cpuBacked) |
- : INHERITED(gpu, gpuMemorySize, dynamic, cpuBacked) {} |
+ : INHERITED(gpu, gpuMemorySize, dynamic, cpuBacked) { |
+ GrScratchKey key; |
+ ComputeScratchKey(gpuMemorySize, dynamic, &key); |
+ this->setScratchKey(key); |
+ } |
+ |
private: |
typedef GrGeometryBuffer INHERITED; |
}; |