[{"data":1,"prerenderedAt":1577},["ShallowReactive",2],{"XlILMtLJwE":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1576,"_id":4},"VkBufferMemoryBarrier","Structure specifying a buffer memory barrier","VK_VERSION_1_0","structs",[],{"type":10,"children":11,"toc":1574},"root",[12,28,493,689,738,786,803,808,842,872,1457,1568],{"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,176],{"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 VkBufferMemoryBarrier {\n VkStructureType sType;\n const void* pNext;\n VkAccessFlags srcAccessMask;\n VkAccessFlags dstAccessMask;\n uint32_t srcQueueFamilyIndex;\n uint32_t dstQueueFamilyIndex;\n VkBuffer buffer;\n VkDeviceSize offset;\n VkDeviceSize size;\n} VkBufferMemoryBarrier;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,95,104,113,127,140,149,158,167],{"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}," VkBufferMemoryBarrier {\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,90],{"type":13,"tag":45,"props":81,"children":82},{"style":52},[83],{"type":18,"value":84}," const",{"type":13,"tag":45,"props":86,"children":87},{"style":52},[88],{"type":18,"value":89}," void*",{"type":13,"tag":45,"props":91,"children":92},{"style":63},[93],{"type":18,"value":94}," pNext;\n",{"type":13,"tag":45,"props":96,"children":98},{"class":47,"line":97},4,[99],{"type":13,"tag":45,"props":100,"children":101},{"style":63},[102],{"type":18,"value":103}," VkAccessFlags srcAccessMask;\n",{"type":13,"tag":45,"props":105,"children":107},{"class":47,"line":106},5,[108],{"type":13,"tag":45,"props":109,"children":110},{"style":63},[111],{"type":18,"value":112}," VkAccessFlags dstAccessMask;\n",{"type":13,"tag":45,"props":114,"children":116},{"class":47,"line":115},6,[117,122],{"type":13,"tag":45,"props":118,"children":119},{"style":52},[120],{"type":18,"value":121}," uint32_t",{"type":13,"tag":45,"props":123,"children":124},{"style":63},[125],{"type":18,"value":126}," srcQueueFamilyIndex;\n",{"type":13,"tag":45,"props":128,"children":130},{"class":47,"line":129},7,[131,135],{"type":13,"tag":45,"props":132,"children":133},{"style":52},[134],{"type":18,"value":121},{"type":13,"tag":45,"props":136,"children":137},{"style":63},[138],{"type":18,"value":139}," dstQueueFamilyIndex;\n",{"type":13,"tag":45,"props":141,"children":143},{"class":47,"line":142},8,[144],{"type":13,"tag":45,"props":145,"children":146},{"style":63},[147],{"type":18,"value":148}," VkBuffer buffer;\n",{"type":13,"tag":45,"props":150,"children":152},{"class":47,"line":151},9,[153],{"type":13,"tag":45,"props":154,"children":155},{"style":63},[156],{"type":18,"value":157}," VkDeviceSize offset;\n",{"type":13,"tag":45,"props":159,"children":161},{"class":47,"line":160},10,[162],{"type":13,"tag":45,"props":163,"children":164},{"style":63},[165],{"type":18,"value":166}," VkDeviceSize size;\n",{"type":13,"tag":45,"props":168,"children":170},{"class":47,"line":169},11,[171],{"type":13,"tag":45,"props":172,"children":173},{"style":63},[174],{"type":18,"value":175},"} VkBufferMemoryBarrier;\n",{"type":13,"tag":33,"props":177,"children":182},{"className":178,"code":179,"filename":180,"language":181,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct BufferMemoryBarrier {\n s_type: vk::StructureType,\n p_next: *const c_void,\n src_access_mask: vk::AccessFlags, // Memory accesses from the source of the dependency to synchronize\n dst_access_mask: vk::AccessFlags, // Memory accesses from the destination of the dependency to synchronize\n src_queue_family_index: u32, // Queue family to transition ownership from\n dst_queue_family_index: u32, // Queue family to transition ownership to\n buffer: vk::Buffer, // Buffer to sync\n offset: vk::DeviceSize, // Offset within the buffer to sync\n size: vk::DeviceSize, // Amount of bytes to sync\n}\n","Rust","rs",[183],{"type":13,"tag":21,"props":184,"children":185},{"__ignoreMap":39},[186,209,242,264,300,333,359,384,418,452,485],{"type":13,"tag":45,"props":187,"children":188},{"class":47,"line":48},[189,194,198,204],{"type":13,"tag":45,"props":190,"children":191},{"style":52},[192],{"type":18,"value":193},"pub",{"type":13,"tag":45,"props":195,"children":196},{"style":52},[197],{"type":18,"value":60},{"type":13,"tag":45,"props":199,"children":201},{"style":200},"--shiki-default:#953800;--shiki-dark:#FFA657",[202],{"type":18,"value":203}," BufferMemoryBarrier",{"type":13,"tag":45,"props":205,"children":206},{"style":63},[207],{"type":18,"value":208}," {\n",{"type":13,"tag":45,"props":210,"children":211},{"class":47,"line":69},[212,217,222,227,232,237],{"type":13,"tag":45,"props":213,"children":214},{"style":63},[215],{"type":18,"value":216}," s_type",{"type":13,"tag":45,"props":218,"children":219},{"style":52},[220],{"type":18,"value":221},":",{"type":13,"tag":45,"props":223,"children":224},{"style":200},[225],{"type":18,"value":226}," vk",{"type":13,"tag":45,"props":228,"children":229},{"style":52},[230],{"type":18,"value":231},"::",{"type":13,"tag":45,"props":233,"children":234},{"style":200},[235],{"type":18,"value":236},"StructureType",{"type":13,"tag":45,"props":238,"children":239},{"style":63},[240],{"type":18,"value":241},",\n",{"type":13,"tag":45,"props":243,"children":244},{"class":47,"line":78},[245,250,254,259],{"type":13,"tag":45,"props":246,"children":247},{"style":63},[248],{"type":18,"value":249}," p_next",{"type":13,"tag":45,"props":251,"children":252},{"style":52},[253],{"type":18,"value":221},{"type":13,"tag":45,"props":255,"children":256},{"style":52},[257],{"type":18,"value":258}," *const",{"type":13,"tag":45,"props":260,"children":261},{"style":63},[262],{"type":18,"value":263}," c_void,\n",{"type":13,"tag":45,"props":265,"children":266},{"class":47,"line":97},[267,272,276,280,284,289,294],{"type":13,"tag":45,"props":268,"children":269},{"style":63},[270],{"type":18,"value":271}," src_access_mask",{"type":13,"tag":45,"props":273,"children":274},{"style":52},[275],{"type":18,"value":221},{"type":13,"tag":45,"props":277,"children":278},{"style":200},[279],{"type":18,"value":226},{"type":13,"tag":45,"props":281,"children":282},{"style":52},[283],{"type":18,"value":231},{"type":13,"tag":45,"props":285,"children":286},{"style":200},[287],{"type":18,"value":288},"AccessFlags",{"type":13,"tag":45,"props":290,"children":291},{"style":63},[292],{"type":18,"value":293},", ",{"type":13,"tag":45,"props":295,"children":297},{"style":296},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[298],{"type":18,"value":299},"// Memory accesses from the source of the dependency to synchronize\n",{"type":13,"tag":45,"props":301,"children":302},{"class":47,"line":106},[303,308,312,316,320,324,328],{"type":13,"tag":45,"props":304,"children":305},{"style":63},[306],{"type":18,"value":307}," dst_access_mask",{"type":13,"tag":45,"props":309,"children":310},{"style":52},[311],{"type":18,"value":221},{"type":13,"tag":45,"props":313,"children":314},{"style":200},[315],{"type":18,"value":226},{"type":13,"tag":45,"props":317,"children":318},{"style":52},[319],{"type":18,"value":231},{"type":13,"tag":45,"props":321,"children":322},{"style":200},[323],{"type":18,"value":288},{"type":13,"tag":45,"props":325,"children":326},{"style":63},[327],{"type":18,"value":293},{"type":13,"tag":45,"props":329,"children":330},{"style":296},[331],{"type":18,"value":332},"// Memory accesses from the destination of the dependency to synchronize\n",{"type":13,"tag":45,"props":334,"children":335},{"class":47,"line":115},[336,341,345,350,354],{"type":13,"tag":45,"props":337,"children":338},{"style":63},[339],{"type":18,"value":340}," src_queue_family_index",{"type":13,"tag":45,"props":342,"children":343},{"style":52},[344],{"type":18,"value":221},{"type":13,"tag":45,"props":346,"children":347},{"style":200},[348],{"type":18,"value":349}," u32",{"type":13,"tag":45,"props":351,"children":352},{"style":63},[353],{"type":18,"value":293},{"type":13,"tag":45,"props":355,"children":356},{"style":296},[357],{"type":18,"value":358},"// Queue family to transition ownership from\n",{"type":13,"tag":45,"props":360,"children":361},{"class":47,"line":129},[362,367,371,375,379],{"type":13,"tag":45,"props":363,"children":364},{"style":63},[365],{"type":18,"value":366}," dst_queue_family_index",{"type":13,"tag":45,"props":368,"children":369},{"style":52},[370],{"type":18,"value":221},{"type":13,"tag":45,"props":372,"children":373},{"style":200},[374],{"type":18,"value":349},{"type":13,"tag":45,"props":376,"children":377},{"style":63},[378],{"type":18,"value":293},{"type":13,"tag":45,"props":380,"children":381},{"style":296},[382],{"type":18,"value":383},"// Queue family to transition ownership to\n",{"type":13,"tag":45,"props":385,"children":386},{"class":47,"line":142},[387,392,396,400,404,409,413],{"type":13,"tag":45,"props":388,"children":389},{"style":63},[390],{"type":18,"value":391}," buffer",{"type":13,"tag":45,"props":393,"children":394},{"style":52},[395],{"type":18,"value":221},{"type":13,"tag":45,"props":397,"children":398},{"style":200},[399],{"type":18,"value":226},{"type":13,"tag":45,"props":401,"children":402},{"style":52},[403],{"type":18,"value":231},{"type":13,"tag":45,"props":405,"children":406},{"style":200},[407],{"type":18,"value":408},"Buffer",{"type":13,"tag":45,"props":410,"children":411},{"style":63},[412],{"type":18,"value":293},{"type":13,"tag":45,"props":414,"children":415},{"style":296},[416],{"type":18,"value":417},"// Buffer to sync\n",{"type":13,"tag":45,"props":419,"children":420},{"class":47,"line":151},[421,426,430,434,438,443,447],{"type":13,"tag":45,"props":422,"children":423},{"style":63},[424],{"type":18,"value":425}," offset",{"type":13,"tag":45,"props":427,"children":428},{"style":52},[429],{"type":18,"value":221},{"type":13,"tag":45,"props":431,"children":432},{"style":200},[433],{"type":18,"value":226},{"type":13,"tag":45,"props":435,"children":436},{"style":52},[437],{"type":18,"value":231},{"type":13,"tag":45,"props":439,"children":440},{"style":200},[441],{"type":18,"value":442},"DeviceSize",{"type":13,"tag":45,"props":444,"children":445},{"style":63},[446],{"type":18,"value":293},{"type":13,"tag":45,"props":448,"children":449},{"style":296},[450],{"type":18,"value":451},"// Offset within the buffer to sync\n",{"type":13,"tag":45,"props":453,"children":454},{"class":47,"line":160},[455,460,464,468,472,476,480],{"type":13,"tag":45,"props":456,"children":457},{"style":63},[458],{"type":18,"value":459}," size",{"type":13,"tag":45,"props":461,"children":462},{"style":52},[463],{"type":18,"value":221},{"type":13,"tag":45,"props":465,"children":466},{"style":200},[467],{"type":18,"value":226},{"type":13,"tag":45,"props":469,"children":470},{"style":52},[471],{"type":18,"value":231},{"type":13,"tag":45,"props":473,"children":474},{"style":200},[475],{"type":18,"value":442},{"type":13,"tag":45,"props":477,"children":478},{"style":63},[479],{"type":18,"value":293},{"type":13,"tag":45,"props":481,"children":482},{"style":296},[483],{"type":18,"value":484},"// Amount of bytes to sync\n",{"type":13,"tag":45,"props":486,"children":487},{"class":47,"line":169},[488],{"type":13,"tag":45,"props":489,"children":490},{"style":63},[491],{"type":18,"value":492},"}\n",{"type":13,"tag":494,"props":495,"children":496},"ul",{},[497,518,537,564,585,603,619,630,656],{"type":13,"tag":498,"props":499,"children":500},"li",{},[501,507,509,516],{"type":13,"tag":21,"props":502,"children":504},{"className":503},[],[505],{"type":18,"value":506},"sType",{"type":18,"value":508}," is a ",{"type":13,"tag":510,"props":511,"children":513},"a",{"href":512},"/man/VkStructureType",[514],{"type":18,"value":515},"VkStructureType",{"type":18,"value":517}," value identifying this structure.",{"type":13,"tag":498,"props":519,"children":520},{},[521,527,529,535],{"type":13,"tag":21,"props":522,"children":524},{"className":523},[],[525],{"type":18,"value":526},"pNext",{"type":18,"value":528}," is ",{"type":13,"tag":21,"props":530,"children":532},{"className":531},[],[533],{"type":18,"value":534},"NULL",{"type":18,"value":536}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":498,"props":538,"children":539},{},[540,546,548,554,556,562],{"type":13,"tag":21,"props":541,"children":543},{"className":542},[],[544],{"type":18,"value":545},"srcAccessMask",{"type":18,"value":547}," is a bitmask of ",{"type":13,"tag":510,"props":549,"children":551},{"href":550},"/man/VkAccessFlagBits",[552],{"type":18,"value":553},"VkAccessFlagBits",{"type":18,"value":555}," specifying a\n",{"type":13,"tag":510,"props":557,"children":559},{"href":558},"/chapters/synchronization#synchronization-access-masks",[560],{"type":18,"value":561},"source access mask",{"type":18,"value":563},".",{"type":13,"tag":498,"props":565,"children":566},{},[567,573,574,578,579,584],{"type":13,"tag":21,"props":568,"children":570},{"className":569},[],[571],{"type":18,"value":572},"dstAccessMask",{"type":18,"value":547},{"type":13,"tag":510,"props":575,"children":576},{"href":550},[577],{"type":18,"value":553},{"type":18,"value":555},{"type":13,"tag":510,"props":580,"children":581},{"href":558},[582],{"type":18,"value":583},"destination access mask",{"type":18,"value":563},{"type":13,"tag":498,"props":586,"children":587},{},[588,594,596,602],{"type":13,"tag":21,"props":589,"children":591},{"className":590},[],[592],{"type":18,"value":593},"srcQueueFamilyIndex",{"type":18,"value":595}," is the source queue family for a\n",{"type":13,"tag":510,"props":597,"children":599},{"href":598},"/chapters/synchronization#synchronization-queue-transfers",[600],{"type":18,"value":601},"queue family ownership transfer",{"type":18,"value":563},{"type":13,"tag":498,"props":604,"children":605},{},[606,612,614,618],{"type":13,"tag":21,"props":607,"children":609},{"className":608},[],[610],{"type":18,"value":611},"dstQueueFamilyIndex",{"type":18,"value":613}," is the destination queue family for a\n",{"type":13,"tag":510,"props":615,"children":616},{"href":598},[617],{"type":18,"value":601},{"type":18,"value":563},{"type":13,"tag":498,"props":620,"children":621},{},[622,628],{"type":13,"tag":21,"props":623,"children":625},{"className":624},[],[626],{"type":18,"value":627},"buffer",{"type":18,"value":629}," is a handle to the buffer whose backing memory is affected\nby the barrier.",{"type":13,"tag":498,"props":631,"children":632},{},[633,639,641,646,648,654],{"type":13,"tag":21,"props":634,"children":636},{"className":635},[],[637],{"type":18,"value":638},"offset",{"type":18,"value":640}," is an offset in bytes into the backing memory for\n",{"type":13,"tag":21,"props":642,"children":644},{"className":643},[],[645],{"type":18,"value":627},{"type":18,"value":647},"; this is relative to the base offset as bound to the buffer\n(see ",{"type":13,"tag":510,"props":649,"children":651},{"href":650},"/man/vkBindBufferMemory",[652],{"type":18,"value":653},"vkBindBufferMemory",{"type":18,"value":655},").",{"type":13,"tag":498,"props":657,"children":658},{},[659,665,667,672,674,680,682,687],{"type":13,"tag":21,"props":660,"children":662},{"className":661},[],[663],{"type":18,"value":664},"size",{"type":18,"value":666}," is a size in bytes of the affected area of backing memory for\n",{"type":13,"tag":21,"props":668,"children":670},{"className":669},[],[671],{"type":18,"value":627},{"type":18,"value":673},", or ",{"type":13,"tag":21,"props":675,"children":677},{"className":676},[],[678],{"type":18,"value":679},"VK_WHOLE_SIZE",{"type":18,"value":681}," to use the range from ",{"type":13,"tag":21,"props":683,"children":685},{"className":684},[],[686],{"type":18,"value":638},{"type":18,"value":688},"\nto the end of the buffer.",{"type":13,"tag":14,"props":690,"children":691},{},[692,694,700,702,706,708,713,715,720,722,728,730,736],{"type":18,"value":693},"The first ",{"type":13,"tag":510,"props":695,"children":697},{"href":696},"/chapters/synchronization#synchronization-dependencies-access-scopes",[698],{"type":18,"value":699},"access scope",{"type":18,"value":701}," is\nlimited to access to memory through the specified buffer range, via access\ntypes in the ",{"type":13,"tag":510,"props":703,"children":704},{"href":558},[705],{"type":18,"value":561},{"type":18,"value":707}," specified\nby ",{"type":13,"tag":21,"props":709,"children":711},{"className":710},[],[712],{"type":18,"value":545},{"type":18,"value":714},".\nIf ",{"type":13,"tag":21,"props":716,"children":718},{"className":717},[],[719],{"type":18,"value":545},{"type":18,"value":721}," includes ",{"type":13,"tag":21,"props":723,"children":725},{"className":724},[],[726],{"type":18,"value":727},"VK_ACCESS_HOST_WRITE_BIT",{"type":18,"value":729},", a\n",{"type":13,"tag":510,"props":731,"children":733},{"href":732},"/chapters/synchronization#synchronization-dependencies-available-and-visible",[734],{"type":18,"value":735},"memory domain\noperation",{"type":18,"value":737}," is performed where available memory in the host domain is also\nmade available to the device domain.",{"type":13,"tag":14,"props":739,"children":740},{},[741,743,747,748,752,754,759,760,765,766,771,773,779,780,784],{"type":18,"value":742},"The second ",{"type":13,"tag":510,"props":744,"children":745},{"href":696},[746],{"type":18,"value":699},{"type":18,"value":701},{"type":13,"tag":510,"props":749,"children":750},{"href":558},[751],{"type":18,"value":583},{"type":18,"value":753},"\nspecified by ",{"type":13,"tag":21,"props":755,"children":757},{"className":756},[],[758],{"type":18,"value":572},{"type":18,"value":714},{"type":13,"tag":21,"props":761,"children":763},{"className":762},[],[764],{"type":18,"value":572},{"type":18,"value":721},{"type":13,"tag":21,"props":767,"children":769},{"className":768},[],[770],{"type":18,"value":727},{"type":18,"value":772}," or\n",{"type":13,"tag":21,"props":774,"children":776},{"className":775},[],[777],{"type":18,"value":778},"VK_ACCESS_HOST_READ_BIT",{"type":18,"value":729},{"type":13,"tag":510,"props":781,"children":782},{"href":732},[783],{"type":18,"value":735},{"type":18,"value":785}," is performed where available memory in the device domain is also\nmade available to the host domain.",{"type":13,"tag":787,"props":788,"children":789},"note",{},[790],{"type":13,"tag":14,"props":791,"children":792},{},[793,795,801],{"type":18,"value":794},"When ",{"type":13,"tag":21,"props":796,"children":798},{"className":797},[],[799],{"type":18,"value":800},"VK_MEMORY_PROPERTY_HOST_COHERENT_BIT",{"type":18,"value":802}," is used, available memory in\nhost domain is automatically made visible to host domain, and any host write\nis automatically made available to host domain.",{"type":13,"tag":804,"props":805,"children":807},"anchor",{"id":806},"buffer-memory-barrier-ownership-transfer",[],{"type":13,"tag":14,"props":809,"children":810},{},[811,813,818,820,825,827,832,834,840],{"type":18,"value":812},"If ",{"type":13,"tag":21,"props":814,"children":816},{"className":815},[],[817],{"type":18,"value":593},{"type":18,"value":819}," is not equal to ",{"type":13,"tag":21,"props":821,"children":823},{"className":822},[],[824],{"type":18,"value":611},{"type":18,"value":826},", and\n",{"type":13,"tag":21,"props":828,"children":830},{"className":829},[],[831],{"type":18,"value":593},{"type":18,"value":833}," is equal to the current queue family, then the\nmemory barrier defines a ",{"type":13,"tag":510,"props":835,"children":837},{"href":836},"/chapters/synchronization#synchronization-queue-transfers-release",[838],{"type":18,"value":839},"queue\nfamily release operation",{"type":18,"value":841}," for the specified buffer range, and the second\nsynchronization scope of the calling command does not apply to this\noperation.",{"type":13,"tag":14,"props":843,"children":844},{},[845,846,851,852,857,858,863,864,870],{"type":18,"value":812},{"type":13,"tag":21,"props":847,"children":849},{"className":848},[],[850],{"type":18,"value":611},{"type":18,"value":819},{"type":13,"tag":21,"props":853,"children":855},{"className":854},[],[856],{"type":18,"value":593},{"type":18,"value":826},{"type":13,"tag":21,"props":859,"children":861},{"className":860},[],[862],{"type":18,"value":611},{"type":18,"value":833},{"type":13,"tag":510,"props":865,"children":867},{"href":866},"/chapters/synchronization#synchronization-queue-transfers-acquire",[868],{"type":18,"value":869},"queue\nfamily acquire operation",{"type":18,"value":871}," for the specified buffer range, and the first\nsynchronization scope of the calling command does not apply to this\noperation.",{"type":13,"tag":873,"props":874,"children":876},"validity-group",{"name":875},"Valid Usage",[877,904,941,984,1012,1075,1129,1179,1211,1239,1271,1299,1357,1407],{"type":13,"tag":878,"props":879,"children":881},"validity-field",{"name":880},"VUID-VkBufferMemoryBarrier-offset-01187",[882],{"type":13,"tag":14,"props":883,"children":884},{},[885,890,892,897,899],{"type":13,"tag":21,"props":886,"children":888},{"className":887},[],[889],{"type":18,"value":638},{"type":18,"value":891}," ",{"type":13,"tag":893,"props":894,"children":896},"normative",{"type":895},"must",[],{"type":18,"value":898}," be less than the size of ",{"type":13,"tag":21,"props":900,"children":902},{"className":901},[],[903],{"type":18,"value":627},{"type":13,"tag":878,"props":905,"children":907},{"name":906},"VUID-VkBufferMemoryBarrier-size-01188",[908],{"type":13,"tag":14,"props":909,"children":910},{},[911,912,917,918,923,924,929,930,933,935],{"type":18,"value":812},{"type":13,"tag":21,"props":913,"children":915},{"className":914},[],[916],{"type":18,"value":664},{"type":18,"value":819},{"type":13,"tag":21,"props":919,"children":921},{"className":920},[],[922],{"type":18,"value":679},{"type":18,"value":293},{"type":13,"tag":21,"props":925,"children":927},{"className":926},[],[928],{"type":18,"value":664},{"type":18,"value":891},{"type":13,"tag":893,"props":931,"children":932},{"type":895},[],{"type":18,"value":934}," be\ngreater than ",{"type":13,"tag":21,"props":936,"children":938},{"className":937},[],[939],{"type":18,"value":940},"0",{"type":13,"tag":878,"props":942,"children":944},{"name":943},"VUID-VkBufferMemoryBarrier-size-01189",[945],{"type":13,"tag":14,"props":946,"children":947},{},[948,949,954,955,960,961,966,967,970,972,977,979],{"type":18,"value":812},{"type":13,"tag":21,"props":950,"children":952},{"className":951},[],[953],{"type":18,"value":664},{"type":18,"value":819},{"type":13,"tag":21,"props":956,"children":958},{"className":957},[],[959],{"type":18,"value":679},{"type":18,"value":293},{"type":13,"tag":21,"props":962,"children":964},{"className":963},[],[965],{"type":18,"value":664},{"type":18,"value":891},{"type":13,"tag":893,"props":968,"children":969},{"type":895},[],{"type":18,"value":971}," be\nless than or equal to than the size of ",{"type":13,"tag":21,"props":973,"children":975},{"className":974},[],[976],{"type":18,"value":627},{"type":18,"value":978}," minus ",{"type":13,"tag":21,"props":980,"children":982},{"className":981},[],[983],{"type":18,"value":638},{"type":13,"tag":878,"props":985,"children":987},{"name":986},"VUID-VkBufferMemoryBarrier-buffer-01931",[988],{"type":13,"tag":14,"props":989,"children":990},{},[991,992,997,999,1002,1004,1010],{"type":18,"value":812},{"type":13,"tag":21,"props":993,"children":995},{"className":994},[],[996],{"type":18,"value":627},{"type":18,"value":998}," is non-sparse then it ",{"type":13,"tag":893,"props":1000,"children":1001},{"type":895},[],{"type":18,"value":1003}," be bound completely and\ncontiguously to a single ",{"type":13,"tag":21,"props":1005,"children":1007},{"className":1006},[],[1008],{"type":18,"value":1009},"VkDeviceMemory",{"type":18,"value":1011}," object",{"type":13,"tag":878,"props":1013,"children":1015},{"name":1014},"VUID-VkBufferMemoryBarrier-buffer-09095",[1016],{"type":13,"tag":14,"props":1017,"children":1018},{},[1019,1020,1025,1027,1033,1035,1040,1042,1047,1049,1054,1055,1058,1060,1066,1067,1073],{"type":18,"value":812},{"type":13,"tag":21,"props":1021,"children":1023},{"className":1022},[],[1024],{"type":18,"value":627},{"type":18,"value":1026}," was created with a sharing mode of\n",{"type":13,"tag":21,"props":1028,"children":1030},{"className":1029},[],[1031],{"type":18,"value":1032},"VK_SHARING_MODE_EXCLUSIVE",{"type":18,"value":1034},", and ",{"type":13,"tag":21,"props":1036,"children":1038},{"className":1037},[],[1039],{"type":18,"value":593},{"type":18,"value":1041}," and\n",{"type":13,"tag":21,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":18,"value":611},{"type":18,"value":1048}," are not equal, ",{"type":13,"tag":21,"props":1050,"children":1052},{"className":1051},[],[1053],{"type":18,"value":593},{"type":18,"value":891},{"type":13,"tag":893,"props":1056,"children":1057},{"type":895},[],{"type":18,"value":1059},"\nbe\n",{"type":13,"tag":21,"props":1061,"children":1063},{"className":1062},[],[1064],{"type":18,"value":1065},"VK_QUEUE_FAMILY_EXTERNAL",{"type":18,"value":241},{"type":13,"tag":21,"props":1068,"children":1070},{"className":1069},[],[1071],{"type":18,"value":1072},"VK_QUEUE_FAMILY_FOREIGN_EXT",{"type":18,"value":1074},",\nor\na valid queue family",{"type":13,"tag":878,"props":1076,"children":1078},{"name":1077},"VUID-VkBufferMemoryBarrier-buffer-09096",[1079],{"type":13,"tag":14,"props":1080,"children":1081},{},[1082,1083,1088,1089,1094,1095,1100,1101,1106,1107,1112,1113,1116,1117,1122,1123,1128],{"type":18,"value":812},{"type":13,"tag":21,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":18,"value":627},{"type":18,"value":1026},{"type":13,"tag":21,"props":1090,"children":1092},{"className":1091},[],[1093],{"type":18,"value":1032},{"type":18,"value":1034},{"type":13,"tag":21,"props":1096,"children":1098},{"className":1097},[],[1099],{"type":18,"value":593},{"type":18,"value":1041},{"type":13,"tag":21,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":18,"value":611},{"type":18,"value":1048},{"type":13,"tag":21,"props":1108,"children":1110},{"className":1109},[],[1111],{"type":18,"value":611},{"type":18,"value":891},{"type":13,"tag":893,"props":1114,"children":1115},{"type":895},[],{"type":18,"value":1059},{"type":13,"tag":21,"props":1118,"children":1120},{"className":1119},[],[1121],{"type":18,"value":1065},{"type":18,"value":241},{"type":13,"tag":21,"props":1124,"children":1126},{"className":1125},[],[1127],{"type":18,"value":1072},{"type":18,"value":1074},{"type":13,"tag":878,"props":1130,"children":1132},{"name":1131},"VUID-VkBufferMemoryBarrier-srcQueueFamilyIndex-04087",[1133],{"type":13,"tag":14,"props":1134,"children":1135},{},[1136,1137,1142,1143,1148,1150,1155,1157,1162,1165,1167,1172,1174],{"type":18,"value":812},{"type":13,"tag":21,"props":1138,"children":1140},{"className":1139},[],[1141],{"type":18,"value":593},{"type":18,"value":819},{"type":13,"tag":21,"props":1144,"children":1146},{"className":1145},[],[1147],{"type":18,"value":611},{"type":18,"value":1149},",\nat least one of ",{"type":13,"tag":21,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":18,"value":593},{"type":18,"value":1156}," or ",{"type":13,"tag":21,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":18,"value":611},{"type":13,"tag":893,"props":1163,"children":1164},{"type":895},[],{"type":18,"value":1166}," not be ",{"type":13,"tag":21,"props":1168,"children":1170},{"className":1169},[],[1171],{"type":18,"value":1065},{"type":18,"value":1173},"\nor ",{"type":13,"tag":21,"props":1175,"children":1177},{"className":1176},[],[1178],{"type":18,"value":1072},{"type":13,"tag":878,"props":1180,"children":1182},{"name":1181},"VUID-VkBufferMemoryBarrier-None-09097",[1183],{"type":13,"tag":14,"props":1184,"children":1185},{},[1186,1188,1194,1196,1201,1202,1205,1206],{"type":18,"value":1187},"If\nthe ",{"type":13,"tag":510,"props":1189,"children":1191},{"href":1190},"/extensions/VK_KHR_external_memory",[1192],{"type":18,"value":1193},"VK_KHR_external_memory",{"type":18,"value":1195}," extension is not enabled,\n",{"type":13,"tag":21,"props":1197,"children":1199},{"className":1198},[],[1200],{"type":18,"value":593},{"type":18,"value":891},{"type":13,"tag":893,"props":1203,"children":1204},{"type":895},[],{"type":18,"value":1166},{"type":13,"tag":21,"props":1207,"children":1209},{"className":1208},[],[1210],{"type":18,"value":1065},{"type":13,"tag":878,"props":1212,"children":1214},{"name":1213},"VUID-VkBufferMemoryBarrier-None-09098",[1215],{"type":13,"tag":14,"props":1216,"children":1217},{},[1218,1219,1223,1224,1229,1230,1233,1234],{"type":18,"value":1187},{"type":13,"tag":510,"props":1220,"children":1221},{"href":1190},[1222],{"type":18,"value":1193},{"type":18,"value":1195},{"type":13,"tag":21,"props":1225,"children":1227},{"className":1226},[],[1228],{"type":18,"value":611},{"type":18,"value":891},{"type":13,"tag":893,"props":1231,"children":1232},{"type":895},[],{"type":18,"value":1166},{"type":13,"tag":21,"props":1235,"children":1237},{"className":1236},[],[1238],{"type":18,"value":1065},{"type":13,"tag":878,"props":1240,"children":1242},{"name":1241},"VUID-VkBufferMemoryBarrier-srcQueueFamilyIndex-09099",[1243],{"type":13,"tag":14,"props":1244,"children":1245},{},[1246,1248,1254,1256,1261,1262,1265,1266],{"type":18,"value":1247},"If the ",{"type":13,"tag":510,"props":1249,"children":1251},{"href":1250},"/extensions/VK_EXT_queue_family_foreign",[1252],{"type":18,"value":1253},"VK_EXT_queue_family_foreign",{"type":18,"value":1255}," extension is not enabled\n",{"type":13,"tag":21,"props":1257,"children":1259},{"className":1258},[],[1260],{"type":18,"value":593},{"type":18,"value":891},{"type":13,"tag":893,"props":1263,"children":1264},{"type":895},[],{"type":18,"value":1166},{"type":13,"tag":21,"props":1267,"children":1269},{"className":1268},[],[1270],{"type":18,"value":1072},{"type":13,"tag":878,"props":1272,"children":1274},{"name":1273},"VUID-VkBufferMemoryBarrier-dstQueueFamilyIndex-09100",[1275],{"type":13,"tag":14,"props":1276,"children":1277},{},[1278,1279,1283,1284,1289,1290,1293,1294],{"type":18,"value":1247},{"type":13,"tag":510,"props":1280,"children":1281},{"href":1250},[1282],{"type":18,"value":1253},{"type":18,"value":1255},{"type":13,"tag":21,"props":1285,"children":1287},{"className":1286},[],[1288],{"type":18,"value":611},{"type":18,"value":891},{"type":13,"tag":893,"props":1291,"children":1292},{"type":895},[],{"type":18,"value":1166},{"type":13,"tag":21,"props":1295,"children":1297},{"className":1296},[],[1298],{"type":18,"value":1072},{"type":13,"tag":878,"props":1300,"children":1302},{"name":1301},"VUID-VkBufferMemoryBarrier-None-09049",[1303],{"type":13,"tag":14,"props":1304,"children":1305},{},[1306,1307,1317,1319,1324,1325,1331,1333,1338,1340,1345,1346,1349,1351],{"type":18,"value":1187},{"type":13,"tag":510,"props":1308,"children":1310},{"href":1309},"/man/VkPhysicalDeviceSynchronization2Features#features-synchronization2",[1311],{"type":13,"tag":21,"props":1312,"children":1314},{"className":1313},[],[1315],{"type":18,"value":1316},"synchronization2",{"type":18,"value":1318}," feature is not\nenabled, and\n",{"type":13,"tag":21,"props":1320,"children":1322},{"className":1321},[],[1323],{"type":18,"value":627},{"type":18,"value":1026},{"type":13,"tag":21,"props":1326,"children":1328},{"className":1327},[],[1329],{"type":18,"value":1330},"VK_SHARING_MODE_CONCURRENT",{"type":18,"value":1332},", at least one of\n",{"type":13,"tag":21,"props":1334,"children":1336},{"className":1335},[],[1337],{"type":18,"value":593},{"type":18,"value":1339}," and ",{"type":13,"tag":21,"props":1341,"children":1343},{"className":1342},[],[1344],{"type":18,"value":611},{"type":18,"value":891},{"type":13,"tag":893,"props":1347,"children":1348},{"type":895},[],{"type":18,"value":1350}," be\n",{"type":13,"tag":21,"props":1352,"children":1354},{"className":1353},[],[1355],{"type":18,"value":1356},"VK_QUEUE_FAMILY_IGNORED",{"type":13,"tag":878,"props":1358,"children":1360},{"name":1359},"VUID-VkBufferMemoryBarrier-None-09050",[1361],{"type":13,"tag":14,"props":1362,"children":1363},{},[1364,1365,1373,1374,1379,1380,1385,1386,1391,1392,1395,1396,1401,1402],{"type":18,"value":1187},{"type":13,"tag":510,"props":1366,"children":1367},{"href":1309},[1368],{"type":13,"tag":21,"props":1369,"children":1371},{"className":1370},[],[1372],{"type":18,"value":1316},{"type":18,"value":1318},{"type":13,"tag":21,"props":1375,"children":1377},{"className":1376},[],[1378],{"type":18,"value":627},{"type":18,"value":1026},{"type":13,"tag":21,"props":1381,"children":1383},{"className":1382},[],[1384],{"type":18,"value":1330},{"type":18,"value":293},{"type":13,"tag":21,"props":1387,"children":1389},{"className":1388},[],[1390],{"type":18,"value":593},{"type":18,"value":891},{"type":13,"tag":893,"props":1393,"children":1394},{"type":895},[],{"type":18,"value":1350},{"type":13,"tag":21,"props":1397,"children":1399},{"className":1398},[],[1400],{"type":18,"value":1356},{"type":18,"value":1173},{"type":13,"tag":21,"props":1403,"children":1405},{"className":1404},[],[1406],{"type":18,"value":1065},{"type":13,"tag":878,"props":1408,"children":1410},{"name":1409},"VUID-VkBufferMemoryBarrier-None-09051",[1411],{"type":13,"tag":14,"props":1412,"children":1413},{},[1414,1415,1423,1424,1429,1430,1435,1436,1441,1442,1445,1446,1451,1452],{"type":18,"value":1187},{"type":13,"tag":510,"props":1416,"children":1417},{"href":1309},[1418],{"type":13,"tag":21,"props":1419,"children":1421},{"className":1420},[],[1422],{"type":18,"value":1316},{"type":18,"value":1318},{"type":13,"tag":21,"props":1425,"children":1427},{"className":1426},[],[1428],{"type":18,"value":627},{"type":18,"value":1026},{"type":13,"tag":21,"props":1431,"children":1433},{"className":1432},[],[1434],{"type":18,"value":1330},{"type":18,"value":293},{"type":13,"tag":21,"props":1437,"children":1439},{"className":1438},[],[1440],{"type":18,"value":611},{"type":18,"value":891},{"type":13,"tag":893,"props":1443,"children":1444},{"type":895},[],{"type":18,"value":1350},{"type":13,"tag":21,"props":1447,"children":1449},{"className":1448},[],[1450],{"type":18,"value":1356},{"type":18,"value":1173},{"type":13,"tag":21,"props":1453,"children":1455},{"className":1454},[],[1456],{"type":18,"value":1065},{"type":13,"tag":873,"props":1458,"children":1460},{"name":1459},"Valid Usage (Implicit)",[1461,1485,1515,1542],{"type":13,"tag":878,"props":1462,"children":1464},{"name":1463},"VUID-VkBufferMemoryBarrier-sType-sType",[1465],{"type":13,"tag":14,"props":1466,"children":1467},{},[1468,1473,1474,1477,1479],{"type":13,"tag":21,"props":1469,"children":1471},{"className":1470},[],[1472],{"type":18,"value":506},{"type":18,"value":891},{"type":13,"tag":893,"props":1475,"children":1476},{"type":895},[],{"type":18,"value":1478}," be ",{"type":13,"tag":21,"props":1480,"children":1482},{"className":1481},[],[1483],{"type":18,"value":1484},"VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER",{"type":13,"tag":878,"props":1486,"children":1488},{"name":1487},"VUID-VkBufferMemoryBarrier-pNext-pNext",[1489],{"type":13,"tag":14,"props":1490,"children":1491},{},[1492,1497,1498,1501,1502,1507,1509],{"type":13,"tag":21,"props":1493,"children":1495},{"className":1494},[],[1496],{"type":18,"value":526},{"type":18,"value":891},{"type":13,"tag":893,"props":1499,"children":1500},{"type":895},[],{"type":18,"value":1478},{"type":13,"tag":21,"props":1503,"children":1505},{"className":1504},[],[1506],{"type":18,"value":534},{"type":18,"value":1508}," or a pointer to a valid instance of ",{"type":13,"tag":510,"props":1510,"children":1512},{"href":1511},"/man/VkExternalMemoryAcquireUnmodifiedEXT",[1513],{"type":18,"value":1514},"VkExternalMemoryAcquireUnmodifiedEXT",{"type":13,"tag":878,"props":1516,"children":1518},{"name":1517},"VUID-VkBufferMemoryBarrier-sType-unique",[1519],{"type":13,"tag":14,"props":1520,"children":1521},{},[1522,1523,1528,1530,1535,1537,1540],{"type":18,"value":19},{"type":13,"tag":21,"props":1524,"children":1526},{"className":1525},[],[1527],{"type":18,"value":506},{"type":18,"value":1529}," value of each struct in the ",{"type":13,"tag":21,"props":1531,"children":1533},{"className":1532},[],[1534],{"type":18,"value":526},{"type":18,"value":1536}," chain ",{"type":13,"tag":893,"props":1538,"children":1539},{"type":895},[],{"type":18,"value":1541}," be unique",{"type":13,"tag":878,"props":1543,"children":1545},{"name":1544},"VUID-VkBufferMemoryBarrier-buffer-parameter",[1546],{"type":13,"tag":14,"props":1547,"children":1548},{},[1549,1554,1555,1558,1560,1566],{"type":13,"tag":21,"props":1550,"children":1552},{"className":1551},[],[1553],{"type":18,"value":627},{"type":18,"value":891},{"type":13,"tag":893,"props":1556,"children":1557},{"type":895},[],{"type":18,"value":1559}," be a valid ",{"type":13,"tag":510,"props":1561,"children":1563},{"href":1562},"/man/VkBuffer",[1564],{"type":18,"value":1565},"VkBuffer",{"type":18,"value":1567}," handle",{"type":13,"tag":1569,"props":1570,"children":1571},"style",{},[1572],{"type":18,"value":1573},"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":1575},[],"markdown",1725732541305]