Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e70e3ba0
Commit
e70e3ba0
authored
Jun 17, 2005
by
Oliver Stieber
Committed by
Alexandre Julliard
Jun 17, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Change the way caps are sent between d3d9/d3d8 and wined3d to make it
easier for wined3d to support additional versions of Direct3D.
parent
96ebd310
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
308 additions
and
10 deletions
+308
-10
d3d8_private.h
dlls/d3d8/d3d8_private.h
+59
-0
directx.c
dlls/d3d8/directx.c
+17
-1
d3d9_private.h
dlls/d3d9/d3d9_private.h
+82
-0
device.c
dlls/d3d9/device.c
+17
-1
directx.c
dlls/d3d9/directx.c
+18
-1
device.c
dlls/wined3d/device.c
+2
-3
wined3d_interface.h
include/wine/wined3d_interface.h
+0
-4
wined3d_types.h
include/wine/wined3d_types.h
+113
-0
No files found.
dlls/d3d8/d3d8_private.h
View file @
e70e3ba0
...
@@ -102,6 +102,65 @@ extern int ps_mode;
...
@@ -102,6 +102,65 @@ extern int ps_mode;
#define PIXEL_SHADER(Handle) \
#define PIXEL_SHADER(Handle) \
((Handle <= VS_HIGHESTFIXEDFXF) ? ((Handle >= sizeof(PixelShaders) / sizeof(IDirect3DPixelShaderImpl*)) ? NULL : PixelShaders[Handle]) : PixelShaders[Handle - VS_HIGHESTFIXEDFXF])
((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: */
/* Direct3D8 Interfaces: */
typedef
struct
IDirect3DBaseTexture8Impl
IDirect3DBaseTexture8Impl
;
typedef
struct
IDirect3DBaseTexture8Impl
IDirect3DBaseTexture8Impl
;
typedef
struct
IDirect3DVolumeTexture8Impl
IDirect3DVolumeTexture8Impl
;
typedef
struct
IDirect3DVolumeTexture8Impl
IDirect3DVolumeTexture8Impl
;
...
...
dlls/d3d8/directx.c
View file @
e70e3ba0
...
@@ -192,7 +192,23 @@ HRESULT WINAPI IDirect3D8Impl_CheckDepthStencilMatch(LPDIRECT3D8 iface,
...
@@ -192,7 +192,23 @@ HRESULT WINAPI IDirect3D8Impl_CheckDepthStencilMatch(LPDIRECT3D8 iface,
HRESULT
WINAPI
IDirect3D8Impl_GetDeviceCaps
(
LPDIRECT3D8
iface
,
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DCAPS8
*
pCaps
)
{
HRESULT
WINAPI
IDirect3D8Impl_GetDeviceCaps
(
LPDIRECT3D8
iface
,
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DCAPS8
*
pCaps
)
{
IDirect3D8Impl
*
This
=
(
IDirect3D8Impl
*
)
iface
;
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
)
{
HMONITOR
WINAPI
IDirect3D8Impl_GetAdapterMonitor
(
LPDIRECT3D8
iface
,
UINT
Adapter
)
{
...
...
dlls/d3d9/d3d9_private.h
View file @
e70e3ba0
...
@@ -92,6 +92,88 @@ extern void (*wine_tsx11_unlock_ptr)(void);
...
@@ -92,6 +92,88 @@ extern void (*wine_tsx11_unlock_ptr)(void);
#define D3D_VSHADER_MAX_CONSTANTS 96
#define D3D_VSHADER_MAX_CONSTANTS 96
#define D3D_PSHADER_MAX_CONSTANTS 32
#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: */
/* Direct3D9 Interfaces: */
typedef
struct
IDirect3D9Impl
IDirect3D9Impl
;
typedef
struct
IDirect3D9Impl
IDirect3D9Impl
;
typedef
struct
IDirect3DDevice9Impl
IDirect3DDevice9Impl
;
typedef
struct
IDirect3DDevice9Impl
IDirect3DDevice9Impl
;
...
...
dlls/d3d9/device.c
View file @
e70e3ba0
...
@@ -97,7 +97,23 @@ HRESULT WINAPI IDirect3DDevice9Impl_GetDirect3D(LPDIRECT3DDEVICE9 iface, IDire
...
@@ -97,7 +97,23 @@ HRESULT WINAPI IDirect3DDevice9Impl_GetDirect3D(LPDIRECT3DDEVICE9 iface, IDire
HRESULT
WINAPI
IDirect3DDevice9Impl_GetDeviceCaps
(
LPDIRECT3DDEVICE9
iface
,
D3DCAPS9
*
pCaps
)
{
HRESULT
WINAPI
IDirect3DDevice9Impl_GetDeviceCaps
(
LPDIRECT3DDEVICE9
iface
,
D3DCAPS9
*
pCaps
)
{
IDirect3DDevice9Impl
*
This
=
(
IDirect3DDevice9Impl
*
)
iface
;
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
)
{
HRESULT
WINAPI
IDirect3DDevice9Impl_GetDisplayMode
(
LPDIRECT3DDEVICE9
iface
,
UINT
iSwapChain
,
D3DDISPLAYMODE
*
pMode
)
{
...
...
dlls/d3d9/directx.c
View file @
e70e3ba0
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
* IDirect3D9 implementation
* IDirect3D9 implementation
*
*
* Copyright 2002 Jason Edmeades
* Copyright 2002 Jason Edmeades
* Copyright 2005 Oliver Stieber
*
*
* This library is free software; you can redistribute it and/or
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* modify it under the terms of the GNU Lesser General Public
...
@@ -149,7 +150,23 @@ HRESULT WINAPI IDirect3D9Impl_CheckDeviceFormatConversion(LPDIRECT3D9 iface, U
...
@@ -149,7 +150,23 @@ HRESULT WINAPI IDirect3D9Impl_CheckDeviceFormatConversion(LPDIRECT3D9 iface, U
HRESULT
WINAPI
IDirect3D9Impl_GetDeviceCaps
(
LPDIRECT3D9
iface
,
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DCAPS9
*
pCaps
)
{
HRESULT
WINAPI
IDirect3D9Impl_GetDeviceCaps
(
LPDIRECT3D9
iface
,
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DCAPS9
*
pCaps
)
{
IDirect3D9Impl
*
This
=
(
IDirect3D9Impl
*
)
iface
;
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
)
{
HMONITOR
WINAPI
IDirect3D9Impl_GetAdapterMonitor
(
LPDIRECT3D9
iface
,
UINT
Adapter
)
{
...
...
dlls/wined3d/device.c
View file @
e70e3ba0
...
@@ -3626,11 +3626,10 @@ HRESULT WINAPI IWineD3DDeviceImpl_GetBackBuffer(IWineD3DDevice *iface, UINT iSwa
...
@@ -3626,11 +3626,10 @@ HRESULT WINAPI IWineD3DDeviceImpl_GetBackBuffer(IWineD3DDevice *iface, UINT iSwa
return
D3D_OK
;
return
D3D_OK
;
}
}
HRESULT
WINAPI
IWineD3DDeviceImpl_GetDeviceCaps
(
IWineD3DDevice
*
iface
,
D3DCAPS9
*
pCaps
)
{
HRESULT
WINAPI
IWineD3DDeviceImpl_GetDeviceCaps
(
IWineD3DDevice
*
iface
,
WINED3DCAPS
*
pCaps
)
{
IWineD3DDeviceImpl
*
This
=
(
IWineD3DDeviceImpl
*
)
iface
;
IWineD3DDeviceImpl
*
This
=
(
IWineD3DDeviceImpl
*
)
iface
;
WARN
(
"(%p) : stub, calling idirect3d for now
\n
"
,
This
);
WARN
(
"(%p) : stub, calling idirect3d for now
\n
"
,
This
);
IWineD3D_GetDeviceCaps
(
This
->
wineD3D
,
This
->
adapterNo
,
This
->
devType
,
pCaps
);
return
IWineD3D_GetDeviceCaps
(
This
->
wineD3D
,
This
->
adapterNo
,
This
->
devType
,
pCaps
);
return
D3D_OK
;
}
}
/** TODO: move to swapchains **/
/** TODO: move to swapchains **/
...
...
include/wine/wined3d_interface.h
View file @
e70e3ba0
...
@@ -126,8 +126,6 @@ DEFINE_GUID(IID_IWineD3DQuery,
...
@@ -126,8 +126,6 @@ DEFINE_GUID(IID_IWineD3DQuery,
# define WINED3DMATERIAL D3DMATERIAL8
# define WINED3DMATERIAL D3DMATERIAL8
# define WINED3DVIEWPORT D3DVIEWPORT8
# define WINED3DVIEWPORT D3DVIEWPORT8
/* Subset: */
# define WINED3DCAPS D3DCAPS8
#else
#else
/* Identical: */
/* Identical: */
# define WINED3DLIGHT D3DLIGHT9
# define WINED3DLIGHT D3DLIGHT9
...
@@ -135,8 +133,6 @@ DEFINE_GUID(IID_IWineD3DQuery,
...
@@ -135,8 +133,6 @@ DEFINE_GUID(IID_IWineD3DQuery,
# define WINED3DMATERIAL D3DMATERIAL9
# define WINED3DMATERIAL D3DMATERIAL9
# define WINED3DVIEWPORT D3DVIEWPORT9
# define WINED3DVIEWPORT D3DVIEWPORT9
/* Subsets: */
# define WINED3DCAPS D3DCAPS9
#endif
#endif
typedef
struct
IWineD3D
IWineD3D
;
typedef
struct
IWineD3D
IWineD3D
;
...
...
include/wine/wined3d_types.h
View file @
e70e3ba0
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
* Copyright 2002-2003 The wine-d3d team
* Copyright 2002-2003 The wine-d3d team
* Copyright 2002-2003 Jason Edmeades
* Copyright 2002-2003 Jason Edmeades
* Raphael Junqueira
* Raphael Junqueira
* Copyright 2005 Oliver Stieber
*
*
* This library is free software; you can redistribute it and/or
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* modify it under the terms of the GNU Lesser General Public
...
@@ -536,6 +537,118 @@ typedef struct WINED3DDEVINFO_VCACHE {
...
@@ -536,6 +537,118 @@ typedef struct WINED3DDEVINFO_VCACHE {
DWORD
MagicNumber
;
DWORD
MagicNumber
;
}
WINED3DDEVINFO_VCACHE
;
}
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
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment