GPipe 1.4 → 1.4.1
raw patch · 3 files changed
+9/−7 lines, 3 filesdep ~GLUTdep ~OpenGLPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: GLUT, OpenGL
API changes (from Hackage documentation)
Files
- GPipe.cabal +3/−3
- src/InputAssembler.hs +1/−2
- src/Shader.hs +5/−2
GPipe.cabal view
@@ -1,5 +1,5 @@ name: GPipe-version: 1.4 +version: 1.4.1 cabal-version: >= 1.8 build-type: Simple license: BSD3@@ -26,8 +26,8 @@ build-depends: containers >= 0.4 && <0.5, list-tries >= 0.4.1 && < 0.5, - GLUT >=2.1.2.1, - OpenGL >=2.2.3.0, + GLUT == 2.3.0.0, + OpenGL == 2.5.0.0, Boolean == 0.0.1, Vec == 1.0.1, Vec-Boolean == 1.0.6,
src/InputAssembler.hs view
@@ -94,5 +94,4 @@ getVertexInput :: forall a. VertexInput a => [CPU a] -> (a, [[Float]]) getVertexInput xs = let readInput :: CPU a -> (a, [Float]) readInput = flip runState [] . runKleisli (fromInputAssembler (toVertex :: InputAssembler (CPU a) a))- e = "The method toVertex of an instance of Graphics.GPipe.Stream.Primitive.VertexInput is strict in it's input. Remember that 'toVertex undefined >> a' must be equal to 'a'. Contact the GPipe author for more information."- in (fst $ readInput (error e :: CPU a), map (reverse . snd . readInput) xs)+ in (fst $ readInput $ head xs, map (reverse . snd . readInput) xs)
src/Shader.hs view
@@ -71,14 +71,17 @@ | ShaderOp !Op (String -> [String] -> String) [ShaderTree] type ShaderDAG = ([Int],[(ShaderTree, [Int])]) +-- | An opaque type constructor for atomic values in a specific GPU context (i.e. 'V' or 'F'), e.g. 'Shader' 'V' 'Float'. newtype Shader c t = Shader { fromS :: ShaderTree } +-- | Used to denote a vertex context in the first parameter to 'Shader' data V +-- | Used to denote a fragment context in the first parameter to 'Shader' data F --- | An opaque type constructor for atomic values in a vertex on the GPU, e.g. 'Vertex' 'Float'. +-- | A type synonyme for atomic values in a vertex on the GPU, e.g. 'Vertex' 'Float'. type Vertex = Shader V --- | An opaque type constructor for atomic values in a fragment on the GPU, e.g. 'Fragment' 'Float'. +-- | A type synonyme for atomic values in a fragment on the GPU, e.g. 'Fragment' 'Float'. type Fragment = Shader F rasterizeVertex :: Vertex Float -> Fragment Float