Skip to content

Commit 143fe5f

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 e2843a2 commit 143fe5f

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
@@ -596,6 +596,22 @@ ifdef::VK_BASE_VERSION_1_3[Vulkan 1.3 is not supported and]
596596
ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, or
597597
ename:VK_FORMAT_G16_B16R16_2PLANE_444_UNORM
598598
endif::VK_EXT_ycbcr_2plane_444_formats[]
599+
ifdef::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
600+
* If the <<features-ycbcr3plane16BitLsbFormats,pname:ycbcr3plane16BitLsbFormats>>
601+
feature is not enabled, pname:format must: not be
602+
ename:VK_FORMAT_Z6R10_UNORM_EXT,
603+
ename:VK_FORMAT_Z4R12_UNORM_EXT,
604+
ename:VK_FORMAT_Z2R14_UNORM_EXT,
605+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_420_UNORM_3PACK16_EXT,
606+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_422_UNORM_3PACK16_EXT,
607+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_444_UNORM_3PACK16_EXT,
608+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_420_UNORM_3PACK16_EXT,
609+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_422_UNORM_3PACK16_EXT,
610+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_444_UNORM_3PACK16_EXT,
611+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_420_UNORM_3PACK16_EXT,
612+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_422_UNORM_3PACK16_EXT or
613+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_444_UNORM_3PACK16_EXT
614+
endif::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
599615
****
600616

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

chapters/features.adoc

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6092,6 +6092,42 @@ endif::VK_BASE_VERSION_1_3[]
60926092
--
60936093
endif::VK_EXT_ycbcr_2plane_444_formats[]
60946094

6095+
ifdef::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
6096+
[open,refpage='VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT',desc='Structure describing whether the implementation supports additional 3-plane 16bit LSB {YCbCr} formats',type='structs']
6097+
--
6098+
The sname:VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT structure is
6099+
defined as:
6100+
6101+
include::{generated}/api/structs/VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT.adoc[]
6102+
6103+
This structure describes the following feature:
6104+
6105+
* pname:sType is a elink:VkStructureType value identifying this structure.
6106+
* pname:pNext is `NULL` or a pointer to a structure extending this
6107+
structure.
6108+
* [[features-ycbcr3plane16BitLsbFormats]] pname:ycbcr3plane16BitLsbFormats
6109+
indicates that the implementation supports querying format features for, and
6110+
using, the following 3-plane 16bit LSB {YCbCr} formats:
6111+
** ename:VK_FORMAT_Z6R10_UNORM_EXT
6112+
** ename:VK_FORMAT_Z4R12_UNORM_EXT
6113+
** ename:VK_FORMAT_Z2R14_UNORM_EXT
6114+
** ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_420_UNORM_3PACK16_EXT
6115+
** ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_422_UNORM_3PACK16_EXT
6116+
** ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_444_UNORM_3PACK16_EXT
6117+
** ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_420_UNORM_3PACK16_EXT
6118+
** ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_422_UNORM_3PACK16_EXT
6119+
** ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_444_UNORM_3PACK16_EXT
6120+
** ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_420_UNORM_3PACK16_EXT
6121+
** ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_422_UNORM_3PACK16_EXT
6122+
** ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_444_UNORM_3PACK16_EXT
6123+
6124+
:refpage: VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT
6125+
include::{chapters}/features.adoc[tag=features]
6126+
6127+
include::{generated}/validity/structs/VkPhysicalDeviceYcbcr3Plane16BitLsbFormatsFeaturesEXT.adoc[]
6128+
--
6129+
endif::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
6130+
60956131
ifdef::VK_EXT_color_write_enable[]
60966132
[open,refpage='VkPhysicalDeviceColorWriteEnableFeaturesEXT',desc='Structure describing whether writes to color attachments can be enabled and disabled dynamically',type='structs']
60976133
--

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
--
@@ -2428,9 +2599,9 @@ fname:vkGetPhysicalDeviceFormatProperties2 behaves similarly to
24282599
flink:vkGetPhysicalDeviceFormatProperties, with the ability to return
24292600
extended information in a pname:pNext chain of output structures.
24302601

2431-
ifdef::VK_EXT_ycbcr_2plane_444_formats[]
24322602
.Valid Usage
24332603
****
2604+
ifdef::VK_EXT_ycbcr_2plane_444_formats[]
24342605
* [[VUID-vkGetPhysicalDeviceFormatProperties2-None-12273]]
24352606
If
24362607
ifdef::VK_BASE_VERSION_1_3[Vulkan 1.3 is not supported,]
@@ -2445,8 +2616,24 @@ ifdef::VK_KHR_maintenance5,VK_BASE_VERSION_1_3[and]
24452616
ename:VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16,
24462617
ename:VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, or
24472618
ename:VK_FORMAT_G16_B16R16_2PLANE_444_UNORM
2448-
****
24492619
endif::VK_EXT_ycbcr_2plane_444_formats[]
2620+
ifdef::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
2621+
* If the <<features-ycbcr3plane16BitLsbFormats,pname:ycbcr3plane16BitLsbFormats>>
2622+
feature is not enabled, pname:format must: not be
2623+
ename:VK_FORMAT_Z6R10_UNORM_EXT,
2624+
ename:VK_FORMAT_Z4R12_UNORM_EXT,
2625+
ename:VK_FORMAT_Z2R14_UNORM_EXT,
2626+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_420_UNORM_3PACK16_EXT,
2627+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_422_UNORM_3PACK16_EXT,
2628+
ename:VK_FORMAT_Z6G10_Z6B10_Z6R10_3PLANE_444_UNORM_3PACK16_EXT,
2629+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_420_UNORM_3PACK16_EXT,
2630+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_422_UNORM_3PACK16_EXT,
2631+
ename:VK_FORMAT_Z4G12_Z4B12_Z4R12_3PLANE_444_UNORM_3PACK16_EXT,
2632+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_420_UNORM_3PACK16_EXT,
2633+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_422_UNORM_3PACK16_EXT or
2634+
ename:VK_FORMAT_Z2G14_Z2B14_Z2R14_3PLANE_444_UNORM_3PACK16_EXT
2635+
endif::VK_EXT_ycbcr_3plane_16bit_lsb_formats[]
2636+
****
24502637

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

0 commit comments

Comments
 (0)