diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c index bb03417975..474e89c987 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 = {}; + XrVulkanInstanceCreateInfoKHR xrCreateInfo; + SDL_zero(xrCreateInfo); xrCreateInfo.type = XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR; xrCreateInfo.vulkanCreateInfo = &createInfo; xrCreateInfo.systemId = renderer->xrSystemId; @@ -12521,7 +12522,8 @@ static Uint8 VULKAN_INTERNAL_CreateLogicalDevice( return 0; } - XrVulkanDeviceCreateInfoKHR xrDeviceCreateInfo = {}; + XrVulkanDeviceCreateInfoKHR xrDeviceCreateInfo; + SDL_zero(xrDeviceCreateInfo); xrDeviceCreateInfo.type = XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR; xrDeviceCreateInfo.vulkanCreateInfo = &deviceCreateInfo; xrDeviceCreateInfo.systemId = renderer->xrSystemId; @@ -12690,7 +12692,8 @@ static XrResult VULKAN_INTERNAL_GetXrMinimumVulkanApiVersion(XrVersion *minimumV return xrResult; } - XrGraphicsRequirementsVulkanKHR graphicsRequirementsVulkan = {}; + XrGraphicsRequirementsVulkanKHR graphicsRequirementsVulkan; + SDL_zero(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); @@ -13099,7 +13102,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 = {}; + XrGraphicsBindingVulkanKHR graphicsBinding; + SDL_zero(graphicsBinding); graphicsBinding.type = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR; graphicsBinding.instance = renderer->instance; graphicsBinding.physicalDevice = renderer->physicalDevice; diff --git a/src/gpu/xr/SDL_gpu_openxr.c b/src/gpu/xr/SDL_gpu_openxr.c index 24f9bd9c0f..28e8b24bf3 100644 --- a/src/gpu/xr/SDL_gpu_openxr.c +++ b/src/gpu/xr/SDL_gpu_openxr.c @@ -113,7 +113,7 @@ XrResult SDL_OPENXR_INTERNAL_GPUInitOpenXR( const char *const *userExtensionNames = SDL_GetPointerProperty(props, SDL_PROP_GPU_DEVICE_CREATE_XR_EXTENSION_NAMES_POINTER, NULL); // allocate enough space for the validation layer + the user's api layers - const char **apiLayerNames = SDL_stack_alloc(const char *, userApiLayerCount + 1); + char **apiLayerNames = SDL_stack_alloc(char *, userApiLayerCount + 1); SDL_memcpy(apiLayerNames, userApiLayerNames, sizeof(const char *) * (userApiLayerCount)); apiLayerNames[userApiLayerCount] = VALIDATION_LAYER_API_NAME; @@ -124,14 +124,15 @@ XrResult SDL_OPENXR_INTERNAL_GPUInitOpenXR( const Uint32 platformExtensionCount = 1; // GPU extension only #endif - const char **extensionNames = SDL_stack_alloc(const char *, userExtensionCount + platformExtensionCount); + char **extensionNames = SDL_stack_alloc(char *, userExtensionCount + platformExtensionCount); SDL_memcpy(extensionNames, userExtensionNames, sizeof(const char *) * (userExtensionCount)); extensionNames[userExtensionCount] = gpuExtension.extensionName; #ifdef SDL_PLATFORM_ANDROID extensionNames[userExtensionCount + 1] = XR_KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME; #endif - XrInstanceCreateInfo xrInstanceCreateInfo = {}; + XrInstanceCreateInfo xrInstanceCreateInfo; + SDL_zero(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 @@ -186,7 +187,8 @@ XrResult SDL_OPENXR_INTERNAL_GPUInitOpenXR( return false; } - XrSystemGetInfo systemGetInfo = {}; + XrSystemGetInfo systemGetInfo; + SDL_zero(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) {