VKPUSHCONSTANTRANGE(3)

NAME
VkPushConstantRange - Structure specifying a push constant range

C SPECIFICATION

The VkPushConstantRange structure is defined as:

    typedef struct VkPushConstantRange {
        VkShaderStageFlags    stageFlags;
        uint32_t              offset;
        uint32_t              size;
    } VkPushConstantRange;

MEMBERS

    • 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 result in undefined data being read.

    • 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.

DESCRIPTION
Valid Usage

    • offset must be less than VkPhysicalDeviceLimits::maxPushConstantsSize

    • size must be greater than 0

    • size must be a multiple of 4

    • size must be less than or equal to VkPhysicalDeviceLimits::maxPushConstantsSize minus offset
Valid Usage (Implicit)

    • stageFlags must be a valid combination of VkShaderStageFlagBits values

    • stageFlags must not be 0

SEE ALSO

VkPipelineLayoutCreateInfo, VkShaderStageFlags

DOCUMENT NOTES

For more information, see the Vulkan Specification at URL

https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkPushConstantRange

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

COPYRIGHT

Copyright (c) 2014-2016 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.

AUTHOR

Khronos Group
    Author.