19fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/*==========================================================================; 29fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 39fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Copyright (C) 1995-1996 Microsoft Corporation. All Rights Reserved. 49fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 59fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * File: d3dcaps.h 69fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Content: Direct3D capabilities include file 79fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * 89fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream ***************************************************************************/ 99fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#ifndef _D3DCAPS_H 119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define _D3DCAPS_H 129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* 149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Pull in DirectDraw include file automatically: 159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */ 169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#include <ddraw.h> 179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#pragma pack(4) 199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* Description of capabilities of transform */ 219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _D3DTRANSFORMCAPS { 239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwSize; 249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwCaps; 259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} D3DTRANSFORMCAPS, *LPD3DTRANSFORMCAPS; 269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DTRANSFORMCAPS_CLIP 0x00000001L /* Will clip whilst transforming */ 289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* Description of capabilities of lighting */ 309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _D3DLIGHTINGCAPS { 329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwSize; 339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwCaps; /* Lighting caps */ 349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwLightingModel; /* Lighting model - RGB or mono */ 359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwNumLights; /* Number of lights that can be handled */ 369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} D3DLIGHTINGCAPS, *LPD3DLIGHTINGCAPS; 379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DLIGHTINGMODEL_RGB 0x00000001L 399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DLIGHTINGMODEL_MONO 0x00000002L 409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DLIGHTCAPS_POINT 0x00000001L /* Point lights supported */ 429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DLIGHTCAPS_SPOT 0x00000002L /* Spot lights supported */ 439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DLIGHTCAPS_DIRECTIONAL 0x00000004L /* Directional lights supported */ 449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DLIGHTCAPS_PARALLELPOINT 0x00000008L /* Parallel point lights supported */ 459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DLIGHTCAPS_GLSPOT 0x00000010L /* GL syle spot lights supported */ 469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* Description of capabilities for each primitive type */ 489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _D3DPrimCaps { 509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwSize; 519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwMiscCaps; /* Capability flags */ 529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwRasterCaps; 539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwZCmpCaps; 549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwSrcBlendCaps; 559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwDestBlendCaps; 569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwAlphaCmpCaps; 579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwShadeCaps; 589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwTextureCaps; 599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwTextureFilterCaps; 609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwTextureBlendCaps; 619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwTextureAddressCaps; 629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwStippleWidth; /* maximum width and height of */ 639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwStippleHeight; /* of supported stipple (up to 32x32) */ 649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} D3DPRIMCAPS, *LPD3DPRIMCAPS; 659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DPRIMCAPS dwMiscCaps */ 679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPMISCCAPS_MASKPLANES 0x00000001L 699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPMISCCAPS_MASKZ 0x00000002L 709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPMISCCAPS_LINEPATTERNREP 0x00000004L 719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPMISCCAPS_CONFORMANT 0x00000008L 729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPMISCCAPS_CULLNONE 0x00000010L 739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPMISCCAPS_CULLCW 0x00000020L 749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPMISCCAPS_CULLCCW 0x00000040L 759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DPRIMCAPS dwRasterCaps */ 779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_DITHER 0x00000001L 799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_ROP2 0x00000002L 809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_XOR 0x00000004L 819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_PAT 0x00000008L 829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_ZTEST 0x00000010L 839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_SUBPIXEL 0x00000020L 849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_SUBPIXELX 0x00000040L 859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_FOGVERTEX 0x00000080L 869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_FOGTABLE 0x00000100L 879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPRASTERCAPS_STIPPLE 0x00000200L 889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DPRIMCAPS dwZCmpCaps, dwAlphaCmpCaps */ 909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPCMPCAPS_NEVER 0x00000001L 929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPCMPCAPS_LESS 0x00000002L 939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPCMPCAPS_EQUAL 0x00000004L 949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPCMPCAPS_LESSEQUAL 0x00000008L 959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPCMPCAPS_GREATER 0x00000010L 969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPCMPCAPS_NOTEQUAL 0x00000020L 979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPCMPCAPS_GREATEREQUAL 0x00000040L 989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPCMPCAPS_ALWAYS 0x00000080L 999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DPRIMCAPS dwSourceBlendCaps, dwDestBlendCaps */ 1019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_ZERO 0x00000001L 1039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_ONE 0x00000002L 1049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_SRCCOLOR 0x00000004L 1059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_INVSRCCOLOR 0x00000008L 1069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_SRCALPHA 0x00000010L 1079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_INVSRCALPHA 0x00000020L 1089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_DESTALPHA 0x00000040L 1099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_INVDESTALPHA 0x00000080L 1109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_DESTCOLOR 0x00000100L 1119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_INVDESTCOLOR 0x00000200L 1129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_SRCALPHASAT 0x00000400L 1139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_BOTHSRCALPHA 0x00000800L 1149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000L 1159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DPRIMCAPS dwShadeCaps */ 1179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_COLORFLATMONO 0x00000001L 1199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_COLORFLATRGB 0x00000002L 1209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_COLORGOURAUDMONO 0x00000004L 1219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_COLORGOURAUDRGB 0x00000008L 1229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_COLORPHONGMONO 0x00000010L 1239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_COLORPHONGRGB 0x00000020L 1249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_SPECULARFLATMONO 0x00000040L 1269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_SPECULARFLATRGB 0x00000080L 1279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_SPECULARGOURAUDMONO 0x00000100L 1289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200L 1299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_SPECULARPHONGMONO 0x00000400L 1309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_SPECULARPHONGRGB 0x00000800L 1319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_ALPHAFLATBLEND 0x00001000L 1339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_ALPHAFLATSTIPPLED 0x00002000L 1349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x00004000L 1359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x00008000L 1369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_ALPHAPHONGBLEND 0x00010000L 1379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x00020000L 1389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_FOGFLAT 0x00040000L 1409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_FOGGOURAUD 0x00080000L 1419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPSHADECAPS_FOGPHONG 0x00100000L 1429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DPRIMCAPS dwTextureCaps */ 1449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTEXTURECAPS_PERSPECTIVE 0x00000001L 1469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTEXTURECAPS_POW2 0x00000002L 1479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTEXTURECAPS_ALPHA 0x00000004L 1489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTEXTURECAPS_TRANSPARENCY 0x00000008L 1499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTEXTURECAPS_BORDER 0x00000010L 1509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTEXTURECAPS_SQUAREONLY 0x00000020L 1519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DPRIMCAPS dwTextureFilterCaps */ 1539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTFILTERCAPS_NEAREST 0x00000001L 1559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTFILTERCAPS_LINEAR 0x00000002L 1569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTFILTERCAPS_MIPNEAREST 0x00000004L 1579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTFILTERCAPS_MIPLINEAR 0x00000008L 1589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010L 1599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020L 1609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DPRIMCAPS dwTextureBlendCaps */ 1629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTBLENDCAPS_DECAL 0x00000001L 1649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTBLENDCAPS_MODULATE 0x00000002L 1659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTBLENDCAPS_DECALALPHA 0x00000004L 1669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTBLENDCAPS_MODULATEALPHA 0x00000008L 1679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTBLENDCAPS_DECALMASK 0x00000010L 1689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTBLENDCAPS_MODULATEMASK 0x00000020L 1699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTBLENDCAPS_COPY 0x00000040L 1709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DPRIMCAPS dwTextureAddressCaps */ 1729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTADDRESSCAPS_WRAP 0x00000001L 1739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTADDRESSCAPS_MIRROR 0x00000002L 1749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DPTADDRESSCAPS_CLAMP 0x00000004L 1759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* 1779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Description for a device. 1789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * This is used to describe a device that is to be created or to query 1799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * the current device. 1809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */ 1819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _D3DDeviceDesc { 1829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwSize; /* Size of D3DDEVICEDESC structure */ 1839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwFlags; /* Indicates which fields have valid data */ 1849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream D3DCOLORMODEL dcmColorModel; /* Color model of device */ 1859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwDevCaps; /* Capabilities of device */ 1869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream D3DTRANSFORMCAPS dtcTransformCaps; /* Capabilities of transform */ 1879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream BOOL bClipping; /* Device can do 3D clipping */ 1889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream D3DLIGHTINGCAPS dlcLightingCaps; /* Capabilities of lighting */ 1899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream D3DPRIMCAPS dpcLineCaps; 1909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream D3DPRIMCAPS dpcTriCaps; 1919fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwDeviceRenderBitDepth; /* One of DDBB_8, 16, etc.. */ 1929fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwDeviceZBufferBitDepth;/* One of DDBD_16, 32, etc.. */ 1939fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwMaxBufferSize; /* Maximum execute buffer size */ 1949fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwMaxVertexCount; /* Maximum vertex count */ 1959fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} D3DDEVICEDESC, *LPD3DDEVICEDESC; 1969fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1979fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef HRESULT (FAR PASCAL * LPD3DENUMDEVICESCALLBACK)(LPGUID lpGuid, LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC, LPD3DDEVICEDESC, LPVOID); 1989fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 1999fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DDEVICEDESC dwFlags indicating valid fields */ 2009fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2019fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_COLORMODEL 0x00000001L /* dcmColorModel is valid */ 2029fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_DEVCAPS 0x00000002L /* dwDevCaps is valid */ 2039fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_TRANSFORMCAPS 0x00000004L /* dtcTransformCaps is valid */ 2049fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_LIGHTINGCAPS 0x00000008L /* dlcLightingCaps is valid */ 2059fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_BCLIPPING 0x00000010L /* bClipping is valid */ 2069fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_LINECAPS 0x00000020L /* dpcLineCaps is valid */ 2079fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_TRICAPS 0x00000040L /* dpcTriCaps is valid */ 2089fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_DEVICERENDERBITDEPTH 0x00000080L /* dwDeviceRenderBitDepth is valid */ 2099fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_DEVICEZBUFFERBITDEPTH 0x00000100L /* dwDeviceZBufferBitDepth is valid */ 2109fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_MAXBUFFERSIZE 0x00000200L /* dwMaxBufferSize is valid */ 2119fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDD_MAXVERTEXCOUNT 0x00000400L /* dwMaxVertexCount is valid */ 2129fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2139fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DDEVICEDESC dwDevCaps flags */ 2149fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2159fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_FLOATTLVERTEX 0x00000001L /* Device accepts floating point */ 2169fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream /* for post-transform vertex data */ 2179fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_SORTINCREASINGZ 0x00000002L /* Device needs data sorted for increasing Z*/ 2189fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_SORTDECREASINGZ 0X00000004L /* Device needs data sorted for decreasing Z*/ 2199fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_SORTEXACT 0x00000008L /* Device needs data sorted exactly */ 2209fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2219fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x00000010L /* Device can use execute buffers from system memory */ 2229fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x00000020L /* Device can use execute buffers from video memory */ 2239fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x00000040L /* Device can use TL buffers from system memory */ 2249fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x00000080L /* Device can use TL buffers from video memory */ 2259fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x00000100L /* Device can texture from system memory */ 2269fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x00000200L /* Device can texture from device memory */ 2279fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2289fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_COLORMODEL 0x00000001L /* Match color model */ 2299fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_GUID 0x00000002L /* Match guid */ 2309fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_HARDWARE 0x00000004L /* Match hardware/software */ 2319fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_TRIANGLES 0x00000008L /* Match in triCaps */ 2329fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_LINES 0x00000010L /* Match in lineCaps */ 2339fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_MISCCAPS 0x00000020L /* Match primCaps.dwMiscCaps */ 2349fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_RASTERCAPS 0x00000040L /* Match primCaps.dwRasterCaps */ 2359fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_ZCMPCAPS 0x00000080L /* Match primCaps.dwZCmpCaps */ 2369fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_ALPHACMPCAPS 0x00000100L /* Match primCaps.dwAlphaCmpCaps */ 2379fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_SRCBLENDCAPS 0x00000200L /* Match primCaps.dwSourceBlendCaps */ 2389fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_DSTBLENDCAPS 0x00000400L /* Match primCaps.dwDestBlendCaps */ 2399fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_SHADECAPS 0x00000800L /* Match primCaps.dwShadeCaps */ 2409fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_TEXTURECAPS 0x00001000L /* Match primCaps.dwTextureCaps */ 2419fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_TEXTUREFILTERCAPS 0x00002000L /* Match primCaps.dwTextureFilterCaps */ 2429fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_TEXTUREBLENDCAPS 0x00004000L /* Match primCaps.dwTextureBlendCaps */ 2439fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DFDS_TEXTUREADDRESSCAPS 0x00008000L /* Match primCaps.dwTextureBlendCaps */ 2449fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2459fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* 2469fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * FindDevice arguments 2479fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */ 2489fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _D3DFINDDEVICESEARCH { 2499fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwSize; 2509fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwFlags; 2519fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream BOOL bHardware; 2529fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream D3DCOLORMODEL dcmColorModel; 2539fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream GUID guid; 2549fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwCaps; 2559fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream D3DPRIMCAPS dpcPrimCaps; 2569fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} D3DFINDDEVICESEARCH, *LPD3DFINDDEVICESEARCH; 2579fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2589fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _D3DFINDDEVICERESULT { 2599fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwSize; 2609fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream GUID guid; /* guid which matched */ 2619fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream D3DDEVICEDESC ddHwDesc; /* hardware D3DDEVICEDESC */ 2629fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream D3DDEVICEDESC ddSwDesc; /* software D3DDEVICEDESC */ 2639fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} D3DFINDDEVICERESULT, *LPD3DFINDDEVICERESULT; 2649fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2659fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* 2669fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream * Description of execute buffer. 2679fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream */ 2689fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstreamtypedef struct _D3DExecuteBufferDesc { 2699fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwSize; /* size of this structure */ 2709fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwFlags; /* flags indicating which fields are valid */ 2719fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwCaps; /* capabilities of execute buffer */ 2729fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream DWORD dwBufferSize; /* size of execute buffer data */ 2739fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream LPVOID lpData; /* pointer to actual data */ 2749fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream} D3DEXECUTEBUFFERDESC, *LPD3DEXECUTEBUFFERDESC; 2759fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2769fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DEXECUTEBUFFER dwFlags indicating valid fields */ 2779fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2789fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEB_BUFSIZE 0x00000001l /* buffer size valid */ 2799fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEB_CAPS 0x00000002l /* caps valid */ 2809fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEB_LPDATA 0x00000004l /* lpData valid */ 2819fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2829fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream/* D3DEXECUTEBUFFER dwCaps */ 2839fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2849fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEBCAPS_SYSTEMMEMORY 0x00000001l /* buffer in system memory */ 2859fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEBCAPS_VIDEOMEMORY 0x00000002l /* buffer in device memory */ 2869fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#define D3DDEBCAPS_MEM (D3DDEBCAPS_SYSTEMMEMORY|D3DDEBCAPS_VIDEOMEMORY) 2879fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2889fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#pragma pack() 2899fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream 2909fd67c44777b350dc56f3e70c88963b0d966ffc7quake upstream#endif /* _D3DCAPS_H_ */ 291