[{"data":1,"prerenderedAt":700},["ShallowReactive",2],{"3Dcf6T0kBn":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":699,"_id":4},"vkCmdSetViewportWithCount","Set the viewport count and viewports dynamically for a command buffer","VK_VERSION_1_3","protos",[],{"type":10,"children":11,"toc":697},"root",[12,29,264,301,358,491,645,691],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,27],{"type":18,"value":19},"text","To ",{"type":13,"tag":21,"props":22,"children":24},"a",{"href":23},"/chapters/pipelines#pipelines-dynamic-state",[25],{"type":18,"value":26},"dynamically set",{"type":18,"value":28}," the viewport count and\nviewports, call:",{"type":13,"tag":30,"props":31,"children":32},"code-group",{},[33,137],{"type":13,"tag":34,"props":35,"children":41},"pre",{"className":36,"code":37,"filename":38,"language":39,"meta":40,"style":40},"language-c shiki shiki-themes github-light-default github-dark-default","void vkCmdSetViewportWithCountEXT(\n VkCommandBuffer commandBuffer,\n uint32_t viewportCount,\n const VkViewport* pViewports);\n","C","c","",[42],{"type":13,"tag":43,"props":44,"children":45},"code",{"__ignoreMap":40},[46,70,90,108],{"type":13,"tag":47,"props":48,"children":51},"span",{"class":49,"line":50},"line",1,[52,58,64],{"type":13,"tag":47,"props":53,"children":55},{"style":54},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[56],{"type":18,"value":57},"void",{"type":13,"tag":47,"props":59,"children":61},{"style":60},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[62],{"type":18,"value":63}," vkCmdSetViewportWithCountEXT",{"type":13,"tag":47,"props":65,"children":67},{"style":66},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[68],{"type":18,"value":69},"(\n",{"type":13,"tag":47,"props":71,"children":73},{"class":49,"line":72},2,[74,79,85],{"type":13,"tag":47,"props":75,"children":76},{"style":66},[77],{"type":18,"value":78}," VkCommandBuffer ",{"type":13,"tag":47,"props":80,"children":82},{"style":81},"--shiki-default:#953800;--shiki-dark:#FFA657",[83],{"type":18,"value":84},"commandBuffer",{"type":13,"tag":47,"props":86,"children":87},{"style":66},[88],{"type":18,"value":89},",\n",{"type":13,"tag":47,"props":91,"children":93},{"class":49,"line":92},3,[94,99,104],{"type":13,"tag":47,"props":95,"children":96},{"style":54},[97],{"type":18,"value":98}," uint32_t",{"type":13,"tag":47,"props":100,"children":101},{"style":81},[102],{"type":18,"value":103}," viewportCount",{"type":13,"tag":47,"props":105,"children":106},{"style":66},[107],{"type":18,"value":89},{"type":13,"tag":47,"props":109,"children":111},{"class":49,"line":110},4,[112,117,122,127,132],{"type":13,"tag":47,"props":113,"children":114},{"style":54},[115],{"type":18,"value":116}," const",{"type":13,"tag":47,"props":118,"children":119},{"style":66},[120],{"type":18,"value":121}," VkViewport",{"type":13,"tag":47,"props":123,"children":124},{"style":54},[125],{"type":18,"value":126},"*",{"type":13,"tag":47,"props":128,"children":129},{"style":81},[130],{"type":18,"value":131}," pViewports",{"type":13,"tag":47,"props":133,"children":134},{"style":66},[135],{"type":18,"value":136},");\n",{"type":13,"tag":34,"props":138,"children":143},{"className":139,"code":140,"filename":141,"language":142,"meta":40,"style":40},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_set_viewport_with_count_ext(\n command_buffer: vk::CommandBuffer,\n viewport_count: u32,\n p_viewports: *const vk::Viewport,\n);\n","Rust","rs",[144],{"type":13,"tag":43,"props":145,"children":146},{"__ignoreMap":40},[147,169,201,222,256],{"type":13,"tag":47,"props":148,"children":149},{"class":49,"line":50},[150,155,160,165],{"type":13,"tag":47,"props":151,"children":152},{"style":54},[153],{"type":18,"value":154},"pub",{"type":13,"tag":47,"props":156,"children":157},{"style":54},[158],{"type":18,"value":159}," fn",{"type":13,"tag":47,"props":161,"children":162},{"style":60},[163],{"type":18,"value":164}," cmd_set_viewport_with_count_ext",{"type":13,"tag":47,"props":166,"children":167},{"style":66},[168],{"type":18,"value":69},{"type":13,"tag":47,"props":170,"children":171},{"class":49,"line":72},[172,177,182,187,192,197],{"type":13,"tag":47,"props":173,"children":174},{"style":66},[175],{"type":18,"value":176}," command_buffer",{"type":13,"tag":47,"props":178,"children":179},{"style":54},[180],{"type":18,"value":181},":",{"type":13,"tag":47,"props":183,"children":184},{"style":81},[185],{"type":18,"value":186}," vk",{"type":13,"tag":47,"props":188,"children":189},{"style":54},[190],{"type":18,"value":191},"::",{"type":13,"tag":47,"props":193,"children":194},{"style":81},[195],{"type":18,"value":196},"CommandBuffer",{"type":13,"tag":47,"props":198,"children":199},{"style":66},[200],{"type":18,"value":89},{"type":13,"tag":47,"props":202,"children":203},{"class":49,"line":92},[204,209,213,218],{"type":13,"tag":47,"props":205,"children":206},{"style":66},[207],{"type":18,"value":208}," viewport_count",{"type":13,"tag":47,"props":210,"children":211},{"style":54},[212],{"type":18,"value":181},{"type":13,"tag":47,"props":214,"children":215},{"style":81},[216],{"type":18,"value":217}," u32",{"type":13,"tag":47,"props":219,"children":220},{"style":66},[221],{"type":18,"value":89},{"type":13,"tag":47,"props":223,"children":224},{"class":49,"line":110},[225,230,234,239,243,247,252],{"type":13,"tag":47,"props":226,"children":227},{"style":66},[228],{"type":18,"value":229}," p_viewports",{"type":13,"tag":47,"props":231,"children":232},{"style":54},[233],{"type":18,"value":181},{"type":13,"tag":47,"props":235,"children":236},{"style":54},[237],{"type":18,"value":238}," *const",{"type":13,"tag":47,"props":240,"children":241},{"style":81},[242],{"type":18,"value":186},{"type":13,"tag":47,"props":244,"children":245},{"style":54},[246],{"type":18,"value":191},{"type":13,"tag":47,"props":248,"children":249},{"style":81},[250],{"type":18,"value":251},"Viewport",{"type":13,"tag":47,"props":253,"children":254},{"style":66},[255],{"type":18,"value":89},{"type":13,"tag":47,"props":257,"children":259},{"class":49,"line":258},5,[260],{"type":13,"tag":47,"props":261,"children":262},{"style":66},[263],{"type":18,"value":136},{"type":13,"tag":265,"props":266,"children":267},"ul",{},[268,279,290],{"type":13,"tag":269,"props":270,"children":271},"li",{},[272,277],{"type":13,"tag":43,"props":273,"children":275},{"className":274},[],[276],{"type":18,"value":84},{"type":18,"value":278}," is the command buffer into which the command will be\nrecorded.",{"type":13,"tag":269,"props":280,"children":281},{},[282,288],{"type":13,"tag":43,"props":283,"children":285},{"className":284},[],[286],{"type":18,"value":287},"viewportCount",{"type":18,"value":289}," specifies the viewport count.",{"type":13,"tag":269,"props":291,"children":292},{},[293,299],{"type":13,"tag":43,"props":294,"children":296},{"className":295},[],[297],{"type":18,"value":298},"pViewports",{"type":18,"value":300}," specifies the viewports to use for drawing.",{"type":13,"tag":14,"props":302,"children":303},{},[304,306,312,314,320,322,328,329,335,337,343,344,349,351,356],{"type":18,"value":305},"This command sets the viewport count and viewports state for subsequent\ndrawing commands\nwhen drawing using ",{"type":13,"tag":21,"props":307,"children":309},{"href":308},"/chapters/shaders#shaders-objects",[310],{"type":18,"value":311},"shader objects",{"type":18,"value":313},", or\nwhen the graphics pipeline is created with\n",{"type":13,"tag":43,"props":315,"children":317},{"className":316},[],[318],{"type":18,"value":319},"VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT",{"type":18,"value":321}," set in\n",{"type":13,"tag":21,"props":323,"children":325},{"href":324},"/man/VkPipelineDynamicStateCreateInfo",[326],{"type":18,"value":327},"VkPipelineDynamicStateCreateInfo",{"type":18,"value":191},{"type":13,"tag":43,"props":330,"children":332},{"className":331},[],[333],{"type":18,"value":334},"pDynamicStates",{"type":18,"value":336},".\nOtherwise, this state is specified by the corresponding\n",{"type":13,"tag":21,"props":338,"children":340},{"href":339},"/man/VkPipelineViewportStateCreateInfo",[341],{"type":18,"value":342},"VkPipelineViewportStateCreateInfo",{"type":18,"value":191},{"type":13,"tag":43,"props":345,"children":347},{"className":346},[],[348],{"type":18,"value":287},{"type":18,"value":350}," and\n",{"type":13,"tag":43,"props":352,"children":354},{"className":353},[],[355],{"type":18,"value":298},{"type":18,"value":357}," values used to create the currently active pipeline.",{"type":13,"tag":359,"props":360,"children":362},"validity-group",{"name":361},"Valid Usage",[363,380,421,458],{"type":13,"tag":364,"props":365,"children":367},"validity-field",{"name":366},"VUID-vkCmdSetViewportWithCount-None-08971",[368],{"type":13,"tag":14,"props":369,"children":370},{},[371,373,378],{"type":18,"value":372},"At least one of the following ",{"type":13,"tag":374,"props":375,"children":377},"normative",{"type":376},"must",[],{"type":18,"value":379}," be true:",{"type":13,"tag":364,"props":381,"children":383},{"name":382},"VUID-vkCmdSetViewportWithCount-viewportCount-03394",[384],{"type":13,"tag":14,"props":385,"children":386},{},[387,392,394,397,399,405,406,412,413,419],{"type":13,"tag":43,"props":388,"children":390},{"className":389},[],[391],{"type":18,"value":287},{"type":18,"value":393}," ",{"type":13,"tag":374,"props":395,"children":396},{"type":376},[],{"type":18,"value":398}," be between ",{"type":13,"tag":43,"props":400,"children":402},{"className":401},[],[403],{"type":18,"value":404},"1",{"type":18,"value":350},{"type":13,"tag":43,"props":407,"children":409},{"className":408},[],[410],{"type":18,"value":411},"VkPhysicalDeviceLimits",{"type":18,"value":191},{"type":13,"tag":43,"props":414,"children":416},{"className":415},[],[417],{"type":18,"value":418},"maxViewports",{"type":18,"value":420},", inclusive",{"type":13,"tag":364,"props":422,"children":424},{"name":423},"VUID-vkCmdSetViewportWithCount-viewportCount-03395",[425],{"type":13,"tag":14,"props":426,"children":427},{},[428,430,440,442,447,448,451,453],{"type":18,"value":429},"If the ",{"type":13,"tag":21,"props":431,"children":433},{"href":432},"/man/VkPhysicalDeviceFeatures#features-multiViewport",[434],{"type":13,"tag":43,"props":435,"children":437},{"className":436},[],[438],{"type":18,"value":439},"multiViewport",{"type":18,"value":441}," feature is not\nenabled, ",{"type":13,"tag":43,"props":443,"children":445},{"className":444},[],[446],{"type":18,"value":287},{"type":18,"value":393},{"type":13,"tag":374,"props":449,"children":450},{"type":376},[],{"type":18,"value":452}," be ",{"type":13,"tag":43,"props":454,"children":456},{"className":455},[],[457],{"type":18,"value":404},{"type":13,"tag":364,"props":459,"children":461},{"name":460},"VUID-vkCmdSetViewportWithCount-commandBuffer-04819",[462],{"type":13,"tag":14,"props":463,"children":464},{},[465,470,471,474,476,482,483,489],{"type":13,"tag":43,"props":466,"children":468},{"className":467},[],[469],{"type":18,"value":84},{"type":18,"value":393},{"type":13,"tag":374,"props":472,"children":473},{"type":376},[],{"type":18,"value":475}," not have\n",{"type":13,"tag":21,"props":477,"children":479},{"href":478},"/man/VkCommandBufferInheritanceViewportScissorInfoNV",[480],{"type":18,"value":481},"VkCommandBufferInheritanceViewportScissorInfoNV",{"type":18,"value":191},{"type":13,"tag":43,"props":484,"children":486},{"className":485},[],[487],{"type":18,"value":488},"viewportScissor2D",{"type":18,"value":490},"\nenabled",{"type":13,"tag":359,"props":492,"children":494},{"name":493},"Valid Usage (Implicit)",[495,521,554,578,607,621],{"type":13,"tag":364,"props":496,"children":498},{"name":497},"VUID-vkCmdSetViewportWithCount-commandBuffer-parameter",[499],{"type":13,"tag":14,"props":500,"children":501},{},[502,507,508,511,513,519],{"type":13,"tag":43,"props":503,"children":505},{"className":504},[],[506],{"type":18,"value":84},{"type":18,"value":393},{"type":13,"tag":374,"props":509,"children":510},{"type":376},[],{"type":18,"value":512}," be a valid ",{"type":13,"tag":21,"props":514,"children":516},{"href":515},"/man/VkCommandBuffer",[517],{"type":18,"value":518},"VkCommandBuffer",{"type":18,"value":520}," handle",{"type":13,"tag":364,"props":522,"children":524},{"name":523},"VUID-vkCmdSetViewportWithCount-pViewports-parameter",[525],{"type":13,"tag":14,"props":526,"children":527},{},[528,533,534,537,539,544,546,552],{"type":13,"tag":43,"props":529,"children":531},{"className":530},[],[532],{"type":18,"value":298},{"type":18,"value":393},{"type":13,"tag":374,"props":535,"children":536},{"type":376},[],{"type":18,"value":538}," be a valid pointer to an array of ",{"type":13,"tag":43,"props":540,"children":542},{"className":541},[],[543],{"type":18,"value":287},{"type":18,"value":545}," valid ",{"type":13,"tag":21,"props":547,"children":549},{"href":548},"/man/VkViewport",[550],{"type":18,"value":551},"VkViewport",{"type":18,"value":553}," structures",{"type":13,"tag":364,"props":555,"children":557},{"name":556},"VUID-vkCmdSetViewportWithCount-commandBuffer-recording",[558],{"type":13,"tag":14,"props":559,"children":560},{},[561,566,567,570,572],{"type":13,"tag":43,"props":562,"children":564},{"className":563},[],[565],{"type":18,"value":84},{"type":18,"value":393},{"type":13,"tag":374,"props":568,"children":569},{"type":376},[],{"type":18,"value":571}," be in the ",{"type":13,"tag":21,"props":573,"children":575},{"href":574},"/chapters/commandbuffers#commandbuffers-lifecycle",[576],{"type":18,"value":577},"recording state",{"type":13,"tag":364,"props":579,"children":581},{"name":580},"VUID-vkCmdSetViewportWithCount-commandBuffer-cmdpool",[582],{"type":13,"tag":14,"props":583,"children":584},{},[585,587,593,595,600,602,605],{"type":18,"value":586},"The ",{"type":13,"tag":43,"props":588,"children":590},{"className":589},[],[591],{"type":18,"value":592},"VkCommandPool",{"type":18,"value":594}," that ",{"type":13,"tag":43,"props":596,"children":598},{"className":597},[],[599],{"type":18,"value":84},{"type":18,"value":601}," was allocated from ",{"type":13,"tag":374,"props":603,"children":604},{"type":376},[],{"type":18,"value":606}," support graphics operations",{"type":13,"tag":364,"props":608,"children":610},{"name":609},"VUID-vkCmdSetViewportWithCount-videocoding",[611],{"type":13,"tag":14,"props":612,"children":613},{},[614,616,619],{"type":18,"value":615},"This command ",{"type":13,"tag":374,"props":617,"children":618},{"type":376},[],{"type":18,"value":620}," only be called outside of a video coding scope",{"type":13,"tag":364,"props":622,"children":624},{"name":623},"VUID-vkCmdSetViewportWithCount-viewportCount-arraylength",[625],{"type":13,"tag":14,"props":626,"children":627},{},[628,633,634,637,639],{"type":13,"tag":43,"props":629,"children":631},{"className":630},[],[632],{"type":18,"value":287},{"type":18,"value":393},{"type":13,"tag":374,"props":635,"children":636},{"type":376},[],{"type":18,"value":638}," be greater than ",{"type":13,"tag":43,"props":640,"children":642},{"className":641},[],[643],{"type":18,"value":644},"0",{"type":13,"tag":646,"props":647,"children":649},"validity-box",{"name":648},"Host Synchronization",[650],{"type":13,"tag":265,"props":651,"children":652},{},[653,669],{"type":13,"tag":269,"props":654,"children":655},{},[656,658,663,664,667],{"type":18,"value":657},"Host access to ",{"type":13,"tag":43,"props":659,"children":661},{"className":660},[],[662],{"type":18,"value":84},{"type":18,"value":393},{"type":13,"tag":374,"props":665,"children":666},{"type":376},[],{"type":18,"value":668}," be externally synchronized",{"type":13,"tag":269,"props":670,"children":671},{},[672,674,679,680,685,686,689],{"type":18,"value":673},"Host access to the ",{"type":13,"tag":43,"props":675,"children":677},{"className":676},[],[678],{"type":18,"value":592},{"type":18,"value":594},{"type":13,"tag":43,"props":681,"children":683},{"className":682},[],[684],{"type":18,"value":84},{"type":18,"value":601},{"type":13,"tag":374,"props":687,"children":688},{"type":376},[],{"type":18,"value":690}," be externally synchronized\n::",{"type":13,"tag":692,"props":693,"children":694},"style",{},[695],{"type":18,"value":696},"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":40,"searchDepth":72,"depth":72,"links":698},[],"markdown",1725732610614]