From bdca20fc4a3e8f6bd8ffb59de75e6ca0f8a94b6a Mon Sep 17 00:00:00 2001 From: Vladyslav Nikonov Date: Thu, 21 Oct 2021 22:42:14 +0300 Subject: Experimental wgpu WebGL backend support - Added missing `draw_cache_align_4x4` call for `brush_glyph` on wasm32 target - Added WebGL support to `integratio_wgpu` example - Fixed test.yml CI workflow - Removed spir-v shader in `integration_wgpu`; Fixed formatting - Removed redundant `BoxStream` typedef --- wgpu/src/text.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'wgpu/src') diff --git a/wgpu/src/text.rs b/wgpu/src/text.rs index 336696ee..45f1f2de 100644 --- a/wgpu/src/text.rs +++ b/wgpu/src/text.rs @@ -48,11 +48,15 @@ impl Pipeline { .expect("Load fallback font") }); - let draw_brush = + let draw_brush_builder = wgpu_glyph::GlyphBrushBuilder::using_font(font.clone()) .initial_cache_size((2048, 2048)) - .draw_cache_multithread(multithreading) - .build(device, format); + .draw_cache_multithread(multithreading); + + #[cfg(target_arch = "wasm32")] + let draw_brush_builder = draw_brush_builder.draw_cache_align_4x4(true); + + let draw_brush = draw_brush_builder.build(device, format); let measure_brush = glyph_brush::GlyphBrushBuilder::using_font(font).build(); -- cgit From 776724162aa4351310de9f88c7bb8d61b0abca04 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Fri, 28 Jan 2022 16:58:11 +0700 Subject: Use WebGL2 limits for `Compositor` in `iced_wgpu` --- wgpu/src/window/compositor.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'wgpu/src') diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 3b264475..6feb795b 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -48,6 +48,13 @@ impl Compositor { .as_ref() .and_then(|surface| surface.get_preferred_format(&adapter))?; + #[cfg(target_arch = "wasm32")] + let limits = wgpu::Limits::downlevel_webgl2_defaults() + .using_resolution(adapter.limits()); + + #[cfg(not(target_arch = "wasm32"))] + let limits = wgpu::Limits::default(); + let (device, queue) = adapter .request_device( &wgpu::DeviceDescriptor { @@ -57,7 +64,7 @@ impl Compositor { features: wgpu::Features::empty(), limits: wgpu::Limits { max_bind_groups: 2, - ..wgpu::Limits::default() + ..limits }, }, None, -- cgit