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