tversteeg / chuot

🐭 AGPL licensed Rust game engine for 2D pixel-art games
http://tversteeg.nl/chuot/
GNU Affero General Public License v3.0
22 stars 1 forks source link

Crash app if hide #87

Open suprohub opened 1 week ago

suprohub commented 1 week ago

if collapse app crashes

[2024-06-27T22:34:30Z ERROR wgpu::backend::wgpu_core] Handling wgpu errors as fatal by default thread 'main' panicked at C:\Users\sere.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.20.1\src\backend\wgpu_core.rs:2996:5: wgpu error: Validation Error

Caused by: In a RenderPass note: encoder = Pixel Game Command Encoder In a set_viewport command Viewport has invalid rect Rect { x: 2147483300.0, y: 2147483400.0, w: 720.0, h: 576.0 }; origin and/or size is less than or equal to 0, and/or is not contained in the render target (1, 1, 1)

tversteeg commented 1 week ago

Does this also happen on the create-image branch?

suprohub commented 5 days ago

yes

suprohub commented 5 days ago

its because subtracting 1 - 720

suprohub commented 5 days ago

so if we dont render if hide game - game not crash

suprohub commented 5 days ago

but if we move cursor in task bar to get preview of game and open - game crashes with wgpu validation error (seems vulkan isue)

suprohub commented 5 days ago

