Skip to content

Canvas panics when MSAA is enabled and a dimension is greater than 2048 #1352

Description

@ThatsNoMoon

Is there an existing issue for this?

  • I have searched the existing issues.

Is this issue related to iced?

  • My hardware is compatible and my graphics drivers are up-to-date.

What happened?

When maximizing the clock example on my 2560x1440 monitor, or otherwise making it larger than 2048 pixels, the program panics. Examples that don't use a Canvas don't seem to panic, and disabling antialiasing seems to prevent the panic.

What is the expected behavior?

I was expecting it to not panic.

Version

0.4

Operative System

Windows

Do you have any log output?

thread 'main' panicked at 'wgpu error: Validation Error

Caused by:
    In Device::create_texture
      note: label = `iced_wgpu::triangle::msaa attachment`
    Dimension 2560 value 2560 exceeds the limit of 2048

', C:\Users\User\.cargo\registry\src\github.1485827954.workers.dev-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:2273:5
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\/library\std\src\panicking.rs:584
   1: core::panicking::panic_fmt
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\/library\core\src\panicking.rs:142
   2: wgpu::backend::direct::default_error_handler
             at C:\Users\User\.cargo\registry\src\github.1485827954.workers.dev-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:2273
   3: core::ops::function::Fn::call),tuple$ > >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\core\src\ops\function.rs:77
   4: alloc::boxed::impl$46::call >,dyn$ > > >,alloc::alloc::Global>
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\alloc\src\boxed.rs:1867
   5: wgpu::backend::direct::ErrorSinkRaw::handle_error
             at C:\Users\User\.cargo\registry\src\github.1485827954.workers.dev-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:2259
   6: wgpu::backend::direct::Context::handle_error >
             at C:\Users\User\.cargo\registry\src\github.1485827954.workers.dev-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:194
   7: wgpu::backend::direct::impl$3::device_create_texture
             at C:\Users\User\.cargo\registry\src\github.1485827954.workers.dev-1ecc6299db9ec823\wgpu-0.12.0\src\backend\direct.rs:1413
   8: wgpu::Device::create_texture
             at C:\Users\User\.cargo\registry\src\github.1485827954.workers.dev-1ecc6299db9ec823\wgpu-0.12.0\src\lib.rs:1842
   9: iced_wgpu::triangle::msaa::Targets::new
             at D:\Development\iced\wgpu\src\triangle\msaa.rs:227
  10: iced_wgpu::triangle::msaa::Blit::targets
             at D:\Development\iced\wgpu\src\triangle\msaa.rs:156
  11: iced_wgpu::triangle::Pipeline::draw
             at D:\Development\iced\wgpu\src\triangle.rs:350
  12: iced_wgpu::backend::Backend::flush
             at D:\Development\iced\wgpu\src\backend.rs:141
  13: iced_wgpu::backend::Backend::present
             at D:\Development\iced\wgpu\src\backend.rs:89
  14: iced_wgpu::window::compositor::impl$1::present::closure$0
             at D:\Development\iced\wgpu\src\window\compositor.rs:190
  15: iced_graphics::renderer::Renderer::with_primitives >
             at D:\Development\iced\graphics\src\renderer.rs:42
  16: iced_wgpu::window::compositor::impl$1::present
             at D:\Development\iced\wgpu\src\window\compositor.rs:189
  17: iced_winit::application::run_instance::async_fn$0,tokio::runtime::Runtime,iced_wgpu::window::compositor::Compositor>
             at D:\Development\iced\winit\src\application.rs:408
  18: core::future::from_generator::impl$1::poll,tokio::runtime::Runtime,iced_wgpu::window::compositor::Compositor> > >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\core\src\future\mod.rs:91
  19: iced_winit::application::run::closure$1,tokio::runtime::Runtime,iced_wgpu::window::compositor::Compositor>
             at D:\Development\iced\winit\src\application.rs:221
  20: winit::platform_impl::platform::event_loop::impl$2::run_return::closure$0,iced_winit::application::run::closure_env$1,tokio::runtime::Runtime,iced_wgpu::window::compositor::Compositor> 
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform_impl\windows\event_loop.rs:206
  21: alloc::boxed::impl$45::call_mut > >,ref_mut$ > >,dyn$ > >,ref_mut$ >
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform_impl\windows\event_loop\runner.rs:245
  23: core::panic::unwind_safe::impl$23::call_once,winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0 > >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\core\src\panic\unwind_safe.rs:271
  24: std::panicking::try::do_call > >,tuple$<> >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\std\src\panicking.rs:492
  25: std::panicking::try::do_catch,core::panic::unwind_safe::AssertUnwindSafe > > >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\std\src\panicking.rs:456
  27: std::panic::catch_unwind > >,tuple$<> >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\std\src\panic.rs:137
  28: winit::platform_impl::platform::event_loop::runner::EventLoopRunner >::catch_unwind,tuple$<>,winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0 >::call_event_handler >
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform_impl\windows\event_loop\runner.rs:239
  30: winit::platform_impl::platform::event_loop::runner::EventLoopRunner >::send_event >
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform_impl\windows\event_loop\runner.rs:210
  31: winit::platform_impl::platform::event_loop::WindowData >::send_event >
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform_impl\windows\event_loop.rs:96
  32: winit::platform_impl::platform::event_loop::public_window_callback_inner::closure$0 >
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform_impl\windows\event_loop.rs:942
  33: core::ops::function::FnOnce::call_once >,tuple$<> >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\core\src\ops\function.rs:248
  34: core::panic::unwind_safe::impl$23::call_once > >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\core\src\panic\unwind_safe.rs:271
  35: std::panicking::try::do_call > >,isize>
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\std\src\panicking.rs:492
  36: std::panicking::try::do_catch > > >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\std\src\panicking.rs:456
  38: std::panic::catch_unwind > >,isize>
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\std\src\panic.rs:137
  39: winit::platform_impl::platform::event_loop::runner::EventLoopRunner >::catch_unwind,isize,winit::platform_impl::platform::event_loop::public_window_callback_inner::closure_env$0 >
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform_impl\windows\event_loop.rs:2030
  41: winit::platform_impl::platform::event_loop::public_window_callback >
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform_impl\windows\event_loop.rs:846
  42: CallWindowProcW
  43: CallWindowProcW
  44: glPushClientAttrib
  45: CallWindowProcW
  46: DispatchMessageW
  47: SendMessageTimeoutW
  48: KiUserCallbackDispatcher
  49: NtUserDispatchMessage
  50: DispatchMessageW
  51: winit::platform_impl::platform::event_loop::EventLoop >::run_return,iced_winit::application::run::closure_env$1,tokio::runtime::Runtime,iced_wgpu::window::co
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform_impl\windows\event_loop.rs:221
  52: winit::platform::run_return::impl$0::run_return,iced_winit::application::run::closure_env$1,tokio::runtime::Runtime,iced_wgpu::window::compositor::Compositor> >
             at C:\Users\User\.cargo\git\checkouts\winit-57d3141eaf559308\02a1238\src\platform\run_return.rs:56
  53: iced_winit::application::platform::run,iced_winit::application::run::closure_env$1,tokio::runtime::Runtime,iced_wgpu::window::compositor::Compositor> >
             at D:\Development\iced\winit\src\application.rs:594
  54: iced_winit::application::run,tokio::runtime::Runtime,iced_wgpu::window::compositor::Compositor>
             at D:\Development\iced\winit\src\application.rs:196
  55: iced::application::Application::run
             at D:\Development\iced\src\application.rs:213
  56: clock::main
             at .\src\main.rs:8
  57: core::ops::function::FnOnce::call_once,enum$ >, 0, 2, Err> (*)(),tuple$<> >
             at /rustc/f4a7ce997a1d7546d2b737f8b87d36907bcea2ad\library\core\src\ops\function.rs:248

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions