diff options
author | Leo Kettmeir <crowlkats@toaxl.com> | 2023-01-30 15:14:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-30 15:14:16 +0100 |
commit | 3035dee9f14402f57d42ff0b362152140b4dca13 (patch) | |
tree | b9a3d3d36e368b3585970ffe00127c90e16b7a09 /ext/webgpu/src/bundle.rs | |
parent | 266915d5ce354fde12b20f8f5ceb5ffdfacb7983 (diff) |
chore: update webgpu (#17534)
Diffstat (limited to 'ext/webgpu/src/bundle.rs')
-rw-r--r-- | ext/webgpu/src/bundle.rs | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/ext/webgpu/src/bundle.rs b/ext/webgpu/src/bundle.rs index 13b0d0cc7..3d0f11d89 100644 --- a/ext/webgpu/src/bundle.rs +++ b/ext/webgpu/src/bundle.rs @@ -1,5 +1,6 @@ // Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +use deno_core::error::type_error; use deno_core::error::AnyError; use deno_core::op; use deno_core::OpState; @@ -108,7 +109,7 @@ pub fn op_webgpu_render_bundle_encoder_finish( &wgpu_core::command::RenderBundleDescriptor { label: label.map(Cow::from), }, - std::marker::PhantomData + () ) => state, WebGpuRenderBundle) } @@ -134,8 +135,8 @@ pub fn op_webgpu_render_bundle_encoder_set_bind_group( // Align the data assert!(dynamic_offsets_data.len() % std::mem::size_of::<u32>() == 0); let (prefix, dynamic_offsets_data, suffix) = - // SAFETY: A u8 to u32 cast is safe because we asserted that the length is a - // multiple of 4. + // SAFETY: A u8 to u32 cast is safe because we asserted that the length is a + // multiple of 4. unsafe { dynamic_offsets_data.align_to::<u32>() }; assert!(prefix.is_empty()); assert!(suffix.is_empty()); @@ -268,16 +269,15 @@ pub fn op_webgpu_render_bundle_encoder_set_index_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"))?, + ); render_bundle_encoder_resource .0 .borrow_mut() - .set_index_buffer( - buffer_resource.0, - index_format, - offset, - std::num::NonZeroU64::new(size), - ); + .set_index_buffer(buffer_resource.0, index_format, offset, size); Ok(WebGpuResult::empty()) } @@ -298,13 +298,17 @@ 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"))?, + ); wgpu_core::command::bundle_ffi::wgpu_render_bundle_set_vertex_buffer( &mut render_bundle_encoder_resource.0.borrow_mut(), slot, buffer_resource.0, offset, - std::num::NonZeroU64::new(size), + size, ); Ok(WebGpuResult::empty()) |