Cogs.Core
GliFormats.h
1#pragma once
2
3#include "gli/format.hpp"
4
5namespace Cogs
6{
7 TextureFormat formatMap[] = {
8 TextureFormat::Unknown, //FORMAT_UNDEFINED
9
10 TextureFormat::Unknown, //FORMAT_RG4_UNORM_PACK8, FORMAT_FIRST = FORMAT_RG4_UNORM_PACK8,
11 TextureFormat::Unknown, //FORMAT_RGBA4_UNORM_PACK16,
12 TextureFormat::Unknown, //FORMAT_BGRA4_UNORM_PACK16,
13 TextureFormat::Unknown, //FORMAT_R5G6B5_UNORM_PACK16,
14 TextureFormat::Unknown, //FORMAT_B5G6R5_UNORM_PACK16,
15 TextureFormat::Unknown, //FORMAT_RGB5A1_UNORM_PACK16,
16 TextureFormat::Unknown, //FORMAT_BGR5A1_UNORM_PACK16,
17 TextureFormat::Unknown, //FORMAT_A1RGB5_UNORM_PACK16,
18
19 TextureFormat::R8_UNORM, //FORMAT_R8_UNORM_PACK8,
20 TextureFormat::R8_SNORM, //FORMAT_R8_SNORM_PACK8,
21 TextureFormat::Unknown, //FORMAT_R8_USCALED_PACK8,
22 TextureFormat::Unknown, //FORMAT_R8_SSCALED_PACK8,
23 TextureFormat::R8_UINT, //FORMAT_R8_UINT_PACK8,
24 TextureFormat::R8_UINT, //FORMAT_R8_SINT_PACK8,
25 TextureFormat::Unknown, //FORMAT_R8_SRGB_PACK8,
26
27 TextureFormat::R8G8_UNORM, //FORMAT_RG8_UNORM_PACK8,
28 TextureFormat::R8G8_SNORM, //FORMAT_RG8_SNORM_PACK8,
29 TextureFormat::Unknown, //FORMAT_RG8_USCALED_PACK8,
30 TextureFormat::Unknown, //FORMAT_RG8_SSCALED_PACK8,
31 TextureFormat::R8G8_UINT, //FORMAT_RG8_UINT_PACK8,
32 TextureFormat::R8G8_SINT, //FORMAT_RG8_SINT_PACK8,
33 TextureFormat::Unknown, //FORMAT_RG8_SRGB_PACK8,
34
35 TextureFormat::R8G8B8_UNORM, //FORMAT_RGB8_UNORM_PACK8,
36 TextureFormat::R8G8B8_SNORM, //FORMAT_RGB8_SNORM_PACK8,
37 TextureFormat::Unknown, //FORMAT_RGB8_USCALED_PACK8,
38 TextureFormat::Unknown, //FORMAT_RGB8_SSCALED_PACK8,
39 TextureFormat::R8G8B8_UINT, //FORMAT_RGB8_UINT_PACK8,
40 TextureFormat::R8G8B8_SINT, //FORMAT_RGB8_SINT_PACK8,
41 TextureFormat::R8G8B8_UNORM_SRGB, //FORMAT_RGB8_SRGB_PACK8,
42
43 TextureFormat::B8G8R8, //FORMAT_BGR8_UNORM_PACK8,
44 TextureFormat::Unknown, //FORMAT_BGR8_SNORM_PACK8,
45 TextureFormat::Unknown, //FORMAT_BGR8_USCALED_PACK8,
46 TextureFormat::Unknown, //FORMAT_BGR8_SSCALED_PACK8,
47 TextureFormat::Unknown, //FORMAT_BGR8_UINT_PACK8,
48 TextureFormat::Unknown, //FORMAT_BGR8_SINT_PACK8,
49 TextureFormat::Unknown, //FORMAT_BGR8_SRGB_PACK8,
50
51 TextureFormat::R8G8B8A8_UNORM, //FORMAT_RGBA8_UNORM_PACK8,
52 TextureFormat::R8G8B8A8_SNORM, //FORMAT_RGBA8_SNORM_PACK8,
53 TextureFormat::Unknown, //FORMAT_RGBA8_USCALED_PACK8,
54 TextureFormat::Unknown, //FORMAT_RGBA8_SSCALED_PACK8,
55 TextureFormat::R8G8B8A8_UINT, //FORMAT_RGBA8_UINT_PACK8,
56 TextureFormat::R8G8B8A8_SINT, //FORMAT_RGBA8_SINT_PACK8,
57 TextureFormat::R8G8B8A8_UNORM_SRGB, //FORMAT_RGBA8_SRGB_PACK8,
58
59 TextureFormat::B8G8R8A8, //FORMAT_BGRA8_UNORM_PACK8,
60 TextureFormat::Unknown, //FORMAT_BGRA8_SNORM_PACK8,
61 TextureFormat::Unknown, //FORMAT_BGRA8_USCALED_PACK8,
62 TextureFormat::Unknown, //FORMAT_BGRA8_SSCALED_PACK8,
63 TextureFormat::Unknown, //FORMAT_BGRA8_UINT_PACK8,
64 TextureFormat::Unknown, //FORMAT_BGRA8_SINT_PACK8,
65 TextureFormat::Unknown, //FORMAT_BGRA8_SRGB_PACK8,
66
67 TextureFormat::R8G8B8A8_UNORM, //FORMAT_RGBA8_UNORM_PACK32,
68 TextureFormat::R8G8B8A8_SNORM, //FORMAT_RGBA8_SNORM_PACK32,
69 TextureFormat::Unknown, //FORMAT_RGBA8_USCALED_PACK32,
70 TextureFormat::Unknown, //FORMAT_RGBA8_SSCALED_PACK32,
71 TextureFormat::R8G8B8A8_UINT, //FORMAT_RGBA8_UINT_PACK32,
72 TextureFormat::R8G8B8A8_SINT, //FORMAT_RGBA8_SINT_PACK32,
73 TextureFormat::R8G8B8A8_UNORM_SRGB, //FORMAT_RGBA8_SRGB_PACK32,
74
75 TextureFormat::R10G10B10A2_UNORM, //FORMAT_RGB10A2_UNORM_PACK32,
76 TextureFormat::Unknown, //FORMAT_RGB10A2_SNORM_PACK32,
77 TextureFormat::Unknown, //FORMAT_RGB10A2_USCALED_PACK32,
78 TextureFormat::Unknown, //FORMAT_RGB10A2_SSCALED_PACK32,
79 TextureFormat::R10G10B10A2_UINT, //FORMAT_RGB10A2_UINT_PACK32,
80 TextureFormat::Unknown, //FORMAT_RGB10A2_SINT_PACK32,
81
82 TextureFormat::Unknown, //FORMAT_BGR10A2_UNORM_PACK32,
83 TextureFormat::Unknown, //FORMAT_BGR10A2_SNORM_PACK32,
84 TextureFormat::Unknown, //FORMAT_BGR10A2_USCALED_PACK32,
85 TextureFormat::Unknown, //FORMAT_BGR10A2_SSCALED_PACK32,
86 TextureFormat::Unknown, //FORMAT_BGR10A2_UINT_PACK32,
87 TextureFormat::Unknown, //FORMAT_BGR10A2_SINT_PACK32,
88
89 TextureFormat::R16_UNORM, //FORMAT_R16_UNORM_PACK16,
90 TextureFormat::R16_SNORM, //FORMAT_R16_SNORM_PACK16,
91 TextureFormat::Unknown, //FORMAT_R16_USCALED_PACK16,
92 TextureFormat::Unknown, //FORMAT_R16_SSCALED_PACK16,
93 TextureFormat::R16_UINT, //FORMAT_R16_UINT_PACK16,
94 TextureFormat::R16_SINT, //FORMAT_R16_SINT_PACK16,
95 TextureFormat::R16_FLOAT, //FORMAT_R16_SFLOAT_PACK16,
96
97 TextureFormat::R16G16_UNORM, //FORMAT_RG16_UNORM_PACK16,
98 TextureFormat::R16G16_SNORM, //FORMAT_RG16_SNORM_PACK16,
99 TextureFormat::Unknown, //FORMAT_RG16_USCALED_PACK16,
100 TextureFormat::Unknown, //FORMAT_RG16_SSCALED_PACK16,
101 TextureFormat::R16G16_UINT, //FORMAT_RG16_UINT_PACK16,
102 TextureFormat::R16G16_SINT, //FORMAT_RG16_SINT_PACK16,
103 TextureFormat::R16G16_FLOAT, //FORMAT_RG16_SFLOAT_PACK16,
104
105 TextureFormat::R16G16B16_UNORM, //FORMAT_RGB16_UNORM_PACK16,
106 TextureFormat::R16G16B16_SNORM, //FORMAT_RGB16_SNORM_PACK16,
107 TextureFormat::Unknown, //FORMAT_RGB16_USCALED_PACK16,
108 TextureFormat::Unknown, //FORMAT_RGB16_SSCALED_PACK16,
109 TextureFormat::R16G16B16_UINT, //FORMAT_RGB16_UINT_PACK16,
110 TextureFormat::R16G16B16_SINT, //FORMAT_RGB16_SINT_PACK16,
111 TextureFormat::R16G16B16_FLOAT, //FORMAT_RGB16_SFLOAT_PACK16,
112
113 TextureFormat::R16G16B16A16_UNORM, //FORMAT_RGBA16_UNORM_PACK16,
114 TextureFormat::R16G16B16A16_SNORM, //FORMAT_RGBA16_SNORM_PACK16,
115 TextureFormat::Unknown, //FORMAT_RGBA16_USCALED_PACK16,
116 TextureFormat::Unknown, //FORMAT_RGBA16_SSCALED_PACK16,
117 TextureFormat::R16G16B16A16_UINT, //FORMAT_RGBA16_UINT_PACK16,
118 TextureFormat::R16G16B16A16_SINT, //FORMAT_RGBA16_SINT_PACK16,
119 TextureFormat::R16G16B16A16_FLOAT, //FORMAT_RGBA16_SFLOAT_PACK16,
120
121 TextureFormat::R32_UINT, //FORMAT_R32_UINT_PACK32,
122 TextureFormat::R32_SINT, //FORMAT_R32_SINT_PACK32,
123 TextureFormat::R32_FLOAT, //FORMAT_R32_SFLOAT_PACK32,
124
125 TextureFormat::R32G32_UINT, //FORMAT_RG32_UINT_PACK32,
126 TextureFormat::R32G32_SINT, //FORMAT_RG32_SINT_PACK32,
127 TextureFormat::R32G32_FLOAT, //FORMAT_RG32_SFLOAT_PACK32,
128
129 TextureFormat::R32G32B32_UINT, //FORMAT_RGB32_UINT_PACK32,
130 TextureFormat::R32G32B32_SINT, //FORMAT_RGB32_SINT_PACK32,
131 TextureFormat::R32G32B32_FLOAT, //FORMAT_RGB32_SFLOAT_PACK32,
132
133 TextureFormat::R32G32B32A32_UINT, //FORMAT_RGBA32_UINT_PACK32,
134 TextureFormat::R32G32B32A32_SINT, //FORMAT_RGBA32_SINT_PACK32,
135 TextureFormat::R32G32B32A32_FLOAT, //FORMAT_RGBA32_SFLOAT_PACK32,
136
137 TextureFormat::Unknown, //FORMAT_R64_UINT_PACK64,
138 TextureFormat::Unknown, //FORMAT_R64_SINT_PACK64,
139 TextureFormat::Unknown, //FORMAT_R64_SFLOAT_PACK64,
140
141 TextureFormat::Unknown, //FORMAT_RG64_UINT_PACK64,
142 TextureFormat::Unknown, //FORMAT_RG64_SINT_PACK64,
143 TextureFormat::Unknown, //FORMAT_RG64_SFLOAT_PACK64,
144
145 TextureFormat::Unknown, //FORMAT_RGB64_UINT_PACK64,
146 TextureFormat::Unknown, //FORMAT_RGB64_SINT_PACK64,
147 TextureFormat::Unknown, //FORMAT_RGB64_SFLOAT_PACK64,
148
149 TextureFormat::Unknown, //FORMAT_RGBA64_UINT_PACK64,
150 TextureFormat::Unknown, //FORMAT_RGBA64_SINT_PACK64,
151 TextureFormat::Unknown, //FORMAT_RGBA64_SFLOAT_PACK64,
152
153 TextureFormat::R11G11B10_FLOAT, //FORMAT_RG11B10_UFLOAT_PACK32,
154 TextureFormat::R9G9B9E5_FLOAT, //FORMAT_RGB9E5_UFLOAT_PACK32,
155
156 TextureFormat::D16_UNORM, //FORMAT_D16_UNORM_PACK16,
157 TextureFormat::D24_UNORM, //FORMAT_D24_UNORM_PACK32,
158 TextureFormat::D32_FLOAT, //FORMAT_D32_SFLOAT_PACK32,
159 TextureFormat::Unknown, //FORMAT_S8_UINT_PACK8,
160 TextureFormat::Unknown, //FORMAT_D16_UNORM_S8_UINT_PACK32,
161 TextureFormat::D24S8_UNORM, //FORMAT_D24_UNORM_S8_UINT_PACK32,
162 TextureFormat::Unknown, //FORMAT_D32_SFLOAT_S8_UINT_PACK64,
163
164 TextureFormat::Unknown, //FORMAT_RGB_DXT1_UNORM_BLOCK8,
165 TextureFormat::Unknown, //FORMAT_RGB_DXT1_SRGB_BLOCK8,
166 TextureFormat::BC1_UNORM, //FORMAT_RGBA_DXT1_UNORM_BLOCK8,
167 TextureFormat::BC1_UNORM_SRGB, //FORMAT_RGBA_DXT1_SRGB_BLOCK8,
168 TextureFormat::BC2_UNORM, //FORMAT_RGBA_DXT3_UNORM_BLOCK16,
169 TextureFormat::BC2_UNORM_SRGB, //FORMAT_RGBA_DXT3_SRGB_BLOCK16,
170 TextureFormat::BC3_UNORM, //FORMAT_RGBA_DXT5_UNORM_BLOCK16,
171 TextureFormat::BC3_UNORM_SRGB, //FORMAT_RGBA_DXT5_SRGB_BLOCK16,
172 TextureFormat::BC4_UNORM, //FORMAT_R_ATI1N_UNORM_BLOCK8,
173 TextureFormat::BC4_SNORM, //FORMAT_R_ATI1N_SNORM_BLOCK8,
174 TextureFormat::BC5_UNORM, //FORMAT_RG_ATI2N_UNORM_BLOCK16,
175 TextureFormat::BC5_SNORM, //FORMAT_RG_ATI2N_SNORM_BLOCK16,
176 TextureFormat::BC6H_UNSIGNED_FLOAT_RGB, //FORMAT_RGB_BP_UFLOAT_BLOCK16,
177 TextureFormat::BC6H_SIGNED_FLOAT_RGB, //FORMAT_RGB_BP_SFLOAT_BLOCK16,
178 TextureFormat::BC7_UNORM_RGBA, //FORMAT_RGBA_BP_UNORM_BLOCK16,
179 TextureFormat::BC7_UNORM_SRGBA, //FORMAT_RGBA_BP_SRGB_BLOCK16,
180
181 TextureFormat::ETC2_BLOCK8_UNORM_RGB, //FORMAT_RGB_ETC2_UNORM_BLOCK8,
182 TextureFormat::ETC2_BLOCK8_UNORM_SRGB, //FORMAT_RGB_ETC2_SRGB_BLOCK8,
183 TextureFormat::Unknown, //FORMAT_RGBA_ETC2_UNORM_BLOCK8,
184 TextureFormat::Unknown, //FORMAT_RGBA_ETC2_SRGB_BLOCK8,
185 TextureFormat::ETC2_BLOCK16_UNORM_RGBA, //FORMAT_RGBA_ETC2_UNORM_BLOCK16,
186 TextureFormat::ETC2_BLOCK16_UNORM_SRGBA, //FORMAT_RGBA_ETC2_SRGB_BLOCK16,
187 TextureFormat::EAC_BLOCK8_UNSIGNED_FLOAT_R, //FORMAT_R_EAC_UNORM_BLOCK8,
188 TextureFormat::EAC_BLOCK8_SIGNED_FLOAT_R, //FORMAT_R_EAC_SNORM_BLOCK8,
189 TextureFormat::EAC_BLOCK16_UNSIGNED_FLOAT_RG, //FORMAT_RG_EAC_UNORM_BLOCK16,
190 TextureFormat::EAC_BLOCK16_SIGNED_FLOAT_RG, //FORMAT_RG_EAC_SNORM_BLOCK16,
191
192 TextureFormat::ASTC_4x4_UNORM_RGBA, //FORMAT_RGBA_ASTC_4X4_UNORM_BLOCK16,
193 TextureFormat::ASTC_4x4_UNORM_SRGBA, //FORMAT_RGBA_ASTC_4X4_SRGB_BLOCK16,
194 TextureFormat::ASTC_5x4_UNORM_RGBA, //FORMAT_RGBA_ASTC_5X4_UNORM_BLOCK16,
195 TextureFormat::ASTC_5x4_UNORM_SRGBA, //FORMAT_RGBA_ASTC_5X4_SRGB_BLOCK16,
196 TextureFormat::ASTC_5x5_UNORM_RGBA, //FORMAT_RGBA_ASTC_5X5_UNORM_BLOCK16,
197 TextureFormat::ASTC_5x5_UNORM_SRGBA, //FORMAT_RGBA_ASTC_5X5_SRGB_BLOCK16,
198 TextureFormat::ASTC_6x5_UNORM_RGBA, //FORMAT_RGBA_ASTC_6X5_UNORM_BLOCK16,
199 TextureFormat::ASTC_6x5_UNORM_SRGBA, //FORMAT_RGBA_ASTC_6X5_SRGB_BLOCK16,
200 TextureFormat::ASTC_6x6_UNORM_RGBA, //FORMAT_RGBA_ASTC_6X6_UNORM_BLOCK16,
201 TextureFormat::ASTC_6x6_UNORM_SRGBA, //FORMAT_RGBA_ASTC_6X6_SRGB_BLOCK16,
202 TextureFormat::ASTC_8x5_UNORM_RGBA, //FORMAT_RGBA_ASTC_8X5_UNORM_BLOCK16,
203 TextureFormat::ASTC_8x5_UNORM_SRGBA, //FORMAT_RGBA_ASTC_8X5_SRGB_BLOCK16,
204 TextureFormat::ASTC_8x6_UNORM_RGBA, //FORMAT_RGBA_ASTC_8X6_UNORM_BLOCK16,
205 TextureFormat::ASTC_8x6_UNORM_SRGBA, //FORMAT_RGBA_ASTC_8X6_SRGB_BLOCK16,
206 TextureFormat::ASTC_8x8_UNORM_RGBA, //FORMAT_RGBA_ASTC_8X8_UNORM_BLOCK16,
207 TextureFormat::ASTC_8x8_UNORM_SRGBA, //FORMAT_RGBA_ASTC_8X8_SRGB_BLOCK16,
208 TextureFormat::ASTC_10x5_UNORM_RGBA, //FORMAT_RGBA_ASTC_10X5_UNORM_BLOCK16,
209 TextureFormat::ASTC_10x5_UNORM_SRGBA, //FORMAT_RGBA_ASTC_10X5_SRGB_BLOCK16,
210 TextureFormat::ASTC_10x6_UNORM_RGBA, //FORMAT_RGBA_ASTC_10X6_UNORM_BLOCK16,
211 TextureFormat::ASTC_10x6_UNORM_SRGBA, //FORMAT_RGBA_ASTC_10X6_SRGB_BLOCK16,
212 TextureFormat::ASTC_10x8_UNORM_RGBA, //FORMAT_RGBA_ASTC_10X8_UNORM_BLOCK16,
213 TextureFormat::ASTC_10x8_UNORM_SRGBA, //FORMAT_RGBA_ASTC_10X8_SRGB_BLOCK16,
214 TextureFormat::ASTC_10x10_UNORM_RGBA, //FORMAT_RGBA_ASTC_10X10_UNORM_BLOCK16,
215 TextureFormat::ASTC_10x10_UNORM_SRGBA, //FORMAT_RGBA_ASTC_10X10_SRGB_BLOCK16,
216 TextureFormat::ASTC_12x10_UNORM_RGBA, //FORMAT_RGBA_ASTC_12X10_UNORM_BLOCK16,
217 TextureFormat::ASTC_12x10_UNORM_SRGBA, //FORMAT_RGBA_ASTC_12X10_SRGB_BLOCK16,
218 TextureFormat::ASTC_12x12_UNORM_RGBA, //FORMAT_RGBA_ASTC_12X12_UNORM_BLOCK16,
219 TextureFormat::ASTC_12x12_UNORM_SRGBA, //FORMAT_RGBA_ASTC_12X12_SRGB_BLOCK16,
220
221 TextureFormat::PVRTC1_4BPP_UNORM_RGB, //FORMAT_RGB_PVRTC1_8X8_UNORM_BLOCK32,
222 TextureFormat::Unknown, //FORMAT_RGB_PVRTC1_8X8_SRGB_BLOCK32,
223 TextureFormat::PVRTC1_2BPP_UNORM_RGB, //FORMAT_RGB_PVRTC1_16X8_UNORM_BLOCK32,
224 TextureFormat::Unknown, //FORMAT_RGB_PVRTC1_16X8_SRGB_BLOCK32,
225 TextureFormat::PVRTC1_4BPP_UNORM_RGBA, //FORMAT_RGBA_PVRTC1_8X8_UNORM_BLOCK32,
226 TextureFormat::Unknown, //FORMAT_RGBA_PVRTC1_8X8_SRGB_BLOCK32,
227 TextureFormat::PVRTC1_2BPP_UNORM_RGBA, //FORMAT_RGBA_PVRTC1_16X8_UNORM_BLOCK32,
228 TextureFormat::Unknown, //FORMAT_RGBA_PVRTC1_16X8_SRGB_BLOCK32,
229 TextureFormat::Unknown, //FORMAT_RGBA_PVRTC2_4X4_UNORM_BLOCK8,
230 TextureFormat::Unknown, //FORMAT_RGBA_PVRTC2_4X4_SRGB_BLOCK8,
231 TextureFormat::Unknown, //FORMAT_RGBA_PVRTC2_8X4_UNORM_BLOCK8,
232 TextureFormat::Unknown, //FORMAT_RGBA_PVRTC2_8X4_SRGB_BLOCK8,
233
234 TextureFormat::Unknown, //FORMAT_RGB_ETC_UNORM_BLOCK8,
235 TextureFormat::Unknown, //FORMAT_RGB_ATC_UNORM_BLOCK8,
236 TextureFormat::Unknown, //FORMAT_RGBA_ATCA_UNORM_BLOCK16,
237 TextureFormat::Unknown, //FORMAT_RGBA_ATCI_UNORM_BLOCK16,
238
239 TextureFormat::Unknown, //FORMAT_L8_UNORM_PACK8,
240 TextureFormat::A8_UNORM, //FORMAT_A8_UNORM_PACK8,
241 TextureFormat::Unknown, //FORMAT_LA8_UNORM_PACK8,
242 TextureFormat::Unknown, //FORMAT_L16_UNORM_PACK16,
243 TextureFormat::Unknown, //FORMAT_A16_UNORM_PACK16,
244 TextureFormat::Unknown, //FORMAT_LA16_UNORM_PACK16,
245
246 TextureFormat::Unknown, //FORMAT_BGR8_UNORM_PACK32,
247 TextureFormat::Unknown, //FORMAT_BGR8_SRGB_PACK32,
248
249 TextureFormat::Unknown, //FORMAT_RG3B2_UNORM_PACK8, FORMAT_LAST = FORMAT_RG3B2_UNORM_PACK8
250 };
251
252 static_assert(sizeof(formatMap) / sizeof(formatMap[0]) == gli::FORMAT_LAST + 1, "GLI Texture format mapping incompatible.");
253}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23