diff options
Diffstat (limited to 'extensions/webgpu/command_encoder.rs')
-rw-r--r-- | extensions/webgpu/command_encoder.rs | 93 |
1 files changed, 29 insertions, 64 deletions
diff --git a/extensions/webgpu/command_encoder.rs b/extensions/webgpu/command_encoder.rs index 724ce72c4..3bee10248 100644 --- a/extensions/webgpu/command_encoder.rs +++ b/extensions/webgpu/command_encoder.rs @@ -61,17 +61,11 @@ pub fn op_webgpu_create_command_encoder( label: args.label.map(Cow::from), }; - let (command_encoder, maybe_err) = gfx_select!(device => instance.device_create_command_encoder( + gfx_put!(device => instance.device_create_command_encoder( device, &descriptor, std::marker::PhantomData - )); - - let rid = state - .resource_table - .add(WebGpuCommandEncoder(command_encoder)); - - Ok(WebGpuResult::rid_err(rid, maybe_err)) + ) => state, WebGpuCommandEncoder) } #[derive(Deserialize)] @@ -302,16 +296,14 @@ pub fn op_webgpu_command_encoder_copy_buffer_to_buffer( .ok_or_else(bad_resource_id)?; let destination_buffer = destination_buffer_resource.0; - let maybe_err = gfx_select!(command_encoder => instance.command_encoder_copy_buffer_to_buffer( + gfx_ok!(command_encoder => instance.command_encoder_copy_buffer_to_buffer( command_encoder, source_buffer, args.source_offset, destination_buffer, args.destination_offset, args.size - )).err(); - - Ok(WebGpuResult::maybe_err(maybe_err)) + )) } #[derive(Deserialize)] @@ -389,7 +381,7 @@ pub fn op_webgpu_command_encoder_copy_buffer_to_texture( z: origin.z.unwrap_or(0), }), }; - let maybe_err = gfx_select!(command_encoder => instance.command_encoder_copy_buffer_to_texture( + gfx_ok!(command_encoder => instance.command_encoder_copy_buffer_to_texture( command_encoder, &source, &destination, @@ -398,9 +390,7 @@ pub fn op_webgpu_command_encoder_copy_buffer_to_texture( height: args.copy_size.height.unwrap_or(1), depth: args.copy_size.depth.unwrap_or(1), } - )).err(); - - Ok(WebGpuResult::maybe_err(maybe_err)) + )) } #[derive(Deserialize)] @@ -451,7 +441,7 @@ pub fn op_webgpu_command_encoder_copy_texture_to_buffer( rows_per_image: args.destination.rows_per_image.unwrap_or(0), }, }; - let maybe_err = gfx_select!(command_encoder => instance.command_encoder_copy_texture_to_buffer( + gfx_ok!(command_encoder => instance.command_encoder_copy_texture_to_buffer( command_encoder, &source, &destination, @@ -460,9 +450,7 @@ pub fn op_webgpu_command_encoder_copy_texture_to_buffer( height: args.copy_size.height.unwrap_or(1), depth: args.copy_size.depth.unwrap_or(1), } - )).err(); - - Ok(WebGpuResult::maybe_err(maybe_err)) + )) } #[derive(Deserialize)] @@ -517,7 +505,7 @@ pub fn op_webgpu_command_encoder_copy_texture_to_texture( z: origin.z.unwrap_or(0), }), }; - let maybe_err = gfx_select!(command_encoder => instance.command_encoder_copy_texture_to_texture( + gfx_ok!(command_encoder => instance.command_encoder_copy_texture_to_texture( command_encoder, &source, &destination, @@ -526,9 +514,7 @@ pub fn op_webgpu_command_encoder_copy_texture_to_texture( height: args.copy_size.height.unwrap_or(1), depth: args.copy_size.depth.unwrap_or(1), } - )).err(); - - Ok(WebGpuResult::maybe_err(maybe_err)) + )) } #[derive(Deserialize)] @@ -550,11 +536,8 @@ pub fn op_webgpu_command_encoder_push_debug_group( .ok_or_else(bad_resource_id)?; let command_encoder = command_encoder_resource.0; - let maybe_err = gfx_select!(command_encoder => instance + gfx_ok!(command_encoder => instance .command_encoder_push_debug_group(command_encoder, &args.group_label)) - .err(); - - Ok(WebGpuResult::maybe_err(maybe_err)) } #[derive(Deserialize)] @@ -575,9 +558,7 @@ pub fn op_webgpu_command_encoder_pop_debug_group( .ok_or_else(bad_resource_id)?; let command_encoder = command_encoder_resource.0; - let maybe_err = gfx_select!(command_encoder => instance.command_encoder_pop_debug_group(command_encoder)).err(); - - Ok(WebGpuResult::maybe_err(maybe_err)) + gfx_ok!(command_encoder => instance.command_encoder_pop_debug_group(command_encoder)) } #[derive(Deserialize)] @@ -599,12 +580,10 @@ pub fn op_webgpu_command_encoder_insert_debug_marker( .ok_or_else(bad_resource_id)?; let command_encoder = command_encoder_resource.0; - let maybe_err = gfx_select!(command_encoder => instance.command_encoder_insert_debug_marker( + gfx_ok!(command_encoder => instance.command_encoder_insert_debug_marker( command_encoder, &args.marker_label - )).err(); - - Ok(WebGpuResult::maybe_err(maybe_err)) + )) } #[derive(Deserialize)] @@ -631,15 +610,11 @@ pub fn op_webgpu_command_encoder_write_timestamp( .get::<super::WebGpuQuerySet>(args.query_set) .ok_or_else(bad_resource_id)?; - let maybe_err = - gfx_select!(command_encoder => instance.command_encoder_write_timestamp( - command_encoder, - query_set_resource.0, - args.query_index - )) - .err(); - - Ok(WebGpuResult::maybe_err(maybe_err)) + gfx_ok!(command_encoder => instance.command_encoder_write_timestamp( + command_encoder, + query_set_resource.0, + args.query_index + )) } #[derive(Deserialize)] @@ -673,18 +648,14 @@ pub fn op_webgpu_command_encoder_resolve_query_set( .get::<super::buffer::WebGpuBuffer>(args.destination) .ok_or_else(bad_resource_id)?; - let maybe_err = - gfx_select!(command_encoder => instance.command_encoder_resolve_query_set( - command_encoder, - query_set_resource.0, - args.first_query, - args.query_count, - destination_resource.0, - args.destination_offset - )) - .err(); - - Ok(WebGpuResult::maybe_err(maybe_err)) + gfx_ok!(command_encoder => instance.command_encoder_resolve_query_set( + command_encoder, + query_set_resource.0, + args.first_query, + args.query_count, + destination_resource.0, + args.destination_offset + )) } #[derive(Deserialize)] @@ -710,14 +681,8 @@ pub fn op_webgpu_command_encoder_finish( label: args.label.map(Cow::from), }; - let (command_buffer, maybe_err) = gfx_select!(command_encoder => instance.command_encoder_finish( + gfx_put!(command_encoder => instance.command_encoder_finish( command_encoder, &descriptor - )); - - let rid = state - .resource_table - .add(WebGpuCommandBuffer(command_buffer)); - - Ok(WebGpuResult::rid_err(rid, maybe_err)) + ) => state, WebGpuCommandBuffer) } |