@@ -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.
13611361endif::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[]
13621517ifdef::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
20702225ifdef::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- ****
20832237endif::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
20852256include::{generated}/validity/protos/vkGetPhysicalDeviceFormatProperties.adoc[]
20862257--
@@ -2427,9 +2598,9 @@ fname:vkGetPhysicalDeviceFormatProperties2 behaves similarly to
24272598flink:vkGetPhysicalDeviceFormatProperties, with the ability to return
24282599extended 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
24352606ifdef::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- ****
24482618endif::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
24502637include::{generated}/validity/protos/vkGetPhysicalDeviceFormatProperties2.adoc[]
24512638--
0 commit comments