From e5eed5bdfa01cf549436c6001eaf334d266acc40 Mon Sep 17 00:00:00 2001 From: Chuyan Zhang Date: Sat, 14 Sep 2024 22:38:51 -0700 Subject: fix lifetime problem --- src/app.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'src/app.cpp') diff --git a/src/app.cpp b/src/app.cpp index 6148e04..f48edd9 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -16,7 +16,7 @@ #include int main(int argc, char** argv) { - argparse::ArgumentParser program("IrisRenderer"); + argparse::ArgumentParser program("Iris Renderer"); program.add_argument("width") .help("display width of the window") .scan<'i', int>(); @@ -48,15 +48,11 @@ int main(int argc, char** argv) { return -1; } auto glfw_extensions = get_glfw_instance_extensions(); - for (const auto& extension : glfw_extensions) { - std::cerr << "GLFW extension: " << extension << std::endl; - } - std::vector layers; - iris::Device device({}, glfw_extensions); + iris::Device device(layers, glfw_extensions); glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); - auto window = glfwCreateWindow(window_width, window_height, "IrisRenderer", nullptr, nullptr); + auto window = glfwCreateWindow(window_width, window_height, "Iris Renderer", nullptr, nullptr); if (window == nullptr) { std::cerr << "Failed to create GLFW window" << std::endl; abort(); @@ -66,7 +62,9 @@ int main(int argc, char** argv) { iris::Texture2D debug_texture = device.create_texture_from_image( "assets/debug.png", VK_FORMAT_R8G8B8A8_UNORM, - VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT, + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | + VK_IMAGE_USAGE_TRANSFER_SRC_BIT | + VK_IMAGE_USAGE_TRANSFER_DST_BIT, VmaAllocationCreateInfo { .flags = VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT, .usage = VMA_MEMORY_USAGE_AUTO, @@ -74,7 +72,6 @@ int main(int argc, char** argv) { // end load debug image auto swapchain = iris::Swapchain(window, device, window_width, window_height); - std::cerr << "Swapchain created" << std::endl; while (!glfwWindowShouldClose(swapchain.window)) { glfwPollEvents(); @@ -92,19 +89,16 @@ int main(int argc, char** argv) { swapchain.needs_recreate = false; } - std::cerr << "Rendering frame" << std::endl; ImGui_ImplVulkan_NewFrame(); ImGui_ImplGlfw_NewFrame(); swapchain.start_frame(); - std::cerr << "Frame started" << std::endl; ImGui::NewFrame(); ImGui::ShowDemoWindow(); ImGui::Render(); - std::cerr << "ImGui rendered" << std::endl; swapchain.display(debug_texture); - std::cerr << "Frame displayed" << std::endl; } + debug_texture->release(); ImGui_ImplVulkan_Shutdown(); glfwDestroyWindow(swapchain.window); -- cgit v1.2.3-70-g09d2