Package org.lwjgl.vulkan
Class KHRPushDescriptor
java.lang.Object
org.lwjgl.vulkan.KHRPushDescriptor
This extension allows descriptors to be written into the command buffer, while the implementation is responsible for managing their memory. Push descriptors may enable easier porting from older APIs and in some cases can be more efficient than writing descriptors into descriptor sets.
Promotion to Vulkan 1.4
Functionality in this extension is included in core Vulkan 1.4 with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.
- Name String
VK_KHR_push_descriptor- Extension Type
- Device extension
- Registered Extension Number
- 81
- Revision
- 2
- Extension and Version Dependencies
VK_KHR_get_physical_device_properties2or Version 1.1- API Interactions
- Interacts with VK_VERSION_1_1
- Interacts with VK_KHR_descriptor_update_template
- Deprecation State
- Promoted to Vulkan 1.4
- Contact
- Jeff Bolz jeffbolznv
Other Extension Metadata
- Last Modified Date
- 2017-09-12
- IP Status
- No known IP claims.
- Contributors
- Jeff Bolz, NVIDIA
- Michael Worcester, Imagination Technologies
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intExtendsVkDescriptorSetLayoutCreateFlagBits.static final intExtendsVkDescriptorUpdateTemplateType.static final StringThe extension name.static final intThe extension specification version.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidnvkCmdPushDescriptorSetKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, int pipelineBindPoint, long layout, int set, int descriptorWriteCount, long pDescriptorWrites) Unsafe version of:CmdPushDescriptorSetKHRstatic voidvkCmdPushDescriptorSetKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, int pipelineBindPoint, long layout, int set, VkWriteDescriptorSet.Buffer pDescriptorWrites) SeeCmdPushDescriptorSet.static voidvkCmdPushDescriptorSetWithTemplateKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long descriptorUpdateTemplate, long layout, int set, long pData)
-
Field Details
-
VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION
public static final int VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHRExtendsVkStructureType.- See Also:
-
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR
public static final int VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHRExtendsVkDescriptorSetLayoutCreateFlagBits.- See Also:
-
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
public static final int VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHRExtendsVkDescriptorUpdateTemplateType.- See Also:
-
-
Method Details
-
nvkCmdPushDescriptorSetKHR
public static void nvkCmdPushDescriptorSetKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, int pipelineBindPoint, long layout, int set, int descriptorWriteCount, long pDescriptorWrites) Unsafe version of:CmdPushDescriptorSetKHR- Parameters:
descriptorWriteCount- the number of elements in thepDescriptorWritesarray.
-
vkCmdPushDescriptorSetKHR
public static void vkCmdPushDescriptorSetKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, int pipelineBindPoint, long layout, int set, VkWriteDescriptorSet.Buffer pDescriptorWrites) SeeCmdPushDescriptorSet.- Parameters:
commandBuffer- the command buffer that the descriptors will be recorded in.pipelineBindPoint- aVkPipelineBindPointindicating the type of the pipeline that will use the descriptors. There is a separate set of push descriptor bindings for each pipeline type, so binding one does not disturb the others.layout- aVkPipelineLayoutobject used to program the bindings.set- the set number of the descriptor set in the pipeline layout that will be updated.pDescriptorWrites- a pointer to an array ofVkWriteDescriptorSetstructures describing the descriptors to be updated.
-
vkCmdPushDescriptorSetWithTemplateKHR
public static void vkCmdPushDescriptorSetWithTemplateKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long descriptorUpdateTemplate, long layout, int set, long pData) - Parameters:
commandBuffer- the command buffer that the descriptors will be recorded in.descriptorUpdateTemplate- a descriptor update template defining how to interpret the descriptor information inpData.layout- aVkPipelineLayoutobject used to program the bindings. It must be compatible with the layout used to create thedescriptorUpdateTemplatehandle.set- the set number of the descriptor set in the pipeline layout that will be updated. This must be the same number used to create thedescriptorUpdateTemplatehandle.pData- a pointer to memory containing descriptors for the templated update.
-