Structures

VkPushConstantRange

Structure specifying a push constant range

The VkPushConstantRange structure is defined as:

typedef struct VkPushConstantRange {
    VkShaderStageFlags stageFlags;
    uint32_t offset;
    uint32_t size;
} VkPushConstantRange;
  • stageFlags is a set of stage flags describing the shader stages that will access a range of push constants. If a particular stage is not included in the range, then accessing members of that range of push constants from the corresponding shader stage will return undefined: values.
  • offset and size are the start offset and size, respectively, consumed by the range. Both offset and size are in units of bytes and must be a multiple of 4. The layout of the push constant variables is specified in the shader.

Valid Usage

VUID-VkPushConstantRange-offset-00294

offset must be less than VkPhysicalDeviceLimits::maxPushConstantsSize

VUID-VkPushConstantRange-offset-00295

offset must be a multiple of 4

VUID-VkPushConstantRange-size-00296

size must be greater than 0

VUID-VkPushConstantRange-size-00297

size must be a multiple of 4

VUID-VkPushConstantRange-size-00298

size must be less than or equal to VkPhysicalDeviceLimits::maxPushConstantsSize minus offset

Valid Usage (Implicit)