`thread 'main' panicked at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.20.1\src\backend\wgpu_core.rs:2996:5: wgpu error: Validation Error

Caused by: In Device::create_buffer note: label = Instance Buffer Buffer size 607403904 is greater than the maximum buffer size (268435456)

stack backtrace: 0: std::panicking::begin_panic_handler at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:652 1: core::panicking::panic_fmt at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\panicking.rs:72 2: wgpu::backend::wgpu_core::default_error_handler at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.20.1\src\backend\wgpu_core.rs:2996 3: core::ops::function::Fn::call<void (*)(enum2$),tuple$<enum2$ > > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ops\function.rs:79 4: alloc::boxed::impl$50::call<tuple$<enum2$ >,dyn$<wgpu::UncapturedErrorHandler<assoc$<Output,tuple$<> > > >,alloc::alloc::Global> at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\alloc\src\boxed.rs:2036 5: wgpu::backend::wgpu_core::ErrorSinkRaw::handle_error at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.20.1\src\backend\wgpu_core.rs:2982 6: wgpu::backend::wgpu_core::ContextWgpuCore::handle_error<enum2$ > at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.20.1\src\backend\wgpu_core.rs:293 7: wgpu::backend::wgpu_core::impl$7::device_create_buffer at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.20.1\src\backend\wgpu_core.rs:1257 8: wgpu::context::impl$5::device_create_buffer at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.20.1\src\context.rs:2291 9: wgpu::Device::create_buffer at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.20.1\src\lib.rs:2728 10: wgpu::util::device::impl$0::create_buffer_init at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-0.20.1\src\util\device.rs:92 11: chuot::graphics::Graphics::render_instances at .\src\graphics\mod.rs:520 12: chuot::graphics::Graphics::render at .\src\graphics\mod.rs:408 13: chuot::impl$0::window_event::closure$2 at .\src\lib.rs:503 14: chuot::context::Context::write<tuple$<>,chuot::impl$0::window_event::closure_env$2 > at .\src\context\mod.rs:526 15: chuot::impl$0::window_event at .\src\lib.rs:501 16: winit::event_loop::dispatch_event_for_app at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\event_loop.rs:631 17: winit::event_loop::impl$6::run_app::closure$0<chuot::context::Context,chuot::State > at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\event_loop.rs:265 18: winit::platform_impl::platform::event_loop::impl$3::run_on_demand::closure$0<chuot::context::Context,winit::event_loop::impl$6::run_app::closure_env$0<chuot::context::Context,chuot::State > > at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:253 19: alloc::boxed::impl$49::call_mut<tuple$<enum2$<winit::event::Event > >,dyn$<core::ops::function::FnMut<tuple$<enum2$<winit::event::Event<winit::platform_impl::platform::event_loop::UserEvent at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\alloc\src\boxed.rs:2029 20: winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure$0 at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop\runner.rs:236 21: core::panic::unwind_safe::impl$25::call_once<tuple$<>,winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0 >
at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\panic\unwind_safe.rs:272 22: std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0 >,tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\panicking.rs:559 23: winit::platform_impl::platform::dpi::hwnd_dpi 24: std::panicking::try<tuple$<>,core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0 > > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\panicking.rs:523 25: std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0 >,tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\panic.rs:149 26: winit::platform_impl::platform::event_loop::runner::EventLoopRunner::catch_unwind<winit::platform_impl::platform::event_loop::UserEventPlaceholder,tuple$<>,winit::platform_impl::platform::e at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop\runner.rs:173 27: winit::platform_impl::platform::event_loop::runner::EventLoopRunner::call_event_handler
at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop\runner.rs:230 28: winit::platform_impl::platform::event_loop::runner::EventLoopRunner::send_event at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop\runner.rs:210 29: winit::platform_impl::platform::event_loop::WindowData::send_event at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:123 30: winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$4 at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:1174 31: core::ops::function::FnOnce::call_once<winit::platform_impl::platform::event_loop::public_window_callback_inner::closure_env$4,tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ops\function.rs:250 32: core::panic::unwind_safe::impl$25::call_once<tuple$<>,winit::platform_impl::platform::event_loop::public_window_callback_inner::closure_env$4> at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\panic\unwind_safe.rs:272 33: std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::public_window_callback_inner::closure_env$4>,tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\panicking.rs:559 34: winit::platform_impl::platform::dpi::hwnd_dpi 35: std::panicking::try<tuple$<>,core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::public_window_callback_inner::closure_env$4> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\panicking.rs:523 36: std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::public_window_callback_inner::closure_env$4>,tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\panic.rs:149 37: winit::platform_impl::platform::event_loop::runner::EventLoopRunner::catch_unwind<winit::platform_impl::platform::event_loop::UserEventPlaceholder,tuple$<>,winit::platform_impl::platform::e at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop\runner.rs:173 38: winit::platform_impl::platform::event_loop::public_window_callback_inner at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:2354 39: winit::platform_impl::platform::event_loop::public_window_callback at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:1015 40: DispatchMessageW 41: CallWindowProcW 42: wglSwapBuffers 43: DispatchMessageW 44: DispatchMessageW 45: GetClassLongW 46: KiUserCallbackDispatcher 47: NtUserDispatchMessage 48: DispatchMessageW 49: winit::platform_impl::platform::event_loop::EventLoop::dispatch_peeked_messages at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:478 50: winit::platform_impl::platform::event_loop::EventLoop::run_on_demand<chuot::context::Context,winit::event_loop::impl$6::run_app::closure_env$0<chuot::context::Context,chuot::State > > at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:265 51: winit::platform_impl::platform::event_loop::EventLoop::run<chuot::context::Context,winit::event_loop::impl$6::run_app::closure_env$0<chuot::context::Context,chuot::State > >
at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:222 52: winit::event_loop::EventLoop::run_app<chuot::context::Context,chuot::State > at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\event_loop.rs:265 53: chuot::Game::run at .\src\lib.rs:316 54: particles::main at .\examples\particles.rs:174 55: core::ops::function::FnOnce::call_once<void (*)(),tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ops\function.rs:250 56: core::hint::black_box at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\hint.rs:338 note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace. thread 'main' panicked at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-hal-0.21.1\src\vulkan\instance.rs:186:58: Trying to destroy a SurfaceSemaphores that is still in use by a SurfaceTexture stack backtrace: 0: 0x7ff6babe7b68 - std::backtrace_rs::backtrace::dbghelp64::trace at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src....\backtrace\src\backtrace\dbghelp64.rs:91 1: 0x7ff6babe7b68 - std::backtrace_rs::backtrace::trace_unsynchronized at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src....\backtrace\src\backtrace\mod.rs:66 2: 0x7ff6babe7b68 - std::sys_common::backtrace::_print_fmt at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\sys_common\backtrace.rs:68 3: 0x7ff6babe7b68 - std::sys_common::backtrace::_print::impl$0::fmt at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\sys_common\backtrace.rs:44 4: 0x7ff6babff0a9 - core::fmt::rt::Argument::fmt at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\fmt\rt.rs:165 5: 0x7ff6babff0a9 - core::fmt::write at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\fmt\mod.rs:1157 6: 0x7ff6babe41e1 - std::io::Write::write_fmt at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\io\mod.rs:1832 7: 0x7ff6babe7946 - std::sys_common::backtrace::print at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\sys_common\backtrace.rs:34 8: 0x7ff6babe97c8 - std::panicking::default_hook::closure$1 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:271 9: 0x7ff6babe9437 - std::panicking::default_hook at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:298 10: 0x7ff6babe9cf8 - std::panicking::rust_panic_with_hook at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:795 11: 0x7ff6babe9bb7 - std::panicking::begin_panic_handler::closure$0 at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:664 12: 0x7ff6babe825f - std::sys_common::backtrace::rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$> at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\sys_common\backtrace.rs:171 13: 0x7ff6babe9868 - std::panicking::begin_panic_handler at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:652 14: 0x7ff6bac0ab64 - core::panicking::panic_fmt at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\panicking.rs:72 15: 0x7ff6babfce7d - core::panicking::panic_display<ref$<str$> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\panicking.rs:263 16: 0x7ff6bac0ab2e - core::option::expect_failed at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\core\src\option.rs:1994 17: 0x7ff6ba49759e - enum2$<core::option::Option<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex,wgpu_hal::vulkan::SwapchainImageSemaphores> > >::expect<lock_api::mutex::Mutex<parking_lot::raw_mutex::RawMutex,wgpu_hal::vulkan::SwapchainImageSemaphores> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\option.rs:895 18: 0x7ff6ba53195a - wgpu_hal::vulkan::Swapchain::release_resources at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-hal-0.21.1\src\vulkan\instance.rs:186 19: 0x7ff6ba5365ae - wgpu_hal::vulkan::instance::impl$6::unconfigure at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-hal-0.21.1\src\vulkan\instance.rs:988 20: 0x7ff6ba35a7d4 - wgpu_core::hub::Hub::clear at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-core-0.21.1\src\hub.rs:246 21: 0x7ff6ba3a2dc5 - wgpu_core::global::impl$2::drop at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\wgpu-core-0.21.1\src\global.rs:140 22: 0x7ff6b9fa82bf - core::ptr::drop_in_place at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 23: 0x7ff6b9fa97ba - core::ptr::drop_in_place at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 24: 0x7ff6b9fa8eb0 - core::ptr::drop_in_place<dyn$ > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 25: 0x7ff6ba0590fa - alloc::sync::Arc<dyn$,alloc::alloc::Global>::drop_slow<dyn$,alloc::alloc::Global> at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\alloc\src\sync.rs:1812 26: 0x7ff6ba05e5c3 - alloc::sync::impl$34::drop<dyn$,alloc::alloc::Global> at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\alloc\src\sync.rs:2470 27: 0x7ff6b9fab6fe - core::ptr::drop_in_place<alloc::sync::Arc<dyn$,alloc::alloc::Global> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 28: 0x7ff6b9f18f1a - core::ptr::drop_in_place at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 29: 0x7ff6b9f1afdd - core::ptr::drop_in_place at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 30: 0x7ff6b9f192c3 - core::ptr::drop_in_place at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 31: 0x7ff6b9f196fa - core::ptr::drop_in_place at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 32: 0x7ff6b9f1b5ae - core::ptr::drop_in_place<core::cell::UnsafeCell > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 33: 0x7ff6b9f1b2a2 - core::ptr::drop_in_place<core::cell::RefCell > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 34: 0x7ff6b9f1d6e4 - alloc::rc::impl$27::drop<core::cell::RefCell,alloc::alloc::Global> at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\alloc\src\rc.rs:2170 35: 0x7ff6b9f1cc9e - core::ptr::drop_in_place<alloc::rc::Rc<core::cell::RefCell,alloc::alloc::Global> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 36: 0x7ff6b9f190be - core::ptr::drop_in_place at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 37: 0x7ff6b9f1af15 - core::ptr::drop_in_place<enum2$<core::option::Option > > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 38: 0x7ff6b9f1a463 - core::ptr::drop_in_place<chuot::State > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ptr\mod.rs:514 39: 0x7ff6b9f6c94d - chuot::Game::run at C:\Users\superpc\RustroverProjects\soul_engine\src\lib.rs:325 40: 0x7ff6b9f6c94d - particles::main at C:\Users\superpc\RustroverProjects\soul_engine\examples\particles.rs:174 41: 0x7fff0377f540 - _CxxFrameHandler3 42: 0x7fff03773a86 - is_exception_typeof 43: 0x7fff0377ea14 - _C_specific_handler 44: 0x7fff03772c94 - is_exception_typeof 45: 0x7fff0377f351 - _CxxFrameHandler3 46: 0x7fff2187449f - _chkstk 47: 0x7fff217efd54 - RtlUnwindEx 48: 0x7fff0377eeda - _C_specific_handler 49: 0x7fff037718e5 - is_exception_typeof 50: 0x7fff03771d00 - is_exception_typeof 51: 0x7fff03772d90 - is_exception_typeof 52: 0x7fff0377f351 - _CxxFrameHandler3 53: 0x7fff2187441f - _chkstk 54: 0x7fff217ee466 - RtlFindCharInUnicodeString 55: 0x7fff21824475 - RtlRaiseException 56: 0x7fff1ec2567c - RaiseException 57: 0x7fff03775267 - CxxThrowException 58: 0x7ff6babef880 - panic_unwind::real_imp::panic at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\panic_unwind\src\seh.rs:353 59: 0x7ff6babef880 - panic_unwind::rust_start_panic at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\panic_unwind\src\lib.rs:108 60: 0x7ff6babea155 - std::panicking::rust_panic at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:847 61: 0x7ff6babea0c3 - std::panicking::rust_panic_without_hook at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panicking.rs:838 62: 0x7ff6babe469f - std::panic::resume_unwind at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\panic.rs:179 63: 0x7ff6b9f71cf5 - winit::platform_impl::platform::event_loop::EventLoop::dispatch_peeked_messages at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:484 64: 0x7ff6b9f716fd - winit::platform_impl::platform::event_loop::EventLoop::run_on_demand<chuot::context::Context,winit::event_loop::impl$6::run_app::closure_env$0<chuot::context::Context,chuot::State > > at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:265 65: 0x7ff6b9f72546 - winit::platform_impl::platform::event_loop::EventLoop::run<chuot::context::Context,winit::event_loop::impl$6::run_app::closure_env$0<chuot::context::Context,chuot::State > > at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\platform_impl\windows\event_loop.rs:222 66: 0x7ff6b9f60212 - winit::event_loop::EventLoop::run_app<chuot::context::Context,chuot::State > at C:\Users\superpc.cargo\registry\src\index.crates.io-6f17d22bba15001f\winit-0.30.3\src\event_loop.rs:265 67: 0x7ff6b9f6c63f - chuot::Game::run at C:\Users\superpc\RustroverProjects\soul_engine\src\lib.rs:316 68: 0x7ff6b9f6c63f - particles::main at C:\Users\superpc\RustroverProjects\soul_engine\examples\particles.rs:174 69: 0x7ff6b9f1435b - core::ops::function::FnOnce::call_once<void ()(),tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\ops\function.rs:250 70: 0x7ff6b9f51bfe - core::hint::black_box at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\core\src\hint.rs:338 71: 0x7ff6b9f51bfe - std::sys_common::backtrace::__rust_begin_short_backtrace<void ()(),tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\sys_common\backtrace.rs:155 72: 0x7ff6b9f2dfc1 - std::rt::lang_start::closure$0<tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\rt.rs:159 73: 0x7ff6babdff9e - std::rt::lang_start_internal at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library\std\src\rt.rs:141 74: 0x7ff6b9f2df9a - std::rt::lang_start<tuple$<> > at /rustc/129f3b9964af4d4a709d1383930ade12dfe7c081\library\std\src\rt.rs:158 75: 0x7ff6b9f6c9c9 - main 76: 0x7ff6bac076ac - invoke_main at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78 77: 0x7ff6bac076ac - __scrt_common_main_seh at D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288 78: 0x7fff209d257d - BaseThreadInitThunk 79: 0x7fff2182aa58 - RtlUserThreadStart error: process didn't exit successfully: target\debug\examples\particles.exe (exit code: 0xc0000409, STATUS_STACK_BUFFER_OVERRUN)

Process finished with exit code -1073740791 (0xC0000409)

`

