amethyst / rendy

State of the art "build your own engine" kit powered by gfx-hal
Other
815 stars 99 forks source link

Image count not supported #272

Open ghost opened 4 years ago

ghost commented 4 years ago

Any ideas why this is happening ?

[WARN][rendy_wsi] Image count not supported. Supported: 4..=4294967295, requested: 3
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ErrorMessage { msg: "Image count not supported." }', /home/abovegame/.cargo/git/checkouts/amethyst-fedb0a1032a075ce/d005aa0/amethyst_rendy/src/system.rs:115:13
ghost commented 3 years ago

Happening to me too, Artix Linux with Intel Iris Xe graphics (System76 Galago) and Rust stable 1.52.0 following the up-to-date Amethyst demo. I read some links saying it's because rendy doesn't work well on wayland yet. There is an environment variable WINIT_UNIX_BACKEND=x11 you can use but this just resulted in a different error for me:

thread 'main' panicked at 'attempted to leave type `platform::platform::x11::util::input::PointerState` uninitialized, which is invalid', /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/core/src/mem/mod.rs:660:9
stack backtrace:
   0: rust_begin_unwind
             at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/std/src/panicking.rs:493:5
   1: core::panicking::panic_fmt
             at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/core/src/panicking.rs:92:14
   2: core::panicking::panic
             at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/core/src/panicking.rs:50:5
   3: core::mem::uninitialized
             at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/core/src/mem/mod.rs:660:9
   4: winit::platform::platform::x11::util::input::<impl winit::platform::platform::x11::xdisplay::XConnection>::query_pointer
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/linux/x11/util/input.rs:94:51
   5: winit::platform::platform::x11::EventsLoop::process_event
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/linux/x11/mod.rs:956:45
   6: winit::platform::platform::x11::EventsLoop::poll_events
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/linux/x11/mod.rs:270:13
   7: winit::platform::platform::EventsLoop::poll_events
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/platform/linux/mod.rs:522:44
   8: winit::EventsLoop::poll_events
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.5/src/lib.rs:277:9
   9: <amethyst_window::system::EventsLoopSystem as shred::system::RunNow>::run_now
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/amethyst_window-0.15.3/src/system.rs:116:9
  10: shred::dispatch::dispatcher::Dispatcher::dispatch_thread_local
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/shred-0.10.2/src/dispatch/dispatcher.rs:113:13
  11: shred::dispatch::dispatcher::Dispatcher::dispatch
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/shred-0.10.2/src/dispatch/dispatcher.rs:65:9
  12: amethyst::game_data::GameData::update
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/amethyst-0.15.3/src/game_data.rs:47:13
  13: <T as amethyst::state::State<amethyst::game_data::GameData,amethyst::state_event::StateEvent>>::update
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/amethyst-0.15.3/src/state.rs:345:9
  14: amethyst::state::StateMachine<T,E>::update
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/amethyst-0.15.3/src/state.rs:447:21
  15: amethyst::app::CoreApplication<T,E,R>::advance_frame
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/amethyst-0.15.3/src/app.rs:379:13
  16: amethyst::app::CoreApplication<T,E,R>::run
             at /home/yujiri/.cargo/registry/src/github.com-1ecc6299db9ec823/amethyst-0.15.3/src/app.rs:243:13
  17: amethyst_starter_2d::main
             at ./src/main.rs:42:5
  18: core::ops::function::FnOnce::call_once
             at /rustc/88f19c6dab716c6281af7602e30f413e809c5974/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[ERROR][rendy_resource::escape] Terminal must be dropped after all `Escape`s
[ERROR][rendy_resource::escape] Terminal must be dropped after all `Escape`s
[ERROR][rendy_resource::escape] Terminal must be dropped after all `Escape`s
[ERROR][rendy_resource::escape] Terminal must be dropped after all `Escape`s
[ERROR][rendy_resource::escape] Terminal must be dropped after all `Escape`s
[ERROR][rendy_resource::escape] Terminal must be dropped after all `Escape`s
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(327680) is still used
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(524288) is still used
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(4194304) is still used
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(65536) is still used
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(131072) is still used
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(2097152) is still used
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(2048) is still used
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(16384) is still used
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(1048576) is still used
[ERROR][rendy_memory::allocator::dynamic] Memory leak: SizeEntry(256) is still used
[ERROR][rendy_memory::allocator::dedicated] Not all allocation from DedicatedAllocator was freed
[ERROR][rendy_descriptor::allocator] Not all descriptor sets were deallocated
[ERROR][rendy_descriptor::allocator] Descriptor pool is still in use during allocator disposal. DescriptorPool { size: 64, free: 62, freed: 0 }
[ERROR][rendy_descriptor::allocator] Not all descriptor sets were deallocated
[ERROR][rendy_descriptor::allocator] Descriptor pool is still in use during allocator disposal. DescriptorPool { size: 64, free: 58, freed: 0 }
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
[ERROR][rendy_resource::escape] `Escape` was dropped after a `Terminal`?
zakarumych commented 3 years ago

The original error comes from the fact that rendy is softcoded to request 3 images for swapchain, and platform refuses to create swapchain with less than 4 images.

This can be configured in rendy. Should be sutomatically adjusted too, but is not.

Not sure if amethyst exposes this configuration.