Fix single poke/bind pass, unclear performance implications

This commit is contained in:
2021-07-26 01:27:56 +02:00
parent 5dfebd221d
commit 59be6eb216
+2 -4
View File
@@ -38,7 +38,7 @@ bindArrayBuffersLayer numVs lay theVBO = do
WriteToBuffer WriteToBuffer
(fromIntegral $ floatSize * stride * numSubElements * lay) (fromIntegral $ floatSize * stride * numSubElements * lay)
(fromIntegral $ floatSize * numVs * stride) (fromIntegral $ floatSize * numVs * stride)
(_vboPointer theVBO) (_vboPointer theVBO `plusPtr` (floatSize * stride * numSubElements * lay))
where where
stride = sum $ _vboAttribSizes theVBO stride = sum $ _vboAttribSizes theVBO
@@ -61,9 +61,7 @@ drawShaderLay l fs i = do
Just ShaderTexture{_textureObject = txo} Just ShaderTexture{_textureObject = txo}
-> textureBinding Texture2D $= Just txo -> textureBinding Texture2D $= Just txo
_ -> return () _ -> return ()
glDrawArrays (marshalEPrimitiveMode $ _shaderDrawPrimitive fs) (fromIntegral $ l*stride*floatSize) (fromIntegral i) glDrawArrays (marshalEPrimitiveMode $ _shaderDrawPrimitive fs) (fromIntegral $ l*numSubElements) (fromIntegral i)
where
stride = sum $ _vboAttribSizes $ _vaoVBO $ _shaderVAO fs
drawShader :: FullShader -> Int -> IO () drawShader :: FullShader -> Int -> IO ()
{-# INLINE drawShader #-} {-# INLINE drawShader #-}