// Copyright 2019-2024 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 // Common Valid Usage // Common to all drawing commands that have a firstInstance parameter. For // indirect commands, these VUs pertain to VkDrawIndirectCommand. ifdef::VK_KHR_vertex_attribute_divisor[] * [[VUID-{refpage}-pNext-09461]] If the bound graphics pipeline state was created with slink:VkPipelineVertexInputDivisorStateCreateInfoKHR in the pname:pNext chain of slink:VkGraphicsPipelineCreateInfo::pname:pVertexInputState, any member of slink:VkPipelineVertexInputDivisorStateCreateInfoKHR::pname:pVertexBindingDivisors has a value other than `1` in pname:divisor, and slink:VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::pname:supportsNonZeroFirstInstance is ename:VK_FALSE, then pname:firstInstance must: be `0` * [[VUID-{refpage}-None-09462]] If ifdef::VK_EXT_shader_object[] <> are used for drawing or endif::VK_EXT_shader_object[] the bound graphics pipeline state was created with the ename:VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, any member of the pname:pVertexBindingDescriptions parameter to the flink:vkCmdSetVertexInputEXT call that sets this dynamic state has a value other than `1` in pname:divisor, and slink:VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::pname:supportsNonZeroFirstInstance is ename:VK_FALSE, then pname:firstInstance must: be `0` endif::VK_KHR_vertex_attribute_divisor[] // Common Valid Usage