From 9977edc51f1d2efa25ec4f2eb13a6bb4b3331898 Mon Sep 17 00:00:00 2001 From: Erich Gubler Date: Sat, 21 Sep 2024 12:33:13 -0400 Subject: [PATCH] =?UTF-8?q?chore!:=20remove=20`#[no=5Fmangle]=20=E2=80=A6?= =?UTF-8?q?=20extern=20"C"=20=E2=80=A6`=20from=20`fn`s=20in=20`bundle=5Fff?= =?UTF-8?q?i`=20(#6272)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + wgpu-core/src/command/bundle.rs | 36 +++++++++++---------------------- 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81dee037a..d4d021ddf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -113,6 +113,7 @@ By @bradwerth [#6216](https://github.com/gfx-rs/wgpu/pull/6216). - Fix error message that is thrown in create_render_pass to no longer say `compute_pass`. By @matthew-wong1 [#6041](https://github.com/gfx-rs/wgpu/pull/6041) - Document `wgpu_hal` bounds-checking promises, and adapt `wgpu_core`'s lazy initialization logic to the slightly weaker-than-expected guarantees. By @jimblandy in [#6201](https://github.com/gfx-rs/wgpu/pull/6201) - Raise validation error instead of panicking in `{Render,Compute}Pipeline::get_bind_group_layout` on native / WebGL. By @bgr360 in [#6280](https://github.com/gfx-rs/wgpu/pull/6280). +- **BREAKING**: Remove the last exposed C symbols in project, located in `wgpu_core::render::bundle::bundle_ffi`, to allow multiple versions of WGPU to compile together. By @ErichDonGubler in [#6272](https://github.com/gfx-rs/wgpu/pull/6272). #### GLES / OpenGL diff --git a/wgpu-core/src/command/bundle.rs b/wgpu-core/src/command/bundle.rs index 394858f9f..b0d90976d 100644 --- a/wgpu-core/src/command/bundle.rs +++ b/wgpu-core/src/command/bundle.rs @@ -1584,8 +1584,7 @@ pub mod bundle_ffi { /// /// This function is unsafe as there is no guarantee that the given pointer is /// valid for `offset_length` elements. - #[no_mangle] - pub unsafe extern "C" fn wgpu_render_bundle_set_bind_group( + pub unsafe fn wgpu_render_bundle_set_bind_group( bundle: &mut RenderBundleEncoder, index: u32, bind_group_id: Option, @@ -1612,8 +1611,7 @@ pub mod bundle_ffi { }); } - #[no_mangle] - pub extern "C" fn wgpu_render_bundle_set_pipeline( + pub fn wgpu_render_bundle_set_pipeline( bundle: &mut RenderBundleEncoder, pipeline_id: id::RenderPipelineId, ) { @@ -1627,8 +1625,7 @@ pub mod bundle_ffi { .push(RenderCommand::SetPipeline(pipeline_id)); } - #[no_mangle] - pub extern "C" fn wgpu_render_bundle_set_vertex_buffer( + pub fn wgpu_render_bundle_set_vertex_buffer( bundle: &mut RenderBundleEncoder, slot: u32, buffer_id: id::BufferId, @@ -1643,8 +1640,7 @@ pub mod bundle_ffi { }); } - #[no_mangle] - pub extern "C" fn wgpu_render_bundle_set_index_buffer( + pub fn wgpu_render_bundle_set_index_buffer( encoder: &mut RenderBundleEncoder, buffer: id::BufferId, index_format: IndexFormat, @@ -1658,8 +1654,7 @@ pub mod bundle_ffi { /// /// This function is unsafe as there is no guarantee that the given pointer is /// valid for `data` elements. - #[no_mangle] - pub unsafe extern "C" fn wgpu_render_bundle_set_push_constants( + pub unsafe fn wgpu_render_bundle_set_push_constants( pass: &mut RenderBundleEncoder, stages: wgt::ShaderStages, offset: u32, @@ -1695,8 +1690,7 @@ pub mod bundle_ffi { }); } - #[no_mangle] - pub extern "C" fn wgpu_render_bundle_draw( + pub fn wgpu_render_bundle_draw( bundle: &mut RenderBundleEncoder, vertex_count: u32, instance_count: u32, @@ -1711,8 +1705,7 @@ pub mod bundle_ffi { }); } - #[no_mangle] - pub extern "C" fn wgpu_render_bundle_draw_indexed( + pub fn wgpu_render_bundle_draw_indexed( bundle: &mut RenderBundleEncoder, index_count: u32, instance_count: u32, @@ -1729,8 +1722,7 @@ pub mod bundle_ffi { }); } - #[no_mangle] - pub extern "C" fn wgpu_render_bundle_draw_indirect( + pub fn wgpu_render_bundle_draw_indirect( bundle: &mut RenderBundleEncoder, buffer_id: id::BufferId, offset: BufferAddress, @@ -1743,8 +1735,7 @@ pub mod bundle_ffi { }); } - #[no_mangle] - pub extern "C" fn wgpu_render_bundle_draw_indexed_indirect( + pub fn wgpu_render_bundle_draw_indexed_indirect( bundle: &mut RenderBundleEncoder, buffer_id: id::BufferId, offset: BufferAddress, @@ -1761,16 +1752,14 @@ pub mod bundle_ffi { /// /// This function is unsafe as there is no guarantee that the given `label` /// is a valid null-terminated string. - #[no_mangle] - pub unsafe extern "C" fn wgpu_render_bundle_push_debug_group( + pub unsafe fn wgpu_render_bundle_push_debug_group( _bundle: &mut RenderBundleEncoder, _label: RawString, ) { //TODO } - #[no_mangle] - pub extern "C" fn wgpu_render_bundle_pop_debug_group(_bundle: &mut RenderBundleEncoder) { + pub fn wgpu_render_bundle_pop_debug_group(_bundle: &mut RenderBundleEncoder) { //TODO } @@ -1778,8 +1767,7 @@ pub mod bundle_ffi { /// /// This function is unsafe as there is no guarantee that the given `label` /// is a valid null-terminated string. - #[no_mangle] - pub unsafe extern "C" fn wgpu_render_bundle_insert_debug_marker( + pub unsafe fn wgpu_render_bundle_insert_debug_marker( _bundle: &mut RenderBundleEncoder, _label: RawString, ) {