Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Canvas examples on MacOS don't work #342

Closed
andrewmh20 opened this issue May 13, 2020 · 21 comments · Fixed by #354
Closed

Canvas examples on MacOS don't work #342

andrewmh20 opened this issue May 13, 2020 · 21 comments · Fixed by #354
Labels
bug Something isn't working
Milestone

Comments

@andrewmh20
Copy link

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.

@andrewmh20
Copy link
Author

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.

@hecrj
Copy link
Member

hecrj commented May 13, 2020

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.

@hecrj hecrj added the bug Something isn't working label May 13, 2020
@hecrj hecrj added this to the 0.2.0 milestone May 13, 2020
@andrewmh20
Copy link
Author

andrewmh20 commented May 13, 2020

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.

@andrewmh20
Copy link
Author

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

@hecrj
Copy link
Member

hecrj commented May 13, 2020

What happens if you disable antialiasing?

https://github.com/hecrj/iced/blob/7565d294afd668cc95d85f15662d0704962c9614/examples/clock/src/main.rs#L9

@andrewmh20
Copy link
Author

That does it! With antialiasing off the clock works.

@hecrj
Copy link
Member

hecrj commented May 13, 2020

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

@andrewmh20
Copy link
Author

andrewmh20 commented May 13, 2020

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:

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.

@andrewmh20
Copy link
Author

andrewmh20 commented May 13, 2020

Seems to be the related to this issue: gfx-rs/wgpu-rs#91

@hecrj
Copy link
Member

hecrj commented May 13, 2020

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.

@andrewmh20
Copy link
Author

andrewmh20 commented May 13, 2020

Hmm yeah I see msaa-line starts at 4, but then whether I go to 2 or 8 it panics.


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

@hecrj
Copy link
Member

hecrj commented May 13, 2020

Yes, that's more or less expected.

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

image

@andrewmh20
Copy link
Author

andrewmh20 commented May 13, 2020

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)

@hecrj
Copy link
Member

hecrj commented May 13, 2020

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.

@andrewmh20
Copy link
Author

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

@hecrj
Copy link
Member

hecrj commented May 14, 2020

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.

@parasyte
Copy link

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:

@declanvk
Copy link

declanvk commented Jun 25, 2020

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 (*)

@JarrettBillingsley
Copy link

JarrettBillingsley commented Dec 13, 2020

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.

@hecrj
Copy link
Member

hecrj commented Dec 13, 2020

@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?

@JarrettBillingsley
Copy link

(responded on Zulip)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants