diff options
| author | Phil Dennis-Jordan <phil@philjordan.eu> | 2024-07-15 23:07:03 +0200 |
|---|---|---|
| committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2024-12-31 21:21:34 +0100 |
| commit | bb43a2342ddf57e6cd4f24161ee4e641cfbcceca (patch) | |
| tree | 3d4a6bb44c9b5825dd7adde9328c0b0a840cc51a /hw/display/apple-gfx.h | |
| parent | b21f17cce561316f1eb1917a4ca660e65c75c420 (diff) | |
| download | focaccia-qemu-bb43a2342ddf57e6cd4f24161ee4e641cfbcceca.tar.gz focaccia-qemu-bb43a2342ddf57e6cd4f24161ee4e641cfbcceca.zip | |
hw/display/apple-gfx: Adds configurable mode list
This change adds a property 'display_modes' on the graphics device
which permits specifying a list of display modes. (screen resolution
and refresh rate)
The property is an array of a custom type to make the syntax slightly
less awkward to use, for example:
-device '{"driver":"apple-gfx-pci", "display-modes":["1920x1080@60", "3840x2160@60"]}'
Signed-off-by: Phil Dennis-Jordan <phil@philjordan.eu>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Tested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241223221645.29911-5-phil@philjordan.eu>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Diffstat (limited to 'hw/display/apple-gfx.h')
| -rw-r--r-- | hw/display/apple-gfx.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/display/apple-gfx.h b/hw/display/apple-gfx.h index 6c74209b36..3900cdbabb 100644 --- a/hw/display/apple-gfx.h +++ b/hw/display/apple-gfx.h @@ -25,6 +25,12 @@ typedef QTAILQ_HEAD(, PGTask_s) PGTaskList; +typedef struct AppleGFXDisplayMode { + uint16_t width_px; + uint16_t height_px; + uint16_t refresh_rate_hz; +} AppleGFXDisplayMode; + typedef struct AppleGFXState { /* Initialised on init/realize() */ MemoryRegion iomem_gfx; @@ -33,6 +39,8 @@ typedef struct AppleGFXState { QemuConsole *con; id<MTLDevice> mtl; id<MTLCommandQueue> mtl_queue; + AppleGFXDisplayMode *display_modes; + uint32_t num_display_modes; /* List `tasks` is protected by task_mutex */ QemuMutex task_mutex; @@ -60,5 +68,7 @@ void *apple_gfx_host_ptr_for_gpa_range(uint64_t guest_physical, uint64_t length, bool read_only, MemoryRegion **mapping_in_region); +extern const PropertyInfo qdev_prop_apple_gfx_display_mode; + #endif |