From 2ca454b402d48c1808f8233c5adedc11b714c63c Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Sun, 15 Aug 2021 13:29:19 +0200 Subject: refactor(ops): return BadResource errors in ResourceTable calls (#11710) * refactor(ops): return BadResource errors in ResourceTable calls Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ... --- ext/webgpu/pipeline.rs | 41 +++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) (limited to 'ext/webgpu/pipeline.rs') diff --git a/ext/webgpu/pipeline.rs b/ext/webgpu/pipeline.rs index 6d11179a4..3a3707d36 100644 --- a/ext/webgpu/pipeline.rs +++ b/ext/webgpu/pipeline.rs @@ -1,6 +1,5 @@ // Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. -use deno_core::error::bad_resource_id; use deno_core::error::AnyError; use deno_core::ResourceId; use deno_core::{OpState, Resource}; @@ -173,24 +172,20 @@ pub fn op_webgpu_create_compute_pipeline( let instance = state.borrow::(); let device_resource = state .resource_table - .get::(args.device_rid) - .ok_or_else(bad_resource_id)?; + .get::(args.device_rid)?; let device = device_resource.0; let pipeline_layout = if let Some(rid) = args.layout { - let id = state - .resource_table - .get::(rid) - .ok_or_else(bad_resource_id)?; + let id = state.resource_table.get::(rid)?; Some(id.0) } else { None }; - let compute_shader_module_resource = state - .resource_table - .get::(args.compute.module) - .ok_or_else(bad_resource_id)?; + let compute_shader_module_resource = + state + .resource_table + .get::(args.compute.module)?; let descriptor = wgpu_core::pipeline::ComputePipelineDescriptor { label: args.label.map(Cow::from), @@ -246,8 +241,7 @@ pub fn op_webgpu_compute_pipeline_get_bind_group_layout( let instance = state.borrow::(); let compute_pipeline_resource = state .resource_table - .get::(args.compute_pipeline_rid) - .ok_or_else(bad_resource_id)?; + .get::(args.compute_pipeline_rid)?; let compute_pipeline = compute_pipeline_resource.0; let (bind_group_layout, maybe_err) = gfx_select!(compute_pipeline => instance.compute_pipeline_get_bind_group_layout(compute_pipeline, args.index, std::marker::PhantomData)); @@ -464,24 +458,21 @@ pub fn op_webgpu_create_render_pipeline( let instance = state.borrow::(); let device_resource = state .resource_table - .get::(args.device_rid) - .ok_or_else(bad_resource_id)?; + .get::(args.device_rid)?; let device = device_resource.0; let layout = if let Some(rid) = args.layout { - let pipeline_layout_resource = state - .resource_table - .get::(rid) - .ok_or_else(bad_resource_id)?; + let pipeline_layout_resource = + state.resource_table.get::(rid)?; Some(pipeline_layout_resource.0) } else { None }; - let vertex_shader_module_resource = state - .resource_table - .get::(args.vertex.module) - .ok_or_else(bad_resource_id)?; + let vertex_shader_module_resource = + state + .resource_table + .get::(args.vertex.module)?; let descriptor = wgpu_core::pipeline::RenderPipelineDescriptor { label: args.label.map(Cow::from), @@ -601,7 +592,6 @@ pub fn op_webgpu_create_render_pipeline( let fragment_shader_module_resource = state .resource_table .get::(fragment.module) - .ok_or_else(bad_resource_id) .unwrap(); wgpu_core::pipeline::FragmentState { @@ -666,8 +656,7 @@ pub fn op_webgpu_render_pipeline_get_bind_group_layout( let instance = state.borrow::(); let render_pipeline_resource = state .resource_table - .get::(args.render_pipeline_rid) - .ok_or_else(bad_resource_id)?; + .get::(args.render_pipeline_rid)?; let render_pipeline = render_pipeline_resource.0; let (bind_group_layout, maybe_err) = gfx_select!(render_pipeline => instance.render_pipeline_get_bind_group_layout(render_pipeline, args.index, std::marker::PhantomData)); -- cgit v1.2.3