Add offset to memory allocations

This is setting up for suballocations within one large
allocation

BUG=skia:5031
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2018933004
TBR=bsalomon@google.com

Review-Url: https://codereview.chromium.org/2018933004
diff --git a/src/gpu/vk/GrVkBuffer.h b/src/gpu/vk/GrVkBuffer.h
index 141b2a3..f7d43c7 100644
--- a/src/gpu/vk/GrVkBuffer.h
+++ b/src/gpu/vk/GrVkBuffer.h
@@ -10,6 +10,7 @@
 
 #include "GrVkResource.h"
 #include "vk/GrVkDefines.h"
+#include "vk/GrVkTypes.h"
 
 class GrVkGpu;
 
@@ -24,8 +25,8 @@
         SkASSERT(!fResource);
     }
 
-    VkBuffer       buffer() const { return fResource->fBuffer; }
-    VkDeviceMemory alloc() const { return fResource->fAlloc; }
+    VkBuffer buffer() const { return fResource->fBuffer; }
+    const GrVkAlloc& alloc() const { return fResource->fAlloc; }
     const GrVkResource* resource() const { return fResource; }
     size_t         size() const { return fDesc.fSizeInBytes; }
 
@@ -53,10 +54,12 @@
 
     class Resource : public GrVkResource {
     public:
-        Resource(VkBuffer buf, VkDeviceMemory alloc) : INHERITED(), fBuffer(buf), fAlloc(alloc) {}
+        Resource(VkBuffer buf, const GrVkAlloc& alloc) 
+            : INHERITED(), fBuffer(buf), fAlloc(alloc) {}
 
-        VkBuffer fBuffer;
-        VkDeviceMemory fAlloc;
+        VkBuffer  fBuffer;
+        GrVkAlloc fAlloc;
+
     private:
         void freeGPUData(const GrVkGpu* gpu) const;