summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Main.hs24
-rw-r--r--vktest.cabal2
2 files changed, 24 insertions, 2 deletions
diff --git a/Main.hs b/Main.hs
index f16f6f5..54b5c16 100644
--- a/Main.hs
+++ b/Main.hs
@@ -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
diff --git a/vktest.cabal b/vktest.cabal
index 91cf7c9..fc6b342 100644
--- a/vktest.cabal
+++ b/vktest.cabal
@@ -17,6 +17,6 @@ executable vktest
-- other-modules:
-- other-extensions:
build-depends: base >= 4.20.2
- , vulkan-utils >= 0.5.10
+ , vulkan >= 3.27
hs-source-dirs: .
default-language: Haskell2010