mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-16 17:58:27 +00:00
Fixed bug 4570 - Support Vulkan Portability rather than MoltenVK specifically
Dzmitry Malyshau Current code, search paths, and error messages are written to only consider MoltenVK on macOS as a Vulkan Portability implementation. It's not the only implementation available to the users. gfx-portability [1] has been shown to run a number of titles well, including Dota2, Dolphin Emulator, and vkQuake3, often out-performing MoltenVK in frame rate and stability (see Dolphin benchmark [2]). There is no reason for SDL to be that specific, it's not using any MVK-specific functions other than the WSI initialization ("VK_MVK_macos_surface"). gfx-portability exposes this extension as well, and a more generic WSI extension is in process. It would be good if SDL was written in a more generic way that expect a Vulkan Portability library as opposed to MoltenVK specifically. [1] https://github.com/gfx-rs/portability [2] https://gfx-rs.github.io/2019/03/22/dolphin-macos-performance.html
This commit is contained in:
parent
3e9bf28413
commit
69d27a69cd
4 changed files with 39 additions and 25 deletions
|
@ -98,8 +98,8 @@ typedef VkSurfaceKHR SDL_vulkanSurface; /* for compatibility with Tizen */
|
|||
* applications to link with libvulkan (and historically MoltenVK was
|
||||
* provided as a static library). If it is not found then, on macOS, SDL
|
||||
* will attempt to load \c vulkan.framework/vulkan, \c libvulkan.1.dylib,
|
||||
* \c MoltenVK.framework/MoltenVK and \c libMoltenVK.dylib in that order.
|
||||
* On iOS SDL will attempt to load \c libMoltenVK.dylib. Applications
|
||||
* followed by \c libvulkan.dylib, in that order.
|
||||
* On iOS SDL will attempt to load \c libvulkan.dylib only. Applications
|
||||
* using a dynamic framework or .dylib must ensure it is included in its
|
||||
* application bundle.
|
||||
*
|
||||
|
@ -153,7 +153,7 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void);
|
|||
* is smaller than the number of required extensions, \c SDL_FALSE will be
|
||||
* returned instead of \c SDL_TRUE, to indicate that not all the required
|
||||
* extensions were returned.
|
||||
*
|
||||
*
|
||||
* \note If \c window is not NULL, it will be checked against its creation
|
||||
* flags to ensure that the Vulkan flag is present. This parameter
|
||||
* will be removed in a future major release.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue