Index: src/gpu/vk/GrVkUniformBuffer.cpp |
diff --git a/src/gpu/vk/GrVkUniformBuffer.cpp b/src/gpu/vk/GrVkUniformBuffer.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..022e2e33bdd10f978d49d6b622539b74db679d19 |
--- /dev/null |
+++ b/src/gpu/vk/GrVkUniformBuffer.cpp |
@@ -0,0 +1,31 @@ |
+/* |
+* Copyright 2015 Google Inc. |
+* |
+* Use of this source code is governed by a BSD-style license that can be |
+* found in the LICENSE file. |
+*/ |
+ |
+#include "GrVkUniformBuffer.h" |
+#include "GrVkGpu.h" |
+ |
+ |
+GrVkUniformBuffer* GrVkUniformBuffer::Create(GrVkGpu* gpu, size_t size, bool dynamic) { |
+ if (0 == size) { |
+ return nullptr; |
+ } |
+ GrVkBuffer::Desc desc; |
+ desc.fDynamic = dynamic; |
+ desc.fType = GrVkBuffer::kUniform_Type; |
+ desc.fSizeInBytes = size; |
+ |
+ const GrVkBuffer::Resource* bufferResource = GrVkBuffer::Create(gpu, desc); |
+ if (!bufferResource) { |
+ return nullptr; |
+ } |
+ |
+ GrVkUniformBuffer* buffer = new GrVkUniformBuffer(desc, bufferResource); |
+ if (!buffer) { |
+ bufferResource->unref(gpu); |
+ } |
+ return buffer; |
+} |