diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-04-02 15:47:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-02 09:47:57 -0400 |
commit | 058579da562989ed15c86598053644bbc86c6747 (patch) | |
tree | 7f0f2bf30684dcbb350b93d987771f17a4abd250 /op_crates/webgpu/render_pass.rs | |
parent | adf57610904cb4f4ef25fb077f6e39c9017a4ea9 (diff) |
refactor(ops): remove variadic buffers (#9944)
Diffstat (limited to 'op_crates/webgpu/render_pass.rs')
-rw-r--r-- | op_crates/webgpu/render_pass.rs | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/op_crates/webgpu/render_pass.rs b/op_crates/webgpu/render_pass.rs index 5c614024e..bf3bd092d 100644 --- a/op_crates/webgpu/render_pass.rs +++ b/op_crates/webgpu/render_pass.rs @@ -1,6 +1,7 @@ // Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. use deno_core::error::bad_resource_id; +use deno_core::error::null_opbuf; use deno_core::error::AnyError; use deno_core::serde_json::json; use deno_core::serde_json::Value; @@ -37,7 +38,7 @@ pub struct RenderPassSetViewportArgs { pub fn op_webgpu_render_pass_set_viewport( state: &mut OpState, args: RenderPassSetViewportArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -70,7 +71,7 @@ pub struct RenderPassSetScissorRectArgs { pub fn op_webgpu_render_pass_set_scissor_rect( state: &mut OpState, args: RenderPassSetScissorRectArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -107,7 +108,7 @@ pub struct RenderPassSetBlendColorArgs { pub fn op_webgpu_render_pass_set_blend_color( state: &mut OpState, args: RenderPassSetBlendColorArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -137,7 +138,7 @@ pub struct RenderPassSetStencilReferenceArgs { pub fn op_webgpu_render_pass_set_stencil_reference( state: &mut OpState, args: RenderPassSetStencilReferenceArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -163,7 +164,7 @@ pub struct RenderPassBeginPipelineStatisticsQueryArgs { pub fn op_webgpu_render_pass_begin_pipeline_statistics_query( state: &mut OpState, args: RenderPassBeginPipelineStatisticsQueryArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -194,7 +195,7 @@ pub struct RenderPassEndPipelineStatisticsQueryArgs { pub fn op_webgpu_render_pass_end_pipeline_statistics_query( state: &mut OpState, args: RenderPassEndPipelineStatisticsQueryArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -221,7 +222,7 @@ pub struct RenderPassWriteTimestampArgs { pub fn op_webgpu_render_pass_write_timestamp( state: &mut OpState, args: RenderPassWriteTimestampArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -253,7 +254,7 @@ pub struct RenderPassExecuteBundlesArgs { pub fn op_webgpu_render_pass_execute_bundles( state: &mut OpState, args: RenderPassExecuteBundlesArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let mut render_bundle_ids = vec![]; @@ -291,7 +292,7 @@ pub struct RenderPassEndPassArgs { pub fn op_webgpu_render_pass_end_pass( state: &mut OpState, args: RenderPassEndPassArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let command_encoder_resource = state .resource_table @@ -326,8 +327,9 @@ pub struct RenderPassSetBindGroupArgs { pub fn op_webgpu_render_pass_set_bind_group( state: &mut OpState, args: RenderPassSetBindGroupArgs, - zero_copy: &mut [ZeroCopyBuf], + zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { + let zero_copy = zero_copy.ok_or_else(null_opbuf)?; let bind_group_resource = state .resource_table .get::<super::binding::WebGpuBindGroup>(args.bind_group) @@ -353,7 +355,7 @@ pub fn op_webgpu_render_pass_set_bind_group( ); }, None => { - let (prefix, data, suffix) = unsafe { zero_copy[0].align_to::<u32>() }; + let (prefix, data, suffix) = unsafe { zero_copy.align_to::<u32>() }; assert!(prefix.is_empty()); assert!(suffix.is_empty()); unsafe { @@ -381,7 +383,7 @@ pub struct RenderPassPushDebugGroupArgs { pub fn op_webgpu_render_pass_push_debug_group( state: &mut OpState, args: RenderPassPushDebugGroupArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -409,7 +411,7 @@ pub struct RenderPassPopDebugGroupArgs { pub fn op_webgpu_render_pass_pop_debug_group( state: &mut OpState, args: RenderPassPopDebugGroupArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -433,7 +435,7 @@ pub struct RenderPassInsertDebugMarkerArgs { pub fn op_webgpu_render_pass_insert_debug_marker( state: &mut OpState, args: RenderPassInsertDebugMarkerArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -462,7 +464,7 @@ pub struct RenderPassSetPipelineArgs { pub fn op_webgpu_render_pass_set_pipeline( state: &mut OpState, args: RenderPassSetPipelineArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pipeline_resource = state .resource_table @@ -494,7 +496,7 @@ pub struct RenderPassSetIndexBufferArgs { pub fn op_webgpu_render_pass_set_index_buffer( state: &mut OpState, args: RenderPassSetIndexBufferArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let buffer_resource = state .resource_table @@ -528,7 +530,7 @@ pub struct RenderPassSetVertexBufferArgs { pub fn op_webgpu_render_pass_set_vertex_buffer( state: &mut OpState, args: RenderPassSetVertexBufferArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let buffer_resource = state .resource_table @@ -563,7 +565,7 @@ pub struct RenderPassDrawArgs { pub fn op_webgpu_render_pass_draw( state: &mut OpState, args: RenderPassDrawArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -595,7 +597,7 @@ pub struct RenderPassDrawIndexedArgs { pub fn op_webgpu_render_pass_draw_indexed( state: &mut OpState, args: RenderPassDrawIndexedArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let render_pass_resource = state .resource_table @@ -625,7 +627,7 @@ pub struct RenderPassDrawIndirectArgs { pub fn op_webgpu_render_pass_draw_indirect( state: &mut OpState, args: RenderPassDrawIndirectArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let buffer_resource = state .resource_table @@ -656,7 +658,7 @@ pub struct RenderPassDrawIndexedIndirectArgs { pub fn op_webgpu_render_pass_draw_indexed_indirect( state: &mut OpState, args: RenderPassDrawIndexedIndirectArgs, - _zero_copy: &mut [ZeroCopyBuf], + _zero_copy: Option<ZeroCopyBuf>, ) -> Result<Value, AnyError> { let buffer_resource = state .resource_table |