Added rect draw api
Added some new maths types Updated shaders to use new D_Rect structure Added rect buffers to frames Misc cleanup
This commit is contained in:
@@ -372,6 +372,16 @@ bool Vk_Setup(SDL_Window *window) {
|
||||
|
||||
vk.CreateDescriptorPool(vk.device, &descriptor_pool, 0, &frame->descriptors);
|
||||
|
||||
// rect buffer
|
||||
//
|
||||
|
||||
Vk_Buffer *rbo = &frame->rbo;
|
||||
rbo->usage = VK_BUFFER_USAGE_STORAGE_BUFFER_BIT;
|
||||
rbo->size = D_MAX_RECTS * sizeof(D_Rect);
|
||||
rbo->host_visible = true;
|
||||
|
||||
Vk_BufferCreate(rbo);
|
||||
|
||||
VkSemaphoreCreateInfo semaphore = { 0 };
|
||||
semaphore.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
|
||||
|
||||
@@ -547,7 +557,7 @@ internal VkDeviceMemory Vk_Allocate(VkMemoryRequirements *mreq, VkMemoryProperty
|
||||
}
|
||||
}
|
||||
|
||||
if (type_index != -1) {
|
||||
if (type_index != U32_MAX) {
|
||||
VkMemoryAllocateInfo alloc_info = { 0 };
|
||||
alloc_info.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
|
||||
alloc_info.allocationSize = mreq->size;
|
||||
@@ -556,6 +566,7 @@ internal VkDeviceMemory Vk_Allocate(VkMemoryRequirements *mreq, VkMemoryProperty
|
||||
vk.AllocateMemory(vk.device, &alloc_info, 0, &result);
|
||||
}
|
||||
|
||||
Assert(result != VK_NULL_HANDLE);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -566,6 +577,7 @@ void Vk_BufferCreate(Vk_Buffer *buffer) {
|
||||
create_info.size = buffer->size;
|
||||
|
||||
vk.CreateBuffer(vk.device, &create_info, 0, &buffer->handle);
|
||||
Assert(buffer->handle != VK_NULL_HANDLE);
|
||||
|
||||
VkMemoryRequirements req;
|
||||
vk.GetBufferMemoryRequirements(vk.device, buffer->handle, &req);
|
||||
@@ -580,6 +592,7 @@ void Vk_BufferCreate(Vk_Buffer *buffer) {
|
||||
if (buffer->host_visible) {
|
||||
vk.MapMemory(vk.device, buffer->memory, 0, buffer->size, 0, &buffer->data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Vk_ImageCreate(Vk_Image *image) {
|
||||
|
||||
Reference in New Issue
Block a user