class VirtioGpuDevice

Defined at line 34 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.h

Implements the display-related subset of the virtio-gpu device specification.

Public Methods

void VirtioGpuDevice (const VirtioGpuDevice & )

Defined at line 38 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.h

VirtioGpuDevice & operator= (const VirtioGpuDevice & )

Defined at line 39 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.h

void VirtioGpuDevice (std::unique_ptr<VirtioPciDevice> virtio_device)

Defined at line 41 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

void ~VirtioGpuDevice ()

Defined at line 46 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

bool UseBlobResource ()

Defined at line 48 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<uint32_t> UpdateCursor ()

Updates the cursor.

virtio13 5.7.6.10 "Device Operation: cursorq", operation

VIRTIO_GPU_CMD_UPDATE_CURSOR.

Defined at line 52 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<uint32_t> SetCursorPosition (uint32_t scanout_id, uint32_t x, uint32_t y)

Moves the cursor.

virtio13 5.7.6.10 "Device Operation: cursorq", operation

VIRTIO_GPU_CMD_MOVE_CURSOR.

Defined at line 69 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<fbl::Vector<DisplayInfo>> GetDisplayInfo ()

Retrieves the current output configuration.

virtio13 5.7.6.8 "Device Operation: controlq", operation

VIRTIO_GPU_CMD_GET_DISPLAY_INFO.

Defined at line 92 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

const zx::bti & bti ()

Defined at line 126 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.h

VirtioPciDevice & pci_device ()

Defined at line 128 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.h

zx::result<fbl::Vector<uint8_t>> GetDisplayEdid (uint32_t scanout_id)

Retrieves the VESA EDID for a scanout.

virtio13 5.7.6.8 "Device Operation: controlq", operation

VIRTIO_GPU_CMD_GET_EDID.

Defined at line 137 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<uint32_t> Create2DResource (uint32_t width, uint32_t height, display::PixelFormat pixel_format)

Creates a 2D resource on the virtio host.

Returns the allocated resource ID. The returned ID is guaranteed to not

have been used for another active resource.

This API does not currently support releasing resources, so every allocated

resource remains active for the driver's lifetime. However, the underlying

virtio spec does support releasing resources, via a

VIRTIO_GPU_CMD_RESOURCE_UNREF operation. So, this API may support releasing

resources in the future.

virtio13 5.7.6.8 "Device Operation: controlq", operation

VIRTIO_GPU_CMD_RESOURCE_CREATE_2D.

Defined at line 179 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<uint32_t> CreateBlobResource (zx_paddr_t ptr, uint32_t size)

Creates a blob resource.

virtio13 5.7.6.8 "Device Operation: controlq", operation

VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB.

Defined at line 207 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<> SetScanoutProperties (uint32_t scanout_id, uint32_t resource_id, uint32_t width, uint32_t height)

Sets scanout parameters for one scanout.

Setting `resource_id` to kInvalidResourceId disables the scanout.

virtio13 5.7.6.8 "Device Operation: controlq", operation

VIRTIO_GPU_CMD_SET_SCANOUT.

Defined at line 261 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<> SetScanoutBlob (uint32_t scanout_id, uint32_t resource_id, virtio_abi::ResourceFormat resource_format, uint32_t width, uint32_t height, uint32_t stride)

Sets scanout parameters using a blob resource.

virtio13 5.7.6.8 "Device Operation: controlq", operation

VIRTIO_GPU_CMD_SET_SCANOUT_BLOB.

Defined at line 283 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<> FlushResource (uint32_t resource_id, uint32_t width, uint32_t height)

Flushes any scanouts that use `resource_id` to the host screen.

virtio13 5.7.6.8 "Device Operation: controlq", operation

VIRTIO_GPU_CMD_RESOURCE_FLUSH.

Defined at line 312 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<> TransferToHost2D (uint32_t resource_id, uint32_t width, uint32_t height)

Transfers data from a guest resource to host memory.

virtio13 5.7.6.8 "Device Operation: controlq", operation

VIRTIO_GPU_CMD_TRANSFER_TO_HOST_2D.

Defined at line 331 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc

zx::result<> AttachResourceBacking (uint32_t resource_id, zx_paddr_t ptr, size_t buf_len)

Assigns an array of guest pages as the backing store for a resource.

virtio13 5.7.6.8 "Device Operation: controlq", operation

VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING.

Defined at line 235 of file ../../src/graphics/display/drivers/virtio-gpu-display/virtio-gpu-device.cc