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>>,
}
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
impl Sync for Queue
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