summaryrefslogtreecommitdiff
path: root/ext/webgpu/src/shader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/webgpu/src/shader.rs')
-rw-r--r--ext/webgpu/src/shader.rs23
1 files changed, 8 insertions, 15 deletions
diff --git a/ext/webgpu/src/shader.rs b/ext/webgpu/src/shader.rs
index a5e4e5d43..5053a73d0 100644
--- a/ext/webgpu/src/shader.rs
+++ b/ext/webgpu/src/shader.rs
@@ -2,9 +2,9 @@
use deno_core::error::AnyError;
use deno_core::op;
+use deno_core::OpState;
+use deno_core::Resource;
use deno_core::ResourceId;
-use deno_core::{OpState, Resource};
-use serde::Deserialize;
use std::borrow::Cow;
use super::error::WebGpuResult;
@@ -16,31 +16,24 @@ impl Resource for WebGpuShaderModule {
}
}
-#[derive(Deserialize)]
-#[serde(rename_all = "camelCase")]
-pub struct CreateShaderModuleArgs {
+#[op]
+pub fn op_webgpu_create_shader_module(
+ state: &mut OpState,
device_rid: ResourceId,
label: Option<String>,
code: String,
_source_map: Option<()>, // not yet implemented
-}
-
-#[op]
-pub fn op_webgpu_create_shader_module(
- state: &mut OpState,
- args: CreateShaderModuleArgs,
) -> Result<WebGpuResult, AnyError> {
let instance = state.borrow::<super::Instance>();
let device_resource = state
.resource_table
- .get::<super::WebGpuDevice>(args.device_rid)?;
+ .get::<super::WebGpuDevice>(device_rid)?;
let device = device_resource.0;
- let source =
- wgpu_core::pipeline::ShaderModuleSource::Wgsl(Cow::from(args.code));
+ let source = wgpu_core::pipeline::ShaderModuleSource::Wgsl(Cow::from(code));
let descriptor = wgpu_core::pipeline::ShaderModuleDescriptor {
- label: args.label.map(Cow::from),
+ label: label.map(Cow::from),
shader_bound_checks: wgpu_types::ShaderBoundChecks::default(),
};