Iced: Canvas examples on MacOS don't work

Created on 13 May 2020  Β·  21Comments  Β·  Source: hecrj/iced

0.1.1 seems to have broken the Canvas widget on Mac OS. When trying to run the clock, solar_system, bezier_tool examples on MacOS 10.14.6 get a blank, white, screen where I believe the Canvas is supposed to be. Running game_of_life presents a gray screen, and all the surrounding menu components but does not show any of the white "cell" pieces.

Manually switching to the 0.1 branch and testing the ones that exist there seems to work fine.

bug

All 21 comments

Realizing it’s possible I confused which code was which release/under development.
Is the current code in branch 0.1 the 0.1.1 release?
In that case, this is only a bug in the unreleased code on master, which can be expected-though still worth noting.

I can't seem to reproduce the issue on macOS 10.15.3. The examples work as intended, even after a cargo update.

Is the current code in branch 0.1 the 0.1.1 release?

Yes, that's correct.

In that case, this is only a bug in the unreleased code on master

We upgraded wgpu in master (see #269), which I believe could be the cause of the issue. Unfortunately, it's going to be hard for me to debug it without being able to reproduce it.

Do all the wgpu examples work for you?

Yes they do seem to work I tested the wrong thing, standby...It still does in fact work (those examples in the 0.5 branch of wpgu)

Do the iced examples work at b44f14e?

No, they fail in the same way.

Okay I did some searching, 99e020c seems to break it

That does it! With antialiasing off the clock works.

Ok! Does the msaa-line example work for you? You can press left and right to change the MSAA factor.

Ahhh nope. It loads and I get a panic when I press left or right. Don't think I realized there was more to it than just getting the image to show up when I tested above.

Here's a backtrace:

thread 'main' panicked at 'Attachment sample_count must be supported by physical device limits', <::std::macros::panic macros>:2:4 stack backtrace: 0: std::io::Write::write_fmt 1: core::ptr::drop_in_place 2: std::io::Write::write_fmt 3: std::panicking::default_hook::{{closure}} 4: std::panicking::default_hook 5: <std::panicking::begin_panic::PanicPayload<A> as core::panic::BoxMeUp>::get 6: std::panicking::begin_panic at /private/tmp/rust-20200509-87658-187po7x/rustc-1.43.1-src/src/libstd/panicking.rs:397 7: wgpu_core::command::render::<impl wgpu_core::hub::Global<G>>::command_encoder_run_render_pass at ./<::std::macros::panic macros>:2 8: wgpu::backend::direct::<impl wgpu::Context for wgpu_core::hub::Global<wgpu_core::hub::IdentityManagerFactory>>::encoder_end_render_pass at src/backend/direct.rs:870 9: <wgpu::RenderPass as core::ops::drop::Drop>::drop at src/lib.rs:1534 10: core::ptr::drop_in_place at /private/tmp/rust-20200509-87658-187po7x/rustc-1.43.1-src/src/libcore/ptr/mod.rs:177 11: <msaa_line::Example as msaa_line::framework::Example>::render at examples/msaa-line/main.rs:265 12: msaa_line::framework::run_async::{{closure}}::{{closure}} at examples/msaa-line/../framework.rs:147 13: <alloc::boxed::Box<F> as core::ops::function::FnMut<A>>::call_mut at /private/tmp/rust-20200509-87658-187po7x/rustc-1.43.1-src/src/liballoc/boxed.rs:1024 14: <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.22.1/src/platform_impl/macos/app_state.rs:71 15: winit::platform_impl::platform::app_state::Handler::handle_nonuser_event at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.22.1/src/platform_impl/macos/app_state.rs:172 16: winit::platform_impl::platform::app_state::AppState::cleared at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.22.1/src/platform_impl/macos/app_state.rs:330 17: winit::platform_impl::platform::observer::control_flow_end_handler at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.22.1/src/platform_impl/macos/observer.rs:135 18: <unknown> 19: <unknown> 20: <unknown> 21: <unknown> 22: <unknown> 23: <unknown> 24: <unknown> 25: <unknown> 26: <unknown> 27: <unknown> 28: <() as objc::message::MessageArguments>::invoke at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/message/mod.rs:128 29: objc::message::platform::send_unverified at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/message/apple/mod.rs:27 30: objc::message::send_message at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/objc-0.2.7/src/message/mod.rs:178 31: winit::platform_impl::platform::event_loop::EventLoop<T>::run_return at ./<::objc::macros::msg_send macros>:15 32: winit::platform_impl::platform::event_loop::EventLoop<T>::run at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.22.1/src/platform_impl/macos/event_loop.rs:89 33: winit::event_loop::EventLoop<T>::run at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.22.1/src/event_loop.rs:149 34: msaa_line::framework::run_async::{{closure}} at examples/msaa-line/../framework.rs:104 35: <std::future::GenFuture<T> as core::future::future::Future>::poll at /private/tmp/rust-20200509-87658-187po7x/rustc-1.43.1-src/src/libstd/future.rs:44 36: futures_executor::local_pool::block_on::{{closure}} at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-executor-0.3.5/src/local_pool.rs:317 37: futures_executor::local_pool::run_executor::{{closure}} at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-executor-0.3.5/src/local_pool.rs:87 38: std::thread::local::LocalKey<T>::try_with at /private/tmp/rust-20200509-87658-187po7x/rustc-1.43.1-src/src/libstd/thread/local.rs:262 39: std::thread::local::LocalKey<T>::with at /private/tmp/rust-20200509-87658-187po7x/rustc-1.43.1-src/src/libstd/thread/local.rs:239 40: futures_executor::local_pool::run_executor at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-executor-0.3.5/src/local_pool.rs:83 41: futures_executor::local_pool::block_on at /Users/tzvi/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-executor-0.3.5/src/local_pool.rs:317 42: msaa_line::framework::run at examples/msaa-line/../framework.rs:169 43: msaa_line::main at examples/msaa-line/main.rs:272 44: std::rt::lang_start::{{closure}} at /private/tmp/rust-20200509-87658-187po7x/rustc-1.43.1-src/src/libstd/rt.rs:67 45: std::panicking::try::do_call 46: std::sys_common::thread_info::THREAD_INFO::__getit 47: std::sys_common::util::report_overflow 48: std::rt::lang_start at /private/tmp/rust-20200509-87658-187po7x/rustc-1.43.1-src/src/libstd/rt.rs:67 49: msaa_line::main note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Seems to be the related to this issue: https://github.com/gfx-rs/wgpu-rs/issues/91

The msaa-line example starts with a sample_count of 4, which is the same amount we are using in iced_wgpu when antialiasing is enabled.

If it works for you until you press left or right, then iced should work too.

Hmm yeah I see msaa-line starts at 4, but then whether I go to 2 or 8 it panics.
```Press left/right arrow keys to change sample_count.

sample_count: 4

sample_count: 8

thread 'main' panicked at 'Attachment sample_count must be supported by physical device limits', <::std::macros::panic macros>:2:4
```

Yes, that's more or less expected.

When you run game_of_life, do you see the background of the buttons?

image

I do not.
Screen Shot 2020-05-13 at 3 01 16 AM

(and for the record, turning off antialiasing here also solves the problem)

I do not.

You do, the buttons are there.

This is probably a bug in the blit msaa pipeline.

I double checked the shaders and the logic, and I am not sure what could exactly be causing it. I can't reproduce it. It works on my MacBook and my desktop with Linux and Windows.

Oh I thought you were referring to the little white squares.

Today is pretty much the first time I've looked at Rust, and the first time I've looked at this (awesome looking) library, so its likely this is either very wrong, or obvious: but I dug around a bit more to at least try to find _where_, and it seems like maybe it's related to the way these lines work? https://github.com/hecrj/iced/blob/d807ef367e0257ba54f8cf38708a7a61e28a4acb/wgpu/src/triangle.rs#L290-L358

When antialiasing is on, self.blit is not None so attachment and Some(resolve_target) are given to begin_render_pass, whereas things work if instead target and None are passed, as if antialiasing was off and self.blit==None

Yes, that is expected.

When MSAA is enabled, in order to not overwrite the contents of the next frame, we need to resolve to a texture and blit it. I believe the blit part of the process somehow doesn't work in your system.

FWIW, I have had similar reports with macOS 10.14.16 causing black screen in pixels, but I have been unable to track down the cause:

I'm still getting the issues with the canvas when compiling from master (038f75e) when antialiasing is turned on. I confirmed that turning off shows the grid and other stuff.

Also on OSX 10.14.6.


See screenshot of game of life example

Screen Shot 2020-06-24 at 10 30 31 PM


See cargo tree -p game_of_life output

game_of_life v0.1.0 (/Users/dev/Projects/xia/modules/iced/examples/game_of_life)
β”œβ”€β”€ iced v0.1.1 (/Users/dev/Projects/xia/modules/iced)
β”‚   β”œβ”€β”€ iced_core v0.2.1 (/Users/dev/Projects/xia/modules/iced/core)
β”‚   β”œβ”€β”€ iced_futures v0.1.2 (/Users/dev/Projects/xia/modules/iced/futures)
β”‚   β”‚   β”œβ”€β”€ futures v0.3.5
β”‚   β”‚   β”‚   β”œβ”€β”€ futures-channel v0.3.5
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-core v0.3.5
β”‚   β”‚   β”‚   β”‚   └── futures-sink v0.3.5
β”‚   β”‚   β”‚   β”œβ”€β”€ futures-core v0.3.5
β”‚   β”‚   β”‚   β”œβ”€β”€ futures-executor v0.3.5
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-core v0.3.5
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-task v0.3.5
β”‚   β”‚   β”‚   β”‚   β”‚   └── once_cell v1.4.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-util v0.3.5
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-channel v0.3.5 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-core v0.3.5
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-io v0.3.5
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-macro v0.3.5
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ proc-macro-hack v0.5.16
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ proc-macro2 v1.0.18
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── unicode-xid v0.2.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ quote v1.0.7
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── proc-macro2 v1.0.18 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── syn v1.0.31
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ proc-macro2 v1.0.18 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ quote v1.0.7 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       └── unicode-xid v0.2.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-sink v0.3.5
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ futures-task v0.3.5 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ memchr v2.3.3
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ pin-project v0.4.22
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── pin-project-internal v0.4.22
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ proc-macro2 v1.0.18 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ quote v1.0.7 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       └── syn v1.0.31 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ pin-utils v0.1.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ proc-macro-hack v0.5.16
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ proc-macro-nested v0.1.6
β”‚   β”‚   β”‚   β”‚   β”‚   └── slab v0.4.2
β”‚   β”‚   β”‚   β”‚   └── num_cpus v1.13.0
β”‚   β”‚   β”‚   β”‚       └── libc v0.2.71
β”‚   β”‚   β”‚   β”œβ”€β”€ futures-io v0.3.5
β”‚   β”‚   β”‚   β”œβ”€β”€ futures-sink v0.3.5
β”‚   β”‚   β”‚   β”œβ”€β”€ futures-task v0.3.5 (*)
β”‚   β”‚   β”‚   └── futures-util v0.3.5 (*)
β”‚   β”‚   β”œβ”€β”€ log v0.4.8
β”‚   β”‚   β”‚   └── cfg-if v0.1.10
β”‚   β”‚   └── tokio v0.2.21
β”‚   β”‚       β”œβ”€β”€ bytes v0.5.5
β”‚   β”‚       β”œβ”€β”€ futures-core v0.3.5
β”‚   β”‚       β”œβ”€β”€ num_cpus v1.13.0 (*)
β”‚   β”‚       β”œβ”€β”€ pin-project-lite v0.1.7
β”‚   β”‚       └── slab v0.4.2
β”‚   β”œβ”€β”€ iced_wgpu v0.2.2 (/Users/dev/Projects/xia/modules/iced/wgpu)
β”‚   β”‚   β”œβ”€β”€ bytemuck v1.2.0
β”‚   β”‚   β”œβ”€β”€ gfx-memory v0.1.1
β”‚   β”‚   β”‚   β”œβ”€β”€ fxhash v0.2.1
β”‚   β”‚   β”‚   β”‚   └── byteorder v1.3.4
β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-hal v0.5.2
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ bitflags v1.2.1
β”‚   β”‚   β”‚   β”‚   └── raw-window-handle v0.3.3
β”‚   β”‚   β”‚   β”‚       └── libc v0.2.71
β”‚   β”‚   β”‚   β”œβ”€β”€ hibitset v0.6.3
β”‚   β”‚   β”‚   β”‚   └── atom v0.3.5
β”‚   β”‚   β”‚   β”œβ”€β”€ log v0.4.8 (*)
β”‚   β”‚   β”‚   └── slab v0.4.2
β”‚   β”‚   β”œβ”€β”€ glam v0.8.7
β”‚   β”‚   β”œβ”€β”€ glyph_brush v0.7.0
β”‚   β”‚   β”‚   β”œβ”€β”€ glyph_brush_draw_cache v0.1.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ab_glyph v0.2.2
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ab_glyph_rasterizer v0.1.2
β”‚   β”‚   β”‚   β”‚   β”‚   └── owned_ttf_parser v0.6.0
β”‚   β”‚   β”‚   β”‚   β”‚       └── ttf-parser v0.6.1
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ crossbeam-channel v0.4.2
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ crossbeam-utils v0.7.2
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ cfg-if v0.1.10
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── lazy_static v1.4.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   [build-dependencies]
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── autocfg v1.0.0
β”‚   β”‚   β”‚   β”‚   β”‚   └── maybe-uninit v2.0.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ crossbeam-deque v0.7.3
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ crossbeam-epoch v0.8.2
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ cfg-if v0.1.10
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ crossbeam-utils v0.7.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ lazy_static v1.4.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ maybe-uninit v2.0.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ memoffset v0.5.4
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   [build-dependencies]
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── autocfg v1.0.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── scopeguard v1.1.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   [build-dependencies]
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── autocfg v1.0.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ crossbeam-utils v0.7.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   └── maybe-uninit v2.0.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ linked-hash-map v0.5.3
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ rayon v1.3.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ crossbeam-deque v0.7.3 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ either v1.5.3
β”‚   β”‚   β”‚   β”‚   β”‚   └── rayon-core v1.7.1
β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ crossbeam-deque v0.7.3 (*)
β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ crossbeam-queue v0.2.3
β”‚   β”‚   β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ cfg-if v0.1.10
β”‚   β”‚   β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ crossbeam-utils v0.7.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚       β”‚   └── maybe-uninit v2.0.0
β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ crossbeam-utils v0.7.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ lazy_static v1.4.0
β”‚   β”‚   β”‚   β”‚   β”‚       └── num_cpus v1.13.0 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   [build-dependencies]
β”‚   β”‚   β”‚   β”‚   β”‚   └── autocfg v1.0.0
β”‚   β”‚   β”‚   β”‚   └── rustc-hash v1.1.0
β”‚   β”‚   β”‚   β”œβ”€β”€ glyph_brush_layout v0.2.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ab_glyph v0.2.2 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ approx v0.3.2
β”‚   β”‚   β”‚   β”‚   β”‚   └── num-traits v0.2.12
β”‚   β”‚   β”‚   β”‚   β”‚       [build-dependencies]
β”‚   β”‚   β”‚   β”‚   β”‚       └── autocfg v1.0.0
β”‚   β”‚   β”‚   β”‚   └── xi-unicode v0.2.1
β”‚   β”‚   β”‚   β”œβ”€β”€ log v0.4.8 (*)
β”‚   β”‚   β”‚   β”œβ”€β”€ ordered-float v1.0.2
β”‚   β”‚   β”‚   β”‚   └── num-traits v0.2.12 (*)
β”‚   β”‚   β”‚   β”œβ”€β”€ rustc-hash v1.1.0
β”‚   β”‚   β”‚   └── twox-hash v1.5.0
β”‚   β”‚   β”‚       └── rand v0.7.3
β”‚   β”‚   β”‚           β”œβ”€β”€ getrandom v0.1.14
β”‚   β”‚   β”‚           β”‚   β”œβ”€β”€ cfg-if v0.1.10
β”‚   β”‚   β”‚           β”‚   └── libc v0.2.71
β”‚   β”‚   β”‚           β”œβ”€β”€ libc v0.2.71
β”‚   β”‚   β”‚           β”œβ”€β”€ rand_chacha v0.2.2
β”‚   β”‚   β”‚           β”‚   β”œβ”€β”€ ppv-lite86 v0.2.8
β”‚   β”‚   β”‚           β”‚   └── rand_core v0.5.1
β”‚   β”‚   β”‚           β”‚       └── getrandom v0.1.14 (*)
β”‚   β”‚   β”‚           └── rand_core v0.5.1 (*)
β”‚   β”‚   β”œβ”€β”€ guillotiere v0.5.2
β”‚   β”‚   β”‚   β”œβ”€β”€ euclid v0.20.13
β”‚   β”‚   β”‚   β”‚   └── num-traits v0.2.12 (*)
β”‚   β”‚   β”‚   └── svg_fmt v0.4.1
β”‚   β”‚   β”œβ”€β”€ iced_graphics v0.1.0 (/Users/dev/Projects/xia/modules/iced/graphics)
β”‚   β”‚   β”‚   β”œβ”€β”€ bytemuck v1.2.0
β”‚   β”‚   β”‚   β”œβ”€β”€ font-kit v0.6.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ bitflags v1.2.1
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ byteorder v1.3.4
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-foundation v0.7.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-foundation-sys v0.7.0
β”‚   β”‚   β”‚   β”‚   β”‚   └── libc v0.2.71
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-graphics v0.19.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ bitflags v1.2.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-foundation v0.7.0 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ foreign-types v0.3.2
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── foreign-types-shared v0.1.1
β”‚   β”‚   β”‚   β”‚   β”‚   └── libc v0.2.71
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-text v15.0.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-foundation v0.7.0 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-graphics v0.19.0 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ foreign-types v0.3.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   └── libc v0.2.71
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ dirs v2.0.2
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ cfg-if v0.1.10
β”‚   β”‚   β”‚   β”‚   β”‚   └── dirs-sys v0.3.5
β”‚   β”‚   β”‚   β”‚   β”‚       └── libc v0.2.71
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ float-ord v0.2.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ lazy_static v1.4.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ libc v0.2.71
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ log v0.4.8 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ pathfinder_geometry v0.5.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ log v0.4.8 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   └── pathfinder_simd v0.5.0
β”‚   β”‚   β”‚   β”‚   β”‚       [build-dependencies]
β”‚   β”‚   β”‚   β”‚   β”‚       └── rustc_version v0.2.3
β”‚   β”‚   β”‚   β”‚   β”‚           └── semver v0.9.0
β”‚   β”‚   β”‚   β”‚   β”‚               └── semver-parser v0.7.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ pathfinder_simd v0.5.0 (*)
β”‚   β”‚   β”‚   β”‚   └── walkdir v2.3.1
β”‚   β”‚   β”‚   β”‚       └── same-file v1.0.6
β”‚   β”‚   β”‚   β”œβ”€β”€ glam v0.8.7
β”‚   β”‚   β”‚   β”œβ”€β”€ iced_native v0.2.2 (/Users/dev/Projects/xia/modules/iced/native)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ iced_core v0.2.1 (/Users/dev/Projects/xia/modules/iced/core)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ iced_futures v0.1.2 (/Users/dev/Projects/xia/modules/iced/futures) (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ num-traits v0.2.12 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ twox-hash v1.5.0 (*)
β”‚   β”‚   β”‚   β”‚   └── unicode-segmentation v1.6.0
β”‚   β”‚   β”‚   β”œβ”€β”€ iced_style v0.1.0 (/Users/dev/Projects/xia/modules/iced/style)
β”‚   β”‚   β”‚   β”‚   └── iced_core v0.2.1 (/Users/dev/Projects/xia/modules/iced/core)
β”‚   β”‚   β”‚   β”œβ”€β”€ lyon v0.15.8
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ lyon_algorithms v0.15.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ lyon_path v0.15.2
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── lyon_geom v0.15.3
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ arrayvec v0.5.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ euclid v0.20.13 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       └── num-traits v0.2.12 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   └── sid v0.6.1
β”‚   β”‚   β”‚   β”‚   β”‚       └── num-traits v0.2.12 (*)
β”‚   β”‚   β”‚   β”‚   └── lyon_tessellation v0.15.8
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ arrayvec v0.5.1
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ lyon_path v0.15.2 (*)
β”‚   β”‚   β”‚   β”‚       └── sid v0.6.1 (*)
β”‚   β”‚   β”‚   └── raw-window-handle v0.3.3 (*)
β”‚   β”‚   β”œβ”€β”€ iced_native v0.2.2 (/Users/dev/Projects/xia/modules/iced/native) (*)
β”‚   β”‚   β”œβ”€β”€ log v0.4.8 (*)
β”‚   β”‚   β”œβ”€β”€ raw-window-handle v0.3.3 (*)
β”‚   β”‚   β”œβ”€β”€ wgpu v0.5.0
β”‚   β”‚   β”‚   β”œβ”€β”€ arrayvec v0.5.1
β”‚   β”‚   β”‚   β”œβ”€β”€ parking_lot v0.10.2
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ lock_api v0.3.4
β”‚   β”‚   β”‚   β”‚   β”‚   └── scopeguard v1.1.0
β”‚   β”‚   β”‚   β”‚   └── parking_lot_core v0.7.2
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ cfg-if v0.1.10
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ libc v0.2.71
β”‚   β”‚   β”‚   β”‚       └── smallvec v1.4.0
β”‚   β”‚   β”‚   β”œβ”€β”€ raw-window-handle v0.3.3 (*)
β”‚   β”‚   β”‚   β”œβ”€β”€ smallvec v1.4.0
β”‚   β”‚   β”‚   β”œβ”€β”€ wgpu-core v0.5.5
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ arrayvec v0.5.1
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ bitflags v1.2.1
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ copyless v0.1.5
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ fxhash v0.2.1 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-backend-empty v0.5.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-hal v0.5.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   └── raw-window-handle v0.3.3 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-backend-metal v0.5.4
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ arrayvec v0.5.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ bitflags v1.2.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ block v0.1.6
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ cocoa v0.20.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ bitflags v1.2.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ block v0.1.6
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-foundation v0.7.0 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-graphics v0.19.0 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ foreign-types v0.3.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ libc v0.2.71
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── objc v0.2.7
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ malloc_buf v0.0.6
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       β”‚   └── libc v0.2.71
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       └── objc_exception v0.1.2
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚           [build-dependencies]
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚           └── cc v1.0.54
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ copyless v0.1.5
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-graphics v0.19.0 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ foreign-types v0.3.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-auxil v0.4.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ fxhash v0.2.1 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-hal v0.5.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── spirv_cross v0.20.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       [build-dependencies]
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚       └── cc v1.0.54
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-hal v0.5.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ lazy_static v1.4.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ log v0.4.8 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ metal v0.18.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ bitflags v1.2.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ block v0.1.6
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ cocoa v0.20.1 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ core-graphics v0.19.0 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ foreign-types v0.3.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ log v0.4.8 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”‚   └── objc v0.2.7 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ objc v0.2.7 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ parking_lot v0.10.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ range-alloc v0.1.1
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ raw-window-handle v0.3.3 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ smallvec v1.4.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ spirv_cross v0.20.0 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   └── storage-map v0.2.0
β”‚   β”‚   β”‚   β”‚   β”‚       └── lock_api v0.3.4 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-descriptor v0.1.0
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ fxhash v0.2.1 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-hal v0.5.2 (*)
β”‚   β”‚   β”‚   β”‚   β”‚   └── log v0.4.8 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-hal v0.5.2 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ gfx-memory v0.1.1 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ log v0.4.8 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ parking_lot v0.10.2 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ peek-poke v0.2.0
β”‚   β”‚   β”‚   β”‚   β”‚   └── peek-poke-derive v0.2.1
β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ proc-macro2 v1.0.18 (*)
β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ quote v1.0.7 (*)
β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ syn v1.0.31 (*)
β”‚   β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ synstructure v0.12.4
β”‚   β”‚   β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ proc-macro2 v1.0.18 (*)
β”‚   β”‚   β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ quote v1.0.7 (*)
β”‚   β”‚   β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ syn v1.0.31 (*)
β”‚   β”‚   β”‚   β”‚   β”‚       β”‚   └── unicode-xid v0.2.0
β”‚   β”‚   β”‚   β”‚   β”‚       └── unicode-xid v0.2.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ smallvec v1.4.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ vec_map v0.8.2
β”‚   β”‚   β”‚   β”‚   └── wgpu-types v0.5.1
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ bitflags v1.2.1
β”‚   β”‚   β”‚   β”‚       └── peek-poke v0.2.0 (*)
β”‚   β”‚   β”‚   β”œβ”€β”€ wgpu-native v0.5.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ arrayvec v0.5.1
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ lazy_static v1.4.0
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ libc v0.2.71
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ objc v0.2.7 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ parking_lot v0.10.2 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ raw-window-handle v0.3.3 (*)
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ wgpu-core v0.5.5 (*)
β”‚   β”‚   β”‚   β”‚   └── wgpu-types v0.5.1 (*)
β”‚   β”‚   β”‚   └── wgpu-types v0.5.1 (*)
β”‚   β”‚   β”œβ”€β”€ wgpu_glyph v0.9.0
β”‚   β”‚   β”‚   β”œβ”€β”€ glyph_brush v0.7.0 (*)
β”‚   β”‚   β”‚   β”œβ”€β”€ log v0.4.8 (*)
β”‚   β”‚   β”‚   β”œβ”€β”€ wgpu v0.5.0 (*)
β”‚   β”‚   β”‚   └── zerocopy v0.3.0
β”‚   β”‚   β”‚       β”œβ”€β”€ byteorder v1.3.4
β”‚   β”‚   β”‚       └── zerocopy-derive v0.2.0
β”‚   β”‚   β”‚           β”œβ”€β”€ proc-macro2 v1.0.18 (*)
β”‚   β”‚   β”‚           β”œβ”€β”€ syn v1.0.31 (*)
β”‚   β”‚   β”‚           └── synstructure v0.12.4 (*)
β”‚   β”‚   └── zerocopy v0.3.0 (*)
β”‚   └── iced_winit v0.1.1 (/Users/dev/Projects/xia/modules/iced/winit)
β”‚       β”œβ”€β”€ iced_graphics v0.1.0 (/Users/dev/Projects/xia/modules/iced/graphics) (*)
β”‚       β”œβ”€β”€ iced_native v0.2.2 (/Users/dev/Projects/xia/modules/iced/native) (*)
β”‚       β”œβ”€β”€ log v0.4.8 (*)
β”‚       β”œβ”€β”€ window_clipboard v0.1.1
β”‚       β”‚   β”œβ”€β”€ clipboard_macos v0.1.0
β”‚       β”‚   β”‚   β”œβ”€β”€ objc v0.2.7 (*)
β”‚       β”‚   β”‚   β”œβ”€β”€ objc-foundation v0.1.1
β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ block v0.1.6
β”‚       β”‚   β”‚   β”‚   β”œβ”€β”€ objc v0.2.7 (*)
β”‚       β”‚   β”‚   β”‚   └── objc_id v0.1.1
β”‚       β”‚   β”‚   β”‚       └── objc v0.2.7 (*)
β”‚       β”‚   β”‚   └── objc_id v0.1.1 (*)
β”‚       β”‚   └── raw-window-handle v0.3.3 (*)
β”‚       └── winit v0.22.2
β”‚           β”œβ”€β”€ bitflags v1.2.1
β”‚           β”œβ”€β”€ cocoa v0.20.1 (*)
β”‚           β”œβ”€β”€ core-foundation v0.7.0 (*)
β”‚           β”œβ”€β”€ core-graphics v0.19.0 (*)
β”‚           β”œβ”€β”€ core-video-sys v0.1.4
β”‚           β”‚   β”œβ”€β”€ cfg-if v0.1.10
β”‚           β”‚   β”œβ”€β”€ core-foundation-sys v0.7.0
β”‚           β”‚   β”œβ”€β”€ core-graphics v0.19.0 (*)
β”‚           β”‚   β”œβ”€β”€ libc v0.2.71
β”‚           β”‚   └── objc v0.2.7 (*)
β”‚           β”œβ”€β”€ dispatch v0.2.0
β”‚           β”œβ”€β”€ instant v0.1.4
β”‚           β”œβ”€β”€ lazy_static v1.4.0
β”‚           β”œβ”€β”€ libc v0.2.71
β”‚           β”œβ”€β”€ log v0.4.8 (*)
β”‚           β”œβ”€β”€ objc v0.2.7 (*)
β”‚           └── raw-window-handle v0.3.3 (*)
β”œβ”€β”€ itertools v0.9.0
β”‚   └── either v1.5.3
β”œβ”€β”€ rustc-hash v1.1.0
└── tokio v0.2.21 (*)

Posting here because this seems like the same issue I'm having, but mine's even worse somehow.

When antialiasing is true, the clock and solar_system examples crash with this on the console:

-[MTLIOAccelRenderCommandEncoder bindEmulationArguments]:139: failed assertion `No render pipeline state bound'
Abort trap: 6

the OS crash log shows this backtrace: https://gist.github.com/JarrettBillingsley/7f67fbb15f62fe3dda087283aedb1e7b

Setting antialiasing to false avoids the crash.

I'm on a 2015 Macbook Air running mac OS 10.15.5 with intel HD graphics 6000.

@JarrettBillingsley It doesn't seem like the same issue.

  • Do the examples in wgpu-rs work for you? Specially the msaa-line one.
  • If you enable the glow and glow_canvas features, does the problem still occur?

(responded on Zulip)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

casperstorm picture casperstorm  Β·  3Comments

jiminycrick picture jiminycrick  Β·  3Comments

rowungiles picture rowungiles  Β·  4Comments

aentity picture aentity  Β·  3Comments

hecrj picture hecrj  Β·  3Comments