=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Add remaining feature levels.

Alexandre Julliard julliard at winehq.org
Mon Sep 24 15:48:23 CDT 2018


Module: wine
Branch: master
Commit: 13ec617654a942efdf1932bb049a0b1563f77000
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=13ec617654a942efdf1932bb049a0b1563f77000

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Mon Sep 24 01:09:30 2018 +0200

wined3d: Add remaining feature levels.

We still don't have proper and exhaustive checks for feature levels
capabilities.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dxgi/utils.c         | 6 +++---
 dlls/wined3d/adapter_gl.c | 6 +++++-
 include/wine/wined3d.h    | 3 +++
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/dlls/dxgi/utils.c b/dlls/dxgi/utils.c
index e857a1f..009d351 100644
--- a/dlls/dxgi/utils.c
+++ b/dlls/dxgi/utils.c
@@ -626,11 +626,11 @@ static enum wined3d_feature_level wined3d_feature_level_from_d3d(D3D_FEATURE_LEV
     switch (feature_level)
     {
         case D3D_FEATURE_LEVEL_11_1:
-            return WINED3D_FEATURE_LEVEL_11;
+            return WINED3D_FEATURE_LEVEL_11_1;
         case D3D_FEATURE_LEVEL_11_0:
             return WINED3D_FEATURE_LEVEL_11;
         case D3D_FEATURE_LEVEL_10_1:
-            return WINED3D_FEATURE_LEVEL_10;
+            return WINED3D_FEATURE_LEVEL_10_1;
         case D3D_FEATURE_LEVEL_10_0:
             return WINED3D_FEATURE_LEVEL_10;
         case D3D_FEATURE_LEVEL_9_3:
@@ -638,7 +638,7 @@ static enum wined3d_feature_level wined3d_feature_level_from_d3d(D3D_FEATURE_LEV
         case D3D_FEATURE_LEVEL_9_2:
             return WINED3D_FEATURE_LEVEL_9_SM2;
         case D3D_FEATURE_LEVEL_9_1:
-            return WINED3D_FEATURE_LEVEL_9_SM2;
+            return WINED3D_FEATURE_LEVEL_9_1;
         default:
             FIXME("Unhandled feature level %#x.\n", feature_level);
             return 0;
diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
index 0ee71fd..1d360d1 100644
--- a/dlls/wined3d/adapter_gl.c
+++ b/dlls/wined3d/adapter_gl.c
@@ -1256,10 +1256,14 @@ static enum wined3d_feature_level feature_level_from_caps(const struct wined3d_g
         if (shader_model >= 5
                 && gl_info->supported[ARB_DRAW_INDIRECT]
                 && gl_info->supported[ARB_TEXTURE_COMPRESSION_BPTC])
-            return WINED3D_FEATURE_LEVEL_11;
+            return WINED3D_FEATURE_LEVEL_11_1;
 
         if (shader_model >= 4)
+        {
+            if (gl_info->supported[ARB_TEXTURE_CUBE_MAP_ARRAY])
+                return WINED3D_FEATURE_LEVEL_10_1;
             return WINED3D_FEATURE_LEVEL_10;
+        }
     }
 
     if (shader_model >= 3)
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 3c01f75..17b0fd4 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -95,10 +95,13 @@ enum wined3d_feature_level
     WINED3D_FEATURE_LEVEL_6      = 0x6000,
     WINED3D_FEATURE_LEVEL_7      = 0x7000,
     WINED3D_FEATURE_LEVEL_8      = 0x8000,
+    WINED3D_FEATURE_LEVEL_9_1    = 0x9100,
     WINED3D_FEATURE_LEVEL_9_SM2  = 0x9200,
     WINED3D_FEATURE_LEVEL_9_SM3  = 0x9300,
     WINED3D_FEATURE_LEVEL_10     = 0xa000,
+    WINED3D_FEATURE_LEVEL_10_1   = 0xa100,
     WINED3D_FEATURE_LEVEL_11     = 0xb000,
+    WINED3D_FEATURE_LEVEL_11_1   = 0xb100,
 };
 
 enum wined3d_degree_type




More information about the wine-cvs mailing list