[{"data":1,"prerenderedAt":1585},["ShallowReactive",2],{"XlILMtLJwE":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1584,"_id":4},"VkBufferMemoryBarrier","Structure specifying a buffer memory barrier","VK_VERSION_1_0","structs",[],{"type":10,"children":11,"toc":1582},"root",[12,28,493,689,753,814,831,836,886,928,1465,1576],{"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,721,723,728,729,735,737,743,745,751],{"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\n",{"type":13,"tag":21,"props":709,"children":711},{"className":710},[],[712],{"type":18,"value":545},{"type":18,"value":714}," and, if a ",{"type":13,"tag":510,"props":716,"children":718},{"href":717},"/man/VkMemoryBarrierAccessFlags3KHR",[719],{"type":18,"value":720},"VkMemoryBarrierAccessFlags3KHR",{"type":18,"value":722}," is passed\nin ",{"type":13,"tag":21,"props":724,"children":726},{"className":725},[],[727],{"type":18,"value":526},{"type":18,"value":293},{"type":13,"tag":21,"props":730,"children":732},{"className":731},[],[733],{"type":18,"value":734},"srcAccessMask3",{"type":18,"value":736},".\nIf the source access mask includes ",{"type":13,"tag":21,"props":738,"children":740},{"className":739},[],[741],{"type":18,"value":742},"VK_ACCESS_HOST_WRITE_BIT",{"type":18,"value":744},", a\n",{"type":13,"tag":510,"props":746,"children":748},{"href":747},"/chapters/synchronization#synchronization-dependencies-available-and-visible",[749],{"type":18,"value":750},"memory domain\noperation",{"type":18,"value":752}," is performed where available memory in the host domain is also\nmade available to the device domain.",{"type":13,"tag":14,"props":754,"children":755},{},[756,758,762,763,767,769,774,775,779,780,785,786,792,794,799,801,807,808,812],{"type":18,"value":757},"The second ",{"type":13,"tag":510,"props":759,"children":760},{"href":696},[761],{"type":18,"value":699},{"type":18,"value":701},{"type":13,"tag":510,"props":764,"children":765},{"href":558},[766],{"type":18,"value":583},{"type":18,"value":768},"\nspecified by\n",{"type":13,"tag":21,"props":770,"children":772},{"className":771},[],[773],{"type":18,"value":572},{"type":18,"value":714},{"type":13,"tag":510,"props":776,"children":777},{"href":717},[778],{"type":18,"value":720},{"type":18,"value":722},{"type":13,"tag":21,"props":781,"children":783},{"className":782},[],[784],{"type":18,"value":526},{"type":18,"value":293},{"type":13,"tag":21,"props":787,"children":789},{"className":788},[],[790],{"type":18,"value":791},"dstAccessMask3",{"type":18,"value":793},".\nIf the destination access mask includes ",{"type":13,"tag":21,"props":795,"children":797},{"className":796},[],[798],{"type":18,"value":742},{"type":18,"value":800}," or\n",{"type":13,"tag":21,"props":802,"children":804},{"className":803},[],[805],{"type":18,"value":806},"VK_ACCESS_HOST_READ_BIT",{"type":18,"value":744},{"type":13,"tag":510,"props":809,"children":810},{"href":747},[811],{"type":18,"value":750},{"type":18,"value":813}," is performed where available memory in the device domain is also\nmade available to the host domain.",{"type":13,"tag":815,"props":816,"children":817},"note",{},[818],{"type":13,"tag":14,"props":819,"children":820},{},[821,823,829],{"type":18,"value":822},"When ",{"type":13,"tag":21,"props":824,"children":826},{"className":825},[],[827],{"type":18,"value":828},"VK_MEMORY_PROPERTY_HOST_COHERENT_BIT",{"type":18,"value":830}," 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":832,"props":833,"children":835},"anchor",{"id":834},"buffer-memory-barrier-ownership-transfer",[],{"type":13,"tag":14,"props":837,"children":838},{},[839,841,846,848,853,855,860,862,868,870,876,878,884],{"type":18,"value":840},"If ",{"type":13,"tag":21,"props":842,"children":844},{"className":843},[],[845],{"type":18,"value":593},{"type":18,"value":847}," is not equal to ",{"type":13,"tag":21,"props":849,"children":851},{"className":850},[],[852],{"type":18,"value":611},{"type":18,"value":854},", and\n",{"type":13,"tag":21,"props":856,"children":858},{"className":857},[],[859],{"type":18,"value":593},{"type":18,"value":861}," is equal to the current queue family, then the\nmemory barrier defines a ",{"type":13,"tag":510,"props":863,"children":865},{"href":864},"/chapters/synchronization#synchronization-queue-transfers-release",[866],{"type":18,"value":867},"queue\nfamily release operation",{"type":18,"value":869}," for the specified buffer range, and\nif ",{"type":13,"tag":21,"props":871,"children":873},{"className":872},[],[874],{"type":18,"value":875},"dependencyFlags",{"type":18,"value":877}," did not include\n",{"type":13,"tag":21,"props":879,"children":881},{"className":880},[],[882],{"type":18,"value":883},"VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR",{"type":18,"value":885},",\nthe second synchronization scope of the calling command does not apply to\nthis operation.",{"type":13,"tag":14,"props":887,"children":888},{},[889,890,895,896,901,902,907,908,914,915,920,921,926],{"type":18,"value":840},{"type":13,"tag":21,"props":891,"children":893},{"className":892},[],[894],{"type":18,"value":611},{"type":18,"value":847},{"type":13,"tag":21,"props":897,"children":899},{"className":898},[],[900],{"type":18,"value":593},{"type":18,"value":854},{"type":13,"tag":21,"props":903,"children":905},{"className":904},[],[906],{"type":18,"value":611},{"type":18,"value":861},{"type":13,"tag":510,"props":909,"children":911},{"href":910},"/chapters/synchronization#synchronization-queue-transfers-acquire",[912],{"type":18,"value":913},"queue\nfamily acquire operation",{"type":18,"value":869},{"type":13,"tag":21,"props":916,"children":918},{"className":917},[],[919],{"type":18,"value":875},{"type":18,"value":877},{"type":13,"tag":21,"props":922,"children":924},{"className":923},[],[925],{"type":18,"value":883},{"type":18,"value":927},",\nthe first synchronization scope of the calling command does not apply to\nthis operation.",{"type":13,"tag":929,"props":930,"children":932},"validity-group",{"name":931},"Valid Usage",[933,960,997,1040,1068,1131,1185,1218,1246,1278,1306,1364,1415],{"type":13,"tag":934,"props":935,"children":937},"validity-field",{"name":936},"VUID-VkBufferMemoryBarrier-offset-01187",[938],{"type":13,"tag":14,"props":939,"children":940},{},[941,946,948,953,955],{"type":13,"tag":21,"props":942,"children":944},{"className":943},[],[945],{"type":18,"value":638},{"type":18,"value":947}," ",{"type":13,"tag":949,"props":950,"children":952},"normative",{"type":951},"must",[],{"type":18,"value":954}," be less than the size of ",{"type":13,"tag":21,"props":956,"children":958},{"className":957},[],[959],{"type":18,"value":627},{"type":13,"tag":934,"props":961,"children":963},{"name":962},"VUID-VkBufferMemoryBarrier-size-01188",[964],{"type":13,"tag":14,"props":965,"children":966},{},[967,968,973,974,979,980,985,986,989,991],{"type":18,"value":840},{"type":13,"tag":21,"props":969,"children":971},{"className":970},[],[972],{"type":18,"value":664},{"type":18,"value":847},{"type":13,"tag":21,"props":975,"children":977},{"className":976},[],[978],{"type":18,"value":679},{"type":18,"value":293},{"type":13,"tag":21,"props":981,"children":983},{"className":982},[],[984],{"type":18,"value":664},{"type":18,"value":947},{"type":13,"tag":949,"props":987,"children":988},{"type":951},[],{"type":18,"value":990}," be\ngreater than ",{"type":13,"tag":21,"props":992,"children":994},{"className":993},[],[995],{"type":18,"value":996},"0",{"type":13,"tag":934,"props":998,"children":1000},{"name":999},"VUID-VkBufferMemoryBarrier-size-01189",[1001],{"type":13,"tag":14,"props":1002,"children":1003},{},[1004,1005,1010,1011,1016,1017,1022,1023,1026,1028,1033,1035],{"type":18,"value":840},{"type":13,"tag":21,"props":1006,"children":1008},{"className":1007},[],[1009],{"type":18,"value":664},{"type":18,"value":847},{"type":13,"tag":21,"props":1012,"children":1014},{"className":1013},[],[1015],{"type":18,"value":679},{"type":18,"value":293},{"type":13,"tag":21,"props":1018,"children":1020},{"className":1019},[],[1021],{"type":18,"value":664},{"type":18,"value":947},{"type":13,"tag":949,"props":1024,"children":1025},{"type":951},[],{"type":18,"value":1027}," be\nless than or equal to than the size of ",{"type":13,"tag":21,"props":1029,"children":1031},{"className":1030},[],[1032],{"type":18,"value":627},{"type":18,"value":1034}," minus ",{"type":13,"tag":21,"props":1036,"children":1038},{"className":1037},[],[1039],{"type":18,"value":638},{"type":13,"tag":934,"props":1041,"children":1043},{"name":1042},"VUID-VkBufferMemoryBarrier-buffer-01931",[1044],{"type":13,"tag":14,"props":1045,"children":1046},{},[1047,1048,1053,1055,1058,1060,1066],{"type":18,"value":840},{"type":13,"tag":21,"props":1049,"children":1051},{"className":1050},[],[1052],{"type":18,"value":627},{"type":18,"value":1054}," is non-sparse then it ",{"type":13,"tag":949,"props":1056,"children":1057},{"type":951},[],{"type":18,"value":1059}," be bound completely and\ncontiguously to a single ",{"type":13,"tag":21,"props":1061,"children":1063},{"className":1062},[],[1064],{"type":18,"value":1065},"VkDeviceMemory",{"type":18,"value":1067}," object",{"type":13,"tag":934,"props":1069,"children":1071},{"name":1070},"VUID-VkBufferMemoryBarrier-buffer-09095",[1072],{"type":13,"tag":14,"props":1073,"children":1074},{},[1075,1076,1081,1083,1089,1091,1096,1098,1103,1105,1110,1111,1114,1116,1122,1123,1129],{"type":18,"value":840},{"type":13,"tag":21,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":18,"value":627},{"type":18,"value":1082}," was created with a sharing mode of\n",{"type":13,"tag":21,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":18,"value":1088},"VK_SHARING_MODE_EXCLUSIVE",{"type":18,"value":1090},", and ",{"type":13,"tag":21,"props":1092,"children":1094},{"className":1093},[],[1095],{"type":18,"value":593},{"type":18,"value":1097}," and\n",{"type":13,"tag":21,"props":1099,"children":1101},{"className":1100},[],[1102],{"type":18,"value":611},{"type":18,"value":1104}," are not equal, ",{"type":13,"tag":21,"props":1106,"children":1108},{"className":1107},[],[1109],{"type":18,"value":593},{"type":18,"value":947},{"type":13,"tag":949,"props":1112,"children":1113},{"type":951},[],{"type":18,"value":1115},"\nbe\n",{"type":13,"tag":21,"props":1117,"children":1119},{"className":1118},[],[1120],{"type":18,"value":1121},"VK_QUEUE_FAMILY_EXTERNAL",{"type":18,"value":241},{"type":13,"tag":21,"props":1124,"children":1126},{"className":1125},[],[1127],{"type":18,"value":1128},"VK_QUEUE_FAMILY_FOREIGN_EXT",{"type":18,"value":1130},",\nor\na valid queue family",{"type":13,"tag":934,"props":1132,"children":1134},{"name":1133},"VUID-VkBufferMemoryBarrier-buffer-09096",[1135],{"type":13,"tag":14,"props":1136,"children":1137},{},[1138,1139,1144,1145,1150,1151,1156,1157,1162,1163,1168,1169,1172,1173,1178,1179,1184],{"type":18,"value":840},{"type":13,"tag":21,"props":1140,"children":1142},{"className":1141},[],[1143],{"type":18,"value":627},{"type":18,"value":1082},{"type":13,"tag":21,"props":1146,"children":1148},{"className":1147},[],[1149],{"type":18,"value":1088},{"type":18,"value":1090},{"type":13,"tag":21,"props":1152,"children":1154},{"className":1153},[],[1155],{"type":18,"value":593},{"type":18,"value":1097},{"type":13,"tag":21,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":18,"value":611},{"type":18,"value":1104},{"type":13,"tag":21,"props":1164,"children":1166},{"className":1165},[],[1167],{"type":18,"value":611},{"type":18,"value":947},{"type":13,"tag":949,"props":1170,"children":1171},{"type":951},[],{"type":18,"value":1115},{"type":13,"tag":21,"props":1174,"children":1176},{"className":1175},[],[1177],{"type":18,"value":1121},{"type":18,"value":241},{"type":13,"tag":21,"props":1180,"children":1182},{"className":1181},[],[1183],{"type":18,"value":1128},{"type":18,"value":1130},{"type":13,"tag":934,"props":1186,"children":1188},{"name":1187},"VUID-VkBufferMemoryBarrier-None-09097",[1189],{"type":13,"tag":14,"props":1190,"children":1191},{},[1192,1194,1200,1202,1207,1208,1211,1213],{"type":18,"value":1193},"If\nthe ",{"type":13,"tag":510,"props":1195,"children":1197},{"href":1196},"/extensions/VK_KHR_external_memory",[1198],{"type":18,"value":1199},"VK_KHR_external_memory",{"type":18,"value":1201}," extension is not enabled,\n",{"type":13,"tag":21,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":18,"value":593},{"type":18,"value":947},{"type":13,"tag":949,"props":1209,"children":1210},{"type":951},[],{"type":18,"value":1212}," not be ",{"type":13,"tag":21,"props":1214,"children":1216},{"className":1215},[],[1217],{"type":18,"value":1121},{"type":13,"tag":934,"props":1219,"children":1221},{"name":1220},"VUID-VkBufferMemoryBarrier-None-09098",[1222],{"type":13,"tag":14,"props":1223,"children":1224},{},[1225,1226,1230,1231,1236,1237,1240,1241],{"type":18,"value":1193},{"type":13,"tag":510,"props":1227,"children":1228},{"href":1196},[1229],{"type":18,"value":1199},{"type":18,"value":1201},{"type":13,"tag":21,"props":1232,"children":1234},{"className":1233},[],[1235],{"type":18,"value":611},{"type":18,"value":947},{"type":13,"tag":949,"props":1238,"children":1239},{"type":951},[],{"type":18,"value":1212},{"type":13,"tag":21,"props":1242,"children":1244},{"className":1243},[],[1245],{"type":18,"value":1121},{"type":13,"tag":934,"props":1247,"children":1249},{"name":1248},"VUID-VkBufferMemoryBarrier-srcQueueFamilyIndex-09099",[1250],{"type":13,"tag":14,"props":1251,"children":1252},{},[1253,1255,1261,1263,1268,1269,1272,1273],{"type":18,"value":1254},"If the ",{"type":13,"tag":510,"props":1256,"children":1258},{"href":1257},"/extensions/VK_EXT_queue_family_foreign",[1259],{"type":18,"value":1260},"VK_EXT_queue_family_foreign",{"type":18,"value":1262}," extension is not enabled\n",{"type":13,"tag":21,"props":1264,"children":1266},{"className":1265},[],[1267],{"type":18,"value":593},{"type":18,"value":947},{"type":13,"tag":949,"props":1270,"children":1271},{"type":951},[],{"type":18,"value":1212},{"type":13,"tag":21,"props":1274,"children":1276},{"className":1275},[],[1277],{"type":18,"value":1128},{"type":13,"tag":934,"props":1279,"children":1281},{"name":1280},"VUID-VkBufferMemoryBarrier-dstQueueFamilyIndex-09100",[1282],{"type":13,"tag":14,"props":1283,"children":1284},{},[1285,1286,1290,1291,1296,1297,1300,1301],{"type":18,"value":1254},{"type":13,"tag":510,"props":1287,"children":1288},{"href":1257},[1289],{"type":18,"value":1260},{"type":18,"value":1262},{"type":13,"tag":21,"props":1292,"children":1294},{"className":1293},[],[1295],{"type":18,"value":611},{"type":18,"value":947},{"type":13,"tag":949,"props":1298,"children":1299},{"type":951},[],{"type":18,"value":1212},{"type":13,"tag":21,"props":1302,"children":1304},{"className":1303},[],[1305],{"type":18,"value":1128},{"type":13,"tag":934,"props":1307,"children":1309},{"name":1308},"VUID-VkBufferMemoryBarrier-None-09049",[1310],{"type":13,"tag":14,"props":1311,"children":1312},{},[1313,1314,1324,1326,1331,1332,1338,1340,1345,1347,1352,1353,1356,1358],{"type":18,"value":1193},{"type":13,"tag":510,"props":1315,"children":1317},{"href":1316},"/man/VkPhysicalDeviceSynchronization2Features#features-synchronization2",[1318],{"type":13,"tag":21,"props":1319,"children":1321},{"className":1320},[],[1322],{"type":18,"value":1323},"synchronization2",{"type":18,"value":1325}," feature is not\nenabled, and\n",{"type":13,"tag":21,"props":1327,"children":1329},{"className":1328},[],[1330],{"type":18,"value":627},{"type":18,"value":1082},{"type":13,"tag":21,"props":1333,"children":1335},{"className":1334},[],[1336],{"type":18,"value":1337},"VK_SHARING_MODE_CONCURRENT",{"type":18,"value":1339},", at least one of\n",{"type":13,"tag":21,"props":1341,"children":1343},{"className":1342},[],[1344],{"type":18,"value":593},{"type":18,"value":1346}," and ",{"type":13,"tag":21,"props":1348,"children":1350},{"className":1349},[],[1351],{"type":18,"value":611},{"type":18,"value":947},{"type":13,"tag":949,"props":1354,"children":1355},{"type":951},[],{"type":18,"value":1357}," be\n",{"type":13,"tag":21,"props":1359,"children":1361},{"className":1360},[],[1362],{"type":18,"value":1363},"VK_QUEUE_FAMILY_IGNORED",{"type":13,"tag":934,"props":1365,"children":1367},{"name":1366},"VUID-VkBufferMemoryBarrier-None-09050",[1368],{"type":13,"tag":14,"props":1369,"children":1370},{},[1371,1372,1380,1381,1386,1387,1392,1393,1398,1399,1402,1403,1408,1410],{"type":18,"value":1193},{"type":13,"tag":510,"props":1373,"children":1374},{"href":1316},[1375],{"type":13,"tag":21,"props":1376,"children":1378},{"className":1377},[],[1379],{"type":18,"value":1323},{"type":18,"value":1325},{"type":13,"tag":21,"props":1382,"children":1384},{"className":1383},[],[1385],{"type":18,"value":627},{"type":18,"value":1082},{"type":13,"tag":21,"props":1388,"children":1390},{"className":1389},[],[1391],{"type":18,"value":1337},{"type":18,"value":293},{"type":13,"tag":21,"props":1394,"children":1396},{"className":1395},[],[1397],{"type":18,"value":593},{"type":18,"value":947},{"type":13,"tag":949,"props":1400,"children":1401},{"type":951},[],{"type":18,"value":1357},{"type":13,"tag":21,"props":1404,"children":1406},{"className":1405},[],[1407],{"type":18,"value":1363},{"type":18,"value":1409},"\nor ",{"type":13,"tag":21,"props":1411,"children":1413},{"className":1412},[],[1414],{"type":18,"value":1121},{"type":13,"tag":934,"props":1416,"children":1418},{"name":1417},"VUID-VkBufferMemoryBarrier-None-09051",[1419],{"type":13,"tag":14,"props":1420,"children":1421},{},[1422,1423,1431,1432,1437,1438,1443,1444,1449,1450,1453,1454,1459,1460],{"type":18,"value":1193},{"type":13,"tag":510,"props":1424,"children":1425},{"href":1316},[1426],{"type":13,"tag":21,"props":1427,"children":1429},{"className":1428},[],[1430],{"type":18,"value":1323},{"type":18,"value":1325},{"type":13,"tag":21,"props":1433,"children":1435},{"className":1434},[],[1436],{"type":18,"value":627},{"type":18,"value":1082},{"type":13,"tag":21,"props":1439,"children":1441},{"className":1440},[],[1442],{"type":18,"value":1337},{"type":18,"value":293},{"type":13,"tag":21,"props":1445,"children":1447},{"className":1446},[],[1448],{"type":18,"value":611},{"type":18,"value":947},{"type":13,"tag":949,"props":1451,"children":1452},{"type":951},[],{"type":18,"value":1357},{"type":13,"tag":21,"props":1455,"children":1457},{"className":1456},[],[1458],{"type":18,"value":1363},{"type":18,"value":1409},{"type":13,"tag":21,"props":1461,"children":1463},{"className":1462},[],[1464],{"type":18,"value":1121},{"type":13,"tag":929,"props":1466,"children":1468},{"name":1467},"Valid Usage (Implicit)",[1469,1493,1523,1550],{"type":13,"tag":934,"props":1470,"children":1472},{"name":1471},"VUID-VkBufferMemoryBarrier-sType-sType",[1473],{"type":13,"tag":14,"props":1474,"children":1475},{},[1476,1481,1482,1485,1487],{"type":13,"tag":21,"props":1477,"children":1479},{"className":1478},[],[1480],{"type":18,"value":506},{"type":18,"value":947},{"type":13,"tag":949,"props":1483,"children":1484},{"type":951},[],{"type":18,"value":1486}," be ",{"type":13,"tag":21,"props":1488,"children":1490},{"className":1489},[],[1491],{"type":18,"value":1492},"VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER",{"type":13,"tag":934,"props":1494,"children":1496},{"name":1495},"VUID-VkBufferMemoryBarrier-pNext-pNext",[1497],{"type":13,"tag":14,"props":1498,"children":1499},{},[1500,1505,1506,1509,1510,1515,1517],{"type":13,"tag":21,"props":1501,"children":1503},{"className":1502},[],[1504],{"type":18,"value":526},{"type":18,"value":947},{"type":13,"tag":949,"props":1507,"children":1508},{"type":951},[],{"type":18,"value":1486},{"type":13,"tag":21,"props":1511,"children":1513},{"className":1512},[],[1514],{"type":18,"value":534},{"type":18,"value":1516}," or a pointer to a valid instance of ",{"type":13,"tag":510,"props":1518,"children":1520},{"href":1519},"/man/VkExternalMemoryAcquireUnmodifiedEXT",[1521],{"type":18,"value":1522},"VkExternalMemoryAcquireUnmodifiedEXT",{"type":13,"tag":934,"props":1524,"children":1526},{"name":1525},"VUID-VkBufferMemoryBarrier-sType-unique",[1527],{"type":13,"tag":14,"props":1528,"children":1529},{},[1530,1531,1536,1538,1543,1545,1548],{"type":18,"value":19},{"type":13,"tag":21,"props":1532,"children":1534},{"className":1533},[],[1535],{"type":18,"value":506},{"type":18,"value":1537}," value of each structure in the ",{"type":13,"tag":21,"props":1539,"children":1541},{"className":1540},[],[1542],{"type":18,"value":526},{"type":18,"value":1544}," chain ",{"type":13,"tag":949,"props":1546,"children":1547},{"type":951},[],{"type":18,"value":1549}," be unique",{"type":13,"tag":934,"props":1551,"children":1553},{"name":1552},"VUID-VkBufferMemoryBarrier-buffer-parameter",[1554],{"type":13,"tag":14,"props":1555,"children":1556},{},[1557,1562,1563,1566,1568,1574],{"type":13,"tag":21,"props":1558,"children":1560},{"className":1559},[],[1561],{"type":18,"value":627},{"type":18,"value":947},{"type":13,"tag":949,"props":1564,"children":1565},{"type":951},[],{"type":18,"value":1567}," be a valid ",{"type":13,"tag":510,"props":1569,"children":1571},{"href":1570},"/man/VkBuffer",[1572],{"type":18,"value":1573},"VkBuffer",{"type":18,"value":1575}," handle",{"type":13,"tag":1577,"props":1578,"children":1579},"style",{},[1580],{"type":18,"value":1581},"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":1583},[],"markdown",1744876538039]