No shader runtime checks (#1093)
In servo I observed performance regression with #908:
https://xi.zulipchat.com/#narrow/channel/197075-vello/topic/Servo.202D.20canvas.20backend/with/528398019
but disabling shader runtime checks gives it back on pre #908.
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
diff --git a/vello/src/wgpu_engine.rs b/vello/src/wgpu_engine.rs
index f7508cc..a3aa5b1 100644
--- a/vello/src/wgpu_engine.rs
+++ b/vello/src/wgpu_engine.rs
@@ -834,10 +834,16 @@
entries: Vec<wgpu::BindGroupLayoutEntry>,
cache: Option<&PipelineCache>,
) -> WgpuShader {
- let shader_module = device.create_shader_module(wgpu::ShaderModuleDescriptor {
- label: Some(label),
- source: wgpu::ShaderSource::Wgsl(wgsl),
- });
+ // SAFETY: We only call this with trusted shaders (written by Vello developers)
+ let shader_module = unsafe {
+ device.create_shader_module_trusted(
+ wgpu::ShaderModuleDescriptor {
+ label: Some(label),
+ source: wgpu::ShaderSource::Wgsl(wgsl),
+ },
+ wgpu::ShaderRuntimeChecks::unchecked(),
+ )
+ };
let bind_group_layout = device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor {
label: None,
entries: &entries,
diff --git a/vello_tests/tests/known_issues.rs b/vello_tests/tests/known_issues.rs
index 2ad6148..bf569a7 100644
--- a/vello_tests/tests/known_issues.rs
+++ b/vello_tests/tests/known_issues.rs
@@ -63,10 +63,8 @@
assert!(black_count > 0);
}
-// With wgpu 23, this started mysteriously working on macOS (and only on macOS).
#[test]
#[cfg_attr(skip_gpu_tests, ignore)]
-#[cfg_attr(target_os = "macos", should_panic)]
fn many_bins_gpu() {
many_bins(false);
}