Merge pull request #4693 from neobrain/fix_libfwd_wl

LibraryForwarding/wayland: Add method signatures required by steam-runtime-launch-options
This commit is contained in:
Ryan Houdek authored and GitHub committed 2025-07-18 10:57:50 -07:00
commit fc1ca01a0b
2 files changed
+12

No files matched your search

+6
View File
@@ -120,6 +120,8 @@ extern "C" int wl_proxy_add_listener(wl_proxy* proxy, void (**callback)(void), v
} else if (signature == "a") {
// E.g. xdg_toplevel::wm_capabilities
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'a'>(callback[i]);
} else if (signature == "f") {
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'f'>(callback[i]);
} else if (signature == "hu") {
// E.g. zwp_linux_dmabuf_feedback_v1::format_table
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'h', 'u'>(callback[i]);
@@ -140,6 +142,8 @@ extern "C" int wl_proxy_add_listener(wl_proxy* proxy, void (**callback)(void), v
} else if (signature == "iia") {
// E.g. xdg_toplevel::configure
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'i', 'i', 'a'>(callback[i]);
} else if (signature == "iiii") {
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'i', 'i', 'i', 'i'>(callback[i]);
} else if (signature == "iiiiissi") {
// E.g. wl_output_listener::geometry
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'i', 'i', 'i', 'i', 'i', 's', 's', 'i'>(callback[i]);
@@ -183,6 +187,8 @@ extern "C" int wl_proxy_add_listener(wl_proxy* proxy, void (**callback)(void), v
} else if (signature == "uoffo") {
// E.g. wl_data_device_listener::enter
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'o', 'f', 'f', 'o'>(callback[i]);
} else if (signature == "uoo") {
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 'o', 'o'>(callback[i]);
} else if (signature == "us") {
host_callbacks[i] = WaylandAllocateHostTrampolineForGuestListener<'u', 's'>(callback[i]);
} else if (signature == "uss") {
+6
View File
@@ -337,6 +337,8 @@ fexfn_impl_libwayland_client_wl_proxy_add_listener(struct wl_proxy* proxy, guest
// E.g. xdg_toplevel::wm_capabilities
FEX::HLE::FinalizeHostTrampolineForGuestFunction((FEX::HLE::HostToGuestTrampolinePtr*)callback,
(void*)CallGuestPtrWithWaylandArray<void, void*, wl_proxy*>);
} else if (signature == "f") {
WaylandFinalizeHostTrampolineForGuestListener<'f'>(callback);
} else if (signature == "hu") {
// E.g. zwp_linux_dmabuf_feedback_v1::format_table
WaylandFinalizeHostTrampolineForGuestListener<'h', 'u'>(callback);
@@ -358,6 +360,8 @@ fexfn_impl_libwayland_client_wl_proxy_add_listener(struct wl_proxy* proxy, guest
// E.g. xdg_toplevel::configure
FEX::HLE::FinalizeHostTrampolineForGuestFunction((FEX::HLE::HostToGuestTrampolinePtr*)callback,
(void*)CallGuestPtrWithWaylandArray<void, void*, wl_proxy*, int32_t, int32_t>);
} else if (signature == "iiii") {
WaylandFinalizeHostTrampolineForGuestListener<'i', 'i', 'i', 'i'>(callback);
} else if (signature == "iiiiissi") {
// E.g. wl_output_listener::geometry
WaylandFinalizeHostTrampolineForGuestListener<'i', 'i', 'i', 'i', 'i', 's', 's', 'i'>(callback);
@@ -402,6 +406,8 @@ fexfn_impl_libwayland_client_wl_proxy_add_listener(struct wl_proxy* proxy, guest
} else if (signature == "uoffo") {
// E.g. wl_data_device_listener::enter
WaylandFinalizeHostTrampolineForGuestListener<'u', 'o', 'f', 'f', 'o'>(callback);
} else if (signature == "uoo") {
WaylandFinalizeHostTrampolineForGuestListener<'u', 'o', 'o'>(callback);
} else if (signature == "us") {
WaylandFinalizeHostTrampolineForGuestListener<'u', 's'>(callback);
} else if (signature == "uss") {