pub(crate) trait GPUBufferMethods<D: DomTypes> {
// Required methods
fn Size(&self) -> u64;
fn Usage(&self) -> u32;
fn MapState(&self) -> GPUBufferMapState;
fn MapAsync(
&self,
mode: u32,
offset: u64,
size: Option<u64>,
_comp: InRealm<'_>,
_can_gc: CanGc,
) -> Rc<D::Promise>;
fn GetMappedRange(
&self,
cx: SafeJSContext,
offset: u64,
size: Option<u64>,
_can_gc: CanGc,
) -> Fallible<ArrayBuffer>;
fn Unmap(&self);
fn Destroy(&self);
fn Label(&self) -> USVString;
fn SetLabel(&self, value: USVString);
}