[{"data":1,"prerenderedAt":619},["ShallowReactive",2],{"o6o0mMMPtJ":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":618,"_id":4},"VkPhysicalDeviceRobustness2FeaturesEXT","Structure describing the out-of-bounds behavior for an implementation","VK_EXT_robustness2","structs",[],{"type":10,"children":11,"toc":616},"root",[12,28,307,312,483,544,582,610],{"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,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 VkPhysicalDeviceRobustness2FeaturesEXT {\n VkStructureType sType;\n void* pNext;\n VkBool32 robustBufferAccess2;\n VkBool32 robustImageAccess2;\n VkBool32 nullDescriptor;\n} VkPhysicalDeviceRobustness2FeaturesEXT;\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}," VkPhysicalDeviceRobustness2FeaturesEXT {\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 robustBufferAccess2;\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 robustImageAccess2;\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 nullDescriptor;\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},"} VkPhysicalDeviceRobustness2FeaturesEXT;\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 PhysicalDeviceRobustness2FeaturesEXT {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n robust_buffer_access2: vk::Bool32,\n robust_image_access2: vk::Bool32,\n null_descriptor: 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}," PhysicalDeviceRobustness2FeaturesEXT",{"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}," robust_buffer_access2",{"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}," robust_image_access2",{"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}," null_descriptor",{"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},"This structure describes the following features:",{"type":13,"tag":313,"props":314,"children":315},"ul",{},[316,337,356,425,453],{"type":13,"tag":317,"props":318,"children":319},"li",{},[320,326,328,335],{"type":13,"tag":21,"props":321,"children":323},{"className":322},[],[324],{"type":18,"value":325},"sType",{"type":18,"value":327}," is a ",{"type":13,"tag":329,"props":330,"children":332},"a",{"href":331},"/man/VkStructureType",[333],{"type":18,"value":334},"VkStructureType",{"type":18,"value":336}," value identifying this structure.",{"type":13,"tag":317,"props":338,"children":339},{},[340,346,348,354],{"type":13,"tag":21,"props":341,"children":343},{"className":342},[],[344],{"type":18,"value":345},"pNext",{"type":18,"value":347}," is ",{"type":13,"tag":21,"props":349,"children":351},{"className":350},[],[352],{"type":18,"value":353},"NULL",{"type":18,"value":355}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":317,"props":357,"children":358},{},[359,364,366,372,374,379,381,391,393,396,397,407,409,415,417,423],{"type":13,"tag":360,"props":361,"children":363},"anchor",{"id":362},"features-robustBufferAccess2",[],{"type":18,"value":365}," ",{"type":13,"tag":21,"props":367,"children":369},{"className":368},[],[370],{"type":18,"value":371},"robustBufferAccess2",{"type":18,"value":373}," indicates\nwhether buffer accesses are tightly bounds-checked against the range of\nthe descriptor.\nUniform buffers ",{"type":13,"tag":375,"props":376,"children":378},"normative",{"type":377},"must",[],{"type":18,"value":380}," be bounds-checked to the range of the descriptor,\nwhere the range is rounded up to a multiple of\n",{"type":13,"tag":329,"props":382,"children":384},{"href":383},"/man/VkPhysicalDeviceRobustness2PropertiesEXT#limits-robustUniformBufferAccessSizeAlignment",[385],{"type":13,"tag":21,"props":386,"children":388},{"className":387},[],[389],{"type":18,"value":390},"robustUniformBufferAccessSizeAlignment",{"type":18,"value":392},".\nStorage buffers ",{"type":13,"tag":375,"props":394,"children":395},{"type":377},[],{"type":18,"value":380},{"type":13,"tag":329,"props":398,"children":400},{"href":399},"/man/VkPhysicalDeviceRobustness2PropertiesEXT#limits-robustStorageBufferAccessSizeAlignment",[401],{"type":13,"tag":21,"props":402,"children":404},{"className":403},[],[405],{"type":18,"value":406},"robustStorageBufferAccessSizeAlignment",{"type":18,"value":408},".\nOut of bounds buffer loads will return zero values, and ",{"type":13,"tag":329,"props":410,"children":412},{"href":411},"/chapters/textures#textures",[413],{"type":18,"value":414},"image load, sample, and atomic operations",{"type":18,"value":416}," from texel buffers will have\n(0,0,1) values ",{"type":13,"tag":329,"props":418,"children":420},{"href":419},"/chapters/textures#textures-conversion-to-rgba",[421],{"type":18,"value":422},"inserted for missing\nG, B, or A components",{"type":18,"value":424}," based on the format.",{"type":13,"tag":317,"props":426,"children":427},{},[428,432,433,439,441,445,447,452],{"type":13,"tag":360,"props":429,"children":431},{"id":430},"features-robustImageAccess2",[],{"type":18,"value":365},{"type":13,"tag":21,"props":434,"children":436},{"className":435},[],[437],{"type":18,"value":438},"robustImageAccess2",{"type":18,"value":440}," indicates\nwhether image accesses are tightly bounds-checked against the dimensions\nof the image view.\nOut of bounds ",{"type":13,"tag":329,"props":442,"children":443},{"href":411},[444],{"type":18,"value":414},{"type":18,"value":446},"\nfrom images will return zero values, with (0,0,1) values\n",{"type":13,"tag":329,"props":448,"children":449},{"href":419},[450],{"type":18,"value":451},"inserted for missing G, B, or A\ncomponents",{"type":18,"value":424},{"type":13,"tag":317,"props":454,"children":455},{},[456,460,461,467,469,473,475,481],{"type":13,"tag":360,"props":457,"children":459},{"id":458},"features-nullDescriptor",[],{"type":18,"value":365},{"type":13,"tag":21,"props":462,"children":464},{"className":463},[],[465],{"type":18,"value":466},"nullDescriptor",{"type":18,"value":468}," indicates\nwhether descriptors ",{"type":13,"tag":375,"props":470,"children":472},{"type":471},"can",[],{"type":18,"value":474}," be written with a ",{"type":13,"tag":329,"props":476,"children":478},{"href":477},"/man/VK_NULL_HANDLE",[479],{"type":18,"value":480},"VK_NULL_HANDLE",{"type":18,"value":482}," resource\nor view, which are considered valid to access and act as if the\ndescriptor were bound to nothing.",{"type":13,"tag":14,"props":484,"children":485},{},[486,488,493,495,500,502,508,510,516,518,523,524,527,529,534,536,542],{"type":18,"value":487},"If the ",{"type":13,"tag":21,"props":489,"children":491},{"className":490},[],[492],{"type":18,"value":4},{"type":18,"value":494}," structure is included in the ",{"type":13,"tag":21,"props":496,"children":498},{"className":497},[],[499],{"type":18,"value":345},{"type":18,"value":501}," chain of the\n",{"type":13,"tag":329,"props":503,"children":505},{"href":504},"/man/VkPhysicalDeviceFeatures2",[506],{"type":18,"value":507},"VkPhysicalDeviceFeatures2",{"type":18,"value":509}," structure passed to\n",{"type":13,"tag":329,"props":511,"children":513},{"href":512},"/man/vkGetPhysicalDeviceFeatures2",[514],{"type":18,"value":515},"vkGetPhysicalDeviceFeatures2",{"type":18,"value":517},", it is filled in to indicate whether each\ncorresponding feature is supported.\n",{"type":13,"tag":21,"props":519,"children":521},{"className":520},[],[522],{"type":18,"value":4},{"type":18,"value":365},{"type":13,"tag":375,"props":525,"children":526},{"type":471},[],{"type":18,"value":528}," also be used in the ",{"type":13,"tag":21,"props":530,"children":532},{"className":531},[],[533],{"type":18,"value":345},{"type":18,"value":535}," chain of\n",{"type":13,"tag":329,"props":537,"children":539},{"href":538},"/man/VkDeviceCreateInfo",[540],{"type":18,"value":541},"VkDeviceCreateInfo",{"type":18,"value":543}," to selectively enable these features.",{"type":13,"tag":545,"props":546,"children":548},"validity-group",{"name":547},"Valid Usage",[549],{"type":13,"tag":550,"props":551,"children":553},"validity-field",{"name":552},"VUID-VkPhysicalDeviceRobustness2FeaturesEXT-robustBufferAccess2-04000",[554],{"type":13,"tag":14,"props":555,"children":556},{},[557,559,564,566,576,577,580],{"type":18,"value":558},"If ",{"type":13,"tag":21,"props":560,"children":562},{"className":561},[],[563],{"type":18,"value":371},{"type":18,"value":565}," is enabled then\n",{"type":13,"tag":329,"props":567,"children":569},{"href":568},"/man/VkPhysicalDeviceFeatures#features-robustBufferAccess",[570],{"type":13,"tag":21,"props":571,"children":573},{"className":572},[],[574],{"type":18,"value":575},"robustBufferAccess",{"type":18,"value":365},{"type":13,"tag":375,"props":578,"children":579},{"type":377},[],{"type":18,"value":581}," also be\nenabled",{"type":13,"tag":545,"props":583,"children":585},{"name":584},"Valid Usage (Implicit)",[586],{"type":13,"tag":550,"props":587,"children":589},{"name":588},"VUID-VkPhysicalDeviceRobustness2FeaturesEXT-sType-sType",[590],{"type":13,"tag":14,"props":591,"children":592},{},[593,598,599,602,604],{"type":13,"tag":21,"props":594,"children":596},{"className":595},[],[597],{"type":18,"value":325},{"type":18,"value":365},{"type":13,"tag":375,"props":600,"children":601},{"type":377},[],{"type":18,"value":603}," be ",{"type":13,"tag":21,"props":605,"children":607},{"className":606},[],[608],{"type":18,"value":609},"VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT",{"type":13,"tag":611,"props":612,"children":613},"style",{},[614],{"type":18,"value":615},"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":617},[],"markdown",1725732573254]