[{"data":1,"prerenderedAt":590},["ShallowReactive",2],{"QWY8aKa4nh":3},{"title":4,"description":5,"parent":6,"cmd_buf_level":7,"render_pass_scope":10,"supported_queue_types":11,"tasks":13,"type":15,"xrefs":16,"body":17,"_type":589,"_id":4},"vkCmdSetProvokingVertexModeEXT","Specify the provoking vertex mode dynamically for a command buffer","VK_EXT_extended_dynamic_state3, VK_EXT_shader_object",[8,9],"primary","secondary","both",[12],"graphics",[14],"state","protos",[],{"type":18,"children":19,"toc":587},"root",[20,46,225,257,314,409,413,535,581],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25,28,35,37,44],{"type":26,"value":27},"text","To ",{"type":21,"tag":29,"props":30,"children":32},"a",{"href":31},"/chapters/pipelines#pipelines-dynamic-state",[33],{"type":26,"value":34},"dynamically set",{"type":26,"value":36}," the\n",{"type":21,"tag":38,"props":39,"children":41},"code",{"className":40},[],[42],{"type":26,"value":43},"provokingVertexMode",{"type":26,"value":45}," state, call:",{"type":21,"tag":47,"props":48,"children":49},"code-group",{},[50,124],{"type":21,"tag":51,"props":52,"children":58},"pre",{"className":53,"code":54,"filename":55,"language":56,"meta":57,"style":57},"language-c shiki shiki-themes github-light-default github-dark-default","void vkCmdSetProvokingVertexModeEXT(\n VkCommandBuffer commandBuffer,\n VkProvokingVertexModeEXT provokingVertexMode);\n","C","c","",[59],{"type":21,"tag":38,"props":60,"children":61},{"__ignoreMap":57},[62,86,106],{"type":21,"tag":63,"props":64,"children":67},"span",{"class":65,"line":66},"line",1,[68,74,80],{"type":21,"tag":63,"props":69,"children":71},{"style":70},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[72],{"type":26,"value":73},"void",{"type":21,"tag":63,"props":75,"children":77},{"style":76},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[78],{"type":26,"value":79}," vkCmdSetProvokingVertexModeEXT",{"type":21,"tag":63,"props":81,"children":83},{"style":82},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[84],{"type":26,"value":85},"(\n",{"type":21,"tag":63,"props":87,"children":89},{"class":65,"line":88},2,[90,95,101],{"type":21,"tag":63,"props":91,"children":92},{"style":82},[93],{"type":26,"value":94}," VkCommandBuffer ",{"type":21,"tag":63,"props":96,"children":98},{"style":97},"--shiki-default:#953800;--shiki-dark:#FFA657",[99],{"type":26,"value":100},"commandBuffer",{"type":21,"tag":63,"props":102,"children":103},{"style":82},[104],{"type":26,"value":105},",\n",{"type":21,"tag":63,"props":107,"children":109},{"class":65,"line":108},3,[110,115,119],{"type":21,"tag":63,"props":111,"children":112},{"style":82},[113],{"type":26,"value":114}," VkProvokingVertexModeEXT ",{"type":21,"tag":63,"props":116,"children":117},{"style":97},[118],{"type":26,"value":43},{"type":21,"tag":63,"props":120,"children":121},{"style":82},[122],{"type":26,"value":123},");\n",{"type":21,"tag":51,"props":125,"children":130},{"className":126,"code":127,"filename":128,"language":129,"meta":57,"style":57},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_set_provoking_vertex_mode_ext(\n command_buffer: vk::CommandBuffer,\n provoking_vertex_mode: vk::ProvokingVertexModeEXT,\n);\n","Rust","rs",[131],{"type":21,"tag":38,"props":132,"children":133},{"__ignoreMap":57},[134,156,188,217],{"type":21,"tag":63,"props":135,"children":136},{"class":65,"line":66},[137,142,147,152],{"type":21,"tag":63,"props":138,"children":139},{"style":70},[140],{"type":26,"value":141},"pub",{"type":21,"tag":63,"props":143,"children":144},{"style":70},[145],{"type":26,"value":146}," fn",{"type":21,"tag":63,"props":148,"children":149},{"style":76},[150],{"type":26,"value":151}," cmd_set_provoking_vertex_mode_ext",{"type":21,"tag":63,"props":153,"children":154},{"style":82},[155],{"type":26,"value":85},{"type":21,"tag":63,"props":157,"children":158},{"class":65,"line":88},[159,164,169,174,179,184],{"type":21,"tag":63,"props":160,"children":161},{"style":82},[162],{"type":26,"value":163}," command_buffer",{"type":21,"tag":63,"props":165,"children":166},{"style":70},[167],{"type":26,"value":168},":",{"type":21,"tag":63,"props":170,"children":171},{"style":97},[172],{"type":26,"value":173}," vk",{"type":21,"tag":63,"props":175,"children":176},{"style":70},[177],{"type":26,"value":178},"::",{"type":21,"tag":63,"props":180,"children":181},{"style":97},[182],{"type":26,"value":183},"CommandBuffer",{"type":21,"tag":63,"props":185,"children":186},{"style":82},[187],{"type":26,"value":105},{"type":21,"tag":63,"props":189,"children":190},{"class":65,"line":108},[191,196,200,204,208,213],{"type":21,"tag":63,"props":192,"children":193},{"style":82},[194],{"type":26,"value":195}," provoking_vertex_mode",{"type":21,"tag":63,"props":197,"children":198},{"style":70},[199],{"type":26,"value":168},{"type":21,"tag":63,"props":201,"children":202},{"style":97},[203],{"type":26,"value":173},{"type":21,"tag":63,"props":205,"children":206},{"style":70},[207],{"type":26,"value":178},{"type":21,"tag":63,"props":209,"children":210},{"style":97},[211],{"type":26,"value":212},"ProvokingVertexModeEXT",{"type":21,"tag":63,"props":214,"children":215},{"style":82},[216],{"type":26,"value":105},{"type":21,"tag":63,"props":218,"children":220},{"class":65,"line":219},4,[221],{"type":21,"tag":63,"props":222,"children":223},{"style":82},[224],{"type":26,"value":123},{"type":21,"tag":226,"props":227,"children":228},"ul",{},[229,240],{"type":21,"tag":230,"props":231,"children":232},"li",{},[233,238],{"type":21,"tag":38,"props":234,"children":236},{"className":235},[],[237],{"type":26,"value":100},{"type":26,"value":239}," is the command buffer into which the command will be\nrecorded.",{"type":21,"tag":230,"props":241,"children":242},{},[243,248,250,255],{"type":21,"tag":38,"props":244,"children":246},{"className":245},[],[247],{"type":26,"value":43},{"type":26,"value":249}," specifies the ",{"type":21,"tag":38,"props":251,"children":253},{"className":252},[],[254],{"type":26,"value":43},{"type":26,"value":256}," state.",{"type":21,"tag":22,"props":258,"children":259},{},[260,262,267,269,275,277,283,285,291,292,298,300,306,307,312],{"type":26,"value":261},"This command sets the ",{"type":21,"tag":38,"props":263,"children":265},{"className":264},[],[266],{"type":26,"value":43},{"type":26,"value":268}," state for subsequent drawing\ncommands\nwhen drawing using ",{"type":21,"tag":29,"props":270,"children":272},{"href":271},"/chapters/shaders#shaders-objects",[273],{"type":26,"value":274},"shader objects",{"type":26,"value":276},", or\nwhen the graphics pipeline is created with\n",{"type":21,"tag":38,"props":278,"children":280},{"className":279},[],[281],{"type":26,"value":282},"VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT",{"type":26,"value":284}," set in\n",{"type":21,"tag":29,"props":286,"children":288},{"href":287},"/man/VkPipelineDynamicStateCreateInfo",[289],{"type":26,"value":290},"VkPipelineDynamicStateCreateInfo",{"type":26,"value":178},{"type":21,"tag":38,"props":293,"children":295},{"className":294},[],[296],{"type":26,"value":297},"pDynamicStates",{"type":26,"value":299},".\nOtherwise, this state is specified by the\n",{"type":21,"tag":29,"props":301,"children":303},{"href":302},"/man/VkPipelineRasterizationProvokingVertexStateCreateInfoEXT",[304],{"type":26,"value":305},"VkPipelineRasterizationProvokingVertexStateCreateInfoEXT",{"type":26,"value":178},{"type":21,"tag":38,"props":308,"children":310},{"className":309},[],[311],{"type":26,"value":43},{"type":26,"value":313},"\nvalue used to create the currently active pipeline.",{"type":21,"tag":315,"props":316,"children":318},"validity-group",{"name":317},"Valid Usage",[319],{"type":21,"tag":320,"props":321,"children":323},"validity-field",{"name":322},"VUID-vkCmdSetProvokingVertexModeEXT-None-09423",[324,348,368],{"type":21,"tag":22,"props":325,"children":326},{},[327,329,334,336,346],{"type":26,"value":328},"At least one of the following ",{"type":21,"tag":330,"props":331,"children":333},"normative",{"type":332},"must",[],{"type":26,"value":335}," be true:- The ",{"type":21,"tag":29,"props":337,"children":339},{"href":338},"/man/VkPhysicalDeviceExtendedDynamicState3FeaturesEXT#features-extendedDynamicState3ProvokingVertexMode",[340],{"type":21,"tag":38,"props":341,"children":343},{"className":342},[],[344],{"type":26,"value":345},"extendedDynamicState3ProvokingVertexMode",{"type":26,"value":347}," feature is\nenabled",{"type":21,"tag":226,"props":349,"children":350},{},[351],{"type":21,"tag":230,"props":352,"children":353},{},[354,356,366],{"type":26,"value":355},"The ",{"type":21,"tag":29,"props":357,"children":359},{"href":358},"/man/VkPhysicalDeviceShaderObjectFeaturesEXT#features-shaderObject",[360],{"type":21,"tag":38,"props":361,"children":363},{"className":362},[],[364],{"type":26,"value":365},"shaderObject",{"type":26,"value":367}," feature is enabled\n::",{"type":21,"tag":320,"props":369,"children":371},{"name":370},"VUID-vkCmdSetProvokingVertexModeEXT-provokingVertexMode-07447",[372],{"type":21,"tag":22,"props":373,"children":374},{},[375,377,382,384,390,392,402,404,407],{"type":26,"value":376},"If ",{"type":21,"tag":38,"props":378,"children":380},{"className":379},[],[381],{"type":26,"value":43},{"type":26,"value":383}," is\n",{"type":21,"tag":38,"props":385,"children":387},{"className":386},[],[388],{"type":26,"value":389},"VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT",{"type":26,"value":391},", then the\n",{"type":21,"tag":29,"props":393,"children":395},{"href":394},"/man/VkPhysicalDeviceProvokingVertexFeaturesEXT#features-provokingVertexLast",[396],{"type":21,"tag":38,"props":397,"children":399},{"className":398},[],[400],{"type":26,"value":401},"provokingVertexLast",{"type":26,"value":403}," feature\n",{"type":21,"tag":330,"props":405,"children":406},{"type":332},[],{"type":26,"value":408}," be enabled",{"type":21,"tag":22,"props":410,"children":411},{},[412],{"type":26,"value":178},{"type":21,"tag":315,"props":414,"children":416},{"name":415},"Valid Usage (Implicit)",[417,444,469,493,521],{"type":21,"tag":320,"props":418,"children":420},{"name":419},"VUID-vkCmdSetProvokingVertexModeEXT-commandBuffer-parameter",[421],{"type":21,"tag":22,"props":422,"children":423},{},[424,429,431,434,436,442],{"type":21,"tag":38,"props":425,"children":427},{"className":426},[],[428],{"type":26,"value":100},{"type":26,"value":430}," ",{"type":21,"tag":330,"props":432,"children":433},{"type":332},[],{"type":26,"value":435}," be a valid ",{"type":21,"tag":29,"props":437,"children":439},{"href":438},"/man/VkCommandBuffer",[440],{"type":26,"value":441},"VkCommandBuffer",{"type":26,"value":443}," handle",{"type":21,"tag":320,"props":445,"children":447},{"name":446},"VUID-vkCmdSetProvokingVertexModeEXT-provokingVertexMode-parameter",[448],{"type":21,"tag":22,"props":449,"children":450},{},[451,456,457,460,461,467],{"type":21,"tag":38,"props":452,"children":454},{"className":453},[],[455],{"type":26,"value":43},{"type":26,"value":430},{"type":21,"tag":330,"props":458,"children":459},{"type":332},[],{"type":26,"value":435},{"type":21,"tag":29,"props":462,"children":464},{"href":463},"/man/VkProvokingVertexModeEXT",[465],{"type":26,"value":466},"VkProvokingVertexModeEXT",{"type":26,"value":468}," value",{"type":21,"tag":320,"props":470,"children":472},{"name":471},"VUID-vkCmdSetProvokingVertexModeEXT-commandBuffer-recording",[473],{"type":21,"tag":22,"props":474,"children":475},{},[476,481,482,485,487],{"type":21,"tag":38,"props":477,"children":479},{"className":478},[],[480],{"type":26,"value":100},{"type":26,"value":430},{"type":21,"tag":330,"props":483,"children":484},{"type":332},[],{"type":26,"value":486}," be in the ",{"type":21,"tag":29,"props":488,"children":490},{"href":489},"/chapters/commandbuffers#commandbuffers-lifecycle",[491],{"type":26,"value":492},"recording state",{"type":21,"tag":320,"props":494,"children":496},{"name":495},"VUID-vkCmdSetProvokingVertexModeEXT-commandBuffer-cmdpool",[497],{"type":21,"tag":22,"props":498,"children":499},{},[500,501,507,509,514,516,519],{"type":26,"value":355},{"type":21,"tag":38,"props":502,"children":504},{"className":503},[],[505],{"type":26,"value":506},"VkCommandPool",{"type":26,"value":508}," that ",{"type":21,"tag":38,"props":510,"children":512},{"className":511},[],[513],{"type":26,"value":100},{"type":26,"value":515}," was allocated from ",{"type":21,"tag":330,"props":517,"children":518},{"type":332},[],{"type":26,"value":520}," support graphics operations",{"type":21,"tag":320,"props":522,"children":524},{"name":523},"VUID-vkCmdSetProvokingVertexModeEXT-videocoding",[525],{"type":21,"tag":22,"props":526,"children":527},{},[528,530,533],{"type":26,"value":529},"This command ",{"type":21,"tag":330,"props":531,"children":532},{"type":332},[],{"type":26,"value":534}," only be called outside of a video coding scope",{"type":21,"tag":536,"props":537,"children":539},"validity-box",{"name":538},"Host Synchronization",[540],{"type":21,"tag":226,"props":541,"children":542},{},[543,559],{"type":21,"tag":230,"props":544,"children":545},{},[546,548,553,554,557],{"type":26,"value":547},"Host access to ",{"type":21,"tag":38,"props":549,"children":551},{"className":550},[],[552],{"type":26,"value":100},{"type":26,"value":430},{"type":21,"tag":330,"props":555,"children":556},{"type":332},[],{"type":26,"value":558}," be externally synchronized",{"type":21,"tag":230,"props":560,"children":561},{},[562,564,569,570,575,576,579],{"type":26,"value":563},"Host access to the ",{"type":21,"tag":38,"props":565,"children":567},{"className":566},[],[568],{"type":26,"value":506},{"type":26,"value":508},{"type":21,"tag":38,"props":571,"children":573},{"className":572},[],[574],{"type":26,"value":100},{"type":26,"value":515},{"type":21,"tag":330,"props":577,"children":578},{"type":332},[],{"type":26,"value":580}," be externally synchronized\n::",{"type":21,"tag":582,"props":583,"children":584},"style",{},[585],{"type":26,"value":586},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":57,"searchDepth":88,"depth":88,"links":588},[],"markdown",1729612505983]