Browse Source

Fixed building with Visual Studio 2019

Sam Lantinga 1 month ago
parent
commit
8e783e0892
2 changed files with 14 additions and 8 deletions
  1. 8 4
      src/gpu/vulkan/SDL_gpu_vulkan.c
  2. 6 4
      src/gpu/xr/SDL_gpu_openxr.c

+ 8 - 4
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;

+ 6 - 4
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) {