eliotbo / bevy_shadertoy_wgsl

A Shadertoy clone for the Bevy game engine. The glsl language is replaced by wgsl.
Other
188 stars 14 forks source link

Example in the main README file does not run #2

Open simoarpe opened 1 year ago

simoarpe commented 1 year ago

Running the example in the README file cargo run --release --features bevy/dynamic --example paint_streams does not run and produces the following error:

thread 'main' panicked at 'internal error: entered unreachable code: module is not valid', /Users/simone/.cargo/registry/src/github.com-1ecc6299db9ec823/naga-0.9.0/src/back/msl/writer.rs:182:29
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::unreachable_display
   3: <naga::back::msl::writer::TypeContext as core::fmt::Display>::fmt
   4: core::fmt::write
   5: naga::back::msl::writer::Writer<W>::write_functions
   6: naga::back::msl::writer::Writer<W>::write
   7: naga::back::msl::write_string
   8: wgpu_hal::metal::device::<impl wgpu_hal::metal::Device>::load_shader
   9: wgpu_hal::metal::device::<impl wgpu_hal::Device<wgpu_hal::metal::Api> for wgpu_hal::metal::Device>::create_compute_pipeline
  10: wgpu_core::device::Device<A>::create_compute_pipeline
  11: wgpu_core::device::<impl wgpu_core::hub::Global<G>>::device_create_compute_pipeline
  12: <wgpu::backend::direct::Context as wgpu::Context>::device_create_compute_pipeline
  13: wgpu::Device::create_compute_pipeline
  14: bevy_render::render_resource::pipeline_cache::PipelineCache::process_queue
  15: <bevy_ecs::system::function_system::FunctionSystem<In,Out,Param,Marker,F> as bevy_ecs::system::system::System>::run_unsafe
  16: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
  17: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
  18: async_task::raw::RawTask<F,T,S>::run
  19: async_executor::Executor::try_tick
  20: std::thread::local::LocalKey<T>::with
  21: <bevy_ecs::schedule::executor_parallel::ParallelExecutor as bevy_ecs::schedule::executor::ParallelSystemExecutor>::run_systems
  22: <bevy_ecs::schedule::stage::SystemStage as bevy_ecs::schedule::stage::Stage>::run
  23: <bevy_render::RenderPlugin as bevy_app::plugin::Plugin>::build::{{closure}}
  24: bevy_app::app::App::update
  25: <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event
  26: winit::platform_impl::platform::app_state::Handler::handle_nonuser_event
  27: winit::platform_impl::platform::app_state::AppState::cleared
  28: winit::platform_impl::platform::observer::control_flow_end_handler
  29: <unknown>
  30: <unknown>
  31: <unknown>
  32: <unknown>
  33: <unknown>
  34: <unknown>
  35: <unknown>
  36: <unknown>
  37: <unknown>
  38: <unknown>
  39: objc::rc::autorelease::autoreleasepool
  40: winit::platform_impl::platform::event_loop::EventLoop<T>::run_return
  41: winit::platform_impl::platform::event_loop::EventLoop<T>::run
  42: winit::event_loop::EventLoop<T>::run
  43: bevy_winit::run
  44: bevy_winit::winit_runner_with
  45: core::ops::function::Fn::call
  46: bevy_app::app::App::run
  47: liquid_toy::main

Tested on MacBook Pro with M1 Max chip, using Rust version 1.64.0 (a55dd71d5 2022-09-19). The same error is printed out when trying to run the other examples.

rosoksdev commented 1 year ago

Same issue on macbook, however I get the problem with naga 0.9.0

INFO bevy_render::renderer: AdapterInfo { name: "Apple M1", vendor: 0, device: 0, device_type: IntegratedGpu, backend: Metal }
common: ./examples/paint_streams/common.wgsl
./assets/shaders/paint_streams/image.wgsl
common: ./examples/paint_streams/common.wgsl
./assets/shaders/paint_streams/buffer_a.wgsl
common: ./examples/paint_streams/common.wgsl
./assets/shaders/paint_streams/buffer_b.wgsl
common: ./examples/paint_streams/common.wgsl
./assets/shaders/paint_streams/buffer_c.wgsl
common: ./examples/paint_streams/common.wgsl
./assets/shaders/paint_streams/buffer_d.wgsl
WARN naga::back::msl::writer: Storage access for [5] (name ''): (empty)
thread 'main' panicked at 'internal error: entered unreachable code: module is not valid', /usr/local/.cargo/registry/src/github.com-1ecc6299db9ec823/naga-0.9.0/src/back/msl/writer.rs:182:29
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
rosoksdev commented 1 year ago

dry_ice example doesn't run too. The same problem with naga. Maybe upgrading to 0.10.0 will solve this problem?