Ryan Houdek
b89ebd931e
Thunks: Fixes symbol conflict between GL and Vulkan
...
Fixes crash that occurs in applications that use both GL and Vulkan,
Like UE5 Vulkan native games. Fixes Ender Magnolia.
The issue here is that UE5 loads libGL first, which initializes our
libGL thunks, setting its X11Manager's functions.
It then loads libvulkan, which calls our oninit constructor, which
because of the symbol conflict, calls in to the libGL thunk's host
functions to reinitialize its function pointers, never initializing the
Vulkan X11Manager's functions. It would then crash as soon as an X11
function was used.
Give them unique symbol names so we don't accidentally look up the
incorrect symbol.
2025-11-01 16:48:56 -07:00
Tony Wasserka
7a703e1176
Library Forwarding/GL: Enable stricter pointer parameter checks
2024-06-11 17:14:23 +02:00
Tony Wasserka
02df1a2924
Library Forwarding/GL: Avoid pointer array repacking for 64-bit guests
2024-06-11 17:14:23 +02:00
Tony Wasserka
efac7efc97
Library Forwarding/GL: Remap _XDisplay returned by glXGetCurrentDisplay
2024-06-11 17:14:23 +02:00
Tony Wasserka
d99b4a80c8
Library Forwarding/GL: Add glX support for 32-bit
2024-06-11 17:14:23 +02:00
Tony Wasserka
2a76744d30
Library Forwarding/GL: Add 32-bit support for most core GL APIs
2024-06-11 17:13:45 +02:00
Tony Wasserka
a114850c2a
Library Forwarding: Support GL forwarding with guest-libX11
2024-05-02 17:59:28 +02:00
Paulo Matos
2b4ec88dae
Whole-tree reformat
...
This follows discussions from #3413 .
Followup commits add clang-format file, script and blame ignore lists.
2024-04-12 16:26:02 +02:00
Tony Wasserka
cc8ef16240
Thunks/gen: Consolidate all generated code to one file per library per platform
2022-09-05 15:03:49 +02:00
Tony Wasserka
686895802a
Thunks/GL: Drop unused manual function implementations
...
These functions are annotated with fexgen::callback_stub nowadays, so
they don't need custom host endpoints anymore.
2022-07-07 17:33:31 +02:00
Tony Wasserka
fe2f54fc3d
Thunks/GL: Use guest-callable host function pointers to implement glXGetProcAddress
2022-06-24 11:56:36 +02:00
Tony Wasserka
f4dd1a895e
Thunks: Use libclang-based code generation for libGL
2021-12-10 11:24:58 +01:00
Stefanos Kornilios Mitsis Poiitidis
942b8549c6
Docs: Add tags to the source code
2021-03-30 12:21:18 +03:00
Stefanos Kornilios Mitsis Poiitidis
2425ab994b
Thunks: Generation script refactor, generic callbacks
2020-09-22 14:35:38 +03:00
Stefanos Kornilios Mitsis Poiitidis
db633b8394
Thunklibs: Add partial X11, SDL, GL, EGL, asound, cmake integration
2020-08-08 14:48:20 +03:00