// Copyright 2020-2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to vkCmdPushConstants* commands
  * [[VUID-{refpage}-offset-01795]]
    For each byte in the range specified by pname:offset and pname:size and
    for each shader stage in pname:stageFlags, there must: be a push
    constant range in pname:layout that includes that byte and that stage
  * [[VUID-{refpage}-offset-01796]]
    For each byte in the range specified by pname:offset and pname:size and
    for each push constant range that overlaps that byte, pname:stageFlags
    must: include all stages in that push constant range's
    slink:VkPushConstantRange::pname:stageFlags
  * [[VUID-{refpage}-offset-00368]]
    pname:offset must: be a multiple of `4`
  * [[VUID-{refpage}-size-00369]]
    pname:size must: be a multiple of `4`
  * [[VUID-{refpage}-offset-00370]]
    pname:offset must: be less than
    sname:VkPhysicalDeviceLimits::pname:maxPushConstantsSize
  * [[VUID-{refpage}-size-00371]]
    pname:size must: be less than or equal to
    sname:VkPhysicalDeviceLimits::pname:maxPushConstantsSize minus
    pname:offset
// Common Valid Usage
