27 #define check_release(obj, exp) _check_release(__LINE__, obj, exp) 30 int ref = IUnknown_Release(
obj);
36 0x42,0x4d,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x28,0x00,
37 0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,
38 0x00,0x00,0x04,0x00,0x00,0x00,0x12,0x0b,0x00,0x00,0x12,0x0b,0x00,0x00,0x02,0x00,
39 0x00,0x00,0x02,0x00,0x00,0x00,0xf1,0xf2,0xf3,0x80,0xf4,0xf5,0xf6,0x81,0x00,0x00,
45 0x42,0x4d,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x28,0x00,
46 0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x00,0x00,
47 0x00,0x00,0x04,0x00,0x00,0x00,0x12,0x0b,0x00,0x00,0x12,0x0b,0x00,0x00,0x02,0x00,
48 0x00,0x00,0x02,0x00,0x00,0x00,0xf1,0xf2,0xf3,0x80,0xf4,0xf5,0xf6,0x81,0x00,0x00,
54 0x42,0x4d,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x28,0x00,
55 0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x00,0x00,
56 0x00,0x00,0x04,0x00,0x00,0x00,0x12,0x0b,0x00,0x00,0x12,0x0b,0x00,0x00,0x02,0x00,
57 0x00,0x00,0x02,0x00,0x00,0x00,0xf1,0xf2,0xf3,0x80,0xf4,0xf5,0xf6,0x81,0x00,0x00,
63 0x42,0x4d,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x28,0x00,
64 0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x08,0x00,0x00,0x00,
65 0x00,0x00,0x04,0x00,0x00,0x00,0x12,0x0b,0x00,0x00,0x12,0x0b,0x00,0x00,0x02,0x00,
66 0x00,0x00,0x02,0x00,0x00,0x00,0xf1,0xf2,0xf3,0x80,0xf4,0xf5,0xf6,0x81,0x00,0x00,
73 0x42,0x4d,0x46,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x28,0x00,
74 0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x20,0x00,0x00,0x00,
75 0x00,0x00,0x10,0x00,0x00,0x00,0x12,0x0b,0x00,0x00,0x12,0x0b,0x00,0x00,0x00,0x00,
76 0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0xb0,0xc0,0x00,0xa1,0xb1,0xc1,0x00,0xa2,0xb2,
77 0xc2,0x00,0xa3,0xb3,0xc3,0x00
83 0x42,0x4d,0x46,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x28,0x00,
84 0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x20,0x00,0x00,0x00,
85 0x00,0x00,0x10,0x00,0x00,0x00,0x12,0x0b,0x00,0x00,0x12,0x0b,0x00,0x00,0x00,0x00,
86 0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0xb0,0xc0,0x00,0xa1,0xb1,0xc1,0x00,0xa2,0xb2,
87 0xc2,0x00,0xa3,0xb3,0xc3,0x01
92 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49,
93 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00,
94 0x00, 0x00, 0x00, 0x3a, 0x7e, 0x9b, 0x55, 0x00, 0x00, 0x00, 0x0a, 0x49, 0x44,
95 0x41, 0x54, 0x08, 0xd7, 0x63, 0xf8, 0x0f, 0x00, 0x01, 0x01, 0x01, 0x00, 0x1b,
96 0xb6, 0xee, 0x56, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42,
102 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
113 0x44,0x44,0x53,0x20,0x7c,0x00,0x00,0x00,0x0f,0x10,0x00,0x00,0x04,0x00,0x00,0x00,
114 0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
115 0x47,0x49,0x4d,0x50,0x2d,0x44,0x44,0x53,0x5a,0x09,0x03,0x00,0x00,0x00,0x00,0x00,
116 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
117 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
118 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
119 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,
120 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
121 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
122 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
123 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
124 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
125 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
126 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
127 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
128 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
129 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
130 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
131 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
132 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
133 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
134 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
135 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
136 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
137 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
138 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
139 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
140 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
141 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
142 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
143 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
144 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
145 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,
146 0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0xec,0x27,0x00,0xff,0x8c,0xcd,0x12,0xff,
147 0x78,0x01,0x14,0xff,0x50,0xcd,0x12,0xff,0x00,0x3d,0x8c,0xff,0x02,0x00,0x00,0xff,
148 0x47,0x00,0x00,0xff,0xda,0x07,0x02,0xff,0x50,0xce,0x12,0xff,0xea,0x11,0x01,0xff,
149 0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x08,0x3d,0x8c,0xff,0x08,0x01,0x00,0xff,
150 0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x60,0xcc,0x12,0xff,
151 0xa1,0xb2,0xd4,0xff,0xda,0x07,0x02,0xff,0x47,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
152 0x50,0xce,0x12,0xff,0x00,0x00,0x14,0xff,0xa8,0xcc,0x12,0xff,0x3c,0xb2,0xd4,0xff,
153 0xda,0x07,0x02,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x01,0xff,
154 0x21,0x00,0x00,0xff,0xd8,0xcb,0x12,0xff,0x54,0xcd,0x12,0xff,0x8b,0x4f,0xd5,0xff,
155 0x00,0x04,0xda,0xff,0x00,0x00,0x00,0xff,0x3d,0x04,0x91,0xff,0x70,0xce,0x18,0xff,
156 0xb4,0xcc,0x12,0xff,0x6b,0x4e,0xd5,0xff,0xb0,0xcc,0x12,0xff,0x00,0x00,0x00,0xff,
157 0xc8,0x05,0x91,0xff,0x98,0xc7,0xcc,0xff,0x7c,0xcd,0x12,0xff,0x51,0x05,0x91,0xff,
158 0x48,0x07,0x14,0xff,0x6d,0x05,0x91,0xff,0x00,0x07,0xda,0xff,0xa0,0xc7,0xcc,0xff,
159 0x00,0x07,0xda,0xff,0x3a,0x77,0xd5,0xff,0xda,0x07,0x02,0xff,0x7c,0x94,0xd4,0xff,
160 0xe0,0xce,0xd6,0xff,0x0a,0x80,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
161 0x78,0x9a,0xab,0xff,0xde,0x08,0x18,0xff,0xda,0x07,0x02,0xff,0x30,0x00,0x00,0xff,
162 0x00,0x00,0x00,0xff,0x50,0xce,0x12,0xff,0x8c,0xcd,0x12,0xff,0xd0,0xb7,0xd8,0xff,
163 0x00,0x00,0x00,0xff,0x60,0x32,0xd9,0xff,0x30,0xc1,0x1a,0xff,0xa8,0xcd,0x12,0xff,
164 0xa4,0xcd,0x12,0xff,0xc0,0x1d,0x4b,0xff,0x46,0x71,0x0e,0xff,0xc0,0x1d,0x4b,0xff,
165 0x09,0x87,0xd4,0xff,0x00,0x00,0x00,0xff,0xf6,0x22,0x00,0xff,0x64,0xcd,0x12,0xff,
166 0x00,0x00,0x00,0xff,0xca,0x1d,0x4b,0xff,0x09,0x87,0xd4,0xff,0xaa,0x02,0x05,0xff,
167 0x82,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0xc0,0x1d,0x4b,0xff,
168 0xcd,0xab,0xba,0xff,0x00,0x00,0x00,0xff,0xa4,0xcd,0x12,0xff,0xc0,0x1d,0x4b,0xff,
169 0xd4,0xcd,0x12,0xff,0xa6,0x4c,0xd5,0xff,0x00,0xf0,0xfd,0xff,0xd4,0xcd,0x12,0xff,
170 0xf4,0x4c,0xd5,0xff,0x90,0xcd,0x12,0xff,0xc2,0x4c,0xd5,0xff,0x82,0x00,0x00,0xff,
171 0xaa,0x02,0x05,0xff,0x88,0xd4,0xba,0xff,0x14,0x00,0x00,0xff,0x01,0x00,0x00,0xff,
172 0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x10,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
173 0x0c,0x08,0x13,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
174 0xd0,0xcd,0x12,0xff,0xc6,0x84,0xf1,0xff,0x7c,0x84,0xf1,0xff,0x20,0x20,0xf5,0xff,
175 0x00,0x00,0x0a,0xff,0xf0,0xb0,0x94,0xff,0x64,0x6c,0xf1,0xff,0x85,0x6c,0xf1,0xff,
176 0x8b,0x4f,0xd5,0xff,0x00,0x04,0xda,0xff,0x88,0xd4,0xba,0xff,0x82,0x00,0x00,0xff,
177 0x39,0xde,0xd4,0xff,0x10,0x50,0xd5,0xff,0xaa,0x02,0x05,0xff,0x00,0x00,0x00,0xff,
178 0x4f,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x5c,0xce,0x12,0xff,0x00,0x00,0x00,0xff,
179 0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x5c,0xce,0x12,0xff,
180 0xaa,0x02,0x05,0xff,0x4c,0xce,0x12,0xff,0x39,0xe6,0xd4,0xff,0x00,0x00,0x00,0xff,
181 0x82,0x00,0x00,0xff,0x00,0x00,0x00,0xff,0x5b,0xe6,0xd4,0xff,0x00,0x00,0x00,0xff,
182 0x00,0x00,0x00,0xff,0x68,0x50,0xcd,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
183 0x00,0x00,0x00,0xff,0x10,0x00,0x00,0xff,0xe3,0xea,0x90,0xff,0x5c,0xce,0x12,0xff,
184 0x18,0x00,0x00,0xff,0x88,0xd4,0xba,0xff,0x82,0x00,0x00,0xff,0x00,0x00,0x00,0xff,
185 0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
186 0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
187 0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
188 0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01
193 0x44,0x44,0x53,0x20,0x7c,0x00,0x00,0x00,0x07,0x10,0x0a,0x00,0x02,0x00,0x00,0x00,
194 0x02,0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,
195 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
196 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
197 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
198 0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
199 0x00,0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x40,0x00,
200 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
201 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
206 0x44,0x44,0x53,0x20,0x7c,0x00,0x00,0x00,0x07,0x10,0x08,0x00,0x02,0x00,0x00,0x00,
207 0x02,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
208 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
209 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
210 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
211 0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x7c,0x00,0x00,
212 0xe0,0x03,0x00,0x00,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,
213 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
214 0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f
219 0x44,0x44,0x53,0x20,0x7c,0x00,0x00,0x00,0x07,0x10,0x08,0x00,0x04,0x00,0x00,0x00,
220 0x04,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
221 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
222 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
223 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
224 0x04,0x00,0x00,0x00,0x44,0x58,0x54,0x35,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
225 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x00,0x00,
226 0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
227 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xef,0x87,0x0f,0x78,0x05,0x05,0x50,0x50,
228 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xef,0x87,0x0f,0x78,0x05,0x05,0x50,0x50,
229 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xef,0x87,0x0f,0x78,0x05,0x05,0x50,0x50,
230 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xef,0x87,0x0f,0x78,0x05,0x05,0x50,0x50,
231 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xef,0x87,0x0f,0x78,0x05,0x05,0x50,0x50,
232 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xef,0x87,0x0f,0x78,0x05,0x05,0x50,0x50
237 0x44,0x44,0x53,0x20,0x7c,0x00,0x00,0x00,0x07,0x10,0x8a,0x00,0x04,0x00,0x00,0x00,
238 0x04,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
239 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
240 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
241 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
242 0x04,0x00,0x00,0x00,0x44,0x58,0x54,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
243 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x40,0x00,
244 0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
245 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x87,0x0f,0x78,0x05,0x05,0x50,0x50,
246 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x87,0x0f,0x78,0x05,0x05,0x50,0x50,
247 0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x2f,0x7e,0xcf,0x79,0x01,0x54,0x5c,0x5c,
248 0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x84,0xef,0x7b,0xaa,0xab,0xab,0xab
254 0x44,0x44,0x53,0x20,0x7c,0x00,0x00,0x00,0x07,0x10,0x08,0x00,0x02,0x00,0x00,0x00,
255 0x04,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
256 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
257 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
258 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
259 0x04,0x00,0x00,0x00,0x44,0x58,0x54,0x35,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
260 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x00,0x00,
261 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
262 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xef,0x87,0x0f,0x78,0x05,0x05,0x50,0x50,
268 0x44,0x44,0x53,0x20,0x7c,0x00,0x00,0x00,0x07,0x10,0x08,0x00,0x08,0x00,0x00,0x00,
269 0x08,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
270 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
271 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
272 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
273 0x04,0x00,0x00,0x00,0x44,0x58,0x54,0x35,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
274 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x10,0x00,0x00,
275 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
276 0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x00,0xe0,0x07,0x05,0x05,0x50,0x50,
277 0x3f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0xff,0x07,0x05,0x05,0x50,0x50,
278 0x7f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xf8,0xe0,0xff,0x05,0x05,0x50,0x50,
279 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x05,0x05,0x50,0x50,
301 #define DDS_CAPS 0x00000001 302 #define DDS_HEIGHT 0x00000002 303 #define DDS_WIDTH 0x00000004 304 #define DDS_PITCH 0x00000008 305 #define DDS_PIXELFORMAT 0x00001000 306 #define DDS_MIPMAPCOUNT 0x00020000 307 #define DDS_LINEARSIZE 0x00080000 310 #define DDSCAPS_ALPHA 0x00000002 311 #define DDS_CAPS_TEXTURE 0x00001000 314 #define DDS_PF_ALPHA 0x00000001 315 #define DDS_PF_ALPHA_ONLY 0x00000002 316 #define DDS_PF_FOURCC 0x00000004 317 #define DDS_PF_RGB 0x00000040 318 #define DDS_PF_LUMINANCE 0x00020000 319 #define DDS_PF_BUMPLUMINANCE 0x00040000 320 #define DDS_PF_BUMPDUDV 0x00080000 357 header->size =
sizeof(*header);
361 header->pixel_format.size =
sizeof(
header->pixel_format);
364 header->pixel_format.fourcc = 0;
365 header->pixel_format.bpp = 32;
366 header->pixel_format.rmask = 0xff0000;
367 header->pixel_format.gmask = 0x00ff00;
368 header->pixel_format.bmask = 0x0000ff;
369 header->pixel_format.amask = 0;
373 #define check_dds_pixel_format(flags, fourcc, bpp, rmask, gmask, bmask, amask, format) \ 374 check_dds_pixel_format_(__LINE__, flags, fourcc, bpp, rmask, gmask, bmask, amask, format) 391 dds.header.pixel_format.flags =
flags;
392 dds.header.pixel_format.fourcc = fourcc;
393 dds.header.pixel_format.bpp =
bpp;
394 dds.header.pixel_format.rmask =
rmask;
395 dds.header.pixel_format.gmask =
gmask;
396 dds.header.pixel_format.bmask =
bmask;
397 dds.header.pixel_format.amask =
amask;
398 memset(dds.data, 0,
sizeof(dds.data));
401 ok_(__FILE__,
line)(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x for pixel format %#x, expected %#x\n",
405 ok_(__FILE__,
line)(
info.Format == expected_format,
"D3DXGetImageInfoFromFileInMemory returned format %#x, expected %#x\n",
406 info.Format, expected_format);
430 DWORD pixel_data_size;
439 { { 32,
DDS_PF_RGB |
DDS_PF_ALPHA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 }, 0, 4, 4, 0, 0,
441 { { 32,
DDS_PF_RGB |
DDS_PF_ALPHA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 },
DDS_PITCH, 4, 4, 0 , 0,
443 { { 32,
DDS_PF_RGB |
DDS_PF_ALPHA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 },
DDS_PITCH, 4, 4, 1 , 0,
445 { { 32,
DDS_PF_RGB |
DDS_PF_ALPHA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 },
DDS_PITCH, 4, 4, 2 , 0,
447 { { 32,
DDS_PF_RGB |
DDS_PF_ALPHA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 },
DDS_PITCH, 4, 4, 3 , 0,
449 { { 32,
DDS_PF_RGB |
DDS_PF_ALPHA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 },
DDS_PITCH, 4, 4, 4 , 0,
451 { { 32,
DDS_PF_RGB |
DDS_PF_ALPHA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 },
DDS_PITCH, 4, 4, 16 , 0,
453 { { 32,
DDS_PF_RGB |
DDS_PF_ALPHA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 },
DDS_PITCH, 4, 4, 1024 , 0,
455 { { 32,
DDS_PF_RGB |
DDS_PF_ALPHA, 0, 32, 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 },
DDS_PITCH, 4, 4, -1 , 0,
458 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 }, 0, 4, 4, 0, 0,
460 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_LINEARSIZE, 4, 4, 0 , 0,
462 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_LINEARSIZE, 4, 4, 1 , 0,
464 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_LINEARSIZE, 4, 4, 2 , 0,
466 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_LINEARSIZE, 4, 4, 9 , 0,
468 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_LINEARSIZE, 4, 4, 16 , 0,
470 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_LINEARSIZE, 4, 4, -1 , 0,
473 { { 32,
DDS_PF_RGB, 0, 32, 0xff0000, 0x00ff00, 0x0000ff, 0 }, 0, 0x80000000, 0x80000000 , 0, 0,
475 { { 32,
DDS_PF_RGB, 0, 32, 0xff0000, 0x00ff00, 0x0000ff, 0 }, 0, 0x8000100, 0x800100 , 0, 0,
477 { { 32,
DDS_PF_RGB, 0, 32, 0xff0000, 0x00ff00, 0x0000ff, 0 }, 0, 0x80000001, 0x80000001 , 0, 0,
479 { { 32,
DDS_PF_RGB, 0, 32, 0xff0000, 0x00ff00, 0x0000ff, 0 }, 0, 0x80000001, 0x80000001 , 0, 0,
482 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 }, 0, 256, 64, 0, 0, 49151, {
D3DXERR_INVALIDDATA, 0 } },
483 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 }, 0, 256, 64, 0, 0, 49152, {
D3D_OK, 1 } },
484 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 64, 0, 4, 65279, {
D3DXERR_INVALIDDATA, 0 } },
485 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 64, 0, 4, 65280, {
D3D_OK, 4 } },
486 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 64, 0, 9, 65540, {
D3DXERR_INVALIDDATA, 0 } },
487 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 64, 0, 9, 65541, {
D3D_OK, 9 } },
488 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 }, 0, 256, 256, 0, 0, 196607, {
D3DXERR_INVALIDDATA, 0 } },
489 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 }, 0, 256, 256, 0, 0, 196608, {
D3D_OK, 1 } },
490 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 }, 0, 256, 256, 0, 0, 196609, {
D3D_OK, 1 } },
491 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 1, 196607, {
D3DXERR_INVALIDDATA, 0 } },
492 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 1, 196608, {
D3D_OK, 1 } },
493 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 0, 196607, {
D3DXERR_INVALIDDATA, 0 } },
494 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 0, 196608, {
D3D_OK, 1 } },
495 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 0, 400000, {
D3D_OK, 1 } },
496 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 9, 262142, {
D3DXERR_INVALIDDATA, 0 } },
497 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 9, 262143, {
D3D_OK, 9 } },
498 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 10, 262145, {
D3DXERR_INVALIDDATA, 0 } },
499 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 10, 262146, {
D3D_OK, 10 } },
500 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 20, 262175, {
D3DXERR_INVALIDDATA, 0 } },
501 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 },
DDS_MIPMAPCOUNT, 256, 256, 0, 20, 262176, {
D3D_OK, 20 } },
502 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 }, 0, 256, 256, 0, 0, 32767, {
D3DXERR_INVALIDDATA, 0 } },
503 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 }, 0, 256, 256, 0, 0, 32768, {
D3D_OK, 1 } },
504 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 0, 32767, {
D3DXERR_INVALIDDATA, 0 } },
505 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 0, 32768, {
D3D_OK, 1 } },
506 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 9, 43703, {
D3DXERR_INVALIDDATA, 0 } },
507 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 9, 43704, {
D3D_OK, 9 } },
508 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 20, 43791, {
D3DXERR_INVALIDDATA, 0 } },
509 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT1, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 20, 43792, {
D3D_OK, 20 } },
510 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 }, 0, 256, 256, 0, 0, 65535, {
D3DXERR_INVALIDDATA, 0 } },
511 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 }, 0, 256, 256, 0, 0, 65536, {
D3D_OK, 1 } },
512 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 0, 65535, {
D3DXERR_INVALIDDATA, 0 } },
513 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 0, 65536, {
D3D_OK, 1 } },
514 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 9, 87407, {
D3DXERR_INVALIDDATA, 0 } },
515 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 9, 87408, {
D3D_OK, 9 } },
516 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 20, 87583, {
D3DXERR_INVALIDDATA, 0 } },
517 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 256, 0, 20, 87584, {
D3D_OK, 20 } },
518 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 64, 0, 4, 21759, {
D3DXERR_INVALIDDATA, 0 } },
519 { { 32,
DDS_PF_FOURCC,
D3DFMT_DXT4, 0, 0, 0, 0, 0 },
DDS_MIPMAPCOUNT, 256, 64, 0, 4, 21760, {
D3D_OK, 4 } },
521 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 }, 0, 256, 256, 0, 0, 262146, {
D3D_OK, 1 } },
522 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 }, 0, 256, 256, 0, 2, 262146, {
D3D_OK, 2 } },
523 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 }, 0, 256, 256, 0, 9, 262146, {
D3D_OK, 9 } },
524 { { 32,
DDS_PF_RGB, 0, 24, 0xff0000, 0x00ff00, 0x0000ff, 0x000000 }, 0, 256, 256, 0, 10, 262146, {
D3D_OK, 10 } },
530 skip(
"Failed to allocate memory.\n");
541 dds->header.flags |=
tests[
i].flags;
542 dds->header.width =
tests[
i].width;
543 dds->header.height =
tests[
i].height;
544 dds->header.pitch_or_linear_size =
tests[
i].pitch;
545 dds->header.miplevels =
tests[
i].miplevels;
546 dds->header.pixel_format =
tests[
i].pixel_format;
549 ok(
hr ==
tests[
i].
expected.hr,
"%d: D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
553 ok(
info.MipLevels ==
tests[
i].expected.miplevels,
"%d: Got MipLevels %u, expected %u\n",
565 BOOL testdummy_ok, testbitmap_ok;
576 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFile returned %#x, expected %#x\n",
hr,
D3D_OK);
579 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFile returned %#x, expected %#x\n",
hr,
D3D_OK);
580 }
else skip(
"Couldn't create \"testbitmap.bmp\"\n");
584 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFile returned %#x, expected %#x\n",
hr,
D3D_OK);
588 }
else skip(
"Couldn't create \"testdummy.bmp\"\n");
608 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromResource returned %#x, expected %#x\n",
hr,
D3D_OK);
611 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromResource returned %#x, expected %#x\n",
hr,
D3D_OK);
614 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromResource returned %#x, expected %#x\n",
hr,
D3D_OK);
634 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
637 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
640 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
643 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromResource returned %#x, expected %#x\n",
hr,
D3D_OK);
682 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
683 ok(
info.Depth == 1,
"Got depth %u, expected 1\n",
info.Depth);
688 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
689 ok(
info.Depth == 1,
"Got depth %u, expected 1\n",
info.Depth);
692 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
693 ok(
info.Depth == 1,
"Got depth %u, expected 1\n",
info.Depth);
705 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
706 ok(
info.Depth == 1,
"Got depth %u, expected 1\n",
info.Depth);
711 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
713 ok(
info.Width == 2,
"Got width %u, expected 2\n",
info.Width);
714 ok(
info.Height == 2,
"Got height %u, expected 2\n",
info.Height);
715 ok(
info.Depth == 1,
"Got depth %u, expected 1\n",
info.Depth);
716 ok(
info.MipLevels == 2,
"Got miplevels %u, expected 2\n",
info.MipLevels);
720 }
else skip(
"Couldn't get image info from 24-bit DDS file in memory\n");
723 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
725 ok(
info.Width == 2,
"Got width %u, expected 2\n",
info.Width);
726 ok(
info.Height == 2,
"Got height %u, expected 2\n",
info.Height);
727 ok(
info.Depth == 1,
"Got depth %u, expected 1\n",
info.Depth);
728 ok(
info.MipLevels == 1,
"Got miplevels %u, expected 1\n",
info.MipLevels);
732 }
else skip(
"Couldn't get image info from 16-bit DDS file in memory\n");
736 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x\n",
hr);
737 ok(
info.Width == 16,
"Got width %u.\n",
info.Width);
738 ok(
info.Height == 4,
"Got height %u.\n",
info.Height);
739 ok(
info.Depth == 1,
"Got depth %u.\n",
info.Depth);
740 ok(
info.MipLevels == 1,
"Got miplevels %u.\n",
info.MipLevels);
746 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
748 ok(
info.Width == 4,
"Got width %u, expected 4\n",
info.Width);
749 ok(
info.Height == 4,
"Got height %u, expected 4\n",
info.Height);
750 ok(
info.Depth == 1,
"Got depth %u, expected 1\n",
info.Depth);
751 ok(
info.MipLevels == 1,
"Got miplevels %u, expected 1\n",
info.MipLevels);
755 }
else skip(
"Couldn't get image info from cube map in memory\n");
758 ok(
hr ==
D3D_OK,
"D3DXGetImageInfoFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
760 ok(
info.Width == 4,
"Got width %u, expected 4\n",
info.Width);
761 ok(
info.Height == 4,
"Got height %u, expected 4\n",
info.Height);
762 ok(
info.Depth == 2,
"Got depth %u, expected 2\n",
info.Depth);
763 ok(
info.MipLevels == 3,
"Got miplevels %u, expected 3\n",
info.MipLevels);
767 }
else skip(
"Couldn't get image info from volume map in memory\n");
821 #define check_pixel_2bpp(lockrect, x, y, color) _check_pixel_2bpp(__LINE__, lockrect, x, y, color) 825 ok_(__FILE__,
line)(
color == expected_color,
"Got color 0x%04x, expected 0x%04x\n",
color, expected_color);
828 #define check_pixel_4bpp(lockrect, x, y, color) _check_pixel_4bpp(__LINE__, lockrect, x, y, color) 832 ok_(__FILE__,
line)(
color == expected_color,
"Got color 0x%08x, expected 0x%08x\n",
color, expected_color);
838 BOOL testdummy_ok, testbitmap_ok;
839 IDirect3DTexture9 *tex;
840 IDirect3DSurface9 *surf, *newsurf;
843 static const WORD pixdata_a8r3g3b2[] = { 0x57df, 0x98fc, 0xacdd, 0xc891 };
844 static const WORD pixdata_a1r5g5b5[] = { 0x46b5, 0x99c8, 0x06a2, 0x9431 };
845 static const WORD pixdata_r5g6b5[] = { 0x9ef6, 0x658d, 0x0aee, 0x42ee };
846 static const WORD pixdata_a8l8[] = { 0xff00, 0x00ff, 0xff30, 0x7f7f };
847 static const DWORD pixdata_g16r16[] = { 0x07d23fbe, 0xdc7f44a4, 0xe4d8976b, 0x9a84fe89 };
848 static const DWORD pixdata_a8b8g8r8[] = { 0xc3394cf0, 0x235ae892, 0x09b197fd, 0x8dc32bf6 };
849 static const DWORD pixdata_a2r10g10b10[] = { 0x57395aff, 0x5b7668fd, 0xb0d856b5, 0xff2c61d6 };
859 skip(
"Failed to create a surface (%#x)\n",
hr);
872 }
else skip(
"Couldn't create \"testbitmap.bmp\"\n");
877 }
else skip(
"Couldn't create \"testdummy.bmp\"\n");
889 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromResource returned %#x, expected %#x\n",
hr,
D3D_OK);
893 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromResource returned %#x, expected %#x\n",
hr,
D3D_OK);
909 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
934 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
937 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
949 ok(
hr ==
E_FAIL,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
E_FAIL);
951 SetRect(&destrect, -1, -1, 1, 1);
955 SetRect(&destrect, 255, 255, 257, 257);
959 SetRect(&destrect, 1, 1, 0, 0);
963 SetRect(&destrect, 1, 2, 1, 2);
968 SetRect(&destrect, 257, 257, 257, 257);
977 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x\n",
hr,
D3D_OK);
986 }
else skip(
"Failed to create a second surface\n");
994 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x\n",
hr,
D3D_OK);
998 }
else skip(
"Failed to create texture\n");
1018 skip(
"Failed to create multisampled render target.\n");
1022 ok(
hr ==
D3D_OK,
"IDirect3DDevice9_GetRenderTarget returned %#x, expected %#x.\n",
hr,
D3D_OK);
1025 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1027 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1029 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1031 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1033 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1049 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1051 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1053 ok(
hr ==
E_FAIL,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
E_FAIL);
1055 ok(
hr ==
E_FAIL,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
E_FAIL);
1061 ok(
hr ==
E_FAIL,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
E_FAIL);
1064 SetRect(&destrect, 1, 1, 2, 2);
1066 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1068 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1070 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromSurface returned %#x, expected %#x.\n",
hr,
D3D_OK);
1097 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1107 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1117 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1127 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1149 SetRect(&destrect, 1, 1, 2, 2);
1196 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1200 "Pixel color mismatch: got %#x, expected 0x80f3f2f1\n", *(
DWORD*)lockrect.
pBits);
1207 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromFileInMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1210 ok(*(
DWORD*)lockrect.
pBits == 0xfff3f2f1,
"Pixel color mismatch: got %#x, expected 0xfff3f2f1\n", *(
DWORD*)lockrect.
pBits);
1223 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1233 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1243 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1253 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1265 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1277 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1305 skip(
"Failed to create A8L8 texture, hr %#x.\n",
hr);
1325 ok(
hr ==
D3D_OK,
"D3DXLoadSurfaceFromMemory returned %#x, expected %#x\n",
hr,
D3D_OK);
1402 skip(
"Failed to create A8R8G8B8 surface, hr %#x.\n",
hr);
1410 skip(
"Failed to create DXT2 texture, hr %#x.\n",
hr);
1416 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT2 format.\n");
1423 skip(
"Failed to create DXT3 texture, hr %#x.\n",
hr);
1429 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT3 format.\n");
1436 skip(
"Failed to create DXT4 texture, hr %#x.\n",
hr);
1442 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT4 format.\n");
1449 skip(
"Failed to create DXT5 texture, hr %#x.\n",
hr);
1455 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT5 format.\n");
1504 skip(
"Failed to create DXT1 texture, hr %#x.\n",
hr);
1510 ok(
SUCCEEDED(
hr),
"Failed to convert pixels to DXT1 format.\n");
1513 ok(
SUCCEEDED(
hr),
"Failed to convert pixels from DXT1 format.\n");
1534 test_access_types[] =
1547 IDirect3DSurface9 *surface;
1556 skip(
"Couldn't create surface\n");
1566 ok(
size > 0,
"ID3DXBuffer_GetBufferSize returned %u, expected > 0\n",
size);
1577 ok(dds->magic ==
MAKEFOURCC(
'D',
'D',
'S',
' '),
"Got unexpected DDS signature %#x.\n", dds->magic);
1578 ok(dds->header.size ==
sizeof(dds->header),
"Got unexpected DDS size %u.\n", dds->header.size);
1579 ok(!dds->header.height,
"Got unexpected height %u.\n", dds->header.height);
1580 ok(!dds->header.width,
"Got unexpected width %u.\n", dds->header.width);
1581 ok(!dds->header.depth,
"Got unexpected depth %u.\n", dds->header.depth);
1582 ok(!dds->header.miplevels,
"Got unexpected miplevels %u.\n", dds->header.miplevels);
1583 ok(!dds->header.pitch_or_linear_size,
"Got unexpected pitch_or_linear_size %u.\n", dds->header.pitch_or_linear_size);
1586 "Got unexpected flags %#x.\n", dds->header.flags);
1594 ok(dds->magic ==
MAKEFOURCC(
'D',
'D',
'S',
' '),
"Got unexpected DDS signature %#x.\n", dds->magic);
1595 ok(dds->header.size ==
sizeof(dds->header),
"Got unexpected DDS size %u.\n", dds->header.size);
1596 ok(dds->header.height == 4,
"Got unexpected height %u.\n", dds->header.height);
1597 ok(dds->header.width == 4,
"Got unexpected width %u.\n", dds->header.width);
1598 ok(!dds->header.depth,
"Got unexpected depth %u.\n", dds->header.depth);
1599 ok(!dds->header.miplevels,
"Got unexpected miplevels %u.\n", dds->header.miplevels);
1600 ok(!dds->header.pitch_or_linear_size,
"Got unexpected pitch_or_linear_size %u.\n", dds->header.pitch_or_linear_size);
1603 "Got unexpected flags %#x.\n", dds->header.flags);
1633 {0xff, 0x00, 0x00, 0x00, 0xff, 0x00,
1634 0x00, 0x00, 0xff, 0x00, 0x00, 0xff,};
1636 IDirect3DSurface9 *surface;
1645 skip(
"Couldn't create surface.\n");
1661 ok(image_info.
Width == 2,
"Wrong width %u.\n", image_info.
Width);
1662 ok(image_info.
Height == 2,
"Wrong height %u.\n", image_info.
Height);
1670 "Pixel data mismatch in the first row.\n");
1672 "Pixel data mismatch in the second row.\n");
1687 "Pixel data mismatch in the first row.\n");
1689 "Pixel data mismatch in the second row.\n");
1716 ok(image_info.
Width == 2,
"Wrong width %u.\n", image_info.
Width);
1723 "Pixel data mismatch in the first row.\n");
1725 "Pixel data mismatch in the second row.\n");
1760 IDirect3DDevice9 *
device;
1767 skip(
"Couldn't create application window\n");
1772 skip(
"Couldn't create IDirect3D9 object\n");
1782 skip(
"Failed to create IDirect3DDevice9 object %#x\n",
hr);
#define IDirect3D9_CreateDevice(p, a, b, c, d, e, f)
#define D3DADAPTER_DEFAULT
#define IDirect3DSurface9_Release(p)
#define DDS_PF_ALPHA_ONLY
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
#define DDS_PF_BUMPLUMINANCE
GLint GLint GLsizei width
static void _check_pixel_4bpp(unsigned int line, const D3DLOCKED_RECT *lockrect, int x, int y, DWORD expected_color)
#define D3DCREATE_SOFTWARE_VERTEXPROCESSING
#define HRESULT_FROM_WIN32(x)
static unsigned int file_size
#define check_pixel_2bpp(lockrect, x, y, color)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define check_dds_pixel_format(flags, fourcc, bpp, rmask, gmask, bmask, amask, format)
static void test_D3DXGetImageInfo(void)
HRESULT WINAPI D3DXLoadSurfaceFromSurface(IDirect3DSurface9 *dst_surface, const PALETTEENTRY *dst_palette, const RECT *dst_rect, IDirect3DSurface9 *src_surface, const PALETTEENTRY *src_palette, const RECT *src_rect, DWORD filter, D3DCOLOR color_key)
static const unsigned char bmp_4bpp[]
static const unsigned char noimage[4]
#define IDirect3DTexture9_GetSurfaceLevel(p, a, b)
static struct test_info tests[]
#define D3DX_FILTER_MIRROR
static const unsigned char bmp_1bpp[]
#define IDirect3DTexture9_Release(p)
#define D3DERR_INVALIDCALL
static void test_D3DXLoadSurface(IDirect3DDevice9 *device)
#define INVALID_HANDLE_VALUE
#define D3DX_FILTER_LINEAR
DWORD WINAPI GetLastError(VOID)
GLint GLint GLint GLint GLint x
#define MAKEINTRESOURCEA(i)
HRESULT WINAPI D3DXLoadSurfaceFromFileA(IDirect3DSurface9 *dst_surface, const PALETTEENTRY *dst_palette, const RECT *dst_rect, const char *src_file, const RECT *src_rect, DWORD filter, D3DCOLOR color_key, D3DXIMAGE_INFO *src_info)
#define IDirect3DDevice9_CreateRenderTarget(p, a, b, c, d, e, f, g, h)
BOOL WINAPI DestroyWindow(_In_ HWND)
IDirect3D9 *WINAPI Direct3DCreate9(UINT SDKVersion)
static const unsigned char bmp_32bpp_argb[]
#define IDirect3DDevice9_CreateOffscreenPlainSurface(p, a, b, c, d, e, f)
#define IDirect3D9_Release(p)
static const unsigned char dds_16bit[]
static void fill_dds_header(struct dds_header *header)
static struct _test_info info[]
#define CreateWindowA(a, b, c, d, e, f, g, h, i, j, k)
HRESULT WINAPI D3DXLoadSurfaceFromResourceA(IDirect3DSurface9 *dst_surface, const PALETTEENTRY *dst_palette, const RECT *dst_rect, HMODULE src_module, const char *resource, const RECT *src_rect, DWORD filter, D3DCOLOR color_key, D3DXIMAGE_INFO *src_info)
#define D3DX_FILTER_TRIANGLE
static const unsigned char bmp_32bpp_xrgb[]
#define check_pixel_4bpp(lockrect, x, y, color)
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
struct ID3DXBuffer ID3DXBuffer
enum _D3DFORMAT D3DFORMAT
#define IDirect3DDevice9_GetRenderTarget(p, a, b)
static void test_dds_header_handling(void)
static void check_dds_pixel_format_(unsigned int line, DWORD flags, DWORD fourcc, DWORD bpp, DWORD rmask, DWORD gmask, DWORD bmask, DWORD amask, D3DFORMAT expected_format)
D3DXIMAGE_FILEFORMAT ImageFileFormat
#define ID3DXBuffer_GetBufferSize(p)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static const unsigned char bmp_2bpp[]
#define D3DUSAGE_RENDERTARGET
static void test_D3DXSaveSurfaceToFile(IDirect3DDevice9 *device)
HRESULT WINAPI D3DXGetImageInfoFromFileA(const char *file, D3DXIMAGE_INFO *info)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static void _check_release(unsigned int line, IUnknown *obj, int exp)
static const unsigned char dds_8bit[]
#define FILE_ATTRIBUTE_NORMAL
HRESULT WINAPI D3DXSaveSurfaceToFileInMemory(ID3DXBuffer **dst_buffer, D3DXIMAGE_FILEFORMAT file_format, IDirect3DSurface9 *src_surface, const PALETTEENTRY *src_palette, const RECT *src_rect)
static const BYTE dds_dxt5[]
static const unsigned char dds_volume_map[]
GLsizeiptr const GLvoid GLenum usage
static const unsigned char png_grayscale[]
BOOL WINAPI SetRectEmpty(_Out_ LPRECT)
GLint GLint GLsizei GLsizei height
static const unsigned char dds_cube_map[]
static void test_D3DXSaveSurfaceToFileInMemory(IDirect3DDevice9 *device)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
HRESULT WINAPI D3DXLoadSurfaceFromMemory(IDirect3DSurface9 *dst_surface, const PALETTEENTRY *dst_palette, const RECT *dst_rect, const void *src_memory, D3DFORMAT src_format, UINT src_pitch, const PALETTEENTRY *src_palette, const RECT *src_rect, DWORD filter, D3DCOLOR color_key)
HRESULT WINAPI D3DXSaveSurfaceToFileA(const char *dst_filename, D3DXIMAGE_FILEFORMAT file_format, IDirect3DSurface9 *src_surface, const PALETTEENTRY *src_palette, const RECT *src_rect)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define IDirect3DDevice9_CreateTexture(p, a, b, c, d, e, f, g, h)
static void _check_pixel_2bpp(unsigned int line, const D3DLOCKED_RECT *lockrect, int x, int y, WORD expected_color)
#define ID3DXBuffer_Release(p)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
static const unsigned char bmp_8bpp[]
static const unsigned char dds_24bit[]
GLint GLint GLint GLint GLint GLint y
#define IDD_BITMAPDATA_1x1
HRESULT WINAPI D3DXGetImageInfoFromResourceA(HMODULE module, const char *resource, D3DXIMAGE_INFO *info)
#define IDirect3DSurface9_UnlockRect(p)
static HRESULT create_file(const char *filename, const unsigned char *data, const unsigned int size)
#define WS_OVERLAPPEDWINDOW
#define D3DX_FILTER_POINT
HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(const void *data, UINT datasize, D3DXIMAGE_INFO *info)
#define check_release(obj, exp)
#define CreateFileA(a, b, c, d, e, f, g)
#define IDirect3DSurface9_LockRect(p, a, b, c)
static const BYTE dds_dxt5_8_8[]
#define MAKEFOURCC(ch0, ch1, ch2, ch3)
static const unsigned char pixdata[]
#define HeapFree(x, y, z)
#define ID3DXBuffer_GetBufferPointer(p)
HRESULT WINAPI D3DXLoadSurfaceFromFileInMemory(IDirect3DSurface9 *pDestSurface, const PALETTEENTRY *pDestPalette, const RECT *pDestRect, const void *pSrcData, UINT SrcDataSize, const RECT *pSrcRect, DWORD dwFilter, D3DCOLOR Colorkey, D3DXIMAGE_INFO *pSrcInfo)