Add static buffer support

Put resource tracking check in the right place

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2112653002

Review-Url: https://codereview.chromium.org/2112653002
diff --git a/src/gpu/vk/GrVkResourceProvider.cpp b/src/gpu/vk/GrVkResourceProvider.cpp
index 31d5568..4f6c792 100644
--- a/src/gpu/vk/GrVkResourceProvider.cpp
+++ b/src/gpu/vk/GrVkResourceProvider.cpp
@@ -261,10 +261,6 @@
 
     fPipelineStateCache->release();
 
-#ifdef SK_TRACE_VK_RESOURCES
-    SkASSERT(0 == GrVkResource::fTrace.count());
-#endif
-
     GR_VK_CALL(fGpu->vkInterface(), DestroyPipelineCache(fGpu->device(), fPipelineCache, nullptr));
     fPipelineCache = VK_NULL_HANDLE;
 
@@ -275,6 +271,10 @@
         fUniformDescLayout = VK_NULL_HANDLE;
     }
     fUniformDescPool->unref(fGpu);
+
+#ifdef SK_TRACE_VK_RESOURCES
+    SkASSERT(0 == GrVkResource::fTrace.count());
+#endif
 }
 
 void GrVkResourceProvider::abandonResources() {
@@ -300,13 +300,14 @@
 
     fPipelineStateCache->abandon();
 
-#ifdef SK_TRACE_VK_RESOURCES
-    SkASSERT(0 == GrVkResource::fTrace.count());
-#endif
     fPipelineCache = VK_NULL_HANDLE;
 
     fUniformDescLayout = VK_NULL_HANDLE;
     fUniformDescPool->unrefAndAbandon();
+
+#ifdef SK_TRACE_VK_RESOURCES
+    SkASSERT(0 == GrVkResource::fTrace.count());
+#endif
 }
 
 ////////////////////////////////////////////////////////////////////////////////