gfx-rs / wgpu-rs

Rust bindings to wgpu native library
https://wgpu.rs
Mozilla Public License 2.0
1.69k stars 186 forks source link

[0.7] Segfaults in most 3d examples #862

Closed mabysh closed 3 years ago

mabysh commented 3 years ago

OS: Ubuntu 20.04 GPU: Intel UHD 620

Getting segmentation faults in examples: water, skybox, msaa-line, texture-arrays, shadow

Water Vulkan backend (backtrace using lldb)

rust-lldb target/debug/examples/water
(lldb) command script import "/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_lookup.py"
(lldb) command source -s 0 '/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_commands'
Executing commands in '/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_commands'.
(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^&str$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^&\\[.+\\]$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust
(lldb) type category enable Rust
(lldb) target create "target/debug/examples/water"
Current executable set to '/home/byshnev/hobby/rust/repos/wgpu-rs/target/debug/examples/water' (x86_64).
(lldb) run
Process 32901 launched: '/home/byshnev/hobby/rust/repos/wgpu-rs/target/debug/examples/water' (x86_64)
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

Using Intel(R) UHD Graphics (CML GT2) (Vulkan)
Process 32901 stopped
* thread #1, name = 'water', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
    frame #0: 0x00007fffeef7619d libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so + 285
libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so:
->  0x7fffeef7619d <+285>: movq   (%rax,%r10,8), %r11
    0x7fffeef761a1 <+289>: movq   (%rax,%rdx,8), %r8
    0x7fffeef761a5 <+293>: cmpq   %r8, %r11
    0x7fffeef761a8 <+296>: je     0x7fffeef76580            ; <+1280>
(lldb) thread backtrace
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
* thread #1, name = 'water', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
  * frame #0: 0x00007fffeef7619d libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so + 285
    frame #1: 0x00007fffeef77520 libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7624$$libVkLayer_khronos_validation.so + 1168
    frame #2: 0x00007fffeee3fc7e libVkLayer_khronos_validation.so`___lldb_unnamed_symbol2147$$libVkLayer_khronos_validation.so + 158
    frame #3: 0x000055555617d98d water`ash::vk::features::DeviceFnV1_0::cmd_begin_render_pass::hfbb0b773299b73f7(self=0x0000555557446418, command_buffer=CommandBuffer @ 0x00007ffffffe92a0, p_render_pass_begin=0x00007ffffffe9950, contents=SubpassContents @ 0x00007ffffffe92b4) at features.rs:5830:9
    frame #4: 0x0000555555cc8b79 water`ash::device::DeviceV1_0::cmd_begin_render_pass::hfe99496ae02c4739(self=0x0000555557446410, command_buffer=CommandBuffer @ 0x00007ffffffe92f0, create_info=0x00007ffffffe9950, contents=SubpassContents @ 0x00007ffffffe9304) at device.rs:1178:9
    frame #5: 0x0000555555c84274 water`_$LT$gfx_backend_vulkan..command..CommandBuffer$u20$as$u20$gfx_hal..command..CommandBuffer$LT$gfx_backend_vulkan..Backend$GT$$GT$::begin_render_pass::h683d81e90290e557(self=0x00007ffffffeef88, render_pass=0x0000555556fb54d0, framebuffer=0x0000555557466df0, render_area=Rect @ 0x00007ffffffe9438, attachments=Chain<core::iter::adapters::chain::Chain<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::zip::Zip<core::slice::iter::Iter<wgpu_core::command::render::RenderPassColorAttachment>, core::slice::iter::Iter<(gfx_hal::pass::Attachment, gfx_hal::image::Layout)>>, arrayvec::IntoIter<[&gfx_backend_vulkan::native::ImageView; 4]>>, closure-15>, core::iter::adapters::map::Map<arrayvec::IntoIter<[&gfx_backend_vulkan::native::ImageView; 4]>, closure-16>>, core::option::IntoIter<gfx_hal::command::RenderAttachmentInfo<gfx_backend_vulkan::Backend>>> @ 0x00007ffffffed018, first_subpass=Inline) at command.rs:294:9
    frame #6: 0x0000555555a389d0 water`wgpu_core::command::render::RenderPassInfo$LT$B$GT$::start::h05b4b5cdcadd7794(raw=0x00007ffffffeef88, color_attachments=size=1, depth_stencil_attachment=Option<&wgpu_core::command::render::RenderPassDepthStencilAttachment> @ 0x00007ffffffea438, cmd_buf=0x00005555576acd08, device=0x0000555557452868, view_guard=0x0000555556fc8880) at render.rs:930:13
    frame #7: 0x0000555555b2b7da water`wgpu_core::command::render::_$LT$impl$u20$wgpu_core..hub..Global$LT$G$GT$$GT$::command_encoder_run_render_pass_impl::haeb5bf594e6cb716(self=0x0000555556fc80f0, encoder_id=Id<wgpu_core::command::CommandBuffer<gfx_backend_empty::Backend>> @ 0x00007ffffffee860, base=BasePassRef<wgpu_core::command::draw::RenderCommand> @ 0x00007fffffff8970, color_attachments=size=1, depth_stencil_attachment=Option<&wgpu_core::command::render::RenderPassDepthStencilAttachment> @ 0x00007fffffff8920) at render.rs:1058:28
    frame #8: 0x0000555555b1f7d3 water`wgpu_core::command::render::_$LT$impl$u20$wgpu_core..hub..Global$LT$G$GT$$GT$::command_encoder_run_render_pass::h434a0e2bd1bbcbea(self=0x0000555556fc80f0, encoder_id=Id<wgpu_core::command::CommandBuffer<gfx_backend_empty::Backend>> @ 0x00007fffffff89c8, pass=0x00007fffffff8e28) at render.rs:1004:9
    frame #9: 0x0000555555c9c692 water`_$LT$wgpu..backend..direct..Context$u20$as$u20$wgpu..Context$GT$::command_encoder_end_render_pass::h6f51e049dc1d037a(self=0x0000555556fc80f0, encoder=0x00007fffffff8e10, pass=0x00007fffffff8e28) at direct.rs:1746:13
    frame #10: 0x0000555555d36c89 water`_$LT$wgpu..RenderPass$u20$as$u20$core..ops..drop..Drop$GT$::drop::hef0897b4328d97f2(self=0x00007fffffff8e28) at lib.rs:2558:13
    frame #11: 0x000055555576f8a6 water`core::ptr::drop_in_place$LT$wgpu..RenderPass$GT$::h5e884c748dcd9b68((null)=0x00007fffffff8e28) at mod.rs:179:1
    frame #12: 0x000055555578572e water`_$LT$water..Example$u20$as$u20$water..framework..Example$GT$::render::h7c0f16955062b7c5(self=0x00007fffffffa890, frame=0x00007fffffff9c70, device=0x00007fffffffab00, queue=0x00007fffffffab20, _spawner=0x00007fffffffa878) at main.rs:739:9
    frame #13: 0x000055555579d1ae water`water::framework::start::_$u7b$$u7b$closure$u7d$$u7d$::heaa25dd029e3e7b3(event=Event<()> @ 0x00007fffffff9dc0, (null)=0x0000555556f41360, control_flow=0x00007fffffff9fe0) at framework.rs:288:17
    frame #14: 0x0000555555769594 water`winit::platform_impl::platform::sticky_exit_callback::h0a041dde9043871a(evt=Event<()> @ 0x00007fffffffa2f0, target=0x0000555556f41360, control_flow=0x00007fffffff9fe0, callback=0x00007fffffffa7e0) at mod.rs:736:5
    frame #15: 0x0000555555756157 water`winit::platform_impl::platform::x11::EventLoop$LT$T$GT$::run_return::h52129dcb97b46906(self=0x00007fffffffae80, callback=closure-0 @ 0x00007fffffffa7e0) at mod.rs:320:21
    frame #16: 0x000055555575707b water`winit::platform_impl::platform::x11::EventLoop$LT$T$GT$::run::h6407732f4686416c(self=EventLoop<()> @ 0x00007fffffffae80, callback=<unavailable>) at mod.rs:398:9
    frame #17: 0x0000555555769408 water`winit::platform_impl::platform::EventLoop$LT$T$GT$::run::h718c81212794d556(self=EventLoop<()> @ 0x00007fffffffbb50, callback=closure-0 @ 0x00007fffffffbdc0) at mod.rs:652:56
    frame #18: 0x000055555574b2b4 water`winit::event_loop::EventLoop$LT$T$GT$::run::h1242692b6878d659(self=EventLoop<()> @ 0x00007fffffffc8a8, event_handler=closure-0 @ 0x00007fffffffcb18) at event_loop.rs:154:9
    frame #19: 0x000055555579c5ab water`water::framework::start::h27c369dbeaf46932((null)=Setup @ 0x00007fffffffd668) at framework.rs:216:5
    frame #20: 0x000055555579d31f water`water::framework::run::he7de84026ab7dab5(title="water") at framework.rs:336:5
    frame #21: 0x0000555555785f45 water`water::main::h5e4e0150b439cb2a at main.rs:798:5
    frame #22: 0x000055555576caeb water`core::ops::function::FnOnce::call_once::h43787cc170bf4753((null)=(water`water::main::h5e4e0150b439cb2a at main.rs:797), (null)=<unavailable>) at function.rs:227:5
    frame #23: 0x000055555571623e water`std::sys_common::backtrace::__rust_begin_short_backtrace::hdd31134048a4d47c(f=(water`water::main::h5e4e0150b439cb2a at main.rs:797)) at backtrace.rs:125:18
    frame #24: 0x000055555575cd31 water`std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h7264342382bb9622 at rt.rs:66:18
    frame #25: 0x000055555697d567 water`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$F$GT$::call_once::h527fb2333ede305e at function.rs:259:13
    frame #26: 0x000055555697d560 water`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panicking::try::do_call::h309d8aee8149866c at panicking.rs:379
    frame #27: 0x000055555697d560 water`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panicking::try::h75a60c31fd16bfc6 at panicking.rs:343
    frame #28: 0x000055555697d560 water`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panic::catch_unwind::h1f9892423e99bc00 at panic.rs:431
    frame #29: 0x000055555697d560 water`std::rt::lang_start_internal::hd5b67df56ca01dae at rt.rs:51
    frame #30: 0x000055555575cd07 water`std::rt::lang_start::hca280344474233a5(main=(water`water::main::h5e4e0150b439cb2a at main.rs:797), argc=1, argv=0x00007fffffffdce8) at rt.rs:65:5
    frame #31: 0x0000555555785f7a water`main + 42
    frame #32: 0x00007ffff7c3a0b3 libc.so.6`__libc_start_main + 243
    frame #33: 0x000055555570b0de water`_start + 46
(lldb) quit

OpenGL backend runs, but output is completely broken

Texture arrays Vulkan backend

cargo run --example texture-arrays   
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/examples/texture-arrays`
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

Using Intel(R) UHD Graphics (CML GT2) (Vulkan)
wgpu error: Validation Error

Caused by:
    In Device::create_shader_module
      note: label = `shader.vert.spv`
    Entry point main at Vertex is invalid
    Result varying error
    Interpolation is not valid

thread 'main' panicked at 'Handling wgpu errors as fatal by default', src/backend/direct.rs:1942:5
stack backtrace:
   0: std::panicking::begin_panic
             at /home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:519:12
   1: wgpu::backend::direct::default_error_handler
             at ./src/backend/direct.rs:1942:5
   2: core::ops::function::Fn::call
             at /home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:70:5
   3: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1535:9
   4: wgpu::backend::direct::ErrorSinkRaw::handle_error
             at ./src/backend/direct.rs:1929:9
   5: wgpu::backend::direct::Context::handle_error
             at ./src/backend/direct.rs:93:9
   6: <wgpu::backend::direct::Context as wgpu::Context>::device_create_shader_module
             at ./src/backend/direct.rs:820:13
   7: wgpu::Device::create_shader_module
             at ./src/lib.rs:1526:17
   8: <texture_arrays::Example as texture_arrays::framework::Example>::init
             at ./examples/texture-arrays/main.rs:95:25
   9: texture_arrays::framework::start
             at ./examples/texture-arrays/../framework.rs:210:23
  10: texture_arrays::framework::run
             at ./examples/texture-arrays/../framework.rs:336:5
  11: texture_arrays::main
             at ./examples/texture-arrays/main.rs:331:5
  12: core::ops::function::FnOnce::call_once
             at /home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[1]    33835 segmentation fault (core dumped)  cargo run --example texture-arrays

OpenGl backend

cargo run --example texture-arrays
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/examples/texture-arrays`
Using Mesa Intel(R) UHD Graphics (CML GT2) (Gl)
thread 'main' panicked at 'Adapter does not support required features for this example: SAMPLED_TEXTURE_BINDING_ARRAY', examples/texture-arrays/../framework.rs:154:5
stack backtrace:
   0: rust_begin_unwind
             at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:493:5
   1: std::panicking::begin_panic_fmt
             at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:435:5
   2: texture_arrays::framework::setup::{{closure}}
             at ./examples/texture-arrays/../framework.rs:154:5
   3: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
             at /home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/future/mod.rs:80:19
   4: pollster::block_on
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/pollster-0.2.3/src/lib.rs:173:15
   5: texture_arrays::framework::run
             at ./examples/texture-arrays/../framework.rs:335:17
   6: texture_arrays::main
             at ./examples/texture-arrays/main.rs:331:5
   7: core::ops::function::FnOnce::call_once
             at /home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Shadow Vulkan backend (using lldb)

rust-lldb target/debug/examples/shadow
(lldb) command script import "/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_lookup.py"
(lldb) command source -s 0 '/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_commands'
Executing commands in '/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_commands'.
(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^&str$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^&\\[.+\\]$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust
(lldb) type category enable Rust
(lldb) target create "target/debug/examples/shadow"
Current executable set to '/home/byshnev/hobby/rust/repos/wgpu-rs/target/debug/examples/shadow' (x86_64).
(lldb) run
Process 34275 launched: '/home/byshnev/hobby/rust/repos/wgpu-rs/target/debug/examples/shadow' (x86_64)
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

Using Intel(R) UHD Graphics (CML GT2) (Vulkan)
[2021-04-15T20:09:48Z ERROR gfx_backend_vulkan] 
    VALIDATION [VUID-VkRenderPassBeginInfo-framebuffer-03209 (0x0)] : VkRenderPassBeginInfo: Image view #0 created from an image with flags set as 0x400, but image info #0 used to create the framebuffer had flags set as 0x0 The Vulkan spec states: If framebuffer was created with a VkFramebufferCreateInfo::flags value that included VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView of an image created with a value of VkImageCreateInfo::flags equal to the flags member of the corresponding element of VkFramebufferAttachmentsCreateInfoKHR::pAttachments used to create framebuffer (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkRenderPassBeginInfo-framebuffer-03209)
    object info: (type: RENDER_PASS, hndl: 0x530000000053)

Process 34275 stopped
* thread #1, name = 'shadow', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
    frame #0: 0x00007fffeef7619d libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so + 285
libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so:
->  0x7fffeef7619d <+285>: movq   (%rax,%r10,8), %r11
    0x7fffeef761a1 <+289>: movq   (%rax,%rdx,8), %r8
    0x7fffeef761a5 <+293>: cmpq   %r8, %r11
    0x7fffeef761a8 <+296>: je     0x7fffeef76580            ; <+1280>
(lldb) thread backtrace
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
* thread #1, name = 'shadow', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
  * frame #0: 0x00007fffeef7619d libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so + 285
    frame #1: 0x00007fffeef77520 libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7624$$libVkLayer_khronos_validation.so + 1168
    frame #2: 0x00007fffeee3fc7e libVkLayer_khronos_validation.so`___lldb_unnamed_symbol2147$$libVkLayer_khronos_validation.so + 158
    frame #3: 0x000055555611dc3d shadow`ash::vk::features::DeviceFnV1_0::cmd_begin_render_pass::hfbb0b773299b73f7(self=0x00005555573d0248, command_buffer=CommandBuffer @ 0x00007ffffffe9330, p_render_pass_begin=0x00007ffffffe99e0, contents=SubpassContents @ 0x00007ffffffe9344) at features.rs:5830:9
    frame #4: 0x0000555555c671c9 shadow`ash::device::DeviceV1_0::cmd_begin_render_pass::hfe99496ae02c4739(self=0x00005555573d0240, command_buffer=CommandBuffer @ 0x00007ffffffe9380, create_info=0x00007ffffffe99e0, contents=SubpassContents @ 0x00007ffffffe9394) at device.rs:1178:9
    frame #5: 0x0000555555c20cd4 shadow`_$LT$gfx_backend_vulkan..command..CommandBuffer$u20$as$u20$gfx_hal..command..CommandBuffer$LT$gfx_backend_vulkan..Backend$GT$$GT$::begin_render_pass::h683d81e90290e557(self=0x00007ffffffef018, render_pass=0x00005555575af258, framebuffer=0x00005555575c4e10, render_area=Rect @ 0x00007ffffffe94c8, attachments=Chain<core::iter::adapters::chain::Chain<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::zip::Zip<core::slice::iter::Iter<wgpu_core::command::render::RenderPassColorAttachment>, core::slice::iter::Iter<(gfx_hal::pass::Attachment, gfx_hal::image::Layout)>>, arrayvec::IntoIter<[&gfx_backend_vulkan::native::ImageView; 4]>>, closure-15>, core::iter::adapters::map::Map<arrayvec::IntoIter<[&gfx_backend_vulkan::native::ImageView; 4]>, closure-16>>, core::option::IntoIter<gfx_hal::command::RenderAttachmentInfo<gfx_backend_vulkan::Backend>>> @ 0x00007ffffffed0a8, first_subpass=Inline) at command.rs:294:9
    frame #6: 0x00005555559cff90 shadow`wgpu_core::command::render::RenderPassInfo$LT$B$GT$::start::h05b4b5cdcadd7794(raw=0x00007ffffffef018, color_attachments=size=1, depth_stencil_attachment=Option<&wgpu_core::command::render::RenderPassDepthStencilAttachment> @ 0x00007ffffffea4c8, cmd_buf=0x00005555575c3858, device=0x00005555573da988, view_guard=0x0000555556f52880) at render.rs:930:13
    frame #7: 0x0000555555ac45ba shadow`wgpu_core::command::render::_$LT$impl$u20$wgpu_core..hub..Global$LT$G$GT$$GT$::command_encoder_run_render_pass_impl::haeb5bf594e6cb716(self=0x0000555556f520f0, encoder_id=Id<wgpu_core::command::CommandBuffer<gfx_backend_empty::Backend>> @ 0x00007ffffffee8f0, base=BasePassRef<wgpu_core::command::draw::RenderCommand> @ 0x00007fffffff8a00, color_attachments=size=1, depth_stencil_attachment=Option<&wgpu_core::command::render::RenderPassDepthStencilAttachment> @ 0x00007fffffff89b0) at render.rs:1058:28
    frame #8: 0x0000555555ab85b3 shadow`wgpu_core::command::render::_$LT$impl$u20$wgpu_core..hub..Global$LT$G$GT$$GT$::command_encoder_run_render_pass::h434a0e2bd1bbcbea(self=0x0000555556f520f0, encoder_id=Id<wgpu_core::command::CommandBuffer<gfx_backend_empty::Backend>> @ 0x00007fffffff8a58, pass=0x00007fffffff96d8) at render.rs:1004:9
    frame #9: 0x0000555555c3a762 shadow`_$LT$wgpu..backend..direct..Context$u20$as$u20$wgpu..Context$GT$::command_encoder_end_render_pass::h6f51e049dc1d037a(self=0x0000555556f520f0, encoder=0x00007fffffff92d8, pass=0x00007fffffff96d8) at direct.rs:1746:13
    frame #10: 0x0000555555cd5369 shadow`_$LT$wgpu..RenderPass$u20$as$u20$core..ops..drop..Drop$GT$::drop::hef0897b4328d97f2(self=0x00007fffffff96d8) at lib.rs:2558:13
    frame #11: 0x000055555577feb6 shadow`core::ptr::drop_in_place$LT$wgpu..RenderPass$GT$::h963f27372c3d77bd((null)=0x00007fffffff96d8) at mod.rs:179:1
    frame #12: 0x00005555557a1aab shadow`_$LT$shadow..Example$u20$as$u20$shadow..framework..Example$GT$::render::h372ed5e556b574cf(self=0x00007fffffffab40, frame=0x00007fffffff9f20, device=0x00007fffffffad40, queue=0x00007fffffffad60, _spawner=0x00007fffffffab28) at main.rs:822:9
    frame #13: 0x00005555557366fe shadow`shadow::framework::start::_$u7b$$u7b$closure$u7d$$u7d$::h106fa5a356051228(event=Event<()> @ 0x00007fffffffa070, (null)=0x0000555556ecb360, control_flow=0x00007fffffffa290) at framework.rs:288:17
    frame #14: 0x0000555555732924 shadow`winit::platform_impl::platform::sticky_exit_callback::h73148eae5555e221(evt=Event<()> @ 0x00007fffffffa5a0, target=0x0000555556ecb360, control_flow=0x00007fffffffa290, callback=0x00007fffffffaa90) at mod.rs:736:5
    frame #15: 0x0000555555707b87 shadow`winit::platform_impl::platform::x11::EventLoop$LT$T$GT$::run_return::hfffec6e9ac782874(self=0x00007fffffffb0c0, callback=closure-0 @ 0x00007fffffffaa90) at mod.rs:320:21
    frame #16: 0x0000555555708aab shadow`winit::platform_impl::platform::x11::EventLoop$LT$T$GT$::run::hddcb682459277d1b(self=EventLoop<()> @ 0x00007fffffffb0c0, callback=<unavailable>) at mod.rs:398:9
    frame #17: 0x00005555557325c8 shadow`winit::platform_impl::platform::EventLoop$LT$T$GT$::run::h3825a005b8d32383(self=EventLoop<()> @ 0x00007fffffffbcb0, callback=closure-0 @ 0x00007fffffffbf20) at mod.rs:652:56
    frame #18: 0x000055555571b3b4 shadow`winit::event_loop::EventLoop$LT$T$GT$::run::hb6f9220530300e0a(self=EventLoop<()> @ 0x00007fffffffc918, event_handler=closure-0 @ 0x00007fffffffcb88) at event_loop.rs:154:9
    frame #19: 0x0000555555735b00 shadow`shadow::framework::start::h84c9374b410688c8((null)=Setup @ 0x00007fffffffd668) at framework.rs:216:5
    frame #20: 0x000055555573686f shadow`shadow::framework::run::h40f41e0238322ff8(title="shadow") at framework.rs:336:5
    frame #21: 0x00005555557a1e15 shadow`shadow::main::hdac33aad8b18c8ff at main.rs:830:5
    frame #22: 0x000055555577d0eb shadow`core::ops::function::FnOnce::call_once::h33aa970eb7d1d314((null)=(shadow`shadow::main::hdac33aad8b18c8ff at main.rs:829), (null)=<unavailable>) at function.rs:227:5
    frame #23: 0x000055555577494e shadow`std::sys_common::backtrace::__rust_begin_short_backtrace::h78a24543c99b6d58(f=(shadow`shadow::main::hdac33aad8b18c8ff at main.rs:829)) at backtrace.rs:125:18
    frame #24: 0x00005555557952e1 shadow`std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h8176d8eb7466cb73 at rt.rs:66:18
    frame #25: 0x000055555691d9f7 shadow`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$F$GT$::call_once::h527fb2333ede305e at function.rs:259:13
    frame #26: 0x000055555691d9f0 shadow`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panicking::try::do_call::h309d8aee8149866c at panicking.rs:379
    frame #27: 0x000055555691d9f0 shadow`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panicking::try::h75a60c31fd16bfc6 at panicking.rs:343
    frame #28: 0x000055555691d9f0 shadow`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panic::catch_unwind::h1f9892423e99bc00 at panic.rs:431
    frame #29: 0x000055555691d9f0 shadow`std::rt::lang_start_internal::hd5b67df56ca01dae at rt.rs:51
    frame #30: 0x00005555557952b7 shadow`std::rt::lang_start::he1f1ee8643016cfe(main=(shadow`shadow::main::hdac33aad8b18c8ff at main.rs:829), argc=1, argv=0x00007fffffffdce8) at rt.rs:65:5
    frame #31: 0x00005555557a1e4a shadow`main + 42
    frame #32: 0x00007ffff7c3a0b3 libc.so.6`__libc_start_main + 243
    frame #33: 0x00005555557070ce shadow`_start + 46

OpenGL backend

cargo run --example shadow            
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/examples/shadow`
Using Mesa Intel(R) UHD Graphics (CML GT2) (Gl)
[2021-04-15T20:11:15Z ERROR gfx_backend_gl] [API/Error] ID 1 : GL_INVALID_OPERATION in glFramebufferTexture2D(mismatched texture target)
thread 'main' panicked at 'Error InvalidOperation executing command: BindFramebuffer { target: 36009, framebuffer: 4, colors: [], depth_stencil: Some(Texture { target: 35866, raw: 1, is_3d: false, sub: SubresourceRange { aspects: DEPTH, level_start: 0, level_count: None, layer_start: 0, layer_count: Some(1) } }) }', /home/byshnev/.cargo/git/checkouts/gfx-e86e7f3ebdbc4218/e98889f/src/backend/gl/src/queue.rs:1108:13
stack backtrace:
   0: rust_begin_unwind
             at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:493:5
   1: std::panicking::begin_panic_fmt
             at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:435:5
   2: gfx_backend_gl::queue::Queue::process
             at /home/byshnev/.cargo/git/checkouts/gfx-e86e7f3ebdbc4218/e98889f/src/backend/gl/src/queue.rs:1108:13
   3: <gfx_backend_gl::queue::Queue as gfx_hal::queue::Queue<gfx_backend_gl::Backend>>::submit
             at /home/byshnev/.cargo/git/checkouts/gfx-e86e7f3ebdbc4218/e98889f/src/backend/gl/src/queue.rs:1145:21
   4: wgpu_core::device::queue::<impl wgpu_core::hub::Global<G>>::queue_submit
             at /home/byshnev/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/6a6a9a4/wgpu-core/src/device/queue.rs:790:21
   5: <wgpu::backend::direct::Context as wgpu::Context>::queue_submit
             at ./src/backend/direct.rs:1868:15
   6: wgpu::Queue::submit
             at ./src/lib.rs:2858:9
   7: <shadow::Example as shadow::framework::Example>::render
             at ./examples/shadow/main.rs:825:9
   8: shadow::framework::start::{{closure}}
             at ./examples/shadow/../framework.rs:288:17
   9: winit::platform_impl::platform::sticky_exit_callback
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/mod.rs:736:5
  10: winit::platform_impl::platform::x11::EventLoop<T>::run_return
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/x11/mod.rs:320:21
  11: winit::platform_impl::platform::x11::EventLoop<T>::run
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/x11/mod.rs:398:9
  12: winit::platform_impl::platform::EventLoop<T>::run
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/mod.rs:652:56
  13: winit::event_loop::EventLoop<T>::run
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/event_loop.rs:154:9
  14: shadow::framework::start
             at ./examples/shadow/../framework.rs:216:5
  15: shadow::framework::run
             at ./examples/shadow/../framework.rs:336:5
  16: shadow::main
             at ./examples/shadow/main.rs:830:5
  17: core::ops::function::FnOnce::call_once
             at /home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Msaa line Vulkan (using lldb)

 rust-lldb target/debug/examples/msaa-line
(lldb) command script import "/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_lookup.py"
(lldb) command source -s 0 '/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_commands'
Executing commands in '/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_commands'.
(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^&str$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^&\\[.+\\]$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust
(lldb) type category enable Rust
(lldb) target create "target/debug/examples/msaa-line"
Current executable set to '/home/byshnev/hobby/rust/repos/wgpu-rs/target/debug/examples/msaa-line' (x86_64).
(lldb) run
Process 34756 launched: '/home/byshnev/hobby/rust/repos/wgpu-rs/target/debug/examples/msaa-line' (x86_64)
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

Using Intel(R) UHD Graphics (CML GT2) (Vulkan)
[2021-04-15T20:12:58Z ERROR gfx_backend_vulkan] 
    VALIDATION [VUID-VkRenderPassBeginInfo-framebuffer-03209 (0x0)] : VkRenderPassBeginInfo: Image view #1 created from an image with flags set as 0x400, but image info #1 used to create the framebuffer had flags set as 0x0 The Vulkan spec states: If framebuffer was created with a VkFramebufferCreateInfo::flags value that included VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView of an image created with a value of VkImageCreateInfo::flags equal to the flags member of the corresponding element of VkFramebufferAttachmentsCreateInfoKHR::pAttachments used to create framebuffer (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkRenderPassBeginInfo-framebuffer-03209)
    object info: (type: RENDER_PASS, hndl: 0x2d000000002d)

Process 34756 stopped
* thread #1, name = 'msaa-line', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
    frame #0: 0x00007fffeef7619d libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so + 285
libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so:
->  0x7fffeef7619d <+285>: movq   (%rax,%r10,8), %r11
    0x7fffeef761a1 <+289>: movq   (%rax,%rdx,8), %r8
    0x7fffeef761a5 <+293>: cmpq   %r8, %r11
    0x7fffeef761a8 <+296>: je     0x7fffeef76580            ; <+1280>
(lldb) thread backtrace
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
* thread #1, name = 'msaa-line', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
  * frame #0: 0x00007fffeef7619d libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so + 285
    frame #1: 0x00007fffeef77520 libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7624$$libVkLayer_khronos_validation.so + 1168
    frame #2: 0x00007fffeee3fc7e libVkLayer_khronos_validation.so`___lldb_unnamed_symbol2147$$libVkLayer_khronos_validation.so + 158
    frame #3: 0x0000555556065a1d msaa-line`ash::vk::features::DeviceFnV1_0::cmd_begin_render_pass::hfbb0b773299b73f7(self=0x00005555572f2248, command_buffer=CommandBuffer @ 0x00007ffffffea430, p_render_pass_begin=0x00007ffffffeaae0, contents=SubpassContents @ 0x00007ffffffea444) at features.rs:5830:9
    frame #4: 0x0000555555c002c9 msaa-line`ash::device::DeviceV1_0::cmd_begin_render_pass::hfe99496ae02c4739(self=0x00005555572f2240, command_buffer=CommandBuffer @ 0x00007ffffffea480, create_info=0x00007ffffffeaae0, contents=SubpassContents @ 0x00007ffffffea494) at device.rs:1178:9
    frame #5: 0x0000555555bb68e4 msaa-line`_$LT$gfx_backend_vulkan..command..CommandBuffer$u20$as$u20$gfx_hal..command..CommandBuffer$LT$gfx_backend_vulkan..Backend$GT$$GT$::begin_render_pass::h683d81e90290e557(self=0x00007fffffff0118, render_pass=0x0000555556e614d0, framebuffer=0x00005555574bc5d8, render_area=Rect @ 0x00007ffffffea5c8, attachments=Chain<core::iter::adapters::chain::Chain<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::zip::Zip<core::slice::iter::Iter<wgpu_core::command::render::RenderPassColorAttachment>, core::slice::iter::Iter<(gfx_hal::pass::Attachment, gfx_hal::image::Layout)>>, arrayvec::IntoIter<[&gfx_backend_vulkan::native::ImageView; 4]>>, closure-15>, core::iter::adapters::map::Map<arrayvec::IntoIter<[&gfx_backend_vulkan::native::ImageView; 4]>, closure-16>>, core::option::IntoIter<gfx_hal::command::RenderAttachmentInfo<gfx_backend_vulkan::Backend>>> @ 0x00007ffffffee1a8, first_subpass=Inline) at command.rs:294:9
    frame #6: 0x00005555559a5490 msaa-line`wgpu_core::command::render::RenderPassInfo$LT$B$GT$::start::h05b4b5cdcadd7794(raw=0x00007fffffff0118, color_attachments=size=1, depth_stencil_attachment=Option<&wgpu_core::command::render::RenderPassDepthStencilAttachment> @ 0x00007ffffffeb5c8, cmd_buf=0x00005555573128d8, device=0x00005555572fc988, view_guard=0x0000555556e74880) at render.rs:930:13
    frame #7: 0x0000555555a84c2a msaa-line`wgpu_core::command::render::_$LT$impl$u20$wgpu_core..hub..Global$LT$G$GT$$GT$::command_encoder_run_render_pass_impl::haeb5bf594e6cb716(self=0x0000555556e740f0, encoder_id=Id<wgpu_core::command::CommandBuffer<gfx_backend_empty::Backend>> @ 0x00007ffffffef9f0, base=BasePassRef<wgpu_core::command::draw::RenderCommand> @ 0x00007fffffff9b00, color_attachments=size=1, depth_stencil_attachment=Option<&wgpu_core::command::render::RenderPassDepthStencilAttachment> @ 0x00007fffffff9ab0) at render.rs:1058:28
    frame #8: 0x0000555555a78c23 msaa-line`wgpu_core::command::render::_$LT$impl$u20$wgpu_core..hub..Global$LT$G$GT$$GT$::command_encoder_run_render_pass::h434a0e2bd1bbcbea(self=0x0000555556e740f0, encoder_id=Id<wgpu_core::command::CommandBuffer<gfx_backend_empty::Backend>> @ 0x00007fffffff9b58, pass=0x00007fffffffa098) at render.rs:1004:9
    frame #9: 0x0000555555bd50f2 msaa-line`_$LT$wgpu..backend..direct..Context$u20$as$u20$wgpu..Context$GT$::command_encoder_end_render_pass::h6f51e049dc1d037a(self=0x0000555556e740f0, encoder=0x00007fffffff9f80, pass=0x00007fffffffa098) at direct.rs:1746:13
    frame #10: 0x0000555555c5a309 msaa-line`_$LT$wgpu..RenderPass$u20$as$u20$core..ops..drop..Drop$GT$::drop::hef0897b4328d97f2(self=0x00007fffffffa098) at lib.rs:2558:13
    frame #11: 0x000055555575a5f6 msaa-line`core::ptr::drop_in_place$LT$wgpu..RenderPass$GT$::h822adcd108f0bcea((null)=0x00007fffffffa098) at mod.rs:179:1
    frame #12: 0x0000555555761230 msaa-line`_$LT$msaa_line..Example$u20$as$u20$msaa_line..framework..Example$GT$::render::hee42567f9bf70fa5(self=0x00007fffffffb2c0, frame=0x00007fffffffa6a0, device=0x00007fffffffb380, queue=0x00007fffffffb3a0, _spawner=0x00007fffffffb2a8) at main.rs:283:59
    frame #13: 0x000055555571510e msaa-line`msaa_line::framework::start::_$u7b$$u7b$closure$u7d$$u7d$::hcf2799c948f4e605(event=Event<()> @ 0x00007fffffffa7f0, (null)=0x0000555556ded360, control_flow=0x00007fffffffaa10) at framework.rs:288:17
    frame #14: 0x0000555555764354 msaa-line`winit::platform_impl::platform::sticky_exit_callback::hf3a3fab9ba009221(evt=Event<()> @ 0x00007fffffffad20, target=0x0000555556ded360, control_flow=0x00007fffffffaa10, callback=0x00007fffffffb210) at mod.rs:736:5
    frame #15: 0x000055555573d217 msaa-line`winit::platform_impl::platform::x11::EventLoop$LT$T$GT$::run_return::h98bbedd85afb2b7e(self=0x00007fffffffb700, callback=closure-0 @ 0x00007fffffffb210) at mod.rs:320:21
    frame #16: 0x000055555573e13b msaa-line`winit::platform_impl::platform::x11::EventLoop$LT$T$GT$::run::h9dd4e69e76d2b241(self=EventLoop<()> @ 0x00007fffffffb700, callback=<unavailable>) at mod.rs:398:9
    frame #17: 0x0000555555763ff8 msaa-line`winit::platform_impl::platform::EventLoop$LT$T$GT$::run::hfc241c9d673c8c93(self=EventLoop<()> @ 0x00007fffffffc070, callback=closure-0 @ 0x00007fffffffc2e0) at mod.rs:652:56
    frame #18: 0x000055555573c2b4 msaa-line`winit::event_loop::EventLoop$LT$T$GT$::run::h687d1d09b36e885e(self=EventLoop<()> @ 0x00007fffffffca58, event_handler=closure-0 @ 0x00007fffffffccc8) at event_loop.rs:154:9
    frame #19: 0x0000555555714510 msaa-line`msaa_line::framework::start::he8d7c9ecfa037025((null)=Setup @ 0x00007fffffffd668) at framework.rs:216:5
    frame #20: 0x000055555571527f msaa-line`msaa_line::framework::run::hefb861a134a82ee5(title="msaa-line") at framework.rs:336:5
    frame #21: 0x0000555555761445 msaa-line`msaa_line::main::h7068144f25f2217d at main.rs:291:5
    frame #22: 0x00005555557573cb msaa-line`core::ops::function::FnOnce::call_once::h0bfd6846101007e0((null)=(msaa-line`msaa_line::main::h7068144f25f2217d at main.rs:290), (null)=<unavailable>) at function.rs:227:5
    frame #23: 0x000055555573f5ae msaa-line`std::sys_common::backtrace::__rust_begin_short_backtrace::hf8f504af323eb14c(f=(msaa-line`msaa_line::main::h7068144f25f2217d at main.rs:290)) at backtrace.rs:125:18
    frame #24: 0x00005555557304c1 msaa-line`std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h4e5f4790dfc1bb7e at rt.rs:66:18
    frame #25: 0x00005555568639c7 msaa-line`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$F$GT$::call_once::h527fb2333ede305e at function.rs:259:13
    frame #26: 0x00005555568639c0 msaa-line`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panicking::try::do_call::h309d8aee8149866c at panicking.rs:379
    frame #27: 0x00005555568639c0 msaa-line`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panicking::try::h75a60c31fd16bfc6 at panicking.rs:343
    frame #28: 0x00005555568639c0 msaa-line`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panic::catch_unwind::h1f9892423e99bc00 at panic.rs:431
    frame #29: 0x00005555568639c0 msaa-line`std::rt::lang_start_internal::hd5b67df56ca01dae at rt.rs:51
    frame #30: 0x0000555555730497 msaa-line`std::rt::lang_start::h8ee573a70584f9ac(main=(msaa-line`msaa_line::main::h7068144f25f2217d at main.rs:290), argc=1, argv=0x00007fffffffdce8) at rt.rs:65:5
    frame #31: 0x000055555576147a msaa-line`main + 42
    frame #32: 0x00007ffff7c3a0b3 libc.so.6`__libc_start_main + 243
    frame #33: 0x00005555556fd0ce msaa-line`_start + 46

OpenGL backend

cargo run --example msaa-line            
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/examples/msaa-line`
Using Mesa Intel(R) UHD Graphics (CML GT2) (Gl)
[2021-04-15T20:13:53Z ERROR gfx_backend_gl] [API/Error] ID 2 : GL_INVALID_FRAMEBUFFER_OPERATION in glClearBufferfv(incomplete framebuffer)
thread 'main' panicked at 'Error InvalidFramebufferOperation executing command: ClearBufferColorF(0, [0.0, 0.0, 0.0, 1.0])', /home/byshnev/.cargo/git/checkouts/gfx-e86e7f3ebdbc4218/e98889f/src/backend/gl/src/queue.rs:1108:13
stack backtrace:
   0: rust_begin_unwind
             at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:493:5
   1: std::panicking::begin_panic_fmt
             at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:435:5
   2: gfx_backend_gl::queue::Queue::process
             at /home/byshnev/.cargo/git/checkouts/gfx-e86e7f3ebdbc4218/e98889f/src/backend/gl/src/queue.rs:1108:13
   3: <gfx_backend_gl::queue::Queue as gfx_hal::queue::Queue<gfx_backend_gl::Backend>>::submit
             at /home/byshnev/.cargo/git/checkouts/gfx-e86e7f3ebdbc4218/e98889f/src/backend/gl/src/queue.rs:1145:21
   4: wgpu_core::device::queue::<impl wgpu_core::hub::Global<G>>::queue_submit
             at /home/byshnev/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/6a6a9a4/wgpu-core/src/device/queue.rs:790:21
   5: <wgpu::backend::direct::Context as wgpu::Context>::queue_submit
             at ./src/backend/direct.rs:1868:15
   6: wgpu::Queue::submit
             at ./src/lib.rs:2858:9
   7: <msaa_line::Example as msaa_line::framework::Example>::render
             at ./examples/msaa-line/main.rs:286:9
   8: msaa_line::framework::start::{{closure}}
             at ./examples/msaa-line/../framework.rs:288:17
   9: winit::platform_impl::platform::sticky_exit_callback
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/mod.rs:736:5
  10: winit::platform_impl::platform::x11::EventLoop<T>::run_return
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/x11/mod.rs:320:21
  11: winit::platform_impl::platform::x11::EventLoop<T>::run
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/x11/mod.rs:398:9
  12: winit::platform_impl::platform::EventLoop<T>::run
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/mod.rs:652:56
  13: winit::event_loop::EventLoop<T>::run
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/event_loop.rs:154:9
  14: msaa_line::framework::start
             at ./examples/msaa-line/../framework.rs:216:5
  15: msaa_line::framework::run
             at ./examples/msaa-line/../framework.rs:336:5
  16: msaa_line::main
             at ./examples/msaa-line/main.rs:291:5
  17: core::ops::function::FnOnce::call_once
             at /home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Skybox Vulkan (using lldb)

rust-lldb target/debug/examples/skybox   
(lldb) command script import "/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_lookup.py"
(lldb) command source -s 0 '/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_commands'
Executing commands in '/home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/etc/lldb_commands'.
(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^&str$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^&\\[.+\\]$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust
(lldb) type summary add -F lldb_lookup.summary_lookup  -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust
(lldb) type category enable Rust
(lldb) target create "target/debug/examples/skybox"
Current executable set to '/home/byshnev/hobby/rust/repos/wgpu-rs/target/debug/examples/skybox' (x86_64).
(lldb) run
Process 35196 launched: '/home/byshnev/hobby/rust/repos/wgpu-rs/target/debug/examples/skybox' (x86_64)
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

Using Intel(R) UHD Graphics (CML GT2) (Vulkan)
[2021-04-15T20:14:59Z ERROR gfx_backend_vulkan] 
    VALIDATION [VUID-VkRenderPassBeginInfo-framebuffer-03209 (0x0)] : VkRenderPassBeginInfo: Image view #0 created from an image with flags set as 0x400, but image info #0 used to create the framebuffer had flags set as 0x0 The Vulkan spec states: If framebuffer was created with a VkFramebufferCreateInfo::flags value that included VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView of an image created with a value of VkImageCreateInfo::flags equal to the flags member of the corresponding element of VkFramebufferAttachmentsCreateInfoKHR::pAttachments used to create framebuffer (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkRenderPassBeginInfo-framebuffer-03209)
    object info: (type: RENDER_PASS, hndl: 0x710000000071)

Process 35196 stopped
* thread #1, name = 'skybox', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
    frame #0: 0x00007fffeef7619d libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so + 285
libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so:
->  0x7fffeef7619d <+285>: movq   (%rax,%r10,8), %r11
    0x7fffeef761a1 <+289>: movq   (%rax,%rdx,8), %r8
    0x7fffeef761a5 <+293>: cmpq   %r8, %r11
    0x7fffeef761a8 <+296>: je     0x7fffeef76580            ; <+1280>
(lldb) thread backtrace
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0
* thread #1, name = 'skybox', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
  * frame #0: 0x00007fffeef7619d libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7623$$libVkLayer_khronos_validation.so + 285
    frame #1: 0x00007fffeef77520 libVkLayer_khronos_validation.so`___lldb_unnamed_symbol7624$$libVkLayer_khronos_validation.so + 1168
    frame #2: 0x00007fffeee3fc7e libVkLayer_khronos_validation.so`___lldb_unnamed_symbol2147$$libVkLayer_khronos_validation.so + 158
    frame #3: 0x0000555556177f2d skybox`ash::vk::features::DeviceFnV1_0::cmd_begin_render_pass::hfbb0b773299b73f7(self=0x0000555557539248, command_buffer=CommandBuffer @ 0x00007ffffffe9f70, p_render_pass_begin=0x00007ffffffea620, contents=SubpassContents @ 0x00007ffffffe9f84) at features.rs:5830:9
    frame #4: 0x0000555555cb7fa9 skybox`ash::device::DeviceV1_0::cmd_begin_render_pass::hfe99496ae02c4739(self=0x0000555557539240, command_buffer=CommandBuffer @ 0x00007ffffffe9fc0, create_info=0x00007ffffffea620, contents=SubpassContents @ 0x00007ffffffe9fd4) at device.rs:1178:9
    frame #5: 0x0000555555c6fd34 skybox`_$LT$gfx_backend_vulkan..command..CommandBuffer$u20$as$u20$gfx_hal..command..CommandBuffer$LT$gfx_backend_vulkan..Backend$GT$$GT$::begin_render_pass::h683d81e90290e557(self=0x00007ffffffefc58, render_pass=0x0000555557573b68, framebuffer=0x0000555557546980, render_area=Rect @ 0x00007ffffffea108, attachments=Chain<core::iter::adapters::chain::Chain<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::zip::Zip<core::slice::iter::Iter<wgpu_core::command::render::RenderPassColorAttachment>, core::slice::iter::Iter<(gfx_hal::pass::Attachment, gfx_hal::image::Layout)>>, arrayvec::IntoIter<[&gfx_backend_vulkan::native::ImageView; 4]>>, closure-15>, core::iter::adapters::map::Map<arrayvec::IntoIter<[&gfx_backend_vulkan::native::ImageView; 4]>, closure-16>>, core::option::IntoIter<gfx_hal::command::RenderAttachmentInfo<gfx_backend_vulkan::Backend>>> @ 0x00007ffffffedce8, first_subpass=Inline) at command.rs:294:9
    frame #6: 0x0000555555a09c60 skybox`wgpu_core::command::render::RenderPassInfo$LT$B$GT$::start::h05b4b5cdcadd7794(raw=0x00007ffffffefc58, color_attachments=size=1, depth_stencil_attachment=Option<&wgpu_core::command::render::RenderPassDepthStencilAttachment> @ 0x00007ffffffeb108, cmd_buf=0x0000555557559a18, device=0x0000555557543988, view_guard=0x00005555570bb880) at render.rs:930:13
    frame #7: 0x0000555555b052ca skybox`wgpu_core::command::render::_$LT$impl$u20$wgpu_core..hub..Global$LT$G$GT$$GT$::command_encoder_run_render_pass_impl::haeb5bf594e6cb716(self=0x00005555570bb0f0, encoder_id=Id<wgpu_core::command::CommandBuffer<gfx_backend_empty::Backend>> @ 0x00007ffffffef530, base=BasePassRef<wgpu_core::command::draw::RenderCommand> @ 0x00007fffffff9640, color_attachments=size=1, depth_stencil_attachment=Option<&wgpu_core::command::render::RenderPassDepthStencilAttachment> @ 0x00007fffffff95f0) at render.rs:1058:28
    frame #8: 0x0000555555af92c3 skybox`wgpu_core::command::render::_$LT$impl$u20$wgpu_core..hub..Global$LT$G$GT$$GT$::command_encoder_run_render_pass::h434a0e2bd1bbcbea(self=0x00005555570bb0f0, encoder_id=Id<wgpu_core::command::CommandBuffer<gfx_backend_empty::Backend>> @ 0x00007fffffff9698, pass=0x00007fffffff9c18) at render.rs:1004:9
    frame #9: 0x0000555555c8afc2 skybox`_$LT$wgpu..backend..direct..Context$u20$as$u20$wgpu..Context$GT$::command_encoder_end_render_pass::h6f51e049dc1d037a(self=0x00005555570bb0f0, encoder=0x00007fffffff9b00, pass=0x00007fffffff9c18) at direct.rs:1746:13
    frame #10: 0x0000555555d2ae79 skybox`_$LT$wgpu..RenderPass$u20$as$u20$core..ops..drop..Drop$GT$::drop::hef0897b4328d97f2(self=0x00007fffffff9c18) at lib.rs:2558:13
    frame #11: 0x0000555555749056 skybox`core::ptr::drop_in_place$LT$wgpu..RenderPass$GT$::he0a00b05ec43ee40((null)=0x00007fffffff9c18) at mod.rs:179:1
    frame #12: 0x000055555579ebec skybox`_$LT$skybox..Skybox$u20$as$u20$skybox..framework..Example$GT$::render::h8f987ee8d7740508(self=0x00007fffffffafc0, frame=0x00007fffffffa3a0, device=0x00007fffffffb100, queue=0x00007fffffffb120, spawner=0x00007fffffffafa8) at main.rs:458:9
    frame #13: 0x00005555557a241e skybox`skybox::framework::start::_$u7b$$u7b$closure$u7d$$u7d$::h9942ce5d78608e30(event=Event<()> @ 0x00007fffffffa4f0, (null)=0x0000555557034360, control_flow=0x00007fffffffa710) at framework.rs:288:17
    frame #14: 0x0000555555799254 skybox`winit::platform_impl::platform::sticky_exit_callback::h8f7e69cf5f7e91d0(evt=Event<()> @ 0x00007fffffffaa20, target=0x0000555557034360, control_flow=0x00007fffffffa710, callback=0x00007fffffffaf10) at mod.rs:736:5
    frame #15: 0x0000555555741427 skybox`winit::platform_impl::platform::x11::EventLoop$LT$T$GT$::run_return::h129a9d0403edd604(self=0x00007fffffffb480, callback=closure-0 @ 0x00007fffffffaf10) at mod.rs:320:21
    frame #16: 0x000055555574234b skybox`winit::platform_impl::platform::x11::EventLoop$LT$T$GT$::run::ha809dc343323edaf(self=EventLoop<()> @ 0x00007fffffffb480, callback=<unavailable>) at mod.rs:398:9
    frame #17: 0x00005555557990c8 skybox`winit::platform_impl::platform::EventLoop$LT$T$GT$::run::ha9b3ec66936b708d(self=EventLoop<()> @ 0x00007fffffffbef0, callback=closure-0 @ 0x00007fffffffc160) at mod.rs:652:56
    frame #18: 0x000055555577a564 skybox`winit::event_loop::EventLoop$LT$T$GT$::run::h9f444ee02bbaafa3(self=EventLoop<()> @ 0x00007fffffffc9d8, event_handler=closure-0 @ 0x00007fffffffcc48) at event_loop.rs:154:9
    frame #19: 0x00005555557a1820 skybox`skybox::framework::start::hb8742c13354fc43d((null)=Setup @ 0x00007fffffffd668) at framework.rs:216:5
    frame #20: 0x00005555557a25cf skybox`skybox::framework::run::hae1cfea0c14ce734(title="skybox") at framework.rs:336:5
    frame #21: 0x000055555579ed95 skybox`skybox::main::he65d7dc5c3e0fc3a at main.rs:468:5
    frame #22: 0x000055555574672b skybox`core::ops::function::FnOnce::call_once::hc8629adf12bd20f6((null)=(skybox`skybox::main::he65d7dc5c3e0fc3a at main.rs:467), (null)=<unavailable>) at function.rs:227:5
    frame #23: 0x0000555555740aee skybox`std::sys_common::backtrace::__rust_begin_short_backtrace::h26ccce90e8489536(f=(skybox`skybox::main::he65d7dc5c3e0fc3a at main.rs:467)) at backtrace.rs:125:18
    frame #24: 0x000055555577dd71 skybox`std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hd539b417df40aad6 at rt.rs:66:18
    frame #25: 0x00005555569797e7 skybox`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] core::ops::function::impls::_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$F$GT$::call_once::h527fb2333ede305e at function.rs:259:13
    frame #26: 0x00005555569797e0 skybox`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panicking::try::do_call::h309d8aee8149866c at panicking.rs:379
    frame #27: 0x00005555569797e0 skybox`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panicking::try::h75a60c31fd16bfc6 at panicking.rs:343
    frame #28: 0x00005555569797e0 skybox`std::rt::lang_start_internal::hd5b67df56ca01dae [inlined] std::panic::catch_unwind::h1f9892423e99bc00 at panic.rs:431
    frame #29: 0x00005555569797e0 skybox`std::rt::lang_start_internal::hd5b67df56ca01dae at rt.rs:51
    frame #30: 0x000055555577dd47 skybox`std::rt::lang_start::h21cf8bf2831450cf(main=(skybox`skybox::main::he65d7dc5c3e0fc3a at main.rs:467), argc=1, argv=0x00007fffffffdce8) at rt.rs:65:5
    frame #31: 0x000055555579edca skybox`main + 42
    frame #32: 0x00007ffff7c3a0b3 libc.so.6`__libc_start_main + 243
    frame #33: 0x00005555557110ce skybox`_start + 46

OpenGL backend

cargo run --example skybox            
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/examples/skybox`
Using Mesa Intel(R) UHD Graphics (CML GT2) (Gl)
[2021-04-15T20:15:51Z ERROR gfx_backend_gl] [API/Error] ID 9 : GL_INVALID_OPERATION in glTexSubImage3D(format = GL_BGRA, type = GL_UNSIGNED_BYTE, internalformat = GL_SRGB8_ALPHA8)
thread 'main' panicked at 'Error InvalidOperation executing command: CopyBufferToTexture { src_buffer: 3, dst_texture: 1, texture_target: 35866, texture_format: 32993, pixel_type: 5121, data: BufferImageCopy { buffer_offset: 260560, buffer_width: 128, buffer_height: 128, image_layers: SubresourceLayers { aspects: COLOR, level: 0, layers: 0..1 }, image_offset: Offset { x: 0, y: 0, z: 0 }, image_extent: Extent { width: 128, height: 128, depth: 1 } } }', /home/byshnev/.cargo/git/checkouts/gfx-e86e7f3ebdbc4218/e98889f/src/backend/gl/src/queue.rs:1108:13
stack backtrace:
   0: rust_begin_unwind
             at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:493:5
   1: std::panicking::begin_panic_fmt
             at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:435:5
   2: gfx_backend_gl::queue::Queue::process
             at /home/byshnev/.cargo/git/checkouts/gfx-e86e7f3ebdbc4218/e98889f/src/backend/gl/src/queue.rs:1108:13
   3: <gfx_backend_gl::queue::Queue as gfx_hal::queue::Queue<gfx_backend_gl::Backend>>::submit
             at /home/byshnev/.cargo/git/checkouts/gfx-e86e7f3ebdbc4218/e98889f/src/backend/gl/src/queue.rs:1145:21
   4: wgpu_core::device::queue::<impl wgpu_core::hub::Global<G>>::queue_submit
             at /home/byshnev/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/6a6a9a4/wgpu-core/src/device/queue.rs:790:21
   5: <wgpu::backend::direct::Context as wgpu::Context>::queue_submit
             at ./src/backend/direct.rs:1868:15
   6: wgpu::Queue::submit
             at ./src/lib.rs:2858:9
   7: <skybox::Skybox as skybox::framework::Example>::render
             at ./examples/skybox/main.rs:460:9
   8: skybox::framework::start::{{closure}}
             at ./examples/skybox/../framework.rs:288:17
   9: winit::platform_impl::platform::sticky_exit_callback
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/mod.rs:736:5
  10: winit::platform_impl::platform::x11::EventLoop<T>::run_return
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/x11/mod.rs:320:21
  11: winit::platform_impl::platform::x11::EventLoop<T>::run
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/x11/mod.rs:398:9
  12: winit::platform_impl::platform::EventLoop<T>::run
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/platform_impl/linux/mod.rs:652:56
  13: winit::event_loop::EventLoop<T>::run
             at /home/byshnev/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.24.0/src/event_loop.rs:154:9
  14: skybox::framework::start
             at ./examples/skybox/../framework.rs:216:5
  15: skybox::framework::run
             at ./examples/skybox/../framework.rs:336:5
  16: skybox::main
             at ./examples/skybox/main.rs:468:5
  17: core::ops::function::FnOnce::call_once
             at /home/byshnev/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Please tell if you need more info. Thanks!

kvark commented 3 years ago

@mabysh thank you for filing! The crashes are not in wgpu-rs, they are in Vulkan validation layers. Please update your validation layers, or run in release (to avoid enabling them), and see how it goes.

mabysh commented 3 years ago

@kvark I already have installed latest vulkan-validationlayers package from Ubuntu repositories. Are there any other ways for updating vulkan layers? Running examples in release mode helped for Vulkan backend indeed. But OpegGL is broken: Screenshot from 2021-04-16 10-31-12 Screenshot from 2021-04-16 10-31-23

I don't remember if OpenGL backend worked for me in 0.6 releases, but Vulkan definitely worked in both debug and release modes on the same machine. Can anything be done to make it work in debug? Release not always suitable for developing.. Thanks!

cwfitzgerald commented 3 years ago

@mabysh take a look at https://vulkan.lunarg.com/sdk/home#linux to get the latest SDK with the most recent validation layers. They have their own ubuntu packages.

mabysh commented 3 years ago

@cwfitzgerald @kvark It's working now! Many thanks you guys for help, closing the issue.

kvark commented 3 years ago

OpenGL backend needs work, it's known to be very rough atm.