[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    [PATCH 5/5] ddraw: Use wined3d_bit_scan() in viewport_alloc_active_light_index().
From:       Henri Verbeet <hverbeet () codeweavers ! com>
Date:       2019-06-28 10:36:21
Message-ID: 20190628102421.15490-5-hverbeet () codeweavers ! com
[Download RAW message or body]

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
---
 dlls/ddraw/viewport.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/dlls/ddraw/viewport.c b/dlls/ddraw/viewport.c
index e94c4b8da0e..556783ab947 100644
--- a/dlls/ddraw/viewport.c
+++ b/dlls/ddraw/viewport.c
@@ -152,15 +152,10 @@ void viewport_alloc_active_light_index(struct d3d_light *light)
             }
         }
     }
-    map = vp->map_lights;
-    assert(vp->active_lights_count < DDRAW_MAX_ACTIVE_LIGHTS && map != ~0u);
 
-    i = 0;
-    while (map & 1)
-    {
-        map >>= 1;
-        ++i;
-    }
+    map = ~vp->map_lights;
+    assert(vp->active_lights_count < DDRAW_MAX_ACTIVE_LIGHTS && map);
+    i = wined3d_bit_scan(&map);
     light->active_light_index = i + 1;
     ++vp->active_lights_count;
     vp->map_lights |= 1u << i;
-- 
2.11.0




[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic