Struct wgpu_core::command::RenderBundle

source ·
pub struct RenderBundle {
    base: BasePass<ArcRenderCommand>,
    pub(super) is_depth_read_only: bool,
    pub(super) is_stencil_read_only: bool,
    pub(crate) device: Arc<Device>,
    pub(crate) used: RenderBundleScope,
    pub(super) buffer_memory_init_actions: Vec<BufferInitTrackerAction>,
    pub(super) texture_memory_init_actions: Vec<TextureInitTrackerAction>,
    pub(super) context: RenderPassContext,
    label: String,
    pub(crate) tracking_data: TrackingData,
    discard_hal_labels: bool,
}

Fields§

§base: BasePass<ArcRenderCommand>§is_depth_read_only: bool§is_stencil_read_only: bool§device: Arc<Device>§used: RenderBundleScope§buffer_memory_init_actions: Vec<BufferInitTrackerAction>§texture_memory_init_actions: Vec<TextureInitTrackerAction>§context: RenderPassContext§label: String

The label from the descriptor used to create the resource.

§tracking_data: TrackingData§discard_hal_labels: bool

Implementations§

source§

impl RenderBundle

source

pub(super) unsafe fn execute( &self, raw: &mut dyn DynCommandEncoder, snatch_guard: &SnatchGuard<'_>, ) -> Result<(), ExecutionError>

Actually encode the contents into a native command buffer.

This is partially duplicating the logic of render_pass_end. 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.

Trait Implementations§

source§

impl Debug for RenderBundle

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Drop for RenderBundle

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Labeled for RenderBundle

source§

fn label(&self) -> &str

Returns a string identifying this resource for logging and errors. Read more
source§

fn error_ident(&self) -> ResourceErrorIdent

source§

impl ParentDevice for RenderBundle

source§

fn device(&self) -> &Arc<Device>

source§

fn is_equal(self: &Arc<Self>, other: &Arc<Self>) -> bool

source§

fn same_device_as<O: ParentDevice>(&self, other: &O) -> Result<(), DeviceError>

source§

fn same_device(&self, device: &Device) -> Result<(), DeviceError>

source§

impl ResourceType for RenderBundle

source§

const TYPE: &'static str = "RenderBundle"

source§

impl StorageItem for RenderBundle

source§

impl Trackable for RenderBundle

source§

impl Send for RenderBundle

source§

impl Sync for RenderBundle

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

source§

impl<T> WasmNotSend for T
where T: Send,

source§

impl<T> WasmNotSendSync for T

source§

impl<T> WasmNotSync for T
where T: Sync,