diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,9 @@
+0.7.5
+-----
+* Added support for two new extensions:
+  * `EXT_buffer_storage`
+  * `EXT_sparse_texture`
+
 0.7.4
 -----
 * Added support for three new extensions:
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/SparseTexture.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/SparseTexture.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/SparseTexture.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/SparseTexture.hs
@@ -19,30 +19,15 @@
   , pattern GL_VIRTUAL_PAGE_SIZE_Z_ARB
 ) where
 
-import Control.Monad.IO.Class
 import Data.Set
-import Foreign.Ptr
-import Graphics.GL.Internal.FFI
 import Graphics.GL.Internal.Proc
-import Graphics.GL.Types
-import System.IO.Unsafe
+import Graphics.GL.Internal.Shared
 
 -- | Checks that the <https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/ARB/sparse_texture.txt GL_ARB_sparse_texture> extension is available.
 
 gl_ARB_sparse_texture :: Bool
 gl_ARB_sparse_texture = member "GL_ARB_sparse_texture" extensions
 {-# NOINLINE gl_ARB_sparse_texture #-}
-
--- | Usage: @'glTexPageCommitmentARB' target level xoffset yoffset zoffset width height depth resident@
-
-
-glTexPageCommitmentARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
-glTexPageCommitmentARB = ffienumintintintintsizeisizeisizeibooleanIOV glTexPageCommitmentARBFunPtr
-
-glTexPageCommitmentARBFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-glTexPageCommitmentARBFunPtr = unsafePerformIO (getProcAddress "glTexPageCommitmentARB")
-
-{-# NOINLINE glTexPageCommitmentARBFunPtr #-}
 
 pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199
 
diff --git a/dist/build/autogen/Graphics/GL/Ext/ARB/UniformBufferObject.hs b/dist/build/autogen/Graphics/GL/Ext/ARB/UniformBufferObject.hs
--- a/dist/build/autogen/Graphics/GL/Ext/ARB/UniformBufferObject.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/ARB/UniformBufferObject.hs
@@ -5,10 +5,13 @@
     gl_ARB_uniform_buffer_object
 
   -- * GL_ARB_uniform_buffer_object
+  , glBindBufferBase
+  , glBindBufferRange
   , glGetActiveUniformBlockName
   , glGetActiveUniformBlockiv
   , glGetActiveUniformName
   , glGetActiveUniformsiv
+  , glGetIntegeri_v
   , glGetUniformBlockIndex
   , glGetUniformIndices
   , glUniformBlockBinding
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT.hs b/dist/build/autogen/Graphics/GL/Ext/EXT.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT.hs
@@ -12,6 +12,7 @@
   , module Graphics.GL.Ext.EXT.BlendLogicOp
   , module Graphics.GL.Ext.EXT.BlendMinmax
   , module Graphics.GL.Ext.EXT.BlendSubtract
+  , module Graphics.GL.Ext.EXT.BufferStorage
   , module Graphics.GL.Ext.EXT.ClipVolumeHint
   , module Graphics.GL.Ext.EXT.Cmyka
   , module Graphics.GL.Ext.EXT.ColorBufferHalfFloat
@@ -98,6 +99,7 @@
   , module Graphics.GL.Ext.EXT.ShadowFuncs
   , module Graphics.GL.Ext.EXT.ShadowSamplers
   , module Graphics.GL.Ext.EXT.SharedTexturePalette
+  , module Graphics.GL.Ext.EXT.SparseTexture
   , module Graphics.GL.Ext.EXT.SparseTexture2
   , module Graphics.GL.Ext.EXT.StencilClearTag
   , module Graphics.GL.Ext.EXT.StencilTwoSide
@@ -162,6 +164,7 @@
 import Graphics.GL.Ext.EXT.BlendLogicOp
 import Graphics.GL.Ext.EXT.BlendMinmax
 import Graphics.GL.Ext.EXT.BlendSubtract
+import Graphics.GL.Ext.EXT.BufferStorage
 import Graphics.GL.Ext.EXT.ClipVolumeHint
 import Graphics.GL.Ext.EXT.Cmyka
 import Graphics.GL.Ext.EXT.ColorBufferHalfFloat
@@ -248,6 +251,7 @@
 import Graphics.GL.Ext.EXT.ShadowFuncs
 import Graphics.GL.Ext.EXT.ShadowSamplers
 import Graphics.GL.Ext.EXT.SharedTexturePalette
+import Graphics.GL.Ext.EXT.SparseTexture
 import Graphics.GL.Ext.EXT.SparseTexture2
 import Graphics.GL.Ext.EXT.StencilClearTag
 import Graphics.GL.Ext.EXT.StencilTwoSide
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/BufferStorage.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/BufferStorage.hs
new file mode 100644
--- /dev/null
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/BufferStorage.hs
@@ -0,0 +1,48 @@
+-- This file was automatically generated.
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
+module Graphics.GL.Ext.EXT.BufferStorage (
+  -- * Extension Support
+    gl_EXT_buffer_storage
+
+  -- * GL_EXT_buffer_storage
+  , glBufferStorageEXT
+  , pattern GL_BUFFER_IMMUTABLE_STORAGE
+  , pattern GL_BUFFER_STORAGE_FLAGS
+  , pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT
+  , pattern GL_CLIENT_STORAGE_BIT
+  , pattern GL_DYNAMIC_STORAGE_BIT
+  , pattern GL_MAP_COHERENT_BIT
+  , pattern GL_MAP_PERSISTENT_BIT
+  , pattern GL_MAP_READ_BIT
+  , pattern GL_MAP_WRITE_BIT
+) where
+
+import Control.Monad.IO.Class
+import Data.Set
+import Foreign.Ptr
+import Graphics.GL.Internal.FFI
+import Graphics.GL.Internal.Proc
+import Graphics.GL.Internal.Shared
+import Graphics.GL.Types
+import System.IO.Unsafe
+
+-- | Checks that the <https://www.khronos.org/registry/gles/extensions/EXT/EXT_buffer_storage.txt GL_EXT_buffer_storage> extension is available.
+
+gl_EXT_buffer_storage :: Bool
+gl_EXT_buffer_storage = member "GL_EXT_buffer_storage" extensions
+{-# NOINLINE gl_EXT_buffer_storage #-}
+
+-- | Usage: @'glBufferStorageEXT' target size data flags@
+--
+-- The length of @data@ should be @size@.
+--
+-- This command is an alias for 'Graphics.GL.Internal.Shared.glBufferStorage'.
+
+
+glBufferStorageEXT :: MonadIO m => GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
+glBufferStorageEXT = ffienumsizeiptrPtrVbitfieldIOV glBufferStorageEXTFunPtr
+
+glBufferStorageEXTFunPtr :: FunPtr (GLenum -> GLsizeiptr -> Ptr () -> GLbitfield -> IO ())
+glBufferStorageEXTFunPtr = unsafePerformIO (getProcAddress "glBufferStorageEXT")
+
+{-# NOINLINE glBufferStorageEXTFunPtr #-}
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/DirectStateAccess.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/DirectStateAccess.hs
--- a/dist/build/autogen/Graphics/GL/Ext/EXT/DirectStateAccess.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/DirectStateAccess.hs
@@ -2702,7 +2702,11 @@
 
 -- | Usage: @'glNamedBufferStorageEXT' buffer size data flags@
 --
+-- The parameter @size@ is a @BufferSize@.
+--
 -- The length of @data@ should be @size@.
+--
+-- This command is an alias for 'Graphics.GL.Internal.Shared.glNamedBufferStorage'.
 
 
 glNamedBufferStorageEXT :: MonadIO m => GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
@@ -2715,7 +2719,11 @@
 
 -- | Usage: @'glNamedBufferSubDataEXT' buffer offset size data@
 --
+-- The parameter @size@ is a @BufferSize@.
+--
 -- The length of @data@ should be @COMPSIZE(size)@.
+--
+-- This command is an alias for 'Graphics.GL.Internal.Shared.glNamedBufferSubData'.
 
 
 glNamedBufferSubDataEXT :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
@@ -3487,7 +3495,7 @@
 
 {-# NOINLINE glTextureImage3DEXTFunPtr #-}
 
--- | Usage: @'glTexturePageCommitmentEXT' texture level xoffset yoffset zoffset width height depth resident@
+-- | Usage: @'glTexturePageCommitmentEXT' texture level xoffset yoffset zoffset width height depth commit@
 
 
 glTexturePageCommitmentEXT :: MonadIO m => GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
diff --git a/dist/build/autogen/Graphics/GL/Ext/EXT/SparseTexture.hs b/dist/build/autogen/Graphics/GL/Ext/EXT/SparseTexture.hs
new file mode 100644
--- /dev/null
+++ b/dist/build/autogen/Graphics/GL/Ext/EXT/SparseTexture.hs
@@ -0,0 +1,57 @@
+-- This file was automatically generated.
+{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
+module Graphics.GL.Ext.EXT.SparseTexture (
+  -- * Extension Support
+    gl_EXT_sparse_texture
+
+  -- * GL_EXT_sparse_texture
+  , glTexPageCommitmentARB
+  , pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT
+  , pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT
+  , pattern GL_MAX_SPARSE_TEXTURE_SIZE_EXT
+  , pattern GL_NUM_SPARSE_LEVELS_EXT
+  , pattern GL_NUM_VIRTUAL_PAGE_SIZES_EXT
+  , pattern GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT
+  , pattern GL_TEXTURE_2D
+  , pattern GL_TEXTURE_2D_ARRAY
+  , pattern GL_TEXTURE_3D
+  , pattern GL_TEXTURE_CUBE_MAP
+  , pattern GL_TEXTURE_CUBE_MAP_ARRAY_OES
+  , pattern GL_TEXTURE_SPARSE_EXT
+  , pattern GL_VIRTUAL_PAGE_SIZE_INDEX_EXT
+  , pattern GL_VIRTUAL_PAGE_SIZE_X_EXT
+  , pattern GL_VIRTUAL_PAGE_SIZE_Y_EXT
+  , pattern GL_VIRTUAL_PAGE_SIZE_Z_EXT
+) where
+
+import Data.Set
+import Graphics.GL.Internal.Proc
+import Graphics.GL.Internal.Shared
+
+-- | Checks that the <https://www.khronos.org/registry/gles/extensions/EXT/EXT_sparse_texture.txt GL_EXT_sparse_texture> extension is available.
+
+gl_EXT_sparse_texture :: Bool
+gl_EXT_sparse_texture = member "GL_EXT_sparse_texture" extensions
+{-# NOINLINE gl_EXT_sparse_texture #-}
+
+pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT = 0x9199
+
+pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT = 0x919A
+
+pattern GL_MAX_SPARSE_TEXTURE_SIZE_EXT = 0x9198
+
+pattern GL_NUM_SPARSE_LEVELS_EXT = 0x91AA
+
+pattern GL_NUM_VIRTUAL_PAGE_SIZES_EXT = 0x91A8
+
+pattern GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT = 0x91A9
+
+pattern GL_TEXTURE_SPARSE_EXT = 0x91A6
+
+pattern GL_VIRTUAL_PAGE_SIZE_INDEX_EXT = 0x91A7
+
+pattern GL_VIRTUAL_PAGE_SIZE_X_EXT = 0x9195
+
+pattern GL_VIRTUAL_PAGE_SIZE_Y_EXT = 0x9196
+
+pattern GL_VIRTUAL_PAGE_SIZE_Z_EXT = 0x9197
diff --git a/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMapArray.hs b/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMapArray.hs
--- a/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMapArray.hs
+++ b/dist/build/autogen/Graphics/GL/Ext/OES/TextureCubeMapArray.hs
@@ -18,6 +18,7 @@
 
 import Data.Set
 import Graphics.GL.Internal.Proc
+import Graphics.GL.Internal.Shared
 
 -- | Checks that the <https://www.khronos.org/registry/gles/extensions/OES/OES_texture_cube_map_array.txt GL_OES_texture_cube_map_array> extension is available.
 
@@ -36,8 +37,6 @@
 pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES = 0x900D
 
 pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES = 0x900A
-
-pattern GL_TEXTURE_CUBE_MAP_ARRAY_OES = 0x9009
 
 pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x906A
 
diff --git a/dist/build/autogen/Graphics/GL/Internal/Shared.hs b/dist/build/autogen/Graphics/GL/Internal/Shared.hs
--- a/dist/build/autogen/Graphics/GL/Internal/Shared.hs
+++ b/dist/build/autogen/Graphics/GL/Internal/Shared.hs
@@ -18151,6 +18151,8 @@
 -- | Usage: @'glNamedBufferStorage' buffer size data flags@
 --
 -- The parameter @size@ is a @BufferSize@.
+--
+-- The length of @data@ should be @size@.
 
 
 glNamedBufferStorage :: MonadIO m => GLuint -> GLsizeiptr -> Ptr () -> GLbitfield -> m ()
@@ -18164,6 +18166,8 @@
 -- | Usage: @'glNamedBufferSubData' buffer offset size data@
 --
 -- The parameter @size@ is a @BufferSize@.
+--
+-- The length of @data@ should be @COMPSIZE(size)@.
 
 
 glNamedBufferSubData :: MonadIO m => GLuint -> GLintptr -> GLsizeiptr -> Ptr () -> m ()
@@ -19563,6 +19567,17 @@
 
 pattern GL_FLOAT_VEC4_ARB = 0x8B52
 
+-- | Usage: @'glTexPageCommitmentARB' target level xoffset yoffset zoffset width height depth commit@
+
+
+glTexPageCommitmentARB :: MonadIO m => GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> m ()
+glTexPageCommitmentARB = ffienumintintintintsizeisizeisizeibooleanIOV glTexPageCommitmentARBFunPtr
+
+glTexPageCommitmentARBFunPtr :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+glTexPageCommitmentARBFunPtr = unsafePerformIO (getProcAddress "glTexPageCommitmentARB")
+
+{-# NOINLINE glTexPageCommitmentARBFunPtr #-}
+
 -- | Usage: @'glDisableVertexAttribArrayARB' index@
 --
 -- This command is an alias for 'Graphics.GL.Internal.Shared.glDisableVertexAttribArray'.
@@ -21175,6 +21190,8 @@
 pattern GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067
 
 pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A
+
+pattern GL_TEXTURE_CUBE_MAP_ARRAY_OES = 0x9009
 
 pattern GL_ALPHA8_EXT = 0x803C
 
diff --git a/dist/build/autogen/Graphics/GL/Standard31.hs b/dist/build/autogen/Graphics/GL/Standard31.hs
--- a/dist/build/autogen/Graphics/GL/Standard31.hs
+++ b/dist/build/autogen/Graphics/GL/Standard31.hs
@@ -3,6 +3,8 @@
 module Graphics.GL.Standard31 (
   -- * Graphics.GL.Standard31
     module Graphics.GL.Standard30
+  , glBindBufferBase
+  , glBindBufferRange
   , glCopyBufferSubData
   , glDrawArraysInstanced
   , glDrawElementsInstanced
@@ -10,6 +12,7 @@
   , glGetActiveUniformBlockiv
   , glGetActiveUniformName
   , glGetActiveUniformsiv
+  , glGetIntegeri_v
   , glGetUniformBlockIndex
   , glGetUniformIndices
   , glPrimitiveRestartIndex
diff --git a/extensions.txt b/extensions.txt
--- a/extensions.txt
+++ b/extensions.txt
@@ -275,6 +275,7 @@
 GL_EXT_blend_minmax https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/blend_minmax.txt
 GL_EXT_blend_minmax https://www.khronos.org/registry/gles/extensions/EXT/EXT_blend_minmax.txt
 GL_EXT_blend_subtract https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/blend_subtract.txt
+GL_EXT_buffer_storage https://www.khronos.org/registry/gles/extensions/EXT/EXT_buffer_storage.txt
 GL_EXT_clip_volume_hint https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/clip_volume_hint.txt
 GL_EXT_cmyka https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/cmyka.txt
 GL_EXT_color_buffer_float https://www.khronos.org/registry/gles/extensions/EXT/EXT_color_buffer_float.txt
@@ -372,6 +373,7 @@
 GL_EXT_shadow_funcs https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/shadow_funcs.txt
 GL_EXT_shadow_samplers https://www.khronos.org/registry/gles/extensions/EXT/EXT_shadow_samplers.txt
 GL_EXT_shared_texture_palette https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/shared_texture_palette.txt
+GL_EXT_sparse_texture https://www.khronos.org/registry/gles/extensions/EXT/EXT_sparse_texture.txt
 GL_EXT_sparse_texture2 https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/sparse_texture2.txt
 GL_EXT_static_vertex_array https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/static_vertex_array.txt
 GL_EXT_stencil_clear_tag https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/EXT/stencil_clear_tag.txt
diff --git a/gl.cabal b/gl.cabal
--- a/gl.cabal
+++ b/gl.cabal
@@ -1,5 +1,5 @@
 name:          gl
-version:       0.7.4
+version:       0.7.5
 synopsis:      Complete OpenGL raw bindings
 description:   Complete OpenGL raw bindings
 license:       BSD3
@@ -358,6 +358,7 @@
     Graphics.GL.Ext.EXT.BlendLogicOp
     Graphics.GL.Ext.EXT.BlendMinmax
     Graphics.GL.Ext.EXT.BlendSubtract
+    Graphics.GL.Ext.EXT.BufferStorage
     Graphics.GL.Ext.EXT.ClipVolumeHint
     Graphics.GL.Ext.EXT.Cmyka
     Graphics.GL.Ext.EXT.ColorBufferHalfFloat
@@ -444,6 +445,7 @@
     Graphics.GL.Ext.EXT.ShadowFuncs
     Graphics.GL.Ext.EXT.ShadowSamplers
     Graphics.GL.Ext.EXT.SharedTexturePalette
+    Graphics.GL.Ext.EXT.SparseTexture
     Graphics.GL.Ext.EXT.SparseTexture2
     Graphics.GL.Ext.EXT.StencilClearTag
     Graphics.GL.Ext.EXT.StencilTwoSide
diff --git a/gl.xml b/gl.xml
# file too large to diff: gl.xml
