[1/2] wined3d: Advertise A32B32G32R32F render target support

H. Verbeet hverbeet at gmail.com
Sun Jul 8 15:57:36 CDT 2007


Filtering is not supported on this format though, so blacklist that.

Changelog:
  - Advertise A32B32G32R32F render target support
-------------- next part --------------
---

 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 ce2ca70..8351b94 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1535,6 +1535,17 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt
         return WINED3DERR_INVALIDCALL;
     }
 
+    if (Usage & WINED3DUSAGE_QUERY_FILTER) {
+        switch (CheckFormat) {
+            /* Filtering not supported */
+            case WINED3DFMT_A32B32G32R32F:
+                TRACE_(d3d_caps)("[FAILED]\n");
+                return WINED3DERR_NOTAVAILABLE;
+            default:
+                break;
+        }
+    }
+
     /* TODO: Check support against more of the WINED3DUSAGE_QUERY_* constants
      * See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/IDirect3D9__CheckDeviceFormat.asp
      * and http://msdn.microsoft.com/library/default.asp?url=/library/en-us/directx9_c/D3DUSAGE_QUERY.asp */
@@ -1589,6 +1600,13 @@ static HRESULT WINAPI IWineD3DImpl_CheckDeviceFormat(IWineD3D *iface, UINT Adapt
                 }
                 TRACE_(d3d_caps)("[OK]\n");
                 return WINED3D_OK;
+            case WINED3DFMT_A32B32G32R32F:
+               if (!GL_SUPPORT(ARB_TEXTURE_FLOAT)) {
+                    TRACE_(d3d_caps)("[FAILED]\n");
+                    return WINED3DERR_NOTAVAILABLE;
+                }
+                TRACE_(d3d_caps)("[OK]\n");
+                return WINED3D_OK;
             default:
                 TRACE_(d3d_caps)("[FAILED]\n");
                 return WINED3DERR_NOTAVAILABLE;


More information about the wine-patches mailing list