[{"data":1,"prerenderedAt":783},["ShallowReactive",2],{"LQoWNdTmgM":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":782,"_id":4},"VkComputePipelineIndirectBufferInfoNV","Structure describing the device address where pipeline's metadata will be saved","VK_NV_device_generated_commands_compute","structs",[],{"type":10,"children":11,"toc":780},"root",[12,28,313,405,444,746,774],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26],{"type":18,"value":19},"text","The ",{"type":13,"tag":21,"props":22,"children":24},"code",{"className":23},[],[25],{"type":18,"value":4},{"type":18,"value":27}," structure is defined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,131],{"type":13,"tag":33,"props":34,"children":40},"pre",{"className":35,"code":36,"filename":37,"language":38,"meta":39,"style":39},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkComputePipelineIndirectBufferInfoNV {\n VkStructureType sType;\n const void* pNext;\n VkDeviceAddress deviceAddress;\n VkDeviceSize size;\n VkDeviceAddress pipelineDeviceAddressCaptureReplay;\n} VkComputePipelineIndirectBufferInfoNV;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,95,104,113,122],{"type":13,"tag":45,"props":46,"children":49},"span",{"class":47,"line":48},"line",1,[50,56,61],{"type":13,"tag":45,"props":51,"children":53},{"style":52},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[54],{"type":18,"value":55},"typedef",{"type":13,"tag":45,"props":57,"children":58},{"style":52},[59],{"type":18,"value":60}," struct",{"type":13,"tag":45,"props":62,"children":64},{"style":63},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[65],{"type":18,"value":66}," VkComputePipelineIndirectBufferInfoNV {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71],{"type":13,"tag":45,"props":72,"children":73},{"style":63},[74],{"type":18,"value":75}," VkStructureType sType;\n",{"type":13,"tag":45,"props":77,"children":79},{"class":47,"line":78},3,[80,85,90],{"type":13,"tag":45,"props":81,"children":82},{"style":52},[83],{"type":18,"value":84}," const",{"type":13,"tag":45,"props":86,"children":87},{"style":52},[88],{"type":18,"value":89}," void*",{"type":13,"tag":45,"props":91,"children":92},{"style":63},[93],{"type":18,"value":94}," pNext;\n",{"type":13,"tag":45,"props":96,"children":98},{"class":47,"line":97},4,[99],{"type":13,"tag":45,"props":100,"children":101},{"style":63},[102],{"type":18,"value":103}," VkDeviceAddress deviceAddress;\n",{"type":13,"tag":45,"props":105,"children":107},{"class":47,"line":106},5,[108],{"type":13,"tag":45,"props":109,"children":110},{"style":63},[111],{"type":18,"value":112}," VkDeviceSize size;\n",{"type":13,"tag":45,"props":114,"children":116},{"class":47,"line":115},6,[117],{"type":13,"tag":45,"props":118,"children":119},{"style":63},[120],{"type":18,"value":121}," VkDeviceAddress pipelineDeviceAddressCaptureReplay;\n",{"type":13,"tag":45,"props":123,"children":125},{"class":47,"line":124},7,[126],{"type":13,"tag":45,"props":127,"children":128},{"style":63},[129],{"type":18,"value":130},"} VkComputePipelineIndirectBufferInfoNV;\n",{"type":13,"tag":33,"props":132,"children":137},{"className":133,"code":134,"filename":135,"language":136,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct ComputePipelineIndirectBufferInfoNV {\n s_type: vk::StructureType,\n p_next: *const c_void,\n device_address: vk::DeviceAddress,\n size: vk::DeviceSize,\n pipeline_device_address_capture_replay: vk::DeviceAddress,\n}\n","Rust","rs",[138],{"type":13,"tag":21,"props":139,"children":140},{"__ignoreMap":39},[141,164,197,219,248,277,305],{"type":13,"tag":45,"props":142,"children":143},{"class":47,"line":48},[144,149,153,159],{"type":13,"tag":45,"props":145,"children":146},{"style":52},[147],{"type":18,"value":148},"pub",{"type":13,"tag":45,"props":150,"children":151},{"style":52},[152],{"type":18,"value":60},{"type":13,"tag":45,"props":154,"children":156},{"style":155},"--shiki-default:#953800;--shiki-dark:#FFA657",[157],{"type":18,"value":158}," ComputePipelineIndirectBufferInfoNV",{"type":13,"tag":45,"props":160,"children":161},{"style":63},[162],{"type":18,"value":163}," {\n",{"type":13,"tag":45,"props":165,"children":166},{"class":47,"line":69},[167,172,177,182,187,192],{"type":13,"tag":45,"props":168,"children":169},{"style":63},[170],{"type":18,"value":171}," s_type",{"type":13,"tag":45,"props":173,"children":174},{"style":52},[175],{"type":18,"value":176},":",{"type":13,"tag":45,"props":178,"children":179},{"style":155},[180],{"type":18,"value":181}," vk",{"type":13,"tag":45,"props":183,"children":184},{"style":52},[185],{"type":18,"value":186},"::",{"type":13,"tag":45,"props":188,"children":189},{"style":155},[190],{"type":18,"value":191},"StructureType",{"type":13,"tag":45,"props":193,"children":194},{"style":63},[195],{"type":18,"value":196},",\n",{"type":13,"tag":45,"props":198,"children":199},{"class":47,"line":78},[200,205,209,214],{"type":13,"tag":45,"props":201,"children":202},{"style":63},[203],{"type":18,"value":204}," p_next",{"type":13,"tag":45,"props":206,"children":207},{"style":52},[208],{"type":18,"value":176},{"type":13,"tag":45,"props":210,"children":211},{"style":52},[212],{"type":18,"value":213}," *const",{"type":13,"tag":45,"props":215,"children":216},{"style":63},[217],{"type":18,"value":218}," c_void,\n",{"type":13,"tag":45,"props":220,"children":221},{"class":47,"line":97},[222,227,231,235,239,244],{"type":13,"tag":45,"props":223,"children":224},{"style":63},[225],{"type":18,"value":226}," device_address",{"type":13,"tag":45,"props":228,"children":229},{"style":52},[230],{"type":18,"value":176},{"type":13,"tag":45,"props":232,"children":233},{"style":155},[234],{"type":18,"value":181},{"type":13,"tag":45,"props":236,"children":237},{"style":52},[238],{"type":18,"value":186},{"type":13,"tag":45,"props":240,"children":241},{"style":155},[242],{"type":18,"value":243},"DeviceAddress",{"type":13,"tag":45,"props":245,"children":246},{"style":63},[247],{"type":18,"value":196},{"type":13,"tag":45,"props":249,"children":250},{"class":47,"line":106},[251,256,260,264,268,273],{"type":13,"tag":45,"props":252,"children":253},{"style":63},[254],{"type":18,"value":255}," size",{"type":13,"tag":45,"props":257,"children":258},{"style":52},[259],{"type":18,"value":176},{"type":13,"tag":45,"props":261,"children":262},{"style":155},[263],{"type":18,"value":181},{"type":13,"tag":45,"props":265,"children":266},{"style":52},[267],{"type":18,"value":186},{"type":13,"tag":45,"props":269,"children":270},{"style":155},[271],{"type":18,"value":272},"DeviceSize",{"type":13,"tag":45,"props":274,"children":275},{"style":63},[276],{"type":18,"value":196},{"type":13,"tag":45,"props":278,"children":279},{"class":47,"line":115},[280,285,289,293,297,301],{"type":13,"tag":45,"props":281,"children":282},{"style":63},[283],{"type":18,"value":284}," pipeline_device_address_capture_replay",{"type":13,"tag":45,"props":286,"children":287},{"style":52},[288],{"type":18,"value":176},{"type":13,"tag":45,"props":290,"children":291},{"style":155},[292],{"type":18,"value":181},{"type":13,"tag":45,"props":294,"children":295},{"style":52},[296],{"type":18,"value":186},{"type":13,"tag":45,"props":298,"children":299},{"style":155},[300],{"type":18,"value":243},{"type":13,"tag":45,"props":302,"children":303},{"style":63},[304],{"type":18,"value":196},{"type":13,"tag":45,"props":306,"children":307},{"class":47,"line":124},[308],{"type":13,"tag":45,"props":309,"children":310},{"style":63},[311],{"type":18,"value":312},"}\n",{"type":13,"tag":314,"props":315,"children":316},"ul",{},[317,338,357,368,387],{"type":13,"tag":318,"props":319,"children":320},"li",{},[321,327,329,336],{"type":13,"tag":21,"props":322,"children":324},{"className":323},[],[325],{"type":18,"value":326},"sType",{"type":18,"value":328}," is a ",{"type":13,"tag":330,"props":331,"children":333},"a",{"href":332},"/man/VkStructureType",[334],{"type":18,"value":335},"VkStructureType",{"type":18,"value":337}," value identifying this structure.",{"type":13,"tag":318,"props":339,"children":340},{},[341,347,349,355],{"type":13,"tag":21,"props":342,"children":344},{"className":343},[],[345],{"type":18,"value":346},"pNext",{"type":18,"value":348}," is ",{"type":13,"tag":21,"props":350,"children":352},{"className":351},[],[353],{"type":18,"value":354},"NULL",{"type":18,"value":356}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":318,"props":358,"children":359},{},[360,366],{"type":13,"tag":21,"props":361,"children":363},{"className":362},[],[364],{"type":18,"value":365},"deviceAddress",{"type":18,"value":367}," is the address where the pipeline’s metadata will be\nstored.",{"type":13,"tag":318,"props":369,"children":370},{},[371,377,379,385],{"type":13,"tag":21,"props":372,"children":374},{"className":373},[],[375],{"type":18,"value":376},"size",{"type":18,"value":378}," is the size of pipeline’s metadata that was queried using\n",{"type":13,"tag":330,"props":380,"children":382},{"href":381},"/man/vkGetPipelineIndirectMemoryRequirementsNV",[383],{"type":18,"value":384},"vkGetPipelineIndirectMemoryRequirementsNV",{"type":18,"value":386},".",{"type":13,"tag":318,"props":388,"children":389},{},[390,396,398,403],{"type":13,"tag":21,"props":391,"children":393},{"className":392},[],[394],{"type":18,"value":395},"pipelineDeviceAddressCaptureReplay",{"type":18,"value":397}," is the device address where\npipeline’s metadata was originally saved and can now be used to\nre-populate ",{"type":13,"tag":21,"props":399,"children":401},{"className":400},[],[402],{"type":18,"value":365},{"type":18,"value":404}," for replay.",{"type":13,"tag":14,"props":406,"children":407},{},[408,410,415,417,422,424,429,431,434,436,442],{"type":18,"value":409},"If ",{"type":13,"tag":21,"props":411,"children":413},{"className":412},[],[414],{"type":18,"value":395},{"type":18,"value":416}," is zero, no specific address is\nrequested.\nIf ",{"type":13,"tag":21,"props":418,"children":420},{"className":419},[],[421],{"type":18,"value":395},{"type":18,"value":423}," is not zero, then it ",{"type":13,"tag":425,"props":426,"children":428},"normative",{"type":427},"must",[],{"type":18,"value":430}," be an\naddress retrieved from an identically created pipeline on the same\nimplementation.\nThe pipeline metadata ",{"type":13,"tag":425,"props":432,"children":433},{"type":427},[],{"type":18,"value":435}," also be placed on an identically created buffer\nand at the same offset using the ",{"type":13,"tag":330,"props":437,"children":439},{"href":438},"/man/vkCmdUpdatePipelineIndirectBufferNV",[440],{"type":18,"value":441},"vkCmdUpdatePipelineIndirectBufferNV",{"type":18,"value":443},"\ncommand.",{"type":13,"tag":445,"props":446,"children":448},"validity-group",{"name":447},"Valid Usage",[449,482,517,554,586,619,654,682,709],{"type":13,"tag":450,"props":451,"children":453},"validity-field",{"name":452},"VUID-VkComputePipelineIndirectBufferInfoNV-deviceGeneratedComputePipelines-09009",[454],{"type":13,"tag":14,"props":455,"children":456},{},[457,458,475,477,480],{"type":18,"value":19},{"type":13,"tag":330,"props":459,"children":461},{"href":460},"/man/VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV#features-deviceGeneratedComputePipelines",[462,468,469],{"type":13,"tag":21,"props":463,"children":465},{"className":464},[],[466],{"type":18,"value":467},"VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV",{"type":18,"value":186},{"type":13,"tag":21,"props":470,"children":472},{"className":471},[],[473],{"type":18,"value":474},"deviceGeneratedComputePipelines",{"type":18,"value":476},"\nfeature ",{"type":13,"tag":425,"props":478,"children":479},{"type":427},[],{"type":18,"value":481}," be enabled",{"type":13,"tag":450,"props":483,"children":485},{"name":484},"VUID-VkComputePipelineIndirectBufferInfoNV-flags-09010",[486],{"type":13,"tag":14,"props":487,"children":488},{},[489,491,497,498,504,506,509,511],{"type":18,"value":490},"The pipeline creation flags in\n",{"type":13,"tag":330,"props":492,"children":494},{"href":493},"/man/VkComputePipelineCreateInfo",[495],{"type":18,"value":496},"VkComputePipelineCreateInfo",{"type":18,"value":186},{"type":13,"tag":21,"props":499,"children":501},{"className":500},[],[502],{"type":18,"value":503},"flags",{"type":18,"value":505}," ",{"type":13,"tag":425,"props":507,"children":508},{"type":427},[],{"type":18,"value":510}," include\n",{"type":13,"tag":21,"props":512,"children":514},{"className":513},[],[515],{"type":18,"value":516},"VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV",{"type":13,"tag":450,"props":518,"children":520},{"name":519},"VUID-VkComputePipelineIndirectBufferInfoNV-deviceAddress-09011",[521],{"type":13,"tag":14,"props":522,"children":523},{},[524,529,530,533,535,541,542,548,550],{"type":13,"tag":21,"props":525,"children":527},{"className":526},[],[528],{"type":18,"value":365},{"type":18,"value":505},{"type":13,"tag":425,"props":531,"children":532},{"type":427},[],{"type":18,"value":534}," be aligned to the\n",{"type":13,"tag":330,"props":536,"children":538},{"href":537},"/man/VkMemoryRequirements2",[539],{"type":18,"value":540},"VkMemoryRequirements2",{"type":18,"value":186},{"type":13,"tag":21,"props":543,"children":545},{"className":544},[],[546],{"type":18,"value":547},"alignment",{"type":18,"value":549},", as returned by\n",{"type":13,"tag":330,"props":551,"children":552},{"href":381},[553],{"type":18,"value":384},{"type":13,"tag":450,"props":555,"children":557},{"name":556},"VUID-VkComputePipelineIndirectBufferInfoNV-deviceAddress-09012",[558],{"type":13,"tag":14,"props":559,"children":560},{},[561,566,567,570,572,578,580],{"type":13,"tag":21,"props":562,"children":564},{"className":563},[],[565],{"type":18,"value":365},{"type":18,"value":505},{"type":13,"tag":425,"props":568,"children":569},{"type":427},[],{"type":18,"value":571}," have been allocated from a buffer that was\ncreated with usage ",{"type":13,"tag":21,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":577},"VK_BUFFER_USAGE_TRANSFER_DST_BIT",{"type":18,"value":579}," and\n",{"type":13,"tag":21,"props":581,"children":583},{"className":582},[],[584],{"type":18,"value":585},"VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT",{"type":13,"tag":450,"props":587,"children":589},{"name":588},"VUID-VkComputePipelineIndirectBufferInfoNV-size-09013",[590],{"type":13,"tag":14,"props":591,"children":592},{},[593,598,599,602,604,608,609,614,615],{"type":13,"tag":21,"props":594,"children":596},{"className":595},[],[597],{"type":18,"value":376},{"type":18,"value":505},{"type":13,"tag":425,"props":600,"children":601},{"type":427},[],{"type":18,"value":603}," be greater than or equal to the\n",{"type":13,"tag":330,"props":605,"children":606},{"href":537},[607],{"type":18,"value":540},{"type":18,"value":186},{"type":13,"tag":21,"props":610,"children":612},{"className":611},[],[613],{"type":18,"value":376},{"type":18,"value":549},{"type":13,"tag":330,"props":616,"children":617},{"href":381},[618],{"type":18,"value":384},{"type":13,"tag":450,"props":620,"children":622},{"name":621},"VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09014",[623],{"type":13,"tag":14,"props":624,"children":625},{},[626,627,632,634,649,650,653],{"type":18,"value":409},{"type":13,"tag":21,"props":628,"children":630},{"className":629},[],[631],{"type":18,"value":395},{"type":18,"value":633}," is non-zero then the\n",{"type":13,"tag":330,"props":635,"children":636},{"href":460},[637,642,643],{"type":13,"tag":21,"props":638,"children":640},{"className":639},[],[641],{"type":18,"value":467},{"type":18,"value":186},{"type":13,"tag":21,"props":644,"children":646},{"className":645},[],[647],{"type":18,"value":648},"deviceGeneratedComputeCaptureReplay",{"type":18,"value":476},{"type":13,"tag":425,"props":651,"children":652},{"type":427},[],{"type":18,"value":481},{"type":13,"tag":450,"props":655,"children":657},{"name":656},"VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09015",[658],{"type":13,"tag":14,"props":659,"children":660},{},[661,662,667,669,672,674,680],{"type":18,"value":409},{"type":13,"tag":21,"props":663,"children":665},{"className":664},[],[666],{"type":18,"value":395},{"type":18,"value":668}," is non-zero then that\naddress ",{"type":13,"tag":425,"props":670,"children":671},{"type":427},[],{"type":18,"value":673}," have been allocated with flag\n",{"type":13,"tag":21,"props":675,"children":677},{"className":676},[],[678],{"type":18,"value":679},"VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT",{"type":18,"value":681}," set",{"type":13,"tag":450,"props":683,"children":685},{"name":684},"VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09016",[686],{"type":13,"tag":14,"props":687,"children":688},{},[689,690,695,697,703,704,707],{"type":18,"value":409},{"type":13,"tag":21,"props":691,"children":693},{"className":692},[],[694],{"type":18,"value":395},{"type":18,"value":696}," is non-zero, the\n",{"type":13,"tag":21,"props":698,"children":700},{"className":699},[],[701],{"type":18,"value":702},"pipeline",{"type":18,"value":505},{"type":13,"tag":425,"props":705,"children":706},{"type":427},[],{"type":18,"value":708}," have been recreated for replay",{"type":13,"tag":450,"props":710,"children":712},{"name":711},"VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09017",[713],{"type":13,"tag":14,"props":714,"children":715},{},[716,721,722,725,727,732,734,739,741],{"type":13,"tag":21,"props":717,"children":719},{"className":718},[],[720],{"type":18,"value":395},{"type":18,"value":505},{"type":13,"tag":425,"props":723,"children":724},{"type":427},[],{"type":18,"value":726}," satisfy the\n",{"type":13,"tag":21,"props":728,"children":730},{"className":729},[],[731],{"type":18,"value":547},{"type":18,"value":733}," and ",{"type":13,"tag":21,"props":735,"children":737},{"className":736},[],[738],{"type":18,"value":376},{"type":18,"value":740}," requirements similar to\n",{"type":13,"tag":21,"props":742,"children":744},{"className":743},[],[745],{"type":18,"value":365},{"type":13,"tag":445,"props":747,"children":749},{"name":748},"Valid Usage (Implicit)",[750],{"type":13,"tag":450,"props":751,"children":753},{"name":752},"VUID-VkComputePipelineIndirectBufferInfoNV-sType-sType",[754],{"type":13,"tag":14,"props":755,"children":756},{},[757,762,763,766,768],{"type":13,"tag":21,"props":758,"children":760},{"className":759},[],[761],{"type":18,"value":326},{"type":18,"value":505},{"type":13,"tag":425,"props":764,"children":765},{"type":427},[],{"type":18,"value":767}," be ",{"type":13,"tag":21,"props":769,"children":771},{"className":770},[],[772],{"type":18,"value":773},"VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV",{"type":13,"tag":775,"props":776,"children":777},"style",{},[778],{"type":18,"value":779},"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":39,"searchDepth":69,"depth":69,"links":781},[],"markdown",1725732543602]