blob: 84bbbd3377372185f3498abb92b4b71db3f99fc0 [file] [log] [blame]
Greg Daniel48cf2682016-02-22 09:11:32 -05001/*
2 * Copyright 2015 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef GrVkIndexBuffer_DEFINED
9#define GrVkIndexBuffer_DEFINED
10
11#include "GrIndexBuffer.h"
12#include "GrVkBuffer.h"
13#include "vk/GrVkInterface.h"
14
15class GrVkGpu;
16
17class GrVkIndexBuffer : public GrIndexBuffer, public GrVkBuffer {
18
19public:
20 static GrVkIndexBuffer* Create(GrVkGpu* gpu, size_t size, bool dynamic);
21
22protected:
23 void onAbandon() override;
24 void onRelease() override;
25
26private:
27 GrVkIndexBuffer(GrVkGpu* gpu, const GrVkBuffer::Desc& desc,
28 const GrVkBuffer::Resource* resource);
29
30 void* onMap() override;
31 void onUnmap() override;
32 bool onUpdateData(const void* src, size_t srcSizeInBytes) override;
33
34 GrVkGpu* getVkGpu() const;
35
36 typedef GrIndexBuffer INHERITED;
37};
38
39#endif