@@ -24,71 +24,63 @@ let display_h = window.raw_display_handle();
2424let window_h = window.raw_window_handle();
2525
2626let create_info = VkInitCreateInfo::default();
27- let init = VkInit::new(Some(&display_h), Some(&window_h), Some(size), create_info).unwrap();
27+ let vk_init = VkInit::new(Some(&display_h), Some(&window_h), Some(size), create_info).unwrap();
2828```
29+
2930## Swapchain recreation:
3031``` rust,no_run
31- # use vku::*;
32- # use ash::vk::*;
33- # let event_loop: winit::event_loop::EventLoop<()> = winit::event_loop::EventLoopBuilder::default().build();
34- # let size = [800_u32, 600_u32];
35- # let window = winit::window::WindowBuilder::new().with_inner_size(winit::dpi::LogicalSize{width: size[0], height: size[1]}).build(&event_loop).unwrap();
36- # let display_h = raw_window_handle::HasRawDisplayHandle::raw_display_handle(&window);
37- # let window_h = raw_window_handle::HasRawWindowHandle::raw_window_handle(&window);
38- # let create_info = VkInitCreateInfo::default();
39-
40- let mut init = VkInit::new(Some(&display_h), Some(&window_h), Some(size), create_info).unwrap();
32+ use raw_window_handle::{RawDisplayHandle, RawWindowHandle};
33+ use vku::VkInit;
34+
35+ let mut vk_init: VkInit = todo!();
36+ let display_h: RawDisplayHandle = todo!();
37+ let window_h: RawWindowHandle = todo!();
38+
4139let new_size = [1200_u32, 900_u32];
42- init.on_resize(&display_h, &window_h, new_size).unwrap();
40+
41+ vk_init.on_resize(&display_h, &window_h, new_size).unwrap();
4342```
44- ## VMA Image allocation and layout transition:
43+
44+ ## VMA Image allocation and tracked layout transitions:
4545``` rust,no_run
46- # use vku::*;
47- # use ash::vk::*;
48- # let event_loop: winit::event_loop::EventLoop<()> = winit::event_loop::EventLoopBuilder::default().build();
49- # let size = [800_u32, 600_u32];
50- # let window = winit::window::WindowBuilder::new().with_inner_size(winit::dpi::LogicalSize{width: size[0], height: size[1]}).build(&event_loop).unwrap();
51- # let display_h = raw_window_handle::HasRawDisplayHandle::raw_display_handle(&window);
52- # let window_h = raw_window_handle::HasRawWindowHandle::raw_window_handle(&window);
53- # let create_info = VkInitCreateInfo::default();
46+ use vku::{VkInit, CmdType};
47+ use ash::vk::{Extent3D, Format, ImageAspectFlags, ImageLayout};
5448
55- let init = VkInit::new(Some(&display_h), Some(&window_h), Some(size), create_info).unwrap ();
49+ let vk_init: VkInit = todo! ();
5650
5751let setup_cmd_buffer_pool =
58- init .create_cmd_pool(CmdType::Any).unwrap();
52+ vk_init .create_cmd_pool(CmdType::Any).unwrap();
5953
6054let setup_cmd_buffer =
61- init .create_command_buffers(&setup_cmd_buffer_pool, 1).unwrap()[0];
55+ vk_init .create_command_buffers(&setup_cmd_buffer_pool, 1).unwrap()[0];
6256
63- let setup_fence = init .create_fence().unwrap();
57+ let setup_fence = vk_init .create_fence().unwrap();
6458
65- init .begin_cmd_buffer(&setup_cmd_buffer).unwrap();
59+ vk_init .begin_cmd_buffer(&setup_cmd_buffer).unwrap();
6660
6761let extent = Extent3D{width: 100, height: 100, depth: 1};
6862let format = Format::R8G8B8A8_UNORM;
6963let aspect_flags = ImageAspectFlags::COLOR;
70- let mut image = init .create_empty_image(extent, format, aspect_flags).unwrap();
64+ let mut image = vk_init .create_empty_image(extent, format, aspect_flags).unwrap();
7165
7266let image_barrier = image.get_image_layout_transition_barrier2(
7367 ImageLayout::TRANSFER_DST_OPTIMAL,
7468 None, None).unwrap(); // No queue family ownership transfer
7569
76- init .cmd_pipeline_barrier2(
70+ vk_init .cmd_pipeline_barrier2(
7771 &setup_cmd_buffer,
7872 &[image_barrier], &[]); // Only this image barrier, no BufferMemoryBarriers
7973
80- init .end_and_submit_cmd_buffer(
74+ vk_init .end_and_submit_cmd_buffer(
8175 &setup_cmd_buffer,
8276 CmdType::Any,
8377 &setup_fence, &[], &[], &[]).unwrap(); // Wait on setup fence, wait/signal no semaphores
8478```
79+
8580## Shader compilation with #include directives:
8681``` rust,no_run
87- # use std::path::Path;
88- # use vku::VkInit;
89-
90- let src_dir_path = Path::new("./assets/shaders/src/");
91- let target_dir_path = Path::new("./assets/shaders/compiled_shaders/");
82+ let src_dir_path = std::path::Path::new("./assets/shaders/src/");
83+ let target_dir_path = std::path::Path::new("./assets/shaders/compiled_shaders/");
9284let debug_text_result = true;
9385
9486vku::compile_all_shaders(&src_dir_path, &target_dir_path, debug_text_result).unwrap();
0 commit comments