diff options
| author | Leo Kettmeir <crowlkats@toaxl.com> | 2023-02-23 19:05:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-23 19:05:50 +0100 |
| commit | 451b45ee3a26ed6e393c3deba86937e1a6dc5649 (patch) | |
| tree | 8ac88074ae0bdaaaa634ab2b2f0b86fc1dcfc018 /ext/webgpu/bundle.rs | |
| parent | 6233c0aff0dc9e58b02dfc9499048385bbf836c6 (diff) | |
fix(webgpu): don't default to 0 for setVertexBuffer.size & properly use webidl.setlike (#17800)
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(), |
