Roderick Colenbrander : wined3d: Add dynamic locking support to CheckDeviceFormat.

Alexandre Julliard julliard at winehq.org
Thu Mar 20 09:48:09 CDT 2008


Module: wine
Branch: master
Commit: 30a3bc2651ed5ded408f002f30601008e4c23988
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=30a3bc2651ed5ded408f002f30601008e4c23988

Author: Roderick Colenbrander <thunderbird2k at 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)) {




More information about the wine-cvs mailing list