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
andsize
are the start offset and size, respectively, consumed by the range. Bothoffset
andsize
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)
VUID-VkPushConstantRange-stageFlags-parameter
stageFlags
must be a valid combination of VkShaderStageFlagBits values
VUID-VkPushConstantRange-stageFlags-requiredbitmask
stageFlags
must not be 0