diff options
Diffstat (limited to 'ext/webgpu/bundle.rs')
-rw-r--r-- | ext/webgpu/bundle.rs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/ext/webgpu/bundle.rs b/ext/webgpu/bundle.rs index 3d0f11d89..65897d80b 100644 --- a/ext/webgpu/bundle.rs +++ b/ext/webgpu/bundle.rs @@ -289,7 +289,7 @@ pub fn op_webgpu_render_bundle_encoder_set_vertex_buffer( slot: u32, buffer: ResourceId, offset: u64, - size: u64, + size: Option<u64>, ) -> Result<WebGpuResult, AnyError> { let buffer_resource = state .resource_table @@ -298,10 +298,14 @@ pub fn op_webgpu_render_bundle_encoder_set_vertex_buffer( state .resource_table .get::<WebGpuRenderBundleEncoder>(render_bundle_encoder_rid)?; - let size = Some( - std::num::NonZeroU64::new(size) - .ok_or_else(|| type_error("size must be larger than 0"))?, - ); + let size = if let Some(size) = size { + Some( + std::num::NonZeroU64::new(size) + .ok_or_else(|| type_error("size must be larger than 0"))?, + ) + } else { + None + }; wgpu_core::command::bundle_ffi::wgpu_render_bundle_set_vertex_buffer( &mut render_bundle_encoder_resource.0.borrow_mut(), |