[{"data":1,"prerenderedAt":669},["ShallowReactive",2],{"$f1Zx-g7T1nJNJWIna2k2qYU7jZgZSIfflpTxDqQlOuPo":3},{"title":4,"description":5,"parent":6,"structextends":7,"type":12,"xrefs":13,"body":14,"_type":668,"_id":4},"VkPushConstantBankInfoNV","Structure specifying push constant bank information","VK_NV_push_constant_bank",[8,9,10,11],"VkDescriptorSetAndBindingMappingEXT","VkPushDataInfoEXT","VkPushConstantsInfo","VkIndirectCommandsLayoutTokenEXT","structs",[],{"type":15,"children":16,"toc":666},"root",[17,33,240,295,341,409,414,632,660],{"type":18,"tag":19,"props":20,"children":21},"element","p",{},[22,25,31],{"type":23,"value":24},"text","The ",{"type":18,"tag":26,"props":27,"children":29},"code",{"className":28},[],[30],{"type":23,"value":4},{"type":23,"value":32}," structure is defined as:",{"type":18,"tag":34,"props":35,"children":36},"code-group",{},[37,123],{"type":18,"tag":38,"props":39,"children":45},"pre",{"className":40,"code":41,"filename":42,"language":43,"meta":44,"style":44},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkPushConstantBankInfoNV {\n VkStructureType sType;\n const void* pNext;\n uint32_t bank;\n} VkPushConstantBankInfoNV;\n","C","c","",[46],{"type":18,"tag":26,"props":47,"children":48},{"__ignoreMap":44},[49,72,81,100,114],{"type":18,"tag":50,"props":51,"children":54},"span",{"class":52,"line":53},"line",1,[55,61,66],{"type":18,"tag":50,"props":56,"children":58},{"style":57},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[59],{"type":23,"value":60},"typedef",{"type":18,"tag":50,"props":62,"children":63},{"style":57},[64],{"type":23,"value":65}," struct",{"type":18,"tag":50,"props":67,"children":69},{"style":68},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[70],{"type":23,"value":71}," VkPushConstantBankInfoNV {\n",{"type":18,"tag":50,"props":73,"children":75},{"class":52,"line":74},2,[76],{"type":18,"tag":50,"props":77,"children":78},{"style":68},[79],{"type":23,"value":80}," VkStructureType sType;\n",{"type":18,"tag":50,"props":82,"children":84},{"class":52,"line":83},3,[85,90,95],{"type":18,"tag":50,"props":86,"children":87},{"style":57},[88],{"type":23,"value":89}," const",{"type":18,"tag":50,"props":91,"children":92},{"style":57},[93],{"type":23,"value":94}," void*",{"type":18,"tag":50,"props":96,"children":97},{"style":68},[98],{"type":23,"value":99}," pNext;\n",{"type":18,"tag":50,"props":101,"children":103},{"class":52,"line":102},4,[104,109],{"type":18,"tag":50,"props":105,"children":106},{"style":57},[107],{"type":23,"value":108}," uint32_t",{"type":18,"tag":50,"props":110,"children":111},{"style":68},[112],{"type":23,"value":113}," bank;\n",{"type":18,"tag":50,"props":115,"children":117},{"class":52,"line":116},5,[118],{"type":18,"tag":50,"props":119,"children":120},{"style":68},[121],{"type":23,"value":122},"} VkPushConstantBankInfoNV;\n",{"type":18,"tag":38,"props":124,"children":129},{"className":125,"code":126,"filename":127,"language":128,"meta":44,"style":44},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PushConstantBankInfoNV {\n s_type: vk::StructureType,\n p_next: *const c_void,\n bank: u32,\n}\n","Rust","rs",[130],{"type":18,"tag":26,"props":131,"children":132},{"__ignoreMap":44},[133,156,189,211,232],{"type":18,"tag":50,"props":134,"children":135},{"class":52,"line":53},[136,141,145,151],{"type":18,"tag":50,"props":137,"children":138},{"style":57},[139],{"type":23,"value":140},"pub",{"type":18,"tag":50,"props":142,"children":143},{"style":57},[144],{"type":23,"value":65},{"type":18,"tag":50,"props":146,"children":148},{"style":147},"--shiki-default:#953800;--shiki-dark:#FFA657",[149],{"type":23,"value":150}," PushConstantBankInfoNV",{"type":18,"tag":50,"props":152,"children":153},{"style":68},[154],{"type":23,"value":155}," {\n",{"type":18,"tag":50,"props":157,"children":158},{"class":52,"line":74},[159,164,169,174,179,184],{"type":18,"tag":50,"props":160,"children":161},{"style":68},[162],{"type":23,"value":163}," s_type",{"type":18,"tag":50,"props":165,"children":166},{"style":57},[167],{"type":23,"value":168},":",{"type":18,"tag":50,"props":170,"children":171},{"style":147},[172],{"type":23,"value":173}," vk",{"type":18,"tag":50,"props":175,"children":176},{"style":57},[177],{"type":23,"value":178},"::",{"type":18,"tag":50,"props":180,"children":181},{"style":147},[182],{"type":23,"value":183},"StructureType",{"type":18,"tag":50,"props":185,"children":186},{"style":68},[187],{"type":23,"value":188},",\n",{"type":18,"tag":50,"props":190,"children":191},{"class":52,"line":83},[192,197,201,206],{"type":18,"tag":50,"props":193,"children":194},{"style":68},[195],{"type":23,"value":196}," p_next",{"type":18,"tag":50,"props":198,"children":199},{"style":57},[200],{"type":23,"value":168},{"type":18,"tag":50,"props":202,"children":203},{"style":57},[204],{"type":23,"value":205}," *const",{"type":18,"tag":50,"props":207,"children":208},{"style":68},[209],{"type":23,"value":210}," c_void,\n",{"type":18,"tag":50,"props":212,"children":213},{"class":52,"line":102},[214,219,223,228],{"type":18,"tag":50,"props":215,"children":216},{"style":68},[217],{"type":23,"value":218}," bank",{"type":18,"tag":50,"props":220,"children":221},{"style":57},[222],{"type":23,"value":168},{"type":18,"tag":50,"props":224,"children":225},{"style":147},[226],{"type":23,"value":227}," u32",{"type":18,"tag":50,"props":229,"children":230},{"style":68},[231],{"type":23,"value":188},{"type":18,"tag":50,"props":233,"children":234},{"class":52,"line":116},[235],{"type":18,"tag":50,"props":236,"children":237},{"style":68},[238],{"type":23,"value":239},"}\n",{"type":18,"tag":241,"props":242,"children":243},"ul",{},[244,265,284],{"type":18,"tag":245,"props":246,"children":247},"li",{},[248,254,256,263],{"type":18,"tag":26,"props":249,"children":251},{"className":250},[],[252],{"type":23,"value":253},"sType",{"type":23,"value":255}," is a ",{"type":18,"tag":257,"props":258,"children":260},"a",{"href":259},"/man/VkStructureType",[261],{"type":23,"value":262},"VkStructureType",{"type":23,"value":264}," value identifying this structure.",{"type":18,"tag":245,"props":266,"children":267},{},[268,274,276,282],{"type":18,"tag":26,"props":269,"children":271},{"className":270},[],[272],{"type":23,"value":273},"pNext",{"type":23,"value":275}," is ",{"type":18,"tag":26,"props":277,"children":279},{"className":278},[],[280],{"type":23,"value":281},"NULL",{"type":23,"value":283}," or a pointer to a structure extending this\nstructure.",{"type":18,"tag":245,"props":285,"children":286},{},[287,293],{"type":18,"tag":26,"props":288,"children":290},{"className":289},[],[291],{"type":23,"value":292},"bank",{"type":23,"value":294}," is the index of the hardware bank into which the data is\npushed.",{"type":18,"tag":19,"props":296,"children":297},{},[298,300,305,307,312,313,318,320,325,327,332,334,339],{"type":23,"value":299},"This structure ",{"type":18,"tag":301,"props":302,"children":304},"normative",{"type":303},"can",[],{"type":23,"value":306}," be chained to ",{"type":18,"tag":257,"props":308,"children":310},{"href":309},"/man/VkPushDataInfoEXT",[311],{"type":23,"value":9},{"type":23,"value":188},{"type":18,"tag":257,"props":314,"children":316},{"href":315},"/man/VkPushConstantsInfo",[317],{"type":23,"value":10},{"type":23,"value":319},", ",{"type":18,"tag":257,"props":321,"children":323},{"href":322},"/man/VkDescriptorSetAndBindingMappingEXT",[324],{"type":23,"value":8},{"type":23,"value":326},", and\n",{"type":18,"tag":257,"props":328,"children":330},{"href":329},"/man/VkIndirectCommandsLayoutTokenEXT",[331],{"type":23,"value":11},{"type":23,"value":333}," via the ",{"type":18,"tag":26,"props":335,"children":337},{"className":336},[],[338],{"type":23,"value":273},{"type":23,"value":340}," chain to specify\npush constant bank placement:",{"type":18,"tag":241,"props":342,"children":343},{},[344,363,381,391],{"type":18,"tag":245,"props":345,"children":346},{},[347,349,353,355,361],{"type":23,"value":348},"When chained to ",{"type":18,"tag":257,"props":350,"children":351},{"href":309},[352],{"type":23,"value":9},{"type":23,"value":354},", it specifies the hardware bank\ninto which ",{"type":18,"tag":257,"props":356,"children":358},{"href":357},"/man/vkCmdPushDataEXT",[359],{"type":23,"value":360},"vkCmdPushDataEXT",{"type":23,"value":362}," pushes the data.",{"type":18,"tag":245,"props":364,"children":365},{},[366,367,371,373,379],{"type":23,"value":348},{"type":18,"tag":257,"props":368,"children":369},{"href":315},[370],{"type":23,"value":10},{"type":23,"value":372},", it specifies the hardware\nbank into which ",{"type":18,"tag":257,"props":374,"children":376},{"href":375},"/man/vkCmdPushConstants2",[377],{"type":23,"value":378},"vkCmdPushConstants2",{"type":23,"value":380}," pushes the constants.",{"type":18,"tag":245,"props":382,"children":383},{},[384,385,389],{"type":23,"value":348},{"type":18,"tag":257,"props":386,"children":387},{"href":322},[388],{"type":23,"value":8},{"type":23,"value":390},", it specifies\nthe hardware push data bank from which the push data is read.",{"type":18,"tag":245,"props":392,"children":393},{},[394,395,399,401,407],{"type":23,"value":348},{"type":18,"tag":257,"props":396,"children":397},{"href":329},[398],{"type":23,"value":11},{"type":23,"value":400}," with\n",{"type":18,"tag":26,"props":402,"children":404},{"className":403},[],[405],{"type":23,"value":406},"VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_EXT",{"type":23,"value":408},", it specifies the\nhardware bank into which indirect push data is placed.",{"type":18,"tag":19,"props":410,"children":411},{},[412],{"type":23,"value":413},"This allows for more flexible push constant management in descriptor heap\nscenarios where shaders access different root descriptors with specific bank\nrequirements.",{"type":18,"tag":415,"props":416,"children":418},"validity-group",{"name":417},"Valid Usage",[419,460,495,530,564,598],{"type":18,"tag":420,"props":421,"children":423},"validity-field",{"name":422},"VUID-VkPushConstantBankInfoNV-bank-12342",[424],{"type":18,"tag":19,"props":425,"children":426},{},[427,428,432,434,439,441,445,447,453,454],{"type":23,"value":348},{"type":18,"tag":257,"props":429,"children":430},{"href":309},[431],{"type":23,"value":9},{"type":23,"value":433},", if the command buffer is\nexecuting graphics operations, ",{"type":18,"tag":26,"props":435,"children":437},{"className":436},[],[438],{"type":23,"value":292},{"type":23,"value":440}," ",{"type":18,"tag":301,"props":442,"children":444},{"type":443},"must",[],{"type":23,"value":446}," be less than\n",{"type":18,"tag":257,"props":448,"children":450},{"href":449},"/man/VkPhysicalDevicePushConstantBankPropertiesNV",[451],{"type":23,"value":452},"VkPhysicalDevicePushConstantBankPropertiesNV",{"type":23,"value":178},{"type":18,"tag":26,"props":455,"children":457},{"className":456},[],[458],{"type":23,"value":459},"maxGraphicsPushDataBanks",{"type":18,"tag":420,"props":461,"children":463},{"name":462},"VUID-VkPushConstantBankInfoNV-bank-12343",[464],{"type":18,"tag":19,"props":465,"children":466},{},[467,468,472,474,479,480,483,484,488,489],{"type":23,"value":348},{"type":18,"tag":257,"props":469,"children":470},{"href":309},[471],{"type":23,"value":9},{"type":23,"value":473},", if the command buffer is\nexecuting compute operations, ",{"type":18,"tag":26,"props":475,"children":477},{"className":476},[],[478],{"type":23,"value":292},{"type":23,"value":440},{"type":18,"tag":301,"props":481,"children":482},{"type":443},[],{"type":23,"value":446},{"type":18,"tag":257,"props":485,"children":486},{"href":449},[487],{"type":23,"value":452},{"type":23,"value":178},{"type":18,"tag":26,"props":490,"children":492},{"className":491},[],[493],{"type":23,"value":494},"maxComputePushDataBanks",{"type":18,"tag":420,"props":496,"children":498},{"name":497},"VUID-VkPushConstantBankInfoNV-bank-12344",[499],{"type":18,"tag":19,"props":500,"children":501},{},[502,503,507,509,514,515,518,519,523,524],{"type":23,"value":348},{"type":18,"tag":257,"props":504,"children":505},{"href":315},[506],{"type":23,"value":10},{"type":23,"value":508},", if\nVkPushConstantsInfo::stageFlags includes a graphics stage then\n",{"type":18,"tag":26,"props":510,"children":512},{"className":511},[],[513],{"type":23,"value":292},{"type":23,"value":440},{"type":18,"tag":301,"props":516,"children":517},{"type":443},[],{"type":23,"value":446},{"type":18,"tag":257,"props":520,"children":521},{"href":449},[522],{"type":23,"value":452},{"type":23,"value":178},{"type":18,"tag":26,"props":525,"children":527},{"className":526},[],[528],{"type":23,"value":529},"maxGraphicsPushConstantBanks",{"type":18,"tag":420,"props":531,"children":533},{"name":532},"VUID-VkPushConstantBankInfoNV-bank-12345",[534],{"type":18,"tag":19,"props":535,"children":536},{},[537,538,542,544,549,552,553,557,558],{"type":23,"value":348},{"type":18,"tag":257,"props":539,"children":540},{"href":315},[541],{"type":23,"value":10},{"type":23,"value":543},", if\nVkPushConstantsInfo::stageFlags includes a compute stage then ",{"type":18,"tag":26,"props":545,"children":547},{"className":546},[],[548],{"type":23,"value":292},{"type":18,"tag":301,"props":550,"children":551},{"type":443},[],{"type":23,"value":446},{"type":18,"tag":257,"props":554,"children":555},{"href":449},[556],{"type":23,"value":452},{"type":23,"value":178},{"type":18,"tag":26,"props":559,"children":561},{"className":560},[],[562],{"type":23,"value":563},"maxComputePushConstantBanks",{"type":18,"tag":420,"props":565,"children":567},{"name":566},"VUID-VkPushConstantBankInfoNV-bank-12346",[568],{"type":18,"tag":19,"props":569,"children":570},{},[571,572,576,578,583,584,587,588,592,593],{"type":23,"value":348},{"type":18,"tag":257,"props":573,"children":574},{"href":322},[575],{"type":23,"value":8},{"type":23,"value":577}," for a graphics\nshader stage, ",{"type":18,"tag":26,"props":579,"children":581},{"className":580},[],[582],{"type":23,"value":292},{"type":23,"value":440},{"type":18,"tag":301,"props":585,"children":586},{"type":443},[],{"type":23,"value":446},{"type":18,"tag":257,"props":589,"children":590},{"href":449},[591],{"type":23,"value":452},{"type":23,"value":178},{"type":18,"tag":26,"props":594,"children":596},{"className":595},[],[597],{"type":23,"value":459},{"type":18,"tag":420,"props":599,"children":601},{"name":600},"VUID-VkPushConstantBankInfoNV-bank-12347",[602],{"type":18,"tag":19,"props":603,"children":604},{},[605,606,610,612,617,618,621,622,626,627],{"type":23,"value":348},{"type":18,"tag":257,"props":607,"children":608},{"href":322},[609],{"type":23,"value":8},{"type":23,"value":611}," for a compute\nshader stage, ",{"type":18,"tag":26,"props":613,"children":615},{"className":614},[],[616],{"type":23,"value":292},{"type":23,"value":440},{"type":18,"tag":301,"props":619,"children":620},{"type":443},[],{"type":23,"value":446},{"type":18,"tag":257,"props":623,"children":624},{"href":449},[625],{"type":23,"value":452},{"type":23,"value":178},{"type":18,"tag":26,"props":628,"children":630},{"className":629},[],[631],{"type":23,"value":494},{"type":18,"tag":415,"props":633,"children":635},{"name":634},"Valid Usage (Implicit)",[636],{"type":18,"tag":420,"props":637,"children":639},{"name":638},"VUID-VkPushConstantBankInfoNV-sType-sType",[640],{"type":18,"tag":19,"props":641,"children":642},{},[643,648,649,652,654],{"type":18,"tag":26,"props":644,"children":646},{"className":645},[],[647],{"type":23,"value":253},{"type":23,"value":440},{"type":18,"tag":301,"props":650,"children":651},{"type":443},[],{"type":23,"value":653}," be ",{"type":18,"tag":26,"props":655,"children":657},{"className":656},[],[658],{"type":23,"value":659},"VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV",{"type":18,"tag":661,"props":662,"children":663},"style",{},[664],{"type":23,"value":665},"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":44,"searchDepth":74,"depth":74,"links":667},[],"markdown",1773054773529]