diff options
author | metamuffin <metamuffin@disroot.org> | 2023-11-18 14:49:17 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-11-18 14:49:17 +0100 |
commit | cdb9a3afabe7a239a08c640b19242ff9b1e3b051 (patch) | |
tree | 4903a248c588ce350feb74640ded3335e1721915 /flowy/src/main.rs | |
parent | 14051d7470d7662430694f0752d00483b52e1278 (diff) | |
download | video-codec-experiments-cdb9a3afabe7a239a08c640b19242ff9b1e3b051.tar video-codec-experiments-cdb9a3afabe7a239a08c640b19242ff9b1e3b051.tar.bz2 video-codec-experiments-cdb9a3afabe7a239a08c640b19242ff9b1e3b051.tar.zst |
debug view
Diffstat (limited to 'flowy/src/main.rs')
-rw-r--r-- | flowy/src/main.rs | 29 |
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, ¶ms); let menc = MotionEncoder::create(&device, ¶ms, &bufs); let mdec = MotionDecoder::create(&device, ¶ms, &bufs); + let mdeb = MotionDebugger::create(&device, ¶ms, &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, ¶ms, &rp); mdec.pass(&mut encoder, ¶ms, &rp); + if rp.debug { + mdeb.pass(&mut encoder, ¶ms, &rp); + } + } + if rp.preview { + bufs.prepare_texture_download(&mut encoder, ¶ms, &rp); } - bufs.prepare_texture_download(&mut encoder, ¶ms, &rp); queue.submit(Some(encoder.finish())); device.poll(MaintainBase::Wait); |