Class KHRPushDescriptor

java.lang.Object
org.lwjgl.vulkan.KHRPushDescriptor

public class KHRPushDescriptor extends Object
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_properties2 or 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
Other Extension Metadata
Last Modified Date
2017-09-12
IP Status
No known IP claims.
Contributors
  • Jeff Bolz, NVIDIA
  • Michael Worcester, Imagination Technologies
  • Field Details

    • VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION

      public static final int VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME

      public static final String 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_KHR
      Extends VkStructureType.
      See Also:
    • VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR

      public static final int VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR
      Extends VkDescriptorSetLayoutCreateFlagBits.
      See Also:
    • VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR

      public static final int VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR
      Extends VkDescriptorUpdateTemplateType.
      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 the pDescriptorWrites array.
    • vkCmdPushDescriptorSetKHR

      public static void vkCmdPushDescriptorSetKHR(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, int pipelineBindPoint, long layout, int set, VkWriteDescriptorSet.Buffer pDescriptorWrites)
      Parameters:
      commandBuffer - the command buffer that the descriptors will be recorded in.
      pipelineBindPoint - a VkPipelineBindPoint indicating 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 - a VkPipelineLayout object 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 of VkWriteDescriptorSet structures 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 in pData.
      layout - a VkPipelineLayout object used to program the bindings. It must be compatible with the layout used to create the descriptorUpdateTemplate handle.
      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 the descriptorUpdateTemplate handle.
      pData - a pointer to memory containing descriptors for the templated update.