From c5f1c5414fc8f73cbefadcc1b24ec794056fa203 Mon Sep 17 00:00:00 2001 From: robertphillips Date: Wed, 13 May 2015 10:55:33 -0700 Subject: Refactor GrBufferAllocPools to use resource cache Review URL: https://codereview.chromium.org/1139753002 --- src/gpu/GrIndexBuffer.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/gpu/GrIndexBuffer.h') diff --git a/src/gpu/GrIndexBuffer.h b/src/gpu/GrIndexBuffer.h index 4dfd1c1b07..bf64ff87d2 100644 --- a/src/gpu/GrIndexBuffer.h +++ b/src/gpu/GrIndexBuffer.h @@ -13,8 +13,18 @@ #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); + + builder[0] = SkToUInt(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 +35,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; }; -- cgit v1.2.3