[{"data":1,"prerenderedAt":645},["ShallowReactive",2],{"uxabREFmnB":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":644,"_id":4},"vkGetDescriptorSetLayoutSizeEXT","Get the size of a descriptor set layout in memory","VK_EXT_descriptor_buffer","protos",[],{"type":10,"children":11,"toc":642},"root",[12,20,277,322,342,391,399,441,475,535,636],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","To determine the amount of memory needed to store all descriptors with a\ngiven layout, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,123],{"type":13,"tag":25,"props":26,"children":32},"pre",{"className":27,"code":28,"filename":29,"language":30,"meta":31,"style":31},"language-c shiki shiki-themes github-light-default github-dark-default","void vkGetDescriptorSetLayoutSizeEXT(\n VkDevice device,\n VkDescriptorSetLayout layout,\n VkDeviceSize* pLayoutSizeInBytes);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,61,81,99],{"type":13,"tag":38,"props":39,"children":42},"span",{"class":40,"line":41},"line",1,[43,49,55],{"type":13,"tag":38,"props":44,"children":46},{"style":45},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[47],{"type":18,"value":48},"void",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":54}," vkGetDescriptorSetLayoutSizeEXT",{"type":13,"tag":38,"props":56,"children":58},{"style":57},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[59],{"type":18,"value":60},"(\n",{"type":13,"tag":38,"props":62,"children":64},{"class":40,"line":63},2,[65,70,76],{"type":13,"tag":38,"props":66,"children":67},{"style":57},[68],{"type":18,"value":69}," VkDevice ",{"type":13,"tag":38,"props":71,"children":73},{"style":72},"--shiki-default:#953800;--shiki-dark:#FFA657",[74],{"type":18,"value":75},"device",{"type":13,"tag":38,"props":77,"children":78},{"style":57},[79],{"type":18,"value":80},",\n",{"type":13,"tag":38,"props":82,"children":84},{"class":40,"line":83},3,[85,90,95],{"type":13,"tag":38,"props":86,"children":87},{"style":57},[88],{"type":18,"value":89}," VkDescriptorSetLayout ",{"type":13,"tag":38,"props":91,"children":92},{"style":72},[93],{"type":18,"value":94},"layout",{"type":13,"tag":38,"props":96,"children":97},{"style":57},[98],{"type":18,"value":80},{"type":13,"tag":38,"props":100,"children":102},{"class":40,"line":101},4,[103,108,113,118],{"type":13,"tag":38,"props":104,"children":105},{"style":57},[106],{"type":18,"value":107}," VkDeviceSize",{"type":13,"tag":38,"props":109,"children":110},{"style":45},[111],{"type":18,"value":112},"*",{"type":13,"tag":38,"props":114,"children":115},{"style":72},[116],{"type":18,"value":117}," pLayoutSizeInBytes",{"type":13,"tag":38,"props":119,"children":120},{"style":57},[121],{"type":18,"value":122},");\n",{"type":13,"tag":25,"props":124,"children":129},{"className":125,"code":126,"filename":127,"language":128,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn get_descriptor_set_layout_size_ext(\n device: crate :: vk :: vk::Device,\n layout: vk::DescriptorSetLayout,\n p_layout_size_in_bytes: *mut vk::DeviceSize,\n);\n","Rust","rs",[130],{"type":13,"tag":34,"props":131,"children":132},{"__ignoreMap":31},[133,155,206,235,269],{"type":13,"tag":38,"props":134,"children":135},{"class":40,"line":41},[136,141,146,151],{"type":13,"tag":38,"props":137,"children":138},{"style":45},[139],{"type":18,"value":140},"pub",{"type":13,"tag":38,"props":142,"children":143},{"style":45},[144],{"type":18,"value":145}," fn",{"type":13,"tag":38,"props":147,"children":148},{"style":51},[149],{"type":18,"value":150}," get_descriptor_set_layout_size_ext",{"type":13,"tag":38,"props":152,"children":153},{"style":57},[154],{"type":18,"value":60},{"type":13,"tag":38,"props":156,"children":157},{"class":40,"line":63},[158,163,168,173,178,183,188,193,197,202],{"type":13,"tag":38,"props":159,"children":160},{"style":57},[161],{"type":18,"value":162}," device",{"type":13,"tag":38,"props":164,"children":165},{"style":45},[166],{"type":18,"value":167},":",{"type":13,"tag":38,"props":169,"children":170},{"style":45},[171],{"type":18,"value":172}," crate",{"type":13,"tag":38,"props":174,"children":175},{"style":45},[176],{"type":18,"value":177}," ::",{"type":13,"tag":38,"props":179,"children":180},{"style":57},[181],{"type":18,"value":182}," vk ",{"type":13,"tag":38,"props":184,"children":185},{"style":45},[186],{"type":18,"value":187},"::",{"type":13,"tag":38,"props":189,"children":190},{"style":72},[191],{"type":18,"value":192}," vk",{"type":13,"tag":38,"props":194,"children":195},{"style":45},[196],{"type":18,"value":187},{"type":13,"tag":38,"props":198,"children":199},{"style":72},[200],{"type":18,"value":201},"Device",{"type":13,"tag":38,"props":203,"children":204},{"style":57},[205],{"type":18,"value":80},{"type":13,"tag":38,"props":207,"children":208},{"class":40,"line":83},[209,214,218,222,226,231],{"type":13,"tag":38,"props":210,"children":211},{"style":57},[212],{"type":18,"value":213}," layout",{"type":13,"tag":38,"props":215,"children":216},{"style":45},[217],{"type":18,"value":167},{"type":13,"tag":38,"props":219,"children":220},{"style":72},[221],{"type":18,"value":192},{"type":13,"tag":38,"props":223,"children":224},{"style":45},[225],{"type":18,"value":187},{"type":13,"tag":38,"props":227,"children":228},{"style":72},[229],{"type":18,"value":230},"DescriptorSetLayout",{"type":13,"tag":38,"props":232,"children":233},{"style":57},[234],{"type":18,"value":80},{"type":13,"tag":38,"props":236,"children":237},{"class":40,"line":101},[238,243,247,252,256,260,265],{"type":13,"tag":38,"props":239,"children":240},{"style":57},[241],{"type":18,"value":242}," p_layout_size_in_bytes",{"type":13,"tag":38,"props":244,"children":245},{"style":45},[246],{"type":18,"value":167},{"type":13,"tag":38,"props":248,"children":249},{"style":45},[250],{"type":18,"value":251}," *mut",{"type":13,"tag":38,"props":253,"children":254},{"style":72},[255],{"type":18,"value":192},{"type":13,"tag":38,"props":257,"children":258},{"style":45},[259],{"type":18,"value":187},{"type":13,"tag":38,"props":261,"children":262},{"style":72},[263],{"type":18,"value":264},"DeviceSize",{"type":13,"tag":38,"props":266,"children":267},{"style":57},[268],{"type":18,"value":80},{"type":13,"tag":38,"props":270,"children":272},{"class":40,"line":271},5,[273],{"type":13,"tag":38,"props":274,"children":275},{"style":57},[276],{"type":18,"value":122},{"type":13,"tag":278,"props":279,"children":280},"ul",{},[281,292,302],{"type":13,"tag":282,"props":283,"children":284},"li",{},[285,290],{"type":13,"tag":34,"props":286,"children":288},{"className":287},[],[289],{"type":18,"value":75},{"type":18,"value":291}," is the logical device that gets the size.",{"type":13,"tag":282,"props":293,"children":294},{},[295,300],{"type":13,"tag":34,"props":296,"children":298},{"className":297},[],[299],{"type":18,"value":94},{"type":18,"value":301}," is the descriptor set layout being queried.",{"type":13,"tag":282,"props":303,"children":304},{},[305,311,313,320],{"type":13,"tag":34,"props":306,"children":308},{"className":307},[],[309],{"type":18,"value":310},"pLayoutSizeInBytes",{"type":18,"value":312}," is a pointer to ",{"type":13,"tag":314,"props":315,"children":317},"a",{"href":316},"/man/VkDeviceSize",[318],{"type":18,"value":319},"VkDeviceSize",{"type":18,"value":321}," where the\nsize in bytes will be written.",{"type":13,"tag":14,"props":323,"children":324},{},[325,327,332,334,340],{"type":18,"value":326},"The size of a descriptor set layout will be at least as large as the sum\ntotal of the size of all descriptors in the layout, and ",{"type":13,"tag":328,"props":329,"children":331},"normative",{"type":330},"may",[],{"type":18,"value":333}," be larger.\nThis size represents the amount of memory that will be required to store all\nof the descriptors for this layout in memory, when placed according to the\nlayout’s offsets as obtained by\n",{"type":13,"tag":314,"props":335,"children":337},{"href":336},"/man/vkGetDescriptorSetLayoutBindingOffsetEXT",[338],{"type":18,"value":339},"vkGetDescriptorSetLayoutBindingOffsetEXT",{"type":18,"value":341},".",{"type":13,"tag":14,"props":343,"children":344},{},[345,347,353,355,360,362,368,370,376,378,383,385,390],{"type":18,"value":346},"If any ",{"type":13,"tag":34,"props":348,"children":350},{"className":349},[],[351],{"type":18,"value":352},"binding",{"type":18,"value":354}," in ",{"type":13,"tag":34,"props":356,"children":358},{"className":357},[],[359],{"type":18,"value":94},{"type":18,"value":361}," is\n",{"type":13,"tag":34,"props":363,"children":365},{"className":364},[],[366],{"type":18,"value":367},"VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT",{"type":18,"value":369},", the returned size\nincludes space for the maximum ",{"type":13,"tag":34,"props":371,"children":373},{"className":372},[],[374],{"type":18,"value":375},"descriptorCount",{"type":18,"value":377}," descriptors as declared\nfor that ",{"type":13,"tag":34,"props":379,"children":381},{"className":380},[],[382],{"type":18,"value":352},{"type":18,"value":384},".\nTo compute the required size of a descriptor set with a\n",{"type":13,"tag":34,"props":386,"children":388},{"className":387},[],[389],{"type":18,"value":367},{"type":18,"value":167},{"type":13,"tag":278,"props":392,"children":393},{},[394],{"type":13,"tag":282,"props":395,"children":396},{},[397],{"type":18,"value":398},"size = offset + descriptorSize ×\nvariableDescriptorCount",{"type":13,"tag":14,"props":400,"children":401},{},[402,404,408,410,416,418,424,425,431,433,439],{"type":18,"value":403},"where offset is obtained by\n",{"type":13,"tag":314,"props":405,"children":406},{"href":336},[407],{"type":18,"value":339},{"type":18,"value":409}," and descriptorSize is\nthe size of the relevant descriptor as obtained from\n",{"type":13,"tag":314,"props":411,"children":413},{"href":412},"/man/VkPhysicalDeviceDescriptorBufferPropertiesEXT",[414],{"type":18,"value":415},"VkPhysicalDeviceDescriptorBufferPropertiesEXT",{"type":18,"value":417},", and\nvariableDescriptorCount is the equivalent of\n",{"type":13,"tag":314,"props":419,"children":421},{"href":420},"/man/VkDescriptorSetVariableDescriptorCountAllocateInfo",[422],{"type":18,"value":423},"VkDescriptorSetVariableDescriptorCountAllocateInfo",{"type":18,"value":187},{"type":13,"tag":34,"props":426,"children":428},{"className":427},[],[429],{"type":18,"value":430},"pDescriptorCounts",{"type":18,"value":432},".\nFor ",{"type":13,"tag":34,"props":434,"children":436},{"className":435},[],[437],{"type":18,"value":438},"VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK",{"type":18,"value":440},",\nvariableDescriptorCount is the size in bytes for the inline uniform\nblock, and descriptorSize is 1.",{"type":13,"tag":14,"props":442,"children":443},{},[444,446,450,451,457,459,465,467,473],{"type":18,"value":445},"If\n",{"type":13,"tag":314,"props":447,"children":448},{"href":412},[449],{"type":18,"value":415},{"type":18,"value":187},{"type":13,"tag":34,"props":452,"children":454},{"className":453},[],[455],{"type":18,"value":456},"combinedImageSamplerDescriptorSingleArray",{"type":18,"value":458},"\nis ",{"type":13,"tag":34,"props":460,"children":462},{"className":461},[],[463],{"type":18,"value":464},"VK_FALSE",{"type":18,"value":466}," and the variable descriptor type is\n",{"type":13,"tag":34,"props":468,"children":470},{"className":469},[],[471],{"type":18,"value":472},"VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",{"type":18,"value":474},",\nvariableDescriptorCount is always considered to be the upper bound.",{"type":13,"tag":476,"props":477,"children":479},"validity-group",{"name":478},"Valid Usage",[480,508],{"type":13,"tag":481,"props":482,"children":484},"validity-field",{"name":483},"VUID-vkGetDescriptorSetLayoutSizeEXT-None-08011",[485],{"type":13,"tag":14,"props":486,"children":487},{},[488,490,500,502,506],{"type":18,"value":489},"The ",{"type":13,"tag":314,"props":491,"children":493},{"href":492},"/man/VkPhysicalDeviceDescriptorBufferFeaturesEXT#features-descriptorBuffer",[494],{"type":13,"tag":34,"props":495,"children":497},{"className":496},[],[498],{"type":18,"value":499},"descriptorBuffer",{"type":18,"value":501}," feature ",{"type":13,"tag":328,"props":503,"children":505},{"type":504},"must",[],{"type":18,"value":507},"\nbe enabled",{"type":13,"tag":481,"props":509,"children":511},{"name":510},"VUID-vkGetDescriptorSetLayoutSizeEXT-layout-08012",[512],{"type":13,"tag":14,"props":513,"children":514},{},[515,520,522,525,527,533],{"type":13,"tag":34,"props":516,"children":518},{"className":517},[],[519],{"type":18,"value":94},{"type":18,"value":521}," ",{"type":13,"tag":328,"props":523,"children":524},{"type":504},[],{"type":18,"value":526}," have been created with the\n",{"type":13,"tag":34,"props":528,"children":530},{"className":529},[],[531],{"type":18,"value":532},"VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT",{"type":18,"value":534}," flag set",{"type":13,"tag":476,"props":536,"children":538},{"name":537},"Valid Usage (Implicit)",[539,565,589,613],{"type":13,"tag":481,"props":540,"children":542},{"name":541},"VUID-vkGetDescriptorSetLayoutSizeEXT-device-parameter",[543],{"type":13,"tag":14,"props":544,"children":545},{},[546,551,552,555,557,563],{"type":13,"tag":34,"props":547,"children":549},{"className":548},[],[550],{"type":18,"value":75},{"type":18,"value":521},{"type":13,"tag":328,"props":553,"children":554},{"type":504},[],{"type":18,"value":556}," be a valid ",{"type":13,"tag":314,"props":558,"children":560},{"href":559},"/man/VkDevice",[561],{"type":18,"value":562},"VkDevice",{"type":18,"value":564}," handle",{"type":13,"tag":481,"props":566,"children":568},{"name":567},"VUID-vkGetDescriptorSetLayoutSizeEXT-layout-parameter",[569],{"type":13,"tag":14,"props":570,"children":571},{},[572,577,578,581,582,588],{"type":13,"tag":34,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":94},{"type":18,"value":521},{"type":13,"tag":328,"props":579,"children":580},{"type":504},[],{"type":18,"value":556},{"type":13,"tag":314,"props":583,"children":585},{"href":584},"/man/VkDescriptorSetLayout",[586],{"type":18,"value":587},"VkDescriptorSetLayout",{"type":18,"value":564},{"type":13,"tag":481,"props":590,"children":592},{"name":591},"VUID-vkGetDescriptorSetLayoutSizeEXT-pLayoutSizeInBytes-parameter",[593],{"type":13,"tag":14,"props":594,"children":595},{},[596,601,602,605,607,611],{"type":13,"tag":34,"props":597,"children":599},{"className":598},[],[600],{"type":18,"value":310},{"type":18,"value":521},{"type":13,"tag":328,"props":603,"children":604},{"type":504},[],{"type":18,"value":606}," be a valid pointer to a ",{"type":13,"tag":314,"props":608,"children":609},{"href":316},[610],{"type":18,"value":319},{"type":18,"value":612}," value",{"type":13,"tag":481,"props":614,"children":616},{"name":615},"VUID-vkGetDescriptorSetLayoutSizeEXT-layout-parent",[617],{"type":13,"tag":14,"props":618,"children":619},{},[620,625,626,629,631],{"type":13,"tag":34,"props":621,"children":623},{"className":622},[],[624],{"type":18,"value":94},{"type":18,"value":521},{"type":13,"tag":328,"props":627,"children":628},{"type":504},[],{"type":18,"value":630}," have been created, allocated, or retrieved from ",{"type":13,"tag":34,"props":632,"children":634},{"className":633},[],[635],{"type":18,"value":75},{"type":13,"tag":637,"props":638,"children":639},"style",{},[640],{"type":18,"value":641},"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":31,"searchDepth":63,"depth":63,"links":643},[],"markdown",1729612513712]