[PATCH 2/3] wined3d: Make adapter partially responsible for filling wined3d caps.

Józef Kucia jkucia at codeweavers.com
Sun Mar 17 12:51:05 CDT 2019


Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 dlls/wined3d/adapter_gl.c      | 146 ++++++++++++++++++++++++++++++
 dlls/wined3d/directx.c         | 159 +++------------------------------
 dlls/wined3d/wined3d_private.h |   2 +
 include/wine/wined3d.h         |   2 +-
 4 files changed, 162 insertions(+), 147 deletions(-)

diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
index e7dd0dac961d..4b5445504295 100644
--- a/dlls/wined3d/adapter_gl.c
+++ b/dlls/wined3d/adapter_gl.c
@@ -4246,9 +4246,155 @@ static void wined3d_adapter_init_fb_cfgs(struct wined3d_adapter *adapter, HDC dc
     }
 }
 
+static void adapter_gl_get_wined3d_caps(const struct wined3d_adapter *adapter, struct wined3d_caps *caps)
+{
+    const struct wined3d_d3d_info *d3d_info = &adapter->d3d_info;
+    const struct wined3d_gl_info *gl_info = &adapter->gl_info;
+
+    if (gl_info->supported[ARB_FRAMEBUFFER_OBJECT] || gl_info->supported[EXT_FRAMEBUFFER_OBJECT])
+        caps->Caps2 |= WINED3DCAPS2_CANGENMIPMAP;
+
+    if (gl_info->supported[WINED3D_GL_BLEND_EQUATION])
+        caps->PrimitiveMiscCaps |= WINED3DPMISCCAPS_BLENDOP;
+    if (gl_info->supported[EXT_BLEND_EQUATION_SEPARATE] && gl_info->supported[EXT_BLEND_FUNC_SEPARATE])
+        caps->PrimitiveMiscCaps |= WINED3DPMISCCAPS_SEPARATEALPHABLEND;
+    if (gl_info->supported[EXT_DRAW_BUFFERS2])
+        caps->PrimitiveMiscCaps |= WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS;
+    if (gl_info->supported[ARB_FRAMEBUFFER_SRGB])
+        caps->PrimitiveMiscCaps |= WINED3DPMISCCAPS_POSTBLENDSRGBCONVERT;
+
+    if (gl_info->supported[ARB_TEXTURE_FILTER_ANISOTROPIC])
+    {
+        caps->RasterCaps |= WINED3DPRASTERCAPS_ANISOTROPY
+                | WINED3DPRASTERCAPS_ZBIAS
+                | WINED3DPRASTERCAPS_MIPMAPLODBIAS;
+    }
+
+    if (gl_info->supported[ARB_BLEND_FUNC_EXTENDED])
+        caps->DestBlendCaps |= WINED3DPBLENDCAPS_SRCALPHASAT;
+
+    if (gl_info->supported[EXT_BLEND_COLOR])
+    {
+        caps->SrcBlendCaps |= WINED3DPBLENDCAPS_BLENDFACTOR;
+        caps->DestBlendCaps |= WINED3DPBLENDCAPS_BLENDFACTOR;
+    }
+
+    if (gl_info->supported[EXT_TEXTURE3D])
+    {
+        caps->TextureCaps |= WINED3DPTEXTURECAPS_VOLUMEMAP
+                | WINED3DPTEXTURECAPS_MIPVOLUMEMAP;
+        if (!d3d_info->texture_npot)
+            caps->TextureCaps |= WINED3DPTEXTURECAPS_VOLUMEMAP_POW2;
+    }
+
+    if (gl_info->supported[ARB_TEXTURE_CUBE_MAP])
+    {
+        caps->TextureCaps |= WINED3DPTEXTURECAPS_CUBEMAP
+                | WINED3DPTEXTURECAPS_MIPCUBEMAP;
+        if (!d3d_info->texture_npot)
+            caps->TextureCaps |= WINED3DPTEXTURECAPS_CUBEMAP_POW2;
+    }
+
+    if (gl_info->supported[ARB_TEXTURE_FILTER_ANISOTROPIC])
+    {
+        caps->TextureFilterCaps |= WINED3DPTFILTERCAPS_MAGFANISOTROPIC
+                | WINED3DPTFILTERCAPS_MINFANISOTROPIC;
+    }
+
+    if (gl_info->supported[ARB_TEXTURE_CUBE_MAP])
+    {
+        caps->CubeTextureFilterCaps |= WINED3DPTFILTERCAPS_MAGFLINEAR
+                | WINED3DPTFILTERCAPS_MAGFPOINT
+                | WINED3DPTFILTERCAPS_MINFLINEAR
+                | WINED3DPTFILTERCAPS_MINFPOINT
+                | WINED3DPTFILTERCAPS_MIPFLINEAR
+                | WINED3DPTFILTERCAPS_MIPFPOINT
+                | WINED3DPTFILTERCAPS_LINEAR
+                | WINED3DPTFILTERCAPS_LINEARMIPLINEAR
+                | WINED3DPTFILTERCAPS_LINEARMIPNEAREST
+                | WINED3DPTFILTERCAPS_MIPLINEAR
+                | WINED3DPTFILTERCAPS_MIPNEAREST
+                | WINED3DPTFILTERCAPS_NEAREST;
+
+        if (gl_info->supported[ARB_TEXTURE_FILTER_ANISOTROPIC])
+        {
+            caps->CubeTextureFilterCaps |= WINED3DPTFILTERCAPS_MAGFANISOTROPIC
+                    | WINED3DPTFILTERCAPS_MINFANISOTROPIC;
+        }
+    }
+
+    if (gl_info->supported[EXT_TEXTURE3D])
+    {
+        caps->VolumeTextureFilterCaps |= WINED3DPTFILTERCAPS_MAGFLINEAR
+                | WINED3DPTFILTERCAPS_MAGFPOINT
+                | WINED3DPTFILTERCAPS_MINFLINEAR
+                | WINED3DPTFILTERCAPS_MINFPOINT
+                | WINED3DPTFILTERCAPS_MIPFLINEAR
+                | WINED3DPTFILTERCAPS_MIPFPOINT
+                | WINED3DPTFILTERCAPS_LINEAR
+                | WINED3DPTFILTERCAPS_LINEARMIPLINEAR
+                | WINED3DPTFILTERCAPS_LINEARMIPNEAREST
+                | WINED3DPTFILTERCAPS_MIPLINEAR
+                | WINED3DPTFILTERCAPS_MIPNEAREST
+                | WINED3DPTFILTERCAPS_NEAREST;
+    }
+
+    if (gl_info->supported[ARB_TEXTURE_BORDER_CLAMP])
+    {
+        caps->TextureAddressCaps |= WINED3DPTADDRESSCAPS_BORDER;
+    }
+    if (gl_info->supported[ARB_TEXTURE_MIRRORED_REPEAT])
+    {
+        caps->TextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRROR;
+    }
+    if (gl_info->supported[ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE])
+    {
+        caps->TextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRRORONCE;
+    }
+
+    if (gl_info->supported[EXT_TEXTURE3D])
+    {
+        caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_INDEPENDENTUV
+                | WINED3DPTADDRESSCAPS_CLAMP
+                | WINED3DPTADDRESSCAPS_WRAP;
+
+        if (gl_info->supported[ARB_TEXTURE_BORDER_CLAMP])
+        {
+            caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_BORDER;
+        }
+        if (gl_info->supported[ARB_TEXTURE_MIRRORED_REPEAT])
+        {
+            caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRROR;
+        }
+        if (gl_info->supported[ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE])
+        {
+            caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRRORONCE;
+        }
+    }
+
+    if (gl_info->supported[EXT_TEXTURE3D])
+        caps->MaxVolumeExtent = gl_info->limits.texture3d_size;
+
+    if (gl_info->supported[EXT_STENCIL_WRAP])
+    {
+        caps->StencilCaps |= WINED3DSTENCILCAPS_DECR
+                | WINED3DSTENCILCAPS_INCR;
+    }
+
+    if (gl_info->supported[WINED3D_GL_VERSION_2_0]
+            || gl_info->supported[EXT_STENCIL_TWO_SIDE]
+            || gl_info->supported[ATI_SEPARATE_STENCIL])
+    {
+        caps->StencilCaps |= WINED3DSTENCILCAPS_TWOSIDED;
+    }
+
+    caps->MaxAnisotropy = gl_info->limits.anisotropy;
+}
+
 static const struct wined3d_adapter_ops wined3d_adapter_gl_ops =
 {
     wined3d_adapter_gl_create_context,
+    adapter_gl_get_wined3d_caps,
 };
 
 BOOL wined3d_adapter_gl_init(struct wined3d_adapter *adapter, DWORD wined3d_creation_flags)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index d51e672a137e..d2e44f4955d5 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1871,7 +1871,7 @@ HRESULT CDECL wined3d_check_device_type(const struct wined3d *wined3d, UINT adap
     return WINED3D_OK;
 }
 
-HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapter_idx,
+HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, unsigned int adapter_idx,
         enum wined3d_device_type device_type, struct wined3d_caps *caps)
 {
     const struct wined3d_adapter *adapter = &wined3d->adapters[adapter_idx];
@@ -1895,8 +1895,6 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte
     caps->Caps2                    = WINED3DCAPS2_CANRENDERWINDOWED |
                                      WINED3DCAPS2_FULLSCREENGAMMA |
                                      WINED3DCAPS2_DYNAMICTEXTURES;
-    if (gl_info->supported[ARB_FRAMEBUFFER_OBJECT] || gl_info->supported[EXT_FRAMEBUFFER_OBJECT])
-        caps->Caps2 |= WINED3DCAPS2_CANGENMIPMAP;
 
     caps->Caps3                    = WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD |
                                      WINED3DCAPS3_COPY_TO_VIDMEM                   |
@@ -1934,15 +1932,6 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte
                                         WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS
                                         WINED3DPMISCCAPS_FOGVERTEXCLAMPED */
 
-    if (gl_info->supported[WINED3D_GL_BLEND_EQUATION])
-        caps->PrimitiveMiscCaps |= WINED3DPMISCCAPS_BLENDOP;
-    if (gl_info->supported[EXT_BLEND_EQUATION_SEPARATE] && gl_info->supported[EXT_BLEND_FUNC_SEPARATE])
-        caps->PrimitiveMiscCaps |= WINED3DPMISCCAPS_SEPARATEALPHABLEND;
-    if (gl_info->supported[EXT_DRAW_BUFFERS2])
-        caps->PrimitiveMiscCaps |= WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS;
-    if (gl_info->supported[ARB_FRAMEBUFFER_SRGB])
-        caps->PrimitiveMiscCaps |= WINED3DPMISCCAPS_POSTBLENDSRGBCONVERT;
-
     caps->RasterCaps               = WINED3DPRASTERCAPS_DITHER    |
                                      WINED3DPRASTERCAPS_PAT       |
                                      WINED3DPRASTERCAPS_WFOG      |
@@ -1956,13 +1945,6 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte
                                      WINED3DPRASTERCAPS_SLOPESCALEDEPTHBIAS |
                                      WINED3DPRASTERCAPS_DEPTHBIAS;
 
-    if (gl_info->supported[ARB_TEXTURE_FILTER_ANISOTROPIC])
-    {
-        caps->RasterCaps  |= WINED3DPRASTERCAPS_ANISOTROPY    |
-                             WINED3DPRASTERCAPS_ZBIAS         |
-                             WINED3DPRASTERCAPS_MIPMAPLODBIAS;
-    }
-
     caps->ZCmpCaps =  WINED3DPCMPCAPS_ALWAYS       |
                       WINED3DPCMPCAPS_EQUAL        |
                       WINED3DPCMPCAPS_GREATER      |
@@ -1999,16 +1981,6 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte
                            WINED3DPBLENDCAPS_SRCCOLOR        |
                            WINED3DPBLENDCAPS_ZERO;
 
-    if (gl_info->supported[ARB_BLEND_FUNC_EXTENDED])
-        caps->DestBlendCaps |= WINED3DPBLENDCAPS_SRCALPHASAT;
-
-    if (gl_info->supported[EXT_BLEND_COLOR])
-    {
-        caps->SrcBlendCaps |= WINED3DPBLENDCAPS_BLENDFACTOR;
-        caps->DestBlendCaps |= WINED3DPBLENDCAPS_BLENDFACTOR;
-    }
-
-
     caps->AlphaCmpCaps  = WINED3DPCMPCAPS_ALWAYS       |
                           WINED3DPCMPCAPS_EQUAL        |
                           WINED3DPCMPCAPS_GREATER      |
@@ -2042,22 +2014,6 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte
             caps->TextureCaps |= WINED3DPTEXTURECAPS_NONPOW2CONDITIONAL;
     }
 
