Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
GraphicsAdapter.cs
Go to the documentation of this file.
1using System;
5using System.IO;
9using _003CCppImplementationDetails_003E;
10
12
13public sealed class GraphicsAdapter
14{
15 private class CleanupHelper : IDisposable
16 {
17 private unsafe void _0021CleanupHelper()
18 {
19 if (pComPtr != null)
20 {
21 int num = *(int*)pComPtr + 8;
22 ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint>)(int)(*(uint*)num))((nint)pComPtr);
23 pComPtr = null;
24 }
25 }
26
27 private void _007ECleanupHelper()
28 {
29 }
30
32 protected virtual void Dispose([MarshalAs(UnmanagedType.U1)] bool P_0)
33 {
34 if (!P_0)
35 {
36 try
37 {
39 }
40 finally
41 {
42 base.Finalize();
43 }
44 }
45 }
46
47 public virtual sealed void Dispose()
48 {
49 Dispose(true);
50 GC.SuppressFinalize(this);
51 }
52
54 {
55 Dispose(false);
56 }
57 }
58
59 internal unsafe static IDirect3D9* pComPtr;
60
62
64
66
68
69 private string _description;
70
71 private string _deviceName;
72
73 private int _vendorId;
74
75 private int _deviceId;
76
77 private int _subSystemId;
78
79 private int _revision;
80
81 internal uint adapter;
82
84
86
87 internal static _D3DDEVTYPE CurrentDeviceType
88 {
89 get
90 {
92 {
93 return (_D3DDEVTYPE)4;
94 }
95 return (!_003Cbacking_store_003EUseReferenceDevice) ? ((_D3DDEVTYPE)1) : ((_D3DDEVTYPE)2);
96 }
97 }
98
99 public static bool UseReferenceDevice
100 {
101 [return: MarshalAs(UnmanagedType.U1)]
102 get
103 {
105 }
107 set
108 {
110 }
111 }
112
113 public static bool UseNullDevice
114 {
115 [return: MarshalAs(UnmanagedType.U1)]
116 get
117 {
119 }
121 set
122 {
124 }
125 }
126
127 public unsafe IntPtr MonitorHandle
128 {
129 get
130 {
131 int num = *(int*)pComPtr + 60;
132 return (IntPtr)((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, HMONITOR__*>)(int)(*(uint*)num))((nint)pComPtr, adapter);
133 }
134 }
135
137 {
138 get
139 {
140 if (_supportedDisplayModes == null)
141 {
143 if (pComPtr != null)
144 {
145 List<SurfaceFormat>.Enumerator enumerator = ProfileCapabilities.HiDef.ValidTextureFormats.GetEnumerator();
146 if (enumerator.MoveNext())
147 {
149 do
150 {
151 SurfaceFormat current = enumerator.Current;
152 _D3DFORMAT d3DFORMAT = _003CModule_003E.ConvertXnaFormatToWindowsAdapterFormat(current);
153 int num = *(int*)pComPtr + 24;
154 int num2 = (int)((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, _D3DFORMAT, uint>)(int)(*(uint*)num))((nint)pComPtr, adapter, d3DFORMAT);
155 if (num2 <= 0)
156 {
157 continue;
158 }
160 int num3 = 0;
161 if (0 >= num2)
162 {
163 continue;
164 }
165 do
166 {
167 int num4 = *(int*)pComPtr + 28;
168 if (((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, _D3DFORMAT, uint, _D3DDISPLAYMODE*, int>)(int)(*(uint*)num4))((nint)pComPtr, adapter, d3DFORMAT, (uint)num3, &d3DDISPLAYMODE) >= 0)
169 {
171 if (!dictionary.ContainsKey(key))
172 {
173 dictionary.Add(key, value: true);
175 }
176 }
177 num3++;
178 }
179 while (num3 < num2);
180 }
181 while (enumerator.MoveNext());
182 }
183 }
185 }
187 }
188 }
189
191 {
192 get
193 {
194 if (_currentDisplayMode == null)
195 {
196 int num = *(int*)pComPtr + 32;
198 ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, _D3DDISPLAYMODE*, int>)(int)(*(uint*)num))((nint)pComPtr, adapter, &d3DDISPLAYMODE);
200 if (displayMode._format < SurfaceFormat.Color)
201 {
202 displayMode._format = SurfaceFormat.Color;
203 }
204 }
205 return _currentDisplayMode;
206 }
207 }
208
209 public bool IsWideScreen
210 {
211 [return: MarshalAs(UnmanagedType.U1)]
212 get
213 {
214 return (double)CurrentDisplayMode.AspectRatio > 1.600000023841858;
215 }
216 }
217
219 {
220 [return: MarshalAs(UnmanagedType.U1)]
221 get
222 {
223 return adapter == 0;
224 }
225 }
226
227 public int Revision => _revision;
228
230
231 public int DeviceId => _deviceId;
232
233 public int VendorId => _vendorId;
234
235 public string DeviceName => _deviceName;
236
237 public string Description => _description;
238
240
242
244 {
247 }
248
249 private unsafe static void InitalizeGraphics()
250 {
251 HINSTANCE__* ptr = _003CModule_003E.LoadLibraryW((ushort*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003F_003F_C_0040_1BK_0040FPBCHPIH_0040_003F_0024AAd_003F_0024AA3_003F_0024AAd_003F_0024AAx_003F_0024AA9_003F_0024AA__003F_0024AA4_003F_0024AA1_003F_0024AA_003F4_003F_0024AAd_003F_0024AAl_003F_0024AAl_003F_0024AA_003F_0024AA_0040));
252 try
253 {
254 if (ptr == null)
255 {
257 }
258 pComPtr = _003CModule_003E.Direct3DCreate9(32u);
260 }
261 finally
262 {
263 if (ptr != null)
264 {
265 _003CModule_003E.FreeLibrary(ptr);
266 }
267 }
268 _003CModule_003E.D3DPERF_SetOptions(2u);
269 }
270
271 private unsafe static void InitializeAdapterList()
272 {
274 int num = *(int*)pComPtr + 16;
275 uint num2 = ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint>)(int)(*(uint*)num))((nint)pComPtr);
276 uint num3 = 0u;
277 if (0 < num2)
278 {
279 do
280 {
282 num3++;
283 }
284 while (num3 < num2);
285 }
287 }
288
289 private unsafe GraphicsAdapter(uint adapterOrdinal)
290 {
292 base._002Ector();
293 int num = *(int*)pComPtr + 20;
295 ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, uint, _D3DADAPTER_IDENTIFIER9*, int>)(int)(*(uint*)num))((nint)pComPtr, adapter, 0u, &d3DADAPTER_IDENTIFIER);
304 }
305
306 [return: MarshalAs(UnmanagedType.U1)]
312
313 [return: MarshalAs(UnmanagedType.U1)]
319
320 [return: MarshalAs(UnmanagedType.U1)]
322 {
326 int num2 = ((selectedFormat == format && selectedDepthFormat == depthFormat && num == multiSampleCount) ? 1 : 0);
327 return (byte)num2 != 0;
328 }
329
331 {
333 {
334 return format;
335 }
336 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 1) == 0)
337 {
338 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 1u;
339 try
340 {
341 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY05W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003FcolorFallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 20)) = -1;
342 }
343 catch
344 {
345 //try-fault
346 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294967294u;
347 throw;
348 }
349 }
350 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 2) == 0)
351 {
352 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 2u;
353 try
354 {
355 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY05W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003Fbgr565Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 20)) = -1;
356 }
357 catch
358 {
359 //try-fault
360 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294967293u;
361 throw;
362 }
363 }
364 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 4) == 0)
365 {
366 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 4u;
367 try
368 {
369 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY05W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003Fbgra5551Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 20)) = -1;
370 }
371 catch
372 {
373 //try-fault
374 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294967291u;
375 throw;
376 }
377 }
378 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 8) == 0)
379 {
380 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 8u;
381 try
382 {
383 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY05W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003Fbgra4444Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 20)) = -1;
384 }
385 catch
386 {
387 //try-fault
388 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294967287u;
389 throw;
390 }
391 }
392 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x10) == 0)
393 {
394 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 16u;
395 try
396 {
397 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY05W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003Frgba1010102Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 20)) = -1;
398 }
399 catch
400 {
401 //try-fault
402 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294967279u;
403 throw;
404 }
405 }
406 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x20) == 0)
407 {
408 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 32u;
409 try
410 {
411 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY06W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003Frg32Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 24)) = -1;
412 }
413 catch
414 {
415 //try-fault
416 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294967263u;
417 throw;
418 }
419 }
420 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x40) == 0)
421 {
422 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 64u;
423 try
424 {
425 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY05W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003Frgba64Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 20)) = -1;
426 }
427 catch
428 {
429 //try-fault
430 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294967231u;
431 throw;
432 }
433 }
434 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x80) == 0)
435 {
436 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 128u;
437 try
438 {
439 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003FsingleFallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 48)) = -1;
440 }
441 catch
442 {
443 //try-fault
444 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294967167u;
445 throw;
446 }
447 }
448 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x100) == 0)
449 {
450 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 256u;
451 try
452 {
453 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY0L_0040W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003Fvector2Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 40)) = -1;
454 }
455 catch
456 {
457 //try-fault
458 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294967039u;
459 throw;
460 }
461 }
462 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x200) == 0)
463 {
464 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 512u;
465 try
466 {
467 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY07W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003Fvector4Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 28)) = -1;
468 }
469 catch
470 {
471 //try-fault
472 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294966783u;
473 throw;
474 }
475 }
476 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x400) == 0)
477 {
478 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 1024u;
479 try
480 {
481 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY0N_0040W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003FhalfSingleFallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 48)) = -1;
482 }
483 catch
484 {
485 //try-fault
486 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294966271u;
487 throw;
488 }
489 }
490 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x800) == 0)
491 {
492 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 2048u;
493 try
494 {
495 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY0L_0040W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003FhalfVector2Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 40)) = -1;
496 }
497 catch
498 {
499 //try-fault
500 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294965247u;
501 throw;
502 }
503 }
504 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x1000) == 0)
505 {
506 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 4096u;
507 try
508 {
509 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY07W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003FhalfVector4Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 28)) = -1;
510 }
511 catch
512 {
513 //try-fault
514 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294963199u;
515 throw;
516 }
517 }
518 if ((_003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA & 0x2000) == 0)
519 {
520 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA |= 8192u;
521 try
522 {
523 System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY06W4SurfaceFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref System.Runtime.CompilerServices.Unsafe.AddByteOffset(ref _003CModule_003E._003FA0x49afb68d_002E_003FdefaultFallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A, 24)) = -1;
524 }
525 catch
526 {
527 //try-fault
528 _003CModule_003E._003FA0x49afb68d_002E_003F_0024S2_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404IA &= 4294959103u;
529 throw;
530 }
531 }
532 SurfaceFormat* ptr = format switch
533 {
534 SurfaceFormat.Color => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003FcolorFallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
535 SurfaceFormat.Bgr565 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003Fbgr565Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
536 SurfaceFormat.Bgra5551 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003Fbgra5551Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
537 SurfaceFormat.Bgra4444 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003Fbgra4444Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
538 SurfaceFormat.Rgba1010102 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003Frgba1010102Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
539 SurfaceFormat.Rg32 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003Frg32Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
540 SurfaceFormat.Rgba64 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003Frgba64Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
541 SurfaceFormat.Single => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003FsingleFallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
542 SurfaceFormat.Vector2 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003Fvector2Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
543 SurfaceFormat.Vector4 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003Fvector4Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
544 SurfaceFormat.HalfSingle => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003FhalfSingleFallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
545 SurfaceFormat.HalfVector2 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003FhalfVector2Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
546 SurfaceFormat.HalfVector4 => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003FhalfVector4Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
547 SurfaceFormat.HdrBlendable => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003FhalfVector4Fallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
548 _ => (SurfaceFormat*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref _003CModule_003E._003FA0x49afb68d_002E_003FdefaultFallbacks_0040_003F4_003F_003FQuerySurfaceFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4SurfaceFormat_00403456_0040W473456_0040_NW4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A),
549 };
550 int num = 0;
551 if (*ptr > (SurfaceFormat)(-1))
552 {
553 do
554 {
556 {
557 num++;
558 continue;
559 }
560 return *(SurfaceFormat*)(sizeof(SurfaceFormat) * num + (byte*)ptr);
561 }
562 while (*(int*)(sizeof(SurfaceFormat) * num + (byte*)ptr) > -1);
563 }
565 }
566
568 {
570 {
571 return depthFormat;
572 }
573 int num = 0;
574 if (System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY03W4DepthFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, int>(ref _003CModule_003E._003FA0x49afb68d_002E_003FfallbackFormats_0040_003F4_003F_003FQueryDepthFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4DepthFormat_00403456_0040W473456_0040W4SurfaceFormat_00403456_0040W4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A) != 0)
575 {
576 do
577 {
578 int num2 = *(int*)((ref *(_003F*)(sizeof(DepthFormat) * num)) + (ref System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY03W4DepthFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, _003F>(ref _003CModule_003E._003FA0x49afb68d_002E_003FfallbackFormats_0040_003F4_003F_003FQueryDepthFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4DepthFormat_00403456_0040W473456_0040W4SurfaceFormat_00403456_0040W4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A)));
579 if (num2 != (int)depthFormat)
580 {
582 if (depthFormat2 != 0)
583 {
584 if (!profileCapabilities.ValidDepthFormats.Contains(depthFormat2))
585 {
586 goto IL_007f;
587 }
588 if (deviceType != (_D3DDEVTYPE)4)
589 {
590 int num3 = *(int*)pComPtr + 48;
591 if (((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, _D3DDEVTYPE, _D3DFORMAT, _D3DFORMAT, _D3DFORMAT, int>)(int)(*(uint*)num3))((nint)pComPtr, adapter, deviceType, ProfileChecker.IRRELEVANT_ADAPTER_FORMAT, _003CModule_003E.ConvertXnaFormatToWindows(surfaceFormat), _003CModule_003E.ConvertXnaFormatToWindows(depthFormat2)) < 0)
592 {
593 goto IL_007f;
594 }
595 }
596 }
597 return *(DepthFormat*)((ref *(_003F*)(sizeof(DepthFormat) * num)) + (ref System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY03W4DepthFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, _003F>(ref _003CModule_003E._003FA0x49afb68d_002E_003FfallbackFormats_0040_003F4_003F_003FQueryDepthFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4DepthFormat_00403456_0040W473456_0040W4SurfaceFormat_00403456_0040W4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A)));
598 }
599 goto IL_007f;
600 IL_007f:
601 num++;
602 }
603 while (*(int*)((ref *(_003F*)(sizeof(DepthFormat) * num)) + (ref System.Runtime.CompilerServices.Unsafe.As<_0024ArrayType_0024_0024_0024BY03W4DepthFormat_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040, _003F>(ref _003CModule_003E._003FA0x49afb68d_002E_003FfallbackFormats_0040_003F4_003F_003FQueryDepthFormat_0040GraphicsAdapter_0040Graphics_0040Framework_0040Xna_0040Microsoft_0040_0040A_0024AAM_003FAW4DepthFormat_00403456_0040W473456_0040W4SurfaceFormat_00403456_0040W4_D3DDEVTYPE_0040_0040P_0024AAVProfileCapabilities_00403456_0040_0040Z_00404PAW473456_0040A))) != 0);
604 }
606 }
607
608 private unsafe int QueryMultiSampleCount(int multiSampleCount, SurfaceFormat surfaceFormat, _D3DDEVTYPE deviceType)
609 {
610 if (multiSampleCount <= 1)
611 {
612 return 0;
613 }
614 if (multiSampleCount > 16)
615 {
616 multiSampleCount = 16;
617 }
618 do
619 {
620 int num = *(int*)pComPtr + 44;
621 if (((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, _D3DDEVTYPE, _D3DFORMAT, int, _D3DMULTISAMPLE_TYPE, uint*, int>)(int)(*(uint*)num))((nint)pComPtr, adapter, deviceType, _003CModule_003E.ConvertXnaFormatToWindows(surfaceFormat), 0, (_D3DMULTISAMPLE_TYPE)multiSampleCount, null) < 0)
622 {
623 multiSampleCount--;
624 continue;
625 }
626 return multiSampleCount;
627 }
628 while (multiSampleCount > 1);
629 return 0;
630 }
631
632 [return: MarshalAs(UnmanagedType.U1)]
634 {
635 if (!profileCapabilities.ValidTextureFormats.Contains(format))
636 {
637 return false;
638 }
639 bool flag = profileCapabilities.InvalidBlendFormats.Contains(format);
640 if (isBackBuffer)
641 {
642 if (flag)
643 {
644 return false;
645 }
646 if (deviceType != (_D3DDEVTYPE)4)
647 {
648 int num = *(int*)pComPtr + 36;
649 if (((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, _D3DDEVTYPE, _D3DFORMAT, _D3DFORMAT, int, int>)(int)(*(uint*)num))((nint)pComPtr, adapter, deviceType, _003CModule_003E.ConvertXnaFormatToWindowsAdapterFormat(format), _003CModule_003E.ConvertXnaFormatToWindows(format), 0) < 0)
650 {
651 return false;
652 }
653 }
654 }
655 uint num2 = 1u;
656 if (!flag)
657 {
658 num2 = 524289u;
659 }
660 int num3 = *(int*)pComPtr + 40;
661 return ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, _D3DDEVTYPE, _D3DFORMAT, uint, _D3DRESOURCETYPE, _D3DFORMAT, int>)(int)(*(uint*)num3))((nint)pComPtr, adapter, deviceType, ProfileChecker.IRRELEVANT_ADAPTER_FORMAT, num2, (_D3DRESOURCETYPE)3, _003CModule_003E.ConvertXnaFormatToWindows(format)) >= 0;
662 }
663
664 [return: MarshalAs(UnmanagedType.U1)]
666 {
667 if (depthFormat == DepthFormat.None)
668 {
669 return true;
670 }
671 if (!profileCapabilities.ValidDepthFormats.Contains(depthFormat))
672 {
673 return false;
674 }
675 if (deviceType != (_D3DDEVTYPE)4)
676 {
677 int num = *(int*)pComPtr + 48;
678 if (((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, uint, _D3DDEVTYPE, _D3DFORMAT, _D3DFORMAT, _D3DFORMAT, int>)(int)(*(uint*)num))((nint)pComPtr, adapter, deviceType, ProfileChecker.IRRELEVANT_ADAPTER_FORMAT, _003CModule_003E.ConvertXnaFormatToWindows(surfaceFormat), _003CModule_003E.ConvertXnaFormatToWindows(depthFormat)) < 0)
679 {
680 return false;
681 }
682 }
683 return true;
684 }
685
686 [return: MarshalAs(UnmanagedType.U1)]
691
692 [return: MarshalAs(UnmanagedType.U1)]
697}
virtual void Dispose([MarshalAs(UnmanagedType.U1)] bool P_0)
static ReadOnlyCollection< GraphicsAdapter > pAdapterList
unsafe bool IsValidSurfaceFormat(SurfaceFormat format, [MarshalAs(UnmanagedType.U1)] bool isBackBuffer, _D3DDEVTYPE deviceType, ProfileCapabilities profileCapabilities)
unsafe DepthFormat QueryDepthFormat(DepthFormat depthFormat, SurfaceFormat surfaceFormat, _D3DDEVTYPE deviceType, ProfileCapabilities profileCapabilities)
bool QueryBackBufferFormat(GraphicsProfile graphicsProfile, SurfaceFormat format, DepthFormat depthFormat, int multiSampleCount, out SurfaceFormat selectedFormat, out DepthFormat selectedDepthFormat, out int selectedMultiSampleCount)
unsafe SurfaceFormat QuerySurfaceFormat(SurfaceFormat format, [MarshalAs(UnmanagedType.U1)] bool isBackBuffer, _D3DDEVTYPE deviceType, ProfileCapabilities profileCapabilities)
unsafe bool IsProfileSupported(_D3DDEVTYPE deviceType, GraphicsProfile graphicsProfile)
unsafe bool IsProfileSupported(GraphicsProfile graphicsProfile)
static ReadOnlyCollection< GraphicsAdapter > Adapters
unsafe bool IsValidDepthFormat(DepthFormat depthFormat, SurfaceFormat surfaceFormat, _D3DDEVTYPE deviceType, ProfileCapabilities profileCapabilities)
bool QueryRenderTargetFormat(GraphicsProfile graphicsProfile, SurfaceFormat format, DepthFormat depthFormat, int multiSampleCount, out SurfaceFormat selectedFormat, out DepthFormat selectedDepthFormat, out int selectedMultiSampleCount)
unsafe int QueryMultiSampleCount(int multiSampleCount, SurfaceFormat surfaceFormat, _D3DDEVTYPE deviceType)
bool QueryFormat([MarshalAs(UnmanagedType.U1)] bool isBackBuffer, _D3DDEVTYPE deviceType, GraphicsProfile graphicsProfile, SurfaceFormat format, DepthFormat depthFormat, int multiSampleCount, out SurfaceFormat selectedFormat, out DepthFormat selectedDepthFormat, out int selectedMultiSampleCount)
static ProfileCapabilities GetInstance(GraphicsProfile graphicsProfile)
static unsafe bool IsProfileSupported(IDirect3D9 *pD3D, uint adapter, _D3DDEVTYPE deviceType, GraphicsProfile graphicsProfile)
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
void Add(TKey key, TValue value)
static void SuppressFinalize(object obj)
Definition GC.cs:202
Definition GC.cs:8
static CultureInfo CurrentCulture
static unsafe? string PtrToStringAnsi(IntPtr ptr)
Definition Marshal.cs:630