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