[{"data":1,"prerenderedAt":509},["ShallowReactive",2],{"4qUP3VDUyC":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":508,"_id":4},"VkMemoryOpaqueCaptureAddressAllocateInfo","Request a specific address for a memory allocation","VK_VERSION_1_2","structs",[],{"type":10,"children":11,"toc":506},"root",[12,52,259,264,329,382,394,420,456,468,500],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26,28,35,37,43,45,50],{"type":18,"value":19},"text","To request a specific device address for a memory allocation, add a\n",{"type":13,"tag":21,"props":22,"children":24},"a",{"href":23},"/man/VkMemoryOpaqueCaptureAddressAllocateInfo",[25],{"type":18,"value":4},{"type":18,"value":27}," structure to the ",{"type":13,"tag":29,"props":30,"children":32},"code",{"className":31},[],[33],{"type":18,"value":34},"pNext",{"type":18,"value":36},"\nchain of the ",{"type":13,"tag":21,"props":38,"children":40},{"href":39},"/man/VkMemoryAllocateInfo",[41],{"type":18,"value":42},"VkMemoryAllocateInfo",{"type":18,"value":44}," structure.\nThe ",{"type":13,"tag":29,"props":46,"children":48},{"className":47},[],[49],{"type":18,"value":4},{"type":18,"value":51}," structure is defined as:",{"type":13,"tag":53,"props":54,"children":55},"code-group",{},[56,142],{"type":13,"tag":57,"props":58,"children":64},"pre",{"className":59,"code":60,"filename":61,"language":62,"meta":63,"style":63},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo {\n VkStructureType sType;\n const void* pNext;\n uint64_t opaqueCaptureAddress;\n} VkMemoryOpaqueCaptureAddressAllocateInfo;\n","C","c","",[65],{"type":13,"tag":29,"props":66,"children":67},{"__ignoreMap":63},[68,91,100,119,133],{"type":13,"tag":69,"props":70,"children":73},"span",{"class":71,"line":72},"line",1,[74,80,85],{"type":13,"tag":69,"props":75,"children":77},{"style":76},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[78],{"type":18,"value":79},"typedef",{"type":13,"tag":69,"props":81,"children":82},{"style":76},[83],{"type":18,"value":84}," struct",{"type":13,"tag":69,"props":86,"children":88},{"style":87},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[89],{"type":18,"value":90}," VkMemoryOpaqueCaptureAddressAllocateInfo {\n",{"type":13,"tag":69,"props":92,"children":94},{"class":71,"line":93},2,[95],{"type":13,"tag":69,"props":96,"children":97},{"style":87},[98],{"type":18,"value":99}," VkStructureType sType;\n",{"type":13,"tag":69,"props":101,"children":103},{"class":71,"line":102},3,[104,109,114],{"type":13,"tag":69,"props":105,"children":106},{"style":76},[107],{"type":18,"value":108}," const",{"type":13,"tag":69,"props":110,"children":111},{"style":76},[112],{"type":18,"value":113}," void*",{"type":13,"tag":69,"props":115,"children":116},{"style":87},[117],{"type":18,"value":118}," pNext;\n",{"type":13,"tag":69,"props":120,"children":122},{"class":71,"line":121},4,[123,128],{"type":13,"tag":69,"props":124,"children":125},{"style":76},[126],{"type":18,"value":127}," uint64_t",{"type":13,"tag":69,"props":129,"children":130},{"style":87},[131],{"type":18,"value":132}," opaqueCaptureAddress;\n",{"type":13,"tag":69,"props":134,"children":136},{"class":71,"line":135},5,[137],{"type":13,"tag":69,"props":138,"children":139},{"style":87},[140],{"type":18,"value":141},"} VkMemoryOpaqueCaptureAddressAllocateInfo;\n",{"type":13,"tag":57,"props":143,"children":148},{"className":144,"code":145,"filename":146,"language":147,"meta":63,"style":63},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct MemoryOpaqueCaptureAddressAllocateInfo {\n s_type: vk::StructureType,\n p_next: *const c_void,\n opaque_capture_address: u64,\n}\n","Rust","rs",[149],{"type":13,"tag":29,"props":150,"children":151},{"__ignoreMap":63},[152,175,208,230,251],{"type":13,"tag":69,"props":153,"children":154},{"class":71,"line":72},[155,160,164,170],{"type":13,"tag":69,"props":156,"children":157},{"style":76},[158],{"type":18,"value":159},"pub",{"type":13,"tag":69,"props":161,"children":162},{"style":76},[163],{"type":18,"value":84},{"type":13,"tag":69,"props":165,"children":167},{"style":166},"--shiki-default:#953800;--shiki-dark:#FFA657",[168],{"type":18,"value":169}," MemoryOpaqueCaptureAddressAllocateInfo",{"type":13,"tag":69,"props":171,"children":172},{"style":87},[173],{"type":18,"value":174}," {\n",{"type":13,"tag":69,"props":176,"children":177},{"class":71,"line":93},[178,183,188,193,198,203],{"type":13,"tag":69,"props":179,"children":180},{"style":87},[181],{"type":18,"value":182}," s_type",{"type":13,"tag":69,"props":184,"children":185},{"style":76},[186],{"type":18,"value":187},":",{"type":13,"tag":69,"props":189,"children":190},{"style":166},[191],{"type":18,"value":192}," vk",{"type":13,"tag":69,"props":194,"children":195},{"style":76},[196],{"type":18,"value":197},"::",{"type":13,"tag":69,"props":199,"children":200},{"style":166},[201],{"type":18,"value":202},"StructureType",{"type":13,"tag":69,"props":204,"children":205},{"style":87},[206],{"type":18,"value":207},",\n",{"type":13,"tag":69,"props":209,"children":210},{"class":71,"line":102},[211,216,220,225],{"type":13,"tag":69,"props":212,"children":213},{"style":87},[214],{"type":18,"value":215}," p_next",{"type":13,"tag":69,"props":217,"children":218},{"style":76},[219],{"type":18,"value":187},{"type":13,"tag":69,"props":221,"children":222},{"style":76},[223],{"type":18,"value":224}," *const",{"type":13,"tag":69,"props":226,"children":227},{"style":87},[228],{"type":18,"value":229}," c_void,\n",{"type":13,"tag":69,"props":231,"children":232},{"class":71,"line":121},[233,238,242,247],{"type":13,"tag":69,"props":234,"children":235},{"style":87},[236],{"type":18,"value":237}," opaque_capture_address",{"type":13,"tag":69,"props":239,"children":240},{"style":76},[241],{"type":18,"value":187},{"type":13,"tag":69,"props":243,"children":244},{"style":166},[245],{"type":18,"value":246}," u64",{"type":13,"tag":69,"props":248,"children":249},{"style":87},[250],{"type":18,"value":207},{"type":13,"tag":69,"props":252,"children":253},{"class":71,"line":135},[254],{"type":13,"tag":69,"props":255,"children":256},{"style":87},[257],{"type":18,"value":258},"}\n",{"type":13,"tag":14,"props":260,"children":261},{},[262],{"type":18,"value":263},"or the equivalent",{"type":13,"tag":53,"props":265,"children":266},{},[267,286],{"type":13,"tag":57,"props":268,"children":270},{"className":59,"code":269,"filename":61,"language":62,"meta":63,"style":63},"typedef VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;\n",[271],{"type":13,"tag":29,"props":272,"children":273},{"__ignoreMap":63},[274],{"type":13,"tag":69,"props":275,"children":276},{"class":71,"line":72},[277,281],{"type":13,"tag":69,"props":278,"children":279},{"style":76},[280],{"type":18,"value":79},{"type":13,"tag":69,"props":282,"children":283},{"style":87},[284],{"type":18,"value":285}," VkMemoryOpaqueCaptureAddressAllocateInfo VkMemoryOpaqueCaptureAddressAllocateInfoKHR;\n",{"type":13,"tag":57,"props":287,"children":289},{"className":144,"code":288,"filename":146,"language":147,"meta":63,"style":63},"type MemoryOpaqueCaptureAddressAllocateInfoKHR = vk::MemoryOpaqueCaptureAddressAllocateInfo;\n",[290],{"type":13,"tag":29,"props":291,"children":292},{"__ignoreMap":63},[293],{"type":13,"tag":69,"props":294,"children":295},{"class":71,"line":72},[296,301,306,311,315,319,324],{"type":13,"tag":69,"props":297,"children":298},{"style":76},[299],{"type":18,"value":300},"type",{"type":13,"tag":69,"props":302,"children":303},{"style":166},[304],{"type":18,"value":305}," MemoryOpaqueCaptureAddressAllocateInfoKHR",{"type":13,"tag":69,"props":307,"children":308},{"style":76},[309],{"type":18,"value":310}," =",{"type":13,"tag":69,"props":312,"children":313},{"style":166},[314],{"type":18,"value":192},{"type":13,"tag":69,"props":316,"children":317},{"style":76},[318],{"type":18,"value":197},{"type":13,"tag":69,"props":320,"children":321},{"style":166},[322],{"type":18,"value":323},"MemoryOpaqueCaptureAddressAllocateInfo",{"type":13,"tag":69,"props":325,"children":326},{"style":87},[327],{"type":18,"value":328},";\n",{"type":13,"tag":330,"props":331,"children":332},"ul",{},[333,353,371],{"type":13,"tag":334,"props":335,"children":336},"li",{},[337,343,345,351],{"type":13,"tag":29,"props":338,"children":340},{"className":339},[],[341],{"type":18,"value":342},"sType",{"type":18,"value":344}," is a ",{"type":13,"tag":21,"props":346,"children":348},{"href":347},"/man/VkStructureType",[349],{"type":18,"value":350},"VkStructureType",{"type":18,"value":352}," value identifying this structure.",{"type":13,"tag":334,"props":354,"children":355},{},[356,361,363,369],{"type":13,"tag":29,"props":357,"children":359},{"className":358},[],[360],{"type":18,"value":34},{"type":18,"value":362}," is ",{"type":13,"tag":29,"props":364,"children":366},{"className":365},[],[367],{"type":18,"value":368},"NULL",{"type":18,"value":370}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":334,"props":372,"children":373},{},[374,380],{"type":13,"tag":29,"props":375,"children":377},{"className":376},[],[378],{"type":18,"value":379},"opaqueCaptureAddress",{"type":18,"value":381}," is the opaque capture address requested for\nthe memory allocation.",{"type":13,"tag":14,"props":383,"children":384},{},[385,387,392],{"type":18,"value":386},"If ",{"type":13,"tag":29,"props":388,"children":390},{"className":389},[],[391],{"type":18,"value":379},{"type":18,"value":393}," is zero, no specific address is requested.",{"type":13,"tag":14,"props":395,"children":396},{},[397,398,403,405,410,412,418],{"type":18,"value":386},{"type":13,"tag":29,"props":399,"children":401},{"className":400},[],[402],{"type":18,"value":379},{"type":18,"value":404}," is not zero, it ",{"type":13,"tag":406,"props":407,"children":409},"normative",{"type":408},"should",[],{"type":18,"value":411}," be an address\nretrieved from ",{"type":13,"tag":21,"props":413,"children":415},{"href":414},"/man/vkGetDeviceMemoryOpaqueCaptureAddress",[416],{"type":18,"value":417},"vkGetDeviceMemoryOpaqueCaptureAddress",{"type":18,"value":419}," on an identically\ncreated memory allocation on the same implementation.",{"type":13,"tag":421,"props":422,"children":423},"note",{},[424,451],{"type":13,"tag":14,"props":425,"children":426},{},[427,429,435,437,441,443,449],{"type":18,"value":428},"In most cases, it is expected that a non-zero ",{"type":13,"tag":29,"props":430,"children":432},{"className":431},[],[433],{"type":18,"value":434},"opaqueAddress",{"type":18,"value":436}," is an\naddress retrieved from ",{"type":13,"tag":21,"props":438,"children":439},{"href":414},[440],{"type":18,"value":417},{"type":18,"value":442}," on an\nidentically created memory allocation.\nIf this is not the case, it is likely that\n",{"type":13,"tag":29,"props":444,"children":446},{"className":445},[],[447],{"type":18,"value":448},"VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS",{"type":18,"value":450}," errors will occur.",{"type":13,"tag":14,"props":452,"children":453},{},[454],{"type":18,"value":455},"This is, however, not a strict requirement because trace capture/replay\ntools may need to adjust memory allocation parameters for imported memory.",{"type":13,"tag":14,"props":457,"children":458},{},[459,461,466],{"type":18,"value":460},"If this structure is not present, it is as if ",{"type":13,"tag":29,"props":462,"children":464},{"className":463},[],[465],{"type":18,"value":379},{"type":18,"value":467}," is\nzero.",{"type":13,"tag":469,"props":470,"children":472},"validity-group",{"name":471},"Valid Usage (Implicit)",[473],{"type":13,"tag":474,"props":475,"children":477},"validity-field",{"name":476},"VUID-VkMemoryOpaqueCaptureAddressAllocateInfo-sType-sType",[478],{"type":13,"tag":14,"props":479,"children":480},{},[481,486,488,492,494],{"type":13,"tag":29,"props":482,"children":484},{"className":483},[],[485],{"type":18,"value":342},{"type":18,"value":487}," ",{"type":13,"tag":406,"props":489,"children":491},{"type":490},"must",[],{"type":18,"value":493}," be ",{"type":13,"tag":29,"props":495,"children":497},{"className":496},[],[498],{"type":18,"value":499},"VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO",{"type":13,"tag":501,"props":502,"children":503},"style",{},[504],{"type":18,"value":505},"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":63,"searchDepth":93,"depth":93,"links":507},[],"markdown",1725732562712]