Package org.lwjgl.vulkan
Class KHRGetPhysicalDeviceProperties2
- java.lang.Object
-
- org.lwjgl.vulkan.KHRGetPhysicalDeviceProperties2
-
public class KHRGetPhysicalDeviceProperties2 extends java.lang.Object
This extension provides new entry points to query device features, device properties, and format properties in a way that can be easily extended by other extensions, without introducing any further entry points. The Vulkan 1.0 feature/limit/formatproperty structures do not includesType
/pNext
members. This extension wraps them in new structures withsType
/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 eachvkGetPhysicalDevice*
command in core Vulkan 1.0. The new feature structure (and a chain of extension 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.Promotion to Vulkan 1.1
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.
Examples
// Get features with a hypothetical future extension. VkHypotheticalExtensionFeaturesKHR hypotheticalFeatures = { VK_STRUCTURE_TYPE_HYPOTHETICAL_FEATURES_KHR, // sType NULL, // pNext }; VkPhysicalDeviceFeatures2KHR features = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR, // sType &hypotheticalFeatures, // pNext }; // 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 = { VK_STRUCTURE_TYPE_HYPOTHETICAL_FEATURES_KHR, // sType NULL, // pNext }; VkPhysicalDeviceFeatures2KHR enabledFeatures = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR, // sType &enabledHypotheticalFeatures, // pNext }; enabledFeatures.features.xyz = VK_TRUE; enabledHypotheticalFeatures.abc = VK_TRUE; VkDeviceCreateInfo deviceCreateInfo = { VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, // sType &enabledFeatures, // pNext ... NULL, // pEnabledFeatures } VkDevice device; vkCreateDevice(physicalDevice, &deviceCreateInfo, NULL, &device);
- Name String
VK_KHR_get_physical_device_properties2
- Extension Type
- Instance extension
- Registered Extension Number
- 60
- Revision
- 2
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Deprecation state
- Promoted to Vulkan 1.1
- Contact
- Jeff Bolz jeffbolznv
- Last Modified Date
- 2017-09-05
- IP Status
- No known IP claims.
- Interactions and External Dependencies
- Promoted to Vulkan 1.1 Core
- Contributors
- Jeff Bolz, NVIDIA
- Ian Elliott, Google
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
The extension name.static int
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION
The extension specification version.static int
VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR
VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR
VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR
VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHRExtendsVkStructureType
.
-
Method Summary
-
-
-
Field Detail
-
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION
The extension specification version.
-
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR, VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR, VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR, VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR, VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR
ExtendsVkStructureType
.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR
STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR
STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR
STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR
STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR
STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR
STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR
STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR
STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR
-
-
Method Detail
-
nvkGetPhysicalDeviceFeatures2KHR
public static void nvkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, long pFeatures)
Unsafe version of:GetPhysicalDeviceFeatures2KHR
-
vkGetPhysicalDeviceFeatures2KHR
public static void vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 pFeatures)
- Parameters:
physicalDevice
- the physical device from which to query the supported features.pFeatures
- a pointer to aVkPhysicalDeviceFeatures2
structure in which the physical device features are returned.
-
nvkGetPhysicalDeviceProperties2KHR
public static void nvkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, long pProperties)
Unsafe version of:GetPhysicalDeviceProperties2KHR
-
vkGetPhysicalDeviceProperties2KHR
public static void vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 pProperties)
- Parameters:
physicalDevice
- the handle to the physical device whose properties will be queried.pProperties
- points to an instance of theVkPhysicalDeviceProperties2
structure, that will be filled with returned information.
-
nvkGetPhysicalDeviceFormatProperties2KHR
public static void nvkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, int format, long pFormatProperties)
Unsafe version of:GetPhysicalDeviceFormatProperties2KHR
-
vkGetPhysicalDeviceFormatProperties2KHR
public static void vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice, int format, VkFormatProperties2 pFormatProperties)
- Parameters:
physicalDevice
- the physical device from which to query the format properties.format
- the format whose properties are queried.pFormatProperties
- a pointer to aVkFormatProperties2
structure in which physical device properties forformat
are returned.
-
nvkGetPhysicalDeviceImageFormatProperties2KHR
public static int nvkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, long pImageFormatInfo, long pImageFormatProperties)
Unsafe version of:GetPhysicalDeviceImageFormatProperties2KHR
-
vkGetPhysicalDeviceImageFormatProperties2KHR
public static int vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceImageFormatInfo2 pImageFormatInfo, VkImageFormatProperties2 pImageFormatProperties)
- Parameters:
physicalDevice
- the physical device from which to query the image capabilities.pImageFormatInfo
- points to an instance of theVkPhysicalDeviceImageFormatInfo2
structure, describing the parameters that would be consumed byCreateImage
.pImageFormatProperties
- points to an instance of theVkImageFormatProperties2
structure in which capabilities are returned.
-
nvkGetPhysicalDeviceQueueFamilyProperties2KHR
public static void nvkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, long pQueueFamilyPropertyCount, long pQueueFamilyProperties)
Unsafe version of:GetPhysicalDeviceQueueFamilyProperties2KHR
- Parameters:
pQueueFamilyPropertyCount
- a pointer to an integer related to the number of queue families available or queried, as described inGetPhysicalDeviceQueueFamilyProperties
.
-
vkGetPhysicalDeviceQueueFamilyProperties2KHR
public static void vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, java.nio.IntBuffer pQueueFamilyPropertyCount, @Nullable VkQueueFamilyProperties2.Buffer pQueueFamilyProperties)
- Parameters:
physicalDevice
- the handle to the physical device whose properties will be queried.pQueueFamilyPropertyCount
- a pointer to an integer related to the number of queue families available or queried, as described inGetPhysicalDeviceQueueFamilyProperties
.pQueueFamilyProperties
- eitherNULL
or a pointer to an array ofVkQueueFamilyProperties2
structures.
-
nvkGetPhysicalDeviceMemoryProperties2KHR
public static void nvkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, long pMemoryProperties)
Unsafe version of:GetPhysicalDeviceMemoryProperties2KHR
-
vkGetPhysicalDeviceMemoryProperties2KHR
public static void vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 pMemoryProperties)
- Parameters:
physicalDevice
- the handle to the device to query.pMemoryProperties
- points to an instance of theVkPhysicalDeviceMemoryProperties2
structure in which the properties are returned.
-
nvkGetPhysicalDeviceSparseImageFormatProperties2KHR
public static void nvkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, long pFormatInfo, long pPropertyCount, long pProperties)
Unsafe version of:GetPhysicalDeviceSparseImageFormatProperties2KHR
- Parameters:
pPropertyCount
- a pointer to an integer related to the number of sparse format properties available or queried, as described below.
-
vkGetPhysicalDeviceSparseImageFormatProperties2KHR
public static void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, java.nio.IntBuffer pPropertyCount, @Nullable VkSparseImageFormatProperties2.Buffer pProperties)
- Parameters:
physicalDevice
- the physical device from which to query the sparse image capabilities.pFormatInfo
- a pointer to a structure of typeVkPhysicalDeviceSparseImageFormatInfo2
containing input parameters to the command.pPropertyCount
- a pointer to an integer related to the number of sparse format properties available or queried, as described below.pProperties
- eitherNULL
or a pointer to an array ofVkSparseImageFormatProperties2
structures.
-
vkGetPhysicalDeviceQueueFamilyProperties2KHR
public static void vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice, int[] pQueueFamilyPropertyCount, @Nullable VkQueueFamilyProperties2.Buffer pQueueFamilyProperties)
Array version of:GetPhysicalDeviceQueueFamilyProperties2KHR
-
vkGetPhysicalDeviceSparseImageFormatProperties2KHR
public static void vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice, VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo, int[] pPropertyCount, @Nullable VkSparseImageFormatProperties2.Buffer pProperties)
Array version of:GetPhysicalDeviceSparseImageFormatProperties2KHR
-
-