Filesystem stuff on Windows
Minor image acquire/present refactor Unsigned integer limits Fixed typo in arena push/push copy macro
This commit is contained in:
@@ -374,12 +374,54 @@ Vk_Frame *Vk_FrameBegin(SDL_Window *window) {
|
||||
|
||||
vk.BeginCommandBuffer(frame->cmd, &begin_info);
|
||||
|
||||
VkImageMemoryBarrier2 colour_optimal = { 0 };
|
||||
colour_optimal.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2;
|
||||
colour_optimal.srcStageMask = VK_PIPELINE_STAGE_2_NONE;
|
||||
colour_optimal.srcAccessMask = VK_ACCESS_2_NONE;
|
||||
colour_optimal.dstStageMask = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
colour_optimal.dstAccessMask = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT;
|
||||
colour_optimal.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED;
|
||||
colour_optimal.newLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
|
||||
colour_optimal.image = vk.swapchain.images[frame->image];
|
||||
|
||||
colour_optimal.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
|
||||
colour_optimal.subresourceRange.layerCount = 1;
|
||||
colour_optimal.subresourceRange.levelCount = 1;
|
||||
|
||||
VkDependencyInfo colour_barrier = { 0 };
|
||||
colour_barrier.sType = VK_STRUCTURE_TYPE_DEPENDENCY_INFO;
|
||||
colour_barrier.imageMemoryBarrierCount = 1;
|
||||
colour_barrier.pImageMemoryBarriers = &colour_optimal;
|
||||
|
||||
vk.CmdPipelineBarrier2(frame->cmd, &colour_barrier);
|
||||
|
||||
return frame;
|
||||
}
|
||||
|
||||
void Vk_FrameEnd() {
|
||||
Vk_Frame *frame = &vk.frames[vk.n_frames % vk.in_flight];
|
||||
|
||||
VkImageMemoryBarrier2 present_src = { 0 };
|
||||
present_src.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2;
|
||||
present_src.srcStageMask = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
present_src.srcAccessMask = VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT;
|
||||
present_src.dstStageMask = VK_PIPELINE_STAGE_2_NONE;
|
||||
present_src.dstAccessMask = VK_ACCESS_2_NONE;
|
||||
present_src.oldLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
|
||||
present_src.newLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
|
||||
present_src.image = vk.swapchain.images[frame->image];
|
||||
|
||||
present_src.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
|
||||
present_src.subresourceRange.layerCount = 1;
|
||||
present_src.subresourceRange.levelCount = 1;
|
||||
|
||||
VkDependencyInfo to_present = { 0 };
|
||||
to_present.sType = VK_STRUCTURE_TYPE_DEPENDENCY_INFO;
|
||||
to_present.imageMemoryBarrierCount = 1;
|
||||
to_present.pImageMemoryBarriers = &present_src;
|
||||
|
||||
vk.CmdPipelineBarrier2(frame->cmd, &to_present);
|
||||
|
||||
vk.EndCommandBuffer(frame->cmd);
|
||||
|
||||
VkPipelineStageFlags stage = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
|
||||
Reference in New Issue
Block a user