diff options
Diffstat (limited to 'Main.hs')
| -rw-r--r-- | Main.hs | 24 |
1 files changed, 23 insertions, 1 deletions
@@ -1,4 +1,26 @@ module Main (main) where +import qualified Vulkan.Core10 as Vk +import Vulkan.Zero (zero) +import Control.Exception (bracket) +import Data.Foldable (traverse_) + main :: IO () -main = putStrLn "Hello, Haskell!" +main = Vk.withInstance zero Nothing bracket $ \i -> do + putStrLn $ show i + (_, layers) <- Vk.enumerateInstanceLayerProperties + (_, extensions) <- Vk.enumerateInstanceExtensionProperties Nothing + putStrLn $ show layers + putStrLn $ show extensions + (_, devices) <- Vk.enumeratePhysicalDevices i + traverse_ deviceInfo devices + +deviceInfo :: Vk.PhysicalDevice -> IO () +deviceInfo p = do + (_, extensions) <- Vk.enumerateDeviceExtensionProperties p Nothing + (_, layers) <- Vk.enumerateDeviceLayerProperties p + traverse_ (putStrLn . show) extensions + traverse_ (putStrLn . show) layers + (putStrLn . show) =<< Vk.getPhysicalDeviceFeatures p + (putStrLn . show) =<< Vk.getPhysicalDeviceProperties p + (putStrLn . show) =<< Vk.getPhysicalDeviceMemoryProperties p
\ No newline at end of file |
