| 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;
|
|
|
| - typedef SkRefCnt INHERITED;
|
| + typedef GrBuffer INHERITED;
|
| };
|
|
|
| #endif
|
|
|