From 88da989ad727ca54beb4beca35b6e188be497d70 Mon Sep 17 00:00:00 2001
From: Sven Balzer <4653051+Kyuusokuna@users.noreply.github.com>
Date: Sat, 8 Mar 2025 19:39:40 +0100
Subject: [PATCH] require Vulkan 1.3 and enable shaderDrawParameters
---
 libs/SDL3/src/gpu/vulkan/SDL_gpu_vulkan.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/libs/SDL3/src/gpu/vulkan/SDL_gpu_vulkan.c b/libs/SDL3/src/gpu/vulkan/SDL_gpu_vulkan.c
index bad67db..52c44b0 100644
--- a/libs/SDL3/src/gpu/vulkan/SDL_gpu_vulkan.c
+++ b/libs/SDL3/src/gpu/vulkan/SDL_gpu_vulkan.c
@@ -11070,7 +11070,7 @@ static Uint8 VULKAN_INTERNAL_CreateInstance(VulkanRenderer *renderer)
     appInfo.applicationVersion = 0;
     appInfo.pEngineName = "SDLGPU";
     appInfo.engineVersion = SDL_VERSION;
-    appInfo.apiVersion = VK_MAKE_VERSION(1, 0, 0);
+    appInfo.apiVersion = VK_MAKE_VERSION(1, 3, 0);
 
     createFlags = 0;
 
@@ -11504,6 +11504,14 @@ static Uint8 VULKAN_INTERNAL_CreateLogicalDevice(
     deviceCreateInfo.ppEnabledExtensionNames = deviceExtensions;
     deviceCreateInfo.pEnabledFeatures = &desiredDeviceFeatures;
 
+    VkPhysicalDeviceVulkan11Features device_features_vulkan11 = {
+        .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES,
+        .pNext = (void *)deviceCreateInfo.pNext,
+        .shaderDrawParameters = VK_TRUE,
+    };
+
+    deviceCreateInfo.pNext = &device_features_vulkan11;
+
     vulkanResult = renderer->vkCreateDevice(
         renderer->physicalDevice,
         &deviceCreateInfo,
-- 
2.48.1

