[PATCH 1/6] dxgi: Simplify the shader model comparison in dxgi_check_feature_level_support().

Henri Verbeet hverbeet at codeweavers.com
Wed Mar 23 11:58:19 CDT 2016


Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/dxgi/utils.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/dxgi/utils.c b/dlls/dxgi/utils.c
index cd8888f..c0c1fcd 100644
--- a/dlls/dxgi/utils.c
+++ b/dlls/dxgi/utils.c
@@ -491,6 +491,7 @@ D3D_FEATURE_LEVEL dxgi_check_feature_level_support(struct dxgi_factory *factory,
         {D3D_FEATURE_LEVEL_9_1,  2},
     };
     D3D_FEATURE_LEVEL selected_feature_level = 0;
+    unsigned int shader_model;
     unsigned int i, j;
     WINED3DCAPS caps;
     HRESULT hr;
@@ -504,14 +505,14 @@ D3D_FEATURE_LEVEL dxgi_check_feature_level_support(struct dxgi_factory *factory,
     if (FAILED(hr))
         level_count = 0;
 
+    shader_model = min(caps.VertexShaderVersion, caps.PixelShaderVersion);
     for (i = 0; i < level_count; ++i)
     {
         for (j = 0; j < sizeof(feature_levels_sm) / sizeof(feature_levels_sm[0]); ++j)
         {
             if (feature_levels[i] == feature_levels_sm[j].feature_level)
             {
-                if (caps.VertexShaderVersion >= feature_levels_sm[j].sm
-                        && caps.PixelShaderVersion >= feature_levels_sm[j].sm)
+                if (shader_model >= feature_levels_sm[j].sm)
                 {
                     selected_feature_level = feature_levels[i];
                     TRACE("Choosing supported feature level %s (SM%u).\n",
-- 
2.1.4




More information about the wine-patches mailing list