Class KHRWin32Surface
VK_KHR_win32_surface extension is an instance extension. It provides a mechanism to create a VkSurfaceKHR object (defined by the VK_KHR_surface extension) that refers to a Win32 HWND, as well as a query to determine support for rendering to the windows desktop.
- Name String
VK_KHR_win32_surface- Extension Type
- Instance extension
- Registered Extension Number
- 10
- Revision
- 6
- Extension and Version Dependencies
VK_KHR_surface- Contact
- Jesse Hall critsec
- Ian Elliott ianelliottus
Other Extension Metadata
- Last Modified Date
- 2017-04-24
- IP Status
- No known IP claims.
- Contributors
- Patrick Doane, Blizzard
- Faith Ekstrand, Intel
- Ian Elliott, LunarG
- Courtney Goeltzenleuchter, LunarG
- Jesse Hall, Google
- James Jones, NVIDIA
- Antoine Labour, Google
- Jon Leech, Khronos
- David Mao, AMD
- Norbert Nopper, Freescale
- Alon Or-bach, Samsung
- Daniel Rakos, AMD
- Graham Sellers, AMD
- Ray Smith, ARM
- Jeff Vigil, Qualcomm
- Chia-I Wu, LunarG
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe extension name.static final intThe extension specification version.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic intnvkCreateWin32SurfaceKHR(org.lwjgl.vulkan.VkInstance instance, long pCreateInfo, long pAllocator, long pSurface) Unsafe version of:CreateWin32SurfaceKHRstatic intvkCreateWin32SurfaceKHR(org.lwjgl.vulkan.VkInstance instance, VkWin32SurfaceCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pSurface) Array version of:CreateWin32SurfaceKHRstatic intvkCreateWin32SurfaceKHR(org.lwjgl.vulkan.VkInstance instance, VkWin32SurfaceCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, LongBuffer pSurface) Create a VkSurfaceKHR object for a Win32 native window.static booleanvkGetPhysicalDeviceWin32PresentationSupportKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int queueFamilyIndex) Query queue family support for presentation on a Win32 display.
-
Field Details
-
VK_KHR_WIN32_SURFACE_SPEC_VERSION
public static final int VK_KHR_WIN32_SURFACE_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_KHR_WIN32_SURFACE_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR
public static final int VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHRExtendsVkStructureType.- See Also:
-
-
Method Details
-
nvkCreateWin32SurfaceKHR
public static int nvkCreateWin32SurfaceKHR(org.lwjgl.vulkan.VkInstance instance, long pCreateInfo, long pAllocator, long pSurface) Unsafe version of:CreateWin32SurfaceKHR -
vkCreateWin32SurfaceKHR
public static int vkCreateWin32SurfaceKHR(org.lwjgl.vulkan.VkInstance instance, VkWin32SurfaceCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, LongBuffer pSurface) Create a VkSurfaceKHR object for a Win32 native window.C Specification
To create a
VkSurfaceKHRobject for a Win32 window, call:VkResult vkCreateWin32SurfaceKHR( VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);Valid Usage (Implicit)
instancemust be a validVkInstancehandlepCreateInfomust be a valid pointer to a validVkWin32SurfaceCreateInfoKHRstructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pSurfacemust be a valid pointer to aVkSurfaceKHRhandle
Return Codes
- On success, this command returns
- On failure, this command returns
Some Vulkan functions may call the
SendMessagesystem API when interacting with aVkSurfaceKHRthrough aVkSwapchainKHR. In a multithreaded environment, callingSendMessagefrom a thread that is not the thread associated withpCreateInfo→hwndwill block until the application has processed the window message. Thus, applications should either call these Vulkan functions on the message pump thread, or make sure their message pump is actively running. Failing to do so may result in deadlocks.The functions subject to this requirement are:
CreateSwapchainKHRDestroySwapchainKHRAcquireNextImageKHRandAcquireNextImage2KHRQueuePresentKHRReleaseSwapchainImagesEXTAcquireFullScreenExclusiveModeEXTReleaseFullScreenExclusiveModeEXTSetHdrMetadataEXT
See Also
- Parameters:
instance- the instance to associate the surface with.pCreateInfo- a pointer to aVkWin32SurfaceCreateInfoKHRstructure containing parameters affecting the creation of the surface object.pAllocator- the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).pSurface- a pointer to aVkSurfaceKHRhandle in which the created surface object is returned.
-
vkGetPhysicalDeviceWin32PresentationSupportKHR
public static boolean vkGetPhysicalDeviceWin32PresentationSupportKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int queueFamilyIndex) Query queue family support for presentation on a Win32 display.C Specification
To determine whether a queue family of a physical device supports presentation to the Microsoft Windows desktop, call:
VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);Description
This platform-specific function can be called prior to creating a surface.
Valid Usage
queueFamilyIndexmust be less thanpQueueFamilyPropertyCountreturned byvkGetPhysicalDeviceQueueFamilyPropertiesfor the givenphysicalDevice
Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandle
- Parameters:
physicalDevice- the physical device.queueFamilyIndex- the queue family index.
-
vkCreateWin32SurfaceKHR
public static int vkCreateWin32SurfaceKHR(org.lwjgl.vulkan.VkInstance instance, VkWin32SurfaceCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pSurface) Array version of:CreateWin32SurfaceKHR
-