mirror of
https://github.com/reactos/wine.git
synced 2024-11-28 14:10:32 +00:00
Change the way caps are sent between d3d9/d3d8 and wined3d to make it
easier for wined3d to support additional versions of Direct3D.
This commit is contained in:
parent
96ebd31066
commit
e70e3ba0ff
@ -102,6 +102,65 @@ extern int ps_mode;
|
||||
#define PIXEL_SHADER(Handle) \
|
||||
((Handle <= VS_HIGHESTFIXEDFXF) ? ((Handle >= sizeof(PixelShaders) / sizeof(IDirect3DPixelShaderImpl*)) ? NULL : PixelShaders[Handle]) : PixelShaders[Handle - VS_HIGHESTFIXEDFXF])
|
||||
|
||||
/* ===========================================================================
|
||||
Macros
|
||||
=========================================================================== */
|
||||
/* Not nice, but it lets wined3d support different versions of directx */
|
||||
#define D3D8CAPSTOWINECAPS(_pD3D8Caps, _pWineCaps) \
|
||||
_pWineCaps->DeviceType = &_pD3D8Caps->DeviceType; \
|
||||
_pWineCaps->AdapterOrdinal = &_pD3D8Caps->AdapterOrdinal; \
|
||||
_pWineCaps->Caps = &_pD3D8Caps->Caps; \
|
||||
_pWineCaps->Caps2 = &_pD3D8Caps->Caps2; \
|
||||
_pWineCaps->Caps3 = &_pD3D8Caps->Caps3; \
|
||||
_pWineCaps->PresentationIntervals = &_pD3D8Caps->PresentationIntervals; \
|
||||
_pWineCaps->CursorCaps = &_pD3D8Caps->CursorCaps; \
|
||||
_pWineCaps->DevCaps = &_pD3D8Caps->DevCaps; \
|
||||
_pWineCaps->PrimitiveMiscCaps = &_pD3D8Caps->PrimitiveMiscCaps; \
|
||||
_pWineCaps->RasterCaps = &_pD3D8Caps->RasterCaps; \
|
||||
_pWineCaps->ZCmpCaps = &_pD3D8Caps->ZCmpCaps; \
|
||||
_pWineCaps->SrcBlendCaps = &_pD3D8Caps->SrcBlendCaps; \
|
||||
_pWineCaps->DestBlendCaps = &_pD3D8Caps->DestBlendCaps; \
|
||||
_pWineCaps->AlphaCmpCaps = &_pD3D8Caps->AlphaCmpCaps; \
|
||||
_pWineCaps->ShadeCaps = &_pD3D8Caps->ShadeCaps; \
|
||||
_pWineCaps->TextureCaps = &_pD3D8Caps->TextureCaps; \
|
||||
_pWineCaps->TextureFilterCaps = &_pD3D8Caps->TextureFilterCaps; \
|
||||
_pWineCaps->CubeTextureFilterCaps = &_pD3D8Caps->CubeTextureFilterCaps; \
|
||||
_pWineCaps->VolumeTextureFilterCaps = &_pD3D8Caps->VolumeTextureFilterCaps; \
|
||||
_pWineCaps->TextureAddressCaps = &_pD3D8Caps->TextureAddressCaps; \
|
||||
_pWineCaps->VolumeTextureAddressCaps = &_pD3D8Caps->VolumeTextureAddressCaps; \
|
||||
_pWineCaps->LineCaps = &_pD3D8Caps->LineCaps; \
|
||||
_pWineCaps->MaxTextureWidth = &_pD3D8Caps->MaxTextureWidth; \
|
||||
_pWineCaps->MaxTextureHeight = &_pD3D8Caps->MaxTextureHeight; \
|
||||
_pWineCaps->MaxVolumeExtent = &_pD3D8Caps->MaxVolumeExtent; \
|
||||
_pWineCaps->MaxTextureRepeat = &_pD3D8Caps->MaxTextureRepeat; \
|
||||
_pWineCaps->MaxTextureAspectRatio = &_pD3D8Caps->MaxTextureAspectRatio; \
|
||||
_pWineCaps->MaxAnisotropy = &_pD3D8Caps->MaxAnisotropy; \
|
||||
_pWineCaps->MaxVertexW = &_pD3D8Caps->MaxVertexW; \
|
||||
_pWineCaps->GuardBandLeft = &_pD3D8Caps->GuardBandLeft; \
|
||||
_pWineCaps->GuardBandTop = &_pD3D8Caps->GuardBandTop; \
|
||||
_pWineCaps->GuardBandRight = &_pD3D8Caps->GuardBandRight; \
|
||||
_pWineCaps->GuardBandBottom = &_pD3D8Caps->GuardBandBottom; \
|
||||
_pWineCaps->ExtentsAdjust = &_pD3D8Caps->ExtentsAdjust; \
|
||||
_pWineCaps->StencilCaps = &_pD3D8Caps->StencilCaps; \
|
||||
_pWineCaps->FVFCaps = &_pD3D8Caps->FVFCaps; \
|
||||
_pWineCaps->TextureOpCaps = &_pD3D8Caps->TextureOpCaps; \
|
||||
_pWineCaps->MaxTextureBlendStages = &_pD3D8Caps->MaxTextureBlendStages; \
|
||||
_pWineCaps->MaxSimultaneousTextures = &_pD3D8Caps->MaxSimultaneousTextures; \
|
||||
_pWineCaps->VertexProcessingCaps = &_pD3D8Caps->VertexProcessingCaps; \
|
||||
_pWineCaps->MaxActiveLights = &_pD3D8Caps->MaxActiveLights; \
|
||||
_pWineCaps->MaxUserClipPlanes = &_pD3D8Caps->MaxUserClipPlanes; \
|
||||
_pWineCaps->MaxVertexBlendMatrices = &_pD3D8Caps->MaxVertexBlendMatrices; \
|
||||
_pWineCaps->MaxVertexBlendMatrixIndex = &_pD3D8Caps->MaxVertexBlendMatrixIndex; \
|
||||
_pWineCaps->MaxPointSize = &_pD3D8Caps->MaxPointSize; \
|
||||
_pWineCaps->MaxPrimitiveCount = &_pD3D8Caps->MaxPrimitiveCount; \
|
||||
_pWineCaps->MaxVertexIndex = &_pD3D8Caps->MaxVertexIndex; \
|
||||
_pWineCaps->MaxStreams = &_pD3D8Caps->MaxStreams; \
|
||||
_pWineCaps->MaxStreamStride = &_pD3D8Caps->MaxStreamStride; \
|
||||
_pWineCaps->VertexShaderVersion = &_pD3D8Caps->VertexShaderVersion; \
|
||||
_pWineCaps->MaxVertexShaderConst = &_pD3D8Caps->MaxVertexShaderConst; \
|
||||
_pWineCaps->PixelShaderVersion = &_pD3D8Caps->PixelShaderVersion; \
|
||||
_pWineCaps->PixelShader1xMaxValue = &_pD3D8Caps->MaxPixelShaderValue;
|
||||
|
||||
/* Direct3D8 Interfaces: */
|
||||
typedef struct IDirect3DBaseTexture8Impl IDirect3DBaseTexture8Impl;
|
||||
typedef struct IDirect3DVolumeTexture8Impl IDirect3DVolumeTexture8Impl;
|
||||
|
@ -192,7 +192,23 @@ HRESULT WINAPI IDirect3D8Impl_CheckDepthStencilMatch(LPDIRECT3D8 iface,
|
||||
|
||||
HRESULT WINAPI IDirect3D8Impl_GetDeviceCaps(LPDIRECT3D8 iface, UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS8* pCaps) {
|
||||
IDirect3D8Impl *This = (IDirect3D8Impl *)iface;
|
||||
return IWineD3D_GetDeviceCaps(This->WineD3D, Adapter, DeviceType, (void *)pCaps);
|
||||
HRESULT hrc = D3D_OK;
|
||||
WINED3DCAPS *pWineCaps;
|
||||
|
||||
TRACE("(%p) Relay %d %u %p \n", This, Adapter, DeviceType, pCaps);
|
||||
|
||||
if(NULL == pCaps){
|
||||
return D3DERR_INVALIDCALL;
|
||||
}
|
||||
pWineCaps = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WINED3DCAPS));
|
||||
if(pWineCaps == NULL){
|
||||
return D3DERR_INVALIDCALL; /*well this is what MSDN says to return*/
|
||||
}
|
||||
D3D8CAPSTOWINECAPS(pCaps, pWineCaps)
|
||||
hrc = IWineD3D_GetDeviceCaps(This->WineD3D, Adapter, DeviceType, pWineCaps);
|
||||
HeapFree(GetProcessHeap(), 0, pWineCaps);
|
||||
TRACE("(%p) returning %p\n", This, pCaps);
|
||||
return hrc;
|
||||
}
|
||||
|
||||
HMONITOR WINAPI IDirect3D8Impl_GetAdapterMonitor(LPDIRECT3D8 iface, UINT Adapter) {
|
||||
|
@ -92,6 +92,88 @@ extern void (*wine_tsx11_unlock_ptr)(void);
|
||||
#define D3D_VSHADER_MAX_CONSTANTS 96
|
||||
#define D3D_PSHADER_MAX_CONSTANTS 32
|
||||
|
||||
/* ===========================================================================
|
||||
Macros
|
||||
=========================================================================== */
|
||||
/* Not nice, but it lets wined3d support different versions of directx */
|
||||
#define D3D9CAPSTOWINECAPS(_pD3D9Caps, _pWineCaps) \
|
||||
_pWineCaps->DeviceType = &_pD3D9Caps->DeviceType; \
|
||||
_pWineCaps->AdapterOrdinal = &_pD3D9Caps->AdapterOrdinal; \
|
||||
_pWineCaps->Caps = &_pD3D9Caps->Caps; \
|
||||
_pWineCaps->Caps2 = &_pD3D9Caps->Caps2; \
|
||||
_pWineCaps->Caps3 = &_pD3D9Caps->Caps3; \
|
||||
_pWineCaps->PresentationIntervals = &_pD3D9Caps->PresentationIntervals; \
|
||||
_pWineCaps->CursorCaps = &_pD3D9Caps->CursorCaps; \
|
||||
_pWineCaps->DevCaps = &_pD3D9Caps->DevCaps; \
|
||||
_pWineCaps->PrimitiveMiscCaps = &_pD3D9Caps->PrimitiveMiscCaps; \
|
||||
_pWineCaps->RasterCaps = &_pD3D9Caps->RasterCaps; \
|
||||
_pWineCaps->ZCmpCaps = &_pD3D9Caps->ZCmpCaps; \
|
||||
_pWineCaps->SrcBlendCaps = &_pD3D9Caps->SrcBlendCaps; \
|
||||
_pWineCaps->DestBlendCaps = &_pD3D9Caps->DestBlendCaps; \
|
||||
_pWineCaps->AlphaCmpCaps = &_pD3D9Caps->AlphaCmpCaps; \
|
||||
_pWineCaps->ShadeCaps = &_pD3D9Caps->ShadeCaps; \
|
||||
_pWineCaps->TextureCaps = &_pD3D9Caps->TextureCaps; \
|
||||
_pWineCaps->TextureFilterCaps = &_pD3D9Caps->TextureFilterCaps; \
|
||||
_pWineCaps->CubeTextureFilterCaps = &_pD3D9Caps->CubeTextureFilterCaps; \
|
||||
_pWineCaps->VolumeTextureFilterCaps = &_pD3D9Caps->VolumeTextureFilterCaps; \
|
||||
_pWineCaps->TextureAddressCaps = &_pD3D9Caps->TextureAddressCaps; \
|
||||
_pWineCaps->VolumeTextureAddressCaps = &_pD3D9Caps->VolumeTextureAddressCaps; \
|
||||
_pWineCaps->LineCaps = &_pD3D9Caps->LineCaps; \
|
||||
_pWineCaps->MaxTextureWidth = &_pD3D9Caps->MaxTextureWidth; \
|
||||
_pWineCaps->MaxTextureHeight = &_pD3D9Caps->MaxTextureHeight; \
|
||||
_pWineCaps->MaxVolumeExtent = &_pD3D9Caps->MaxVolumeExtent; \
|
||||
_pWineCaps->MaxTextureRepeat = &_pD3D9Caps->MaxTextureRepeat; \
|
||||
_pWineCaps->MaxTextureAspectRatio = &_pD3D9Caps->MaxTextureAspectRatio; \
|
||||
_pWineCaps->MaxAnisotropy = &_pD3D9Caps->MaxAnisotropy; \
|
||||
_pWineCaps->MaxVertexW = &_pD3D9Caps->MaxVertexW; \
|
||||
_pWineCaps->GuardBandLeft = &_pD3D9Caps->GuardBandLeft; \
|
||||
_pWineCaps->GuardBandTop = &_pD3D9Caps->GuardBandTop; \
|
||||
_pWineCaps->GuardBandRight = &_pD3D9Caps->GuardBandRight; \
|
||||
_pWineCaps->GuardBandBottom = &_pD3D9Caps->GuardBandBottom; \
|
||||
_pWineCaps->ExtentsAdjust = &_pD3D9Caps->ExtentsAdjust; \
|
||||
_pWineCaps->StencilCaps = &_pD3D9Caps->StencilCaps; \
|
||||
_pWineCaps->FVFCaps = &_pD3D9Caps->FVFCaps; \
|
||||
_pWineCaps->TextureOpCaps = &_pD3D9Caps->TextureOpCaps; \
|
||||
_pWineCaps->MaxTextureBlendStages = &_pD3D9Caps->MaxTextureBlendStages; \
|
||||
_pWineCaps->MaxSimultaneousTextures = &_pD3D9Caps->MaxSimultaneousTextures; \
|
||||
_pWineCaps->VertexProcessingCaps = &_pD3D9Caps->VertexProcessingCaps; \
|
||||
_pWineCaps->MaxActiveLights = &_pD3D9Caps->MaxActiveLights; \
|
||||
_pWineCaps->MaxUserClipPlanes = &_pD3D9Caps->MaxUserClipPlanes; \
|
||||
_pWineCaps->MaxVertexBlendMatrices = &_pD3D9Caps->MaxVertexBlendMatrices; \
|
||||
_pWineCaps->MaxVertexBlendMatrixIndex = &_pD3D9Caps->MaxVertexBlendMatrixIndex; \
|
||||
_pWineCaps->MaxPointSize = &_pD3D9Caps->MaxPointSize; \
|
||||
_pWineCaps->MaxPrimitiveCount = &_pD3D9Caps->MaxPrimitiveCount; \
|
||||
_pWineCaps->MaxVertexIndex = &_pD3D9Caps->MaxVertexIndex; \
|
||||
_pWineCaps->MaxStreams = &_pD3D9Caps->MaxStreams; \
|
||||
_pWineCaps->MaxStreamStride = &_pD3D9Caps->MaxStreamStride; \
|
||||
_pWineCaps->VertexShaderVersion = &_pD3D9Caps->VertexShaderVersion; \
|
||||
_pWineCaps->MaxVertexShaderConst = &_pD3D9Caps->MaxVertexShaderConst; \
|
||||
_pWineCaps->PixelShaderVersion = &_pD3D9Caps->PixelShaderVersion; \
|
||||
_pWineCaps->PixelShader1xMaxValue = &_pD3D9Caps->PixelShader1xMaxValue; \
|
||||
_pWineCaps->DevCaps2 = &_pD3D9Caps->DevCaps2; \
|
||||
_pWineCaps->MaxNpatchTessellationLevel = &_pD3D9Caps->MaxNpatchTessellationLevel; \
|
||||
_pWineCaps->MasterAdapterOrdinal = &_pD3D9Caps->MasterAdapterOrdinal; \
|
||||
_pWineCaps->AdapterOrdinalInGroup = &_pD3D9Caps->AdapterOrdinalInGroup; \
|
||||
_pWineCaps->NumberOfAdaptersInGroup = &_pD3D9Caps->NumberOfAdaptersInGroup; \
|
||||
_pWineCaps->DeclTypes = &_pD3D9Caps->DeclTypes; \
|
||||
_pWineCaps->NumSimultaneousRTs = &_pD3D9Caps->NumSimultaneousRTs; \
|
||||
_pWineCaps->StretchRectFilterCaps = &_pD3D9Caps->StretchRectFilterCaps; \
|
||||
_pWineCaps->VS20Caps.Caps = &_pD3D9Caps->VS20Caps.Caps; \
|
||||
_pWineCaps->VS20Caps.DynamicFlowControlDepth = &_pD3D9Caps->VS20Caps.DynamicFlowControlDepth; \
|
||||
_pWineCaps->VS20Caps.NumTemps = &_pD3D9Caps->VS20Caps.NumTemps; \
|
||||
_pWineCaps->VS20Caps.NumTemps = &_pD3D9Caps->VS20Caps.NumTemps; \
|
||||
_pWineCaps->VS20Caps.StaticFlowControlDepth = &_pD3D9Caps->VS20Caps.StaticFlowControlDepth; \
|
||||
_pWineCaps->PS20Caps.Caps = &_pD3D9Caps->PS20Caps.Caps; \
|
||||
_pWineCaps->PS20Caps.DynamicFlowControlDepth = &_pD3D9Caps->PS20Caps.DynamicFlowControlDepth; \
|
||||
_pWineCaps->PS20Caps.NumTemps = &_pD3D9Caps->PS20Caps.NumTemps; \
|
||||
_pWineCaps->PS20Caps.StaticFlowControlDepth = &_pD3D9Caps->PS20Caps.StaticFlowControlDepth; \
|
||||
_pWineCaps->PS20Caps.NumInstructionSlots = &_pD3D9Caps->PS20Caps.NumInstructionSlots; \
|
||||
_pWineCaps->VertexTextureFilterCaps = &_pD3D9Caps->VertexTextureFilterCaps; \
|
||||
_pWineCaps->MaxVShaderInstructionsExecuted = &_pD3D9Caps->MaxVShaderInstructionsExecuted; \
|
||||
_pWineCaps->MaxPShaderInstructionsExecuted = &_pD3D9Caps->MaxPShaderInstructionsExecuted; \
|
||||
_pWineCaps->MaxVertexShader30InstructionSlots = &_pD3D9Caps->MaxVertexShader30InstructionSlots; \
|
||||
_pWineCaps->MaxPixelShader30InstructionSlots = &_pD3D9Caps->MaxPixelShader30InstructionSlots;
|
||||
|
||||
/* Direct3D9 Interfaces: */
|
||||
typedef struct IDirect3D9Impl IDirect3D9Impl;
|
||||
typedef struct IDirect3DDevice9Impl IDirect3DDevice9Impl;
|
||||
|
@ -97,7 +97,23 @@ HRESULT WINAPI IDirect3DDevice9Impl_GetDirect3D(LPDIRECT3DDEVICE9 iface, IDire
|
||||
|
||||
HRESULT WINAPI IDirect3DDevice9Impl_GetDeviceCaps(LPDIRECT3DDEVICE9 iface, D3DCAPS9* pCaps) {
|
||||
IDirect3DDevice9Impl *This = (IDirect3DDevice9Impl *)iface;
|
||||
return IWineD3DDevice_GetDeviceCaps(This->WineD3DDevice, pCaps);
|
||||
HRESULT hrc = D3D_OK;
|
||||
WINED3DCAPS *pWineCaps;
|
||||
|
||||
TRACE("(%p) : Relay pCaps %p \n", This, pCaps);
|
||||
if(NULL == pCaps){
|
||||
return D3DERR_INVALIDCALL;
|
||||
}
|
||||
pWineCaps = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WINED3DCAPS));
|
||||
if(pWineCaps == NULL){
|
||||
return D3DERR_INVALIDCALL; /* well this is what MSDN says to return */
|
||||
}
|
||||
|
||||
D3D9CAPSTOWINECAPS(pCaps, pWineCaps)
|
||||
hrc = IWineD3DDevice_GetDeviceCaps(This->WineD3DDevice, pWineCaps);
|
||||
HeapFree(GetProcessHeap(), 0, pWineCaps);
|
||||
TRACE("Returning %p %p\n", This, pCaps);
|
||||
return hrc;
|
||||
}
|
||||
|
||||
HRESULT WINAPI IDirect3DDevice9Impl_GetDisplayMode(LPDIRECT3DDEVICE9 iface, UINT iSwapChain, D3DDISPLAYMODE* pMode) {
|
||||
|
@ -2,6 +2,7 @@
|
||||
* IDirect3D9 implementation
|
||||
*
|
||||
* Copyright 2002 Jason Edmeades
|
||||
* Copyright 2005 Oliver Stieber
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@ -149,7 +150,23 @@ HRESULT WINAPI IDirect3D9Impl_CheckDeviceFormatConversion(LPDIRECT3D9 iface, U
|
||||
|
||||
HRESULT WINAPI IDirect3D9Impl_GetDeviceCaps(LPDIRECT3D9 iface, UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps) {
|
||||
IDirect3D9Impl *This = (IDirect3D9Impl *)iface;
|
||||
return IWineD3D_GetDeviceCaps(This->WineD3D, Adapter, DeviceType, (WINED3DCAPS *)pCaps);
|
||||
HRESULT hrc = D3D_OK;
|
||||
WINED3DCAPS *pWineCaps;
|
||||
|
||||
TRACE("(%p) Relay %d %u %p \n", This, Adapter, DeviceType, pCaps);
|
||||
|
||||
if(NULL == pCaps){
|
||||
return D3DERR_INVALIDCALL;
|
||||
}
|
||||
pWineCaps = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WINED3DCAPS));
|
||||
if(pWineCaps == NULL){
|
||||
return D3DERR_INVALIDCALL; /*well this is what MSDN says to return*/
|
||||
}
|
||||
D3D9CAPSTOWINECAPS(pCaps, pWineCaps)
|
||||
hrc = IWineD3D_GetDeviceCaps(This->WineD3D, Adapter, DeviceType, pWineCaps);
|
||||
HeapFree(GetProcessHeap(), 0, pWineCaps);
|
||||
TRACE("(%p) returning %p\n", This, pCaps);
|
||||
return hrc;
|
||||
}
|
||||
|
||||
HMONITOR WINAPI IDirect3D9Impl_GetAdapterMonitor(LPDIRECT3D9 iface, UINT Adapter) {
|
||||
|
@ -3626,11 +3626,10 @@ HRESULT WINAPI IWineD3DDeviceImpl_GetBackBuffer(IWineD3DDevice *iface, UINT iSwa
|
||||
return D3D_OK;
|
||||
}
|
||||
|
||||
HRESULT WINAPI IWineD3DDeviceImpl_GetDeviceCaps(IWineD3DDevice *iface, D3DCAPS9* pCaps) {
|
||||
HRESULT WINAPI IWineD3DDeviceImpl_GetDeviceCaps(IWineD3DDevice *iface, WINED3DCAPS* pCaps) {
|
||||
IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
|
||||
WARN("(%p) : stub, calling idirect3d for now\n", This);
|
||||
IWineD3D_GetDeviceCaps(This->wineD3D, This->adapterNo, This->devType, pCaps);
|
||||
return D3D_OK;
|
||||
return IWineD3D_GetDeviceCaps(This->wineD3D, This->adapterNo, This->devType, pCaps);
|
||||
}
|
||||
|
||||
/** TODO: move to swapchains **/
|
||||
|
@ -126,8 +126,6 @@ DEFINE_GUID(IID_IWineD3DQuery,
|
||||
# define WINED3DMATERIAL D3DMATERIAL8
|
||||
# define WINED3DVIEWPORT D3DVIEWPORT8
|
||||
|
||||
/* Subset: */
|
||||
# define WINED3DCAPS D3DCAPS8
|
||||
#else
|
||||
/* Identical: */
|
||||
# define WINED3DLIGHT D3DLIGHT9
|
||||
@ -135,8 +133,6 @@ DEFINE_GUID(IID_IWineD3DQuery,
|
||||
# define WINED3DMATERIAL D3DMATERIAL9
|
||||
# define WINED3DVIEWPORT D3DVIEWPORT9
|
||||
|
||||
/* Subsets: */
|
||||
# define WINED3DCAPS D3DCAPS9
|
||||
#endif
|
||||
|
||||
typedef struct IWineD3D IWineD3D;
|
||||
|
@ -4,6 +4,7 @@
|
||||
* Copyright 2002-2003 The wine-d3d team
|
||||
* Copyright 2002-2003 Jason Edmeades
|
||||
* Raphael Junqueira
|
||||
* Copyright 2005 Oliver Stieber
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@ -536,6 +537,118 @@ typedef struct WINED3DDEVINFO_VCACHE {
|
||||
DWORD MagicNumber;
|
||||
} WINED3DDEVINFO_VCACHE;
|
||||
|
||||
/*
|
||||
* The wined3dcaps structure
|
||||
*/
|
||||
|
||||
typedef struct _WINED3DVSHADERCAPS2_0 {
|
||||
DWORD *Caps;
|
||||
INT *DynamicFlowControlDepth;
|
||||
INT *NumTemps;
|
||||
INT *StaticFlowControlDepth;
|
||||
} WINED3DVSHADERCAPS2_0;
|
||||
|
||||
typedef struct _WINED3DPSHADERCAPS2_0 {
|
||||
DWORD *Caps;
|
||||
INT *DynamicFlowControlDepth;
|
||||
INT *NumTemps;
|
||||
INT *StaticFlowControlDepth;
|
||||
INT *NumInstructionSlots;
|
||||
} WINED3DPSHADERCAPS2_0;
|
||||
|
||||
typedef struct _WINED3DCAPS {
|
||||
D3DDEVTYPE *DeviceType;
|
||||
UINT *AdapterOrdinal;
|
||||
|
||||
DWORD *Caps;
|
||||
DWORD *Caps2;
|
||||
DWORD *Caps3;
|
||||
DWORD *PresentationIntervals;
|
||||
|
||||
DWORD *CursorCaps;
|
||||
|
||||
DWORD *DevCaps;
|
||||
|
||||
DWORD *PrimitiveMiscCaps;
|
||||
DWORD *RasterCaps;
|
||||
DWORD *ZCmpCaps;
|
||||
DWORD *SrcBlendCaps;
|
||||
DWORD *DestBlendCaps;
|
||||
DWORD *AlphaCmpCaps;
|
||||
DWORD *ShadeCaps;
|
||||
DWORD *TextureCaps;
|
||||
DWORD *TextureFilterCaps;
|
||||
DWORD *CubeTextureFilterCaps;
|
||||
DWORD *VolumeTextureFilterCaps;
|
||||
DWORD *TextureAddressCaps;
|
||||
DWORD *VolumeTextureAddressCaps;
|
||||
|
||||
DWORD *LineCaps;
|
||||
|
||||
DWORD *MaxTextureWidth;
|
||||
DWORD *MaxTextureHeight;
|
||||
DWORD *MaxVolumeExtent;
|
||||
|
||||
DWORD *MaxTextureRepeat;
|
||||
DWORD *MaxTextureAspectRatio;
|
||||
DWORD *MaxAnisotropy;
|
||||
float *MaxVertexW;
|
||||
|
||||
float *GuardBandLeft;
|
||||
float *GuardBandTop;
|
||||
float *GuardBandRight;
|
||||
float *GuardBandBottom;
|
||||
|
||||
float *ExtentsAdjust;
|
||||
DWORD *StencilCaps;
|
||||
|
||||
DWORD *FVFCaps;
|
||||
DWORD *TextureOpCaps;
|
||||
DWORD *MaxTextureBlendStages;
|
||||
DWORD *MaxSimultaneousTextures;
|
||||
|
||||
DWORD *VertexProcessingCaps;
|
||||
DWORD *MaxActiveLights;
|
||||
DWORD *MaxUserClipPlanes;
|
||||
DWORD *MaxVertexBlendMatrices;
|
||||
DWORD *MaxVertexBlendMatrixIndex;
|
||||
|
||||
float *MaxPointSize;
|
||||
|
||||
DWORD *MaxPrimitiveCount;
|
||||
DWORD *MaxVertexIndex;
|
||||
DWORD *MaxStreams;
|
||||
DWORD *MaxStreamStride;
|
||||
|
||||
DWORD *VertexShaderVersion;
|
||||
DWORD *MaxVertexShaderConst;
|
||||
|
||||
DWORD *PixelShaderVersion;
|
||||
float *PixelShader1xMaxValue;
|
||||
|
||||
/* DX 9 */
|
||||
DWORD *DevCaps2;
|
||||
|
||||
float *MaxNpatchTessellationLevel;
|
||||
DWORD *Reserved5; /*undocumented*/
|
||||
|
||||
UINT *MasterAdapterOrdinal;
|
||||
UINT *AdapterOrdinalInGroup;
|
||||
UINT *NumberOfAdaptersInGroup;
|
||||
DWORD *DeclTypes;
|
||||
DWORD *NumSimultaneousRTs;
|
||||
DWORD *StretchRectFilterCaps;
|
||||
WINED3DVSHADERCAPS2_0 VS20Caps;
|
||||
WINED3DPSHADERCAPS2_0 PS20Caps;
|
||||
DWORD *VertexTextureFilterCaps;
|
||||
DWORD *MaxVShaderInstructionsExecuted;
|
||||
DWORD *MaxPShaderInstructionsExecuted;
|
||||
DWORD *MaxVertexShader30InstructionSlots;
|
||||
DWORD *MaxPixelShader30InstructionSlots;
|
||||
DWORD *Reserved2;/* Not in the microsoft headers but documented */
|
||||
DWORD *Reserved3;
|
||||
|
||||
} WINED3DCAPS;
|
||||
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user