caramia-0.7.2.2: demos/memory-info/Main.hs
module Main ( main ) where
import Control.Monad
import Graphics.Caramia
import Graphics.UI.SDL
import Data.Bits
import Foreign.C.String
import Prelude hiding ( init )
main :: IO ()
main =
withCString "smoke-test" $ \cstr -> do
void $ init SDL_INIT_VIDEO
_ <- glSetAttribute SDL_GL_CONTEXT_MAJOR_VERSION 3
_ <- glSetAttribute SDL_GL_CONTEXT_MINOR_VERSION 3
_ <- glSetAttribute SDL_GL_CONTEXT_PROFILE_MASK SDL_GL_CONTEXT_PROFILE_CORE
_ <- glSetAttribute SDL_GL_CONTEXT_FLAGS SDL_GL_CONTEXT_DEBUG_FLAG
window <- createWindow cstr SDL_WINDOWPOS_UNDEFINED SDL_WINDOWPOS_UNDEFINED
500 500
(SDL_WINDOW_OPENGL .|.
SDL_WINDOW_SHOWN)
_ <- glCreateContext window
giveContext $ do
putStrLn "Attempting to retrieve GPU memory information..."
print =<< getMemoryInfo