From 6aa5e8e3c08a05b165ce9ecac321c455cc462514 Mon Sep 17 00:00:00 2001 From: Steins7 Date: Tue, 2 Feb 2021 11:23:20 +0100 Subject: [PATCH] Fixed framebuffer error * tweaked swap_system acquire_frame() function * moved fence waiting in acquire_frame() * cleaned minor details --- doc/architecture | 2 +- main.rs | 2 +- src/io/winit_window.rs | 7 ++++--- src/lib.rs | 5 +++-- src/renderer.rs | 11 ----------- src/renderer/swap_system.rs | 23 +++++++++++++++++++---- src/renderer/swap_system/frame.rs | 4 ++-- 7 files changed, 30 insertions(+), 24 deletions(-) diff --git a/doc/architecture b/doc/architecture index e6d4f7c..bce308f 100644 --- a/doc/architecture +++ b/doc/architecture @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/main.rs b/main.rs index bda4db0..2bfb471 100644 --- a/main.rs +++ b/main.rs @@ -25,7 +25,7 @@ fn setup_logger() -> Result<(), fern::InitError> { message )) }) - .level(log::LevelFilter::Debug) + .level(log::LevelFilter::Trace) .chain(std::io::stdout()) .chain(fern::log_file("output.log")?) .apply()?; diff --git a/src/io/winit_window.rs b/src/io/winit_window.rs index b94c356..c64bc19 100644 --- a/src/io/winit_window.rs +++ b/src/io/winit_window.rs @@ -13,7 +13,6 @@ use winit::{ window::{WindowBuilder, Window}, }; -//TODO fix that use crate::{ io::{Output, Input, Key, Signal, ReadError}, utils::Rect, @@ -202,8 +201,10 @@ mod tests { use std::mem::ManuallyDrop; let _ = setup_logger(); - let mut window1 = ManuallyDrop::new(WinitWindow::new("IV", Rect {w: 1280, h: 720}).unwrap()); - let mut window2 = ManuallyDrop::new(WinitWindow::new("IV 2", Rect {w: 1280, h: 720}).unwrap()); + let mut window1 = ManuallyDrop::new(WinitWindow::new("IV", + Rect {w: 1280, h: 720}).unwrap()); + let mut window2 = ManuallyDrop::new(WinitWindow::new("IV 2", + Rect {w: 1280, h: 720}).unwrap()); unsafe { ManuallyDrop::drop(&mut window1); diff --git a/src/lib.rs b/src/lib.rs index 52380b7..7930672 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -90,7 +90,8 @@ pub fn run() -> Result<(), &'static str> { //running controller let mut controller = Controller::new(vec![subengine_pipeline]); - loop { + //loop { + for _i in 0..10 { controller.run(); } @@ -121,7 +122,7 @@ pub fn run() -> Result<(), &'static str> { // _ => (), // }}} // -// Ok(()) + Ok(()) } // let (input_tx, input_rx) = mpsc::channel(); diff --git a/src/renderer.rs b/src/renderer.rs index 32a9b4b..f729449 100644 --- a/src/renderer.rs +++ b/src/renderer.rs @@ -193,7 +193,6 @@ where { use gfx_hal::{ window::AcquireError, - device::Device, queue::Submission, }; @@ -213,16 +212,6 @@ where _ => Err("Could not acquire Frame from SwapSystem")?, }}; - trace!("Waiting for Frame..."); - unsafe { - let _ = self.gpu.device() - .wait_for_fence(&frame.fences[0], !0) - .map_err(|_| "Failed to wait for Fence")?; - let _ = self.gpu.device() - .reset_fence(&frame.fences[0]) - .map_err(|_| "Failed to reset fence")?; - } - trace!("Uploading triangle data..."); let points = triangle.points_flat(); self.pipelines[0].write_vertex_buffer(&self.gpu, 0, (&points).to_vec())?; //TODO meh diff --git a/src/renderer/swap_system.rs b/src/renderer/swap_system.rs index c5973c6..483c4c4 100644 --- a/src/renderer/swap_system.rs +++ b/src/renderer/swap_system.rs @@ -131,7 +131,7 @@ where } }; - warn!("Generating hard-coded number of frames !"); + warn!("Generating hard-coded number of frames ({}) !", frame_nb); let mut frames = VecDeque::with_capacity(frame_nb); for _ in 0..frame_nb { let frame = Frame::new(gpu) @@ -187,6 +187,22 @@ where pub fn acquire_frame(&mut self, gpu: &Gpu) -> Result, AcquireError> { + //println!("Frame nb : {}", self.frames.len()); + //TODO frames number diminish sometimes at resize... + let mut frame = self.frames.pop_back().unwrap(); + + trace!("Waiting for Frame..."); + unsafe { + use gfx_hal::device::Device; + + let _ = gpu.device() + .wait_for_fence(&frame.fences[0], !0) + .map_err(|_| "Failed to wait for Fence"); //TODO error + let _ = gpu.device() + .reset_fence(&frame.fences[0]) + .map_err(|_| "Failed to reset Fence"); //TODO error + } + trace!("Acquiring Frame..."); let image = unsafe { match self.surface.acquire_image(core::u64::MAX) { @@ -197,15 +213,14 @@ where }}, Err(err) => return Err(err), }}; - //println!("Frame nb : {}", self.frames.len()); - //frames number diminish sometimes at resize... - let mut frame = self.frames.pop_back().unwrap(); trace!("Creating Framebuffer..."); let framebuffer = unsafe { use gfx_hal::device::Device; use std::borrow::Borrow; + //frame.command_buffer.reset(true); //TODO may be needed at some point... + gpu.device() .create_framebuffer(&self.render_pass, vec![image.borrow()], diff --git a/src/renderer/swap_system/frame.rs b/src/renderer/swap_system/frame.rs index e582dcb..4fdbbd7 100644 --- a/src/renderer/swap_system/frame.rs +++ b/src/renderer/swap_system/frame.rs @@ -71,7 +71,7 @@ where let fences = vec!( gpu.device() .create_fence(true) - .map_err(|_| "Could not create Semaphore")?); + .map_err(|_| "Could not create Fence")?); (wait_semaphores, signal_semaphores, fences) }; @@ -90,7 +90,7 @@ where Ok( Frame { wait_semaphores, signal_semaphores, - fences, + fences, command_buffer: ManuallyDrop::new(command_buffer), image_view: None, framebuffer: None,