pub struct Queue {
shared: Arc<AdapterShared>,
features: Features,
draw_fbo: Framebuffer,
copy_fbo: Framebuffer,
shader_clear_program: Option<ShaderClearProgram>,
zero_buffer: Buffer,
temp_query_results: Mutex<Vec<u64>>,
draw_buffer_count: AtomicU8,
current_index_buffer: Mutex<Option<Buffer>>,
}
Available on
gles
only.Fields§
§features: Features
§draw_fbo: Framebuffer
§copy_fbo: Framebuffer
§shader_clear_program: Option<ShaderClearProgram>
Shader program used to clear the screen for Workarounds::MESA_I915_SRGB_SHADER_CLEAR
devices.
zero_buffer: Buffer
Keep a reasonably large buffer filled with zeroes, so that we can implement ClearBuffer
of
zeroes by copying from it.
temp_query_results: Mutex<Vec<u64>>
§draw_buffer_count: AtomicU8
§current_index_buffer: Mutex<Option<Buffer>>
Implementations§
source§impl Queue
impl Queue
sourceunsafe fn perform_shader_clear(
&self,
gl: &Context,
draw_buffer: u32,
color: [f32; 4],
)
unsafe fn perform_shader_clear( &self, gl: &Context, draw_buffer: u32, color: [f32; 4], )
Performs a manual shader clear, used as a workaround for a clearing bug on mesa
unsafe fn reset_state(&self, gl: &Context)
unsafe fn set_attachment( &self, gl: &Context, fbo_target: u32, attachment: u32, view: &TextureView, )
unsafe fn process( &self, gl: &Context, command: &C, data_bytes: &[u8], queries: &[Query], )
Trait Implementations§
source§impl DynResource for Queue
impl DynResource for Queue
source§impl Queue for Queue
impl Queue for Queue
type A = Api
source§unsafe fn submit(
&self,
command_buffers: &[&CommandBuffer],
_surface_textures: &[&Texture],
(signal_fence, signal_value): (&mut Fence, FenceValue),
) -> Result<(), DeviceError>
unsafe fn submit( &self, command_buffers: &[&CommandBuffer], _surface_textures: &[&Texture], (signal_fence, signal_value): (&mut Fence, FenceValue), ) -> Result<(), DeviceError>
Submit
command_buffers
for execution on GPU. Read moreunsafe fn present( &self, surface: &Surface, texture: Texture, ) -> Result<(), SurfaceError>
unsafe fn get_timestamp_period(&self) -> f32
impl Send for Queue
Available on
send_sync
only.impl Sync for Queue
Available on
send_sync
only.Auto Trait Implementations§
impl !Freeze for Queue
impl !RefUnwindSafe for Queue
impl Unpin for Queue
impl !UnwindSafe for Queue
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