Struct wgpu_core::track::RenderBundleScope

source ·
pub(crate) struct RenderBundleScope {
    pub buffers: BufferUsageScope,
    pub textures: TextureUsageScope,
    pub bind_groups: StatelessTracker<BindGroup>,
    pub render_pipelines: StatelessTracker<RenderPipeline>,
}
Expand description

This is a render bundle specific usage scope. It includes stateless resources that are not normally included in a usage scope, but are used by render bundles and need to be owned by the render bundles.

Fields§

§buffers: BufferUsageScope§textures: TextureUsageScope§bind_groups: StatelessTracker<BindGroup>§render_pipelines: StatelessTracker<RenderPipeline>

Implementations§

source§

impl RenderBundleScope

source

pub fn new() -> Self

Create the render bundle scope and pull the maximum IDs from the hubs.

source

pub unsafe fn merge_bind_group( &mut self, bind_group: &BindGroupStates, ) -> Result<(), ResourceUsageCompatibilityError>

Merge the inner contents of a bind group into the render bundle tracker.

Only stateful things are merged in herell other resources are owned indirectly by the bind group.

§Safety

The maximum ID given by each bind group resource must be less than the length of the storage given at the call to new.

Trait Implementations§

source§

impl Debug for RenderBundleScope

source§

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

Formats the value using the given formatter. Read more

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>,

§

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>,

§

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,