// 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