// Copyright 2016 The SwiftShader Authors. All Rights Reserved. | |
// | |
// Licensed under the Apache License, Version 2.0 (the "License"); | |
// you may not use this file except in compliance with the License. | |
// You may obtain a copy of the License at | |
// | |
// http://www.apache.org/licenses/LICENSE-2.0 | |
// | |
// Unless required by applicable law or agreed to in writing, software | |
// distributed under the License is distributed on an "AS IS" BASIS, | |
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
// See the License for the specific language governing permissions and | |
// limitations under the License. | |
#ifndef D3D8_Capabilities_hpp | |
#define D3D8_Capabilities_hpp | |
#include <d3d8.h> | |
namespace D3D8 | |
{ | |
struct Capabilities | |
{ | |
struct Surface | |
{ | |
struct RenderTarget | |
{ | |
static bool R8G8B8; | |
static bool R5G6B5; | |
static bool X1R5G5B5; | |
static bool A1R5G5B5; | |
static bool A4R4G4B4; | |
static bool R3G3B2; | |
static bool A8R3G3B2; | |
static bool X4R4G4B4; | |
static bool A8R8G8B8; | |
static bool X8R8G8B8; | |
static bool A8B8G8R8; | |
static bool X8B8G8R8; | |
// Integer HDR formats | |
static bool G16R16; | |
static bool A2B10G10R10; | |
}; | |
struct DepthStencil | |
{ | |
static bool D32; | |
static bool D24S8; | |
static bool D24X8; | |
static bool D16; | |
}; | |
static bool A8; | |
static bool R5G6B5; | |
static bool X1R5G5B5; | |
static bool A1R5G5B5; | |
static bool A4R4G4B4; | |
static bool R3G3B2; | |
static bool A8R3G3B2; | |
static bool X4R4G4B4; | |
static bool R8G8B8; | |
static bool X8R8G8B8; | |
static bool A8R8G8B8; | |
static bool A8B8G8R8; | |
static bool X8B8G8R8; | |
// Paletted formats | |
static bool P8; | |
static bool A8P8; | |
// Integer HDR formats | |
static bool G16R16; | |
static bool A2B10G10R10; | |
// Compressed formats | |
static bool DXT1; | |
static bool DXT2; | |
static bool DXT3; | |
static bool DXT4; | |
static bool DXT5; | |
// Bump map formats | |
static bool V8U8; | |
static bool L6V5U5; | |
static bool X8L8V8U8; | |
static bool Q8W8V8U8; | |
static bool V16U16; | |
static bool A2W10V10U10; | |
// Luminance formats | |
static bool L8; | |
static bool A4L4; | |
static bool A8L8; | |
}; | |
struct Volume | |
{ | |
static bool A8; | |
static bool R5G6B5; | |
static bool X1R5G5B5; | |
static bool A1R5G5B5; | |
static bool A4R4G4B4; | |
static bool R3G3B2; | |
static bool A8R3G3B2; | |
static bool X4R4G4B4; | |
static bool R8G8B8; | |
static bool X8R8G8B8; | |
static bool A8R8G8B8; | |
static bool A8B8G8R8; | |
static bool X8B8G8R8; | |
// Paletted formats | |
static bool P8; | |
static bool A8P8; | |
// Integer HDR formats | |
static bool G16R16; | |
static bool A2B10G10R10; | |
// Compressed formats | |
static bool DXT1; | |
static bool DXT2; | |
static bool DXT3; | |
static bool DXT4; | |
static bool DXT5; | |
// Bump map formats | |
static bool V8U8; | |
static bool L6V5U5; | |
static bool X8L8V8U8; | |
static bool Q8W8V8U8; | |
static bool V16U16; | |
static bool A2W10V10U10; | |
// Luminance formats | |
static bool L8; | |
static bool A4L4; | |
static bool A8L8; | |
}; | |
struct CubeMap | |
{ | |
struct RenderTarget | |
{ | |
static bool R8G8B8; | |
static bool R5G6B5; | |
static bool X1R5G5B5; | |
static bool A1R5G5B5; | |
static bool A4R4G4B4; | |
static bool R3G3B2; | |
static bool A8R3G3B2; | |
static bool X4R4G4B4; | |
static bool A8R8G8B8; | |
static bool X8R8G8B8; | |
static bool A8B8G8R8; | |
static bool X8B8G8R8; | |
// Integer HDR formats | |
static bool G16R16; | |
static bool A2B10G10R10; | |
}; | |
struct DepthStencil | |
{ | |
static bool D32; | |
static bool D24S8; | |
static bool D24X8; | |
static bool D16; | |
}; | |
static bool A8; | |
static bool R5G6B5; | |
static bool X1R5G5B5; | |
static bool A1R5G5B5; | |
static bool A4R4G4B4; | |
static bool R3G3B2; | |
static bool A8R3G3B2; | |
static bool X4R4G4B4; | |
static bool R8G8B8; | |
static bool X8R8G8B8; | |
static bool A8R8G8B8; | |
static bool A8B8G8R8; | |
static bool X8B8G8R8; | |
// Paletted formats | |
static bool P8; | |
static bool A8P8; | |
// Integer HDR formats | |
static bool G16R16; | |
static bool A2B10G10R10; | |
// Compressed formats | |
static bool DXT1; | |
static bool DXT2; | |
static bool DXT3; | |
static bool DXT4; | |
static bool DXT5; | |
// Bump map formats | |
static bool V8U8; | |
static bool L6V5U5; | |
static bool X8L8V8U8; | |
static bool Q8W8V8U8; | |
static bool V16U16; | |
static bool A2W10V10U10; | |
// Luminance formats | |
static bool L8; | |
static bool A4L4; | |
static bool A8L8; | |
}; | |
struct VolumeTexture | |
{ | |
static bool A8; | |
static bool R5G6B5; | |
static bool X1R5G5B5; | |
static bool A1R5G5B5; | |
static bool A4R4G4B4; | |
static bool R3G3B2; | |
static bool A8R3G3B2; | |
static bool X4R4G4B4; | |
static bool R8G8B8; | |
static bool X8R8G8B8; | |
static bool A8R8G8B8; | |
static bool A8B8G8R8; | |
static bool X8B8G8R8; | |
// Paletted formats | |
static bool P8; | |
static bool A8P8; | |
// Integer HDR formats | |
static bool G16R16; | |
static bool A2B10G10R10; | |
// Compressed formats | |
static bool DXT1; | |
static bool DXT2; | |
static bool DXT3; | |
static bool DXT4; | |
static bool DXT5; | |
// Bump map formats | |
static bool V8U8; | |
static bool L6V5U5; | |
static bool X8L8V8U8; | |
static bool Q8W8V8U8; | |
static bool V16U16; | |
static bool A2W10V10U10; | |
// Luminance formats | |
static bool L8; | |
static bool A4L4; | |
static bool A8L8; | |
}; | |
struct Texture | |
{ | |
struct RenderTarget | |
{ | |
static bool R8G8B8; | |
static bool R5G6B5; | |
static bool X1R5G5B5; | |
static bool A1R5G5B5; | |
static bool A4R4G4B4; | |
static bool R3G3B2; | |
static bool A8R3G3B2; | |
static bool X4R4G4B4; | |
static bool A8R8G8B8; | |
static bool X8R8G8B8; | |
static bool A8B8G8R8; | |
static bool X8B8G8R8; | |
// Integer HDR formats | |
static bool G16R16; | |
static bool A2B10G10R10; | |
}; | |
struct DepthStencil | |
{ | |
static bool D32; | |
static bool D24S8; | |
static bool D24X8; | |
static bool D16; | |
}; | |
static bool A8; | |
static bool R5G6B5; | |
static bool X1R5G5B5; | |
static bool A1R5G5B5; | |
static bool A4R4G4B4; | |
static bool R3G3B2; | |
static bool A8R3G3B2; | |
static bool X4R4G4B4; | |
static bool R8G8B8; | |
static bool X8R8G8B8; | |
static bool A8R8G8B8; | |
static bool A8B8G8R8; | |
static bool X8B8G8R8; | |
// Paletted formats | |
static bool P8; | |
static bool A8P8; | |
// Integer HDR formats | |
static bool G16R16; | |
static bool A2B10G10R10; | |
// Compressed formats | |
static bool DXT1; | |
static bool DXT2; | |
static bool DXT3; | |
static bool DXT4; | |
static bool DXT5; | |
// Bump map formats | |
static bool V8U8; | |
static bool L6V5U5; | |
static bool X8L8V8U8; | |
static bool Q8W8V8U8; | |
static bool V16U16; | |
static bool A2W10V10U10; | |
// Luminance formats | |
static bool L8; | |
static bool A4L4; | |
static bool A8L8; | |
}; | |
}; | |
extern unsigned int pixelShaderVersion; | |
extern unsigned int vertexShaderVersion; | |
extern unsigned int textureMemory; | |
extern unsigned int maxAnisotropy; | |
} | |
#endif // D3D8_Capabilities_hpp |