mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2025-04-16 21:46:03 +02:00
Add a hint for D3D9Ex to avoid having to choose at compile-time
This commit is contained in:
parent
59594a7891
commit
6cbd4417f0
@ -1238,6 +1238,26 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
|
#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Use the D3D9Ex API introduced in Windows Vista, instead of normal D3D9.
|
||||||
|
* Direct3D 9Ex contains changes to state management that can eliminate device
|
||||||
|
* loss errors during scenarios like Alt+Tab or UAC prompts. D3D9Ex may require
|
||||||
|
* some changes to your application to cope with the new behavior, so this
|
||||||
|
* is disabled by default.
|
||||||
|
*
|
||||||
|
* This hint must be set before initializing the video subsystem.
|
||||||
|
*
|
||||||
|
* For more information on Direct3D 9Ex, see:
|
||||||
|
* - https://docs.microsoft.com/en-us/windows/win32/direct3darticles/graphics-apis-in-windows-vista#direct3d-9ex
|
||||||
|
* - https://docs.microsoft.com/en-us/windows/win32/direct3darticles/direct3d-9ex-improvements
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - Use the original Direct3D 9 API (default)
|
||||||
|
* "1" - Use the Direct3D 9Ex API on Vista and later (and fall back if D3D9Ex is unavailable)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_WINDOWS_USE_D3D9EX "SDL_WINDOWS_USE_D3D9EX"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Tell SDL which Dispmanx layer to use on a Raspberry PI
|
* \brief Tell SDL which Dispmanx layer to use on a Raspberry PI
|
||||||
*
|
*
|
||||||
|
@ -257,7 +257,7 @@ D3D_LoadDLL(void **pD3DDLL, IDirect3D9 **pDirect3D9Interface)
|
|||||||
typedef IDirect3D9 *(WINAPI *Direct3DCreate9_t) (UINT SDKVersion);
|
typedef IDirect3D9 *(WINAPI *Direct3DCreate9_t) (UINT SDKVersion);
|
||||||
Direct3DCreate9_t Direct3DCreate9Func;
|
Direct3DCreate9_t Direct3DCreate9Func;
|
||||||
|
|
||||||
#ifdef USE_D3D9EX
|
if (SDL_GetHintBoolean(SDL_HINT_WINDOWS_USE_D3D9EX, SDL_FALSE)) {
|
||||||
typedef HRESULT(WINAPI* Direct3DCreate9Ex_t)(UINT SDKVersion, IDirect3D9Ex** ppD3D);
|
typedef HRESULT(WINAPI* Direct3DCreate9Ex_t)(UINT SDKVersion, IDirect3D9Ex** ppD3D);
|
||||||
Direct3DCreate9Ex_t Direct3DCreate9ExFunc;
|
Direct3DCreate9Ex_t Direct3DCreate9ExFunc;
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ D3D_LoadDLL(void **pD3DDLL, IDirect3D9 **pDirect3D9Interface)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* USE_D3D9EX */
|
}
|
||||||
|
|
||||||
Direct3DCreate9Func = (Direct3DCreate9_t)SDL_LoadFunction(*pD3DDLL, "Direct3DCreate9");
|
Direct3DCreate9Func = (Direct3DCreate9_t)SDL_LoadFunction(*pD3DDLL, "Direct3DCreate9");
|
||||||
if (Direct3DCreate9Func) {
|
if (Direct3DCreate9Func) {
|
||||||
|
Loading…
Reference in New Issue
Block a user