blob: 022e2e33bdd10f978d49d6b622539b74db679d19 [file] [log] [blame]
/*
* 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;
}