VkBindDescriptorBufferEmbeddedSamplersInfoEXT(3)

# VkBindDescriptorBufferEmbeddedSamplersInfoEXT(3) Manual Page

## Name

VkBindDescriptorBufferEmbeddedSamplersInfoEXT - Structure specifying embedded immutable sampler offsets to set in a command buffer

## C Specification

The `VkBindDescriptorBufferEmbeddedSamplersInfoEXT` structure is defined as:

    // Provided by VK_KHR_maintenance6 with VK_EXT_descriptor_buffer
    typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT {
        VkStructureType       sType;
        const void*           pNext;
        VkShaderStageFlags    stageFlags;
        VkPipelineLayout      layout;
        uint32_t              set;
    } VkBindDescriptorBufferEmbeddedSamplersInfoEXT;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `stageFlags` is a bitmask of VkShaderStageFlagBits specifying the shader stages that will use the embedded immutable samplers.

- `layout` is a VkPipelineLayout object used to program the bindings. If the `dynamicPipelineLayout` feature is enabled, `layout` can be VK_NULL_HANDLE and the layout must be specified by chaining VkPipelineLayoutCreateInfo structure off the `pNext`

- `set` is the number of the set to be bound.

## Description

If `stageFlags` specifies a subset of all stages corresponding to one or more pipeline bind points, the binding operation still affects all stages corresponding to the given pipeline bind point(s) as if the equivalent original version of this command had been called with the same parameters. For example, specifying a `stageFlags` value of VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT is equivalent to calling the original version of this command once with VK_PIPELINE_BIND_POINT_GRAPHICS and once with VK_PIPELINE_BIND_POINT_COMPUTE.

Valid Usage

- VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-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-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-set-08071
  `set` must be less than or equal to VkPipelineLayoutCreateInfo::`setLayoutCount` provided when `layout` was created

- VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-None-09495
  If the `dynamicPipelineLayout` feature is not enabled, `layout` must be a valid VkPipelineLayout handle

- VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-layout-09496
  If `layout` is VK_NULL_HANDLE, the `pNext` chain must include a valid VkPipelineLayoutCreateInfo structure

Valid Usage (Implicit)

- VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT

- VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-pNext-pNext
  `pNext` must be `NULL` or a pointer to a valid instance of VkPipelineLayoutCreateInfo

- VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-sType-unique
  The `sType` value of each structure in the `pNext` chain must be unique

- VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-stageFlags-parameter
  `stageFlags` must be a valid combination of VkShaderStageFlagBits values

- VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-stageFlags-requiredbitmask
  `stageFlags` must not be `0`

- VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-layout-parameter
  If `layout` is not VK_NULL_HANDLE, `layout` must be a valid VkPipelineLayout handle

## See Also

VK_EXT_descriptor_buffer, VK_KHR_maintenance6, VkPipelineLayout, VkShaderStageFlags, VkStructureType, vkCmdBindDescriptorBufferEmbeddedSamplers2EXT

## Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0