10bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// Copyright 2016 The SwiftShader Authors. All Rights Reserved.
2ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens//
30bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// Licensed under the Apache License, Version 2.0 (the "License");
40bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// you may not use this file except in compliance with the License.
50bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// You may obtain a copy of the License at
6ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens//
70bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens//    http://www.apache.org/licenses/LICENSE-2.0
8ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens//
90bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// Unless required by applicable law or agreed to in writing, software
100bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// distributed under the License is distributed on an "AS IS" BASIS,
110bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
120bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// See the License for the specific language governing permissions and
130bac285a78df6a6d7a6b68784748b92805420ffbNicolas Capens// limitations under the License.
14ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
15ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens#include "Capabilities.hpp"
16ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
17ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens#include "Main/Config.hpp"
18ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
19ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capensnamespace D3D9
20ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens{
21ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::NULL_ = true;
22ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::R8G8B8 = false;
23ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::R5G6B5 = true;
24ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::X1R5G5B5 = true;
25ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A1R5G5B5 = true;
26ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A4R4G4B4 = true;
27ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::R3G3B2 = false;
28ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A8R3G3B2 = false;
29ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::X4R4G4B4 = true;
30ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A8R8G8B8 = true;
31ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::X8R8G8B8 = true;
32ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A8B8G8R8 = true;
33ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::X8B8G8R8 = true;
34ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::G16R16 = true;
35ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A2B10G10R10 = true;
36ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A2R10G10B10 = true;
37ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A16B16G16R16 = true;
38ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::R16F = true;
39ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::G16R16F = true;
40ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A16B16G16R16F = true;
41ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::R32F = true;
42ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::G32R32F = true;
43ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::RenderTarget::A32B32G32R32F = true;
44ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
45ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::DepthStencil::D32 = true;
46ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::DepthStencil::D24S8 = true;
47ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::DepthStencil::D24X8 = true;
48ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::DepthStencil::D16 = true;
49ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::DepthStencil::D24FS8 = true;
50ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::DepthStencil::D32F_LOCKABLE = true;
51ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::DepthStencil::DF24 = true;
52ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::DepthStencil::DF16 = true;
53ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::DepthStencil::INTZ = true;
54ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
55ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A8 = true;
56ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::R5G6B5 = true;
57ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::X1R5G5B5 = true;
58ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A1R5G5B5 = true;
59ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A4R4G4B4 = true;
60ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::R3G3B2 = true;
61ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A8R3G3B2 = true;
62ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::X4R4G4B4 = true;
63ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::R8G8B8 = true;
64ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::X8R8G8B8 = true;
65ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A8R8G8B8 = true;
66ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::X8B8G8R8 = true;
67ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A8B8G8R8 = true;
68ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::P8 = false;
69ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A8P8 = false;
70ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::G16R16 = true;
71ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A2R10G10B10 = true;
72ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A2B10G10R10 = true;
73ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A16B16G16R16 = true;
7426a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Surface::DXT1 = true;
7526a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Surface::DXT2 = true;
7626a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Surface::DXT3 = true;
7726a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Surface::DXT4 = true;
7826a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Surface::DXT5 = true;
7926a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Surface::ATI1 = true;
8026a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Surface::ATI2 = true;
81ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::R16F = true;
82ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::G16R16F = true;
83ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A16B16G16R16F = true;
84ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::R32F = true;
85ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::G32R32F = true;
86ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A32B32G32R32F = true;
87ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::V8U8 = true;
88ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::L6V5U5 = true;
89ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::X8L8V8U8 = true;
90ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::Q8W8V8U8 = true;
91ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::V16U16 = true;
92ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A2W10V10U10 = true;
93ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::Q16W16V16U16 = true;
94ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::L8 = true;
95ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A4L4 = true;
96ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::L16 = true;
97ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::A8L8 = true;
98ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::NVDB = false;
99ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Surface::ATOC = true;
100ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
101ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A8 = true;
102ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::R5G6B5 = true;
103ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::X1R5G5B5 = true;
104ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A1R5G5B5 = true;
105ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A4R4G4B4 = true;
106ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::R3G3B2 = true;
107ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A8R3G3B2 = true;
108ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::X4R4G4B4 = true;
109ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::R8G8B8 = false;
110ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::X8R8G8B8 = true;
111ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A8R8G8B8 = true;
112ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::X8B8G8R8 = true;
113ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A8B8G8R8 = true;
114ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::P8 = false;
115ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A8P8 = false;
116ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::G16R16 = true;
117ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A2R10G10B10 = true;
118ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A2B10G10R10 = true;
119ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A16B16G16R16 = true;
12026a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Volume::DXT1 = true;
12126a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Volume::DXT2 = true;
12226a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Volume::DXT3 = true;
12326a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Volume::DXT4 = true;
12426a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Volume::DXT5 = true;
12526a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Volume::ATI1 = true;
12626a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Volume::ATI2 = true;
127ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::R16F = true;
128ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::G16R16F = true;
129ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A16B16G16R16F = true;
130ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::R32F = true;
131ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::G32R32F = true;
132ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A32B32G32R32F = true;
133ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::V8U8 = true;
134ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::L6V5U5 = true;
135ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::X8L8V8U8 = true;
136ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::Q8W8V8U8 = true;
137ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::V16U16 = true;
138ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A2W10V10U10 = true;
139ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::Q16W16V16U16 = true;
140ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::L8 = true;
141ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A4L4 = true;
142ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::L16 = true;
143ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Volume::A8L8 = true;
144ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
145ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::NULL_ = true;
146ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::R8G8B8 = false;
147ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::R5G6B5 = true;
148ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::X1R5G5B5 = true;
149ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A1R5G5B5 = true;
150ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A4R4G4B4 = true;
151ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::R3G3B2 = false;
152ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A8R3G3B2 = false;
153ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::X4R4G4B4 = true;
154ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A8R8G8B8 = true;
155ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::X8R8G8B8 = true;
156ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A8B8G8R8 = true;
157ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::X8B8G8R8 = true;
158ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::G16R16 = true;
159ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A2B10G10R10 = true;
160ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A2R10G10B10 = true;
161ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A16B16G16R16 = true;
162ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::R16F = true;
163ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::G16R16F = true;
164ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A16B16G16R16F = true;
165ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::R32F = true;
166ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::G32R32F = true;
167ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::RenderTarget::A32B32G32R32F = true;
168ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
169ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::DepthStencil::D32 = false;
170ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::DepthStencil::D24S8 = false;
171ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::DepthStencil::D24X8 = false;
172ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::DepthStencil::D16 = false;
173ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::DepthStencil::D24FS8 = false;
174ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::DepthStencil::D32F_LOCKABLE = false;
175ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::DepthStencil::DF24 = false;
176ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::DepthStencil::DF16 = false;
177ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::DepthStencil::INTZ = false;
178ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
179ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A8 = true;
180ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::R5G6B5 = true;
181ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::X1R5G5B5 = true;
182ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A1R5G5B5 = true;
183ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A4R4G4B4 = true;
184ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::R3G3B2 = true;
185ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A8R3G3B2 = true;
186ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::X4R4G4B4 = true;
187ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::R8G8B8 = false;
188ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::X8R8G8B8 = true;
189ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A8R8G8B8 = true;
190ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::X8B8G8R8 = true;
191ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A8B8G8R8 = true;
192ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::P8 = false;
193ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A8P8 = false;
194ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::G16R16 = true;
195ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A2R10G10B10 = true;
196ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A2B10G10R10 = true;
197ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A16B16G16R16 = true;
19826a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::CubeMap::DXT1 = true;
19926a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::CubeMap::DXT2 = true;
20026a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::CubeMap::DXT3 = true;
20126a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::CubeMap::DXT4 = true;
20226a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::CubeMap::DXT5 = true;
20326a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::CubeMap::ATI1 = true;
20426a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::CubeMap::ATI2 = true;
205ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::R16F = true;
206ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::G16R16F = true;
207ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A16B16G16R16F = true;
208ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::R32F = true;
209ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::G32R32F = true;
210ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A32B32G32R32F = true;
211ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::V8U8 = true;
212ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::L6V5U5 = true;
213ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::X8L8V8U8 = true;
214ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::Q8W8V8U8 = true;
215ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::V16U16 = true;
216ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A2W10V10U10 = true;
217ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::Q16W16V16U16 = true;
218ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::L8 = true;
219ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A4L4 = true;
220ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::L16 = true;
221ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::CubeMap::A8L8 = true;
222ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
223ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A8 = true;
224ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::R5G6B5 = true;
225ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::X1R5G5B5 = true;
226ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A1R5G5B5 = true;
227ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A4R4G4B4 = true;
228ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::R3G3B2 = true;
229ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A8R3G3B2 = true;
230ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::X4R4G4B4 = true;
231ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::R8G8B8 = false;
232ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::X8R8G8B8 = true;
233ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A8R8G8B8 = true;
234ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::X8B8G8R8 = true;
235ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A8B8G8R8 = true;
236ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::P8 = false;
237ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A8P8 = false;
238ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::G16R16 = true;
239ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A2R10G10B10 = true;
240ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A2B10G10R10 = true;
241ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A16B16G16R16 = true;
24226a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::VolumeTexture::DXT1 = true;
24326a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::VolumeTexture::DXT2 = true;
24426a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::VolumeTexture::DXT3 = true;
24526a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::VolumeTexture::DXT4 = true;
24626a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::VolumeTexture::DXT5 = true;
24726a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::VolumeTexture::ATI1 = true;
24826a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::VolumeTexture::ATI2 = true;
249ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::R16F = true;
250ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::G16R16F = true;
251ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A16B16G16R16F = true;
252ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::R32F = true;
253ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::G32R32F = true;
254ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A32B32G32R32F = true;
255ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::V8U8 = true;
256ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::L6V5U5 = true;
257ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::X8L8V8U8 = true;
258ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::Q8W8V8U8 = true;
259ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::V16U16 = true;
260ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A2W10V10U10 = true;
261ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::Q16W16V16U16 = true;
262ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::L8 = true;
263ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A4L4 = true;
264ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::L16 = true;
265ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::VolumeTexture::A8L8 = true;
266ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
267ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::NULL_ = true;
268ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::R8G8B8 = false;
269ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::R5G6B5 = true;
270ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::X1R5G5B5 = true;
271ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A1R5G5B5 = true;
272ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A4R4G4B4 = true;
273ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::R3G3B2 = false;
274ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A8R3G3B2 = false;
275ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::X4R4G4B4 = true;
276ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A8R8G8B8 = true;
277ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::X8R8G8B8 = true;
278ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A8B8G8R8 = true;
279ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::X8B8G8R8 = true;
280ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::G16R16 = true;
281ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A2B10G10R10 = true;
282ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A2R10G10B10 = true;
283ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A16B16G16R16 = true;
284ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::R16F = true;
285ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::G16R16F = true;
286ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A16B16G16R16F = true;
287ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::R32F = true;
288ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::G32R32F = true;
289ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::RenderTarget::A32B32G32R32F = true;
290ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
291ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DepthStencil::D32 = true;
292ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DepthStencil::D24S8 = true;
293ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DepthStencil::D24X8 = true;
294ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DepthStencil::D16 = true;
295ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DepthStencil::D24FS8 = true;
296ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DepthStencil::D32F_LOCKABLE = true;
297ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DepthStencil::DF24 = true;
298ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DepthStencil::DF16 = true;
299ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DepthStencil::INTZ = true;
300ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
301ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::NULL_ = true;
302ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A8 = true;
303ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::R5G6B5 = true;
304ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::X1R5G5B5 = true;
305ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A1R5G5B5 = true;
306ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A4R4G4B4 = true;
307ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::R3G3B2 = true;
308ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A8R3G3B2 = true;
309ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::X4R4G4B4 = true;
310ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::R8G8B8 = false;
311ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::X8R8G8B8 = true;
312ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A8R8G8B8 = true;
313ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::X8B8G8R8 = true;
314ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A8B8G8R8 = true;
315ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::P8 = false;
316ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A8P8 = false;
317ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::G16R16 = true;
318ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A2R10G10B10 = true;
319ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A2B10G10R10 = true;
320ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A16B16G16R16 = true;
32126a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Texture::DXT1 = true;
32226a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Texture::DXT2 = true;
32326a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Texture::DXT3 = true;
32426a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Texture::DXT4 = true;
32526a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Texture::DXT5 = true;
32626a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Texture::ATI1 = true;
32726a867586fab18872c7a379b4e443a7448d16382Nicolas Capens	bool Capabilities::Texture::ATI2 = true;
328ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::R16F = true;
329ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::G16R16F = true;
330ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A16B16G16R16F = true;
331ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::R32F = true;
332ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::G32R32F = true;
333ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A32B32G32R32F = true;
334ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::V8U8 = true;
335ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::L6V5U5 = true;
336ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::X8L8V8U8 = true;
337ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::Q8W8V8U8 = true;
338ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::V16U16 = true;
339ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A2W10V10U10 = true;
340ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::Q16W16V16U16 = true;
341ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::L8 = true;
342ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A4L4 = true;
343ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::L16 = true;
344ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::A8L8 = true;
345ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::D32 = true;
346ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::D24S8 = true;
347ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::D24X8 = true;
348ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::D16 = true;
349ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::D24FS8 = true;
350ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::D32F_LOCKABLE = true;
351ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DF24 = true;
352ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::DF16 = true;
353ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::Texture::INTZ = true;
354ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
355ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::isSRGBreadable(D3DFORMAT format)
356ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	{
357ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		// Keep in sync with Surface::isSRGBreadable
358ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		switch(format)
359ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		{
360ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_L8:
361ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_A8L8:
362ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_R8G8B8:
363ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_A8R8G8B8:
364ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_X8R8G8B8:
365ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_A8B8G8R8:
366ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_X8B8G8R8:
367ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_R5G6B5:
368ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_X1R5G5B5:
369ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_A1R5G5B5:
370ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_A4R4G4B4:
371ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_DXT1:
372ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_DXT2:
373ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_DXT3:
374ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_DXT4:
375ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_DXT5:
376ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_ATI1:
377ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_ATI2:
378ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens			return true;
379ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		default:
380ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens			return false;
381ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		}
382ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
383ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		return false;
384ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	}
385ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
386ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	bool Capabilities::isSRGBwritable(D3DFORMAT format)
387ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	{
388ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		// Keep in sync with Surface::isSRGBwritable
389ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		switch(format)
390ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		{
391ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_NULL:
392ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_A8R8G8B8:
393ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_X8R8G8B8:
394ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_A8B8G8R8:
395ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_X8B8G8R8:
396ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		case D3DFMT_R5G6B5:
397ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens			return true;
398ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		default:
399ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens			return false;
400ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens		}
401ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	}
402ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
403ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned int pixelShaderVersionX = D3DPS_VERSION(3, 0);
404ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned int vertexShaderVersionX = D3DVS_VERSION(3, 0);
405ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
406ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned long pixelShaderArbitrarySwizzle = D3DPS20CAPS_ARBITRARYSWIZZLE;
407ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned long pixelShaderGradientInstructions = D3DPS20CAPS_GRADIENTINSTRUCTIONS;
408ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned long pixelShaderPredication = D3DPS20CAPS_PREDICATION;
409ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned long pixelShaderNoDependentReadLimit = D3DPS20CAPS_NODEPENDENTREADLIMIT;
410ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned long pixelShaderNoTexInstructionLimit = D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT;
411ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
412ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned long pixelShaderDynamicFlowControlDepth = D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH;
413ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned long pixelShaderStaticFlowControlDepth = D3DPS20_MAX_STATICFLOWCONTROLDEPTH;
414ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
415ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned long vertexShaderPredication = D3DVS20CAPS_PREDICATION;
416ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned long vertexShaderDynamicFlowControlDepth = D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH;
417ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens
418ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned int textureMemory = 256 * 1024 * 1024;
419ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens	unsigned int maxAnisotropy = 16;
420ee16f0de07d4b02a81c1c9ac716d631e67f487fcNicolas Capens}
421