Skip to content

Commit d43e3ff

Browse files
committed
Add VK_EXT_ycbcr_3plane_16bit_lsb_formats extension
This extension adds support for 10/12bit YCbCr formats used by software decoders like ffmpeg, dav1d and libvpx. See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34303
1 parent 4abe026 commit d43e3ff

7 files changed

Lines changed: 462 additions & 7 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright 2026 The Khronos Group Inc.
2+
//
3+
// SPDX-License-Identifier: CC-BY-4.0
4+
5+
include::{generated}/meta/{refprefix}VK_EXT_ycbcr_3plane_16bit_lsb_formats.adoc[]
6+
7+
=== Other Extension Metadata
8+
9+
*Last Modified Date*::
10+
2026-04-30
11+
*IP Status*::
12+
No known IP claims.
13+
*Contributors*::
14+
- Robert Mader, Collabora
15+
16+
=== Description
17+
18+
This extension adds some 10/12/14bit {YCbCr} formats that are in common use for
19+
video software encode and decode, but were not part of the
20+
`apiext:VK_KHR_sampler_ycbcr_conversion` extension.
21+
22+
include::{generated}/interfaces/VK_EXT_ycbcr_3plane_16bit_lsb_formats.adoc[]
23+
24+
=== Version History
25+
26+
* Revision 1, 2026-04-30 (Robert Mader)
27+
** Initial draft

chapters/descriptorbuffers.adoc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,22 @@ ifdef::VK_BASE_VERSION_1_3[Vulkan 1.3 is not supported and]
595595
ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, or
596596
ename:VK_FORMAT_G16_B16R16_2PLANE_444_UNORM
597597
endif::VK_EXT_ycbcr_2plane_444_formats[]
598+
ifdef::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
599+
* If the <<features-ycbcr3plane16BitLsbFormats,pname:ycbcr3plane16BitLsbFormats>>
600+
feature is not enabled, pname:format must: not be
601+
ename:VK_FORMAT_Z6R10_UNORM_EXT,
602+
ename:VK_FORMAT_Z4R12_UNORM_EXT,
603+
ename:VK_FORMAT_Z2R14_UNORM_EXT,
604+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_420_UNORM_3PACK16_EXT,
605+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_422_UNORM_3PACK16_EXT,
606+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_444_UNORM_3PACK16_EXT,
607+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_420_UNORM_3PACK16_EXT,
608+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_422_UNORM_3PACK16_EXT,
609+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_444_UNORM_3PACK16_EXT,
610+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_420_UNORM_3PACK16_EXT,
611+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_422_UNORM_3PACK16_EXT or
612+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_444_UNORM_3PACK16_EXT
613+
endif::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
598614
****
599615

600616
include::{generated}/validity/structs/VkDescriptorAddressInfoEXT.adoc[]

chapters/features.adoc

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6173,6 +6173,42 @@ endif::VK_BASE_VERSION_1_3[]
61736173
--
61746174
endif::VK_EXT_ycbcr_2plane_444_formats[]
61756175

