mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
ui/surface: allocate shared memory on !win32
Use qemu_memfd_alloc() to allocate the display surface memory, which
will fallback on tmpfile/mmap() on systems without memfd, and allow to
share the display with other processes.
This is similar to how display memory is allocated on win32 since commit
09b4c198
("console/win32: allocate shareable display surface").
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20241008125028.1177932-13-marcandre.lureau@redhat.com>
This commit is contained in:
parent
28a3ca0478
commit
ec818df000
2 changed files with 32 additions and 2 deletions
|
@ -26,6 +26,9 @@ typedef struct DisplaySurface {
|
|||
#ifdef WIN32
|
||||
HANDLE handle;
|
||||
uint32_t handle_offset;
|
||||
#else
|
||||
int shmfd;
|
||||
uint32_t shmfd_offset;
|
||||
#endif
|
||||
} DisplaySurface;
|
||||
|
||||
|
@ -40,6 +43,9 @@ DisplaySurface *qemu_create_placeholder_surface(int w, int h,
|
|||
#ifdef WIN32
|
||||
void qemu_displaysurface_win32_set_handle(DisplaySurface *surface,
|
||||
HANDLE h, uint32_t offset);
|
||||
#else
|
||||
void qemu_displaysurface_set_shmfd(DisplaySurface *surface,
|
||||
int shmfd, uint32_t offset);
|
||||
#endif
|
||||
|
||||
DisplaySurface *qemu_create_displaysurface(int width, int height);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue