1// Copyright 2019-2024 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5// Common Valid Usage 6// Common to all drawing commands that have a firstInstance parameter. For 7// indirect commands, these VUs pertain to VkDrawIndirectCommand. 8 9ifdef::VK_KHR_vertex_attribute_divisor[] 10 * [[VUID-{refpage}-pNext-09461]] 11 If the bound graphics pipeline state was created with 12 slink:VkPipelineVertexInputDivisorStateCreateInfoKHR in the pname:pNext 13 chain of slink:VkGraphicsPipelineCreateInfo::pname:pVertexInputState, 14 any member of 15 slink:VkPipelineVertexInputDivisorStateCreateInfoKHR::pname:pVertexBindingDivisors 16 has a value other than `1` in pname:divisor, and 17 slink:VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::pname:supportsNonZeroFirstInstance 18 is ename:VK_FALSE, then pname:firstInstance must: be `0` 19 * [[VUID-{refpage}-None-09462]] 20 If 21ifdef::VK_EXT_shader_object[] 22 <<shaders-objects, shader objects>> are used for drawing or 23endif::VK_EXT_shader_object[] 24 the bound graphics pipeline state was created with the 25 ename:VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, any 26 member of the pname:pVertexBindingDescriptions parameter to the 27 flink:vkCmdSetVertexInputEXT call that sets this dynamic state has a 28 value other than `1` in pname:divisor, and 29 slink:VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR::pname:supportsNonZeroFirstInstance 30 is ename:VK_FALSE, then pname:firstInstance must: be `0` 31endif::VK_KHR_vertex_attribute_divisor[] 32 33// Common Valid Usage 34