6176+
ifdef::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
6177+
[open,refpage='VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT',desc='Structure describing whether the implementation supports additional 3-plane 16bit LSB {YCbCr} formats',type='structs']
6178+
--
6179+
The sname:VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT structure is
6180+
defined as:
6181+
6182+
include::{generated}/api/structs/VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT.adoc[]
6183+
6184+
This structure describes the following feature:
6185+
6186+
* pname:sType is a elink:VkStructureType value identifying this structure.
6187+
* pname:pNext is `NULL` or a pointer to a structure extending this
6188+
structure.
6189+
* [[features-ycbcr3plane16BitLsbFormats]] pname:ycbcr3plane16BitLsbFormats
6190+
indicates that the implementation supports querying format features for, and
6191+
using, the following 3-plane 16bit LSB {YCbCr} formats:
6192+
** ename:VK_FORMAT_Z6R10_UNORM_EXT
6193+
** ename:VK_FORMAT_Z4R12_UNORM_EXT
6194+
** ename:VK_FORMAT_Z2R14_UNORM_EXT
6195+
** ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_420_UNORM_3PACK16_EXT
6196+
** ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_422_UNORM_3PACK16_EXT
6197+
** ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_444_UNORM_3PACK16_EXT
6198+
** ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_420_UNORM_3PACK16_EXT
6199+
** ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_422_UNORM_3PACK16_EXT
6200+
** ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_444_UNORM_3PACK16_EXT
6201+
** ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_420_UNORM_3PACK16_EXT
6202+
** ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_422_UNORM_3PACK16_EXT
6203+
** ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_444_UNORM_3PACK16_EXT
6204+
6205+
:refpage: VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT
6206+
include::{chapters}/features.adoc[tag=features]
6207+
6208+
include::{generated}/validity/structs/VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT.adoc[]
6209+
--
6210+
endif::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
6211+
61766212
ifdef::VK_EXT_color_write_enable[]
61776213
[open,refpage='VkPhysicalDeviceColorWriteEnableFeaturesEXT',desc='Structure describing whether writes to color attachments can be enabled and disabled dynamically',type='structs']
61786214
--

chapters/formats.adoc

