From 1a99861510f2ae1d329447cd35666b1979794da3 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Wed, 4 Feb 2026 14:55:29 -0800 Subject: [PATCH] Fixed warnings building on Android --- src/gpu/vulkan/SDL_gpu_vulkan.c | 14 +++++++++----- src/gpu/xr/SDL_gpu_openxr.c | 11 +++++++---- src/gpu/xr/SDL_openxrdyn.c | 2 +- src/joystick/hidapi/SDL_hidapi_gamesir.c | 2 +- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c index fe8d8762b7..bb03417975 100644 --- a/src/gpu/vulkan/SDL_gpu_vulkan.c +++ b/src/gpu/vulkan/SDL_gpu_vulkan.c @@ -11905,7 +11905,8 @@ static Uint8 VULKAN_INTERNAL_CreateInstance(VulkanRenderer *renderer, VulkanFeat return 0; } - XrVulkanInstanceCreateInfoKHR xrCreateInfo = {XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR}; + XrVulkanInstanceCreateInfoKHR xrCreateInfo = {}; + xrCreateInfo.type = XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR; xrCreateInfo.vulkanCreateInfo = &createInfo; xrCreateInfo.systemId = renderer->xrSystemId; xrCreateInfo.pfnGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)SDL_Vulkan_GetVkGetInstanceProcAddr(); @@ -12520,7 +12521,8 @@ static Uint8 VULKAN_INTERNAL_CreateLogicalDevice( return 0; } - XrVulkanDeviceCreateInfoKHR xrDeviceCreateInfo = {XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR}; + XrVulkanDeviceCreateInfoKHR xrDeviceCreateInfo = {}; + xrDeviceCreateInfo.type = XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR; xrDeviceCreateInfo.vulkanCreateInfo = &deviceCreateInfo; xrDeviceCreateInfo.systemId = renderer->xrSystemId; xrDeviceCreateInfo.vulkanPhysicalDevice = renderer->physicalDevice; @@ -12651,7 +12653,7 @@ static bool VULKAN_INTERNAL_SearchForOpenXrGpuExtension(XrExtensionProperties *f XrExtensionProperties *extension_properties = (XrExtensionProperties *)SDL_calloc(extension_count, sizeof(XrExtensionProperties)); for (i = 0; i < extension_count; i++) - extension_properties[i] = (XrExtensionProperties){XR_TYPE_EXTENSION_PROPERTIES}; + extension_properties[i].type = XR_TYPE_EXTENSION_PROPERTIES; result = xrEnumerateInstanceExtensionProperties(NULL, extension_count, &extension_count, extension_properties); if (result != XR_SUCCESS) { @@ -12688,7 +12690,8 @@ static XrResult VULKAN_INTERNAL_GetXrMinimumVulkanApiVersion(XrVersion *minimumV return xrResult; } - XrGraphicsRequirementsVulkanKHR graphicsRequirementsVulkan = {XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR}; + XrGraphicsRequirementsVulkanKHR graphicsRequirementsVulkan = {}; + graphicsRequirementsVulkan.type = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR; if ((xrResult = xrGetVulkanGraphicsRequirements2KHR(instance, systemId, &graphicsRequirementsVulkan)) != XR_SUCCESS) { SDL_LogDebug(SDL_LOG_CATEGORY_GPU, "Failed to get vulkan graphics requirements, got OpenXR error %d", xrResult); return xrResult; @@ -13096,7 +13099,8 @@ static XrResult VULKAN_CreateXRSession( const void *XR_MAY_ALIAS currentNextPtr = createinfo->next; // KHR_vulkan_enable and KHR_vulkan_enable2 share this structure, so we don't need to change any logic here to handle both - XrGraphicsBindingVulkanKHR graphicsBinding = {XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR}; + XrGraphicsBindingVulkanKHR graphicsBinding = {}; + graphicsBinding.type = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR; graphicsBinding.instance = renderer->instance; graphicsBinding.physicalDevice = renderer->physicalDevice; graphicsBinding.device = renderer->logicalDevice; diff --git a/src/gpu/xr/SDL_gpu_openxr.c b/src/gpu/xr/SDL_gpu_openxr.c index aab9201621..24f9bd9c0f 100644 --- a/src/gpu/xr/SDL_gpu_openxr.c +++ b/src/gpu/xr/SDL_gpu_openxr.c @@ -49,7 +49,7 @@ static bool SDL_OPENXR_INTERNAL_InitializeAndroidLoader(void) } #endif /* SDL_PLATFORM_ANDROID */ -bool SDL_OPENXR_INTERNAL_ValidationLayerAvailable() +static bool SDL_OPENXR_INTERNAL_ValidationLayerAvailable(void) { #ifdef SDL_PLATFORM_ANDROID /* On Android/Quest, the xrGetInstanceProcAddr obtained through runtime negotiation @@ -131,7 +131,8 @@ XrResult SDL_OPENXR_INTERNAL_GPUInitOpenXR( extensionNames[userExtensionCount + 1] = XR_KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME; #endif - XrInstanceCreateInfo xrInstanceCreateInfo = { XR_TYPE_INSTANCE_CREATE_INFO }; + XrInstanceCreateInfo xrInstanceCreateInfo = {}; + xrInstanceCreateInfo.type = XR_TYPE_INSTANCE_CREATE_INFO; xrInstanceCreateInfo.applicationInfo.apiVersion = SDL_GetNumberProperty(props, SDL_PROP_GPU_DEVICE_CREATE_XR_VERSION_NUMBER, XR_API_VERSION_1_0); xrInstanceCreateInfo.enabledApiLayerCount = userApiLayerCount + ((debugMode && validationLayersAvailable) ? 1 : 0); // in debug mode, we enable the validation layer xrInstanceCreateInfo.enabledApiLayerNames = apiLayerNames; @@ -147,7 +148,8 @@ XrResult SDL_OPENXR_INTERNAL_GPUInitOpenXR( } void *activity = SDL_GetAndroidActivity(); - XrInstanceCreateInfoAndroidKHR instanceCreateInfoAndroid = { XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR }; + XrInstanceCreateInfoAndroidKHR instanceCreateInfoAndroid = {}; + instanceCreateInfoAndroid.type = XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR; instanceCreateInfoAndroid.applicationVM = vm; instanceCreateInfoAndroid.applicationActivity = activity; xrInstanceCreateInfo.next = &instanceCreateInfoAndroid; @@ -184,7 +186,8 @@ XrResult SDL_OPENXR_INTERNAL_GPUInitOpenXR( return false; } - XrSystemGetInfo systemGetInfo = { XR_TYPE_SYSTEM_GET_INFO }; + XrSystemGetInfo systemGetInfo = {}; + systemGetInfo.type = XR_TYPE_SYSTEM_GET_INFO; systemGetInfo.formFactor = (XrFormFactor)SDL_GetNumberProperty(props, SDL_PROP_GPU_DEVICE_CREATE_XR_FORM_FACTOR_NUMBER, XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY); if ((xrResult = (*xr)->xrGetSystem(*instance, &systemGetInfo, systemId)) != XR_SUCCESS) { SDL_LogDebug(SDL_LOG_CATEGORY_GPU, "Failed to get OpenXR system"); diff --git a/src/gpu/xr/SDL_openxrdyn.c b/src/gpu/xr/SDL_openxrdyn.c index 081c196752..dac9dd76e7 100644 --- a/src/gpu/xr/SDL_openxrdyn.c +++ b/src/gpu/xr/SDL_openxrdyn.c @@ -18,7 +18,6 @@ misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ - #include "SDL_internal.h" #include "SDL_openxrdyn.h" @@ -26,6 +25,7 @@ #ifdef HAVE_GPU_OPENXR #include +#include #if defined(SDL_PLATFORM_APPLE) static const char *openxr_library_names[] = { "libopenxr_loader.dylib", NULL }; diff --git a/src/joystick/hidapi/SDL_hidapi_gamesir.c b/src/joystick/hidapi/SDL_hidapi_gamesir.c index b0cfcb5157..8c357253f7 100644 --- a/src/joystick/hidapi/SDL_hidapi_gamesir.c +++ b/src/joystick/hidapi/SDL_hidapi_gamesir.c @@ -303,7 +303,7 @@ static SDL_hid_device *HIDAPI_DriverGameSir_GetInputHandle(SDL_HIDAPI_Device *de static bool SendGameSirModeSwitch(SDL_HIDAPI_Device *device) { - Gamesir_CommandMode cmd = { 0x01 }; + Gamesir_CommandMode cmd = { 0x01, 0x00 }; Uint8 buf[64]; SDL_zero(buf); buf[0] = 0xA2;