@@ -4,7 +4,7 @@ use winit::{
4
4
window:: Window ,
5
5
} ;
6
6
7
- async fn run ( event_loop : EventLoop < ( ) > , window : Window ) {
7
+ async fn run ( event_loop : EventLoop < ( ) > , window : Window , swapchain_format : wgpu :: TextureFormat ) {
8
8
let size = window. inner_size ( ) ;
9
9
let surface = wgpu:: Surface :: create ( & window) ;
10
10
@@ -84,7 +84,7 @@ async fn run(event_loop: EventLoop<()>, window: Window) {
84
84
85
85
let mut sc_desc = wgpu:: SwapChainDescriptor {
86
86
usage : wgpu:: TextureUsage :: OUTPUT_ATTACHMENT ,
87
- format : wgpu :: TextureFormat :: Bgra8Unorm ,
87
+ format : swapchain_format ,
88
88
width : size. width ,
89
89
height : size. height ,
90
90
present_mode : wgpu:: PresentMode :: Mailbox ,
@@ -143,7 +143,8 @@ fn main() {
143
143
#[ cfg( not( target_arch = "wasm32" ) ) ]
144
144
{
145
145
env_logger:: init ( ) ;
146
- futures:: executor:: block_on ( run ( event_loop, window) ) ;
146
+ // Temporarily avoid srgb formats for the swapchain on the web
147
+ futures:: executor:: block_on ( run ( event_loop, window, wgpu:: TextureFormat :: Bgra8Unorm ) ) ;
147
148
}
148
149
#[ cfg( target_arch = "wasm32" ) ]
149
150
{
@@ -159,6 +160,10 @@ fn main() {
159
160
. ok ( )
160
161
} )
161
162
. expect ( "couldn't append canvas to document body" ) ;
162
- wasm_bindgen_futures:: spawn_local ( run ( event_loop, window) ) ;
163
+ wasm_bindgen_futures:: spawn_local ( run (
164
+ event_loop,
165
+ window,
166
+ wgpu:: TextureFormat :: Bgra8UnormSrgb ,
167
+ ) ) ;
163
168
}
164
169
}
0 commit comments