1Name 2 3 ANGLE_yuv_internal_format 4 5Name Strings 6 7 GL_ANGLE_yuv_internal_format 8 9Contributors 10 11 Mohan Maiya, Samsung 12 Jamie Madill, Google 13 14Contacts 15 16 Mohan Maiya, Samsung (m.maiya 'at' samsung 'dot' com) 17 18Notice 19 20 Copyright (c) 2021 The Khronos Group Inc. Copyright terms at 21 http://www.khronos.org/registry/speccopyright.html 22 23Status 24 25 Draft. 26 27Version 28 29 Version 5, June 23, 2021 30 31Number 32 33 OpenGL ES Extension ### 34 35Dependencies 36 37 OpenGL ES 3.0 is required. 38 39Overview 40 41 This extension introduces a few sized internal YUV texture formats 42 that can be used to create immutable textures using the TexStorage2D API. 43 The only valid texture target supported is TEXTURE_2D, an INVALID_ENUM 44 error is generated otherwise. There is no mipmap support and only NEAREST 45 minification and magnification filters are supported. 46 47 Support for the extension only requires the support of the commonly used 8-bit 48 2-plane YUV format listed in the "New Tokens" section, refer to [fn1] for details 49 about the formats and layout. It is up to the implementation to extend support 50 for the other YUV formats. 51 52 [fn1] : https://www.fourcc.org/yuv.php 53 54New Types 55 56 None. 57 58New Procedures and Functions 59 60 None. 61 62New Tokens 63 64 List of non-standard YUV internal formats 65 66 // 8-bit YUV formats 67 G8_B8R8_2PLANE_420_UNORM_ANGLE 0x96B1 68 G8_B8_R8_3PLANE_420_UNORM_ANGLE 0x96B2 69 70 // 10-bit YUV formats 71 G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_ANGLE 0x96B3 72 G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_ANGLE 0x96B4 73 74 // 12-bit YUV formats 75 G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_ANGLE 0x96B5 76 G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_ANGLE 0x96B6 77 78 // 16-bit YUV formats 79 G16_B16R16_2PLANE_420_UNORM_ANGLE 0x96B7 80 G16_B16_R16_3PLANE_420_UNORM_ANGLE 0x96B8 81 82 83Issues 84 85 1. How was the new format list chosen? 86 87 Commonly used planar YUV formats across various platforms were surveyed, 88 including new platforms that support HDR content. A subset of those were 89 chosen to be required. It is up to the implementations to extend support 90 for the rest of the formats. 91 92 2. What is the colorspace of image data of a texture created with the new formats? 93 94 The texture or sampler parameter APIs can be expanded to indicate the colorspace 95 in a layered extension and is outside the scope of this extension. The colorspace 96 for textures with the above YUV formats is assumed to be ITU-R BT.601 with YUV 97 values in limited range. Refer to ITU-R BT.601 spec for further details. 98 99Revision History 100 101 #5 - (June 23, 2021) Mohan Maiya 102 Renamed format enums from *_ANGLEX to *_ANGLE 103 104 #4 - (June 23, 2021) Mohan Maiya 105 Removed references to GL_OES_EGL_image_external 106 and restricted the spec to simply introducing new 107 sized internal YUV formats. Also updated enum values 108 109 #3 - (June 8, 2021) Mohan Maiya 110 Clarification regarding default colorspace 111 112 #2 - (May 10, 2021) Mohan Maiya 113 Update overview section to specify support for 114 immutable textures 115 116 #1 - (April 10, 2021) Mohan Maiya 117 Original draft 118