Module: wine Branch: master Commit: 13ec617654a942efdf1932bb049a0b1563f77000 URL: https://source.winehq.org/git/wine.git/?a=commit;h=13ec617654a942efdf1932bb0...
Author: Józef Kucia jkucia@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@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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