diff options
Diffstat (limited to 'ext/webgpu/render_pass.rs')
-rw-r--r-- | ext/webgpu/render_pass.rs | 86 |
1 files changed, 33 insertions, 53 deletions
diff --git a/ext/webgpu/render_pass.rs b/ext/webgpu/render_pass.rs index ee57a9bfc..c68be3d99 100644 --- a/ext/webgpu/render_pass.rs +++ b/ext/webgpu/render_pass.rs @@ -43,7 +43,7 @@ pub fn op_webgpu_render_pass_set_viewport( .resource_table .get::<WebGpuRenderPass>(args.render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_set_viewport( + wgpu_core::command::render_commands::wgpu_render_pass_set_viewport( &mut render_pass_resource.0.borrow_mut(), args.x, args.y, @@ -70,7 +70,7 @@ pub fn op_webgpu_render_pass_set_scissor_rect( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_set_scissor_rect( + wgpu_core::command::render_commands::wgpu_render_pass_set_scissor_rect( &mut render_pass_resource.0.borrow_mut(), x, y, @@ -92,7 +92,7 @@ pub fn op_webgpu_render_pass_set_blend_constant( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_set_blend_constant( + wgpu_core::command::render_commands::wgpu_render_pass_set_blend_constant( &mut render_pass_resource.0.borrow_mut(), &color, ); @@ -111,7 +111,7 @@ pub fn op_webgpu_render_pass_set_stencil_reference( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_set_stencil_reference( + wgpu_core::command::render_commands::wgpu_render_pass_set_stencil_reference( &mut render_pass_resource.0.borrow_mut(), reference, ); @@ -130,7 +130,7 @@ pub fn op_webgpu_render_pass_begin_occlusion_query( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_begin_occlusion_query( + wgpu_core::command::render_commands::wgpu_render_pass_begin_occlusion_query( &mut render_pass_resource.0.borrow_mut(), query_index, ); @@ -148,7 +148,7 @@ pub fn op_webgpu_render_pass_end_occlusion_query( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_end_occlusion_query( + wgpu_core::command::render_commands::wgpu_render_pass_end_occlusion_query( &mut render_pass_resource.0.borrow_mut(), ); @@ -177,15 +177,10 @@ pub fn op_webgpu_render_pass_execute_bundles( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - // SAFETY: the raw pointer and length are of the same slice, and that slice - // lives longer than the below function invocation. - unsafe { - wgpu_core::command::render_ffi::wgpu_render_pass_execute_bundles( - &mut render_pass_resource.0.borrow_mut(), - bundles.as_ptr(), - bundles.len(), - ); - } + wgpu_core::command::render_commands::wgpu_render_pass_execute_bundles( + &mut render_pass_resource.0.borrow_mut(), + &bundles, + ); Ok(WebGpuResult::empty()) } @@ -240,17 +235,12 @@ pub fn op_webgpu_render_pass_set_bind_group( let dynamic_offsets_data: &[u32] = &dynamic_offsets_data[start..start + len]; - // SAFETY: the raw pointer and length are of the same slice, and that slice - // lives longer than the below function invocation. - unsafe { - wgpu_core::command::render_ffi::wgpu_render_pass_set_bind_group( - &mut render_pass_resource.0.borrow_mut(), - index, - bind_group_resource.1, - dynamic_offsets_data.as_ptr(), - dynamic_offsets_data.len(), - ); - } + wgpu_core::command::render_commands::wgpu_render_pass_set_bind_group( + &mut render_pass_resource.0.borrow_mut(), + index, + bind_group_resource.1, + dynamic_offsets_data, + ); Ok(WebGpuResult::empty()) } @@ -266,16 +256,11 @@ pub fn op_webgpu_render_pass_push_debug_group( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - let label = std::ffi::CString::new(group_label).unwrap(); - // SAFETY: the string the raw pointer points to lives longer than the below - // function invocation. - unsafe { - wgpu_core::command::render_ffi::wgpu_render_pass_push_debug_group( - &mut render_pass_resource.0.borrow_mut(), - label.as_ptr(), - 0, // wgpu#975 - ); - } + wgpu_core::command::render_commands::wgpu_render_pass_push_debug_group( + &mut render_pass_resource.0.borrow_mut(), + group_label, + 0, // wgpu#975 + ); Ok(WebGpuResult::empty()) } @@ -290,7 +275,7 @@ pub fn op_webgpu_render_pass_pop_debug_group( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_pop_debug_group( + wgpu_core::command::render_commands::wgpu_render_pass_pop_debug_group( &mut render_pass_resource.0.borrow_mut(), ); @@ -308,16 +293,11 @@ pub fn op_webgpu_render_pass_insert_debug_marker( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - let label = std::ffi::CString::new(marker_label).unwrap(); - // SAFETY: the string the raw pointer points to lives longer than the below - // function invocation. - unsafe { - wgpu_core::command::render_ffi::wgpu_render_pass_insert_debug_marker( - &mut render_pass_resource.0.borrow_mut(), - label.as_ptr(), - 0, // wgpu#975 - ); - } + wgpu_core::command::render_commands::wgpu_render_pass_insert_debug_marker( + &mut render_pass_resource.0.borrow_mut(), + marker_label, + 0, // wgpu#975 + ); Ok(WebGpuResult::empty()) } @@ -337,7 +317,7 @@ pub fn op_webgpu_render_pass_set_pipeline( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_set_pipeline( + wgpu_core::command::render_commands::wgpu_render_pass_set_pipeline( &mut render_pass_resource.0.borrow_mut(), render_pipeline_resource.1, ); @@ -407,7 +387,7 @@ pub fn op_webgpu_render_pass_set_vertex_buffer( None }; - wgpu_core::command::render_ffi::wgpu_render_pass_set_vertex_buffer( + wgpu_core::command::render_commands::wgpu_render_pass_set_vertex_buffer( &mut render_pass_resource.0.borrow_mut(), slot, buffer_resource.1, @@ -432,7 +412,7 @@ pub fn op_webgpu_render_pass_draw( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_draw( + wgpu_core::command::render_commands::wgpu_render_pass_draw( &mut render_pass_resource.0.borrow_mut(), vertex_count, instance_count, @@ -458,7 +438,7 @@ pub fn op_webgpu_render_pass_draw_indexed( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_draw_indexed( + wgpu_core::command::render_commands::wgpu_render_pass_draw_indexed( &mut render_pass_resource.0.borrow_mut(), index_count, instance_count, @@ -485,7 +465,7 @@ pub fn op_webgpu_render_pass_draw_indirect( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_draw_indirect( + wgpu_core::command::render_commands::wgpu_render_pass_draw_indirect( &mut render_pass_resource.0.borrow_mut(), buffer_resource.1, indirect_offset, @@ -509,7 +489,7 @@ pub fn op_webgpu_render_pass_draw_indexed_indirect( .resource_table .get::<WebGpuRenderPass>(render_pass_rid)?; - wgpu_core::command::render_ffi::wgpu_render_pass_draw_indexed_indirect( + wgpu_core::command::render_commands::wgpu_render_pass_draw_indexed_indirect( &mut render_pass_resource.0.borrow_mut(), buffer_resource.1, indirect_offset, |