[{"data":1,"prerenderedAt":518},["ShallowReactive",2],{"31gjr2r9iG":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":517,"_id":4},"vkInvalidateMappedMemoryRanges","Invalidate ranges of mapped memory objects","VK_VERSION_1_0","protos",[],{"type":10,"children":11,"toc":515},"root",[12,20,297,350,391,411,420,509],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","To invalidate ranges of non-coherent memory from the host caches, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,127],{"type":13,"tag":25,"props":26,"children":32},"pre",{"className":27,"code":28,"filename":29,"language":30,"meta":31,"style":31},"language-c shiki shiki-themes github-light-default github-dark-default","VkResult vkInvalidateMappedMemoryRanges(\n VkDevice device,\n uint32_t memoryRangeCount,\n const VkMappedMemoryRange* pMemoryRanges);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,59,79,98],{"type":13,"tag":38,"props":39,"children":42},"span",{"class":40,"line":41},"line",1,[43,49,54],{"type":13,"tag":38,"props":44,"children":46},{"style":45},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[47],{"type":18,"value":48},"VkResult ",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":4},{"type":13,"tag":38,"props":55,"children":56},{"style":45},[57],{"type":18,"value":58},"(\n",{"type":13,"tag":38,"props":60,"children":62},{"class":40,"line":61},2,[63,68,74],{"type":13,"tag":38,"props":64,"children":65},{"style":45},[66],{"type":18,"value":67}," VkDevice ",{"type":13,"tag":38,"props":69,"children":71},{"style":70},"--shiki-default:#953800;--shiki-dark:#FFA657",[72],{"type":18,"value":73},"device",{"type":13,"tag":38,"props":75,"children":76},{"style":45},[77],{"type":18,"value":78},",\n",{"type":13,"tag":38,"props":80,"children":82},{"class":40,"line":81},3,[83,89,94],{"type":13,"tag":38,"props":84,"children":86},{"style":85},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[87],{"type":18,"value":88}," uint32_t",{"type":13,"tag":38,"props":90,"children":91},{"style":70},[92],{"type":18,"value":93}," memoryRangeCount",{"type":13,"tag":38,"props":95,"children":96},{"style":45},[97],{"type":18,"value":78},{"type":13,"tag":38,"props":99,"children":101},{"class":40,"line":100},4,[102,107,112,117,122],{"type":13,"tag":38,"props":103,"children":104},{"style":85},[105],{"type":18,"value":106}," const",{"type":13,"tag":38,"props":108,"children":109},{"style":45},[110],{"type":18,"value":111}," VkMappedMemoryRange",{"type":13,"tag":38,"props":113,"children":114},{"style":85},[115],{"type":18,"value":116},"*",{"type":13,"tag":38,"props":118,"children":119},{"style":70},[120],{"type":18,"value":121}," pMemoryRanges",{"type":13,"tag":38,"props":123,"children":124},{"style":45},[125],{"type":18,"value":126},");\n",{"type":13,"tag":25,"props":128,"children":133},{"className":129,"code":130,"filename":131,"language":132,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn invalidate_mapped_memory_ranges(\n device: crate :: vk :: vk::Device,\n memory_range_count: u32,\n p_memory_ranges: *const vk::MappedMemoryRange,\n) -> vk::Result;\n","Rust","rs",[134],{"type":13,"tag":34,"props":135,"children":136},{"__ignoreMap":31},[137,159,210,231,265],{"type":13,"tag":38,"props":138,"children":139},{"class":40,"line":41},[140,145,150,155],{"type":13,"tag":38,"props":141,"children":142},{"style":85},[143],{"type":18,"value":144},"pub",{"type":13,"tag":38,"props":146,"children":147},{"style":85},[148],{"type":18,"value":149}," fn",{"type":13,"tag":38,"props":151,"children":152},{"style":51},[153],{"type":18,"value":154}," invalidate_mapped_memory_ranges",{"type":13,"tag":38,"props":156,"children":157},{"style":45},[158],{"type":18,"value":58},{"type":13,"tag":38,"props":160,"children":161},{"class":40,"line":61},[162,167,172,177,182,187,192,197,201,206],{"type":13,"tag":38,"props":163,"children":164},{"style":45},[165],{"type":18,"value":166}," device",{"type":13,"tag":38,"props":168,"children":169},{"style":85},[170],{"type":18,"value":171},":",{"type":13,"tag":38,"props":173,"children":174},{"style":85},[175],{"type":18,"value":176}," crate",{"type":13,"tag":38,"props":178,"children":179},{"style":85},[180],{"type":18,"value":181}," ::",{"type":13,"tag":38,"props":183,"children":184},{"style":45},[185],{"type":18,"value":186}," vk ",{"type":13,"tag":38,"props":188,"children":189},{"style":85},[190],{"type":18,"value":191},"::",{"type":13,"tag":38,"props":193,"children":194},{"style":70},[195],{"type":18,"value":196}," vk",{"type":13,"tag":38,"props":198,"children":199},{"style":85},[200],{"type":18,"value":191},{"type":13,"tag":38,"props":202,"children":203},{"style":70},[204],{"type":18,"value":205},"Device",{"type":13,"tag":38,"props":207,"children":208},{"style":45},[209],{"type":18,"value":78},{"type":13,"tag":38,"props":211,"children":212},{"class":40,"line":81},[213,218,222,227],{"type":13,"tag":38,"props":214,"children":215},{"style":45},[216],{"type":18,"value":217}," memory_range_count",{"type":13,"tag":38,"props":219,"children":220},{"style":85},[221],{"type":18,"value":171},{"type":13,"tag":38,"props":223,"children":224},{"style":70},[225],{"type":18,"value":226}," u32",{"type":13,"tag":38,"props":228,"children":229},{"style":45},[230],{"type":18,"value":78},{"type":13,"tag":38,"props":232,"children":233},{"class":40,"line":100},[234,239,243,248,252,256,261],{"type":13,"tag":38,"props":235,"children":236},{"style":45},[237],{"type":18,"value":238}," p_memory_ranges",{"type":13,"tag":38,"props":240,"children":241},{"style":85},[242],{"type":18,"value":171},{"type":13,"tag":38,"props":244,"children":245},{"style":85},[246],{"type":18,"value":247}," *const",{"type":13,"tag":38,"props":249,"children":250},{"style":70},[251],{"type":18,"value":196},{"type":13,"tag":38,"props":253,"children":254},{"style":85},[255],{"type":18,"value":191},{"type":13,"tag":38,"props":257,"children":258},{"style":70},[259],{"type":18,"value":260},"MappedMemoryRange",{"type":13,"tag":38,"props":262,"children":263},{"style":45},[264],{"type":18,"value":78},{"type":13,"tag":38,"props":266,"children":268},{"class":40,"line":267},5,[269,274,279,283,287,292],{"type":13,"tag":38,"props":270,"children":271},{"style":45},[272],{"type":18,"value":273},") ",{"type":13,"tag":38,"props":275,"children":276},{"style":85},[277],{"type":18,"value":278},"->",{"type":13,"tag":38,"props":280,"children":281},{"style":70},[282],{"type":18,"value":196},{"type":13,"tag":38,"props":284,"children":285},{"style":85},[286],{"type":18,"value":191},{"type":13,"tag":38,"props":288,"children":289},{"style":70},[290],{"type":18,"value":291},"Result",{"type":13,"tag":38,"props":293,"children":294},{"style":45},[295],{"type":18,"value":296},";\n",{"type":13,"tag":298,"props":299,"children":300},"ul",{},[301,312,331],{"type":13,"tag":302,"props":303,"children":304},"li",{},[305,310],{"type":13,"tag":34,"props":306,"children":308},{"className":307},[],[309],{"type":18,"value":73},{"type":18,"value":311}," is the logical device that owns the memory ranges.",{"type":13,"tag":302,"props":313,"children":314},{},[315,321,323,329],{"type":13,"tag":34,"props":316,"children":318},{"className":317},[],[319],{"type":18,"value":320},"memoryRangeCount",{"type":18,"value":322}," is the length of the ",{"type":13,"tag":34,"props":324,"children":326},{"className":325},[],[327],{"type":18,"value":328},"pMemoryRanges",{"type":18,"value":330}," array.",{"type":13,"tag":302,"props":332,"children":333},{},[334,339,341,348],{"type":13,"tag":34,"props":335,"children":337},{"className":336},[],[338],{"type":18,"value":328},{"type":18,"value":340}," is a pointer to an array of\n",{"type":13,"tag":342,"props":343,"children":345},"a",{"href":344},"/man/VkMappedMemoryRange",[346],{"type":18,"value":347},"VkMappedMemoryRange",{"type":18,"value":349}," structures describing the memory ranges to\ninvalidate.",{"type":13,"tag":14,"props":351,"children":352},{},[353,358,360,365,367,373,375,381,383,389],{"type":13,"tag":34,"props":354,"children":356},{"className":355},[],[357],{"type":18,"value":4},{"type":18,"value":359}," guarantees that device writes to the\nmemory ranges described by ",{"type":13,"tag":34,"props":361,"children":363},{"className":362},[],[364],{"type":18,"value":328},{"type":18,"value":366},", which have been made\navailable to the host memory domain using the ",{"type":13,"tag":34,"props":368,"children":370},{"className":369},[],[371],{"type":18,"value":372},"VK_ACCESS_HOST_WRITE_BIT",{"type":18,"value":374},"\nand ",{"type":13,"tag":34,"props":376,"children":378},{"className":377},[],[379],{"type":18,"value":380},"VK_ACCESS_HOST_READ_BIT",{"type":18,"value":382}," ",{"type":13,"tag":342,"props":384,"children":386},{"href":385},"/chapters/synchronization#synchronization-access-types",[387],{"type":18,"value":388},"access\ntypes",{"type":18,"value":390},", are made visible to the host.\nIf a range of non-coherent memory is written by the host and then\ninvalidated without first being flushed, its contents are undefined:.",{"type":13,"tag":14,"props":392,"children":393},{},[394,396,401,403,409],{"type":18,"value":395},"Within each range described by ",{"type":13,"tag":34,"props":397,"children":399},{"className":398},[],[400],{"type":18,"value":328},{"type":18,"value":402},", each set of\n",{"type":13,"tag":34,"props":404,"children":406},{"className":405},[],[407],{"type":18,"value":408},"nonCoherentAtomSize",{"type":18,"value":410}," bytes in that range is invalidated if any byte in\nthat set has been written by the device since it was first host mapped, or\nthe last time it was invalidated.",{"type":13,"tag":412,"props":413,"children":414},"note",{},[415],{"type":13,"tag":14,"props":416,"children":417},{},[418],{"type":18,"value":419},"Mapping non-coherent memory does not implicitly invalidate that memory.",{"type":13,"tag":421,"props":422,"children":424},"validity-group",{"name":423},"Valid Usage (Implicit)",[425,454,485],{"type":13,"tag":426,"props":427,"children":429},"validity-field",{"name":428},"VUID-vkInvalidateMappedMemoryRanges-device-parameter",[430],{"type":13,"tag":14,"props":431,"children":432},{},[433,438,439,444,446,452],{"type":13,"tag":34,"props":434,"children":436},{"className":435},[],[437],{"type":18,"value":73},{"type":18,"value":382},{"type":13,"tag":440,"props":441,"children":443},"normative",{"type":442},"must",[],{"type":18,"value":445}," be a valid ",{"type":13,"tag":342,"props":447,"children":449},{"href":448},"/man/VkDevice",[450],{"type":18,"value":451},"VkDevice",{"type":18,"value":453}," handle",{"type":13,"tag":426,"props":455,"children":457},{"name":456},"VUID-vkInvalidateMappedMemoryRanges-pMemoryRanges-parameter",[458],{"type":13,"tag":14,"props":459,"children":460},{},[461,466,467,470,472,477,479,483],{"type":13,"tag":34,"props":462,"children":464},{"className":463},[],[465],{"type":18,"value":328},{"type":18,"value":382},{"type":13,"tag":440,"props":468,"children":469},{"type":442},[],{"type":18,"value":471}," be a valid pointer to an array of ",{"type":13,"tag":34,"props":473,"children":475},{"className":474},[],[476],{"type":18,"value":320},{"type":18,"value":478}," valid ",{"type":13,"tag":342,"props":480,"children":481},{"href":344},[482],{"type":18,"value":347},{"type":18,"value":484}," structures",{"type":13,"tag":426,"props":486,"children":488},{"name":487},"VUID-vkInvalidateMappedMemoryRanges-memoryRangeCount-arraylength",[489],{"type":13,"tag":14,"props":490,"children":491},{},[492,497,498,501,503],{"type":13,"tag":34,"props":493,"children":495},{"className":494},[],[496],{"type":18,"value":320},{"type":18,"value":382},{"type":13,"tag":440,"props":499,"children":500},{"type":442},[],{"type":18,"value":502}," be greater than ",{"type":13,"tag":34,"props":504,"children":506},{"className":505},[],[507],{"type":18,"value":508},"0",{"type":13,"tag":510,"props":511,"children":512},"style",{},[513],{"type":18,"value":514},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":31,"searchDepth":61,"depth":61,"links":516},[],"markdown",1729612519505]