[{"data":1,"prerenderedAt":644},["ShallowReactive",2],{"oUbFzEhBxK":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":643,"_id":4},"VkPhysicalDeviceBufferDeviceAddressFeatures","Structure describing buffer address features that can be supported by an implementation","VK_VERSION_1_2","structs",[],{"type":10,"children":11,"toc":641},"root",[12,28,307,312,377,382,510,531,542,605,635],{"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\nas:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,126],{"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 VkPhysicalDeviceBufferDeviceAddressFeatures {\n VkStructureType sType;\n void* pNext;\n VkBool32 bufferDeviceAddress;\n VkBool32 bufferDeviceAddressCaptureReplay;\n VkBool32 bufferDeviceAddressMultiDevice;\n} VkPhysicalDeviceBufferDeviceAddressFeatures;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,90,99,108,117],{"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}," VkPhysicalDeviceBufferDeviceAddressFeatures {\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],{"type":13,"tag":45,"props":81,"children":82},{"style":52},[83],{"type":18,"value":84}," void*",{"type":13,"tag":45,"props":86,"children":87},{"style":63},[88],{"type":18,"value":89}," pNext;\n",{"type":13,"tag":45,"props":91,"children":93},{"class":47,"line":92},4,[94],{"type":13,"tag":45,"props":95,"children":96},{"style":63},[97],{"type":18,"value":98}," VkBool32 bufferDeviceAddress;\n",{"type":13,"tag":45,"props":100,"children":102},{"class":47,"line":101},5,[103],{"type":13,"tag":45,"props":104,"children":105},{"style":63},[106],{"type":18,"value":107}," VkBool32 bufferDeviceAddressCaptureReplay;\n",{"type":13,"tag":45,"props":109,"children":111},{"class":47,"line":110},6,[112],{"type":13,"tag":45,"props":113,"children":114},{"style":63},[115],{"type":18,"value":116}," VkBool32 bufferDeviceAddressMultiDevice;\n",{"type":13,"tag":45,"props":118,"children":120},{"class":47,"line":119},7,[121],{"type":13,"tag":45,"props":122,"children":123},{"style":63},[124],{"type":18,"value":125},"} VkPhysicalDeviceBufferDeviceAddressFeatures;\n",{"type":13,"tag":33,"props":127,"children":132},{"className":128,"code":129,"filename":130,"language":131,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PhysicalDeviceBufferDeviceAddressFeatures {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n buffer_device_address: vk::Bool32,\n buffer_device_address_capture_replay: vk::Bool32,\n buffer_device_address_multi_device: vk::Bool32,\n}\n","Rust","rs",[133],{"type":13,"tag":21,"props":134,"children":135},{"__ignoreMap":39},[136,159,192,214,243,271,299],{"type":13,"tag":45,"props":137,"children":138},{"class":47,"line":48},[139,144,148,154],{"type":13,"tag":45,"props":140,"children":141},{"style":52},[142],{"type":18,"value":143},"pub",{"type":13,"tag":45,"props":145,"children":146},{"style":52},[147],{"type":18,"value":60},{"type":13,"tag":45,"props":149,"children":151},{"style":150},"--shiki-default:#953800;--shiki-dark:#FFA657",[152],{"type":18,"value":153}," PhysicalDeviceBufferDeviceAddressFeatures",{"type":13,"tag":45,"props":155,"children":156},{"style":63},[157],{"type":18,"value":158}," {\n",{"type":13,"tag":45,"props":160,"children":161},{"class":47,"line":69},[162,167,172,177,182,187],{"type":13,"tag":45,"props":163,"children":164},{"style":63},[165],{"type":18,"value":166}," s_type",{"type":13,"tag":45,"props":168,"children":169},{"style":52},[170],{"type":18,"value":171},":",{"type":13,"tag":45,"props":173,"children":174},{"style":150},[175],{"type":18,"value":176}," vk",{"type":13,"tag":45,"props":178,"children":179},{"style":52},[180],{"type":18,"value":181},"::",{"type":13,"tag":45,"props":183,"children":184},{"style":150},[185],{"type":18,"value":186},"StructureType",{"type":13,"tag":45,"props":188,"children":189},{"style":63},[190],{"type":18,"value":191},",\n",{"type":13,"tag":45,"props":193,"children":194},{"class":47,"line":78},[195,200,204,209],{"type":13,"tag":45,"props":196,"children":197},{"style":63},[198],{"type":18,"value":199}," p_next",{"type":13,"tag":45,"props":201,"children":202},{"style":52},[203],{"type":18,"value":171},{"type":13,"tag":45,"props":205,"children":206},{"style":52},[207],{"type":18,"value":208}," *mut",{"type":13,"tag":45,"props":210,"children":211},{"style":63},[212],{"type":18,"value":213}," c_void,\n",{"type":13,"tag":45,"props":215,"children":216},{"class":47,"line":92},[217,222,226,230,234,239],{"type":13,"tag":45,"props":218,"children":219},{"style":63},[220],{"type":18,"value":221}," buffer_device_address",{"type":13,"tag":45,"props":223,"children":224},{"style":52},[225],{"type":18,"value":171},{"type":13,"tag":45,"props":227,"children":228},{"style":150},[229],{"type":18,"value":176},{"type":13,"tag":45,"props":231,"children":232},{"style":52},[233],{"type":18,"value":181},{"type":13,"tag":45,"props":235,"children":236},{"style":150},[237],{"type":18,"value":238},"Bool32",{"type":13,"tag":45,"props":240,"children":241},{"style":63},[242],{"type":18,"value":191},{"type":13,"tag":45,"props":244,"children":245},{"class":47,"line":101},[246,251,255,259,263,267],{"type":13,"tag":45,"props":247,"children":248},{"style":63},[249],{"type":18,"value":250}," buffer_device_address_capture_replay",{"type":13,"tag":45,"props":252,"children":253},{"style":52},[254],{"type":18,"value":171},{"type":13,"tag":45,"props":256,"children":257},{"style":150},[258],{"type":18,"value":176},{"type":13,"tag":45,"props":260,"children":261},{"style":52},[262],{"type":18,"value":181},{"type":13,"tag":45,"props":264,"children":265},{"style":150},[266],{"type":18,"value":238},{"type":13,"tag":45,"props":268,"children":269},{"style":63},[270],{"type":18,"value":191},{"type":13,"tag":45,"props":272,"children":273},{"class":47,"line":110},[274,279,283,287,291,295],{"type":13,"tag":45,"props":275,"children":276},{"style":63},[277],{"type":18,"value":278}," buffer_device_address_multi_device",{"type":13,"tag":45,"props":280,"children":281},{"style":52},[282],{"type":18,"value":171},{"type":13,"tag":45,"props":284,"children":285},{"style":150},[286],{"type":18,"value":176},{"type":13,"tag":45,"props":288,"children":289},{"style":52},[290],{"type":18,"value":181},{"type":13,"tag":45,"props":292,"children":293},{"style":150},[294],{"type":18,"value":238},{"type":13,"tag":45,"props":296,"children":297},{"style":63},[298],{"type":18,"value":191},{"type":13,"tag":45,"props":300,"children":301},{"class":47,"line":119},[302],{"type":13,"tag":45,"props":303,"children":304},{"style":63},[305],{"type":18,"value":306},"}\n",{"type":13,"tag":14,"props":308,"children":309},{},[310],{"type":18,"value":311},"or the equivalent",{"type":13,"tag":29,"props":313,"children":314},{},[315,334],{"type":13,"tag":33,"props":316,"children":318},{"className":35,"code":317,"filename":37,"language":38,"meta":39,"style":39},"typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;\n",[319],{"type":13,"tag":21,"props":320,"children":321},{"__ignoreMap":39},[322],{"type":13,"tag":45,"props":323,"children":324},{"class":47,"line":48},[325,329],{"type":13,"tag":45,"props":326,"children":327},{"style":52},[328],{"type":18,"value":55},{"type":13,"tag":45,"props":330,"children":331},{"style":63},[332],{"type":18,"value":333}," VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;\n",{"type":13,"tag":33,"props":335,"children":337},{"className":128,"code":336,"filename":130,"language":131,"meta":39,"style":39},"type PhysicalDeviceBufferDeviceAddressFeaturesKHR = vk::PhysicalDeviceBufferDeviceAddressFeatures;\n",[338],{"type":13,"tag":21,"props":339,"children":340},{"__ignoreMap":39},[341],{"type":13,"tag":45,"props":342,"children":343},{"class":47,"line":48},[344,349,354,359,363,367,372],{"type":13,"tag":45,"props":345,"children":346},{"style":52},[347],{"type":18,"value":348},"type",{"type":13,"tag":45,"props":350,"children":351},{"style":150},[352],{"type":18,"value":353}," PhysicalDeviceBufferDeviceAddressFeaturesKHR",{"type":13,"tag":45,"props":355,"children":356},{"style":52},[357],{"type":18,"value":358}," =",{"type":13,"tag":45,"props":360,"children":361},{"style":150},[362],{"type":18,"value":176},{"type":13,"tag":45,"props":364,"children":365},{"style":52},[366],{"type":18,"value":181},{"type":13,"tag":45,"props":368,"children":369},{"style":150},[370],{"type":18,"value":371},"PhysicalDeviceBufferDeviceAddressFeatures",{"type":13,"tag":45,"props":373,"children":374},{"style":63},[375],{"type":18,"value":376},";\n",{"type":13,"tag":14,"props":378,"children":379},{},[380],{"type":18,"value":381},"This structure describes the following features:",{"type":13,"tag":383,"props":384,"children":385},"ul",{},[386,407,426,450,465],{"type":13,"tag":387,"props":388,"children":389},"li",{},[390,396,398,405],{"type":13,"tag":21,"props":391,"children":393},{"className":392},[],[394],{"type":18,"value":395},"sType",{"type":18,"value":397}," is a ",{"type":13,"tag":399,"props":400,"children":402},"a",{"href":401},"/man/VkStructureType",[403],{"type":18,"value":404},"VkStructureType",{"type":18,"value":406}," value identifying this structure.",{"type":13,"tag":387,"props":408,"children":409},{},[410,416,418,424],{"type":13,"tag":21,"props":411,"children":413},{"className":412},[],[414],{"type":18,"value":415},"pNext",{"type":18,"value":417}," is ",{"type":13,"tag":21,"props":419,"children":421},{"className":420},[],[422],{"type":18,"value":423},"NULL",{"type":18,"value":425}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":387,"props":427,"children":428},{},[429,434,440,442,448],{"type":13,"tag":430,"props":431,"children":433},"anchor",{"id":432},"features-bufferDeviceAddress",[],{"type":13,"tag":21,"props":435,"children":437},{"className":436},[],[438],{"type":18,"value":439},"bufferDeviceAddress",{"type":18,"value":441}," indicates that the implementation supports\naccessing buffer memory in shaders as storage buffers via an address\nqueried from ",{"type":13,"tag":399,"props":443,"children":445},{"href":444},"/man/vkGetBufferDeviceAddress",[446],{"type":18,"value":447},"vkGetBufferDeviceAddress",{"type":18,"value":449},".",{"type":13,"tag":387,"props":451,"children":452},{},[453,457,463],{"type":13,"tag":430,"props":454,"children":456},{"id":455},"features-bufferDeviceAddressCaptureReplay",[],{"type":13,"tag":21,"props":458,"children":460},{"className":459},[],[461],{"type":18,"value":462},"bufferDeviceAddressCaptureReplay",{"type":18,"value":464}," indicates that the implementation\nsupports saving and reusing buffer and device addresses, e.g. for trace\ncapture and replay.",{"type":13,"tag":387,"props":466,"children":467},{},[468,472,478,480,485,487,493,495,501,503,508],{"type":13,"tag":430,"props":469,"children":471},{"id":470},"features-bufferDeviceAddressMultiDevice",[],{"type":13,"tag":21,"props":473,"children":475},{"className":474},[],[476],{"type":18,"value":477},"bufferDeviceAddressMultiDevice",{"type":18,"value":479}," indicates that the implementation\nsupports the ",{"type":13,"tag":21,"props":481,"children":483},{"className":482},[],[484],{"type":18,"value":439},{"type":18,"value":486},"\n, ",{"type":13,"tag":21,"props":488,"children":490},{"className":489},[],[491],{"type":18,"value":492},"rayTracingPipeline",{"type":18,"value":494}," and ",{"type":13,"tag":21,"props":496,"children":498},{"className":497},[],[499],{"type":18,"value":500},"rayQuery",{"type":18,"value":502}," features\nfor logical devices created with multiple physical devices.\nIf this feature is not supported, buffer\nand acceleration structure\naddresses ",{"type":13,"tag":504,"props":505,"children":507},"normative",{"type":506},"must",[],{"type":18,"value":509}," not be queried on a logical device created with more\nthan one physical device.",{"type":13,"tag":511,"props":512,"children":513},"note",{},[514],{"type":13,"tag":14,"props":515,"children":516},{},[517,522,524,529],{"type":13,"tag":21,"props":518,"children":520},{"className":519},[],[521],{"type":18,"value":477},{"type":18,"value":523}," exists to allow certain legacy\nplatforms to be able to support ",{"type":13,"tag":21,"props":525,"children":527},{"className":526},[],[528],{"type":18,"value":439},{"type":18,"value":530}," without needing to\nsupport shared GPU virtual addresses for multi-device configurations.",{"type":13,"tag":14,"props":532,"children":533},{},[534,536,540],{"type":18,"value":535},"See ",{"type":13,"tag":399,"props":537,"children":538},{"href":444},[539],{"type":18,"value":447},{"type":18,"value":541}," for more information.",{"type":13,"tag":14,"props":543,"children":544},{},[545,547,552,554,559,561,567,569,575,577,582,584,588,590,595,597,603],{"type":18,"value":546},"If the ",{"type":13,"tag":21,"props":548,"children":550},{"className":549},[],[551],{"type":18,"value":4},{"type":18,"value":553}," structure is included in the ",{"type":13,"tag":21,"props":555,"children":557},{"className":556},[],[558],{"type":18,"value":415},{"type":18,"value":560}," chain of the\n",{"type":13,"tag":399,"props":562,"children":564},{"href":563},"/man/VkPhysicalDeviceFeatures2",[565],{"type":18,"value":566},"VkPhysicalDeviceFeatures2",{"type":18,"value":568}," structure passed to\n",{"type":13,"tag":399,"props":570,"children":572},{"href":571},"/man/vkGetPhysicalDeviceFeatures2",[573],{"type":18,"value":574},"vkGetPhysicalDeviceFeatures2",{"type":18,"value":576},", it is filled in to indicate whether each\ncorresponding feature is supported.\n",{"type":13,"tag":21,"props":578,"children":580},{"className":579},[],[581],{"type":18,"value":4},{"type":18,"value":583}," ",{"type":13,"tag":504,"props":585,"children":587},{"type":586},"can",[],{"type":18,"value":589}," also be used in the ",{"type":13,"tag":21,"props":591,"children":593},{"className":592},[],[594],{"type":18,"value":415},{"type":18,"value":596}," chain of\n",{"type":13,"tag":399,"props":598,"children":600},{"href":599},"/man/VkDeviceCreateInfo",[601],{"type":18,"value":602},"VkDeviceCreateInfo",{"type":18,"value":604}," to selectively enable these features.",{"type":13,"tag":606,"props":607,"children":609},"validity-group",{"name":608},"Valid Usage (Implicit)",[610],{"type":13,"tag":611,"props":612,"children":614},"validity-field",{"name":613},"VUID-VkPhysicalDeviceBufferDeviceAddressFeatures-sType-sType",[615],{"type":13,"tag":14,"props":616,"children":617},{},[618,623,624,627,629],{"type":13,"tag":21,"props":619,"children":621},{"className":620},[],[622],{"type":18,"value":395},{"type":18,"value":583},{"type":13,"tag":504,"props":625,"children":626},{"type":506},[],{"type":18,"value":628}," be ",{"type":13,"tag":21,"props":630,"children":632},{"className":631},[],[633],{"type":18,"value":634},"VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES",{"type":13,"tag":636,"props":637,"children":638},"style",{},[639],{"type":18,"value":640},"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":642},[],"markdown",1725732565816]