Lines changed: 191 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1359,6 +1359,161 @@ ifdef::VK_BASE_VERSION_1_3,VK_EXT_ycbcr_2plane_444_formats[]
13591359
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane, and
13601360
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the BR plane.
13611361
endif::VK_BASE_VERSION_1_3,VK_EXT_ycbcr_2plane_444_formats[]
1362+
ifdef::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
1363+
* ename:VK_FORMAT_Z6R10_UNORM_EXT specifies a one-component, 16-bit
1364+
unsigned normalized format that has a single 10-bit R component in the
1365+
bottom 10 bits of a 16-bit word, with the top 6 bits unused and required
1366+
to be set to zero.
1367+
* ename:VK_FORMAT_Z4R12_UNORM_EXT specifies a one-component, 16-bit
1368+
unsigned normalized format that has a single 12-bit R component in the
1369+
bottom 12 bits of a 16-bit word, with the top 4 bits unused and required
1370+
to be set to zero.
1371+
* ename:VK_FORMAT_Z2R14_UNORM_EXT specifies a one-component, 16-bit
1372+
unsigned normalized format that has a single 14-bit R component in the
1373+
bottom 14 bits of a 16-bit word, with the top 2 bits unused and required
1374+
to be set to zero.
1375+
* ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_420_UNORM_3PACK16_EXT specifies an
1376+
unsigned normalized _multi-planar format_ that has a 10-bit G component
1377+
in the bottom 10 bits of each 16-bit word of plane 0, a 10-bit B component
1378+
in the bottom 10 bits of each 16-bit word of plane 1, and a 10-bit R
1379+
component in the bottom 10 bits of each 16-bit word of plane 2, with the
1380+
top 6 bits of each word unused and required to be set to zero.
1381+
The horizontal and vertical dimensions of the R and B planes are halved
1382+
relative to the image dimensions, and each R and B component is shared
1383+
with the G components for which latexmath:[\left\lfloor i_G \times 0.5
1384+
\right\rfloor = i_B = i_R] and latexmath:[\left\lfloor j_G \times 0.5
1385+
\right\rfloor = j_B = j_R].
1386+
The location of each plane when this image is in linear layout can be
1387+
determined via flink:vkGetImageSubresourceLayout, using
1388+
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
1389+
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
1390+
ename:VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
1391+
This format only supports images with a width and height that is a
1392+
multiple of two.
1393+
* ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_422_UNORM_3PACK16_EXT specifies an
1394+
unsigned normalized _multi-planar format_ that has a 10-bit G component
1395+
in the bottom 10 bits of each 16-bit word of plane 0, a 10-bit B component
1396+
in the bottom 10 bits of each 16-bit word of plane 1, and a 10-bit R
1397+
component in the bottom 10 bits of each 16-bit word of plane 2, with the
1398+
top 6 bits of each word unused and required to be set to zero.
1399+
The horizontal dimension of the R and B plane is halved relative to the
1400+
image dimensions, and each R and B value is shared with the G components
1401+
for which latexmath:[\left\lfloor i_G \times 0.5 \right\rfloor = i_B =
1402+
i_R].
1403+
The location of each plane when this image is in linear layout can be
1404+
determined via flink:vkGetImageSubresourceLayout, using
1405+
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
1406+
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
1407+
ename:VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
1408+
This format only supports images with a width that is a multiple of two.
1409+
* ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_444_UNORM_3PACK16_EXT specifies an
1410+
unsigned normalized _multi-planar format_ that has a 10-bit G component
1411+
in the bottom 10 bits of each 16-bit word of plane 0, a 10-bit B component
1412+
in the bottom 10 bits of each 16-bit word of plane 1, and a 10-bit R
1413+
component in the bottom 10 bits of each 16-bit word of plane 2, with the
1414+
top 6 bits of each word unused and required to be set to zero.
1415+
Each plane has the same dimensions and each R, G, and B component
1416+
contributes to a single texel.
1417+
The location of each plane when this image is in linear layout can be
1418+
determined via flink:vkGetImageSubresourceLayout, using
1419+
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
1420+
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
1421+
ename:VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
1422+
* ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_420_UNORM_3PACK16_EXT specifies an
1423+
unsigned normalized _multi-planar format_ that has a 12-bit G component
1424+
in the bottom 12 bits of each 16-bit word of plane 0, a 12-bit B component
1425+
in the bottom 12 bits of each 16-bit word of plane 1, and a 12-bit R
1426+
component in the bottom 12 bits of each 16-bit word of plane 2, with the
1427+
top 4 bits of each word unused and required to be set to zero.
1428+
The horizontal and vertical dimensions of the R and B planes are halved
1429+
relative to the image dimensions, and each R and B component is shared
1430+
with the G components for which latexmath:[\left\lfloor i_G \times 0.5
1431+
\right\rfloor = i_B = i_R] and latexmath:[\left\lfloor j_G \times 0.5
1432+
\right\rfloor = j_B = j_R].
1433+
The location of each plane when this image is in linear layout can be
1434+
determined via flink:vkGetImageSubresourceLayout, using
1435+
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
1436+
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
1437+
ename:VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
1438+
This format only supports images with a width and height that is a
1439+
multiple of two.
1440+
* ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_422_UNORM_3PACK16_EXT specifies an
1441+
unsigned normalized _multi-planar format_ that has a 12-bit G component
1442+
in the bottom 12 bits of each 16-bit word of plane 0, a 12-bit B component
1443+
in the bottom 12 bits of each 16-bit word of plane 1, and a 12-bit R
1444+
component in the bottom 12 bits of each 16-bit word of plane 2, with the
1445+
top 4 bits of each word unused and required to be set to zero.
1446+
The horizontal dimension of the R and B plane is halved relative to the
1447+
image dimensions, and each R and B value is shared with the G components
1448+
for which latexmath:[\left\lfloor i_G \times 0.5 \right\rfloor = i_B =
1449+
i_R].
1450+
The location of each plane when this image is in linear layout can be
1451+
determined via flink:vkGetImageSubresourceLayout, using
1452+
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
1453+
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
1454+
ename:VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
1455+
This format only supports images with a width that is a multiple of two.
1456+
* ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_444_UNORM_3PACK16_EXT specifies an
1457+
unsigned normalized _multi-planar format_ that has a 12-bit G component
1458+
in the bottom 12 bits of each 16-bit word of plane 0, a 12-bit B component
1459+
in the bottom 12 bits of each 16-bit word of plane 1, and a 12-bit R
1460+
component in the bottom 12 bits of each 16-bit word of plane 2, with the
1461+
top 4 bits of each word unused and required to be set to zero.
1462+
Each plane has the same dimensions and each R, G, and B component
1463+
contributes to a single texel.
1464+
The location of each plane when this image is in linear layout can be
1465+
determined via flink:vkGetImageSubresourceLayout, using
1466+
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
1467+
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
1468+
ename:VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
1469+
* ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_420_UNORM_3PACK16_EXT specifies an
1470+
unsigned normalized _multi-planar format_ that has a 14-bit G component
1471+
in the bottom 14 bits of each 16-bit word of plane 0, a 14-bit B component
1472+
in the bottom 14 bits of each 16-bit word of plane 1, and a 14-bit R
1473+
component in the bottom 14 bits of each 16-bit word of plane 2, with the
1474+
top 2 bits of each word unused and required to be set to zero.
1475+
The horizontal and vertical dimensions of the R and B planes are halved
1476+
relative to the image dimensions, and each R and B component is shared
1477+
with the G components for which latexmath:[\left\lfloor i_G \times 0.5
1478+
\right\rfloor = i_B = i_R] and latexmath:[\left\lfloor j_G \times 0.5
1479+
\right\rfloor = j_B = j_R].
1480+
The location of each plane when this image is in linear layout can be
1481+
determined via flink:vkGetImageSubresourceLayout, using
1482+
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
1483+
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
1484+
ename:VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
1485+
This format only supports images with a width and height that is a
1486+
multiple of two.
1487+
* ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_422_UNORM_3PACK16_EXT specifies an
1488+
unsigned normalized _multi-planar format_ that has a 14-bit G component
1489+
in the bottom 14 bits of each 16-bit word of plane 0, a 14-bit B component
1490+
in the bottom 14 bits of each 16-bit word of plane 1, and a 14-bit R
1491+
component in the bottom 14 bits of each 16-bit word of plane 2, with the
1492+
top 2 bits of each word unused and required to be set to zero.
1493+
The horizontal dimension of the R and B plane is halved relative to the
1494+
image dimensions, and each R and B value is shared with the G components
1495+
for which latexmath:[\left\lfloor i_G \times 0.5 \right\rfloor = i_B =
1496+
i_R].
1497+
The location of each plane when this image is in linear layout can be
1498+
determined via flink:vkGetImageSubresourceLayout, using
1499+
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
1500+
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
1501+
ename:VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
1502+
This format only supports images with a width that is a multiple of two.
1503+
* ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_444_UNORM_3PACK16_EXT, specifies an
1504+
unsigned normalized _multi-planar format_ that has a 14-bit G component
1505+
in the bottom 14 bits of each 16-bit word of plane 0, a 14-bit B component
1506+
in the bottom 14 bits of each 16-bit word of plane 1, and a 14-bit R
1507+
component in the bottom 14 bits of each 16-bit word of plane 2, with the
1508+
top 2 bits of each word unused and required to be set to zero.
1509+
Each plane has the same dimensions and each R, G, and B component
1510+
contributes to a single texel.
1511+
The location of each plane when this image is in linear layout can be
1512+
determined via flink:vkGetImageSubresourceLayout, using
1513+
ename:VK_IMAGE_ASPECT_PLANE_0_BIT for the G plane,
1514+
ename:VK_IMAGE_ASPECT_PLANE_1_BIT for the B plane, and
1515+
ename:VK_IMAGE_ASPECT_PLANE_2_BIT for the R plane.
1516+
endif::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
13621517
ifdef::VK_IMG_format_pvrtc[]
13631518
* ename:VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG specifies a four-component,
13641519
PVRTC compressed format where each 64-bit compressed texel block encodes
@@ -2062,9 +2217,9 @@ include::{generated}/api/protos/vkGetPhysicalDeviceFormatProperties.adoc[]
20622217
structure in which physical device properties for pname:format are
20632218
returned.
20642219

2065-
ifdef::VK_EXT_ycbcr_2plane_444_formats[]
20662220
.Valid Usage
20672221
****
2222+
ifdef::VK_EXT_ycbcr_2plane_444_formats[]
20682223
* [[VUID-vkGetPhysicalDeviceFormatProperties-None-12272]]
20692224
If
20702225
ifdef::VK_BASE_VERSION_1_3[Vulkan 1.3 is not supported,]
@@ -2079,8 +2234,24 @@ ifdef::VK_KHR_maintenance5,VK_BASE_VERSION_1_3[and]
20792234
ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
20802235
ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, or
20812236
ename:VK_FORMAT_G16_B16R16_2PLANE_444_UNORM
2082-
****
20832237
endif::VK_EXT_ycbcr_2plane_444_formats[]
2238+
ifdef::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
2239+
* If the <<features-ycbcr3plane16BitLsbFormats,pname:ycbcr3plane16BitLsbFormats>>
2240+
feature is not enabled, pname:format must: not be
2241+
ename:VK_FORMAT_Z6R10_UNORM_EXT,
2242+
ename:VK_FORMAT_Z4R12_UNORM_EXT,
2243+
ename:VK_FORMAT_Z2R14_UNORM_EXT,
2244+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_420_UNORM_3PACK16_EXT,
2245+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_422_UNORM_3PACK16_EXT,
2246+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_444_UNORM_3PACK16_EXT,
2247+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_420_UNORM_3PACK16_EXT,
2248+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_422_UNORM_3PACK16_EXT,
2249+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_444_UNORM_3PACK16_EXT,
2250+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_420_UNORM_3PACK16_EXT,
2251+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_422_UNORM_3PACK16_EXT or
2252+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_444_UNORM_3PACK16_EXT
2253+
endif::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
2254+
****
20842255

20852256
include::{generated}/validity/protos/vkGetPhysicalDeviceFormatProperties.adoc[]
20862257
--
@@ -2427,9 +2598,9 @@ fname:vkGetPhysicalDeviceFormatProperties2 behaves similarly to
24272598
flink:vkGetPhysicalDeviceFormatProperties, with the ability to return
24282599
extended information in a pname:pNext chain of output structures.
24292600

2430-
ifdef::VK_EXT_ycbcr_2plane_444_formats[]
24312601
.Valid Usage
24322602
****
2603+
ifdef::VK_EXT_ycbcr_2plane_444_formats[]
24332604
* [[VUID-vkGetPhysicalDeviceFormatProperties2-None-12273]]
24342605
If
24352606
ifdef::VK_BASE_VERSION_1_3[Vulkan 1.3 is not supported,]
@@ -2444,8 +2615,24 @@ ifdef::VK_KHR_maintenance5,VK_BASE_VERSION_1_3[and]
24442615
ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
24452616
ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, or
24462617
ename:VK_FORMAT_G16_B16R16_2PLANE_444_UNORM
2447-
****
24482618
endif::VK_EXT_ycbcr_2plane_444_formats[]
2619+
ifdef::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
2620+
* If the <<features-ycbcr3plane16BitLsbFormats,pname:ycbcr3plane16BitLsbFormats>>
2621+
feature is not enabled, pname:format must: not be
2622+
ename:VK_FORMAT_Z6R10_UNORM_EXT,
2623+
ename:VK_FORMAT_Z4R12_UNORM_EXT,
2624+
ename:VK_FORMAT_Z2R14_UNORM_EXT,
2625+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_420_UNORM_3PACK16_EXT,
2626+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_422_UNORM_3PACK16_EXT,
2627+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_444_UNORM_3PACK16_EXT,
2628+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_420_UNORM_3PACK16_EXT,
2629+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_422_UNORM_3PACK16_EXT,
2630+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_444_UNORM_3PACK16_EXT,
2631+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_420_UNORM_3PACK16_EXT,
2632+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_422_UNORM_3PACK16_EXT or
2633+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_444_UNORM_3PACK16_EXT
2634+
endif::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
2635+
****
24492636

24502637
include::{generated}/validity/protos/vkGetPhysicalDeviceFormatProperties2.adoc[]
24512638
--

0 commit comments

Comments
 (0)