diff --git a/benches/benches/loop_workaround.rs b/benches/benches/loop_workaround.rs index b073b442fc..6b69473994 100644 --- a/benches/benches/loop_workaround.rs +++ b/benches/benches/loop_workaround.rs @@ -24,18 +24,24 @@ impl LoopWorkaroundState { fn new() -> Self { let device_state = DeviceState::new(); - let shader_module = device_state.device.create_shader_module({ - wgpu::ShaderModuleDescriptor { - label: Some("loop_workaround.wgsl"), - source: wgpu::ShaderSource::Wgsl(std::borrow::Cow::Owned( - std::fs::read_to_string(concat!( - env!("CARGO_MANIFEST_DIR"), - "/benches/loop_workaround.wgsl" - )) - .unwrap(), - )), - } - }); + let shader_module = unsafe { + device_state.device.create_shader_module_trusted( + wgpu::ShaderModuleDescriptor { + label: Some("loop_workaround.wgsl"), + source: wgpu::ShaderSource::Wgsl(std::borrow::Cow::Owned( + std::fs::read_to_string(concat!( + env!("CARGO_MANIFEST_DIR"), + "/benches/loop_workaround.wgsl" + )) + .unwrap(), + )), + }, + wgpu::ShaderRuntimeChecks { + bounds_checks: true, + force_loop_bounding: true, + }, + ) + }; let pipeline = device_state @@ -220,6 +226,6 @@ fn run_bench(ctx: &mut Criterion) { criterion_group! { name = loop_workaround; - config = Criterion::default().measurement_time(Duration::from_secs(10)); + config = Criterion::default().measurement_time(Duration::from_secs(20)).sample_size(10); targets = run_bench, }