-    if (gl_info->supported[EXT_TEXTURE3D])
-    {
-        caps->TextureCaps |= WINED3DPTEXTURECAPS_VOLUMEMAP
-                | WINED3DPTEXTURECAPS_MIPVOLUMEMAP;
-        if (!d3d_info->texture_npot)
-            caps->TextureCaps |= WINED3DPTEXTURECAPS_VOLUMEMAP_POW2;
-    }
-
-    if (gl_info->supported[ARB_TEXTURE_CUBE_MAP])
-    {
-        caps->TextureCaps |= WINED3DPTEXTURECAPS_CUBEMAP
-                | WINED3DPTEXTURECAPS_MIPCUBEMAP;
-        if (!d3d_info->texture_npot)
-            caps->TextureCaps |= WINED3DPTEXTURECAPS_CUBEMAP_POW2;
-    }
-
     caps->TextureFilterCaps =  WINED3DPTFILTERCAPS_MAGFLINEAR       |
                                WINED3DPTFILTERCAPS_MAGFPOINT        |
                                WINED3DPTFILTERCAPS_MINFLINEAR       |
@@ -2071,97 +2027,14 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte
                                WINED3DPTFILTERCAPS_MIPNEAREST       |
                                WINED3DPTFILTERCAPS_NEAREST;
 
