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;
stageFlagsis 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.offsetandsizeare the start offset and size, respectively, consumed by the range. Bothoffsetandsizeare 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