mirror of https://github.com/encounter/SDL.git
video: Add a hint to allow Vulkan surfaces on foreign windows
This commit is contained in:
parent
ecaa22cbe6
commit
0bf8ccfb60
|
@ -1453,6 +1453,17 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT "SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT"
|
#define SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT "SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief When calling SDL_CreateWindowFrom(), make the window compatible with Vulkan.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Don't add any graphics flags to the SDL_WindowFlags
|
||||||
|
* "1" - Add SDL_WINDOW_VULKAN to the SDL_WindowFlags
|
||||||
|
*
|
||||||
|
* By default SDL will not make the foreign window compatible with Vulkan.
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN "SDL_VIDEO_FOREIGN_WINDOW_VULKAN"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief A variable specifying which shader compiler to preload when using the Chrome ANGLE binaries
|
* \brief A variable specifying which shader compiler to preload when using the Chrome ANGLE binaries
|
||||||
*
|
*
|
||||||
|
|
|
@ -1703,6 +1703,16 @@ SDL_CreateWindowFrom(const void *data)
|
||||||
}
|
}
|
||||||
_this->windows = window;
|
_this->windows = window;
|
||||||
|
|
||||||
|
#if SDL_VIDEO_VULKAN
|
||||||
|
if (SDL_GetHintBoolean(SDL_HINT_VIDEO_FOREIGN_WINDOW_VULKAN, SDL_FALSE)) {
|
||||||
|
window->flags |= SDL_WINDOW_VULKAN;
|
||||||
|
if (SDL_Vulkan_LoadLibrary(NULL) < 0) {
|
||||||
|
SDL_DestroyWindow(window);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (_this->CreateSDLWindowFrom(_this, window, data) < 0) {
|
if (_this->CreateSDLWindowFrom(_this, window, data) < 0) {
|
||||||
SDL_DestroyWindow(window);
|
SDL_DestroyWindow(window);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue