Path: blob/main_old/extensions/ANGLE_yuv_internal_format.txt
1693 views
Name12ANGLE_yuv_internal_format34Name Strings56GL_ANGLE_yuv_internal_format78Contributors910Mohan Maiya, Samsung11Jamie Madill, Google1213Contacts1415Mohan Maiya, Samsung (m.maiya 'at' samsung 'dot' com)1617Notice1819Copyright (c) 2021 The Khronos Group Inc. Copyright terms at20http://www.khronos.org/registry/speccopyright.html2122Status2324Draft.2526Version2728Version 5, June 23, 20212930Number3132OpenGL ES Extension ###3334Dependencies3536OpenGL ES 3.0 is required.3738Overview3940This extension introduces a few sized internal YUV texture formats41that can be used to create immutable textures using the TexStorage2D API.42The only valid texture target supported is TEXTURE_2D, an INVALID_ENUM43error is generated otherwise. There is no mipmap support and only NEAREST44minification and magnification filters are supported.4546Support for the extension only requires the support of the commonly used 8-bit472-plane YUV format listed in the "New Tokens" section, refer to [fn1] for details48about the formats and layout. It is up to the implementation to extend support49for the other YUV formats.5051[fn1] : https://www.fourcc.org/yuv.php5253New Types5455None.5657New Procedures and Functions5859None.6061New Tokens6263List of non-standard YUV internal formats6465// 8-bit YUV formats66G8_B8R8_2PLANE_420_UNORM_ANGLE 0x96B167G8_B8_R8_3PLANE_420_UNORM_ANGLE 0x96B26869// 10-bit YUV formats70G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_ANGLE 0x96B371G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_ANGLE 0x96B47273// 12-bit YUV formats74G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_ANGLE 0x96B575G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_ANGLE 0x96B67677// 16-bit YUV formats78G16_B16R16_2PLANE_420_UNORM_ANGLE 0x96B779G16_B16_R16_3PLANE_420_UNORM_ANGLE 0x96B8808182Issues83841. How was the new format list chosen?8586Commonly used planar YUV formats across various platforms were surveyed,87including new platforms that support HDR content. A subset of those were88chosen to be required. It is up to the implementations to extend support89for the rest of the formats.90912. What is the colorspace of image data of a texture created with the new formats?9293The texture or sampler parameter APIs can be expanded to indicate the colorspace94in a layered extension and is outside the scope of this extension. The colorspace95for textures with the above YUV formats is assumed to be ITU-R BT.601 with YUV96values in limited range. Refer to ITU-R BT.601 spec for further details.9798Revision History99100#5 - (June 23, 2021) Mohan Maiya101Renamed format enums from *_ANGLEX to *_ANGLE102103#4 - (June 23, 2021) Mohan Maiya104Removed references to GL_OES_EGL_image_external105and restricted the spec to simply introducing new106sized internal YUV formats. Also updated enum values107108#3 - (June 8, 2021) Mohan Maiya109Clarification regarding default colorspace110111#2 - (May 10, 2021) Mohan Maiya112Update overview section to specify support for113immutable textures114115#1 - (April 10, 2021) Mohan Maiya116Original draft117118119