Function Prototype

vkCmdBindDescriptorBufferEmbeddedSamplersEXT

Setting embedded immutable samplers offsets in a command buffer
primary / secondary
both
graphics / compute
state

To bind an embedded immutable sampler set to a command buffer, call:

void vkCmdBindDescriptorBufferEmbeddedSamplersEXT(
    VkCommandBuffer commandBuffer,
    VkPipelineBindPoint pipelineBindPoint,
    VkPipelineLayout layout,
    uint32_t set);
  • commandBuffer is the command buffer that the embedded immutable samplers will be bound to.
  • pipelineBindPoint is a VkPipelineBindPoint indicating the type of the pipeline that will use the embedded immutable samplers.
  • layout is a VkPipelineLayout object used to program the bindings.
  • set is the number of the set to be bound.

vkCmdBindDescriptorBufferEmbeddedSamplersEXT binds the embedded immutable samplers in set of layout to set for the command buffer for subsequent bound pipeline commands set by pipelineBindPoint. Any previous binding to this set by vkCmdSetDescriptorBufferOffsetsEXT or this command is overwritten. Any sets that were last bound by a call to vkCmdBindDescriptorSets are invalidated upon calling this command. Other sets will also be invalidated upon calling this command if layout differs from the pipeline layout used to bind those other sets, as described in Pipeline Layout Compatibility.

Valid Usage

VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-set-08070

The VkDescriptorSetLayout at index set when layout was created must have been created with the VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT bit set

VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-set-08071

set must be less than or equal to VkPipelineLayoutCreateInfo::setLayoutCount provided when layout was created

VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-pipelineBindPoint-08069

pipelineBindPoint must be supported by the commandBuffer’s parent VkCommandPool’s queue family

Valid Usage (Implicit)

VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations

VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-videocoding

This command must only be called outside of a video coding scope

VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commonparent

Both of commandBuffer, and layout must have been created, allocated, or retrieved from the same VkDevice

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized ::