fixed maybe?
This commit is contained in:
@@ -230,7 +230,7 @@ impl VulkanRenderer {
|
||||
q.supports_graphics() && surface.is_supported(q).unwrap_or(false)
|
||||
}).unwrap();
|
||||
|
||||
let device_ext = DeviceExtensions { khr_swapchain: true, ..DeviceExtensions::none() };
|
||||
let device_ext = DeviceExtensions { khr_swapchain: true, khr_maintenance1: true, ..DeviceExtensions::none() };
|
||||
let (device, mut queues) = Device::new(physical, &Features::none(), &device_ext,
|
||||
[(queue_family, 0.5)].iter().cloned()).unwrap();
|
||||
let queue = queues.next().unwrap();
|
||||
@@ -261,11 +261,7 @@ impl VulkanRenderer {
|
||||
};
|
||||
|
||||
let size = images[0].dimensions().width_height();
|
||||
let viewport = Viewport {
|
||||
origin: [0.0, 0.0],
|
||||
dimensions: [size[0] as f32, size[1] as f32],
|
||||
depth_range: 0.0..1.0,
|
||||
};
|
||||
let viewport = create_viewport(size[0] as f32, size[1] as f32);
|
||||
|
||||
// Render pass
|
||||
let render_pass = renderpass::create_render_pass(device.clone(), &render_config, swapchain.format());
|
||||
@@ -368,12 +364,7 @@ impl VulkanRenderer {
|
||||
};
|
||||
|
||||
let size = new_images[0].dimensions().width_height();
|
||||
|
||||
self.viewport = Viewport {
|
||||
origin: [0.0, 0.0],
|
||||
dimensions: [size[0] as f32, size[1] as f32],
|
||||
depth_range: 0.0..1.0,
|
||||
};
|
||||
self.viewport = create_viewport(size[0] as f32, size[1] as f32);
|
||||
|
||||
self.render_pass = renderpass::create_render_pass(self.device.clone(), &self.render_config, new_swapchain.format());
|
||||
|
||||
@@ -694,6 +685,9 @@ pub fn start_event_loop(mut renderer: VulkanRenderer, mut game: Box<dyn Game>, e
|
||||
Event::WindowEvent { event: WindowEvent::CloseRequested, .. } => {
|
||||
*control_flow = ControlFlow::Exit;
|
||||
},
|
||||
Event::WindowEvent { event: WindowEvent::Resized(..), .. } => {
|
||||
renderer.recreate_swapchain = true;
|
||||
},
|
||||
Event::RedrawEventsCleared => {
|
||||
let ubo = game.update(&mut renderer);
|
||||
renderer.render_loop(ubo, &game.get_game_objects());
|
||||
@@ -706,3 +700,15 @@ pub fn start_event_loop(mut renderer: VulkanRenderer, mut game: Box<dyn Game>, e
|
||||
});
|
||||
}
|
||||
|
||||
pub fn create_viewport(width: f32, height: f32) -> Viewport {
|
||||
Viewport {
|
||||
origin: [0.0, 0.0],
|
||||
dimensions: [width, height],
|
||||
depth_range: 0.0..1.0,
|
||||
}
|
||||
// Viewport {
|
||||
// origin: [0.0, height],
|
||||
// dimensions: [width, -height],
|
||||
// depth_range: 0.0..1.0,
|
||||
// }
|
||||
}
|
||||
Reference in New Issue
Block a user