pub trait Queue: WasmNotSendSync {
type A: Api;
// Required methods
unsafe fn submit(
&self,
command_buffers: &[&<Self::A as Api>::CommandBuffer],
surface_textures: &[&<Self::A as Api>::SurfaceTexture],
signal_fence: Option<(&mut <Self::A as Api>::Fence, FenceValue)>
) -> Result<(), DeviceError>;
unsafe fn present(
&self,
surface: &<Self::A as Api>::Surface,
texture: <Self::A as Api>::SurfaceTexture
) -> Result<(), SurfaceError>;
unsafe fn get_timestamp_period(&self) -> f32;
}
Required Associated Types§
Required Methods§
sourceunsafe fn submit(
&self,
command_buffers: &[&<Self::A as Api>::CommandBuffer],
surface_textures: &[&<Self::A as Api>::SurfaceTexture],
signal_fence: Option<(&mut <Self::A as Api>::Fence, FenceValue)>
) -> Result<(), DeviceError>
unsafe fn submit( &self, command_buffers: &[&<Self::A as Api>::CommandBuffer], surface_textures: &[&<Self::A as Api>::SurfaceTexture], signal_fence: Option<(&mut <Self::A as Api>::Fence, FenceValue)> ) -> Result<(), DeviceError>
Submits the command buffers for execution on GPU.
Valid usage:
-
All of the
CommandBuffer
s were created fromCommandEncoder
s that are associated with this queue. -
All of those
CommandBuffer
s must remain alive until the submitted commands have finished execution. (Since command buffers must not outlive their encoders, this implies that the encoders must remain alive as well.) -
All of the
SurfaceTexture
s that the command buffers write to appear in thesurface_textures
argument.