summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_data.json
blob: 61cd44a62b7a51cc4f6d2c8dfa24cb2b8f7e3a2c (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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
{
  "NONE": {
  },
  "A8_UNORM": {
    "texFormat": "DXGI_FORMAT_A8_UNORM",
    "srvFormat": "DXGI_FORMAT_A8_UNORM",
    "rtvFormat": "DXGI_FORMAT_A8_UNORM",
    "channels": "a",
    "componentType": "unorm",
    "bits": { "alpha": 8 },
    "supportTest": "OnlyFL10Plus(deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM"
  },
  "R8G8B8A8_UNORM": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": { "red": 8, "green": 8, "blue": 8, "alpha": 8 },
    "glInternalFormat": "GL_RGBA8"
  },
  "R16G16B16A16_UNORM": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_UNORM",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_UNORM",
    "rtvFormat": "DXGI_FORMAT_R16G16B16A16_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": { "red": 16, "green": 16, "blue": 16, "alpha": 16 },
    "glInternalFormat": "GL_RGBA16_EXT"
  },
  "R16G16B16A16_FLOAT": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_FLOAT",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R16G16B16A16_FLOAT",
    "channels": "rgba",
    "componentType": "float",
    "bits": { "red": 16, "green": 16, "blue": 16, "alpha": 16 },
    "glInternalFormat": "GL_RGBA16F"
  },
  "R32G32B32A32_FLOAT": {
    "texFormat": "DXGI_FORMAT_R32G32B32A32_FLOAT",
    "srvFormat": "DXGI_FORMAT_R32G32B32A32_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R32G32B32A32_FLOAT",
    "channels": "rgba",
    "componentType": "float",
    "bits": { "red": 32, "green": 32, "blue": 32, "alpha": 32 },
    "glInternalFormat": "GL_RGBA32F"
  },
  "B8G8R8A8_UNORM": {
    "texFormat": "DXGI_FORMAT_B8G8R8A8_UNORM",
    "srvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM",
    "rtvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM",
    "channels": "bgra",
    "componentType": "unorm",
    "bits": { "red": 8, "green": 8, "blue": 8, "alpha": 8 },
    "glInternalFormat": "GL_BGRA8_EXT"
  },
  "B8G8R8A8_UNORM_SRGB": {
    "texFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "rtvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "channels": "bgra",
    "componentType": "unorm",
    "bits": {"red": 8, "green": 8, "blue": 8,"alpha": 8},
    "siwzzleFormat": "GL_RGBA8"
  },
  "BC1_RGBA_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC1_UNORM",
    "srvFormat": "DXGI_FORMAT_BC1_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC1_RGB_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC1_UNORM",
    "srvFormat": "DXGI_FORMAT_BC1_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC2_RGBA_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC2_UNORM",
    "srvFormat": "DXGI_FORMAT_BC2_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC3_RGBA_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC3_UNORM",
    "srvFormat": "DXGI_FORMAT_BC3_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC1_RGBA_UNORM_SRGB_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC1_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_BC1_UNORM_SRGB",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC1_RGB_UNORM_SRGB_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC1_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_BC1_UNORM_SRGB",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC2_RGBA_UNORM_SRGB_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC2_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_BC2_UNORM_SRGB",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC3_RGBA_UNORM_SRGB_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC3_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_BC3_UNORM_SRGB",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "D24_UNORM_S8_UINT": {
    "FL10Plus": {
      "texFormat": "DXGI_FORMAT_R24G8_TYPELESS",
      "srvFormat": "DXGI_FORMAT_R24_UNORM_X8_TYPELESS"
    },
    "FL9_3": {
      "texFormat": "DXGI_FORMAT_D24_UNORM_S8_UINT"
    },
    "dsvFormat": "DXGI_FORMAT_D24_UNORM_S8_UINT",
    "channels": "ds",
    "bits": { "depth": 24, "stencil": 8 },
    "glInternalFormat": "GL_DEPTH24_STENCIL8_OES"
  },
  "D32_FLOAT_S8X24_UINT": {
    "texFormat": "DXGI_FORMAT_R32G8X24_TYPELESS",
    "srvFormat": "DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS",
    "dsvFormat": "DXGI_FORMAT_D32_FLOAT_S8X24_UINT",
    "channels": "ds",
    "bits": { "depth": 32, "stencil": 8 },
    "glInternalFormat": "GL_DEPTH32F_STENCIL8"
  },
  "D16_UNORM": {
    "FL10Plus": {
      "texFormat": "DXGI_FORMAT_R16_TYPELESS",
      "srvFormat": "DXGI_FORMAT_R16_UNORM"
    },
    "FL9_3": {
      "texFormat": "DXGI_FORMAT_D16_UNORM"
    },
    "dsvFormat": "DXGI_FORMAT_D16_UNORM",
    "channels": "d",
    "componentType": "unorm",
    "bits": { "depth": 16 },
    "glInternalFormat": "GL_DEPTH_COMPONENT16"
  },
  "D32_FLOAT": {
    "texFormat": "DXGI_FORMAT_R32_TYPELESS",
    "srvFormat": "DXGI_FORMAT_R32_FLOAT",
    "dsvFormat": "DXGI_FORMAT_D32_FLOAT",
    "channels": "d",
    "componentType": "float",
    "bits": { "depth": 32 },
    "glInternalFormat": "GL_DEPTH_COMPONENT32F"
  },
  "R11G11B10_FLOAT": {
    "texFormat": "DXGI_FORMAT_R11G11B10_FLOAT",
    "srvFormat": "DXGI_FORMAT_R11G11B10_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R11G11B10_FLOAT",
    "channels": "rgb",
    "componentType":  "float",
    "bits": { "red": 11, "green": 11, "blue": 10 },
    "glInternalFormat": "GL_R11F_G11F_B10F"
  },
  "R16_FLOAT": {
    "texFormat": "DXGI_FORMAT_R16_FLOAT",
    "srvFormat": "DXGI_FORMAT_R16_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R16_FLOAT",
    "channels": "r",
    "componentType": "float",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16F"
  },
  "R16_SINT": {
    "texFormat": "DXGI_FORMAT_R16_SINT",
    "srvFormat": "DXGI_FORMAT_R16_SINT",
    "rtvFormat": "DXGI_FORMAT_R16_SINT",
    "channels": "r",
    "componentType": "int",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16I"
  },
  "R16_UINT": {
    "texFormat": "DXGI_FORMAT_R16_UINT",
    "srvFormat": "DXGI_FORMAT_R16_UINT",
    "rtvFormat": "DXGI_FORMAT_R16_UINT",
    "channels": "r",
    "componentType": "uint",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16UI"
  },
  "R32_FLOAT": {
    "texFormat": "DXGI_FORMAT_R32_FLOAT",
    "srvFormat": "DXGI_FORMAT_R32_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R32_FLOAT",
    "channels": "r",
    "componentType": "float",
    "bits": { "red": 32 },
    "glInternalFormat": "GL_R32F"
  },
  "R32_SINT": {
    "texFormat": "DXGI_FORMAT_R32_SINT",
    "srvFormat": "DXGI_FORMAT_R32_SINT",
    "rtvFormat": "DXGI_FORMAT_R32_SINT",
    "channels": "r",
    "componentType": "int",
    "bits": { "red": 32 },
    "glInternalFormat": "GL_R32I"
  },
  "R32_UINT": {
    "texFormat": "DXGI_FORMAT_R32_UINT",
    "srvFormat": "DXGI_FORMAT_R32_UINT",
    "rtvFormat": "DXGI_FORMAT_R32_UINT",
    "channels": "r",
    "componentType": "uint",
    "bits": { "red": 32 },
    "glInternalFormat": "GL_R32UI"
  },
  "R8_UNORM": {
    "texFormat": "DXGI_FORMAT_R8_UNORM",
    "srvFormat": "DXGI_FORMAT_R8_UNORM",
    "rtvFormat": "DXGI_FORMAT_R8_UNORM",
    "channels": "r",
    "componentType": "unorm",
    "bits": { "red": 8 },
    "glInternalFormat": "GL_R8"
  },
  "R8_SINT": {
    "texFormat": "DXGI_FORMAT_R8_SINT",
    "srvFormat": "DXGI_FORMAT_R8_SINT",
    "rtvFormat": "DXGI_FORMAT_R8_SINT",
    "channels": "r",
    "componentType": "int",
    "bits": { "red": 8 },
    "glInternalFormat": "GL_R8I"
  },
  "R8_UINT": {
    "texFormat": "DXGI_FORMAT_R8_UINT",
    "srvFormat": "DXGI_FORMAT_R8_UINT",
    "rtvFormat": "DXGI_FORMAT_R8_UINT",
    "channels": "r",
    "componentType": "uint",
    "bits": { "red": 8 },
    "glInternalFormat": "GL_R8UI"
  },
  "R8_SNORM": {
    "texFormat": "DXGI_FORMAT_R8_SNORM",
    "srvFormat": "DXGI_FORMAT_R8_SNORM",
    "channels": "r",
    "componentType": "snorm",
    "bits": { "red": 8 },
    "glInternalFormat": "GL_R8_SNORM"
  },
  "R16G16_FLOAT": {
    "texFormat": "DXGI_FORMAT_R16G16_FLOAT",
    "srvFormat": "DXGI_FORMAT_R16G16_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R16G16_FLOAT",
    "channels": "rg",
    "componentType": "float",
    "bits": { "red": 16, "green": 16 },
    "glInternalFormat": "GL_RG16F"
  },
  "R16G16_SINT": {
    "texFormat": "DXGI_FORMAT_R16G16_SINT",
    "srvFormat": "DXGI_FORMAT_R16G16_SINT",
    "rtvFormat": "DXGI_FORMAT_R16G16_SINT",
    "channels": "rg",
    "componentType": "int",
    "bits": { "red": 16, "green": 16 },
    "glInternalFormat": "GL_RG16I"
  },
  "R16G16_UINT": {
    "texFormat": "DXGI_FORMAT_R16G16_UINT",
    "srvFormat": "DXGI_FORMAT_R16G16_UINT",
    "rtvFormat": "DXGI_FORMAT_R16G16_UINT",
    "channels": "rg",
    "componentType": "uint",
    "bits": { "red": 16, "green": 16 },
    "glInternalFormat": "GL_RG16UI"
  },
  "R32G32_FLOAT": {
    "texFormat": "DXGI_FORMAT_R32G32_FLOAT",
    "srvFormat": "DXGI_FORMAT_R32G32_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R32G32_FLOAT",
    "channels": "rg",
    "componentType": "float",
    "bits": { "red": 32, "green": 32 },
    "glInternalFormat": "GL_RG32F"
  },
  "R32G32_SINT": {
    "texFormat": "DXGI_FORMAT_R32G32_SINT",
    "srvFormat": "DXGI_FORMAT_R32G32_SINT",
    "rtvFormat": "DXGI_FORMAT_R32G32_SINT",
    "channels": "rg",
    "componentType": "int",
    "bits": { "red": 32, "green": 32 },
    "glInternalFormat": "GL_RG32I"
  },
  "R32G32_UINT": {
    "texFormat": "DXGI_FORMAT_R32G32_UINT",
    "srvFormat": "DXGI_FORMAT_R32G32_UINT",
    "rtvFormat": "DXGI_FORMAT_R32G32_UINT",
    "channels": "rg",
    "componentType": "uint",
    "bits": { "red": 32, "green": 32 },
    "glInternalFormat": "GL_RG32UI"
  },
  "R8G8_UNORM": {
    "texFormat": "DXGI_FORMAT_R8G8_UNORM",
    "srvFormat": "DXGI_FORMAT_R8G8_UNORM",
    "rtvFormat": "DXGI_FORMAT_R8G8_UNORM",
    "channels": "rg",
    "componentType": "unorm",
    "bits": { "red": 8, "green": 8 },
    "glInternalFormat": "GL_RG8"
  },
  "R8G8_SINT": {
    "texFormat": "DXGI_FORMAT_R8G8_SINT",
    "srvFormat": "DXGI_FORMAT_R8G8_SINT",
    "rtvFormat": "DXGI_FORMAT_R8G8_SINT",
    "channels": "rg",
    "componentType": "int",
    "bits": { "red": 8, "green": 8 },
    "glInternalFormat": "GL_RG8I"
  },
  "R8G8_UINT": {
    "texFormat": "DXGI_FORMAT_R8G8_UINT",
    "srvFormat": "DXGI_FORMAT_R8G8_UINT",
    "rtvFormat": "DXGI_FORMAT_R8G8_UINT",
    "channels": "rg",
    "componentType": "uint",
    "bits": { "red": 8, "green": 8 },
    "glInternalFormat": "GL_RG8UI"
  },
  "R8G8_SNORM": {
    "texFormat": "DXGI_FORMAT_R8G8_SNORM",
    "srvFormat": "DXGI_FORMAT_R8G8_SNORM",
    "channels": "rg",
    "componentType": "snorm",
    "bits": { "red": 8, "green": 8 },
    "glInternalFormat": "GL_RG8_SNORM"
  },
  "R10G10B10A2_UNORM": {
    "texFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "srvFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "rtvFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": { "red": 10, "green": 10, "blue": 10, "alpha": 2 },
    "glInternalFormat": "GL_RGB10_A2"
  },
  "R10G10B10A2_UINT": {
    "texFormat": "DXGI_FORMAT_R10G10B10A2_UINT",
    "srvFormat": "DXGI_FORMAT_R10G10B10A2_UINT",
    "rtvFormat": "DXGI_FORMAT_R10G10B10A2_UINT",
    "channels": "rgba",
    "componentType": "uint",
    "bits": { "red": 10, "green": 10, "blue": 10, "alpha": 2 },
    "glInternalFormat": "GL_RGB10_A2UI"
  },
  "R16G16B16A16_SINT": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_SINT",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_SINT",
    "rtvFormat": "DXGI_FORMAT_R16G16B16A16_SINT",
    "channels": "rgba",
    "componentType": "int",
    "bits": { "red": 16, "green": 16, "blue": 16, "alpha": 16 },
    "glInternalFormat": "GL_RGBA16I"
  },
  "R16G16B16A16_UINT": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_UINT",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_UINT",
    "rtvFormat": "DXGI_FORMAT_R16G16B16A16_UINT",
    "channels": "rgba",
    "componentType": "uint",
    "bits": { "red": 16, "green": 16, "blue": 16, "alpha": 16 },
    "glInternalFormat": "GL_RGBA16UI"
  },
  "R32G32B32A32_SINT": {
    "texFormat": "DXGI_FORMAT_R32G32B32A32_SINT",
    "srvFormat": "DXGI_FORMAT_R32G32B32A32_SINT",
    "rtvFormat": "DXGI_FORMAT_R32G32B32A32_SINT",
    "channels": "rgba",
    "componentType": "int",
    "bits": { "red": 32, "green": 32, "blue": 32, "alpha": 32 },
    "glInternalFormat": "GL_RGBA32I"
  },
  "R32G32B32A32_UINT": {
    "texFormat": "DXGI_FORMAT_R32G32B32A32_UINT",
    "srvFormat": "DXGI_FORMAT_R32G32B32A32_UINT",
    "rtvFormat": "DXGI_FORMAT_R32G32B32A32_UINT",
    "channels": "rgba",
    "componentType": "uint",
    "bits": { "red": 32, "green": 32, "blue": 32, "alpha": 32 },
    "glInternalFormat": "GL_RGBA32UI"
  },
  "B5G6R5_UNORM": {
    "texFormat": "DXGI_FORMAT_B5G6R5_UNORM",
    "srvFormat": "DXGI_FORMAT_B5G6R5_UNORM",
    "rtvFormat": "DXGI_FORMAT_B5G6R5_UNORM",
    "channels": "bgr",
    "componentType":  "unorm",
    "bits": { "red": 5, "green": 6, "blue": 5 },
    "supportTest": "SupportsFormat(DXGI_FORMAT_B5G6R5_UNORM, deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM"
  },
  "B5G5R5A1_UNORM": {
    "texFormat": "DXGI_FORMAT_B5G5R5A1_UNORM",
    "srvFormat": "DXGI_FORMAT_B5G5R5A1_UNORM",
    "rtvFormat": "DXGI_FORMAT_B5G5R5A1_UNORM",
    "channels": "bgra",
    "componentType": "unorm",
    "bits": { "red": 5, "green": 5, "blue": 5, "alpha": 1 },
    "supportTest": "SupportsFormat(DXGI_FORMAT_B5G5R5A1_UNORM, deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM"
  },
  "R8G8B8A8_SINT": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_SINT",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_SINT",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_SINT",
    "channels": "rgba",
    "componentType": "int",
    "bits": { "red": 8, "green": 8, "blue": 8, "alpha": 8 },
    "glInternalFormat": "GL_RGBA8I"
  },
  "R8G8B8A8_UINT": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_UINT",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_UINT",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_UINT",
    "channels": "rgba",
    "componentType": "uint",
    "bits": { "red": 8, "green": 8, "blue": 8, "alpha": 8 },
    "glInternalFormat": "GL_RGBA8UI"
  },
  "R8G8B8A8_SNORM": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_SNORM",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_SNORM",
    "channels": "rgba",
    "componentType": "snorm",
    "bits": { "red": 8, "green": 8, "blue": 8, "alpha": 8 },
    "glInternalFormat": "GL_RGBA8_SNORM"
  },
  "R9G9B9E5_SHAREDEXP": {
    "texFormat": "DXGI_FORMAT_R9G9B9E5_SHAREDEXP",
    "srvFormat": "DXGI_FORMAT_R9G9B9E5_SHAREDEXP",
    "channels": "rgb",
    "componentType":  "float",
    "bits": { "red": 9, "green": 9, "blue": 9, "shared": 5 }
  },
  "B4G4R4A4_UNORM": {
    "texFormat": "DXGI_FORMAT_B4G4R4A4_UNORM",
    "srvFormat": "DXGI_FORMAT_B4G4R4A4_UNORM",
    "rtvFormat": "DXGI_FORMAT_B4G4R4A4_UNORM",
    "channels": "bgra",
    "componentType":  "unorm",
    "bits": { "red": 4, "green": 4, "blue": 4, "alpha": 4 },
    "supportTest": "SupportsFormat(DXGI_FORMAT_B4G4R4A4_UNORM, deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM"
  },
  "R8G8B8A8_UNORM_SRGB": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": { "red": 8, "green": 8, "blue": 8, "alpha": 8 },
    "glInternalFormat": "GL_SRGB8_ALPHA8"
  },
  "R16_UNORM": {
    "texFormat": "DXGI_FORMAT_R16_UNORM",
    "srvFormat": "DXGI_FORMAT_R16_UNORM",
    "rtvFormat": "DXGI_FORMAT_R16_UNORM",
    "channels": "r",
    "componentType": "unorm",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16_EXT"
  },
  "R16G16_UNORM": {
    "texFormat": "DXGI_FORMAT_R16G16_UNORM",
    "srvFormat": "DXGI_FORMAT_R16G16_UNORM",
    "rtvFormat": "DXGI_FORMAT_R16G16_UNORM",
    "channels": "rg",
    "componentType": "unorm",
    "bits": { "red": 16, "green": 16 },
    "glInternalFormat": "GL_RG16_EXT"
  },
  "R16_SNORM": {
    "texFormat": "DXGI_FORMAT_R16_SNORM",
    "srvFormat": "DXGI_FORMAT_R16_SNORM",
    "channels": "r",
    "componentType": "snorm",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16_SNORM_EXT"
  },
  "R16G16_SNORM": {
    "texFormat": "DXGI_FORMAT_R16G16_SNORM",
    "srvFormat": "DXGI_FORMAT_R16G16_SNORM",
    "channels": "rg",
    "componentType": "snorm",
    "bits": { "red": 16, "green": 16 },
    "glInternalFormat": "GL_RG16_SNORM_EXT"
  },
  "R16G16B16A16_SNORM": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_SNORM",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_SNORM",
    "channels": "rgba",
    "componentType": "snorm",
    "bits": { "red": 16, "green": 16, "blue": 16, "alpha": 16 },
    "glInternalFormat": "GL_RGBA16_SNORM_EXT"
  }
}