#pragma section-numbers off #pragma camelcase off ##*^*^*^*^*See http://wiki.libsdl.org/moin.cgi/SGFunctions for details on editing this page*^*^*^*^* = SDL_Vulkan_GetInstanceExtensions = Use this function to get the names of the Vulkan instance extensions needed to create a surface with [[SDL_Vulkan_CreateSurface]]. <> == Syntax == {{{#!highlight cpp SDL_bool SDL_Vulkan_GetInstanceExtensions(SDL_Window* window, unsigned int* pCount, const char** pNames); }}} == Function Parameters == ||'''window'''||A window for which the required Vulkan instance extensions should be retrieved (will be deprecated in a future release)|| ||'''pCount'''||A pointer to an {{{unsigned int}}} corresponding to the number of extensions to be returned|| ||'''names'''||{{{NULL}}} or a pointer to an array to be filled with required Vulkan instance extensions|| == Return Value == Returns {{{SDL_TRUE}}} on success, {{{SDL_FALSE}}} on error. == Code Examples == {{{#!highlight cpp // Note: This sample uses C++17 features/syntax. // Get the required extension count unsigned int count; if (!SDL_Vulkan_GetInstanceExtensions(window, &count, nullptr)) handle_error(); std::vector extensions = { VK_EXT_DEBUG_REPORT_EXTENSION_NAME // Sample additional extension }; size_t additional_extension_count = extensions.size(); extensions.resize(additional_extension_count + count); if (!SDL_Vulkan_GetInstanceExtensions(window, &count, extensions.data() + additional_extension_count)) handle_error(); // Now we can make the Vulkan instance VkInstanceCreateInfo create_info = {}; create_info.enabledExtensionCount = static_cast(extensions.size()); create_info.ppEnabledExtensionNames = extensions.data(); VkInstance instance; VkResult result = vkCreateInstance(&create_info, nullptr, &instance); }}} == Remarks == If {{{pNames}}} is {{{NULL}}}, then the number of required Vulkan instance extensions is returned in {{{pCount}}}. Otherwise, {{{pCount}}} must point to a variable set to the number of elements in the {{{pNames}}} array, and on return the variable is overwritten with the number of names actually written to {{{pNames}}}. If {{{pCount}}} is less than the number of required extensions, at most {{{pCount}}} structures will be written. If {{{pCount}}} is smaller than the number of required extensions, {{{SDL_FALSE}}} will be returned instead of {{{SDL_TRUE}}}, to indicate that not all the required extensions were returned. ```Note``` The {{{window}}} parameter is currently needed to be valid as of SDL 2.0.8, however, this parameter will likely be removed in future releases == Version == This function is available in SDL 2.0.8 == Related Functions == .[[SDL_Vulkan_CreateSurface]] ---- [[CategoryAPI]], [[CategoryVulkan]] ---- CategoryVulkan