diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-03-05 10:54:46 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-03-05 10:54:46 -0500 |
| commit | 6b0f3cb77bf46ebc4d4e6f538c53fadba8f56f90 (patch) | |
| tree | bbbed5ecb1789dd1bda91db7304d1c38b637e3bb /src/window.hpp | |
| parent | 78ca2865441df428228d158796c346e1df75d302 (diff) | |
pke: refactor ui buffer creation
Diffstat (limited to 'src/window.hpp')
| -rw-r--r-- | src/window.hpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/window.hpp b/src/window.hpp index de1a2ac..c96f4c0 100644 --- a/src/window.hpp +++ b/src/window.hpp @@ -115,4 +115,25 @@ struct PKVK_TmpBufferDetails { void PKVK_BeginBuffer(unsigned int family_index, VkDeviceSize requestedMemorySize, PKVK_TmpBufferDetails &tmpBufferDetails, PKVK_TmpBufferFlags flags = PKVK_TmpBufferFlags_ALL); void PKVK_EndBuffer(PKVK_TmpBufferDetails &tmpBufferDetails, PKVK_TmpBufferFlags flags = PKVK_TmpBufferFlags_ALL); +#define PKVK_BUFFER_CREATE_DATA_ARR_MAX_LENGTH 8 + +struct pkvk_buffer_create_data { + uint32_t buffer_byte_length[PKVK_BUFFER_CREATE_DATA_ARR_MAX_LENGTH]; + void *src_data[PKVK_BUFFER_CREATE_DATA_ARR_MAX_LENGTH]; + uint8_t n_buffers; + uint8_t index_index; + uint8_t index_instance; +}; +struct pkvk_buffer_create_data_out { + VkBuffer buffers[PKVK_BUFFER_CREATE_DATA_ARR_MAX_LENGTH]; + VkDeviceMemory device_memory_vertex; + VkDeviceMemory device_memory_instance; + VkMemoryRequirements memory_requirements_vertex; + VkMemoryRequirements memory_requirements_instance; +}; +// creates vertex and instance buffers + memory + bind +// DOES upload vertex data +// DOES NOT upload instance data +void pkvk_buffer_create(pkvk_buffer_create_data *data, pkvk_buffer_create_data_out *out); + #endif /* PKE_WINDOW_HPP */ |
