1 /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2  * This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 
6 #ifndef mozilla_gfx_thebes_D3D11Checks_h
7 #define mozilla_gfx_thebes_D3D11Checks_h
8 
9 struct ID3D11Device;
10 struct IDXGIAdapter;
11 struct DXGI_ADAPTER_DESC;
12 
13 namespace mozilla {
14 namespace gfx {
15 
16 struct D3D11Checks
17 {
18   static bool DoesRenderTargetViewNeedRecreating(ID3D11Device* aDevice);
19   static bool DoesDeviceWork();
20   static bool DoesTextureSharingWork(ID3D11Device *device);
21   static bool DoesAlphaTextureSharingWork(ID3D11Device *device);
22   static void WarnOnAdapterMismatch(ID3D11Device* device);
23   static bool GetDxgiDesc(ID3D11Device* device, DXGI_ADAPTER_DESC* out);
24   static bool DoesRemotePresentWork(IDXGIAdapter* adapter);
25 };
26 
27 } // namespace gfx
28 } // namespace mozilla
29 
30 #endif // mozilla_gfx_thebes_D3D11Checks_h
31