Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/angle
Path: blob/main_old/extensions/ANGLE_yuv_internal_format.txt
1693 views
1
Name
2
3
ANGLE_yuv_internal_format
4
5
Name Strings
6
7
GL_ANGLE_yuv_internal_format
8
9
Contributors
10
11
Mohan Maiya, Samsung
12
Jamie Madill, Google
13
14
Contacts
15
16
Mohan Maiya, Samsung (m.maiya 'at' samsung 'dot' com)
17
18
Notice
19
20
Copyright (c) 2021 The Khronos Group Inc. Copyright terms at
21
http://www.khronos.org/registry/speccopyright.html
22
23
Status
24
25
Draft.
26
27
Version
28
29
Version 5, June 23, 2021
30
31
Number
32
33
OpenGL ES Extension ###
34
35
Dependencies
36
37
OpenGL ES 3.0 is required.
38
39
Overview
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
54
New Types
55
56
None.
57
58
New Procedures and Functions
59
60
None.
61
62
New 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
83
Issues
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
99
Revision 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
119