From f2389270cf83d1e5fcd9c3f1c23e26d00fb51183 Mon Sep 17 00:00:00 2001 From: Csaba Hruska Date: Tue, 15 Mar 2016 14:26:41 +0100 Subject: add error messages --- src/LambdaCube/GL/Input.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/LambdaCube/GL/Input.hs') diff --git a/src/LambdaCube/GL/Input.hs b/src/LambdaCube/GL/Input.hs index 0471a57..7a3b809 100644 --- a/src/LambdaCube/GL/Input.hs +++ b/src/LambdaCube/GL/Input.hs @@ -5,6 +5,7 @@ import Control.Applicative import Control.Exception import Control.Monad import Control.Monad.Writer +import Data.Maybe import Data.IORef import Data.Map (Map) import Data.IntMap (IntMap) @@ -101,7 +102,7 @@ addObject input slotName prim indices attribs uniformNames = do enabled <- newIORef True index <- readIORef seed modifyIORef seed (1+) - (setters,unis) <- mkUniform [(n,t) | n <- uniformNames, let Just t = Map.lookup n (uniforms sch)] + (setters,unis) <- mkUniform [(n,t) | n <- uniformNames, let t = fromMaybe (error $ "missing uniform: " ++ n) $ Map.lookup n (uniforms sch)] cmdsRef <- newIORef (V.singleton V.empty) let obj = Object { objSlot = slotIdx @@ -216,7 +217,7 @@ createObjectCommands texUnitMap topUnis obj prg = objUniCmds ++ objStreamCmds ++ uniInputType (GLUniform ty _) = ty -- object attribute stream commands - objStreamCmds = [attrCmd i s | (i,name) <- Map.elems attrMap, let Just s = Map.lookup name objAttrs] + objStreamCmds = [attrCmd i s | (i,name) <- Map.elems attrMap, let s = fromMaybe (error $ "missing attribute: " ++ name) $ Map.lookup name objAttrs] where attrMap = inputStreams prg objAttrs = objAttributes obj -- cgit v1.2.3