{-# LANGUAGE PatternSynonyms #-}
--------------------------------------------------------------------------------
-- |
-- Module      :  Graphics.GL.ARB.ShaderStorageBufferObject
-- Copyright   :  (c) Sven Panne 2019
-- License     :  BSD3
--
-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
-- Stability   :  stable
-- Portability :  portable
--
--------------------------------------------------------------------------------

module Graphics.GL.ARB.ShaderStorageBufferObject (
  -- * Extension Support
  glGetARBShaderStorageBufferObject,
  gl_ARB_shader_storage_buffer_object,
  -- * Enums
  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
  pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
  pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
  pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
  pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
  pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
  pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE,
  pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
  pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
  pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
  pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
  pattern GL_SHADER_STORAGE_BARRIER_BIT,
  pattern GL_SHADER_STORAGE_BUFFER,
  pattern GL_SHADER_STORAGE_BUFFER_BINDING,
  pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
  pattern GL_SHADER_STORAGE_BUFFER_SIZE,
  pattern GL_SHADER_STORAGE_BUFFER_START,
  -- * Functions
  glShaderStorageBlockBinding
) where

import Graphics.GL.ExtensionPredicates
import Graphics.GL.Tokens
import Graphics.GL.Functions