diff --git a/wgpu-core/src/command/bundle.rs b/wgpu-core/src/command/bundle.rs index 47dcbed110..4dc47af281 100644 --- a/wgpu-core/src/command/bundle.rs +++ b/wgpu-core/src/command/bundle.rs @@ -436,6 +436,22 @@ impl RenderBundleEncoder { life_guard: LifeGuard::new(desc.label.borrow_or_default()), }) } + + pub fn set_index_buffer( + &mut self, + buffer_id: id::BufferId, + index_format: wgt::IndexFormat, + offset: wgt::BufferAddress, + size: Option, + ) { + span!(_guard, DEBUG, "RenderBundle::set_index_buffer"); + self.base.commands.push(RenderCommand::SetIndexBuffer { + buffer_id, + index_format, + offset, + size, + }); + } } /// Error type returned from `RenderBundleEncoder::new` if the sample count is invalid. @@ -1076,23 +1092,6 @@ pub mod bundle_ffi { .push(RenderCommand::SetPipeline(pipeline_id)); } - #[no_mangle] - pub extern "C" fn wgpu_render_bundle_set_index_buffer( - bundle: &mut RenderBundleEncoder, - buffer_id: id::BufferId, - index_format: wgt::IndexFormat, - offset: BufferAddress, - size: Option, - ) { - span!(_guard, DEBUG, "RenderBundle::set_index_buffer"); - bundle.base.commands.push(RenderCommand::SetIndexBuffer { - buffer_id, - index_format, - offset, - size, - }); - } - #[no_mangle] pub extern "C" fn wgpu_render_bundle_set_vertex_buffer( bundle: &mut RenderBundleEncoder, diff --git a/wgpu-core/src/command/render.rs b/wgpu-core/src/command/render.rs index e6d1c68ea7..ea3c9f6255 100644 --- a/wgpu-core/src/command/render.rs +++ b/wgpu-core/src/command/render.rs @@ -29,7 +29,9 @@ use crate::{ use arrayvec::ArrayVec; use hal::command::CommandBuffer as _; use thiserror::Error; -use wgt::{BufferAddress, BufferUsage, Color, IndexFormat, InputStepMode, TextureUsage}; +use wgt::{ + BufferAddress, BufferSize, BufferUsage, Color, IndexFormat, InputStepMode, TextureUsage, +}; #[cfg(any(feature = "serial-pass", feature = "replay"))] use serde::Deserialize; @@ -172,6 +174,22 @@ impl RenderPass { target_depth_stencil: self.depth_stencil_target, } } + + pub fn set_index_buffer( + &mut self, + buffer_id: id::BufferId, + index_format: IndexFormat, + offset: BufferAddress, + size: Option, + ) { + span!(_guard, DEBUG, "RenderPass::set_index_buffer"); + self.base.commands.push(RenderCommand::SetIndexBuffer { + buffer_id, + index_format, + offset, + size, + }); + } } impl fmt::Debug for RenderPass { @@ -1756,23 +1774,6 @@ pub mod render_ffi { .push(RenderCommand::SetPipeline(pipeline_id)); } - #[no_mangle] - pub extern "C" fn wgpu_render_pass_set_index_buffer( - pass: &mut RenderPass, - buffer_id: id::BufferId, - index_format: wgt::IndexFormat, - offset: BufferAddress, - size: Option, - ) { - span!(_guard, DEBUG, "RenderPass::set_index_buffer"); - pass.base.commands.push(RenderCommand::SetIndexBuffer { - buffer_id, - index_format, - offset, - size, - }); - } - #[no_mangle] pub extern "C" fn wgpu_render_pass_set_vertex_buffer( pass: &mut RenderPass,