Description
Various validation and other issues collected from my initial testing of wgpu on gfx-hal master.
Repro steps
Run the examples.
[0.375320 ERROR]()(no module):
VALIDATION [VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216 (-376016417)] : Validation Error: [ VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216 ] Object 0: handle = 0x2d93dbcf100, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xe99671df | vkCreateGraphicsPipelines: The VkPhysicalDeviceFeatures::multiViewport feature is disabled, but pCreateInfos[0].pViewportState->viewportCount (=0) is not 1. The Vulkan spec states: If the multiple viewports feature is not enabled, viewportCount must be 1 (https://vulkan.lunarg.com/doc/view/1.2.141.0/windows/1.2-extensions/vkspec.html#VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216)
object info: (type: DEVICE, hndl: 3132066951424)
Under dx12, despite having two discrete graphics cards, wgpu chooses to run on WARP.
Panic
thread 'main' panicked at 'assertion failed: !self.is_null()', C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\d3d12-0.3.2\src\com.rs:75:9
stack backtrace:
0: 0x7ff7ec0298b9 - std::backtrace_rs::backtrace::dbghelp::trace
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
1: 0x7ff7ec0298b9 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ff7ec0298b9 - std::sys_common::backtrace::_print_fmt
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\sys_common\backtrace.rs:79
3: 0x7ff7ec0298b9 - std::sys_common::backtrace::_print::{{impl}}::fmt
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\sys_common\backtrace.rs:58
4: 0x7ff7ec03fd9b - core::fmt::write
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\core\src\fmt\mod.rs:1082
5: 0x7ff7ec0269c4 - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\io\mod.rs:1514
6: 0x7ff7ec02c99b - std::sys_common::backtrace::_print
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\sys_common\backtrace.rs:61
7: 0x7ff7ec02c99b - std::sys_common::backtrace::print
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\sys_common\backtrace.rs:48
8: 0x7ff7ec02c99b - std::panicking::default_hook::{{closure}}
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:200
9: 0x7ff7ec02c5d9 - std::panicking::default_hook
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:219
10: 0x7ff7ec02d17f - std::panicking::rust_panic_with_hook
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:569
11: 0x7ff7ebecad91 - std::panicking::begin_panic::{{closure}}<str*>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:498
12: 0x7ff7ebec9d5f - std::sys_common::backtrace::__rust_end_short_backtrace<closure-0,!>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys_common\backtrace.rs:153
13: 0x7ff7ebecacc7 - std::panicking::begin_panic<str*>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:497
14: 0x7ff7ebecbbf8 - d3d12::com::{{impl}}::deref<winapi::um::d3d12::ID3D12GraphicsCommandList>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\d3d12-0.3.2\src\com.rs:75
15: 0x7ff7ebe3e824 - gfx_backend_dx12::device::{{impl}}::set_command_buffer_name
at C:\Users\connor\.cargo\git\checkouts\gfx-e86e7f3ebdbc4218\1d14789\src\backend\dx12\src\device.rs:3638
16: 0x7ff7eb62d4ca - wgpu_core::hub::Global<wgpu_core::hub::IdentityManagerFactory>::device_create_command_encoder<wgpu_core::hub::IdentityManagerFactory,gfx_backend_dx12::Backend>
at C:\Users\connor\.cargo\git\checkouts\wgpu-53e70f8674b08dd4\2d87fd9\wgpu-core\src\device\mod.rs:3353
17: 0x7ff7eb8a459b - wgpu::backend::direct::{{impl}}::device_create_command_encoder
at C:\Users\connor\Programming\wgpu-rs\src\backend\direct.rs:1097
18: 0x7ff7eb5086a6 - wgpu::Device::create_command_encoder
at C:\Users\connor\Programming\wgpu-rs\src\lib.rs:1428
19: 0x7ff7eb26fb20 - texture_arrays::{{impl}}::render<futures_executor::local_pool::LocalSpawner>
at C:\Users\connor\Programming\wgpu-rs\examples\texture-arrays\main.rs:308
20: 0x7ff7eb263256 - texture_arrays::framework::start::{{closure}}<texture_arrays::Example>
at C:\Users\connor\Programming\wgpu-rs\examples\framework.rs:314
21: 0x7ff7eb28f608 - winit::platform_impl::platform::event_loop::{{impl}}::run_return::{{closure}}<tuple<>,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:203
22: 0x7ff7ebfdde03 - alloc::boxed::{{impl}}::call_mut<tuple<winit::event::Event<tuple<>>, mut winit::event_loop::ControlFlow*>,FnMut<tuple<winit::event::Event<tuple<>>, mut winit::event_loop::ControlFlow*>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\boxed.rs:1049
23: 0x7ff7ebfcc9fb - winit::platform_impl::platform::event_loop::runner::{{impl}}::call_event_handler::{{closure}}<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:245
24: 0x7ff7ebfc02f6 - std::panic::{{impl}}::call_once<tuple<>,closure-0>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:308
25: 0x7ff7ebfdbb00 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:373
26: 0x7ff7ebfe0887 - winit::platform_impl::platform::window::TASKBAR_LIST::__getit
27: 0x7ff7ebfdb8ea - std::panicking::try<tuple<>,std::panic::AssertUnwindSafe<closure-0>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:337
28: 0x7ff7ebfc0336 - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:379
29: 0x7ff7ebfcbe39 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::catch_unwind<tuple<>,tuple<>,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:152
30: 0x7ff7ebfcc791 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::call_event_handler<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:239
31: 0x7ff7ebfcc527 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::send_event<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:210
32: 0x7ff7eb28f75a - winit::platform_impl::platform::event_loop::SubclassInput<tuple<>>::send_event<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:93
33: 0x7ff7eb290102 - winit::platform_impl::platform::event_loop::public_window_callback::{{closure}}<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:832
34: 0x7ff7eb2974c7 - core::ops::function::FnOnce::call_once<closure-0,tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:227
35: 0x7ff7eb270bb3 - std::panic::{{impl}}::call_once<isize,closure-0>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:308
36: 0x7ff7eb25c48e - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,isize>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:373
37: 0x7ff7eb25c597 - std::panicking::try::do_catch<std::panic::AssertUnwindSafe<closure-0>,isize>
38: 0x7ff7eb25c383 - std::panicking::try<isize,std::panic::AssertUnwindSafe<closure-0>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:337
39: 0x7ff7eb270c0e - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,isize>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:379
40: 0x7ff7eb278bf3 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::catch_unwind<tuple<>,isize,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:152
41: 0x7ff7eb28f90f - winit::platform_impl::platform::event_loop::public_window_callback<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:1909
42: 0x7ff81995b762 - DefSubclassProc
43: 0x7ff81995b625 - DefSubclassProc
44: 0x7ff831025c1d - CallWindowProcW
45: 0x7ff8310257ec - DispatchMessageW
46: 0x7ff831031f83 - IsWindowVisible
47: 0x7ff832b00464 - KiUserCallbackDispatcher
48: 0x7ff82fb31764 - NtUserDispatchMessage
49: 0x7ff8310256fc - DispatchMessageW
50: 0x7ff7eb28f2d9 - winit::platform_impl::platform::event_loop::EventLoop<tuple<>>::run_return<tuple<>,closure-0> at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:218
51: 0x7ff7eb28f686 - winit::platform_impl::platform::event_loop::EventLoop<tuple<>>::run<tuple<>,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:188
52: 0x7ff7eb25c29d - winit::event_loop::EventLoop<tuple<>>::run<tuple<>,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\event_loop.rs:154
53: 0x7ff7eb2627d5 - texture_arrays::framework::start<texture_arrays::Example>
at C:\Users\connor\Programming\wgpu-rs\examples\framework.rs:247
54: 0x7ff7eb26344a - texture_arrays::framework::run<texture_arrays::Example>
at C:\Users\connor\Programming\wgpu-rs\examples\framework.rs:324
55: 0x7ff7eb25f058 - texture_arrays::main
at C:\Users\connor\Programming\wgpu-rs\examples\texture-arrays\main.rs:344
56: 0x7ff7eb29739b - core::ops::function::FnOnce::call_once<fn(),tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:227
57: 0x7ff7eb2a10db - std::sys_common::backtrace::__rust_begin_short_backtrace<fn(),tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys_common\backtrace.rs:137
58: 0x7ff7eb296a01 - std::rt::lang_start::{{closure}}<tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:66
59: 0x7ff7ec02d496 - core::ops::function::impls::{{impl}}::call_once
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\library\core\src\ops\function.rs:280
60: 0x7ff7ec02d496 - std::panicking::try::do_call
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:373
61: 0x7ff7ec02d496 - std::panicking::try
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:337
62: 0x7ff7ec02d496 - std::panic::catch_unwind
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panic.rs:379
63: 0x7ff7ec02d496 - std::rt::lang_start_internal
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\rt.rs:51
64: 0x7ff7eb2969d3 - std::rt::lang_start<tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:65
65: 0x7ff7eb25f080 - main
66: 0x7ff7ec295380 - invoke_main
at d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
67: 0x7ff7ec295380 - __scrt_common_main_seh
at d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
68: 0x7ff830d17c24 - BaseThreadInitThunk
69: 0x7ff832acd4d1 - RtlUserThreadStart
thread 'main' panicked at 'assertion failed: `(left == right)`
left: `1`,
right: `0`: Allocator dropped before all sets were deallocated', C:\Users\connor\.cargo\git\checkouts\gpu-descriptor-a05b99db0270c787\831460c\gpu-descriptor\src\allocator.rs:117:9
stack backtrace:
0: 0x7ff7ec0298b9 - std::backtrace_rs::backtrace::dbghelp::trace
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
1: 0x7ff7ec0298b9 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ff7ec0298b9 - std::sys_common::backtrace::_print_fmt
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\sys_common\backtrace.rs:79
3: 0x7ff7ec0298b9 - std::sys_common::backtrace::_print::{{impl}}::fmt
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\sys_common\backtrace.rs:58
4: 0x7ff7ec03fd9b - core::fmt::write
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\core\src\fmt\mod.rs:1082
5: 0x7ff7ec0269c4 - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\io\mod.rs:1514
6: 0x7ff7ec02c99b - std::sys_common::backtrace::_print
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\sys_common\backtrace.rs:61
7: 0x7ff7ec02c99b - std::sys_common::backtrace::print
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\sys_common\backtrace.rs:48
8: 0x7ff7ec02c99b - std::panicking::default_hook::{{closure}}
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:200
9: 0x7ff7ec02c5d9 - std::panicking::default_hook
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:219
10: 0x7ff7ec02d17f - std::panicking::rust_panic_with_hook
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:569
11: 0x7ff7ec02cce5 - std::panicking::begin_panic_handler::{{closure}}
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:476
12: 0x7ff7ec02a16f - std::sys_common::backtrace::__rust_end_short_backtrace<closure-0,!>
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\sys_common\backtrace.rs:153
13: 0x7ff7ec02cc99 - std::panicking::begin_panic_handler
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:475
14: 0x7ff7ec02cc4c - std::panicking::begin_panic_fmt
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:429
15: 0x7ff7eb4d6e5c - gpu_descriptor::allocator::{{impl}}::drop<gfx_backend_dx12::resource::DescriptorPool>
at C:\Users\connor\.cargo\git\checkouts\gpu-descriptor-a05b99db0270c787\831460c\gpu-descriptor\src\allocator.rs:117
16: 0x7ff7eb49f36f - core::ptr::drop_in_place<gpu_descriptor::allocator::DescriptorBucket<gfx_backend_dx12::resource::DescriptorPool>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
17: 0x7ff7eb4ad135 - core::ptr::drop_in_place<tuple<tuple<gpu_descriptor_types::types::DescriptorTotalCount, bool>, gpu_descriptor::allocator::DescriptorBucket<gfx_backend_dx12::resource::DescriptorPool>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
18: 0x7ff7eb97dfbe - core::ptr::mut_ptr::{{impl}}::drop_in_place<tuple<tuple<gpu_descriptor_types::types::DescriptorTotalCount, bool>, gpu_descriptor::allocator::DescriptorBucket<gfx_backend_dx12::resource::DescriptorPool>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mut_ptr.rs:963
19: 0x7ff7eb8e055d - hashbrown::raw::inner::Bucket<tuple<tuple<gpu_descriptor_types::types::DescriptorTotalCount, bool>, gpu_descriptor::allocator::DescriptorBucket<gfx_backend_dx12::resource::DescriptorPool>>>::drop<tuple<tuple<gpu_descriptor_types::types::DescriptorTotalCou
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\hashbrown-0.9.1\src\raw\mod.rs:334
20: 0x7ff7eb4d410d - hashbrown::raw::inner::{{impl}}::drop<tuple<tuple<gpu_descriptor_types::types::DescriptorTotalCount, bool>, gpu_descriptor::allocator::DescriptorBucket<gfx_backend_dx12::resource::DescriptorPool>>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\hashbrown-0.9.1\src\raw\mod.rs:1387
21: 0x7ff7eb4aea4e - core::ptr::drop_in_place<hashbrown::raw::inner::RawTable<tuple<tuple<gpu_descriptor_types::types::DescriptorTotalCount, bool>, gpu_descriptor::allocator::DescriptorBucket<gfx_backend_dx12::resource::DescriptorPool>>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
22: 0x7ff7eb4a55a5 - core::ptr::drop_in_place<hashbrown::map::HashMap<tuple<gpu_descriptor_types::types::DescriptorTotalCount, bool>, gpu_descriptor::allocator::DescriptorBucket<gfx_backend_dx12::resource::DescriptorPool>, ahash::random_state::RandomState>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
23: 0x7ff7eb4a65c5 - core::ptr::drop_in_place<gpu_descriptor::allocator::DescriptorAllocator<gfx_backend_dx12::resource::DescriptorPool, gfx_backend_dx12::resource::DescriptorSet>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
24: 0x7ff7eb4b9dfe - core::ptr::drop_in_place<wgpu_core::device::descriptor::DescriptorAllocator<gfx_backend_dx12::Backend>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
25: 0x7ff7eb49cbee - core::ptr::drop_in_place<core::cell::UnsafeCell<wgpu_core::device::descriptor::DescriptorAllocator<gfx_backend_dx12::Backend>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
26: 0x7ff7eb4a71e5 - core::ptr::drop_in_place<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex, wgpu_core::device::descriptor::DescriptorAllocator<gfx_backend_dx12::Backend>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
27: 0x7ff7eb4babe7 - core::ptr::drop_in_place<wgpu_core::device::Device<gfx_backend_dx12::Backend>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
28: 0x7ff7eb4a92d3 - core::ptr::drop_in_place<wgpu_core::hub::Element<wgpu_core::device::Device<gfx_backend_dx12::Backend>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
29: 0x7ff7eb49d98f - core::ptr::drop_in_place<slice<wgpu_core::hub::Element<wgpu_core::device::Device<gfx_backend_dx12::Backend>>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
30: 0x7ff7eb4c0cc4 - alloc::vec::{{impl}}::drop<wgpu_core::hub::Element<wgpu_core::device::Device<gfx_backend_dx12::Backend>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\vec.rs:2447
31: 0x7ff7eb4bc3df - core::ptr::drop_in_place<alloc::vec::Vec<wgpu_core::hub::Element<wgpu_core::device::Device<gfx_backend_dx12::Backend>>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
32: 0x7ff7eb49babe - core::ptr::drop_in_place<wgpu_core::hub::Storage<wgpu_core::device::Device<gfx_backend_dx12::Backend>, wgpu_core::id::Id<wgpu_core::device::Device<gfx_backend_empty::Backend>>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
33: 0x7ff7eb4ba4ee - core::ptr::drop_in_place<core::cell::UnsafeCell<wgpu_core::hub::Storage<wgpu_core::device::Device<gfx_backend_dx12::Backend>, wgpu_core::id::Id<wgpu_core::device::Device<gfx_backend_empty::Backend>>>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
34: 0x7ff7eb4b3515 - core::ptr::drop_in_place<lock_api::rwlock::RwLock<parking_lot::raw_rwlock::RawRwLock, wgpu_core::hub::Storage<wgpu_core::device::Device<gfx_backend_dx12::Backend>, wgpu_core::id::Id<wgpu_core::device::Device<gfx_backend_empty::Backend>>>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
35: 0x7ff7eb49bb43 - core::ptr::drop_in_place<wgpu_core::hub::Registry<wgpu_core::device::Device<gfx_backend_dx12::Backend>, wgpu_core::id::Id<wgpu_core::device::Device<gfx_backend_empty::Backend>>, wgpu_core::hub::IdentityManagerFactory>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
36: 0x7ff7eb4aacad - core::ptr::drop_in_place<wgpu_core::hub::Hub<gfx_backend_dx12::Backend, wgpu_core::hub::IdentityManagerFactory>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
37: 0x7ff7eb4b583c - core::ptr::drop_in_place<wgpu_core::hub::Hubs<wgpu_core::hub::IdentityManagerFactory>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
38: 0x7ff7eb49ac53 - core::ptr::drop_in_place<wgpu_core::hub::Global<wgpu_core::hub::IdentityManagerFactory>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
39: 0x7ff7eb49b35d - core::ptr::drop_in_place<wgpu::backend::direct::Context>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
40: 0x7ff7eb4d9c62 - alloc::sync::Arc<wgpu::backend::direct::Context>::drop_slow<wgpu::backend::direct::Context>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:934
41: 0x7ff7eb4c17e5 - alloc::sync::{{impl}}::drop<wgpu::backend::direct::Context>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\sync.rs:1454
42: 0x7ff7eb4a631e - core::ptr::drop_in_place<alloc::sync::Arc<wgpu::backend::direct::Context>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
43: 0x7ff7eb29811e - core::ptr::drop_in_place<wgpu::SwapChain>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
44: 0x7ff7eb29947f - core::ptr::drop_in_place<closure-0>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
45: 0x7ff7eb297ffe - core::ptr::drop_in_place<closure-0>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
46: 0x7ff7ebfa38a9 - core::ptr::drop_in_place<alloc::boxed::Box<FnMut<tuple<winit::event::Event<tuple<>>, mut winit::event_loop::ControlFlow*>>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ptr\mod.rs:184
47: 0x7ff7ebfccb6c - winit::platform_impl::platform::event_loop::runner::{{impl}}::call_event_handler::{{closure}}<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:252
48: 0x7ff817101030 - <unknown>
49: 0x7ff817104a52 - is_exception_typeof
50: 0x7ff81710e7a4 - _C_specific_handler
51: 0x7ff817103cc8 - is_exception_typeof
52: 0x7ff81710f0d1 - _CxxFrameHandler3
53: 0x7ff832b018cf - _chkstk
54: 0x7ff832a7d9b2 - RtlUnwindEx
55: 0x7ff81710ec62 - _C_specific_handler
56: 0x7ff817102955 - is_exception_typeof
57: 0x7ff817102d81 - is_exception_typeof
58: 0x7ff817103dc4 - is_exception_typeof
59: 0x7ff81710f0d1 - _CxxFrameHandler3
60: 0x7ff832b0184f - _chkstk
61: 0x7ff832aca889 - RtlRaiseException
62: 0x7ff832aca643 - RtlRaiseException
63: 0x7ff82fd23b29 - RaiseException
64: 0x7ff817106220 - CxxThrowException
65: 0x7ff7ec031531 - panic_unwind::real_imp::panic
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\panic_unwind\src\seh.rs:315
66: 0x7ff7ec0314b9 - panic_unwind::__rust_start_panic
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\panic_unwind\src\lib.rs:109
67: 0x7ff7ec02d368 - std::panicking::rust_panic
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:618
68: 0x7ff7ec02d239 - std::panicking::rust_panic_with_hook
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:588
69: 0x7ff7ebecad91 - std::panicking::begin_panic::{{closure}}<str*>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:498
70: 0x7ff7ebec9d5f - std::sys_common::backtrace::__rust_end_short_backtrace<closure-0,!>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys_common\backtrace.rs:153
71: 0x7ff7ebecacc7 - std::panicking::begin_panic<str*>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:497
72: 0x7ff7ebecbbf8 - d3d12::com::{{impl}}::deref<winapi::um::d3d12::ID3D12GraphicsCommandList>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\d3d12-0.3.2\src\com.rs:75
73: 0x7ff7ebe3e824 - gfx_backend_dx12::device::{{impl}}::set_command_buffer_name
at C:\Users\connor\.cargo\git\checkouts\gfx-e86e7f3ebdbc4218\1d14789\src\backend\dx12\src\device.rs:3638
74: 0x7ff7eb62d4ca - wgpu_core::hub::Global<wgpu_core::hub::IdentityManagerFactory>::device_create_command_encoder<wgpu_core::hub::IdentityManagerFactory,gfx_backend_dx12::Backend>
at C:\Users\connor\.cargo\git\checkouts\wgpu-53e70f8674b08dd4\2d87fd9\wgpu-core\src\device\mod.rs:3353
75: 0x7ff7eb8a459b - wgpu::backend::direct::{{impl}}::device_create_command_encoder
at C:\Users\connor\Programming\wgpu-rs\src\backend\direct.rs:1097
76: 0x7ff7eb5086a6 - wgpu::Device::create_command_encoder
at C:\Users\connor\Programming\wgpu-rs\src\lib.rs:1428
77: 0x7ff7eb26fb20 - texture_arrays::{{impl}}::render<futures_executor::local_pool::LocalSpawner>
at C:\Users\connor\Programming\wgpu-rs\examples\texture-arrays\main.rs:308
78: 0x7ff7eb263256 - texture_arrays::framework::start::{{closure}}<texture_arrays::Example>
at C:\Users\connor\Programming\wgpu-rs\examples\framework.rs:314
79: 0x7ff7eb28f608 - winit::platform_impl::platform::event_loop::{{impl}}::run_return::{{closure}}<tuple<>,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:203
80: 0x7ff7ebfdde03 - alloc::boxed::{{impl}}::call_mut<tuple<winit::event::Event<tuple<>>, mut winit::event_loop::ControlFlow*>,FnMut<tuple<winit::event::Event<tuple<>>, mut winit::event_loop::ControlFlow*>>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\alloc\src\boxed.rs:1049
81: 0x7ff7ebfcc9fb - winit::platform_impl::platform::event_loop::runner::{{impl}}::call_event_handler::{{closure}}<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:245
82: 0x7ff7ebfc02f6 - std::panic::{{impl}}::call_once<tuple<>,closure-0>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:308
83: 0x7ff7ebfdbb00 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:373
84: 0x7ff7ebfe0887 - winit::platform_impl::platform::window::TASKBAR_LIST::__getit
85: 0x7ff7ebfdb8ea - std::panicking::try<tuple<>,std::panic::AssertUnwindSafe<closure-0>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:337
86: 0x7ff7ebfc0336 - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:379
87: 0x7ff7ebfcbe39 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::catch_unwind<tuple<>,tuple<>,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:152
88: 0x7ff7ebfcc791 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::call_event_handler<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:239
89: 0x7ff7ebfcc527 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::send_event<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:210
90: 0x7ff7eb28f75a - winit::platform_impl::platform::event_loop::SubclassInput<tuple<>>::send_event<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:93
91: 0x7ff7eb290102 - winit::platform_impl::platform::event_loop::public_window_callback::{{closure}}<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:832
92: 0x7ff7eb2974c7 - core::ops::function::FnOnce::call_once<closure-0,tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:227
93: 0x7ff7eb270bb3 - std::panic::{{impl}}::call_once<isize,closure-0>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:308
94: 0x7ff7eb25c48e - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,isize>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:373
95: 0x7ff7eb25c597 - std::panicking::try::do_catch<std::panic::AssertUnwindSafe<closure-0>,isize>
96: 0x7ff7eb25c383 - std::panicking::try<isize,std::panic::AssertUnwindSafe<closure-0>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:337
97: 0x7ff7eb270c0e - std::panic::catch_unwind<std::panic::AssertUnwindSafe<closure-0>,isize>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:379
98: 0x7ff7eb278bf3 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<tuple<>>::catch_unwind<tuple<>,isize,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop\runner.rs:152
99: 0x7ff7eb28f90f - winit::platform_impl::platform::event_loop::public_window_callback<tuple<>>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:1909
100: 0x7ff81995b762 - DefSubclassProc
101: 0x7ff81995b625 - DefSubclassProc
102: 0x7ff831025c1d - CallWindowProcW
103: 0x7ff8310257ec - DispatchMessageW
104: 0x7ff831031f83 - IsWindowVisible
105: 0x7ff832b00464 - KiUserCallbackDispatcher
106: 0x7ff82fb31764 - NtUserDispatchMessage
107: 0x7ff8310256fc - DispatchMessageW
108: 0x7ff7eb28f2d9 - winit::platform_impl::platform::event_loop::EventLoop<tuple<>>::run_return<tuple<>,closure-0> at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:218
109: 0x7ff7eb28f686 - winit::platform_impl::platform::event_loop::EventLoop<tuple<>>::run<tuple<>,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\platform_impl\windows\event_loop.rs:188
110: 0x7ff7eb25c29d - winit::event_loop::EventLoop<tuple<>>::run<tuple<>,closure-0>
at C:\Users\connor\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.23.0\src\event_loop.rs:154
111: 0x7ff7eb2627d5 - texture_arrays::framework::start<texture_arrays::Example>
at C:\Users\connor\Programming\wgpu-rs\examples\framework.rs:247
112: 0x7ff7eb26344a - texture_arrays::framework::run<texture_arrays::Example>
at C:\Users\connor\Programming\wgpu-rs\examples\framework.rs:324
113: 0x7ff7eb25f058 - texture_arrays::main
at C:\Users\connor\Programming\wgpu-rs\examples\texture-arrays\main.rs:344
114: 0x7ff7eb29739b - core::ops::function::FnOnce::call_once<fn(),tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:227
115: 0x7ff7eb2a10db - std::sys_common::backtrace::__rust_begin_short_backtrace<fn(),tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys_common\backtrace.rs:137
116: 0x7ff7eb296a01 - std::rt::lang_start::{{closure}}<tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:66
117: 0x7ff7ec02d496 - core::ops::function::impls::{{impl}}::call_once
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\library\core\src\ops\function.rs:280
118: 0x7ff7ec02d496 - std::panicking::try::do_call
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:373
119: 0x7ff7ec02d496 - std::panicking::try
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panicking.rs:337
120: 0x7ff7ec02d496 - std::panic::catch_unwind
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\panic.rs:379
121: 0x7ff7ec02d496 - std::rt::lang_start_internal
at /rustc/18bf6b4f01a6feaf7259ba7cdae58031af1b7b39\/library\std\src\rt.rs:51
122: 0x7ff7eb2969d3 - std::rt::lang_start<tuple<>>
at C:\Users\connor\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:65
123: 0x7ff7eb25f080 - main
124: 0x7ff7ec295380 - invoke_main
at d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
125: 0x7ff7ec295380 - __scrt_common_main_seh
at d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
126: 0x7ff830d17c24 - BaseThreadInitThunk
127: 0x7ff832acd4d1 - RtlUserThreadStart
thread panicked while panicking. aborting.
Missing outline, possibly missing feature not being exposed/hooked up.
Clicking the close button on the window results in exit code 2173 according to powershell.
Open application, click right arrow once, program crashes with exit code 0xc000041d
Is still blank, see https://github.com/gfx-rs/wgpu/issues/1058.
Water is also blank, likely something up with having multiple renderpasses.
On swapchain creation, the program might crash with exit code 0xc000041d after resizing the window with the Vulkan or DX12 backend. With the DX11 backend, it panics with failed to configure swap chain on creation: Failed to create or configure swapchain: Window is in use.
Minimal example here: https://github.com/Systemcluster/wgpu-bug-crash-on-resize
Traces: https://github.com/Systemcluster/wgpu-bug-crash-on-resize/tree/master/trace
It also produces validation errors as reported in gfx-rs/wgpu-rs/issues/507
Next to the VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216 validation error already listed, I get a couple of the following validation errors when rendering shortly after swapchain creation:
VALIDATION [UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout (1303270965)] : Validation Error: [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle = 0x1f88d665188, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 | Submitted command buffer expects VkImage 0xe81828000000000d[] (subresource: aspectMask 0x1 array layer 0, mip level 0) to be in layout VK_IMAGE_LAYOUT_PRESENT_SRC_KHR--instead, current layout is VK_IMAGE_LAYOUT_UNDEFINED.
object info: (type: COMMAND_BUFFER, hndl: 2167035810184)
Example here: https://github.com/Systemcluster/wgpu-bug-validation-errors
Trace: https://github.com/Systemcluster/wgpu-bug-validation-errors/tree/master/trace
The viewport/scissor warning is getting fixed in https://github.com/gfx-rs/gfx/pull/3500
Edit: and @yzsolt is addressing the dx12 panics in https://github.com/gfx-rs/gfx/pull/3499
The examples leak memory heavily under DX12, 10-20 MB/sec, depending on the framerate. Reproduced on both AMD and NVidia hardware, so it's not a vendor/driver issue. Windows Task Manager shows a similar memory growth in the GPU Shared Memory graph.
I've already encountered this before when implementing https://github.com/gfx-rs/gfx/pull/3491, with a slightly modified quad gfx example.
The only relevant issue we have on DX12 is https://github.com/gfx-rs/gfx/issues/2556, and it's about texture updates, and it's quite old (could not be the case any more). Please file an issue about the memory leak you are seeing, and put everything you know into it.
All issues in the original post have been solved at the current point.
@Systemcluster can you retest to see if things are still an issue with current master whenever you get a chance?
@cwfitzgerald Sure! Both issues still apply with the current wgpu-rs master, though as I understand wgpu-rs is still using the wgpu-core revision from dec. 18, so I'd have to check again following an update.
@cwfitzgerald With the most recent master, the crash after resizing seems to only occur with the DX12 backend. The validation errors on Vulkan still appear. However, this might not be related to the gfx update after all, and is already tracked in gfx-rs/wgpu-rs/issues/507.
The validation errors in the second issue still appear as well. Is there any additional information I can supply there?
You don't need to wait for https://github.com/gfx-rs/wgpu-rs/issues/507#issuecomment-674353159 to be fixed. Instead, just don't skip the frame: always have at least a dummy pass that clears it.
I'm a bit unclear about which validation errors you are still seeing, and on what wgpu-rs revisions.
With the original bugs cleared, for sake of ease of tracking and clarity, I'm going to close this issue. @Systemcluster could you refile the issues you are having as new issues,and we'll take it from there.
I'm a bit unclear about which validation errors you are still seeing, and on what wgpu-rs revisions.
Specifically I was referring to UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout. I'm on the most recent commit from the wgpu-rs master branch. Looking through the existing issues again, I see now that this one has already been mentioned in gfx-rs/wgpu-rs/pull/567, so it seems to be a known issue and unrelated to the gfx update as well. Apologies for the mixup there!
Most helpful comment
With the original bugs cleared, for sake of ease of tracking and clarity, I'm going to close this issue. @Systemcluster could you refile the issues you are having as new issues,and we'll take it from there.