1 #ifndef SURFACEFORMAT_H
2 #define SURFACEFORMAT_H
3 
4 #include <stdint.h>
5 
6 #define SURFACEFORMAT_R32G32B32A32_FLOAT	0x000
7 #define SURFACEFORMAT_R32G32B32A32_SINT	0x001
8 #define SURFACEFORMAT_R32G32B32A32_UINT	0x002
9 #define SURFACEFORMAT_R32G32B32A32_UNORM	0x003
10 #define SURFACEFORMAT_R32G32B32A32_SNORM	0x004
11 #define SURFACEFORMAT_R64G64_FLOAT		0x005
12 #define SURFACEFORMAT_R32G32B32X32_FLOAT	0x006
13 #define SURFACEFORMAT_R32G32B32A32_SSCALED	0x007
14 #define SURFACEFORMAT_R32G32B32A32_USCALED	0x008
15 
16 
17 #define SURFACEFORMAT_R32G32B32_FLOAT	0x040
18 #define SURFACEFORMAT_R32G32B32_SINT	0x041
19 #define SURFACEFORMAT_R32G32B32_UINT	0x042
20 #define SURFACEFORMAT_R32G32B32_UNORM	0x043
21 #define SURFACEFORMAT_R32G32B32_SNORM	0x044
22 #define SURFACEFORMAT_R32G32B32_SSCALED	0x045
23 #define SURFACEFORMAT_R32G32B32_USCALED	0x046
24 
25 #define SURFACEFORMAT_R16G16B16A16_UNORM		0x080
26 #define SURFACEFORMAT_R16G16B16A16_SNORM		0x081
27 #define SURFACEFORMAT_R16G16B16A16_SINT		0x082
28 #define SURFACEFORMAT_R16G16B16A16_UINT		0x083
29 #define SURFACEFORMAT_R16G16B16A16_FLOAT		0x084
30 #define SURFACEFORMAT_R32G32_FLOAT			0x085
31 #define SURFACEFORMAT_R32G32_SINT			0x086
32 #define SURFACEFORMAT_R32G32_UINT			0x087
33 #define SURFACEFORMAT_R32_FLOAT_X8X24_TYPELESS	0x088
34 #define SURFACEFORMAT_X32_TYPELESS_G8X24_UINT	0x089
35 #define SURFACEFORMAT_L32A32_FLOAT			0x08A
36 #define SURFACEFORMAT_R32G32_UNORM			0x08B
37 #define SURFACEFORMAT_R32G32_SNORM			0x08C
38 #define SURFACEFORMAT_R64_FLOAT			0x08D
39 #define SURFACEFORMAT_R16G16B16X16_UNORM		0x08E
40 #define SURFACEFORMAT_R16G16B16X16_FLOAT		0x08F
41 
42 #define SURFACEFORMAT_A32X32_FLOAT		0x090
43 #define SURFACEFORMAT_L32X32_FLOAT		0x091
44 #define SURFACEFORMAT_I32X32_FLOAT		0x092
45 #define SURFACEFORMAT_R16G16B16A16_SSCALED	0x093
46 #define SURFACEFORMAT_R16G16B16A16_USCALED	0x094
47 #define SURFACEFORMAT_R32G32_SSCALED	0x095
48 #define SURFACEFORMAT_R32G32_USCALED	0x096
49 
50 #define SURFACEFORMAT_B8G8R8A8_UNORM		0x0C0
51 #define SURFACEFORMAT_B8G8R8A8_UNORM_SRGB		0x0C1
52 #define SURFACEFORMAT_R10G10B10A2_UNORM		0x0C2
53 #define SURFACEFORMAT_R10G10B10A2_UNORM_SRGB	0x0C3
54 #define SURFACEFORMAT_R10G10B10A2_UINT		0x0C4
55 #define SURFACEFORMAT_R10G10B10_SNORM_A2_UNORM	0x0C5
56 #define SURFACEFORMAT_R8G8B8A8_UNORM		0x0C7
57 #define SURFACEFORMAT_R8G8B8A8_UNORM_SRGB		0x0C8
58 #define SURFACEFORMAT_R8G8B8A8_SNORM		0x0C9
59 #define SURFACEFORMAT_R8G8B8A8_SINT			0x0CA
60 #define SURFACEFORMAT_R8G8B8A8_UINT			0x0CB
61 #define SURFACEFORMAT_R16G16_UNORM			0x0CC
62 #define SURFACEFORMAT_R16G16_SNORM			0x0CD
63 #define SURFACEFORMAT_R16G16_SINT			0x0CE
64 #define SURFACEFORMAT_R16G16_UINT			0x0CF
65 
66 #define SURFACEFORMAT_R16G16_FLOAT			0x0D0
67 #define SURFACEFORMAT_B10G10R10A2_UNORM		0x0D1
68 #define SURFACEFORMAT_B10G10R10A2_UNORM_SRGB	0x0D2
69 #define SURFACEFORMAT_R11G11B10_FLOAT		0x0D3
70 #define SURFACEFORMAT_R32_SINT			0x0D6
71 #define SURFACEFORMAT_R32_UINT			0x0D7
72 #define SURFACEFORMAT_R32_FLOAT			0x0D8
73 #define SURFACEFORMAT_R24_UNORM_X8_TYPELESS		0x0D9
74 #define SURFACEFORMAT_X24_TYPELESS_G8_UINT		0x0DA
75 #define SURFACEFORMAT_L16A16_UNORM			0x0DF
76 
77 #define SURFACEFORMAT_I24X8_UNORM		0x0E0
78 #define SURFACEFORMAT_L24X8_UNORM		0x0E1
79 #define SURFACEFORMAT_A24X8_UNORM		0x0E2
80 #define SURFACEFORMAT_I32_FLOAT		0x0E3
81 #define SURFACEFORMAT_L32_FLOAT		0x0E4
82 #define SURFACEFORMAT_A32_FLOAT		0x0E5
83 #define SURFACEFORMAT_B8G8R8X8_UNORM	0x0E9
84 #define SURFACEFORMAT_B8G8R8X8_UNORM_SRGB	0x0EA
85 #define SURFACEFORMAT_R8G8B8X8_UNORM	0x0EB
86 #define SURFACEFORMAT_R8G8B8X8_UNORM_SRGB	0x0EC
87 #define SURFACEFORMAT_R9G9B9E5_SHAREDEXP	0x0ED
88 #define SURFACEFORMAT_B10G10R10X2_UNORM	0x0EE
89 
90 #define SURFACEFORMAT_L16A16_FLOAT		0x0F0
91 #define SURFACEFORMAT_R32_UNORM		0x0F1
92 #define SURFACEFORMAT_R32_SNORM		0x0F2
93 #define SURFACEFORMAT_R10G10B10X2_USCALED	0x0F3
94 #define SURFACEFORMAT_R8G8B8A8_SSCALED	0x0F4
95 #define SURFACEFORMAT_R8G8B8A8_USCALED	0x0F5
96 #define SURFACEFORMAT_R16G16_SSCALED	0x0F6
97 #define SURFACEFORMAT_R16G16_USCALED	0x0F7
98 #define SURFACEFORMAT_R32_SSCALED		0x0F8
99 #define SURFACEFORMAT_R32_USCALED		0x0F9
100 
101 #define SURFACEFORMAT_B5G6R5_UNORM		0x100
102 #define SURFACEFORMAT_B5G6R5_UNORM_SRGB	0x101
103 #define SURFACEFORMAT_B5G5R5A1_UNORM	0x102
104 #define SURFACEFORMAT_B5G5R5A1_UNORM_SRGB	0x103
105 #define SURFACEFORMAT_B4G4R4A4_UNORM	0x104
106 #define SURFACEFORMAT_B4G4R4A4_UNORM_SRGB	0x105
107 #define SURFACEFORMAT_R8G8_UNORM		0x106
108 #define SURFACEFORMAT_R8G8_SNORM		0x107
109 #define SURFACEFORMAT_R8G8_SINT		0x108
110 #define SURFACEFORMAT_R8G8_UINT		0x109
111 #define SURFACEFORMAT_R16_FLOAT		0x10E
112 #define SURFACEFORMAT_R16_SINT		0x10C
113 #define SURFACEFORMAT_R16_SNORM		0x10B
114 #define SURFACEFORMAT_R16_UINT		0x10D
115 #define SURFACEFORMAT_R16_UNORM		0x10A
116 
117 #define SURFACEFORMAT_I16_UNORM		0x111
118 #define SURFACEFORMAT_L16_UNORM		0x112
119 #define SURFACEFORMAT_A16_UNORM		0x113
120 #define SURFACEFORMAT_L8A8_UNORM		0x114
121 #define SURFACEFORMAT_I16_FLOAT		0x115
122 #define SURFACEFORMAT_L16_FLOAT		0x116
123 #define SURFACEFORMAT_A16_FLOAT		0x117
124 #define SURFACEFORMAT_R5G5_SNORM_B6_UNORM	0x119
125 #define SURFACEFORMAT_B5G5R5X1_UNORM	0x11A
126 #define SURFACEFORMAT_B5G5R5X1_UNORM_SRGB	0x11B
127 #define SURFACEFORMAT_R8G8_SSCALED		0x11C
128 #define SURFACEFORMAT_R8G8_USCALED		0x11D
129 #define SURFACEFORMAT_R16_SSCALED		0x11E
130 #define SURFACEFORMAT_R16_USCALED		0x11F
131 
132 #define SURFACEFORMAT_R8_UNORM		0x140
133 #define SURFACEFORMAT_R8_SNORM		0x141
134 #define SURFACEFORMAT_R8_SINT		0x142
135 #define SURFACEFORMAT_R8_UINT		0x143
136 #define SURFACEFORMAT_A8_UNORM		0x144
137 #define SURFACEFORMAT_I8_UNORM		0x145
138 #define SURFACEFORMAT_L8_UNORM		0x146
139 #define SURFACEFORMAT_P4A4_UNORM		0x147
140 #define SURFACEFORMAT_A4P4_UNORM		0x148
141 #define SURFACEFORMAT_R8_SSCALED		0x149
142 #define SURFACEFORMAT_R8_USCALED		0x14A
143 
144 #define SURFACEFORMAT_R1_UINT		0x181
145 #define SURFACEFORMAT_YCRCB_NORMAL		0x182
146 #define SURFACEFORMAT_YCRCB_SWAPUVY		0x183
147 #define SURFACEFORMAT_BC1_UNORM		0x186
148 #define SURFACEFORMAT_BC2_UNORM		0x187
149 #define SURFACEFORMAT_BC3_UNORM		0x188
150 #define SURFACEFORMAT_BC4_UNORM		0x189
151 #define SURFACEFORMAT_BC5_UNORM		0x18A
152 #define SURFACEFORMAT_BC1_UNORM_SRGB	0x18B
153 #define SURFACEFORMAT_BC2_UNORM_SRGB	0x18C
154 #define SURFACEFORMAT_BC3_UNORM_SRGB	0x18D
155 #define SURFACEFORMAT_MONO8			0x18E
156 #define SURFACEFORMAT_YCRCB_SWAPUV		0x18F
157 
158 #define SURFACEFORMAT_YCRCB_SWAPY		0x190
159 #define SURFACEFORMAT_DXT1_RGB		0x191
160 #define SURFACEFORMAT_FXT1			0x192
161 #define SURFACEFORMAT_R8G8B8_UNORM		0x193
162 #define SURFACEFORMAT_R8G8B8_SNORM		0x194
163 #define SURFACEFORMAT_R8G8B8_SSCALED	0x195
164 #define SURFACEFORMAT_R8G8B8_USCALED	0x196
165 #define SURFACEFORMAT_R64G64B64A64_FLOAT	0x197
166 #define SURFACEFORMAT_R64G64B64_FLOAT	0x198
167 #define SURFACEFORMAT_BC4_SNORM		0x199
168 #define SURFACEFORMAT_BC5_SNORM		0x19A
169 #define SURFACEFORMAT_R16G16B16_UNORM	0x19C
170 #define SURFACEFORMAT_R16G16B16_SNORM	0x19D
171 #define SURFACEFORMAT_R16G16B16_SSCALED	0x19E
172 #define SURFACEFORMAT_R16G16B16_USCALED	0x19F
173 
174 #define SURFACEFORMAT_RAW	0x1FF
175 
176 #define SURFACERETURNFORMAT_FLOAT32	0
177 #define SURFACERETURNFORMAT_S1	1
178 
179 #define SURFACE_1D	0
180 #define SURFACE_2D	1
181 #define SURFACE_3D	2
182 #define SURFACE_CUBE	3
183 #define SURFACE_BUFFER	4
184 #define SURFACE_NULL	7
185 
186 #define SURFACE_MIPMAPLAYOUT_BELOW	0
187 #define SURFACE_MIPMAPLAYOUT_RIGHT	1
188 
189 #endif
190