20 if (!buffer_.is_allocated()) {
28 buffer_.update_render_graph(context, data_copy);
31void VKUniformBuffer::allocate()
35 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT |
36 VK_BUFFER_USAGE_TRANSFER_DST_BIT,
43 if (!buffer_.is_allocated()) {
47 buffer_.clear(context, 0);
52 if (!buffer_.is_allocated()) {
60 buffer_.update_render_graph(context, std::move(
data_));
68 context.state_manager_get().uniform_buffer_bind(
this, slot);
74 context.state_manager_get().storage_buffer_bind(
81 if (context !=
nullptr) {
bool create(size_t size, GPUUsageType usage, VkBufferUsageFlags buffer_usage, bool is_host_visible=true)
VkBuffer vk_handle() const
void uniform_buffer_unbind(VKUniformBuffer *uniform_buffer)
void storage_buffer_unbind(void *resource)
void *(* MEM_mallocN)(size_t len, const char *str)
void object_label(GLenum type, GLuint object, const char *name)