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