setzer22/blackjack

wgpu Validation Error on Startup

Aligorith opened this issue · 2 comments

== Description ==

I freshly cloned the repo, and tried to run it using cargo run. However, the binary promptly panics with the following backtrace:

[ERROR wgpu::backend::direct] Handling wgpu errors as fatal by default
thread 'main' panicked at 'wgpu error: Validation Error

Caused by:
    In Device::create_render_pipeline
      note: label = `Shadow Opaque 1x`
    parent device is lost

', C:\Users\Aligorith\.cargo\registry\src\github.com-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:2273:5
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c\/library\std\src\panicking.rs:517
   1: std::panicking::begin_panic_fmt
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c\/library\std\src\panicking.rs:460
   2: wgpu::backend::direct::default_error_handler
             at C:\Users\Aligorith\.cargo\registry\src\github.com-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:2273
   3: core::ops::function::Fn::call<void (*)(enum$<wgpu::Error>),tuple$<enum$<wgpu::Error> > >
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c\library\core\src\ops\function.rs:70
   4: alloc::boxed::impl$46::call<tuple$<enum$<wgpu::Error> >,dyn$<wgpu::UncapturedErrorHandler,assoc$<Output,tuple$<> > > >,alloc::alloc::Global>
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c\library\alloc\src\boxed.rs:1705
   5: wgpu::backend::direct::ErrorSinkRaw::handle_error
             at C:\Users\Aligorith\.cargo\registry\src\github.com-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:2259
   6: wgpu::backend::direct::Context::handle_error<enum$<wgpu_core::pipeline::CreateRenderPipelineError> >
             at C:\Users\Aligorith\.cargo\registry\src\github.com-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:194
   7: wgpu::backend::direct::impl$3::device_create_render_pipeline
             at C:\Users\Aligorith\.cargo\registry\src\github.com-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:1314
   8: wgpu::Device::create_render_pipeline
             at C:\Users\Aligorith\.cargo\registry\src\github.com-1ecc6299db9ec823\wgpu-0.12.0\src\lib.rs:1810
   9: rend3_routine::depth::create_depth_inner
             at C:\Users\Aligorith\.cargo\git\checkouts\rend3-e03f89403de3386a\6bf09d0\rend3-routine\src\depth.rs:460
  10: rend3_routine::depth::impl$3::new::closure$0
             at C:\Users\Aligorith\.cargo\git\checkouts\rend3-e03f89403de3386a\6bf09d0\rend3-routine\src\depth.rs:384
  11: rend3_routine::depth::DepthPipelines::new
             at C:\Users\Aligorith\.cargo\git\checkouts\rend3-e03f89403de3386a\6bf09d0\rend3-routine\src\depth.rs:397
  12: rend3_routine::depth::DepthRoutine<rend3_routine::pbr::material::PbrMaterial>::new<rend3_routine::pbr::material::PbrMaterial>
             at C:\Users\Aligorith\.cargo\git\checkouts\rend3-e03f89403de3386a\6bf09d0\rend3-routine\src\depth.rs:152
  13: rend3_routine::pbr::routine::PbrRoutine::new
             at C:\Users\Aligorith\.cargo\git\checkouts\rend3-e03f89403de3386a\6bf09d0\rend3-routine\src\pbr\routine.rs:33
  14: blackjack_nodes::render_context::RenderContext::new
             at .\src\render_context.rs:54
  15: blackjack_nodes::app_window::AppWindow::new
             at .\src\app_window.rs:33
  16: blackjack_nodes::main
             at .\src\main.rs:35
  17: core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c\library\core\src\ops\function.rs:227
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: process didn't exit successfully: `target\debug\blackjack_nodes.exe` (exit code: 101)

Any ideas on how to go about fixing this?

== System Details ==

Rust 1.57.0
Windows 10
Nvidia 1080 Ti

Hey! Sorry I didn't comment on this sooner. Initially I had a look but I was unable to reproduce your issue.

I've just pushed #19 which completely changes the way viewport rendering works. In particular that "Shadow Opaque 1x" render pipeline is not used anymore. Could you check again to see if the issue is still there? 😄

The whole rendering code is so different at this point that I don't think this issue still applies. I've been able to run recent versions of Blackjack on all major OSs. But please reopen if you still can't run blackjack on your end!