From 59be6eb21672496c360a322004a5087cbf1d838b Mon Sep 17 00:00:00 2001 From: jgk Date: Mon, 26 Jul 2021 01:27:56 +0200 Subject: [PATCH] Fix single poke/bind pass, unclear performance implications --- src/Shader.hs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Shader.hs b/src/Shader.hs index ec35ea48a..6e93314e3 100644 --- a/src/Shader.hs +++ b/src/Shader.hs @@ -38,7 +38,7 @@ bindArrayBuffersLayer numVs lay theVBO = do WriteToBuffer (fromIntegral $ floatSize * stride * numSubElements * lay) (fromIntegral $ floatSize * numVs * stride) - (_vboPointer theVBO) + (_vboPointer theVBO `plusPtr` (floatSize * stride * numSubElements * lay)) where stride = sum $ _vboAttribSizes theVBO @@ -61,9 +61,7 @@ drawShaderLay l fs i = do Just ShaderTexture{_textureObject = txo} -> textureBinding Texture2D $= Just txo _ -> return () - glDrawArrays (marshalEPrimitiveMode $ _shaderDrawPrimitive fs) (fromIntegral $ l*stride*floatSize) (fromIntegral i) - where - stride = sum $ _vboAttribSizes $ _vaoVBO $ _shaderVAO fs + glDrawArrays (marshalEPrimitiveMode $ _shaderDrawPrimitive fs) (fromIntegral $ l*numSubElements) (fromIntegral i) drawShader :: FullShader -> Int -> IO () {-# INLINE drawShader #-}