Chromium Code Reviews| Index: src/gpu/vk/GrVkBuffer.h |
| diff --git a/src/gpu/vk/GrVkBuffer.h b/src/gpu/vk/GrVkBuffer.h |
| index 7dac3a1149a38d3fb1dd5e896609b4e7cbdcefdf..2961637ccd1b4547461068b5b0c081972f50d117 100644 |
| --- a/src/gpu/vk/GrVkBuffer.h |
| +++ b/src/gpu/vk/GrVkBuffer.h |
| @@ -8,6 +8,7 @@ |
| #ifndef GrVkBuffer_DEFINED |
| #define GrVkBuffer_DEFINED |
| +#include "GrBuffer.h" |
| #include "vk/GrVkInterface.h" |
| #include "GrVkResource.h" |
| @@ -17,7 +18,7 @@ class GrVkGpu; |
| * This class serves as the base of GrVk*Buffer classes. It was written to avoid code |
| * duplication in those classes. |
| */ |
| -class GrVkBuffer : public SkNoncopyable { |
| +class GrVkBuffer : public GrBuffer { |
| public: |
| ~GrVkBuffer() { |
| // either release or abandon should have been called by the owner of this object. |
| @@ -36,19 +37,11 @@ public: |
| VkPipelineStageFlags dstStageMask, |
| bool byRegion) const; |
| - enum Type { |
| - kVertex_Type, |
| - kIndex_Type, |
| - kUniform_Type, |
| - kCopyRead_Type, |
| - kCopyWrite_Type, |
| - }; |
| - |
| protected: |
| struct Desc { |
| - size_t fSizeInBytes; |
| - Type fType; // vertex buffer, index buffer, etc. |
| - bool fDynamic; |
| + size_t fSizeInBytes; |
| + GrBufferType fType; // vertex buffer, index buffer, etc. |
| + GrAccessPattern fAccessPattern; |
| }; |
| class Resource : public GrVkResource { |
| @@ -67,16 +60,16 @@ protected: |
| static const Resource* Create(const GrVkGpu* gpu, |
| const Desc& descriptor); |
| - GrVkBuffer(const Desc& desc, const GrVkBuffer::Resource* resource) |
| - : fDesc(desc), fResource(resource), fMapPtr(nullptr) { |
| - } |
| + GrVkBuffer(GrVkGpu* gpu, const Desc& desc, const GrVkBuffer::Resource* resource); |
| + |
| + GrVkGpu* vkGpu() const; |
| - void* vkMap(const GrVkGpu* gpu); |
| - void vkUnmap(const GrVkGpu* gpu); |
| - bool vkUpdateData(const GrVkGpu* gpu, const void* src, size_t srcSizeInBytes); |
| + void onMap() override; |
| + void onUnmap() override; |
| + bool onUpdateData(const void* src, size_t srcSizeInBytes) override; |
| - void vkAbandon(); |
| - void vkRelease(const GrVkGpu* gpu); |
| + void onAbandon() override; |
| + void onRelease() override; |
| private: |
| void validate() const; |
| @@ -86,7 +79,7 @@ private: |
| const Resource* fResource; |
| void* fMapPtr; |
|
jvanverth1
2016/03/24 17:05:43
This needs to be deleted -- it duplicates fMapPtr
|
| - typedef SkRefCnt INHERITED; |
| + typedef GrBuffer INHERITED; |
| }; |
| #endif |