From ac49acda520292b059bc37fd368dff912626c3d9 Mon Sep 17 00:00:00 2001 From: bsalomon Date: Fri, 14 Nov 2014 06:47:39 -0800 Subject: Revert of Replace GrResourceCache with GrResourceCache2. (patchset #7 id:120001 of https://codereview.chromium.org/716143004/) Reason for revert: broken again Original issue's description: > Replace GrResourceCache with GrResourceCache2. > > BUG=skia:2889 > > Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 > > Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89 TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2889 Review URL: https://codereview.chromium.org/726913002 --- bench/GrResourceCacheBench.cpp | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'bench/GrResourceCacheBench.cpp') diff --git a/bench/GrResourceCacheBench.cpp b/bench/GrResourceCacheBench.cpp index ef97ed8971..6d631ddb2c 100644 --- a/bench/GrResourceCacheBench.cpp +++ b/bench/GrResourceCacheBench.cpp @@ -13,6 +13,7 @@ #include "GrGpuResource.h" #include "GrContext.h" #include "GrGpu.h" +#include "GrResourceCache.h" #include "GrResourceCache2.h" #include "GrStencilBuffer.h" #include "GrTexture.h" @@ -88,20 +89,22 @@ static void get_stencil(int i, int* w, int* h, int* s) { } static void get_texture_desc(int i, GrSurfaceDesc* desc) { - desc->fFlags = kRenderTarget_GrSurfaceFlag | kNoStencil_GrSurfaceFlag; + desc->fFlags = kRenderTarget_GrSurfaceFlag | + kNoStencil_GrSurfaceFlag; desc->fWidth = i % 1024; desc->fHeight = i * 2 % 1024; desc->fConfig = static_cast(i % (kLast_GrPixelConfig + 1)); - desc->fSampleCnt = ((i % 2) == 0) ? 0 : 4; + desc->fSampleCnt = i % 1 == 0 ? 0 : 4; } -static void populate_cache(GrGpu* gpu, int resourceCount) { +static void populate_cache(GrResourceCache* cache, GrGpu* gpu, int resourceCount) { for (int i = 0; i < resourceCount; ++i) { int w, h, s; get_stencil(i, &w, &h, &s); GrResourceKey key = GrStencilBuffer::ComputeKey(w, h, s); GrGpuResource* resource = SkNEW_ARGS(StencilResource, (gpu, i)); - resource->cacheAccess().setContentKey(key); + cache->purgeAsNeeded(1, resource->gpuMemorySize()); + cache->addResource(key, resource); resource->unref(); } @@ -110,7 +113,8 @@ static void populate_cache(GrGpu* gpu, int resourceCount) { get_texture_desc(i, &desc); GrResourceKey key = TextureResource::ComputeKey(desc); GrGpuResource* resource = SkNEW_ARGS(TextureResource, (gpu, i)); - resource->cacheAccess().setContentKey(key); + cache->purgeAsNeeded(1, resource->gpuMemorySize()); + cache->addResource(key, resource); resource->unref(); } } @@ -194,24 +198,25 @@ protected: // Set the cache budget to be very large so no purging occurs. context->setResourceCacheLimits(2 * RESOURCE_COUNT, 1 << 30); + GrResourceCache* cache = context->getResourceCache(); GrResourceCache2* cache2 = context->getResourceCache2(); // Make sure the cache is empty. - cache2->purgeAllUnlocked(); - SkASSERT(0 == cache2->getResourceCount() && 0 == cache2->getResourceBytes()); + cache->purgeAllUnlocked(); + SkASSERT(0 == cache->getCachedResourceCount() && 0 == cache->getCachedResourceBytes()); GrGpu* gpu = context->getGpu(); for (int i = 0; i < loops; ++i) { - SkASSERT(0 == cache2->getResourceCount() && 0 == cache2->getResourceBytes()); + SkASSERT(0 == cache->getCachedResourceCount() && 0 == cache->getCachedResourceBytes()); - populate_cache(gpu, RESOURCE_COUNT); + populate_cache(cache, gpu, RESOURCE_COUNT); // Check that cache works. for (int k = 0; k < RESOURCE_COUNT; k += 33) { check_cache_contents_or_die(cache2, k); } - cache2->purgeAllUnlocked(); + cache->purgeAllUnlocked(); } } @@ -242,15 +247,16 @@ protected: // Set the cache budget to be very large so no purging occurs. context->setResourceCacheLimits(2 * RESOURCE_COUNT, 1 << 30); + GrResourceCache* cache = context->getResourceCache(); GrResourceCache2* cache2 = context->getResourceCache2(); // Make sure the cache is empty. - cache2->purgeAllUnlocked(); - SkASSERT(0 == cache2->getResourceCount() && 0 == cache2->getResourceBytes()); + cache->purgeAllUnlocked(); + SkASSERT(0 == cache->getCachedResourceCount() && 0 == cache->getCachedResourceBytes()); GrGpu* gpu = context->getGpu(); - populate_cache(gpu, RESOURCE_COUNT); + populate_cache(cache, gpu, RESOURCE_COUNT); for (int i = 0; i < loops; ++i) { for (int k = 0; k < RESOURCE_COUNT; ++k) { -- cgit v1.2.3