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

Function create_func

source/emulator/src/Graphics/Objects/StorageBuffer.cpp:34–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32}
33
34static void* create_func(GraphicContext* ctx, const uint64_t* params, const uint64_t* vaddr, const uint64_t* size, int vaddr_num,
35 VulkanMemory* mem)
36{
37 KYTY_PROFILER_BLOCK("StorageBufferGpuObject::Create");
38
39 EXIT_IF(vaddr_num != 1 || size == nullptr || vaddr == nullptr || *vaddr == 0);
40
41 EXIT_IF(mem == nullptr);
42 EXIT_IF(ctx == nullptr);
43
44 auto* vk_obj = new StorageVulkanBuffer;
45
46 vk_obj->usage = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
47 vk_obj->memory.property = static_cast<uint32_t>(VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT |
48 VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
49 vk_obj->buffer = nullptr;
50
51 VulkanCreateBuffer(ctx, *size, vk_obj);
52 EXIT_NOT_IMPLEMENTED(vk_obj->buffer == nullptr);
53
54 update_func(ctx, params, vk_obj, vaddr, size, vaddr_num);
55
56 return vk_obj;
57}
58
59static void delete_func(GraphicContext* ctx, void* obj, VulkanMemory* /*mem*/)
60{

Callers

nothing calls this directly

Calls 2

VulkanCreateBufferFunction · 0.85
update_funcFunction · 0.70

Tested by

no test coverage detected