• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2020-2024 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5// Common Valid Usage
6// Common to vkCmdPushConstants* commands
7  * [[VUID-{refpage}-offset-01795]]
8    For each byte in the range specified by pname:offset and pname:size and
9    for each shader stage in pname:stageFlags, there must: be a push
10    constant range in pname:layout that includes that byte and that stage
11  * [[VUID-{refpage}-offset-01796]]
12    For each byte in the range specified by pname:offset and pname:size and
13    for each push constant range that overlaps that byte, pname:stageFlags
14    must: include all stages in that push constant range's
15    slink:VkPushConstantRange::pname:stageFlags
16  * [[VUID-{refpage}-offset-00368]]
17    pname:offset must: be a multiple of `4`
18  * [[VUID-{refpage}-size-00369]]
19    pname:size must: be a multiple of `4`
20  * [[VUID-{refpage}-offset-00370]]
21    pname:offset must: be less than
22    sname:VkPhysicalDeviceLimits::pname:maxPushConstantsSize
23  * [[VUID-{refpage}-size-00371]]
24    pname:size must: be less than or equal to
25    sname:VkPhysicalDeviceLimits::pname:maxPushConstantsSize minus
26    pname:offset
27// Common Valid Usage
28