1 //
2 // Copyright 2015 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 // dxgi_support_table:
7 //   Queries for DXGI support of various texture formats. Depends on DXGI
8 //   version, D3D feature level, and is sometimes guaranteed or optional.
9 //
10 
11 #ifndef LIBANGLE_RENDERER_D3D_D3D11_DXGI_SUPPORT_TABLE_H_
12 #define LIBANGLE_RENDERER_D3D_D3D11_DXGI_SUPPORT_TABLE_H_
13 
14 #include "common/platform.h"
15 
16 namespace rx
17 {
18 
19 namespace d3d11
20 {
21 
22 struct DXGISupport
23 {
DXGISupportDXGISupport24     DXGISupport()
25         : alwaysSupportedFlags(0),
26           neverSupportedFlags(0),
27           optionallySupportedFlags(0)
28     {
29     }
30 
DXGISupportDXGISupport31     DXGISupport(UINT alwaysSupportedIn, UINT neverSupportedIn, UINT optionallySupportedIn)
32         : alwaysSupportedFlags(alwaysSupportedIn),
33           neverSupportedFlags(neverSupportedIn),
34           optionallySupportedFlags(optionallySupportedIn)
35     {
36     }
37 
38     UINT alwaysSupportedFlags;
39     UINT neverSupportedFlags;
40     UINT optionallySupportedFlags;
41 };
42 
43 const DXGISupport &GetDXGISupport(DXGI_FORMAT dxgiFormat, D3D_FEATURE_LEVEL featureLevel);
44 
45 } // namespace d3d11
46 
47 } // namespace rx
48 
49 #endif  // LIBANGLE_RENDERER_D3D_D3D11_DXGI_SUPPORT_TABLE_H_
50