From 857c87f3701b046f899dc640f7c63b8bf0aab8f0 Mon Sep 17 00:00:00 2001 From: nek0 Date: Tue, 12 Jul 2022 16:59:39 +0200 Subject: [PATCH] grab the first available queue, not the last --- src/Devices.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Devices.hs b/src/Devices.hs index f57d191..8ebe0c0 100644 --- a/src/Devices.hs +++ b/src/Devices.hs @@ -7,7 +7,7 @@ import Control.Monad import Control.Monad.IO.Class (liftIO) import Control.Monad.Trans.Resource import qualified Data.Vector as V -import Data.Maybe (fromMaybe) +import Data.Maybe (fromMaybe, isNothing) import Data.Bits import Foreign.C.Types (CInt) import Linear @@ -68,7 +68,7 @@ createLogicalDevice physDevice surface = do let graphicsQueueFamilies = V.foldl (\acc (index, queueFamily) -> - if Vk.queueFlags queueFamily .&. Vk.QUEUE_GRAPHICS_BIT /= zeroBits + if Vk.queueFlags queueFamily .&. Vk.QUEUE_GRAPHICS_BIT /= zeroBits && isNothing acc then Just index else acc )