-
Notifications
You must be signed in to change notification settings - Fork 126
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Wayland protocol dynamic loader generator
Add Python script `generate_wayland.py` that generates source code from a Wayland XML protocol. This script has the same role as the `wayland-scanner` tool, except that the sources generated use the GFXReconstruct `WaylandLoader` instead of directly using `libwayland-client.so` symbols. The current state now is: - If the machine that compiles the code does not support Wayland (no `libwayland-client.so`) then the Wayland code is simply not compiled and the executable will not support Wayland (as done until now) - If the machine that compiles the code supports Wayland and the executable is ran on a machine that supports Wayland, then the `libwayland-client.so` of the client will be loaded using `dlopen` and the generated protocol sources will initialize protocol constants (interfaces). - If the machine that compiles the code supports Wayland but the executable is ran on a machine that does not support Wayland, then the WaylandLoader will remain uninitialized and thus not call the generated protocol sources and not attempt to initialize the protocol constants. This way, the binaries will be able no matter the state of the support of Wayland on the machine that runs them. Change-Id: I9b3878a71b74002859f4edda6d9a6fe180278a8f
- Loading branch information
1 parent
080c8ea
commit 879eae6
Showing
12 changed files
with
945 additions
and
2,173 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,7 @@ | ||
[submodule "external/Vulkan-Headers"] | ||
path = external/Vulkan-Headers | ||
url = https://github.com/KhronosGroup/Vulkan-Headers.git | ||
[submodule "external/wayland-protocols"] | ||
path = external/wayland-protocols | ||
url = https://gitlab.freedesktop.org/wayland/wayland-protocols.git | ||
branch = main |
Submodule wayland-protocols
added at
7f2001
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.