-    if (gl_info->supported[ARB_TEXTURE_FILTER_ANISOTROPIC])
-    {
-        caps->TextureFilterCaps  |= WINED3DPTFILTERCAPS_MAGFANISOTROPIC |
-                                    WINED3DPTFILTERCAPS_MINFANISOTROPIC;
-    }
-
-    if (gl_info->supported[ARB_TEXTURE_CUBE_MAP])
-    {
-        caps->CubeTextureFilterCaps =  WINED3DPTFILTERCAPS_MAGFLINEAR       |
-                                       WINED3DPTFILTERCAPS_MAGFPOINT        |
-                                       WINED3DPTFILTERCAPS_MINFLINEAR       |
-                                       WINED3DPTFILTERCAPS_MINFPOINT        |
-                                       WINED3DPTFILTERCAPS_MIPFLINEAR       |
-                                       WINED3DPTFILTERCAPS_MIPFPOINT        |
-                                       WINED3DPTFILTERCAPS_LINEAR           |
-                                       WINED3DPTFILTERCAPS_LINEARMIPLINEAR  |
-                                       WINED3DPTFILTERCAPS_LINEARMIPNEAREST |
-                                       WINED3DPTFILTERCAPS_MIPLINEAR        |
-                                       WINED3DPTFILTERCAPS_MIPNEAREST       |
-                                       WINED3DPTFILTERCAPS_NEAREST;
-
-        if (gl_info->supported[ARB_TEXTURE_FILTER_ANISOTROPIC])
-        {
-            caps->CubeTextureFilterCaps  |= WINED3DPTFILTERCAPS_MAGFANISOTROPIC |
-                                            WINED3DPTFILTERCAPS_MINFANISOTROPIC;
-        }
-    }
-    else
-    {
-        caps->CubeTextureFilterCaps = 0;
-    }
-
-    if (gl_info->supported[EXT_TEXTURE3D])
-    {
-        caps->VolumeTextureFilterCaps  = WINED3DPTFILTERCAPS_MAGFLINEAR       |
-                                         WINED3DPTFILTERCAPS_MAGFPOINT        |
-                                         WINED3DPTFILTERCAPS_MINFLINEAR       |
-                                         WINED3DPTFILTERCAPS_MINFPOINT        |
-                                         WINED3DPTFILTERCAPS_MIPFLINEAR       |
-                                         WINED3DPTFILTERCAPS_MIPFPOINT        |
-                                         WINED3DPTFILTERCAPS_LINEAR           |
-                                         WINED3DPTFILTERCAPS_LINEARMIPLINEAR  |
-                                         WINED3DPTFILTERCAPS_LINEARMIPNEAREST |
-                                         WINED3DPTFILTERCAPS_MIPLINEAR        |
-                                         WINED3DPTFILTERCAPS_MIPNEAREST       |
-                                         WINED3DPTFILTERCAPS_NEAREST;
-    }
-    else
-    {
-        caps->VolumeTextureFilterCaps = 0;
-    }
+    caps->CubeTextureFilterCaps = 0;
+    caps->VolumeTextureFilterCaps = 0;
 
     caps->TextureAddressCaps  =  WINED3DPTADDRESSCAPS_INDEPENDENTUV |
                                  WINED3DPTADDRESSCAPS_CLAMP  |
                                  WINED3DPTADDRESSCAPS_WRAP;
 
