• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
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 #include "GrVkUniformBuffer.h"
9 #include "GrVkGpu.h"
10 
11 
Create(GrVkGpu * gpu,size_t size,bool dynamic)12 GrVkUniformBuffer* GrVkUniformBuffer::Create(GrVkGpu* gpu, size_t size, bool dynamic) {
13     if (0 == size) {
14         return nullptr;
15     }
16     GrVkBuffer::Desc desc;
17     desc.fDynamic = dynamic;
18     desc.fType = GrVkBuffer::kUniform_Type;
19     desc.fSizeInBytes = size;
20 
21     const GrVkBuffer::Resource* bufferResource = GrVkBuffer::Create(gpu, desc);
22     if (!bufferResource) {
23         return nullptr;
24     }
25 
26     GrVkUniformBuffer* buffer = new GrVkUniformBuffer(desc, bufferResource);
27     if (!buffer) {
28         bufferResource->unref(gpu);
29     }
30     return buffer;
31 }