tversteeg commented 4 days ago

Hmm thanks for the details, but this is a bit hard to implement blindly. Is there a specific winit WindowEvent that happens when it renders like that on Windows?

suprohub commented 4 days ago

Hmm thanks for the details, but this is a bit hard to implement blindly. Is there a specific winit WindowEvent that happens when it renders like that on Windows?

no

suprohub commented 4 days ago

ok its my issue

suprohub commented 4 days ago

i return function to not render

suprohub commented 4 days ago

but instance buffer increasing very fast if return

suprohub commented 4 days ago

println!("{:?}", instances_bytes.len()); 10320 10320 10320 10320 440325504

tversteeg commented 4 days ago

Ah, that's probably the framerate calculation of the update function that tries to catch up, I'll add an upper bound so it doesn't get called too often.

suprohub commented 4 days ago

Ah, that's probably the framerate calculation of the update function that tries to catch up, I'll add an upper bound so it doesn't get called too often.

add return if render value very smol (like 1)

suprohub commented 4 days ago

render wight and heifht

tversteeg commented 3 days ago

println!("{:?}", instances_bytes.len()); 10320 10320 10320 10320 440325504

This should be fixed now in https://github.com/tversteeg/chuot/commit/c81e87294d35be851a860cbfcb1679efa4a00d03.

suprohub commented 3 days ago

not its not fix this

suprohub commented 3 days ago

remind you i set letter box to 0.0 for not crashing and add return in render if surface 1 x 1

tversteeg commented 3 days ago

Ah sorry, can you open a PR for that as well?

suprohub commented 3 days ago

Ah sorry, can you open a PR for that as well? this code fix this err ` let (instances_bytes, instances_len) = { // Construct the bytes of the instances to upload (self.instances.bytes(), self.instances.len()) }; // Resize the buffer if needed let instance_buffer_already_pushed = if instances_bytes.len() as u64 > self.instance_buffer.size() { // We have more instances than the buffer size, recreate the buffer self.instance_buffer.destroy(); self.instance_buffer = self.device .create_buffer_init(&wgpu::util::BufferInitDescriptor { label: Some("Instance Buffer"), contents: instances_bytes, usage: wgpu::BufferUsages::VERTEX | wgpu::BufferUsages::COPY_DST, });

            true
        } else {
            false
        };`
suprohub commented 3 days ago

o

suprohub commented 2 days ago

seems solved but would like clear buffer if app long time not open

tversteeg commented 2 days ago

Which buffer do you want to clear?