mirror of https://github.com/encounter/SDL.git
Fixed Android build with Vulkan support
This commit is contained in:
parent
0cebef607b
commit
5cd1a95910
|
@ -25,11 +25,19 @@
|
||||||
|
|
||||||
#include "SDL_stdinc.h"
|
#include "SDL_stdinc.h"
|
||||||
|
|
||||||
|
#if defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
|
||||||
|
/* Vulkan isn't supported for the 'armeabi' NDK ABI, error in vk_platform.h */
|
||||||
|
#undef SDL_VIDEO_VULKAN_SURFACE
|
||||||
|
#define SDL_VIDEO_VULKAN_SURFACE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(SDL_LOADSO_DISABLED)
|
#if defined(SDL_LOADSO_DISABLED)
|
||||||
#undef SDL_VIDEO_VULKAN_SURFACE
|
#undef SDL_VIDEO_VULKAN_SURFACE
|
||||||
#define SDL_VIDEO_VULKAN_SURFACE 0
|
#define SDL_VIDEO_VULKAN_SURFACE 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if SDL_VIDEO_VULKAN_SURFACE
|
||||||
|
|
||||||
#if SDL_VIDEO_DRIVER_ANDROID
|
#if SDL_VIDEO_DRIVER_ANDROID
|
||||||
#define VK_USE_PLATFORM_ANDROID_KHR
|
#define VK_USE_PLATFORM_ANDROID_KHR
|
||||||
#endif
|
#endif
|
||||||
|
@ -58,7 +66,6 @@
|
||||||
|
|
||||||
#include "SDL_vulkan.h"
|
#include "SDL_vulkan.h"
|
||||||
|
|
||||||
#if SDL_VIDEO_VULKAN_SURFACE
|
|
||||||
|
|
||||||
extern const char *SDL_Vulkan_GetResultString(VkResult result);
|
extern const char *SDL_Vulkan_GetResultString(VkResult result);
|
||||||
|
|
||||||
|
@ -72,6 +79,12 @@ extern SDL_bool SDL_Vulkan_GetInstanceExtensions_Helper(unsigned *userCount,
|
||||||
const char **userNames,
|
const char **userNames,
|
||||||
unsigned nameCount,
|
unsigned nameCount,
|
||||||
const char *const *names);
|
const char *const *names);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/* No SDL Vulkan support, just include the header for typedefs */
|
||||||
|
#include "SDL_vulkan.h"
|
||||||
|
|
||||||
#endif /* SDL_VIDEO_VULKAN_SURFACE */
|
#endif /* SDL_VIDEO_VULKAN_SURFACE */
|
||||||
|
|
||||||
#endif /* SDL_vulkan_internal_h_ */
|
#endif /* SDL_vulkan_internal_h_ */
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
int Android_Vulkan_LoadLibrary(_THIS, const char *path)
|
int Android_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||||
{
|
{
|
||||||
VkExtensionProperties *extensions = NULL;
|
VkExtensionProperties *extensions = NULL;
|
||||||
Uint32 extensionCount = 0;
|
Uint32 i, extensionCount = 0;
|
||||||
SDL_bool hasSurfaceExtension = SDL_FALSE;
|
SDL_bool hasSurfaceExtension = SDL_FALSE;
|
||||||
SDL_bool hasAndroidSurfaceExtension = SDL_FALSE;
|
SDL_bool hasAndroidSurfaceExtension = SDL_FALSE;
|
||||||
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = NULL;
|
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = NULL;
|
||||||
|
@ -72,7 +72,7 @@ int Android_Vulkan_LoadLibrary(_THIS, const char *path)
|
||||||
&extensionCount);
|
&extensionCount);
|
||||||
if(!extensions)
|
if(!extensions)
|
||||||
goto fail;
|
goto fail;
|
||||||
for(Uint32 i = 0; i < extensionCount; i++)
|
for(i = 0; i < extensionCount; i++)
|
||||||
{
|
{
|
||||||
if(SDL_strcmp(VK_KHR_SURFACE_EXTENSION_NAME, extensions[i].extensionName) == 0)
|
if(SDL_strcmp(VK_KHR_SURFACE_EXTENSION_NAME, extensions[i].extensionName) == 0)
|
||||||
hasSurfaceExtension = SDL_TRUE;
|
hasSurfaceExtension = SDL_TRUE;
|
||||||
|
|
Loading…
Reference in New Issue