#[repr(C)]pub struct GPUBuffer<D: DomTypes> {
reflector_: Reflector,
droppable: DroppableGPUBuffer,
label: DomRefCell<USVString>,
device: Dom<D::GPUDevice>,
size: GPUSize64,
usage: GPUFlagsConstant,
pending_map: DomRefCell<Option<Rc<D::Promise>>>,
mapping: DomRefCell<Option<ActiveBufferMapping>>,
}Fields§
§reflector_: Reflector§droppable: DroppableGPUBuffer§label: DomRefCell<USVString>§device: Dom<D::GPUDevice>§size: GPUSize64§usage: GPUFlagsConstant§pending_map: DomRefCell<Option<Rc<D::Promise>>>§mapping: DomRefCell<Option<ActiveBufferMapping>>Implementations§
Source§impl<D> GPUBuffer<D>
impl<D> GPUBuffer<D>
fn new_inherited( channel: WebGPU, buffer: WebGPUBuffer, device: &D::GPUDevice, size: GPUSize64, usage: GPUFlagsConstant, mapping: Option<RootedTraceableBox<ActiveBufferMapping>>, label: USVString, ) -> Self
pub(crate) fn new( cx: &mut JSContext, global: &D::GlobalScope, channel: WebGPU, buffer: WebGPUBuffer, device: &D::GPUDevice, size: GPUSize64, usage: GPUFlagsConstant, mapping: Option<RootedTraceableBox<ActiveBufferMapping>>, label: USVString, ) -> DomRoot<Self>
Source§impl<D> GPUBuffer<D>where
D: DomTypes<GPUBuffer = GPUBuffer<D>>,
D::GPUDevice: DomGlobalGeneric<D> + GPUDeviceTrait<D>,
D::GlobalScope: WebGPUGlobalTrait,
D::Promise: PromiseHelpers<D>,
impl<D> GPUBuffer<D>where
D: DomTypes<GPUBuffer = GPUBuffer<D>>,
D::GPUDevice: DomGlobalGeneric<D> + GPUDeviceTrait<D>,
D::GlobalScope: WebGPUGlobalTrait,
D::Promise: PromiseHelpers<D>,
§impl<D: DomTypes> GPUBuffer<D>
impl<D: DomTypes> GPUBuffer<D>
fn __assert_parent_type(&self)
Trait Implementations§
Source§impl<D: DomTypes> DomObject for GPUBuffer<D>
impl<D: DomTypes> DomObject for GPUBuffer<D>
type ReflectorType = ()
Source§fn reflector(&self) -> &Reflector<Self::ReflectorType>
fn reflector(&self) -> &Reflector<Self::ReflectorType>
Returns the receiver’s reflector.
Source§impl<D> GPUBufferMethods<D> for GPUBuffer<D>where
D: DomTypes<GPUBuffer = GPUBuffer<D>>,
D::Promise: PromiseHelpers<D> + WebGPUPromiseTrait<D> + PartialEq,
D::GPUDevice: GPUDeviceTrait<D> + DomGlobalGeneric<D>,
D::GlobalScope: WebGPUGlobalTrait,
impl<D> GPUBufferMethods<D> for GPUBuffer<D>where
D: DomTypes<GPUBuffer = GPUBuffer<D>>,
D::Promise: PromiseHelpers<D> + WebGPUPromiseTrait<D> + PartialEq,
D::GPUDevice: GPUDeviceTrait<D> + DomGlobalGeneric<D>,
D::GlobalScope: WebGPUGlobalTrait,
Source§fn MapAsync(
&self,
cx: &mut CurrentRealm<'_>,
mode: u32,
offset: GPUSize64,
size: Option<GPUSize64>,
) -> Rc<D::Promise>
fn MapAsync( &self, cx: &mut CurrentRealm<'_>, mode: u32, offset: GPUSize64, size: Option<GPUSize64>, ) -> Rc<D::Promise>
Source§fn GetMappedRange(
&self,
cx: &mut JSContext,
offset: GPUSize64,
size: Option<GPUSize64>,
) -> Fallible<RootedTraceableBox<HeapArrayBuffer>>
fn GetMappedRange( &self, cx: &mut JSContext, offset: GPUSize64, size: Option<GPUSize64>, ) -> Fallible<RootedTraceableBox<HeapArrayBuffer>>
§impl<D: DomTypes> IDLInterface for GPUBuffer<D>
impl<D: DomTypes> IDLInterface for GPUBuffer<D>
§const PROTO_FIRST: u16 = 371
const PROTO_FIRST: u16 = 371
First prototype ID in the DFS-ordered range for this interface and its descendants.
§const PROTO_LAST: u16 = 371
const PROTO_LAST: u16 = 371
Last prototype ID in the DFS-ordered range for this interface and its descendants.
Source§impl<D> MallocSizeOf for GPUBuffer<D>where
D: MallocSizeOf + DomTypes,
impl<D> MallocSizeOf for GPUBuffer<D>where
D: MallocSizeOf + DomTypes,
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Source§impl<D: DomTypes> MutDomObject for GPUBuffer<D>
impl<D: DomTypes> MutDomObject for GPUBuffer<D>
Source§impl<D: DomTypes> ToJSValConvertible for GPUBuffer<D>
impl<D: DomTypes> ToJSValConvertible for GPUBuffer<D>
Source§fn safe_to_jsval(&self, cx: &mut JSContext, rval: MutableHandleValue<'_>)
fn safe_to_jsval(&self, cx: &mut JSContext, rval: MutableHandleValue<'_>)
Convert
self to a JSVal. JSAPI failure causes a panic.impl<D: DomTypes> Eq for GPUBuffer<D>
Auto Trait Implementations§
impl<D> !Freeze for GPUBuffer<D>
impl<D> !RefUnwindSafe for GPUBuffer<D>
impl<D> !Send for GPUBuffer<D>
impl<D> !Sync for GPUBuffer<D>
impl<D> Unpin for GPUBuffer<D>
impl<D> UnsafeUnpin for GPUBuffer<D>
impl<D> UnwindSafe for GPUBuffer<D>
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
Source§impl<D, T> DomGlobalGeneric<D> for T
impl<D, T> DomGlobalGeneric<D> for T
Source§fn global_from_reflector(&self) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
fn global_from_reflector(&self) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
Returns the [
GlobalScope] of the realm that the DomObject was created in. If this
object is a Node, this will be different from it’s owning Document if adopted by. For
Nodes it’s almost always better to use NodeTraits::owning_global.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert