/* * 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; }