summaryrefslogtreecommitdiff
path: root/extensions/webgpu/command_encoder.rs
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/webgpu/command_encoder.rs')
-rw-r--r--extensions/webgpu/command_encoder.rs93
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)
}