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