diff options
author | Joe Crayne <joe@jerkface.net> | 2019-04-21 05:16:17 -0400 |
---|---|---|
committer | Joe Crayne <joe@jerkface.net> | 2019-05-05 18:49:23 -0400 |
commit | 7a54887c623c9328470a1ba302fa4b1c8373cb75 (patch) | |
tree | 5e355fe99228bc2fefa5bf1d5831d0eec8598e2c /src/LambdaCube/GL/Backend.hs | |
parent | 3e1f789ed52e20f1ddf6e20ed9c7f61cf7aaedbd (diff) |
Signatures, comments, dead-code removal.
Diffstat (limited to 'src/LambdaCube/GL/Backend.hs')
-rw-r--r-- | src/LambdaCube/GL/Backend.hs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/LambdaCube/GL/Backend.hs b/src/LambdaCube/GL/Backend.hs index 1cf3f62..c5e3190 100644 --- a/src/LambdaCube/GL/Backend.hs +++ b/src/LambdaCube/GL/Backend.hs | |||
@@ -220,7 +220,10 @@ clearRenderTarget GLRenderTarget{..} values = do | |||
220 | (mask,_) <- foldM setClearValue (0,0) values | 220 | (mask,_) <- foldM setClearValue (0,0) values |
221 | glClear $ fromIntegral mask | 221 | glClear $ fromIntegral mask |
222 | 222 | ||
223 | printGLStatus :: IO () | ||
223 | printGLStatus = checkGL >>= print | 224 | printGLStatus = checkGL >>= print |
225 | |||
226 | printFBOStatus :: IO () | ||
224 | printFBOStatus = checkFBO >>= print | 227 | printFBOStatus = checkFBO >>= print |
225 | 228 | ||
226 | compileProgram :: Program -> IO GLProgram | 229 | compileProgram :: Program -> IO GLProgram |
@@ -777,6 +780,8 @@ renderSlot glDrawCallCounterRef glVertexBufferRef glIndexBufferRef cmds = forM_ | |||
777 | --isOk <- checkGL | 780 | --isOk <- checkGL |
778 | --putStrLn $ isOk ++ " - " ++ show cmd | 781 | --putStrLn $ isOk ++ " - " ++ show cmd |
779 | 782 | ||
783 | setupRenderTarget :: IORef (Maybe InputConnection) | ||
784 | -> GLRenderTarget -> IO () | ||
780 | setupRenderTarget glInput GLRenderTarget{..} = do | 785 | setupRenderTarget glInput GLRenderTarget{..} = do |
781 | -- set target viewport | 786 | -- set target viewport |
782 | ic' <- readIORef glInput | 787 | ic' <- readIORef glInput |
@@ -792,6 +797,11 @@ setupRenderTarget glInput GLRenderTarget{..} = do | |||
792 | Nothing -> return () | 797 | Nothing -> return () |
793 | Just bl -> withArray bl $ glDrawBuffers (fromIntegral $ length bl) | 798 | Just bl -> withArray bl $ glDrawBuffers (fromIntegral $ length bl) |
794 | 799 | ||
800 | setupDrawContext :: IORef Bool | ||
801 | -> IORef GLDrawContext | ||
802 | -> IORef (Maybe InputConnection) | ||
803 | -> GLDrawContext | ||
804 | -> IO () | ||
795 | setupDrawContext glForceSetup glDrawContextRef glInput new = do | 805 | setupDrawContext glForceSetup glDrawContextRef glInput new = do |
796 | old <- readIORef glDrawContextRef | 806 | old <- readIORef glDrawContextRef |
797 | writeIORef glDrawContextRef new | 807 | writeIORef glDrawContextRef new |
@@ -878,6 +888,7 @@ data CGState | |||
878 | , samplerMapping :: IntMap GLSampler | 888 | , samplerMapping :: IntMap GLSampler |
879 | } | 889 | } |
880 | 890 | ||
891 | initCGState :: CGState | ||
881 | initCGState = CGState | 892 | initCGState = CGState |
882 | { drawCommands = mempty | 893 | { drawCommands = mempty |
883 | -- draw context data | 894 | -- draw context data |
@@ -895,6 +906,8 @@ type CG a = State CGState a | |||
895 | emit :: GLCommand -> CG () | 906 | emit :: GLCommand -> CG () |
896 | emit cmd = modify $ \s -> s {drawCommands = cmd : drawCommands s} | 907 | emit cmd = modify $ \s -> s {drawCommands = cmd : drawCommands s} |
897 | 908 | ||
909 | drawContext :: MonadState CGState m => | ||
910 | Vector GLProgram -> m GLDrawContext | ||
898 | drawContext programs = do | 911 | drawContext programs = do |
899 | GLProgram{..} <- (programs !) <$> gets currentProgram | 912 | GLProgram{..} <- (programs !) <$> gets currentProgram |
900 | let f = take (Map.size inputTextures) . IntMap.toList | 913 | let f = take (Map.size inputTextures) . IntMap.toList |