Struct wgpu_core::command::bundle::RenderBundle
source · pub struct RenderBundle<A: HalApi> {
base: BasePass<RenderCommand>,
pub(super) is_depth_read_only: bool,
pub(super) is_stencil_read_only: bool,
pub(crate) device_id: Stored<DeviceId>,
pub(crate) used: RenderBundleScope<A>,
pub(super) buffer_memory_init_actions: Vec<BufferInitTrackerAction>,
pub(super) texture_memory_init_actions: Vec<TextureInitTrackerAction>,
pub(super) context: RenderPassContext,
pub(crate) life_guard: LifeGuard,
}
Fields§
§base: BasePass<RenderCommand>
§is_depth_read_only: bool
§is_stencil_read_only: bool
§device_id: Stored<DeviceId>
§used: RenderBundleScope<A>
§buffer_memory_init_actions: Vec<BufferInitTrackerAction>
§texture_memory_init_actions: Vec<TextureInitTrackerAction>
§context: RenderPassContext
§life_guard: LifeGuard
Implementations§
source§impl<A: HalApi> RenderBundle<A>
impl<A: HalApi> RenderBundle<A>
sourcepub(super) unsafe fn execute(
&self,
raw: &mut A::CommandEncoder,
pipeline_layout_guard: &Storage<PipelineLayout<A>, PipelineLayoutId>,
bind_group_guard: &Storage<BindGroup<A>, BindGroupId>,
pipeline_guard: &Storage<RenderPipeline<A>, RenderPipelineId>,
buffer_guard: &Storage<Buffer<A>, BufferId>
) -> Result<(), ExecutionError>
pub(super) unsafe fn execute(
&self,
raw: &mut A::CommandEncoder,
pipeline_layout_guard: &Storage<PipelineLayout<A>, PipelineLayoutId>,
bind_group_guard: &Storage<BindGroup<A>, BindGroupId>,
pipeline_guard: &Storage<RenderPipeline<A>, RenderPipelineId>,
buffer_guard: &Storage<Buffer<A>, BufferId>
) -> Result<(), ExecutionError>
Actually encode the contents into a native command buffer.
This is partially duplicating the logic of command_encoder_run_render_pass
.
However the point of this function is to be lighter, since we already had
a chance to go through the commands in render_bundle_encoder_finish
.
Note that the function isn’t expected to fail, generally. All the validation has already been done by this point. The only failure condition is if some of the used buffers are destroyed.