@@ -2309,12 +2309,12 @@ extern SDL_DECLSPEC SDL_GPUDevice * SDLCALL SDL_CreateGPUDevice(
23092309 *
23102310 * With the Vulkan renderer:
23112311 *
2312- * - `SDL_PROP_GPU_DEVICE_CREATE_VULKAN_ADDITIONAL_FEATURES_POINTER `: pointer
2313- * to a Vulkan structure to be appended to SDL's VkDeviceCreateInfo during
2314- * device creation.
2315- * This allows passing a list of VkPhysicalDeviceFeature structures to
2316- * opt-into features aside from the minimal set SDL requires. It also allows
2317- * requesting a higher API version and opting into extensions .
2312+ * - `SDL_PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER `: pointer to an
2313+ * SDL_GPUVulkanOptions structure to be processed during device creation.
2314+ * This allows configuring a variety of Vulkan-specific options such as
2315+ * increasing the API version and opting into extensions aside from the
2316+ * minimal set SDL requires. The structure is NOT deep-copied. Make sure
2317+ * that the pointer valid memory during window creation .
23182318 *
23192319 * \param props the properties to use.
23202320 * \returns a GPU context on success or NULL on failure; call SDL_GetError()
@@ -2352,17 +2352,26 @@ extern SDL_DECLSPEC SDL_GPUDevice * SDLCALL SDL_CreateGPUDeviceWithProperties(
23522352/**
23532353 * A structure specifying additional options when using Vulkan.
23542354 *
2355- * When no such structure is provided, SDL will use Vulkan API version 1.0 and a minimal set of features.
2356- * The feature list gets passed to the vkCreateInstance function and allows requesting additional
2357- * features.
2355+ * When no such structure is provided, SDL will use Vulkan API version 1.0 and
2356+ * a minimal set of features.
2357+ * The requested API version influences how the feature_list is processed by
2358+ * SDL. When requesting API version 1.0, the feature_list is ignored. Only the
2359+ * vulkan_10_phyisical_device_features and the extension lists are used. When
2360+ * requesting API version 1.1, the feature_list is scanned for feature
2361+ * structures introduced in Vulkan 1.1. When requesting Vulkan 1.2 or higher,
2362+ * the feature_list is additionally scanned for compound feature structs such
2363+ * as VkPhysicalDeviceVulkan11Features. The device and instance extension
2364+ * lists, as well as vulkan_10_physical_device_features, are always processed.
2365+ * The pointers inside this structure are NOT deep-copied. Make sure they are
2366+ * valid during window creation.
23582367 *
23592368 * \since This struct is available since SDL 3.4.0.
23602369 *
23612370 */
23622371typedef struct SDL_GPUVulkanOptions
23632372{
23642373 Uint32 vulkan_api_version ; /**< The Vulkan API version to request for the instance. Use Vulkan's VK_MAKE_VERSION or VK_MAKE_API_VERSION. */
2365- void * feature_list ; /**< Pointer to the first element of a list of structs to be passed to device creation. */
2374+ void * feature_list ; /**< Pointer to the first element of a chain of Vulkan feature structs. (Requires API version 1.1 or higher.) */
23662375 void * vulkan_10_physical_device_features ; /**< Pointer to a VkPhysicalDeviceFeatures struct to enable additional Vulkan 1.0 features. */
23672376 Uint32 device_extension_count ; /**< Number of additional device extensions to require. */
23682377 const char * * device_extension_names ; /**< Pointer to a list of additional device extensions to require. */
0 commit comments