Package org.lwjgl.vulkan
Class KHRMaintenance4
- java.lang.Object
-
- org.lwjgl.vulkan.KHRMaintenance4
-
public class KHRMaintenance4 extends java.lang.ObjectVK_KHR_maintenance4adds a collection of minor features, none of which would warrant an entire extension of their own.The new features are as follows:
- Allow the application to destroy their
VkPipelineLayoutobject immediately after it was used to create another object. It is no longer necessary to keep its handle valid while the created object is in use. - Add a new
maxBufferSizeimplementation-defined limit for the maximum sizeVkBufferthat can be created. - Add support for the SPIR-V 1.2
LocalSizeIdexecution mode, which can be used as an alternative toLocalSizeto specify the local workgroup size with specialization constants. - Add a guarantee that images created with identical creation parameters will always have the same alignment requirements.
- Add new
GetDeviceBufferMemoryRequirementsKHR,GetDeviceImageMemoryRequirementsKHR, andGetDeviceImageSparseMemoryRequirementsKHRto allow the application to query the image memory requirements without having to create an image object and query it. - Relax the requirement that push constants must be initialized before they are dynamically accessed.
- Relax the interface matching rules to allow a larger output vector to match with a smaller input vector, with additional values being discarded.
- Add a guarantee for buffer memory requirement that the size memory requirement is never greater than the result of aligning create size with the alignment memory requirement.
Promotion to Vulkan 1.3
Functionality in this extension is included in core Vulkan 1.3, with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.
VK_KHR_maintenance4
- Name String
VK_KHR_maintenance4- Extension Type
- Device extension
- Registered Extension Number
- 414
- Revision
- 2
- Extension and Version Dependencies
- Requires Vulkan 1.1
- Deprecation state
- Promoted to Vulkan 1.3
- Contact
- Piers Daniell pdaniell-nv
Other Extension Metadata
- Last Modified Date
- 2021-10-25
- Interactions and External Dependencies
- Promoted to Vulkan 1.3 Core
- Requires SPIR-V 1.2 for
LocalSizeId
- Contributors
- Lionel Duc, NVIDIA
- Jason Ekstrand, Intel
- Spencer Fricke, Samsung
- Tobias Hector, AMD
- Lionel Landwerlin, Intel
- Graeme Leese, Broadcom
- Tom Olson, Arm
- Stu Smith, AMD
- Yiwei Zhang, Google
- Allow the application to destroy their
-
-
Field Summary
Fields Modifier and Type Field Description static intVK_IMAGE_ASPECT_NONE_KHRExtendsVkImageAspectFlagBits.static java.lang.StringVK_KHR_MAINTENANCE_4_EXTENSION_NAMEThe extension name.static intVK_KHR_MAINTENANCE_4_SPEC_VERSIONThe extension specification version.static intVK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR
VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHRExtendsVkStructureType.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidnvkGetDeviceBufferMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long pInfo, long pMemoryRequirements)Unsafe version of:GetDeviceBufferMemoryRequirementsKHRstatic voidnvkGetDeviceImageMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long pInfo, long pMemoryRequirements)Unsafe version of:GetDeviceImageMemoryRequirementsKHRstatic voidnvkGetDeviceImageSparseMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long pInfo, long pSparseMemoryRequirementCount, long pSparseMemoryRequirements)Unsafe version of:GetDeviceImageSparseMemoryRequirementsKHRstatic voidvkGetDeviceBufferMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, VkDeviceBufferMemoryRequirements pInfo, VkMemoryRequirements2 pMemoryRequirements)static voidvkGetDeviceImageMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, VkDeviceImageMemoryRequirements pInfo, VkMemoryRequirements2 pMemoryRequirements)static voidvkGetDeviceImageSparseMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, VkDeviceImageMemoryRequirements pInfo, int[] pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)Array version of:GetDeviceImageSparseMemoryRequirementsKHRstatic voidvkGetDeviceImageSparseMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, VkDeviceImageMemoryRequirements pInfo, java.nio.IntBuffer pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)
-
-
-
Field Detail
-
VK_KHR_MAINTENANCE_4_SPEC_VERSION
The extension specification version.
-
VK_KHR_MAINTENANCE_4_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR, VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR, VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR
-
VK_IMAGE_ASPECT_NONE_KHR
ExtendsVkImageAspectFlagBits.
-
-
Method Detail
-
nvkGetDeviceBufferMemoryRequirementsKHR
public static void nvkGetDeviceBufferMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long pInfo, long pMemoryRequirements)Unsafe version of:GetDeviceBufferMemoryRequirementsKHR
-
vkGetDeviceBufferMemoryRequirementsKHR
public static void vkGetDeviceBufferMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, VkDeviceBufferMemoryRequirements pInfo, VkMemoryRequirements2 pMemoryRequirements)- Parameters:
device- the logical device intended to own the buffer.pInfo- a pointer to aVkDeviceBufferMemoryRequirementsstructure containing parameters required for the memory requirements query.pMemoryRequirements- a pointer to aVkMemoryRequirements2structure in which the memory requirements of the buffer object are returned.
-
nvkGetDeviceImageMemoryRequirementsKHR
public static void nvkGetDeviceImageMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long pInfo, long pMemoryRequirements)Unsafe version of:GetDeviceImageMemoryRequirementsKHR
-
vkGetDeviceImageMemoryRequirementsKHR
public static void vkGetDeviceImageMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, VkDeviceImageMemoryRequirements pInfo, VkMemoryRequirements2 pMemoryRequirements)- Parameters:
device- the logical device intended to own the image.pInfo- a pointer to aVkDeviceImageMemoryRequirementsstructure containing parameters required for the memory requirements query.pMemoryRequirements- a pointer to aVkMemoryRequirements2structure in which the memory requirements of the image object are returned.
-
nvkGetDeviceImageSparseMemoryRequirementsKHR
public static void nvkGetDeviceImageSparseMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, long pInfo, long pSparseMemoryRequirementCount, long pSparseMemoryRequirements)Unsafe version of:GetDeviceImageSparseMemoryRequirementsKHR- Parameters:
pSparseMemoryRequirementCount- a pointer to an integer related to the number of sparse memory requirements available or queried, as described below.
-
vkGetDeviceImageSparseMemoryRequirementsKHR
public static void vkGetDeviceImageSparseMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, VkDeviceImageMemoryRequirements pInfo, java.nio.IntBuffer pSparseMemoryRequirementCount, @Nullable VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)- Parameters:
device- the logical device intended to own the image.pInfo- a pointer to aVkDeviceImageMemoryRequirementsstructure containing parameters required for the memory requirements query.pSparseMemoryRequirementCount- a pointer to an integer related to the number of sparse memory requirements available or queried, as described below.pSparseMemoryRequirements- eitherNULLor a pointer to an array ofVkSparseImageMemoryRequirements2structures.
-
vkGetDeviceImageSparseMemoryRequirementsKHR
public static void vkGetDeviceImageSparseMemoryRequirementsKHR(org.lwjgl.vulkan.VkDevice device, VkDeviceImageMemoryRequirements pInfo, int[] pSparseMemoryRequirementCount, @Nullable VkSparseImageMemoryRequirements2.Buffer pSparseMemoryRequirements)Array version of:GetDeviceImageSparseMemoryRequirementsKHR
-
-