Module: wine Branch: master Commit: 30a3bc2651ed5ded408f002f30601008e4c23988 URL: http://source.winehq.org/git/wine.git/?a=commit;h=30a3bc2651ed5ded408f002f30...
Author: Roderick Colenbrander thunderbird2k@gmx.net Date: Tue Mar 18 09:43:27 2008 +0100
wined3d: Add dynamic locking support to CheckDeviceFormat.
---
dlls/wined3d/directx.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index aa2c537..f3d7b25 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -2245,6 +2245,10 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt } }
+ /* Always report dynamic locking */ + if(Usage & WINED3DUSAGE_DYNAMIC) + UsageCaps |= WINED3DUSAGE_DYNAMIC; + if(Usage & WINED3DUSAGE_RENDERTARGET) { if(CheckRenderTargetCapability(AdapterFormat, CheckFormat)) { UsageCaps |= WINED3DUSAGE_RENDERTARGET; @@ -2333,6 +2337,10 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt } }
+ /* Always report dynamic locking */ + if(Usage & WINED3DUSAGE_DYNAMIC) + UsageCaps |= WINED3DUSAGE_DYNAMIC; + if(Usage & WINED3DUSAGE_RENDERTARGET) { if(CheckRenderTargetCapability(AdapterFormat, CheckFormat)) { UsageCaps |= WINED3DUSAGE_RENDERTARGET; @@ -2386,6 +2394,12 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt UsageCaps |= WINED3DUSAGE_DEPTHSTENCIL; } } else if(RType == WINED3DRTYPE_VOLUMETEXTURE) { + /* Volumetexture allows: + * - D3DUSAGE_DYNAMIC + * - D3DUSAGE_NONSECURE (d3d9ex) + * - D3DUSAGE_SOFTWAREPROCESSING + */ + /* Check volume texture and volume usage caps */ if(GL_SUPPORT(EXT_TEXTURE3D)) { if(CheckTextureCapability(Adapter, CheckFormat) == FALSE) { @@ -2393,6 +2407,10 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt return WINED3DERR_NOTAVAILABLE; }
+ /* Always report dynamic locking */ + if(Usage & WINED3DUSAGE_DYNAMIC) + UsageCaps |= WINED3DUSAGE_DYNAMIC; + /* Check QUERY_FILTER support */ if(Usage & WINED3DUSAGE_QUERY_FILTER) { if(CheckFilterCapability(CheckFormat)) {