[4/3] wined3d: Only report 16 bit float declaration types as supported if we support them

H. Verbeet hverbeet at gmail.com
Wed Aug 1 16:14:03 CDT 2007


... and of course I only notice these caps after actually implementing
half float support and sending in the patches. This patch fixes the
invisible units in the Supreme Commander demo, like the previous
patch, but this time for cards without NV_half_float support.

Changelog:
  - Only report 16 bit float declaration types as supported if we support them
-------------- next part --------------
---

 dlls/wined3d/directx.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index d4a905a..7da3ef2 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -2301,10 +2301,12 @@ static HRESULT WINAPI IWineD3DImpl_GetDeviceCaps(IWineD3D *iface, UINT Adapter,
             *pCaps->DeclTypes = WINED3DDTCAPS_UBYTE4    |
                                 WINED3DDTCAPS_UBYTE4N   |
                                 WINED3DDTCAPS_SHORT2N   |
-                                WINED3DDTCAPS_SHORT4N   |
+                                WINED3DDTCAPS_SHORT4N;
+            if (GL_SUPPORT(NV_HALF_FLOAT)) {
+                *pCaps->DeclTypes |=
                                 WINED3DDTCAPS_FLOAT16_2 |
                                 WINED3DDTCAPS_FLOAT16_4;
-
+            }
         } else
             *pCaps->DeclTypes                         = 0;
 


More information about the wine-patches mailing list