/* * 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 GrVkVertexBuffer_DEFINED #define GrVkVertexBuffer_DEFINED #include "GrGpuBuffer.h" #include "GrVkBuffer.h" class GrVkGpu; class GrVkVertexBuffer : public GrGpuBuffer, public GrVkBuffer { public: static sk_sp<GrVkVertexBuffer> Make(GrVkGpu* gpu, size_t size, bool dynamic); protected: void onAbandon() override; void onRelease() override; private: GrVkVertexBuffer(GrVkGpu* gpu, const GrVkBuffer::Desc& desc, const GrVkBuffer::Resource* resource); void onMap() override; void onUnmap() override; bool onUpdateData(const void* src, size_t srcSizeInBytes) override; GrVkGpu* getVkGpu() const; typedef GrGpuBuffer INHERITED; }; #endif