summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/es3_format_type_combinations.json
blob: fb12242e75624483f0ec0ada04411a6978fda0f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
{
    "Format combinations from ES 3.0.1 spec, table 3.2":
    [
        [ "GL_RGBA8",              "GL_RGBA",            "GL_UNSIGNED_BYTE" ],
        [ "GL_RGB5_A1",            "GL_RGBA",            "GL_UNSIGNED_BYTE" ],
        [ "GL_RGBA4",              "GL_RGBA",            "GL_UNSIGNED_BYTE" ],
        [ "GL_SRGB8_ALPHA8",       "GL_RGBA",            "GL_UNSIGNED_BYTE" ],
        [ "GL_RGBA8_SNORM",        "GL_RGBA",            "GL_BYTE" ],
        [ "GL_RGBA4",              "GL_RGBA",            "GL_UNSIGNED_SHORT_4_4_4_4" ],
        [ "GL_RGB10_A2",           "GL_RGBA",            "GL_UNSIGNED_INT_2_10_10_10_REV" ],
        [ "GL_RGB5_A1",            "GL_RGBA",            "GL_UNSIGNED_INT_2_10_10_10_REV" ],
        [ "GL_RGB5_A1",            "GL_RGBA",            "GL_UNSIGNED_SHORT_5_5_5_1" ],
        [ "GL_RGBA16F",            "GL_RGBA",            "GL_HALF_FLOAT" ],
        [ "GL_RGBA16F",            "GL_RGBA",            "GL_HALF_FLOAT_OES" ],
        [ "GL_RGBA32F",            "GL_RGBA",            "GL_FLOAT" ],
        [ "GL_RGBA16F",            "GL_RGBA",            "GL_FLOAT" ],
        [ "GL_RGBA8UI",            "GL_RGBA_INTEGER",    "GL_UNSIGNED_BYTE" ],
        [ "GL_RGBA8I",             "GL_RGBA_INTEGER",    "GL_BYTE" ],
        [ "GL_RGBA16UI",           "GL_RGBA_INTEGER",    "GL_UNSIGNED_SHORT" ],
        [ "GL_RGBA16I",            "GL_RGBA_INTEGER",    "GL_SHORT" ],
        [ "GL_RGBA32UI",           "GL_RGBA_INTEGER",    "GL_UNSIGNED_INT" ],
        [ "GL_RGBA32I",            "GL_RGBA_INTEGER",    "GL_INT" ],
        [ "GL_RGB10_A2UI",         "GL_RGBA_INTEGER",    "GL_UNSIGNED_INT_2_10_10_10_REV" ],
        [ "GL_RGB8",               "GL_RGB",             "GL_UNSIGNED_BYTE" ],
        [ "GL_RGB565",             "GL_RGB",             "GL_UNSIGNED_BYTE" ],
        [ "GL_SRGB8",              "GL_RGB",             "GL_UNSIGNED_BYTE" ],
        [ "GL_RGB8_SNORM",         "GL_RGB",             "GL_BYTE" ],
        [ "GL_RGB565",             "GL_RGB",             "GL_UNSIGNED_SHORT_5_6_5" ],
        [ "GL_R11F_G11F_B10F",     "GL_RGB",             "GL_UNSIGNED_INT_10F_11F_11F_REV" ],
        [ "GL_RGB9_E5",            "GL_RGB",             "GL_UNSIGNED_INT_5_9_9_9_REV" ],
        [ "GL_RGB16F",             "GL_RGB",             "GL_HALF_FLOAT" ],
        [ "GL_RGB16F",             "GL_RGB",             "GL_HALF_FLOAT_OES" ],
        [ "GL_R11F_G11F_B10F",     "GL_RGB",             "GL_HALF_FLOAT" ],
        [ "GL_R11F_G11F_B10F",     "GL_RGB",             "GL_HALF_FLOAT_OES" ],
        [ "GL_RGB9_E5",            "GL_RGB",             "GL_HALF_FLOAT" ],
        [ "GL_RGB9_E5",            "GL_RGB",             "GL_HALF_FLOAT_OES" ],
        [ "GL_RGB32F",             "GL_RGB",             "GL_FLOAT" ],
        [ "GL_RGB16F",             "GL_RGB",             "GL_FLOAT" ],
        [ "GL_R11F_G11F_B10F",     "GL_RGB",             "GL_FLOAT" ],
        [ "GL_RGB9_E5",            "GL_RGB",             "GL_FLOAT" ],
        [ "GL_RGB8UI",             "GL_RGB_INTEGER",     "GL_UNSIGNED_BYTE" ],
        [ "GL_RGB8I",              "GL_RGB_INTEGER",     "GL_BYTE" ],
        [ "GL_RGB16UI",            "GL_RGB_INTEGER",     "GL_UNSIGNED_SHORT" ],
        [ "GL_RGB16I",             "GL_RGB_INTEGER",     "GL_SHORT" ],
        [ "GL_RGB32UI",            "GL_RGB_INTEGER",     "GL_UNSIGNED_INT" ],
        [ "GL_RGB32I",             "GL_RGB_INTEGER",     "GL_INT" ],
        [ "GL_RG8",                "GL_RG",              "GL_UNSIGNED_BYTE" ],
        [ "GL_RG8_SNORM",          "GL_RG",              "GL_BYTE" ],
        [ "GL_RG16F",              "GL_RG",              "GL_HALF_FLOAT" ],
        [ "GL_RG16F",              "GL_RG",              "GL_HALF_FLOAT_OES" ],
        [ "GL_RG32F",              "GL_RG",              "GL_FLOAT" ],
        [ "GL_RG16F",              "GL_RG",              "GL_FLOAT" ],
        [ "GL_RG8UI",              "GL_RG_INTEGER",      "GL_UNSIGNED_BYTE" ],
        [ "GL_RG8I",               "GL_RG_INTEGER",      "GL_BYTE" ],
        [ "GL_RG16UI",             "GL_RG_INTEGER",      "GL_UNSIGNED_SHORT" ],
        [ "GL_RG16I",              "GL_RG_INTEGER",      "GL_SHORT" ],
        [ "GL_RG32UI",             "GL_RG_INTEGER",      "GL_UNSIGNED_INT" ],
        [ "GL_RG32I",              "GL_RG_INTEGER",      "GL_INT" ],
        [ "GL_R8",                 "GL_RED",             "GL_UNSIGNED_BYTE" ],
        [ "GL_R8_SNORM",           "GL_RED",             "GL_BYTE" ],
        [ "GL_R16F",               "GL_RED",             "GL_HALF_FLOAT" ],
        [ "GL_R16F",               "GL_RED",             "GL_HALF_FLOAT_OES" ],
        [ "GL_R32F",               "GL_RED",             "GL_FLOAT" ],
        [ "GL_R16F",               "GL_RED",             "GL_FLOAT" ],
        [ "GL_R8UI",               "GL_RED_INTEGER",     "GL_UNSIGNED_BYTE" ],
        [ "GL_R8I",                "GL_RED_INTEGER",     "GL_BYTE" ],
        [ "GL_R16UI",              "GL_RED_INTEGER",     "GL_UNSIGNED_SHORT" ],
        [ "GL_R16I",               "GL_RED_INTEGER",     "GL_SHORT" ],
        [ "GL_R32UI",              "GL_RED_INTEGER",     "GL_UNSIGNED_INT" ],
        [ "GL_R32I",               "GL_RED_INTEGER",     "GL_INT" ]
    ],
    "Unsized formats":
    [
        [ "GL_RGBA",               "GL_RGBA",            "GL_UNSIGNED_BYTE" ],
        [ "GL_RGBA",               "GL_RGBA",            "GL_UNSIGNED_SHORT_4_4_4_4" ],
        [ "GL_RGBA",               "GL_RGBA",            "GL_UNSIGNED_SHORT_5_5_5_1" ],
        [ "GL_RGB",                "GL_RGB",             "GL_UNSIGNED_BYTE" ],
        [ "GL_RGB",                "GL_RGB",             "GL_UNSIGNED_SHORT_5_6_5" ],
        [ "GL_LUMINANCE_ALPHA",    "GL_LUMINANCE_ALPHA", "GL_UNSIGNED_BYTE" ],
        [ "GL_LUMINANCE",          "GL_LUMINANCE",       "GL_UNSIGNED_BYTE" ],
        [ "GL_ALPHA",              "GL_ALPHA",           "GL_UNSIGNED_BYTE" ],
        [ "GL_SRGB_ALPHA_EXT",     "GL_SRGB_ALPHA_EXT",  "GL_UNSIGNED_BYTE" ],
        [ "GL_SRGB_EXT",           "GL_SRGB_EXT",        "GL_UNSIGNED_BYTE" ],
        [ "GL_RG",                 "GL_RG",              "GL_UNSIGNED_BYTE" ],
        [ "GL_RG",                 "GL_RG",              "GL_FLOAT" ],
        [ "GL_RG",                 "GL_RG",              "GL_HALF_FLOAT" ],
        [ "GL_RG",                 "GL_RG",              "GL_HALF_FLOAT_OES" ],
        [ "GL_RED",                "GL_RED",             "GL_UNSIGNED_BYTE" ],
        [ "GL_RED",                "GL_RED",             "GL_FLOAT" ],
        [ "GL_RED",                "GL_RED",             "GL_HALF_FLOAT" ],
        [ "GL_RED",                "GL_RED",             "GL_HALF_FLOAT_OES" ],
        [ "GL_DEPTH_STENCIL",      "GL_DEPTH_STENCIL",   "GL_UNSIGNED_INT_24_8" ]
    ],
    "Depth stencil formats":
    [
        [ "GL_DEPTH_COMPONENT16",  "GL_DEPTH_COMPONENT", "GL_UNSIGNED_SHORT" ],
        [ "GL_DEPTH_COMPONENT24",  "GL_DEPTH_COMPONENT", "GL_UNSIGNED_INT" ],
        [ "GL_DEPTH_COMPONENT16",  "GL_DEPTH_COMPONENT", "GL_UNSIGNED_INT" ],
        [ "GL_DEPTH_COMPONENT32F", "GL_DEPTH_COMPONENT", "GL_FLOAT" ],
        [ "GL_DEPTH24_STENCIL8",   "GL_DEPTH_STENCIL",   "GL_UNSIGNED_INT_24_8" ],
        [ "GL_DEPTH32F_STENCIL8",  "GL_DEPTH_STENCIL",   "GL_FLOAT_32_UNSIGNED_INT_24_8_REV" ]
    ],
    "From GL_EXT_sRGB":
    [
        [ "GL_SRGB8_ALPHA8_EXT",   "GL_SRGB_ALPHA_EXT", "GL_UNSIGNED_BYTE" ],
        [ "GL_SRGB8",              "GL_SRGB_EXT",       "GL_UNSIGNED_BYTE" ]
    ],
    "From GL_OES_texture_float":
    [
        [ "GL_RGBA",               "GL_RGBA",            "GL_FLOAT" ],
        [ "GL_RGB",                "GL_RGB",             "GL_FLOAT" ],
        [ "GL_LUMINANCE_ALPHA",    "GL_LUMINANCE_ALPHA", "GL_FLOAT" ],
        [ "GL_LUMINANCE",          "GL_LUMINANCE",       "GL_FLOAT" ],
        [ "GL_ALPHA",              "GL_ALPHA",           "GL_FLOAT" ]
    ],
    "From GL_OES_texture_half_float":
    [
        [ "GL_RGBA",               "GL_RGBA",            "GL_HALF_FLOAT_OES" ],
        [ "GL_RGB",                "GL_RGB",             "GL_HALF_FLOAT_OES" ],
        [ "GL_LUMINANCE_ALPHA",    "GL_LUMINANCE_ALPHA", "GL_HALF_FLOAT" ],
        [ "GL_LUMINANCE_ALPHA",    "GL_LUMINANCE_ALPHA", "GL_HALF_FLOAT_OES" ],
        [ "GL_LUMINANCE",          "GL_LUMINANCE",       "GL_HALF_FLOAT" ],
        [ "GL_LUMINANCE",          "GL_LUMINANCE",       "GL_HALF_FLOAT_OES" ],
        [ "GL_ALPHA",              "GL_ALPHA",           "GL_HALF_FLOAT" ],
        [ "GL_ALPHA",              "GL_ALPHA",           "GL_HALF_FLOAT_OES" ]
    ],
    "From GL_EXT_texture_format_BGRA8888":
    [
        [ "GL_BGRA_EXT",           "GL_BGRA_EXT",        "GL_UNSIGNED_BYTE" ]
    ],
    "From GL_EXT_texture_storage":
    [
        [ "GL_ALPHA8_EXT",             "GL_ALPHA",           "GL_UNSIGNED_BYTE" ],
        [ "GL_LUMINANCE8_EXT",         "GL_LUMINANCE",       "GL_UNSIGNED_BYTE" ],
        [ "GL_LUMINANCE8_ALPHA8_EXT",  "GL_LUMINANCE_ALPHA", "GL_UNSIGNED_BYTE" ],
        [ "GL_ALPHA32F_EXT",           "GL_ALPHA",           "GL_FLOAT" ],
        [ "GL_LUMINANCE32F_EXT",       "GL_LUMINANCE",       "GL_FLOAT" ],
        [ "GL_LUMINANCE_ALPHA32F_EXT", "GL_LUMINANCE_ALPHA", "GL_FLOAT" ],
        [ "GL_ALPHA16F_EXT",           "GL_ALPHA",           "GL_HALF_FLOAT" ],
        [ "GL_ALPHA16F_EXT",           "GL_ALPHA",           "GL_HALF_FLOAT_OES" ],
        [ "GL_LUMINANCE16F_EXT",       "GL_LUMINANCE",       "GL_HALF_FLOAT" ],
        [ "GL_LUMINANCE16F_EXT",       "GL_LUMINANCE",       "GL_HALF_FLOAT_OES" ],
        [ "GL_LUMINANCE_ALPHA16F_EXT", "GL_LUMINANCE_ALPHA", "GL_HALF_FLOAT" ],
        [ "GL_LUMINANCE_ALPHA16F_EXT", "GL_LUMINANCE_ALPHA", "GL_HALF_FLOAT_OES" ]
    ],
    "From GL_EXT_texture_storage and GL_EXT_texture_format_BGRA8888":
    [
        [ "GL_BGRA8_EXT",              "GL_BGRA_EXT",        "GL_UNSIGNED_BYTE" ],
        [ "GL_BGRA4_ANGLEX",           "GL_BGRA_EXT",        "GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT" ],
        [ "GL_BGRA4_ANGLEX",           "GL_BGRA_EXT",        "GL_UNSIGNED_BYTE" ],
        [ "GL_BGR5_A1_ANGLEX",         "GL_BGRA_EXT",        "GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT" ],
        [ "GL_BGR5_A1_ANGLEX",         "GL_BGRA_EXT",        "GL_UNSIGNED_BYTE" ]
    ],
    "From GL_ANGLE_depth_texture and OES_depth_texture":
    [
        [ "GL_DEPTH_COMPONENT32_OES",  "GL_DEPTH_COMPONENT", "GL_UNSIGNED_INT_24_8" ],
        [ "GL_DEPTH_COMPONENT",        "GL_DEPTH_COMPONENT", "GL_UNSIGNED_SHORT" ],
        [ "GL_DEPTH_COMPONENT",        "GL_DEPTH_COMPONENT", "GL_UNSIGNED_INT" ]
    ],
    "From GL_EXT_texture_norm16":
    [
        [ "GL_R16_EXT",          "GL_RED",  "GL_UNSIGNED_SHORT" ],
        [ "GL_RG16_EXT",         "GL_RG",   "GL_UNSIGNED_SHORT" ],
        [ "GL_RGB16_EXT",        "GL_RGB",  "GL_UNSIGNED_SHORT" ],
        [ "GL_RGBA16_EXT",       "GL_RGBA", "GL_UNSIGNED_SHORT" ],
        [ "GL_R16_SNORM_EXT",    "GL_RED",  "GL_SHORT" ],
        [ "GL_RG16_SNORM_EXT",   "GL_RG",   "GL_SHORT" ],
        [ "GL_RGB16_SNORM_EXT",  "GL_RGB",  "GL_SHORT" ],
        [ "GL_RGBA16_SNORM_EXT", "GL_RGBA", "GL_SHORT" ]
    ]
}