aboutsummaryrefslogtreecommitdiff
path: root/flowy/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'flowy/src/main.rs')
-rw-r--r--flowy/src/main.rs29
1 files changed, 21 insertions, 8 deletions
diff --git a/flowy/src/main.rs b/flowy/src/main.rs
index a0a4024..6620ed8 100644
--- a/flowy/src/main.rs
+++ b/flowy/src/main.rs
@@ -13,7 +13,7 @@ use wgpu::{
MaintainBase, PowerPreference, RequestAdapterOptions,
};
-use crate::motion::RoundParams;
+use crate::motion::{debug::MotionDebugger, RoundParams};
fn main() {
env_logger::init_from_env("LOG");
@@ -38,7 +38,7 @@ fn main() {
.request_device(
&DeviceDescriptor {
label: None,
- features: Features::BGRA8UNORM_STORAGE,
+ features: Features::empty(),
limits: Limits::default(),
},
None,
@@ -46,7 +46,9 @@ fn main() {
.block_on()
.unwrap();
- let (width, height) = (1920, 1080);
+ let (mut framework, fparams) = Framework::init();
+
+ let (width, height) = (fparams.width, fparams.height);
let bsize = 8;
let params = Params {
width,
@@ -61,24 +63,30 @@ fn main() {
block_width: bsize,
block_height: bsize,
blocks: (width / bsize) * (height / bsize),
+ init_debug: true,
};
let bufs = CommonBuffers::create(&device, &params);
let menc = MotionEncoder::create(&device, &params, &bufs);
let mdec = MotionDecoder::create(&device, &params, &bufs);
+ let mdeb = MotionDebugger::create(&device, &params, &bufs);
let mut buffer = vec![0u8; width * height * 4];
- let (mut framework, fparams) = Framework::init();
-
menc.write_uniforms(&queue);
mdec.write_uniforms(&queue);
+ mdeb.write_uniforms(&queue);
info!("ready (setup took {:?})", t.elapsed());
-
+
let mut i = 0;
loop {
- let rp = RoundParams { swap: i % 2 };
+ let rp = RoundParams {
+ swap: i % 2,
+ debug: fparams.debug == 2,
+ preview: fparams.debug > 0,
+ };
+ eprintln!("{params:?} {rp:?}");
debug!("read");
stdin().read_exact(&mut buffer).unwrap();
framework.next_frame_manual();
@@ -93,8 +101,13 @@ fn main() {
if i > 1 {
menc.pass(&mut encoder, &params, &rp);
mdec.pass(&mut encoder, &params, &rp);
+ if rp.debug {
+ mdeb.pass(&mut encoder, &params, &rp);
+ }
+ }
+ if rp.preview {
+ bufs.prepare_texture_download(&mut encoder, &params, &rp);
}
- bufs.prepare_texture_download(&mut encoder, &params, &rp);
queue.submit(Some(encoder.finish()));
device.poll(MaintainBase::Wait);