OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef GrVkUniformBuffer_DEFINED | 8 #ifndef GrVkUniformBuffer_DEFINED |
9 #define GrVkUniformBuffer_DEFINED | 9 #define GrVkUniformBuffer_DEFINED |
10 | 10 |
11 #include "GrVkBuffer.h" | 11 #include "GrVkBuffer.h" |
12 | 12 |
13 class GrVkGpu; | 13 class GrVkGpu; |
14 | 14 |
15 class GrVkUniformBuffer : public GrVkBuffer { | 15 class GrVkUniformBuffer : public GrVkBuffer { |
16 | 16 |
17 public: | 17 public: |
18 static GrVkUniformBuffer* Create(GrVkGpu* gpu, size_t size, bool dynamic); | 18 static GrVkUniformBuffer* Create(GrVkGpu* gpu, size_t size, bool dynamic); |
19 | 19 |
20 void* map(const GrVkGpu* gpu) { | 20 void* map(const GrVkGpu* gpu) { |
21 return this->vkMap(gpu); | 21 return this->vkMap(gpu); |
22 } | 22 } |
23 void unmap(const GrVkGpu* gpu) { | 23 void unmap(const GrVkGpu* gpu) { |
24 this->vkUnmap(gpu); | 24 this->vkUnmap(gpu); |
25 } | 25 } |
26 // The output variable createdNewBuffer must be set to true if a new VkBuffe
r is created in | 26 // The output variable createdNewBuffer must be set to true if a new VkBuffe
r is created in |
27 // order to upload the data | 27 // order to upload the data |
28 bool updateData(const GrVkGpu* gpu, const void* src, size_t srcSizeInBytes, | 28 bool updateData(GrVkGpu* gpu, const void* src, size_t srcSizeInBytes, |
29 bool* createdNewBuffer) { | 29 bool* createdNewBuffer) { |
30 return this->vkUpdateData(gpu, src, srcSizeInBytes, createdNewBuffer); | 30 return this->vkUpdateData(gpu, src, srcSizeInBytes, createdNewBuffer); |
31 } | 31 } |
32 void release(const GrVkGpu* gpu) { | 32 void release(const GrVkGpu* gpu) { |
33 this->vkRelease(gpu); | 33 this->vkRelease(gpu); |
34 } | 34 } |
35 void abandon() { | 35 void abandon() { |
36 this->vkAbandon(); | 36 this->vkAbandon(); |
37 } | 37 } |
38 | 38 |
39 private: | 39 private: |
40 GrVkUniformBuffer(const GrVkBuffer::Desc& desc, const GrVkBuffer::Resource*
resource) | 40 GrVkUniformBuffer(const GrVkBuffer::Desc& desc, const GrVkBuffer::Resource*
resource) |
41 : INHERITED(desc, resource) { | 41 : INHERITED(desc, resource) { |
42 }; | 42 }; |
43 | 43 |
44 typedef GrVkBuffer INHERITED; | 44 typedef GrVkBuffer INHERITED; |
45 }; | 45 }; |
46 | 46 |
47 #endif | 47 #endif |
OLD | NEW |