From 033769f94dd4ff21f1dd87008a32df0f9696fa32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Sun, 5 Mar 2006 21:07:10 +0100 Subject: [PATCH] wined3d: Add d3d7 and d3d8/9 cap flags to wined3d_types.h. --- dlls/wined3d/directx.c | 88 ++++++++++++++++---------------- include/wine/wined3d_types.h | 97 ++++++++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+), 44 deletions(-) diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 27728e6f645..39c41bde605 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -1481,25 +1481,25 @@ HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter, D3DDEVT D3DPMISCCAPS_MASKZ; /*NOT: D3DPMISCCAPS_TSSARGTEMP*/ - *pCaps->RasterCaps = D3DPRASTERCAPS_DITHER | - D3DPRASTERCAPS_PAT | - D3DPRASTERCAPS_WFOG | - D3DPRASTERCAPS_ZFOG | - D3DPRASTERCAPS_FOGVERTEX | - D3DPRASTERCAPS_FOGTABLE | - D3DPRASTERCAPS_FOGRANGE; + *pCaps->RasterCaps = WINED3DPRASTERCAPS_DITHER | + WINED3DPRASTERCAPS_PAT | + WINED3DPRASTERCAPS_WFOG | + WINED3DPRASTERCAPS_ZFOG | + WINED3DPRASTERCAPS_FOGVERTEX | + WINED3DPRASTERCAPS_FOGTABLE | + WINED3DPRASTERCAPS_FOGRANGE; if (GL_SUPPORT(EXT_TEXTURE_FILTER_ANISOTROPIC)) { - *pCaps->RasterCaps |= D3DPRASTERCAPS_ANISOTROPY | - D3DPRASTERCAPS_ZBIAS | - D3DPRASTERCAPS_MIPMAPLODBIAS; + *pCaps->RasterCaps |= WINED3DPRASTERCAPS_ANISOTROPY | + WINED3DPRASTERCAPS_ZBIAS | + WINED3DPRASTERCAPS_MIPMAPLODBIAS; } /* FIXME Add: - D3DPRASTERCAPS_COLORPERSPECTIVE - D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE - D3DPRASTERCAPS_ANTIALIASEDGES - D3DPRASTERCAPS_ZBUFFERLESSHSR - D3DPRASTERCAPS_WBUFFER */ + WINED3DPRASTERCAPS_COLORPERSPECTIVE + WINED3DPRASTERCAPS_STRETCHBLTMULTISAMPLE + WINED3DPRASTERCAPS_ANTIALIASEDGES + WINED3DPRASTERCAPS_ZBUFFERLESSHSR + WINED3DPRASTERCAPS_WBUFFER */ *pCaps->ZCmpCaps = D3DPCMPCAPS_ALWAYS | D3DPCMPCAPS_EQUAL | @@ -1514,39 +1514,39 @@ HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter, D3DDEVT *pCaps->DestBlendCaps = 0xFFFFFFFF; /*FIXME: Tidy up later */ *pCaps->AlphaCmpCaps = 0xFFFFFFFF; /*FIXME: Tidy up later */ - *pCaps->ShadeCaps = D3DPSHADECAPS_SPECULARGOURAUDRGB | - D3DPSHADECAPS_COLORGOURAUDRGB; + *pCaps->ShadeCaps = WINED3DPSHADECAPS_SPECULARGOURAUDRGB | + WINED3DPSHADECAPS_COLORGOURAUDRGB; - *pCaps->TextureCaps = D3DPTEXTURECAPS_ALPHA | - D3DPTEXTURECAPS_ALPHAPALETTE | - D3DPTEXTURECAPS_VOLUMEMAP | - D3DPTEXTURECAPS_MIPMAP | - D3DPTEXTURECAPS_PROJECTED | - D3DPTEXTURECAPS_PERSPECTIVE | - D3DPTEXTURECAPS_VOLUMEMAP_POW2 ; + *pCaps->TextureCaps = WINED3DPTEXTURECAPS_ALPHA | + WINED3DPTEXTURECAPS_ALPHAPALETTE | + WINED3DPTEXTURECAPS_VOLUMEMAP | + WINED3DPTEXTURECAPS_MIPMAP | + WINED3DPTEXTURECAPS_PROJECTED | + WINED3DPTEXTURECAPS_PERSPECTIVE | + WINED3DPTEXTURECAPS_VOLUMEMAP_POW2 ; /* TODO: add support for NON-POW2 if avaialble */ if (This->dxVersion >= 8) { - *pCaps->TextureCaps |= D3DPTEXTURECAPS_NONPOW2CONDITIONAL; + *pCaps->TextureCaps |= WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL; } else { /* NONPOW2 isn't accessible by d3d8 yet */ - *pCaps->TextureCaps |= D3DPTEXTURECAPS_POW2; + *pCaps->TextureCaps |= WINED3DPTEXTURECAPS_POW2; } if (GL_SUPPORT(ARB_TEXTURE_CUBE_MAP)) { - *pCaps->TextureCaps |= D3DPTEXTURECAPS_CUBEMAP | - D3DPTEXTURECAPS_MIPCUBEMAP | - D3DPTEXTURECAPS_CUBEMAP_POW2; + *pCaps->TextureCaps |= WINED3DPTEXTURECAPS_CUBEMAP | + WINED3DPTEXTURECAPS_MIPCUBEMAP | + WINED3DPTEXTURECAPS_CUBEMAP_POW2; } - *pCaps->TextureFilterCaps = D3DPTFILTERCAPS_MAGFLINEAR | - D3DPTFILTERCAPS_MAGFPOINT | - D3DPTFILTERCAPS_MINFLINEAR | - D3DPTFILTERCAPS_MINFPOINT | - D3DPTFILTERCAPS_MIPFLINEAR | - D3DPTFILTERCAPS_MIPFPOINT; + *pCaps->TextureFilterCaps = WINED3DPTFILTERCAPS_MAGFLINEAR | + WINED3DPTFILTERCAPS_MAGFPOINT | + WINED3DPTFILTERCAPS_MINFLINEAR | + WINED3DPTFILTERCAPS_MINFPOINT | + WINED3DPTFILTERCAPS_MIPFLINEAR | + WINED3DPTFILTERCAPS_MIPFPOINT; *pCaps->CubeTextureFilterCaps = 0; *pCaps->VolumeTextureFilterCaps = 0; @@ -1658,11 +1658,11 @@ HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter, D3DDEVT *pCaps->MaxPointSize = GL_LIMITS(pointsize); - *pCaps->VertexProcessingCaps = D3DVTXPCAPS_DIRECTIONALLIGHTS | - D3DVTXPCAPS_MATERIALSOURCE7 | - D3DVTXPCAPS_POSITIONALLIGHTS | - D3DVTXPCAPS_LOCALVIEWER | - D3DVTXPCAPS_TEXGEN; + *pCaps->VertexProcessingCaps = WINED3DVTXPCAPS_DIRECTIONALLIGHTS | + WINED3DVTXPCAPS_MATERIALSOURCE7 | + WINED3DVTXPCAPS_POSITIONALLIGHTS | + WINED3DVTXPCAPS_LOCALVIEWER | + WINED3DVTXPCAPS_TEXGEN; /* FIXME: Add D3DVTXPCAPS_TWEENING */ @@ -1720,10 +1720,10 @@ HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter, D3DDEVT *pCaps->NumSimultaneousRTs = max_buffers; *pCaps->StretchRectFilterCaps = 0; /* TODO: add - D3DPTFILTERCAPS_MINFPOINT - D3DPTFILTERCAPS_MAGFPOINT - D3DPTFILTERCAPS_MINFLINEAR - D3DPTFILTERCAPS_MAGFLINEAR + WINED3DPTFILTERCAPS_MINFPOINT + WINED3DPTFILTERCAPS_MAGFPOINT + WINED3DPTFILTERCAPS_MINFLINEAR + WINED3DPTFILTERCAPS_MAGFLINEAR */ *pCaps->VS20Caps.Caps = 0; *pCaps->PS20Caps.Caps = 0; diff --git a/include/wine/wined3d_types.h b/include/wine/wined3d_types.h index 8735037c111..418a52ef7c6 100644 --- a/include/wine/wined3d_types.h +++ b/include/wine/wined3d_types.h @@ -772,4 +772,101 @@ typedef enum _WINED3DDECLUSAGE { WINED3DSHADERDECLUSAGE_MAX_USAGE } WINED3DSHADERDECLUSAGE; +#define WINED3DPRASTERCAPS_DITHER 0x00000001L +#define WINED3DPRASTERCAPS_ROP2 0x00000002L +#define WINED3DPRASTERCAPS_XOR 0x00000004L +#define WINED3DPRASTERCAPS_PAT 0x00000008L +#define WINED3DPRASTERCAPS_ZTEST 0x00000010L +#define WINED3DPRASTERCAPS_SUBPIXEL 0x00000020L +#define WINED3DPRASTERCAPS_SUBPIXELX 0x00000040L +#define WINED3DPRASTERCAPS_FOGVERTEX 0x00000080L +#define WINED3DPRASTERCAPS_FOGTABLE 0x00000100L +#define WINED3DPRASTERCAPS_STIPPLE 0x00000200L +#define WINED3DPRASTERCAPS_ANTIALIASSORTDEPENDENT 0x00000400L +#define WINED3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT 0x00000800L +#define WINED3DPRASTERCAPS_ANTIALIASEDGES 0x00001000L +#define WINED3DPRASTERCAPS_MIPMAPLODBIAS 0x00002000L +#define WINED3DPRASTERCAPS_ZBIAS 0x00004000L +#define WINED3DPRASTERCAPS_ZBUFFERLESSHSR 0x00008000L +#define WINED3DPRASTERCAPS_FOGRANGE 0x00010000L +#define WINED3DPRASTERCAPS_ANISOTROPY 0x00020000L +#define WINED3DPRASTERCAPS_WBUFFER 0x00040000L +#define WINED3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT 0x00080000L +#define WINED3DPRASTERCAPS_WFOG 0x00100000L +#define WINED3DPRASTERCAPS_ZFOG 0x00200000L +#define WINED3DPRASTERCAPS_COLORPERSPECTIVE 0x00400000L +#define WINED3DPRASTERCAPS_SCISSORTEST 0x01000000L +#define WINED3DPRASTERCAPS_SLOPESCALEDEPTHBIAS 0x02000000L +#define WINED3DPRASTERCAPS_DEPTHBIAS 0x04000000L +#define WINED3DPRASTERCAPS_MULTISAMPLE_TOGGLE 0x08000000L + +#define WINED3DPSHADECAPS_COLORFLATMONO 0x000001 +#define WINED3DPSHADECAPS_COLORFLATRGB 0x000002 +#define WINED3DPSHADECAPS_COLORGOURAUDMONO 0x000004 +#define WINED3DPSHADECAPS_COLORGOURAUDRGB 0x000008 +#define WINED3DPSHADECAPS_COLORPHONGMONO 0x000010 +#define WINED3DPSHADECAPS_COLORPHONGRGB 0x000020 +#define WINED3DPSHADECAPS_SPECULARFLATMONO 0x000040 +#define WINED3DPSHADECAPS_SPECULARFLATRGB 0x000080 +#define WINED3DPSHADECAPS_SPECULARGOURAUDMONO 0x000100 +#define WINED3DPSHADECAPS_SPECULARGOURAUDRGB 0x000200 +#define WINED3DPSHADECAPS_SPECULARPHONGMONO 0x000400 +#define WINED3DPSHADECAPS_SPECULARPHONGRGB 0x000800 +#define WINED3DPSHADECAPS_ALPHAFLATBLEND 0x001000 +#define WINED3DPSHADECAPS_ALPHAFLATSTIPPLED 0x002000 +#define WINED3DPSHADECAPS_ALPHAGOURAUDBLEND 0x004000 +#define WINED3DPSHADECAPS_ALPHAGOURAUDSTIPPLED 0x008000 +#define WINED3DPSHADECAPS_ALPHAPHONGBLEND 0x010000 +#define WINED3DPSHADECAPS_ALPHAPHONGSTIPPLED 0x020000 +#define WINED3DPSHADECAPS_FOGFLAT 0x040000 +#define WINED3DPSHADECAPS_FOGGOURAUD 0x080000 +#define WINED3DPSHADECAPS_FOGPHONG 0x100000 + +#define WINED3DPTEXTURECAPS_PERSPECTIVE 0x00000001L +#define WINED3DPTEXTURECAPS_POW2 0x00000002L +#define WINED3DPTEXTURECAPS_ALPHA 0x00000004L +#define WINED3DPTEXTURECAPS_TRANSPARENCY 0x00000008L +#define WINED3DPTEXTURECAPS_BORDER 0x00000010L +#define WINED3DPTEXTURECAPS_SQUAREONLY 0x00000020L +#define WINED3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040L +#define WINED3DPTEXTURECAPS_ALPHAPALETTE 0x00000080L +#define WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x00000100L +#define WINED3DPTEXTURECAPS_PROJECTED 0x00000400L +#define WINED3DPTEXTURECAPS_CUBEMAP 0x00000800L +#define WINED3DPTEXTURECAPS_COLORKEYBLEND 0x00001000L +#define WINED3DPTEXTURECAPS_VOLUMEMAP 0x00002000L +#define WINED3DPTEXTURECAPS_MIPMAP 0x00004000L +#define WINED3DPTEXTURECAPS_MIPVOLUMEMAP 0x00008000L +#define WINED3DPTEXTURECAPS_MIPCUBEMAP 0x00010000L +#define WINED3DPTEXTURECAPS_CUBEMAP_POW2 0x00020000L +#define WINED3DPTEXTURECAPS_VOLUMEMAP_POW2 0x00040000L +#define WINED3DPTEXTURECAPS_NOPROJECTEDBUMPENV 0x00200000L + +#define WINED3DPTFILTERCAPS_NEAREST 0x00000001 +#define WINED3DPTFILTERCAPS_LINEAR 0x00000002 +#define WINED3DPTFILTERCAPS_MIPNEAREST 0x00000004 +#define WINED3DPTFILTERCAPS_MIPLINEAR 0x00000008 +#define WINED3DPTFILTERCAPS_LINEARMIPNEAREST 0x00000010 +#define WINED3DPTFILTERCAPS_LINEARMIPLINEAR 0x00000020 +#define WINED3DPTFILTERCAPS_MINFPOINT 0x00000100 +#define WINED3DPTFILTERCAPS_MINFLINEAR 0x00000200 +#define WINED3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400 +#define WINED3DPTFILTERCAPS_MIPFPOINT 0x00010000 +#define WINED3DPTFILTERCAPS_MIPFLINEAR 0x00020000 +#define WINED3DPTFILTERCAPS_MAGFPOINT 0x01000000 +#define WINED3DPTFILTERCAPS_MAGFLINEAR 0x02000000 +#define WINED3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000 +#define WINED3DPTFILTERCAPS_MAGFPYRAMIDALQUAD 0x08000000 +#define WINED3DPTFILTERCAPS_MAGFGAUSSIANQUAD 0x10000000 + +#define WINED3DVTXPCAPS_TEXGEN 0x00000001L +#define WINED3DVTXPCAPS_MATERIALSOURCE7 0x00000002L +#define WINED3DVTXPCAPS_VERTEXFOG 0x00000004L +#define WINED3DVTXPCAPS_DIRECTIONALLIGHTS 0x00000008L +#define WINED3DVTXPCAPS_POSITIONALLIGHTS 0x00000010L +#define WINED3DVTXPCAPS_LOCALVIEWER 0x00000020L +#define WINED3DVTXPCAPS_TWEENING 0x00000040L +#define WINED3DVTXPCAPS_TEXGEN_SPHEREMAP 0x00000100L +#define WINED3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER 0x00000200L + #endif