Struct wgpu_core::binding_model::BindGroupLayout
source · pub struct BindGroupLayout<A: Api> {
pub(crate) device_id: Stored<DeviceId>,
pub(crate) multi_ref_count: MultiRefCount,
pub(crate) inner: BglOrDuplicate<A>,
}
Expand description
Bind group layout.
The lifetime of BGLs is a bit special. They are only referenced on CPU without considering GPU operations. And on CPU they get manual inc-refs and dec-refs. In particular, the following objects depend on them:
- produced bind groups
- produced pipeline layouts
- pipelines with implicit layouts
Fields§
§device_id: Stored<DeviceId>
§multi_ref_count: MultiRefCount
§inner: BglOrDuplicate<A>
Implementations§
source§impl<A: Api> BindGroupLayout<A>
impl<A: Api> BindGroupLayout<A>
pub(crate) fn assume_deduplicated(&self) -> &BindGroupLayoutInner<A>
pub(crate) fn as_inner(&self) -> Option<&BindGroupLayoutInner<A>>
pub(crate) fn into_inner(self) -> Option<BindGroupLayoutInner<A>>
pub(crate) fn as_duplicate(&self) -> Option<Valid<BindGroupLayoutId>>
Trait Implementations§
source§impl<A: Api> Resource for BindGroupLayout<A>
impl<A: Api> Resource for BindGroupLayout<A>
impl<A: HalApi> Access<BindGroup<A>> for BindGroupLayout<A>
impl<A: HalApi> Access<BindGroupLayout<A>> for Device<A>
impl<A: HalApi> Access<BindGroupLayout<A>> for PipelineLayout<A>
impl<A: HalApi> Access<BindGroupLayout<A>> for QuerySet<A>
impl<A: HalApi> Access<BindGroupLayout<A>> for Root
impl<A: HalApi> Access<Buffer<A>> for BindGroupLayout<A>
impl<A: HalApi> Access<ShaderModule<A>> for BindGroupLayout<A>
Auto Trait Implementations§
impl<A> !RefUnwindSafe for BindGroupLayout<A>
impl<A> Send for BindGroupLayout<A>
impl<A> Sync for BindGroupLayout<A>
impl<A> Unpin for BindGroupLayout<A>where <A as Api>::BindGroupLayout: Unpin,
impl<A> !UnwindSafe for BindGroupLayout<A>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more