fix validation bugs. only remaining is screen tearing during resize

This commit is contained in:
David Allemang
2024-04-02 11:24:29 -04:00
parent 2300e6e301
commit 002761d7f8

View File

@@ -76,6 +76,7 @@ pub fn create_swapchain(
) !vk.Extent2D {
const extent = try gfx.find_swap_extent(pdev, vki, surface, window);
const prev_swapchain = swapchain.*;
swapchain.* = try vkd.createSwapchainKHR(dev, &.{
.surface = surface,
.min_image_count = swap_image_count,
@@ -89,8 +90,9 @@ pub fn create_swapchain(
.composite_alpha = .{ .opaque_bit_khr = true },
.present_mode = present_mode,
.clipped = vk.TRUE,
.old_swapchain = swapchain.*,
.old_swapchain = prev_swapchain,
}, null);
vkd.destroySwapchainKHR(dev, prev_swapchain, null);
var image_count: u32 = undefined;
_ = try vkd.getSwapchainImagesKHR(dev, swapchain.*, &image_count, null);
@@ -351,6 +353,8 @@ pub fn main() !void {
try record_cmdbuf(cmdbuf, vkd, image, view, extent, pipeline, vertex_buffer, index_buffer);
}
index = 0;
continue;
},
else => |errx| return errx,