MCPcopy Create free account
hub / github.com/InoriRus/Kyty / VulkanCreateBuffer

Function VulkanCreateBuffer

source/emulator/src/Graphics/Utils.cpp:277–301  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275}
276
277void VulkanCreateBuffer(GraphicContext* gctx, uint64_t size, VulkanBuffer* buffer)
278{
279 KYTY_PROFILER_FUNCTION();
280
281 EXIT_IF(gctx == nullptr);
282 EXIT_IF(buffer == nullptr);
283 EXIT_IF(buffer->buffer != nullptr);
284
285 VkBufferCreateInfo buffer_info {};
286 buffer_info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
287 buffer_info.size = size;
288 buffer_info.usage = buffer->usage;
289 buffer_info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
290
291 vkCreateBuffer(gctx->device, &buffer_info, nullptr, &buffer->buffer);
292 EXIT_NOT_IMPLEMENTED(buffer->buffer == nullptr);
293
294 vkGetBufferMemoryRequirements(gctx->device, buffer->buffer, &buffer->memory.requirements);
295
296 bool allocated = VulkanAllocate(gctx, &buffer->memory);
297 EXIT_NOT_IMPLEMENTED(!allocated);
298
299 // vkBindBufferMemory(gctx->device, buffer->buffer, buffer->memory.memory, buffer->memory.offset);
300 VulkanBindBufferMemory(gctx, buffer, &buffer->memory);
301}
302
303void VulkanDeleteBuffer(GraphicContext* gctx, VulkanBuffer* buffer)
304{

Callers 7

InitMethod · 0.85
UtilFillImageFunction · 0.85
UtilFillBufferFunction · 0.85
create_funcFunction · 0.85
update_funcFunction · 0.85
create_funcFunction · 0.85
create_funcFunction · 0.85

Calls 2

VulkanAllocateFunction · 0.85
VulkanBindBufferMemoryFunction · 0.85

Tested by

no test coverage detected