-    if (gl_info->supported[ARB_TEXTURE_BORDER_CLAMP])
-    {
-        caps->TextureAddressCaps |= WINED3DPTADDRESSCAPS_BORDER;
-    }
-    if (gl_info->supported[ARB_TEXTURE_MIRRORED_REPEAT])
-    {
-        caps->TextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRROR;
-    }
-    if (gl_info->supported[ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE])
-    {
-        caps->TextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRRORONCE;
-    }
-
-    if (gl_info->supported[EXT_TEXTURE3D])
-    {
-        caps->VolumeTextureAddressCaps =   WINED3DPTADDRESSCAPS_INDEPENDENTUV |
-                                           WINED3DPTADDRESSCAPS_CLAMP  |
-                                           WINED3DPTADDRESSCAPS_WRAP;
-        if (gl_info->supported[ARB_TEXTURE_BORDER_CLAMP])
-        {
-            caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_BORDER;
-        }
-        if (gl_info->supported[ARB_TEXTURE_MIRRORED_REPEAT])
-        {
-            caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRROR;
-        }
-        if (gl_info->supported[ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE])
-        {
-            caps->VolumeTextureAddressCaps |= WINED3DPTADDRESSCAPS_MIRRORONCE;
-        }
-    }
-    else
-    {
-        caps->VolumeTextureAddressCaps = 0;
-    }
+    caps->VolumeTextureAddressCaps = 0;
 
     caps->LineCaps  = WINED3DLINECAPS_TEXTURE       |
                       WINED3DLINECAPS_ZTEST         |
@@ -2175,10 +2048,7 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte
     caps->MaxTextureWidth = d3d_info->limits.texture_size;
     caps->MaxTextureHeight = d3d_info->limits.texture_size;
 
