sType/pNext members. This extension wraps them in new structures with sType/pNext members, so an application can query a chain of feature/limit/formatproperty structures by constructing the chain and letting the implementation fill them in. A new command is added for each vkGetPhysicalDevice* command in core Vulkan 1.0. The new feature structure (and a pNext chain of extending structures) can also be passed in to device creation to enable features.
This extension also allows applications to use the physical-device components of device extensions before CreateDevice is called.
All functionality in this extension is included in core Vulkan 1.1, with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.
// Get features with a hypothetical future extension.
VkHypotheticalExtensionFeaturesKHR hypotheticalFeatures =
{
.sType = VK_STRUCTURE_TYPE_HYPOTHETICAL_FEATURES_KHR,
.pNext = NULL,
};
VkPhysicalDeviceFeatures2KHR features =
{
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,
.pNext = &hypotheticalFeatures,
};
// After this call, features and hypotheticalFeatures have been filled out.
vkGetPhysicalDeviceFeatures2KHR(physicalDevice, &features);
// Properties/limits can be chained and queried similarly.
// Enable some features:
VkHypotheticalExtensionFeaturesKHR enabledHypotheticalFeatures =
{
.sType = VK_STRUCTURE_TYPE_HYPOTHETICAL_FEATURES_KHR,
.pNext = NULL,
};
VkPhysicalDeviceFeatures2KHR enabledFeatures =
{
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR,
.pNext = &enabledHypotheticalFeatures,
};
enabledFeatures.features.xyz = VK_TRUE;
enabledHypotheticalFeatures.abc = VK_TRUE;
VkDeviceCreateInfo deviceCreateInfo =
{
.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
.pNext = &enabledFeatures,
...
.pEnabledFeatures = NULL,
};
VkDevice device;
vkCreateDevice(physicalDevice, &deviceCreateInfo, NULL, &device);
VK_KHR_get_physical_device_properties2| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static void | nvkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, long pFeatures)
Unsafe version of: |
| public static void | nvkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, int format, long pFormatProperties)
Unsafe version of: |
| public static int | nvkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, long pImageFormatInfo, long pImageFormatProperties)
Unsafe version of: |
| public static void | nvkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, long pMemoryProperties)
Unsafe version of: |
| public static void | nvkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, long pProperties)
Unsafe version of: |
| public static void | nvkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, long
a pointer to an integer related to the number of queue families available or queried, as described in pQueueFamilyPropertyCount, long pQueueFamilyProperties)GetPhysicalDeviceQueueFamilyProperties.Unsafe version of: |
| public static void | nvkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, long pFormatInfo, long
a pointer to an integer related to the number of sparse format properties available or queried, as described below. pPropertyCount, long pProperties)Unsafe version of: |
| public static void | vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice
the physical device from which to query the supported features. physicalDevice, VkPhysicalDeviceFeatures2 a pointer to a pFeatures)VkPhysicalDeviceFeatures2 structure in which the physical device features are returned. |
| public static void | vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice
the physical device from which to query the format properties. physicalDevice, int the format whose properties are queried. format, VkFormatProperties2 a pointer to a pFormatProperties)VkFormatProperties2 structure in which physical device properties for format are returned. |
| public static int | vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice
the physical device from which to query the image capabilities. physicalDevice, VkPhysicalDeviceImageFormatInfo2 a pointer to a pImageFormatInfo, VkImageFormatProperties2 VkPhysicalDeviceImageFormatInfo2 structure describing the parameters that would be consumed by CreateImage.a pointer to a pImageFormatProperties)VkImageFormatProperties2 structure in which capabilities are returned. |
| public static void | vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice
the handle to the device to query. physicalDevice, VkPhysicalDeviceMemoryProperties2 a pointer to a pMemoryProperties)VkPhysicalDeviceMemoryProperties2 structure in which the properties are returned. |
| public static void | vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice
the handle to the physical device whose properties will be queried. physicalDevice, VkPhysicalDeviceProperties2 a pointer to a pProperties)VkPhysicalDeviceProperties2 structure in which properties are returned. |
| public static void | vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice
the handle to the physical device whose properties will be queried. physicalDevice, IntBuffer a pointer to an integer related to the number of queue families available or queried, as described in pQueueFamilyPropertyCount, VkQueueFamilyProperties2.GetPhysicalDeviceQueueFamilyProperties.either pQueueFamilyPropertiesNULL or a pointer to an array of VkQueueFamilyProperties2 structures. |
| public static void | vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, int[] pQueueFamilyPropertyCount, VkQueueFamilyProperties2.
Array version of: |
| public static void | vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice
the physical device from which to query the sparse image format properties. physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 a pointer to a pFormatInfo, IntBuffer VkPhysicalDeviceSparseImageFormatInfo2 structure containing input parameters to the command.a pointer to an integer related to the number of sparse format properties available or queried, as described below. pPropertyCount, VkSparseImageFormatProperties2.either pPropertiesNULL or a pointer to an array of VkSparseImageFormatProperties2 structures. |
| public static void | vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, int[] pPropertyCount, VkSparseImageFormatProperties2.
Array version of: |
| VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME The extension name. | |
| VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION The extension specification version. | |
| VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR Extends Enum values:
| |
| VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR Extends Enum values:
| |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR Extends Enum values:
| |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR Extends Enum values:
| |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR Extends Enum values:
| |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR Extends Enum values:
| |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR Extends Enum values:
| |
| VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR Extends Enum values:
| |
| VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR Extends Enum values:
| |
| KHRGetPhysicalDeviceProperties2 | back to summary |
|---|---|
| protected KHRGetPhysicalDeviceProperties2() | |
| nvkGetPhysicalDeviceFeatures2KHR | back to summary |
|---|---|
| public static void nvkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, long pFeatures) Unsafe version of: | |
| nvkGetPhysicalDeviceFormatProperties2KHR | back to summary |
|---|---|
| public static void nvkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, int format, long pFormatProperties) Unsafe version of: | |
| nvkGetPhysicalDeviceImageFormatProperties2KHR | back to summary |
|---|---|
| public static int nvkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, long pImageFormatInfo, long pImageFormatProperties) Unsafe version of: | |
| nvkGetPhysicalDeviceMemoryProperties2KHR | back to summary |
|---|---|
| public static void nvkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, long pMemoryProperties) Unsafe version of: | |
| nvkGetPhysicalDeviceProperties2KHR | back to summary |
|---|---|
| public static void nvkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, long pProperties) Unsafe version of: | |
| nvkGetPhysicalDeviceQueueFamilyProperties2KHR | back to summary |
|---|---|
| public static void nvkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, long pQueueFamilyPropertyCount, long pQueueFamilyProperties) Unsafe version of:
| |
| nvkGetPhysicalDeviceSparseImageFormatProperties2KHR | back to summary |
|---|---|
| public static void nvkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, long pFormatInfo, long pPropertyCount, long pProperties) Unsafe version of:
| |
| vkGetPhysicalDeviceFeatures2KHR | back to summary |
|---|---|
| public static void vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 pFeatures) See
| |
| vkGetPhysicalDeviceFormatProperties2KHR | back to summary |
|---|---|
| public static void vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, int format, VkFormatProperties2 pFormatProperties) See
| |
| vkGetPhysicalDeviceImageFormatProperties2KHR | back to summary |
|---|---|
| public static int vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceImageFormatInfo2 pImageFormatInfo, VkImageFormatProperties2 pImageFormatProperties) See
| |
| vkGetPhysicalDeviceMemoryProperties2KHR | back to summary |
|---|---|
| public static void vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 pMemoryProperties) See
| |
| vkGetPhysicalDeviceProperties2KHR | back to summary |
|---|---|
| public static void vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 pProperties) See
| |
| vkGetPhysicalDeviceQueueFamilyProperties2KHR | back to summary |
|---|---|
| public static void vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, IntBuffer pQueueFamilyPropertyCount, VkQueueFamilyProperties2. See
| |
| vkGetPhysicalDeviceQueueFamilyProperties2KHR | back to summary |
|---|---|
| public static void vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, int[] pQueueFamilyPropertyCount, VkQueueFamilyProperties2. Array version of: | |
| vkGetPhysicalDeviceSparseImageFormatProperties2KHR | back to summary |
|---|---|
| public static void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, IntBuffer pPropertyCount, VkSparseImageFormatProperties2. See
| |
| vkGetPhysicalDeviceSparseImageFormatProperties2KHR | back to summary |
|---|---|
| public static void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, int[] pPropertyCount, VkSparseImageFormatProperties2. Array version of: | |