[{"data":1,"prerenderedAt":1140},["ShallowReactive",2],{"8ozduzAhlk":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1139,"_id":4},"VkAndroidHardwareBufferFormatPropertiesANDROID","Structure describing the image format properties of an Android hardware buffer","VK_ANDROID_external_memory_android_hardware_buffer","structs",[],{"type":10,"children":11,"toc":1137},"root",[12,53,520,714,764,824,884,954,1029,1078,1102,1131],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26,28,34,36,43,45,51],{"type":18,"value":19},"text","To obtain format properties of an Android hardware buffer, include a\n",{"type":13,"tag":21,"props":22,"children":24},"code",{"className":23},[],[25],{"type":18,"value":4},{"type":18,"value":27}," structure in the\n",{"type":13,"tag":21,"props":29,"children":31},{"className":30},[],[32],{"type":18,"value":33},"pNext",{"type":18,"value":35}," chain of the ",{"type":13,"tag":37,"props":38,"children":40},"a",{"href":39},"/man/VkAndroidHardwareBufferPropertiesANDROID",[41],{"type":18,"value":42},"VkAndroidHardwareBufferPropertiesANDROID",{"type":18,"value":44},"\nstructure passed to ",{"type":13,"tag":37,"props":46,"children":48},{"href":47},"/man/vkGetAndroidHardwareBufferPropertiesANDROID",[49],{"type":18,"value":50},"vkGetAndroidHardwareBufferPropertiesANDROID",{"type":18,"value":52},".\nThis structure is defined as:",{"type":13,"tag":54,"props":55,"children":56},"code-group",{},[57,201],{"type":13,"tag":58,"props":59,"children":65},"pre",{"className":60,"code":61,"filename":62,"language":63,"meta":64,"style":64},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {\n VkStructureType sType;\n void* pNext;\n VkFormat format;\n uint64_t externalFormat;\n VkFormatFeatureFlags formatFeatures;\n VkComponentMapping samplerYcbcrConversionComponents;\n VkSamplerYcbcrModelConversion suggestedYcbcrModel;\n VkSamplerYcbcrRange suggestedYcbcrRange;\n VkChromaLocation suggestedXChromaOffset;\n VkChromaLocation suggestedYChromaOffset;\n} VkAndroidHardwareBufferFormatPropertiesANDROID;\n","C","c","",[66],{"type":13,"tag":21,"props":67,"children":68},{"__ignoreMap":64},[69,92,101,115,124,138,147,156,165,174,183,192],{"type":13,"tag":70,"props":71,"children":74},"span",{"class":72,"line":73},"line",1,[75,81,86],{"type":13,"tag":70,"props":76,"children":78},{"style":77},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[79],{"type":18,"value":80},"typedef",{"type":13,"tag":70,"props":82,"children":83},{"style":77},[84],{"type":18,"value":85}," struct",{"type":13,"tag":70,"props":87,"children":89},{"style":88},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[90],{"type":18,"value":91}," VkAndroidHardwareBufferFormatPropertiesANDROID {\n",{"type":13,"tag":70,"props":93,"children":95},{"class":72,"line":94},2,[96],{"type":13,"tag":70,"props":97,"children":98},{"style":88},[99],{"type":18,"value":100}," VkStructureType sType;\n",{"type":13,"tag":70,"props":102,"children":104},{"class":72,"line":103},3,[105,110],{"type":13,"tag":70,"props":106,"children":107},{"style":77},[108],{"type":18,"value":109}," void*",{"type":13,"tag":70,"props":111,"children":112},{"style":88},[113],{"type":18,"value":114}," pNext;\n",{"type":13,"tag":70,"props":116,"children":118},{"class":72,"line":117},4,[119],{"type":13,"tag":70,"props":120,"children":121},{"style":88},[122],{"type":18,"value":123}," VkFormat format;\n",{"type":13,"tag":70,"props":125,"children":127},{"class":72,"line":126},5,[128,133],{"type":13,"tag":70,"props":129,"children":130},{"style":77},[131],{"type":18,"value":132}," uint64_t",{"type":13,"tag":70,"props":134,"children":135},{"style":88},[136],{"type":18,"value":137}," externalFormat;\n",{"type":13,"tag":70,"props":139,"children":141},{"class":72,"line":140},6,[142],{"type":13,"tag":70,"props":143,"children":144},{"style":88},[145],{"type":18,"value":146}," VkFormatFeatureFlags formatFeatures;\n",{"type":13,"tag":70,"props":148,"children":150},{"class":72,"line":149},7,[151],{"type":13,"tag":70,"props":152,"children":153},{"style":88},[154],{"type":18,"value":155}," VkComponentMapping samplerYcbcrConversionComponents;\n",{"type":13,"tag":70,"props":157,"children":159},{"class":72,"line":158},8,[160],{"type":13,"tag":70,"props":161,"children":162},{"style":88},[163],{"type":18,"value":164}," VkSamplerYcbcrModelConversion suggestedYcbcrModel;\n",{"type":13,"tag":70,"props":166,"children":168},{"class":72,"line":167},9,[169],{"type":13,"tag":70,"props":170,"children":171},{"style":88},[172],{"type":18,"value":173}," VkSamplerYcbcrRange suggestedYcbcrRange;\n",{"type":13,"tag":70,"props":175,"children":177},{"class":72,"line":176},10,[178],{"type":13,"tag":70,"props":179,"children":180},{"style":88},[181],{"type":18,"value":182}," VkChromaLocation suggestedXChromaOffset;\n",{"type":13,"tag":70,"props":184,"children":186},{"class":72,"line":185},11,[187],{"type":13,"tag":70,"props":188,"children":189},{"style":88},[190],{"type":18,"value":191}," VkChromaLocation suggestedYChromaOffset;\n",{"type":13,"tag":70,"props":193,"children":195},{"class":72,"line":194},12,[196],{"type":13,"tag":70,"props":197,"children":198},{"style":88},[199],{"type":18,"value":200},"} VkAndroidHardwareBufferFormatPropertiesANDROID;\n",{"type":13,"tag":58,"props":202,"children":207},{"className":203,"code":204,"filename":205,"language":206,"meta":64,"style":64},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct AndroidHardwareBufferFormatPropertiesANDROID {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n format: vk::Format,\n external_format: u64,\n format_features: vk::FormatFeatureFlags,\n sampler_ycbcr_conversion_components: vk::ComponentMapping,\n suggested_ycbcr_model: vk::SamplerYcbcrModelConversion,\n suggested_ycbcr_range: vk::SamplerYcbcrRange,\n suggested_x_chroma_offset: vk::ChromaLocation,\n suggested_y_chroma_offset: vk::ChromaLocation,\n}\n","Rust","rs",[208],{"type":13,"tag":21,"props":209,"children":210},{"__ignoreMap":64},[211,234,267,289,318,339,368,397,426,455,484,512],{"type":13,"tag":70,"props":212,"children":213},{"class":72,"line":73},[214,219,223,229],{"type":13,"tag":70,"props":215,"children":216},{"style":77},[217],{"type":18,"value":218},"pub",{"type":13,"tag":70,"props":220,"children":221},{"style":77},[222],{"type":18,"value":85},{"type":13,"tag":70,"props":224,"children":226},{"style":225},"--shiki-default:#953800;--shiki-dark:#FFA657",[227],{"type":18,"value":228}," AndroidHardwareBufferFormatPropertiesANDROID",{"type":13,"tag":70,"props":230,"children":231},{"style":88},[232],{"type":18,"value":233}," {\n",{"type":13,"tag":70,"props":235,"children":236},{"class":72,"line":94},[237,242,247,252,257,262],{"type":13,"tag":70,"props":238,"children":239},{"style":88},[240],{"type":18,"value":241}," s_type",{"type":13,"tag":70,"props":243,"children":244},{"style":77},[245],{"type":18,"value":246},":",{"type":13,"tag":70,"props":248,"children":249},{"style":225},[250],{"type":18,"value":251}," vk",{"type":13,"tag":70,"props":253,"children":254},{"style":77},[255],{"type":18,"value":256},"::",{"type":13,"tag":70,"props":258,"children":259},{"style":225},[260],{"type":18,"value":261},"StructureType",{"type":13,"tag":70,"props":263,"children":264},{"style":88},[265],{"type":18,"value":266},",\n",{"type":13,"tag":70,"props":268,"children":269},{"class":72,"line":103},[270,275,279,284],{"type":13,"tag":70,"props":271,"children":272},{"style":88},[273],{"type":18,"value":274}," p_next",{"type":13,"tag":70,"props":276,"children":277},{"style":77},[278],{"type":18,"value":246},{"type":13,"tag":70,"props":280,"children":281},{"style":77},[282],{"type":18,"value":283}," *mut",{"type":13,"tag":70,"props":285,"children":286},{"style":88},[287],{"type":18,"value":288}," c_void,\n",{"type":13,"tag":70,"props":290,"children":291},{"class":72,"line":117},[292,297,301,305,309,314],{"type":13,"tag":70,"props":293,"children":294},{"style":88},[295],{"type":18,"value":296}," format",{"type":13,"tag":70,"props":298,"children":299},{"style":77},[300],{"type":18,"value":246},{"type":13,"tag":70,"props":302,"children":303},{"style":225},[304],{"type":18,"value":251},{"type":13,"tag":70,"props":306,"children":307},{"style":77},[308],{"type":18,"value":256},{"type":13,"tag":70,"props":310,"children":311},{"style":225},[312],{"type":18,"value":313},"Format",{"type":13,"tag":70,"props":315,"children":316},{"style":88},[317],{"type":18,"value":266},{"type":13,"tag":70,"props":319,"children":320},{"class":72,"line":126},[321,326,330,335],{"type":13,"tag":70,"props":322,"children":323},{"style":88},[324],{"type":18,"value":325}," external_format",{"type":13,"tag":70,"props":327,"children":328},{"style":77},[329],{"type":18,"value":246},{"type":13,"tag":70,"props":331,"children":332},{"style":225},[333],{"type":18,"value":334}," u64",{"type":13,"tag":70,"props":336,"children":337},{"style":88},[338],{"type":18,"value":266},{"type":13,"tag":70,"props":340,"children":341},{"class":72,"line":140},[342,347,351,355,359,364],{"type":13,"tag":70,"props":343,"children":344},{"style":88},[345],{"type":18,"value":346}," format_features",{"type":13,"tag":70,"props":348,"children":349},{"style":77},[350],{"type":18,"value":246},{"type":13,"tag":70,"props":352,"children":353},{"style":225},[354],{"type":18,"value":251},{"type":13,"tag":70,"props":356,"children":357},{"style":77},[358],{"type":18,"value":256},{"type":13,"tag":70,"props":360,"children":361},{"style":225},[362],{"type":18,"value":363},"FormatFeatureFlags",{"type":13,"tag":70,"props":365,"children":366},{"style":88},[367],{"type":18,"value":266},{"type":13,"tag":70,"props":369,"children":370},{"class":72,"line":149},[371,376,380,384,388,393],{"type":13,"tag":70,"props":372,"children":373},{"style":88},[374],{"type":18,"value":375}," sampler_ycbcr_conversion_components",{"type":13,"tag":70,"props":377,"children":378},{"style":77},[379],{"type":18,"value":246},{"type":13,"tag":70,"props":381,"children":382},{"style":225},[383],{"type":18,"value":251},{"type":13,"tag":70,"props":385,"children":386},{"style":77},[387],{"type":18,"value":256},{"type":13,"tag":70,"props":389,"children":390},{"style":225},[391],{"type":18,"value":392},"ComponentMapping",{"type":13,"tag":70,"props":394,"children":395},{"style":88},[396],{"type":18,"value":266},{"type":13,"tag":70,"props":398,"children":399},{"class":72,"line":158},[400,405,409,413,417,422],{"type":13,"tag":70,"props":401,"children":402},{"style":88},[403],{"type":18,"value":404}," suggested_ycbcr_model",{"type":13,"tag":70,"props":406,"children":407},{"style":77},[408],{"type":18,"value":246},{"type":13,"tag":70,"props":410,"children":411},{"style":225},[412],{"type":18,"value":251},{"type":13,"tag":70,"props":414,"children":415},{"style":77},[416],{"type":18,"value":256},{"type":13,"tag":70,"props":418,"children":419},{"style":225},[420],{"type":18,"value":421},"SamplerYcbcrModelConversion",{"type":13,"tag":70,"props":423,"children":424},{"style":88},[425],{"type":18,"value":266},{"type":13,"tag":70,"props":427,"children":428},{"class":72,"line":167},[429,434,438,442,446,451],{"type":13,"tag":70,"props":430,"children":431},{"style":88},[432],{"type":18,"value":433}," suggested_ycbcr_range",{"type":13,"tag":70,"props":435,"children":436},{"style":77},[437],{"type":18,"value":246},{"type":13,"tag":70,"props":439,"children":440},{"style":225},[441],{"type":18,"value":251},{"type":13,"tag":70,"props":443,"children":444},{"style":77},[445],{"type":18,"value":256},{"type":13,"tag":70,"props":447,"children":448},{"style":225},[449],{"type":18,"value":450},"SamplerYcbcrRange",{"type":13,"tag":70,"props":452,"children":453},{"style":88},[454],{"type":18,"value":266},{"type":13,"tag":70,"props":456,"children":457},{"class":72,"line":176},[458,463,467,471,475,480],{"type":13,"tag":70,"props":459,"children":460},{"style":88},[461],{"type":18,"value":462}," suggested_x_chroma_offset",{"type":13,"tag":70,"props":464,"children":465},{"style":77},[466],{"type":18,"value":246},{"type":13,"tag":70,"props":468,"children":469},{"style":225},[470],{"type":18,"value":251},{"type":13,"tag":70,"props":472,"children":473},{"style":77},[474],{"type":18,"value":256},{"type":13,"tag":70,"props":476,"children":477},{"style":225},[478],{"type":18,"value":479},"ChromaLocation",{"type":13,"tag":70,"props":481,"children":482},{"style":88},[483],{"type":18,"value":266},{"type":13,"tag":70,"props":485,"children":486},{"class":72,"line":185},[487,492,496,500,504,508],{"type":13,"tag":70,"props":488,"children":489},{"style":88},[490],{"type":18,"value":491}," suggested_y_chroma_offset",{"type":13,"tag":70,"props":493,"children":494},{"style":77},[495],{"type":18,"value":246},{"type":13,"tag":70,"props":497,"children":498},{"style":225},[499],{"type":18,"value":251},{"type":13,"tag":70,"props":501,"children":502},{"style":77},[503],{"type":18,"value":256},{"type":13,"tag":70,"props":505,"children":506},{"style":225},[507],{"type":18,"value":479},{"type":13,"tag":70,"props":509,"children":510},{"style":88},[511],{"type":18,"value":266},{"type":13,"tag":70,"props":513,"children":514},{"class":72,"line":194},[515],{"type":13,"tag":70,"props":516,"children":517},{"style":88},[518],{"type":18,"value":519},"}\n",{"type":13,"tag":521,"props":522,"children":523},"ul",{},[524,544,562,581,607,626,650,666,682,698],{"type":13,"tag":525,"props":526,"children":527},"li",{},[528,534,536,542],{"type":13,"tag":21,"props":529,"children":531},{"className":530},[],[532],{"type":18,"value":533},"sType",{"type":18,"value":535}," is a ",{"type":13,"tag":37,"props":537,"children":539},{"href":538},"/man/VkStructureType",[540],{"type":18,"value":541},"VkStructureType",{"type":18,"value":543}," value identifying this structure.",{"type":13,"tag":525,"props":545,"children":546},{},[547,552,554,560],{"type":13,"tag":21,"props":548,"children":550},{"className":549},[],[551],{"type":18,"value":33},{"type":18,"value":553}," is ",{"type":13,"tag":21,"props":555,"children":557},{"className":556},[],[558],{"type":18,"value":559},"NULL",{"type":18,"value":561}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":525,"props":563,"children":564},{},[565,571,573,579],{"type":13,"tag":21,"props":566,"children":568},{"className":567},[],[569],{"type":18,"value":570},"format",{"type":18,"value":572}," is the Vulkan format corresponding to the Android hardware\nbuffer’s format, or ",{"type":13,"tag":21,"props":574,"children":576},{"className":575},[],[577],{"type":18,"value":578},"VK_FORMAT_UNDEFINED",{"type":18,"value":580}," if there is not an\nequivalent Vulkan format.",{"type":13,"tag":525,"props":582,"children":583},{},[584,590,592,598,600,605],{"type":13,"tag":21,"props":585,"children":587},{"className":586},[],[588],{"type":18,"value":589},"externalFormat",{"type":18,"value":591}," is an implementation-defined external format\nidentifier for use with ",{"type":13,"tag":37,"props":593,"children":595},{"href":594},"/man/VkExternalFormatANDROID",[596],{"type":18,"value":597},"VkExternalFormatANDROID",{"type":18,"value":599},".\nIt ",{"type":13,"tag":601,"props":602,"children":604},"normative",{"type":603},"must",[],{"type":18,"value":606}," not be zero.",{"type":13,"tag":525,"props":608,"children":609},{},[610,616,618,624],{"type":13,"tag":21,"props":611,"children":613},{"className":612},[],[614],{"type":18,"value":615},"formatFeatures",{"type":18,"value":617}," describes the capabilities of this external format\nwhen used with an image bound to memory imported from ",{"type":13,"tag":21,"props":619,"children":621},{"className":620},[],[622],{"type":18,"value":623},"buffer",{"type":18,"value":625},".",{"type":13,"tag":525,"props":627,"children":628},{},[629,635,637,641,643,649],{"type":13,"tag":21,"props":630,"children":632},{"className":631},[],[633],{"type":18,"value":634},"samplerYcbcrConversionComponents",{"type":18,"value":636}," is the component swizzle that\n",{"type":13,"tag":601,"props":638,"children":640},{"type":639},"should",[],{"type":18,"value":642}," be used in ",{"type":13,"tag":37,"props":644,"children":646},{"href":645},"/man/VkSamplerYcbcrConversionCreateInfo",[647],{"type":18,"value":648},"VkSamplerYcbcrConversionCreateInfo",{"type":18,"value":625},{"type":13,"tag":525,"props":651,"children":652},{},[653,659,661,665],{"type":13,"tag":21,"props":654,"children":656},{"className":655},[],[657],{"type":18,"value":658},"suggestedYcbcrModel",{"type":18,"value":660}," is a suggested color model to use in the\n",{"type":13,"tag":37,"props":662,"children":663},{"href":645},[664],{"type":18,"value":648},{"type":18,"value":625},{"type":13,"tag":525,"props":667,"children":668},{},[669,675,677,681],{"type":13,"tag":21,"props":670,"children":672},{"className":671},[],[673],{"type":18,"value":674},"suggestedYcbcrRange",{"type":18,"value":676}," is a suggested numerical value range to use in\n",{"type":13,"tag":37,"props":678,"children":679},{"href":645},[680],{"type":18,"value":648},{"type":18,"value":625},{"type":13,"tag":525,"props":683,"children":684},{},[685,691,693,697],{"type":13,"tag":21,"props":686,"children":688},{"className":687},[],[689],{"type":18,"value":690},"suggestedXChromaOffset",{"type":18,"value":692}," is a suggested X chroma offset to use in\n",{"type":13,"tag":37,"props":694,"children":695},{"href":645},[696],{"type":18,"value":648},{"type":18,"value":625},{"type":13,"tag":525,"props":699,"children":700},{},[701,707,709,713],{"type":13,"tag":21,"props":702,"children":704},{"className":703},[],[705],{"type":18,"value":706},"suggestedYChromaOffset",{"type":18,"value":708}," is a suggested Y chroma offset to use in\n",{"type":13,"tag":37,"props":710,"children":711},{"href":645},[712],{"type":18,"value":648},{"type":18,"value":625},{"type":13,"tag":14,"props":715,"children":716},{},[717,719,725,727,732,734,737,739,744,745,749,751,756,758,762],{"type":18,"value":718},"If the Android hardware buffer has one of the formats listed in the\n",{"type":13,"tag":37,"props":720,"children":722},{"href":721},"/chapters/memory#memory-external-android-hardware-buffer-formats",[723],{"type":18,"value":724},"Format Equivalence\ntable",{"type":18,"value":726},", then ",{"type":13,"tag":21,"props":728,"children":730},{"className":729},[],[731],{"type":18,"value":570},{"type":18,"value":733}," ",{"type":13,"tag":601,"props":735,"children":736},{"type":603},[],{"type":18,"value":738}," have the equivalent Vulkan format listed in\nthe table.\nOtherwise, ",{"type":13,"tag":21,"props":740,"children":742},{"className":741},[],[743],{"type":18,"value":570},{"type":18,"value":733},{"type":13,"tag":601,"props":746,"children":748},{"type":747},"may",[],{"type":18,"value":750}," be ",{"type":13,"tag":21,"props":752,"children":754},{"className":753},[],[755],{"type":18,"value":578},{"type":18,"value":757},", indicating the\nAndroid hardware buffer ",{"type":13,"tag":601,"props":759,"children":761},{"type":760},"can",[],{"type":18,"value":763}," only be used with an external format.",{"type":13,"tag":14,"props":765,"children":766},{},[767,769,774,776,779,781,787,789,795,797,803,805,808,809,815,817,823],{"type":18,"value":768},"The ",{"type":13,"tag":21,"props":770,"children":772},{"className":771},[],[773],{"type":18,"value":615},{"type":18,"value":775}," member ",{"type":13,"tag":601,"props":777,"children":778},{"type":603},[],{"type":18,"value":780}," include\n",{"type":13,"tag":21,"props":782,"children":784},{"className":783},[],[785],{"type":18,"value":786},"VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT",{"type":18,"value":788}," and at least one of\n",{"type":13,"tag":21,"props":790,"children":792},{"className":791},[],[793],{"type":18,"value":794},"VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT",{"type":18,"value":796}," or\n",{"type":13,"tag":21,"props":798,"children":800},{"className":799},[],[801],{"type":18,"value":802},"VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT",{"type":18,"value":804},", and ",{"type":13,"tag":601,"props":806,"children":807},{"type":639},[],{"type":18,"value":780},{"type":13,"tag":21,"props":810,"children":812},{"className":811},[],[813],{"type":18,"value":814},"VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT",{"type":18,"value":816}," and\n",{"type":13,"tag":21,"props":818,"children":820},{"className":819},[],[821],{"type":18,"value":822},"VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT",{"type":18,"value":625},{"type":13,"tag":825,"props":826,"children":827},"note",{},[828],{"type":13,"tag":14,"props":829,"children":830},{},[831,832,837,839,845,847,852,854,860,862,868,870,876,877,882],{"type":18,"value":768},{"type":13,"tag":21,"props":833,"children":835},{"className":834},[],[836],{"type":18,"value":615},{"type":18,"value":838}," member only indicates the features available when\nusing an\n",{"type":13,"tag":37,"props":840,"children":842},{"href":841},"/chapters/memory#memory-external-android-hardware-buffer-external-formats",[843],{"type":18,"value":844},"external-format\nimage",{"type":18,"value":846}," created from the Android hardware buffer.\nImages from Android hardware buffers with a format other than\n",{"type":13,"tag":21,"props":848,"children":850},{"className":849},[],[851],{"type":18,"value":578},{"type":18,"value":853}," are subject to the format capabilities obtained\nfrom ",{"type":13,"tag":37,"props":855,"children":857},{"href":856},"/man/vkGetPhysicalDeviceFormatProperties2",[858],{"type":18,"value":859},"vkGetPhysicalDeviceFormatProperties2",{"type":18,"value":861},", and\n",{"type":13,"tag":37,"props":863,"children":865},{"href":864},"/man/vkGetPhysicalDeviceImageFormatProperties2",[866],{"type":18,"value":867},"vkGetPhysicalDeviceImageFormatProperties2",{"type":18,"value":869}," with appropriate parameters.\nThese sets of features are independent of each other, e.g. the external\nformat will support sampler Y′C",{"type":13,"tag":871,"props":872,"children":873},"sub",{},[874],{"type":18,"value":875},"B",{"type":18,"value":62},{"type":13,"tag":871,"props":878,"children":879},{},[880],{"type":18,"value":881},"R",{"type":18,"value":883}," conversion even if the non-external\nformat does not, and rendering directly to the external format will not be\nsupported even if the non-external format does support this.",{"type":13,"tag":14,"props":885,"children":886},{},[887,889,892,894,899,900,905,906,911,912,917,918,924,926,932,934,939,941,944,946,952],{"type":18,"value":888},"Android hardware buffers with the same external format ",{"type":13,"tag":601,"props":890,"children":891},{"type":603},[],{"type":18,"value":893}," have the same\nsupport for ",{"type":13,"tag":21,"props":895,"children":897},{"className":896},[],[898],{"type":18,"value":814},{"type":18,"value":266},{"type":13,"tag":21,"props":901,"children":903},{"className":902},[],[904],{"type":18,"value":794},{"type":18,"value":266},{"type":13,"tag":21,"props":907,"children":909},{"className":908},[],[910],{"type":18,"value":802},{"type":18,"value":266},{"type":13,"tag":21,"props":913,"children":915},{"className":914},[],[916],{"type":18,"value":822},{"type":18,"value":266},{"type":13,"tag":21,"props":919,"children":921},{"className":920},[],[922],{"type":18,"value":923},"VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT",{"type":18,"value":925},",\nand\n",{"type":13,"tag":21,"props":927,"children":929},{"className":928},[],[930],{"type":18,"value":931},"VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT",{"type":18,"value":933},".\nin ",{"type":13,"tag":21,"props":935,"children":937},{"className":936},[],[938],{"type":18,"value":615},{"type":18,"value":940},".\nOther format features ",{"type":13,"tag":601,"props":942,"children":943},{"type":747},[],{"type":18,"value":945}," differ between Android hardware buffers that have\nthe same external format.\nThis allows applications to use the same ",{"type":13,"tag":37,"props":947,"children":949},{"href":948},"/man/VkSamplerYcbcrConversion",[950],{"type":18,"value":951},"VkSamplerYcbcrConversion",{"type":18,"value":953},"\nobject (and samplers and pipelines created from them) for any Android\nhardware buffers that have the same external format.",{"type":13,"tag":14,"props":955,"children":956},{},[957,959,964,966,971,973,978,979,982,984,990,992,996,998,1003,1004,1009,1011,1016,1017,1020,1022,1028],{"type":18,"value":958},"If ",{"type":13,"tag":21,"props":960,"children":962},{"className":961},[],[963],{"type":18,"value":570},{"type":18,"value":965}," is not ",{"type":13,"tag":21,"props":967,"children":969},{"className":968},[],[970],{"type":18,"value":578},{"type":18,"value":972},", then the value of\n",{"type":13,"tag":21,"props":974,"children":976},{"className":975},[],[977],{"type":18,"value":634},{"type":18,"value":733},{"type":13,"tag":601,"props":980,"children":981},{"type":603},[],{"type":18,"value":983}," be valid when used as the\n",{"type":13,"tag":21,"props":985,"children":987},{"className":986},[],[988],{"type":18,"value":989},"components",{"type":18,"value":991}," member of ",{"type":13,"tag":37,"props":993,"children":994},{"href":645},[995],{"type":18,"value":648},{"type":18,"value":997}," with\nthat format.\nIf ",{"type":13,"tag":21,"props":999,"children":1001},{"className":1000},[],[1002],{"type":18,"value":570},{"type":18,"value":553},{"type":13,"tag":21,"props":1005,"children":1007},{"className":1006},[],[1008],{"type":18,"value":578},{"type":18,"value":1010},", all members of\n",{"type":13,"tag":21,"props":1012,"children":1014},{"className":1013},[],[1015],{"type":18,"value":634},{"type":18,"value":733},{"type":13,"tag":601,"props":1018,"children":1019},{"type":603},[],{"type":18,"value":1021}," be the\n",{"type":13,"tag":37,"props":1023,"children":1025},{"href":1024},"/man/VkComponentSwizzle#resources-image-views-identity-mappings",[1026],{"type":18,"value":1027},"identity swizzle",{"type":18,"value":625},{"type":13,"tag":14,"props":1030,"children":1031},{},[1032,1034,1037,1039,1044,1046,1049,1051,1063,1065,1068,1070,1076],{"type":18,"value":1033},"Implementations ",{"type":13,"tag":601,"props":1035,"children":1036},{"type":747},[],{"type":18,"value":1038}," not always be able to determine the color model,\nnumerical range, or chroma offsets of the image contents, so the values in\n",{"type":13,"tag":21,"props":1040,"children":1042},{"className":1041},[],[1043],{"type":18,"value":4},{"type":18,"value":1045}," are only suggestions.\nApplications ",{"type":13,"tag":601,"props":1047,"children":1048},{"type":639},[],{"type":18,"value":1050}," treat these values as sensible defaults to use in the\nabsence of more reliable information obtained through some other means.\nIf the underlying physical device is also usable via OpenGL ES with the\n",{"type":13,"tag":37,"props":1052,"children":1056},{"href":1053,"rel":1054},"https://registry.khronos.org/OpenGL/extensions/OES/OES_EGL_image_external.txt",[1055],"nofollow",[1057],{"type":13,"tag":21,"props":1058,"children":1060},{"className":1059},[],[1061],{"type":18,"value":1062},"GL_OES_EGL_image_external",{"type":18,"value":1064},"\nextension, the implementation ",{"type":13,"tag":601,"props":1066,"children":1067},{"type":639},[],{"type":18,"value":1069}," suggest values that will produce\nsimilar sampled values as would be obtained by sampling the same external\nimage via ",{"type":13,"tag":21,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":18,"value":1075},"samplerExternalOES",{"type":18,"value":1077}," in OpenGL ES using equivalent sampler\nparameters.",{"type":13,"tag":825,"props":1079,"children":1080},{},[1081],{"type":13,"tag":14,"props":1082,"children":1083},{},[1084,1086,1095,1097,1100],{"type":18,"value":1085},"Since\n",{"type":13,"tag":37,"props":1087,"children":1089},{"href":1053,"rel":1088},[1055],[1090],{"type":13,"tag":21,"props":1091,"children":1093},{"className":1092},[],[1094],{"type":18,"value":1062},{"type":18,"value":1096},"\ndoes not require the same sampling and conversion calculations as Vulkan\ndoes, achieving identical results between APIs ",{"type":13,"tag":601,"props":1098,"children":1099},{"type":747},[],{"type":18,"value":1101}," not be possible on some\nimplementations.",{"type":13,"tag":1103,"props":1104,"children":1106},"validity-group",{"name":1105},"Valid Usage (Implicit)",[1107],{"type":13,"tag":1108,"props":1109,"children":1111},"validity-field",{"name":1110},"VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-sType-sType",[1112],{"type":13,"tag":14,"props":1113,"children":1114},{},[1115,1120,1121,1124,1125],{"type":13,"tag":21,"props":1116,"children":1118},{"className":1117},[],[1119],{"type":18,"value":533},{"type":18,"value":733},{"type":13,"tag":601,"props":1122,"children":1123},{"type":603},[],{"type":18,"value":750},{"type":13,"tag":21,"props":1126,"children":1128},{"className":1127},[],[1129],{"type":18,"value":1130},"VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID",{"type":13,"tag":1132,"props":1133,"children":1134},"style",{},[1135],{"type":18,"value":1136},"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":64,"searchDepth":94,"depth":94,"links":1138},[],"markdown",1725732538728]