-    if (gl_info->supported[EXT_TEXTURE3D])
-        caps->MaxVolumeExtent = gl_info->limits.texture3d_size;
-    else
-        caps->MaxVolumeExtent = 0;
+    caps->MaxVolumeExtent = 0;
 
     caps->MaxTextureRepeat = 32768;
     caps->MaxTextureAspectRatio = d3d_info->limits.texture_size;
@@ -2197,18 +2067,8 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte
                           WINED3DSTENCILCAPS_KEEP    |
                           WINED3DSTENCILCAPS_REPLACE |
                           WINED3DSTENCILCAPS_ZERO;
-    if (gl_info->supported[EXT_STENCIL_WRAP])
-    {
-        caps->StencilCaps |= WINED3DSTENCILCAPS_DECR  |
-                              WINED3DSTENCILCAPS_INCR;
-    }
-    if (gl_info->supported[WINED3D_GL_VERSION_2_0] || gl_info->supported[EXT_STENCIL_TWO_SIDE]
-            || gl_info->supported[ATI_SEPARATE_STENCIL])
-    {
-        caps->StencilCaps |= WINED3DSTENCILCAPS_TWOSIDED;
-    }
 
-    caps->MaxAnisotropy = gl_info->limits.anisotropy;
+    caps->MaxAnisotropy = 0;
     caps->MaxPointSize = d3d_info->limits.pointsize_max;
 
     caps->MaxPrimitiveCount   = 0x555555; /* Taken from an AMD Radeon HD 5700 (Evergreen) GPU. */
@@ -2446,6 +2306,8 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte
 
     caps->max_feature_level = d3d_info->feature_level;
 
+    adapter->adapter_ops->adapter_get_wined3d_caps(adapter, caps);
+
     return WINED3D_OK;
 }
 
@@ -2491,9 +2353,14 @@ static BOOL wined3d_adapter_no3d_create_context(struct wined3d_context *context,
     return TRUE;
 }
 
+static void adapter_no3d_get_wined3d_caps(const struct wined3d_adapter *adapter, struct wined3d_caps *caps)
+{
+}
+
 static const struct wined3d_adapter_ops wined3d_adapter_no3d_ops =
 {
     wined3d_adapter_no3d_create_context,
+    adapter_no3d_get_wined3d_caps,
 };
 
 static void wined3d_adapter_no3d_init_d3d_info(struct wined3d_adapter *adapter, DWORD wined3d_creation_flags)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 9bf579ec4613..a18e2ec0d91a 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -73,6 +73,7 @@
 #define WINED3D_QUIRK_BROKEN_ARB_FOG            0x00000200
 
 struct fragment_pipeline;
+struct wined3d_adapter;
 struct wined3d_context;
 struct wined3d_state;
 struct wined3d_texture_gl;
@@ -2678,6 +2679,7 @@ struct wined3d_adapter_ops
 {
     BOOL (*adapter_create_context)(struct wined3d_context *context,
             struct wined3d_texture *target, const struct wined3d_format *ds_format);
+    void (*adapter_get_wined3d_caps)(const struct wined3d_adapter *adapter, struct wined3d_caps *caps);
 };
 
 BOOL wined3d_adapter_gl_create_context(struct wined3d_context *context,
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 2f8ed5efc77f..9e4eb8775673 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2206,7 +2206,7 @@ UINT __cdecl wined3d_get_adapter_mode_count(const struct wined3d *wined3d, UINT
         enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering);
 HRESULT __cdecl wined3d_get_adapter_raster_status(const struct wined3d *wined3d, UINT adapter_idx,
         struct wined3d_raster_status *raster_status);
-HRESULT __cdecl wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapter_idx,
+HRESULT __cdecl wined3d_get_device_caps(const struct wined3d *wined3d, unsigned int adapter_idx,
         enum wined3d_device_type device_type, struct wined3d_caps *caps);
 HRESULT __cdecl wined3d_get_output_desc(const struct wined3d *wined3d, unsigned int adapter_idx,
         struct wined3d_output_desc *desc);
-- 
2.19.2




More information about the wine-devel mailing list