// 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
|