diff --git a/wgpu/src/backend/direct.rs b/wgpu/src/backend/direct.rs index 99989e2c3ab..4b506e8ec12 100644 --- a/wgpu/src/backend/direct.rs +++ b/wgpu/src/backend/direct.rs @@ -1104,7 +1104,7 @@ impl crate::Context for Context { } ShaderSource::Wgsl(ref code) => wgc::pipeline::ShaderModuleSource::Wgsl(Borrowed(code)), #[cfg(feature = "naga")] - ShaderSource::Naga(ref module) => wgc::pipeline::ShaderModuleSource::Naga(module.take()), + ShaderSource::Naga(module) => wgc::pipeline::ShaderModuleSource::Naga(module), }; let (id, error) = wgc::gfx_select!( device.id => global.device_create_shader_module(device.id, &descriptor, source, PhantomData) diff --git a/wgpu/src/backend/web.rs b/wgpu/src/backend/web.rs index 45f580ede4f..090975bdee4 100644 --- a/wgpu/src/backend/web.rs +++ b/wgpu/src/backend/web.rs @@ -1209,7 +1209,7 @@ impl crate::Context for Context { fn device_create_shader_module( &self, device: &Self::DeviceId, - desc: &crate::ShaderModuleDescriptor, + desc: crate::ShaderModuleDescriptor, _shader_bound_checks: wgt::ShaderBoundChecks, ) -> Self::ShaderModuleId { let mut descriptor = match desc.source { @@ -1266,10 +1266,9 @@ impl crate::Context for Context { } crate::ShaderSource::Wgsl(ref code) => web_sys::GpuShaderModuleDescriptor::new(code), #[cfg(feature = "naga")] - crate::ShaderSource::Naga(ref cell) => { + crate::ShaderSource::Naga(module) => { use naga::{back, valid}; - let module = cell.take(); let mut validator = valid::Validator::new( valid::ValidationFlags::all(), valid::Capabilities::all(), diff --git a/wgpu/src/lib.rs b/wgpu/src/lib.rs index b5870772154..4fec529e648 100644 --- a/wgpu/src/lib.rs +++ b/wgpu/src/lib.rs @@ -815,7 +815,7 @@ pub enum ShaderSource<'a> { /// Naga module. #[cfg(feature = "naga")] #[cfg_attr(docsrs, doc(cfg(feature = "naga")))] - Naga(std::cell::Cell), + Naga(naga::Module), } /// Descriptor for use with [`Device::create_shader_module`].