Struct virtio_drivers::device::gpu::VirtIOGpu
source · pub struct VirtIOGpu<H: Hal, T: Transport> { /* private fields */ }Expand description
A virtio based graphics adapter.
It can operate in 2D mode and in 3D (virgl) mode. 3D mode will offload rendering ops to the host gpu and therefore requires a gpu with 3D support on the host machine. In 2D mode the virtio-gpu device provides support for ARGB Hardware cursors and multiple scanouts (aka heads).
Implementations§
source§impl<H: Hal, T: Transport> VirtIOGpu<H, T>
impl<H: Hal, T: Transport> VirtIOGpu<H, T>
sourcepub fn ack_interrupt(&mut self) -> bool
pub fn ack_interrupt(&mut self) -> bool
Acknowledge interrupt.
sourcepub fn resolution(&mut self) -> Result<(u32, u32)>
pub fn resolution(&mut self) -> Result<(u32, u32)>
Get the resolution (width, height).
sourcepub fn setup_framebuffer(&mut self) -> Result<&mut [u8]>
pub fn setup_framebuffer(&mut self) -> Result<&mut [u8]>
Setup framebuffer
sourcepub fn setup_cursor(
&mut self,
cursor_image: &[u8],
pos_x: u32,
pos_y: u32,
hot_x: u32,
hot_y: u32,
) -> Result
pub fn setup_cursor( &mut self, cursor_image: &[u8], pos_x: u32, pos_y: u32, hot_x: u32, hot_y: u32, ) -> Result
Set the pointer shape and position.
sourcepub fn move_cursor(&mut self, pos_x: u32, pos_y: u32) -> Result
pub fn move_cursor(&mut self, pos_x: u32, pos_y: u32) -> Result
Move the pointer without updating the shape.
Trait Implementations§
Auto Trait Implementations§
impl<H, T> Freeze for VirtIOGpu<H, T>where
T: Freeze,
impl<H, T> RefUnwindSafe for VirtIOGpu<H, T>where
T: RefUnwindSafe,
H: RefUnwindSafe,
impl<H, T> Send for VirtIOGpu<H, T>where
T: Send,
impl<H, T> Sync for VirtIOGpu<H, T>where
T: Sync,
impl<H, T> Unpin for VirtIOGpu<H, T>
impl<H, T> UnwindSafe for VirtIOGpu<H, T>where
T: UnwindSafe,
H: UnwindSafe,
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