From 15460d237b3741ac6ca4e37129d4f4f340e014bb Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Wed, 6 Jul 2022 20:05:08 -0500 Subject: [PATCH] wined3d: Allow exposing lower d3d feature levels from the Vulkan adapter. --- dlls/wined3d/adapter_vk.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/dlls/wined3d/adapter_vk.c b/dlls/wined3d/adapter_vk.c index f7902dfb498..552a89075f0 100644 --- a/dlls/wined3d/adapter_vk.c +++ b/dlls/wined3d/adapter_vk.c @@ -2260,13 +2260,22 @@ static enum wined3d_feature_level feature_level_from_caps(const struct shader_ca shader_model = min(shader_model, max(shader_caps->hs_version, 4)); shader_model = min(shader_model, max(shader_caps->ds_version, 4)); - if (shader_model >= 5) - return WINED3D_FEATURE_LEVEL_11_1; + if (!shader_model) + return WINED3D_FEATURE_LEVEL_7; - if (shader_model >= 4) + if (shader_model <= 1) + return WINED3D_FEATURE_LEVEL_8; + + if (shader_model <= 2) + return WINED3D_FEATURE_LEVEL_9_2; + + if (shader_model <= 3) + return WINED3D_FEATURE_LEVEL_9_3; + + if (shader_model <= 4) return WINED3D_FEATURE_LEVEL_10_1; - return WINED3D_FEATURE_LEVEL_NONE; + return WINED3D_FEATURE_LEVEL_11_1; } static void wined3d_adapter_vk_init_d3d_info(struct wined3d_adapter_vk *adapter_vk, uint32_t wined3d_creation_flags)