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;
pub struct PushConstantRange {
stage_flags: vk::ShaderStageFlags, // Which stages use the range
offset: u32, // Start of the range, in bytes
size: u32, // Size of the range, in bytes
}
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
Parent
VK_VERSION_1_0Type
Structures