[{"data":1,"prerenderedAt":1354},["ShallowReactive",2],{"5NMm6MPpgC":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1353,"_id":4},"VkImageCreateFlagBits","Bitmask specifying additional parameters of an image","VK_VERSION_1_0","enums",[],{"type":10,"children":11,"toc":1351},"root",[12,45,488,1325,1345],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,25,27,34,36,43],{"type":18,"value":19},"text","Bits which ",{"type":13,"tag":21,"props":22,"children":24},"normative",{"type":23},"can",[],{"type":18,"value":26}," be set in ",{"type":13,"tag":28,"props":29,"children":31},"a",{"href":30},"/man/VkImageCreateInfo",[32],{"type":18,"value":33},"VkImageCreateInfo",{"type":18,"value":35},"::",{"type":13,"tag":37,"props":38,"children":40},"code",{"className":39},[],[41],{"type":18,"value":42},"flags",{"type":18,"value":44},", specifying\nadditional parameters of an image, are:",{"type":13,"tag":46,"props":47,"children":48},"code-group",{},[49,227],{"type":13,"tag":50,"props":51,"children":57},"pre",{"className":52,"code":53,"filename":54,"language":55,"meta":56,"style":56},"language-c shiki shiki-themes github-light-default github-dark-default","typedef enum VkImageCreateFlagBits {\n VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 0x00000001,\n VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 0x00000002,\n VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 0x00000004,\n VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 0x00000008,\n VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010,\n} VkImageCreateFlagBits;\n","C","c","",[58],{"type":13,"tag":37,"props":59,"children":60},{"__ignoreMap":56},[61,84,114,140,166,192,218],{"type":13,"tag":62,"props":63,"children":66},"span",{"class":64,"line":65},"line",1,[67,73,78],{"type":13,"tag":62,"props":68,"children":70},{"style":69},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[71],{"type":18,"value":72},"typedef",{"type":13,"tag":62,"props":74,"children":75},{"style":69},[76],{"type":18,"value":77}," enum",{"type":13,"tag":62,"props":79,"children":81},{"style":80},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[82],{"type":18,"value":83}," VkImageCreateFlagBits {\n",{"type":13,"tag":62,"props":85,"children":87},{"class":64,"line":86},2,[88,93,98,103,109],{"type":13,"tag":62,"props":89,"children":90},{"style":80},[91],{"type":18,"value":92}," VK_IMAGE_CREATE_SPARSE_BINDING_BIT ",{"type":13,"tag":62,"props":94,"children":95},{"style":69},[96],{"type":18,"value":97},"=",{"type":13,"tag":62,"props":99,"children":100},{"style":69},[101],{"type":18,"value":102}," 0x",{"type":13,"tag":62,"props":104,"children":106},{"style":105},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[107],{"type":18,"value":108},"00000001",{"type":13,"tag":62,"props":110,"children":111},{"style":80},[112],{"type":18,"value":113},",\n",{"type":13,"tag":62,"props":115,"children":117},{"class":64,"line":116},3,[118,123,127,131,136],{"type":13,"tag":62,"props":119,"children":120},{"style":80},[121],{"type":18,"value":122}," VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT ",{"type":13,"tag":62,"props":124,"children":125},{"style":69},[126],{"type":18,"value":97},{"type":13,"tag":62,"props":128,"children":129},{"style":69},[130],{"type":18,"value":102},{"type":13,"tag":62,"props":132,"children":133},{"style":105},[134],{"type":18,"value":135},"00000002",{"type":13,"tag":62,"props":137,"children":138},{"style":80},[139],{"type":18,"value":113},{"type":13,"tag":62,"props":141,"children":143},{"class":64,"line":142},4,[144,149,153,157,162],{"type":13,"tag":62,"props":145,"children":146},{"style":80},[147],{"type":18,"value":148}," VK_IMAGE_CREATE_SPARSE_ALIASED_BIT ",{"type":13,"tag":62,"props":150,"children":151},{"style":69},[152],{"type":18,"value":97},{"type":13,"tag":62,"props":154,"children":155},{"style":69},[156],{"type":18,"value":102},{"type":13,"tag":62,"props":158,"children":159},{"style":105},[160],{"type":18,"value":161},"00000004",{"type":13,"tag":62,"props":163,"children":164},{"style":80},[165],{"type":18,"value":113},{"type":13,"tag":62,"props":167,"children":169},{"class":64,"line":168},5,[170,175,179,183,188],{"type":13,"tag":62,"props":171,"children":172},{"style":80},[173],{"type":18,"value":174}," VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT ",{"type":13,"tag":62,"props":176,"children":177},{"style":69},[178],{"type":18,"value":97},{"type":13,"tag":62,"props":180,"children":181},{"style":69},[182],{"type":18,"value":102},{"type":13,"tag":62,"props":184,"children":185},{"style":105},[186],{"type":18,"value":187},"00000008",{"type":13,"tag":62,"props":189,"children":190},{"style":80},[191],{"type":18,"value":113},{"type":13,"tag":62,"props":193,"children":195},{"class":64,"line":194},6,[196,201,205,209,214],{"type":13,"tag":62,"props":197,"children":198},{"style":80},[199],{"type":18,"value":200}," VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT ",{"type":13,"tag":62,"props":202,"children":203},{"style":69},[204],{"type":18,"value":97},{"type":13,"tag":62,"props":206,"children":207},{"style":69},[208],{"type":18,"value":102},{"type":13,"tag":62,"props":210,"children":211},{"style":105},[212],{"type":18,"value":213},"00000010",{"type":13,"tag":62,"props":215,"children":216},{"style":80},[217],{"type":18,"value":113},{"type":13,"tag":62,"props":219,"children":221},{"class":64,"line":220},7,[222],{"type":13,"tag":62,"props":223,"children":224},{"style":80},[225],{"type":18,"value":226},"} VkImageCreateFlagBits;\n",{"type":13,"tag":50,"props":228,"children":233},{"className":229,"code":230,"filename":231,"language":232,"meta":56,"style":56},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct ImageCreateFlagBits(u32);\nimpl ImageCreateFlagBits {\n pub const SPARSE_BINDING: Self = 0x00000001;\n pub const SPARSE_RESIDENCY: Self = 0x00000002;\n pub const SPARSE_ALIASED: Self = 0x00000004;\n pub const MUTABLE_FORMAT: Self = 0x00000008;\n pub const CUBE_COMPATIBLE: Self = 0x00000010;\n}\n","Rust","rs",[234],{"type":13,"tag":37,"props":235,"children":236},{"__ignoreMap":56},[237,271,288,331,368,405,442,479],{"type":13,"tag":62,"props":238,"children":239},{"class":64,"line":65},[240,245,250,256,261,266],{"type":13,"tag":62,"props":241,"children":242},{"style":69},[243],{"type":18,"value":244},"pub",{"type":13,"tag":62,"props":246,"children":247},{"style":69},[248],{"type":18,"value":249}," struct",{"type":13,"tag":62,"props":251,"children":253},{"style":252},"--shiki-default:#953800;--shiki-dark:#FFA657",[254],{"type":18,"value":255}," ImageCreateFlagBits",{"type":13,"tag":62,"props":257,"children":258},{"style":80},[259],{"type":18,"value":260},"(",{"type":13,"tag":62,"props":262,"children":263},{"style":252},[264],{"type":18,"value":265},"u32",{"type":13,"tag":62,"props":267,"children":268},{"style":80},[269],{"type":18,"value":270},");\n",{"type":13,"tag":62,"props":272,"children":273},{"class":64,"line":86},[274,279,283],{"type":13,"tag":62,"props":275,"children":276},{"style":69},[277],{"type":18,"value":278},"impl",{"type":13,"tag":62,"props":280,"children":281},{"style":252},[282],{"type":18,"value":255},{"type":13,"tag":62,"props":284,"children":285},{"style":80},[286],{"type":18,"value":287}," {\n",{"type":13,"tag":62,"props":289,"children":290},{"class":64,"line":116},[291,296,301,306,311,316,321,326],{"type":13,"tag":62,"props":292,"children":293},{"style":69},[294],{"type":18,"value":295}," pub",{"type":13,"tag":62,"props":297,"children":298},{"style":69},[299],{"type":18,"value":300}," const",{"type":13,"tag":62,"props":302,"children":303},{"style":105},[304],{"type":18,"value":305}," SPARSE_BINDING",{"type":13,"tag":62,"props":307,"children":308},{"style":69},[309],{"type":18,"value":310},":",{"type":13,"tag":62,"props":312,"children":313},{"style":105},[314],{"type":18,"value":315}," Self",{"type":13,"tag":62,"props":317,"children":318},{"style":69},[319],{"type":18,"value":320}," =",{"type":13,"tag":62,"props":322,"children":323},{"style":105},[324],{"type":18,"value":325}," 0x00000001",{"type":13,"tag":62,"props":327,"children":328},{"style":80},[329],{"type":18,"value":330},";\n",{"type":13,"tag":62,"props":332,"children":333},{"class":64,"line":142},[334,338,342,347,351,355,359,364],{"type":13,"tag":62,"props":335,"children":336},{"style":69},[337],{"type":18,"value":295},{"type":13,"tag":62,"props":339,"children":340},{"style":69},[341],{"type":18,"value":300},{"type":13,"tag":62,"props":343,"children":344},{"style":105},[345],{"type":18,"value":346}," SPARSE_RESIDENCY",{"type":13,"tag":62,"props":348,"children":349},{"style":69},[350],{"type":18,"value":310},{"type":13,"tag":62,"props":352,"children":353},{"style":105},[354],{"type":18,"value":315},{"type":13,"tag":62,"props":356,"children":357},{"style":69},[358],{"type":18,"value":320},{"type":13,"tag":62,"props":360,"children":361},{"style":105},[362],{"type":18,"value":363}," 0x00000002",{"type":13,"tag":62,"props":365,"children":366},{"style":80},[367],{"type":18,"value":330},{"type":13,"tag":62,"props":369,"children":370},{"class":64,"line":168},[371,375,379,384,388,392,396,401],{"type":13,"tag":62,"props":372,"children":373},{"style":69},[374],{"type":18,"value":295},{"type":13,"tag":62,"props":376,"children":377},{"style":69},[378],{"type":18,"value":300},{"type":13,"tag":62,"props":380,"children":381},{"style":105},[382],{"type":18,"value":383}," SPARSE_ALIASED",{"type":13,"tag":62,"props":385,"children":386},{"style":69},[387],{"type":18,"value":310},{"type":13,"tag":62,"props":389,"children":390},{"style":105},[391],{"type":18,"value":315},{"type":13,"tag":62,"props":393,"children":394},{"style":69},[395],{"type":18,"value":320},{"type":13,"tag":62,"props":397,"children":398},{"style":105},[399],{"type":18,"value":400}," 0x00000004",{"type":13,"tag":62,"props":402,"children":403},{"style":80},[404],{"type":18,"value":330},{"type":13,"tag":62,"props":406,"children":407},{"class":64,"line":194},[408,412,416,421,425,429,433,438],{"type":13,"tag":62,"props":409,"children":410},{"style":69},[411],{"type":18,"value":295},{"type":13,"tag":62,"props":413,"children":414},{"style":69},[415],{"type":18,"value":300},{"type":13,"tag":62,"props":417,"children":418},{"style":105},[419],{"type":18,"value":420}," MUTABLE_FORMAT",{"type":13,"tag":62,"props":422,"children":423},{"style":69},[424],{"type":18,"value":310},{"type":13,"tag":62,"props":426,"children":427},{"style":105},[428],{"type":18,"value":315},{"type":13,"tag":62,"props":430,"children":431},{"style":69},[432],{"type":18,"value":320},{"type":13,"tag":62,"props":434,"children":435},{"style":105},[436],{"type":18,"value":437}," 0x00000008",{"type":13,"tag":62,"props":439,"children":440},{"style":80},[441],{"type":18,"value":330},{"type":13,"tag":62,"props":443,"children":444},{"class":64,"line":220},[445,449,453,458,462,466,470,475],{"type":13,"tag":62,"props":446,"children":447},{"style":69},[448],{"type":18,"value":295},{"type":13,"tag":62,"props":450,"children":451},{"style":69},[452],{"type":18,"value":300},{"type":13,"tag":62,"props":454,"children":455},{"style":105},[456],{"type":18,"value":457}," CUBE_COMPATIBLE",{"type":13,"tag":62,"props":459,"children":460},{"style":69},[461],{"type":18,"value":310},{"type":13,"tag":62,"props":463,"children":464},{"style":105},[465],{"type":18,"value":315},{"type":13,"tag":62,"props":467,"children":468},{"style":69},[469],{"type":18,"value":320},{"type":13,"tag":62,"props":471,"children":472},{"style":105},[473],{"type":18,"value":474}," 0x00000010",{"type":13,"tag":62,"props":476,"children":477},{"style":80},[478],{"type":18,"value":330},{"type":13,"tag":62,"props":480,"children":482},{"class":64,"line":481},8,[483],{"type":13,"tag":62,"props":484,"children":485},{"style":80},[486],{"type":18,"value":487},"}\n",{"type":13,"tag":489,"props":490,"children":491},"ul",{},[492,504,533,554,607,644,680,707,746,769,796,826,922,938,956,1101,1136,1160,1182],{"type":13,"tag":493,"props":494,"children":495},"li",{},[496,502],{"type":13,"tag":37,"props":497,"children":499},{"className":498},[],[500],{"type":18,"value":501},"VK_IMAGE_CREATE_SPARSE_BINDING_BIT",{"type":18,"value":503}," specifies that the image will\nbe backed using sparse memory binding.",{"type":13,"tag":493,"props":505,"children":506},{},[507,513,515,518,520,524,526,531],{"type":13,"tag":37,"props":508,"children":510},{"className":509},[],[511],{"type":18,"value":512},"VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT",{"type":18,"value":514}," specifies that the image ",{"type":13,"tag":21,"props":516,"children":517},{"type":23},[],{"type":18,"value":519},"\nbe partially backed using sparse memory binding.\nImages created with this flag ",{"type":13,"tag":21,"props":521,"children":523},{"type":522},"must",[],{"type":18,"value":525}," also be created with the\n",{"type":13,"tag":37,"props":527,"children":529},{"className":528},[],[530],{"type":18,"value":501},{"type":18,"value":532}," flag.",{"type":13,"tag":493,"props":534,"children":535},{},[536,542,544,547,548,553],{"type":13,"tag":37,"props":537,"children":539},{"className":538},[],[540],{"type":18,"value":541},"VK_IMAGE_CREATE_SPARSE_ALIASED_BIT",{"type":18,"value":543}," specifies that the image will\nbe backed using sparse memory binding with memory ranges that might also\nsimultaneously be backing another image (or another portion of the same\nimage).\nImages created with this flag ",{"type":13,"tag":21,"props":545,"children":546},{"type":522},[],{"type":18,"value":525},{"type":13,"tag":37,"props":549,"children":551},{"className":550},[],[552],{"type":18,"value":501},{"type":18,"value":532},{"type":13,"tag":493,"props":555,"children":556},{},[557,563,564,567,569,575,577,583,585,590,592,597,599,605],{"type":13,"tag":37,"props":558,"children":560},{"className":559},[],[561],{"type":18,"value":562},"VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT",{"type":18,"value":514},{"type":13,"tag":21,"props":565,"children":566},{"type":23},[],{"type":18,"value":568},"\nbe used to create a ",{"type":13,"tag":37,"props":570,"children":572},{"className":571},[],[573],{"type":18,"value":574},"VkImageView",{"type":18,"value":576}," with a different format from the\nimage.\nFor ",{"type":13,"tag":28,"props":578,"children":580},{"href":579},"/chapters/formats#formats-requiring-sampler-ycbcr-conversion",[581],{"type":18,"value":582},"multi-planar",{"type":18,"value":584}," formats,\n",{"type":13,"tag":37,"props":586,"children":588},{"className":587},[],[589],{"type":18,"value":562},{"type":18,"value":591}," specifies that a\n",{"type":13,"tag":37,"props":593,"children":595},{"className":594},[],[596],{"type":18,"value":574},{"type":18,"value":598}," can be created of a ",{"type":13,"tag":600,"props":601,"children":602},"em",{},[603],{"type":18,"value":604},"plane",{"type":18,"value":606}," of the image.",{"type":13,"tag":493,"props":608,"children":609},{},[610,616,617,620,621,626,628,634,636,642],{"type":13,"tag":37,"props":611,"children":613},{"className":612},[],[614],{"type":18,"value":615},"VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT",{"type":18,"value":514},{"type":13,"tag":21,"props":618,"children":619},{"type":23},[],{"type":18,"value":568},{"type":13,"tag":37,"props":622,"children":624},{"className":623},[],[625],{"type":18,"value":574},{"type":18,"value":627}," of type\n",{"type":13,"tag":37,"props":629,"children":631},{"className":630},[],[632],{"type":18,"value":633},"VK_IMAGE_VIEW_TYPE_CUBE",{"type":18,"value":635}," or ",{"type":13,"tag":37,"props":637,"children":639},{"className":638},[],[640],{"type":18,"value":641},"VK_IMAGE_VIEW_TYPE_CUBE_ARRAY",{"type":18,"value":643},".",{"type":13,"tag":493,"props":645,"children":646},{},[647,653,655,658,660,665,666,672,673,679],{"type":13,"tag":37,"props":648,"children":650},{"className":649},[],[651],{"type":18,"value":652},"VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT",{"type":18,"value":654}," specifies that the image\n",{"type":13,"tag":21,"props":656,"children":657},{"type":23},[],{"type":18,"value":659}," be used to create a ",{"type":13,"tag":37,"props":661,"children":663},{"className":662},[],[664],{"type":18,"value":574},{"type":18,"value":627},{"type":13,"tag":37,"props":667,"children":669},{"className":668},[],[670],{"type":18,"value":671},"VK_IMAGE_VIEW_TYPE_2D",{"type":18,"value":635},{"type":13,"tag":37,"props":674,"children":676},{"className":675},[],[677],{"type":18,"value":678},"VK_IMAGE_VIEW_TYPE_2D_ARRAY",{"type":18,"value":643},{"type":13,"tag":493,"props":681,"children":682},{},[683,689,691,694,695,700,701,706],{"type":13,"tag":37,"props":684,"children":686},{"className":685},[],[687],{"type":18,"value":688},"VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT",{"type":18,"value":690}," specifies that the\nimage ",{"type":13,"tag":21,"props":692,"children":693},{"type":23},[],{"type":18,"value":659},{"type":13,"tag":37,"props":696,"children":698},{"className":697},[],[699],{"type":18,"value":574},{"type":18,"value":627},{"type":13,"tag":37,"props":702,"children":704},{"className":703},[],[705],{"type":18,"value":671},{"type":18,"value":643},{"type":13,"tag":493,"props":708,"children":709},{},[710,716,717,720,722,728,730,736,738,744],{"type":13,"tag":37,"props":711,"children":713},{"className":712},[],[714],{"type":18,"value":715},"VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT",{"type":18,"value":690},{"type":13,"tag":21,"props":718,"children":719},{"type":23},[],{"type":18,"value":721}," be used with a non-zero value of the\n",{"type":13,"tag":37,"props":723,"children":725},{"className":724},[],[726],{"type":18,"value":727},"splitInstanceBindRegionCount",{"type":18,"value":729}," member of a\n",{"type":13,"tag":28,"props":731,"children":733},{"href":732},"/man/VkBindImageMemoryDeviceGroupInfo",[734],{"type":18,"value":735},"VkBindImageMemoryDeviceGroupInfo",{"type":18,"value":737}," structure passed into\n",{"type":13,"tag":28,"props":739,"children":741},{"href":740},"/man/vkBindImageMemory2",[742],{"type":18,"value":743},"vkBindImageMemory2",{"type":18,"value":745},".\nThis flag also has the effect of making the image use the standard\nsparse image block dimensions.",{"type":13,"tag":493,"props":747,"children":748},{},[749,755,757,760,762,767],{"type":13,"tag":37,"props":750,"children":752},{"className":751},[],[753],{"type":18,"value":754},"VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT",{"type":18,"value":756}," specifies that the\nimage having a compressed format ",{"type":13,"tag":21,"props":758,"children":759},{"type":23},[],{"type":18,"value":761}," be used to create a\n",{"type":13,"tag":37,"props":763,"children":765},{"className":764},[],[766],{"type":18,"value":574},{"type":18,"value":768}," with an uncompressed format where each texel in the\nimage view corresponds to a compressed texel block of the image.",{"type":13,"tag":493,"props":770,"children":771},{},[772,778,779,782,784,789,791,794],{"type":13,"tag":37,"props":773,"children":775},{"className":774},[],[776],{"type":18,"value":777},"VK_IMAGE_CREATE_EXTENDED_USAGE_BIT",{"type":18,"value":514},{"type":13,"tag":21,"props":780,"children":781},{"type":23},[],{"type":18,"value":783},"\nbe created with usage flags that are not supported for the format the\nimage is created with but are supported for at least one format a\n",{"type":13,"tag":37,"props":785,"children":787},{"className":786},[],[788],{"type":18,"value":574},{"type":18,"value":790}," created from the image ",{"type":13,"tag":21,"props":792,"children":793},{"type":23},[],{"type":18,"value":795}," have.",{"type":13,"tag":493,"props":797,"children":798},{},[799,805,807,812,814,817,819,824],{"type":13,"tag":37,"props":800,"children":802},{"className":801},[],[803],{"type":18,"value":804},"VK_IMAGE_CREATE_DISJOINT_BIT",{"type":18,"value":806}," specifies that an image with a\n",{"type":13,"tag":28,"props":808,"children":809},{"href":579},[810],{"type":18,"value":811},"multi-planar format",{"type":18,"value":813}," ",{"type":13,"tag":21,"props":815,"children":816},{"type":522},[],{"type":18,"value":818},"\nhave each plane separately bound to memory, rather than having a single\nmemory binding for the whole image; the presence of this bit\ndistinguishes a ",{"type":13,"tag":600,"props":820,"children":821},{},[822],{"type":18,"value":823},"disjoint image",{"type":18,"value":825}," from an image without this bit set.",{"type":13,"tag":493,"props":827,"children":828},{},[829,835,837,840,842,848,850,855,857,860,862,865,867,873,875,881,883,889,891,897,899,905,907,913,915,920],{"type":13,"tag":37,"props":830,"children":832},{"className":831},[],[833],{"type":18,"value":834},"VK_IMAGE_CREATE_ALIAS_BIT",{"type":18,"value":836}," specifies that two images created with\nthe same creation parameters and aliased to the same memory ",{"type":13,"tag":21,"props":838,"children":839},{"type":23},[],{"type":18,"value":841},"\ninterpret the contents of the memory consistently with each other,\nsubject to the rules described in the ",{"type":13,"tag":28,"props":843,"children":845},{"href":844},"/chapters/resources#resources-memory-aliasing",[846],{"type":18,"value":847},"Memory\nAliasing",{"type":18,"value":849}," section.\nThis flag further specifies that each plane of a ",{"type":13,"tag":600,"props":851,"children":852},{},[853],{"type":18,"value":854},"disjoint",{"type":18,"value":856}," image ",{"type":13,"tag":21,"props":858,"children":859},{"type":23},[],{"type":18,"value":861},"\nshare an in-memory non-linear representation with single-plane images,\nand that a single-plane image ",{"type":13,"tag":21,"props":863,"children":864},{"type":23},[],{"type":18,"value":866}," share an in-memory non-linear\nrepresentation with a plane of a multi-planar disjoint image, according\nto the rules in ",{"type":13,"tag":28,"props":868,"children":870},{"href":869},"/chapters/formats#formats-compatible-planes",[871],{"type":18,"value":872},"Compatible Formats of Planes of Multi-Planar Formats",{"type":18,"value":874},".\nIf the ",{"type":13,"tag":37,"props":876,"children":878},{"className":877},[],[879],{"type":18,"value":880},"pNext",{"type":18,"value":882}," chain includes a\n",{"type":13,"tag":28,"props":884,"children":886},{"href":885},"/man/VkExternalMemoryImageCreateInfo",[887],{"type":18,"value":888},"VkExternalMemoryImageCreateInfo",{"type":18,"value":890},"\nor\n",{"type":13,"tag":28,"props":892,"children":894},{"href":893},"/man/VkExternalMemoryImageCreateInfoNV",[895],{"type":18,"value":896},"VkExternalMemoryImageCreateInfoNV",{"type":18,"value":898},"\nstructure whose ",{"type":13,"tag":37,"props":900,"children":902},{"className":901},[],[903],{"type":18,"value":904},"handleTypes",{"type":18,"value":906}," member is not ",{"type":13,"tag":37,"props":908,"children":910},{"className":909},[],[911],{"type":18,"value":912},"0",{"type":18,"value":914},", it is as if\n",{"type":13,"tag":37,"props":916,"children":918},{"className":917},[],[919],{"type":18,"value":834},{"type":18,"value":921}," is set.",{"type":13,"tag":493,"props":923,"children":924},{},[925,931,933,936],{"type":13,"tag":37,"props":926,"children":928},{"className":927},[],[929],{"type":18,"value":930},"VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT",{"type":18,"value":932},"\nspecifies that an image with a depth or depth/stencil format ",{"type":13,"tag":21,"props":934,"children":935},{"type":23},[],{"type":18,"value":937}," be\nused with custom sample locations when used as a depth/stencil\nattachment.",{"type":13,"tag":493,"props":939,"children":940},{},[941,947,949,955],{"type":13,"tag":37,"props":942,"children":944},{"className":943},[],[945],{"type":18,"value":946},"VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV",{"type":18,"value":948}," specifies that the image is\na ",{"type":13,"tag":28,"props":950,"children":952},{"href":951},"/chapters/resources#resources-images-corner-sampled",[953],{"type":18,"value":954},"corner-sampled image",{"type":18,"value":643},{"type":13,"tag":493,"props":957,"children":958},{},[959,965,967,970,972,976,978],{"type":13,"tag":37,"props":960,"children":962},{"className":961},[],[963],{"type":18,"value":964},"VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT",{"type":18,"value":966}," specifies that an image ",{"type":13,"tag":21,"props":968,"children":969},{"type":23},[],{"type":18,"value":971}," be\nin a subsampled format which ",{"type":13,"tag":21,"props":973,"children":975},{"type":974},"may",[],{"type":18,"value":977}," be more optimal when written as an\nattachment by a render pass that has a fragment density map attachment.\nAccessing a subsampled image has additional considerations:",{"type":13,"tag":489,"props":979,"children":980},{},[981,1008,1013,1067,1096],{"type":13,"tag":493,"props":982,"children":983},{},[984,986,991,993,999,1001,1007],{"type":18,"value":985},"Image data read as an image sampler will have undefined: values if the\nsampler was not created with ",{"type":13,"tag":37,"props":987,"children":989},{"className":988},[],[990],{"type":18,"value":42},{"type":18,"value":992}," containing\n",{"type":13,"tag":37,"props":994,"children":996},{"className":995},[],[997],{"type":18,"value":998},"VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT",{"type":18,"value":1000}," or was not sampled through\nthe use of a combined image sampler with an immutable sampler in\n",{"type":13,"tag":37,"props":1002,"children":1004},{"className":1003},[],[1005],{"type":18,"value":1006},"VkDescriptorSetLayoutBinding",{"type":18,"value":643},{"type":13,"tag":493,"props":1009,"children":1010},{},[1011],{"type":18,"value":1012},"Image data read with an input attachment will have undefined: values if\nthe contents were not written as an attachment in an earlier subpass of\nthe same render pass.",{"type":13,"tag":493,"props":1014,"children":1015},{},[1016,1018,1024,1026,1043,1045,1051,1053,1058,1060,1066],{"type":18,"value":1017},"Image data read as an image sampler in the fragment shader will be\nadditionally be read by the device during\n",{"type":13,"tag":37,"props":1019,"children":1021},{"className":1020},[],[1022],{"type":18,"value":1023},"VK_PIPELINE_STAGE_VERTEX_SHADER_BIT",{"type":18,"value":1025}," if\n",{"type":13,"tag":28,"props":1027,"children":1029},{"href":1028},"/man/VkPhysicalDeviceFragmentDensityMap2PropertiesEXT#limits-subsampledCoarseReconstructionEarlyAccess",[1030,1036,1037],{"type":13,"tag":37,"props":1031,"children":1033},{"className":1032},[],[1034],{"type":18,"value":1035},"VkPhysicalDeviceFragmentDensityMap2PropertiesEXT",{"type":18,"value":35},{"type":13,"tag":37,"props":1038,"children":1040},{"className":1039},[],[1041],{"type":18,"value":1042},"subsampledCoarseReconstructionEarlyAccess",{"type":18,"value":1044},"\nis ",{"type":13,"tag":37,"props":1046,"children":1048},{"className":1047},[],[1049],{"type":18,"value":1050},"VK_TRUE",{"type":18,"value":1052}," and the sampler was created with ",{"type":13,"tag":37,"props":1054,"children":1056},{"className":1055},[],[1057],{"type":18,"value":42},{"type":18,"value":1059},"\ncontaining\n",{"type":13,"tag":37,"props":1061,"children":1063},{"className":1062},[],[1064],{"type":18,"value":1065},"VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT",{"type":18,"value":643},{"type":13,"tag":493,"props":1068,"children":1069},{},[1070,1072,1088,1089,1094],{"type":18,"value":1071},"Image data read with load operations are resampled to the fragment\ndensity of the render pass if ",{"type":13,"tag":28,"props":1073,"children":1075},{"href":1074},"/man/VkPhysicalDeviceFragmentDensityMap2PropertiesEXT#limits-subsampledLoads",[1076,1081,1082],{"type":13,"tag":37,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":18,"value":1035},{"type":18,"value":35},{"type":13,"tag":37,"props":1083,"children":1085},{"className":1084},[],[1086],{"type":18,"value":1087},"subsampledLoads",{"type":18,"value":1044},{"type":13,"tag":37,"props":1090,"children":1092},{"className":1091},[],[1093],{"type":18,"value":1050},{"type":18,"value":1095},".\nOtherwise, values of image data are undefined:.",{"type":13,"tag":493,"props":1097,"children":1098},{},[1099],{"type":18,"value":1100},"Image contents outside of the render area take on undefined: values if\nthe image is stored as a render pass attachment.",{"type":13,"tag":493,"props":1102,"children":1103},{},[1104,1110,1112,1115,1117,1123,1125,1128,1130,1135],{"type":13,"tag":37,"props":1105,"children":1107},{"className":1106},[],[1108],{"type":18,"value":1109},"VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM",{"type":18,"value":1111}," specifies\nthat an image ",{"type":13,"tag":21,"props":1113,"children":1114},{"type":23},[],{"type":18,"value":1116}," be used in a render pass with non-zero\n",{"type":13,"tag":28,"props":1118,"children":1120},{"href":1119},"/man/VkSubpassFragmentDensityMapOffsetEndInfoQCOM#renderpass-fragmentdensitymapoffsets",[1121],{"type":18,"value":1122},"fragment density map offsets",{"type":18,"value":1124},".\nIn a render pass with non-zero offsets, fragment density map\nattachments, input attachments, color attachments, depth/stencil\nattachment, resolve attachments, and preserve attachments ",{"type":13,"tag":21,"props":1126,"children":1127},{"type":522},[],{"type":18,"value":1129}," be\ncreated with ",{"type":13,"tag":37,"props":1131,"children":1133},{"className":1132},[],[1134],{"type":18,"value":1109},{"type":18,"value":643},{"type":13,"tag":493,"props":1137,"children":1138},{},[1139,1145,1147,1150,1152,1158],{"type":13,"tag":37,"props":1140,"children":1142},{"className":1141},[],[1143],{"type":18,"value":1144},"VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT",{"type":18,"value":1146}," specifies\nthat the image ",{"type":13,"tag":21,"props":1148,"children":1149},{"type":23},[],{"type":18,"value":1151}," be used with descriptor buffers when capturing and\nreplaying (e.g. for trace capture and replay), see\n",{"type":13,"tag":28,"props":1153,"children":1155},{"href":1154},"/man/VkOpaqueCaptureDescriptorDataCreateInfoEXT",[1156],{"type":18,"value":1157},"VkOpaqueCaptureDescriptorDataCreateInfoEXT",{"type":18,"value":1159}," for more detail.",{"type":13,"tag":493,"props":1161,"children":1162},{},[1163,1169,1171,1174,1176],{"type":13,"tag":37,"props":1164,"children":1166},{"className":1165},[],[1167],{"type":18,"value":1168},"VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT",{"type":18,"value":1170},"\nspecifies that an image ",{"type":13,"tag":21,"props":1172,"children":1173},{"type":23},[],{"type":18,"value":1175}," be used with\n",{"type":13,"tag":28,"props":1177,"children":1179},{"href":1178},"/chapters/renderpass#multisampled-render-to-single-sampled",[1180],{"type":18,"value":1181},"multisampled rendering as a\nsingle-sampled framebuffer attachment",{"type":13,"tag":493,"props":1183,"children":1184},{},[1185,1191,1193,1196,1198,1204,1206,1212,1214,1220,1222],{"type":13,"tag":37,"props":1186,"children":1188},{"className":1187},[],[1189],{"type":18,"value":1190},"VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR",{"type":18,"value":1192}," specifies that\nthe image ",{"type":13,"tag":21,"props":1194,"children":1195},{"type":23},[],{"type":18,"value":1197}," be used in ",{"type":13,"tag":28,"props":1199,"children":1201},{"href":1200},"/chapters/video-coding#video-coding",[1202],{"type":18,"value":1203},"video coding operations",{"type":18,"value":1205},"\nwithout having to specify at image creation time the set of video\nprofiles the image will be used with, except for images used only as\n",{"type":13,"tag":28,"props":1207,"children":1209},{"href":1208},"/chapters/video-coding#dpb",[1210],{"type":18,"value":1211},"DPB",{"type":18,"value":1213}," pictures, as long as the image is otherwise\n",{"type":13,"tag":28,"props":1215,"children":1217},{"href":1216},"/chapters/video-coding#video-profile-compatibility",[1218],{"type":18,"value":1219},"compatible",{"type":18,"value":1221}," with the video profile in\nquestion.",{"type":13,"tag":1223,"props":1224,"children":1225},"note",{},[1226,1231,1256,1299,1309],{"type":13,"tag":14,"props":1227,"children":1228},{},[1229],{"type":18,"value":1230},"This enables exchanging video picture data without additional copies or\nconversions when used as:",{"type":13,"tag":489,"props":1232,"children":1233},{},[1234,1245],{"type":13,"tag":493,"props":1235,"children":1236},{},[1237,1243],{"type":13,"tag":28,"props":1238,"children":1240},{"href":1239},"/chapters/video-coding#decode-output-picture",[1241],{"type":18,"value":1242},"Decode output pictures",{"type":18,"value":1244},", indifferent of the\nvideo profile used to produce them.",{"type":13,"tag":493,"props":1246,"children":1247},{},[1248,1254],{"type":13,"tag":28,"props":1249,"children":1251},{"href":1250},"/chapters/video-coding#encode-input-picture",[1252],{"type":18,"value":1253},"Encode input pictures",{"type":18,"value":1255},", indifferent of the video\nprofile used to consume them.",{"type":13,"tag":14,"props":1257,"children":1258},{},[1259,1261,1267,1269,1275,1277,1283,1285,1290,1292,1298],{"type":18,"value":1260},"This includes images created with both\n",{"type":13,"tag":37,"props":1262,"children":1264},{"className":1263},[],[1265],{"type":18,"value":1266},"VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR",{"type":18,"value":1268}," and\n",{"type":13,"tag":37,"props":1270,"children":1272},{"className":1271},[],[1273],{"type":18,"value":1274},"VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR",{"type":18,"value":1276},", which is necessary to use the\nsame video picture as the ",{"type":13,"tag":28,"props":1278,"children":1280},{"href":1279},"/chapters/video-coding#reconstructed-picture",[1281],{"type":18,"value":1282},"reconstructed picture",{"type":18,"value":1284},"\nand ",{"type":13,"tag":28,"props":1286,"children":1287},{"href":1239},[1288],{"type":18,"value":1289},"decode output picture",{"type":18,"value":1291}," in a video decode\noperation on implementations supporting\n",{"type":13,"tag":37,"props":1293,"children":1295},{"className":1294},[],[1296],{"type":18,"value":1297},"VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR",{"type":18,"value":643},{"type":13,"tag":14,"props":1300,"children":1301},{},[1302,1304,1307],{"type":18,"value":1303},"However, images with only DPB usage remain tied to the video profiles the\nimage was created with, as the data layout of such DPB-only images ",{"type":13,"tag":21,"props":1305,"children":1306},{"type":974},[],{"type":18,"value":1308}," be\nimplementation- and codec-dependent.",{"type":13,"tag":14,"props":1310,"children":1311},{},[1312,1314,1318,1320,1323],{"type":18,"value":1313},"If an application would like to share or reuse the device memory backing\nsuch images (e.g. for the purposes of temporal aliasing), then it ",{"type":13,"tag":21,"props":1315,"children":1317},{"type":1316},"should",[],{"type":18,"value":1319},"\ncreate separate image objects for each video profile and bind them to the\nsame underlying device memory range, similar to how memory resources ",{"type":13,"tag":21,"props":1321,"children":1322},{"type":23},[],{"type":18,"value":1324}," be\nshared across separate video sessions or any other memory-backed resource.",{"type":13,"tag":14,"props":1326,"children":1327},{},[1328,1330,1336,1337,1343],{"type":18,"value":1329},"See ",{"type":13,"tag":28,"props":1331,"children":1333},{"href":1332},"/chapters/sparsememory#sparsememory-sparseresourcefeatures",[1334],{"type":18,"value":1335},"Sparse Resource Features",{"type":18,"value":1268},{"type":13,"tag":28,"props":1338,"children":1340},{"href":1339},"/chapters/sparsememory#sparsememory-physicalfeatures",[1341],{"type":18,"value":1342},"Sparse Physical Device Features",{"type":18,"value":1344}," for more\ndetails.",{"type":13,"tag":1346,"props":1347,"children":1348},"style",{},[1349],{"type":18,"value":1350},"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":56,"searchDepth":86,"depth":86,"links":1352},[],"markdown",1729612451878]