| Index: src/gpu/vk/GrVkTransferBuffer.h
|
| diff --git a/src/gpu/vk/GrVkTransferBuffer.h b/src/gpu/vk/GrVkTransferBuffer.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f978df95fd744cf7cc14138c35e1e544e96c5e24
|
| --- /dev/null
|
| +++ b/src/gpu/vk/GrVkTransferBuffer.h
|
| @@ -0,0 +1,54 @@
|
| +/*
|
| +* Copyright 2015 Google Inc.
|
| +*
|
| +* Use of this source code is governed by a BSD-style license that can be
|
| +* found in the LICENSE file.
|
| +*/
|
| +
|
| +#ifndef GrVkTransferBuffer_DEFINED
|
| +#define GrVkTransferBuffer_DEFINED
|
| +
|
| +#include "GrTransferBuffer.h"
|
| +#include "GrVkBuffer.h"
|
| +#include "vk/GrVkInterface.h"
|
| +
|
| +class GrVkGpu;
|
| +
|
| +class GrVkTransferBuffer : public GrTransferBuffer, public GrVkBuffer {
|
| +
|
| +public:
|
| + static GrVkTransferBuffer* Create(GrVkGpu* gpu, size_t size, GrVkBuffer::Type type);
|
| +
|
| +protected:
|
| + void onAbandon() override;
|
| + void onRelease() override;
|
| +
|
| +private:
|
| + GrVkTransferBuffer(GrVkGpu* gpu, const GrVkBuffer::Desc& desc,
|
| + const GrVkBuffer::Resource* resource);
|
| + void setMemoryBacking(SkTraceMemoryDump* traceMemoryDump,
|
| + const SkString& dumpName) const override;
|
| +
|
| + void* onMap() override {
|
| + if (!this->wasDestroyed()) {
|
| + return this->vkMap(this->getVkGpu());
|
| + } else {
|
| + return nullptr;
|
| + }
|
| + }
|
| +
|
| + void onUnmap() override {
|
| + if (!this->wasDestroyed()) {
|
| + this->vkUnmap(this->getVkGpu());
|
| + }
|
| + }
|
| +
|
| + GrVkGpu* getVkGpu() const {
|
| + SkASSERT(!this->wasDestroyed());
|
| + return reinterpret_cast<GrVkGpu*>(this->getGpu());
|
| + }
|
| +
|
| + typedef GrTransferBuffer INHERITED;
|
| +};
|
| +
|
| +#endif
|
|
|