[{"data":1,"prerenderedAt":720},["ShallowReactive",2],{"oDOIXUztCm":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":719,"_id":4},"VkDescriptorBufferInfo","Structure specifying descriptor buffer information","VK_VERSION_1_0","structs",[],{"type":10,"children":11,"toc":717},"root",[12,28,250,395,430,435,475,668,711],{"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,103],{"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 VkDescriptorBufferInfo {\n VkBuffer buffer;\n VkDeviceSize offset;\n VkDeviceSize range;\n} VkDescriptorBufferInfo;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,85,94],{"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}," VkDescriptorBufferInfo {\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}," VkBuffer buffer;\n",{"type":13,"tag":45,"props":77,"children":79},{"class":47,"line":78},3,[80],{"type":13,"tag":45,"props":81,"children":82},{"style":63},[83],{"type":18,"value":84}," VkDeviceSize offset;\n",{"type":13,"tag":45,"props":86,"children":88},{"class":47,"line":87},4,[89],{"type":13,"tag":45,"props":90,"children":91},{"style":63},[92],{"type":18,"value":93}," VkDeviceSize range;\n",{"type":13,"tag":45,"props":95,"children":97},{"class":47,"line":96},5,[98],{"type":13,"tag":45,"props":99,"children":100},{"style":63},[101],{"type":18,"value":102},"} VkDescriptorBufferInfo;\n",{"type":13,"tag":33,"props":104,"children":109},{"className":105,"code":106,"filename":107,"language":108,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct DescriptorBufferInfo {\n buffer: vk::Buffer, // Buffer used for this descriptor slot.\n offset: vk::DeviceSize, // Base offset from buffer start in bytes to update in the descriptor set.\n range: vk::DeviceSize, // Size in bytes of the buffer resource for this descriptor update.\n}\n","Rust","rs",[110],{"type":13,"tag":21,"props":111,"children":112},{"__ignoreMap":39},[113,136,175,209,242],{"type":13,"tag":45,"props":114,"children":115},{"class":47,"line":48},[116,121,125,131],{"type":13,"tag":45,"props":117,"children":118},{"style":52},[119],{"type":18,"value":120},"pub",{"type":13,"tag":45,"props":122,"children":123},{"style":52},[124],{"type":18,"value":60},{"type":13,"tag":45,"props":126,"children":128},{"style":127},"--shiki-default:#953800;--shiki-dark:#FFA657",[129],{"type":18,"value":130}," DescriptorBufferInfo",{"type":13,"tag":45,"props":132,"children":133},{"style":63},[134],{"type":18,"value":135}," {\n",{"type":13,"tag":45,"props":137,"children":138},{"class":47,"line":69},[139,144,149,154,159,164,169],{"type":13,"tag":45,"props":140,"children":141},{"style":63},[142],{"type":18,"value":143}," buffer",{"type":13,"tag":45,"props":145,"children":146},{"style":52},[147],{"type":18,"value":148},":",{"type":13,"tag":45,"props":150,"children":151},{"style":127},[152],{"type":18,"value":153}," vk",{"type":13,"tag":45,"props":155,"children":156},{"style":52},[157],{"type":18,"value":158},"::",{"type":13,"tag":45,"props":160,"children":161},{"style":127},[162],{"type":18,"value":163},"Buffer",{"type":13,"tag":45,"props":165,"children":166},{"style":63},[167],{"type":18,"value":168},", ",{"type":13,"tag":45,"props":170,"children":172},{"style":171},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[173],{"type":18,"value":174},"// Buffer used for this descriptor slot.\n",{"type":13,"tag":45,"props":176,"children":177},{"class":47,"line":78},[178,183,187,191,195,200,204],{"type":13,"tag":45,"props":179,"children":180},{"style":63},[181],{"type":18,"value":182}," offset",{"type":13,"tag":45,"props":184,"children":185},{"style":52},[186],{"type":18,"value":148},{"type":13,"tag":45,"props":188,"children":189},{"style":127},[190],{"type":18,"value":153},{"type":13,"tag":45,"props":192,"children":193},{"style":52},[194],{"type":18,"value":158},{"type":13,"tag":45,"props":196,"children":197},{"style":127},[198],{"type":18,"value":199},"DeviceSize",{"type":13,"tag":45,"props":201,"children":202},{"style":63},[203],{"type":18,"value":168},{"type":13,"tag":45,"props":205,"children":206},{"style":171},[207],{"type":18,"value":208},"// Base offset from buffer start in bytes to update in the descriptor set.\n",{"type":13,"tag":45,"props":210,"children":211},{"class":47,"line":87},[212,217,221,225,229,233,237],{"type":13,"tag":45,"props":213,"children":214},{"style":63},[215],{"type":18,"value":216}," range",{"type":13,"tag":45,"props":218,"children":219},{"style":52},[220],{"type":18,"value":148},{"type":13,"tag":45,"props":222,"children":223},{"style":127},[224],{"type":18,"value":153},{"type":13,"tag":45,"props":226,"children":227},{"style":52},[228],{"type":18,"value":158},{"type":13,"tag":45,"props":230,"children":231},{"style":127},[232],{"type":18,"value":199},{"type":13,"tag":45,"props":234,"children":235},{"style":63},[236],{"type":18,"value":168},{"type":13,"tag":45,"props":238,"children":239},{"style":171},[240],{"type":18,"value":241},"// Size in bytes of the buffer resource for this descriptor update.\n",{"type":13,"tag":45,"props":243,"children":244},{"class":47,"line":96},[245],{"type":13,"tag":45,"props":246,"children":247},{"style":63},[248],{"type":18,"value":249},"}\n",{"type":13,"tag":251,"props":252,"children":253},"ul",{},[254,275,293],{"type":13,"tag":255,"props":256,"children":257},"li",{},[258,264,266,273],{"type":13,"tag":21,"props":259,"children":261},{"className":260},[],[262],{"type":18,"value":263},"buffer",{"type":18,"value":265}," is\n",{"type":13,"tag":267,"props":268,"children":270},"a",{"href":269},"/man/VK_NULL_HANDLE",[271],{"type":18,"value":272},"VK_NULL_HANDLE",{"type":18,"value":274}," or\nthe buffer resource.",{"type":13,"tag":255,"props":276,"children":277},{},[278,284,286,291],{"type":13,"tag":21,"props":279,"children":281},{"className":280},[],[282],{"type":18,"value":283},"offset",{"type":18,"value":285}," is the offset in bytes from the start of ",{"type":13,"tag":21,"props":287,"children":289},{"className":288},[],[290],{"type":18,"value":263},{"type":18,"value":292},".\nAccess to buffer memory via this descriptor uses addressing that is\nrelative to this starting offset.",{"type":13,"tag":255,"props":294,"children":295},{},[296,302,304,310,312,317,319],{"type":13,"tag":21,"props":297,"children":299},{"className":298},[],[300],{"type":18,"value":301},"range",{"type":18,"value":303}," is the size in bytes that is used for this descriptor\nupdate, or ",{"type":13,"tag":21,"props":305,"children":307},{"className":306},[],[308],{"type":18,"value":309},"VK_WHOLE_SIZE",{"type":18,"value":311}," to use the range from ",{"type":13,"tag":21,"props":313,"children":315},{"className":314},[],[316],{"type":18,"value":283},{"type":18,"value":318}," to the\nend of the buffer.",{"type":13,"tag":320,"props":321,"children":322},"note",{},[323],{"type":13,"tag":14,"props":324,"children":325},{},[326,328,333,335,340,342,348,350,355,357,367,369,379,381,386,388,393],{"type":18,"value":327},"When setting ",{"type":13,"tag":21,"props":329,"children":331},{"className":330},[],[332],{"type":18,"value":301},{"type":18,"value":334}," to ",{"type":13,"tag":21,"props":336,"children":338},{"className":337},[],[339],{"type":18,"value":309},{"type":18,"value":341},", the\n",{"type":13,"tag":267,"props":343,"children":345},{"href":344},"/man/VkDescriptorBufferInfo#buffer-info-effective-range",[346],{"type":18,"value":347},"effective range",{"type":18,"value":349}," ",{"type":13,"tag":351,"props":352,"children":354},"normative",{"type":353},"must",[],{"type":18,"value":356}," not be larger than\nthe maximum range for the descriptor type (",{"type":13,"tag":267,"props":358,"children":360},{"href":359},"/man/VkPhysicalDeviceLimits#limits-maxUniformBufferRange",[361],{"type":13,"tag":21,"props":362,"children":364},{"className":363},[],[365],{"type":18,"value":366},"maxUniformBufferRange",{"type":18,"value":368}," or ",{"type":13,"tag":267,"props":370,"children":372},{"href":371},"/man/VkPhysicalDeviceLimits#limits-maxStorageBufferRange",[373],{"type":13,"tag":21,"props":374,"children":376},{"className":375},[],[377],{"type":18,"value":378},"maxStorageBufferRange",{"type":18,"value":380},").\nThis means that ",{"type":13,"tag":21,"props":382,"children":384},{"className":383},[],[385],{"type":18,"value":309},{"type":18,"value":387}," is not typically useful in the common\ncase where uniform buffer descriptors are suballocated from a buffer that is\nmuch larger than ",{"type":13,"tag":21,"props":389,"children":391},{"className":390},[],[392],{"type":18,"value":366},{"type":18,"value":394},".",{"type":13,"tag":14,"props":396,"children":397},{},[398,400,406,408,414,416,421,423,428],{"type":18,"value":399},"For ",{"type":13,"tag":21,"props":401,"children":403},{"className":402},[],[404],{"type":18,"value":405},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",{"type":18,"value":407}," and\n",{"type":13,"tag":21,"props":409,"children":411},{"className":410},[],[412],{"type":18,"value":413},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",{"type":18,"value":415}," descriptor types,\n",{"type":13,"tag":21,"props":417,"children":419},{"className":418},[],[420],{"type":18,"value":283},{"type":18,"value":422}," is the base offset from which the dynamic offset is applied and\n",{"type":13,"tag":21,"props":424,"children":426},{"className":425},[],[427],{"type":18,"value":301},{"type":18,"value":429}," is the static size used for all dynamic offsets.",{"type":13,"tag":431,"props":432,"children":434},"anchor",{"id":433},"buffer-info-effective-range",[],{"type":13,"tag":14,"props":436,"children":437},{},[438,440,445,447,452,454,460,462,467,469,474],{"type":18,"value":439},"When ",{"type":13,"tag":21,"props":441,"children":443},{"className":442},[],[444],{"type":18,"value":301},{"type":18,"value":446}," is ",{"type":13,"tag":21,"props":448,"children":450},{"className":449},[],[451],{"type":18,"value":309},{"type":18,"value":453}," the effective range is calculated at\n",{"type":13,"tag":267,"props":455,"children":457},{"href":456},"/man/vkUpdateDescriptorSets",[458],{"type":18,"value":459},"vkUpdateDescriptorSets",{"type":18,"value":461}," is by taking the size of ",{"type":13,"tag":21,"props":463,"children":465},{"className":464},[],[466],{"type":18,"value":263},{"type":18,"value":468}," minus the\n",{"type":13,"tag":21,"props":470,"children":472},{"className":471},[],[473],{"type":18,"value":283},{"type":18,"value":394},{"type":13,"tag":476,"props":477,"children":479},"validity-group",{"name":478},"Valid Usage",[480,504,543,586,622],{"type":13,"tag":481,"props":482,"children":484},"validity-field",{"name":483},"VUID-VkDescriptorBufferInfo-offset-00340",[485],{"type":13,"tag":14,"props":486,"children":487},{},[488,493,494,497,499],{"type":13,"tag":21,"props":489,"children":491},{"className":490},[],[492],{"type":18,"value":283},{"type":18,"value":349},{"type":13,"tag":351,"props":495,"children":496},{"type":353},[],{"type":18,"value":498}," be less than the size of ",{"type":13,"tag":21,"props":500,"children":502},{"className":501},[],[503],{"type":18,"value":263},{"type":13,"tag":481,"props":505,"children":507},{"name":506},"VUID-VkDescriptorBufferInfo-range-00341",[508],{"type":13,"tag":14,"props":509,"children":510},{},[511,513,518,520,525,526,531,532,535,537],{"type":18,"value":512},"If ",{"type":13,"tag":21,"props":514,"children":516},{"className":515},[],[517],{"type":18,"value":301},{"type":18,"value":519}," is not equal to ",{"type":13,"tag":21,"props":521,"children":523},{"className":522},[],[524],{"type":18,"value":309},{"type":18,"value":168},{"type":13,"tag":21,"props":527,"children":529},{"className":528},[],[530],{"type":18,"value":301},{"type":18,"value":349},{"type":13,"tag":351,"props":533,"children":534},{"type":353},[],{"type":18,"value":536}," be\ngreater than ",{"type":13,"tag":21,"props":538,"children":540},{"className":539},[],[541],{"type":18,"value":542},"0",{"type":13,"tag":481,"props":544,"children":546},{"name":545},"VUID-VkDescriptorBufferInfo-range-00342",[547],{"type":13,"tag":14,"props":548,"children":549},{},[550,551,556,557,562,563,568,569,572,574,579,581],{"type":18,"value":512},{"type":13,"tag":21,"props":552,"children":554},{"className":553},[],[555],{"type":18,"value":301},{"type":18,"value":519},{"type":13,"tag":21,"props":558,"children":560},{"className":559},[],[561],{"type":18,"value":309},{"type":18,"value":168},{"type":13,"tag":21,"props":564,"children":566},{"className":565},[],[567],{"type":18,"value":301},{"type":18,"value":349},{"type":13,"tag":351,"props":570,"children":571},{"type":353},[],{"type":18,"value":573}," be\nless than or equal to the size of ",{"type":13,"tag":21,"props":575,"children":577},{"className":576},[],[578],{"type":18,"value":263},{"type":18,"value":580}," minus ",{"type":13,"tag":21,"props":582,"children":584},{"className":583},[],[585],{"type":18,"value":283},{"type":13,"tag":481,"props":587,"children":589},{"name":588},"VUID-VkDescriptorBufferInfo-buffer-02998",[590],{"type":13,"tag":14,"props":591,"children":592},{},[593,595,605,607,612,613,616,618],{"type":18,"value":594},"If the ",{"type":13,"tag":267,"props":596,"children":598},{"href":597},"/man/VkPhysicalDeviceRobustness2FeaturesEXT#features-nullDescriptor",[599],{"type":13,"tag":21,"props":600,"children":602},{"className":601},[],[603],{"type":18,"value":604},"nullDescriptor",{"type":18,"value":606}," feature is not\nenabled, ",{"type":13,"tag":21,"props":608,"children":610},{"className":609},[],[611],{"type":18,"value":263},{"type":18,"value":349},{"type":13,"tag":351,"props":614,"children":615},{"type":353},[],{"type":18,"value":617}," not be ",{"type":13,"tag":267,"props":619,"children":620},{"href":269},[621],{"type":18,"value":272},{"type":13,"tag":481,"props":623,"children":625},{"name":624},"VUID-VkDescriptorBufferInfo-buffer-02999",[626],{"type":13,"tag":14,"props":627,"children":628},{},[629,630,635,636,640,641,646,647,650,652,657,658,661,663],{"type":18,"value":512},{"type":13,"tag":21,"props":631,"children":633},{"className":632},[],[634],{"type":18,"value":263},{"type":18,"value":446},{"type":13,"tag":267,"props":637,"children":638},{"href":269},[639],{"type":18,"value":272},{"type":18,"value":168},{"type":13,"tag":21,"props":642,"children":644},{"className":643},[],[645],{"type":18,"value":283},{"type":18,"value":349},{"type":13,"tag":351,"props":648,"children":649},{"type":353},[],{"type":18,"value":651}," be zero and\n",{"type":13,"tag":21,"props":653,"children":655},{"className":654},[],[656],{"type":18,"value":301},{"type":18,"value":349},{"type":13,"tag":351,"props":659,"children":660},{"type":353},[],{"type":18,"value":662}," be ",{"type":13,"tag":21,"props":664,"children":666},{"className":665},[],[667],{"type":18,"value":309},{"type":13,"tag":476,"props":669,"children":671},{"name":670},"Valid Usage (Implicit)",[672],{"type":13,"tag":481,"props":673,"children":675},{"name":674},"VUID-VkDescriptorBufferInfo-buffer-parameter",[676],{"type":13,"tag":14,"props":677,"children":678},{},[679,680,685,687,691,692,697,698,701,703,709],{"type":18,"value":512},{"type":13,"tag":21,"props":681,"children":683},{"className":682},[],[684],{"type":18,"value":263},{"type":18,"value":686}," is not ",{"type":13,"tag":267,"props":688,"children":689},{"href":269},[690],{"type":18,"value":272},{"type":18,"value":168},{"type":13,"tag":21,"props":693,"children":695},{"className":694},[],[696],{"type":18,"value":263},{"type":18,"value":349},{"type":13,"tag":351,"props":699,"children":700},{"type":353},[],{"type":18,"value":702}," be a valid ",{"type":13,"tag":267,"props":704,"children":706},{"href":705},"/man/VkBuffer",[707],{"type":18,"value":708},"VkBuffer",{"type":18,"value":710}," handle",{"type":13,"tag":712,"props":713,"children":714},"style",{},[715],{"type":18,"value":716},"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":718},[],"markdown",1725732546583]