On macOS, ParavirtualizedGraphics provides paravirtualized GPU device and display support that enables accelerated graphics inside virtual machines through Metal. You create a PGDevice by configuring a PGDeviceDescriptor, then attach display surfaces with PGDisplay and PGDisplayDescriptor, selecting resolutions through PGDisplayMode and positioning output with PGDisplayCoord_t. The framework exposes the GPU's physical memory layout through PGPhysicalMemoryRange_s and reports resume failures with PGResumeErrorCode.
Graphics Devices 2
Create and configure the paravirtualized GPU device that drives accelerated graphics inside a virtual machine.
- PrPGDevicemacOS 11.0+@protocol PGDevice
- ClPGDeviceDescriptormacOS 11.0+An object that configures the properties used to create a paravirtualized graphics device.
Displays and Resolutions 4
Attach virtual display surfaces to a device and choose the resolutions and modes they present.
- PrPGDisplaymacOS 11.0+@protocol PGDisplay:
- ClPGDisplayDescriptormacOS 11.0+@interface PGDisplayDescriptor:
- ClPGDisplayModemacOS 11.0+@interface PGDisplayMode:
- StPGDisplayCoord_tmacOS 11.0+@typedef PGDisplayCoord_t
Memory Layout 1
Describe the physical memory the paravirtualized GPU exposes to the guest.
- StPGPhysicalMemoryRange_s@typedef PGPhysicalMemoryRange_t
Errors 1
Diagnose failures encountered while resuming a paravirtualized graphics device.
- EnPGResumeErrorCodemacOS 11.0+@enum PGResumeErrorCode
Type Aliases 6
- TyPGPhysicalMemoryRange_t@typedef PGPhysicalMemoryRange_t
- TyPGRaiseInterrupt@typedef PGRaiseInterrupt
- TyPGDisplayModeChangeHandler@typedef PGDisplayModeChangeHandler
- TyPGDisplayNewFrameEventHandler@typedef PGDisplayNewFrameEventHandler
- TyPGDisplayCursorShowHandler@typedef PGDisplayCursorShowHandler_t
- TyPGDisplayCursorMoveHandler@typedef PGDisplayCursorMoveHandler_t