--------------------------------------------------------------------------------
-- |
-- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
-- Copyright   :  (c) Sven Panne 2013
-- License     :  BSD3
--
-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
-- Stability   :  stable
-- Portability :  portable
--
-- All raw functions and tokens from the ARB_fragment_program extension, see
-- <http://www.opengl.org/registry/specs/ARB/fragment_program.txt>.
--
--------------------------------------------------------------------------------

module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram (
   -- * Functions
   glProgramString,
   glBindProgram,
   glDeletePrograms,
   glGenPrograms,
   glProgramEnvParameter4d,
   glProgramEnvParameter4dv,
   glProgramEnvParameter4f,
   glProgramEnvParameter4fv,
   glProgramLocalParameter4d,
   glProgramLocalParameter4dv,
   glProgramLocalParameter4f,
   glProgramLocalParameter4fv,
   glGetProgramEnvParameterdv,
   glGetProgramEnvParameterfv,
   glGetProgramLocalParameterdv,
   glGetProgramLocalParameterfv,
   glGetProgramiv,
   glGetProgramString,
   glIsProgram,
   -- * Tokens
   gl_FRAGMENT_PROGRAM,
   gl_PROGRAM_FORMAT_ASCII,
   gl_PROGRAM_LENGTH,
   gl_PROGRAM_FORMAT,
   gl_PROGRAM_BINDING,
   gl_PROGRAM_INSTRUCTIONS,
   gl_MAX_PROGRAM_INSTRUCTIONS,
   gl_PROGRAM_NATIVE_INSTRUCTIONS,
   gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS,
   gl_PROGRAM_TEMPORARIES,
   gl_MAX_PROGRAM_TEMPORARIES,
   gl_PROGRAM_NATIVE_TEMPORARIES,
   gl_MAX_PROGRAM_NATIVE_TEMPORARIES,
   gl_PROGRAM_PARAMETERS,
   gl_MAX_PROGRAM_PARAMETERS,
   gl_PROGRAM_NATIVE_PARAMETERS,
   gl_MAX_PROGRAM_NATIVE_PARAMETERS,
   gl_PROGRAM_ATTRIBS,
   gl_MAX_PROGRAM_ATTRIBS,
   gl_PROGRAM_NATIVE_ATTRIBS,
   gl_MAX_PROGRAM_NATIVE_ATTRIBS,
   gl_MAX_PROGRAM_LOCAL_PARAMETERS,
   gl_MAX_PROGRAM_ENV_PARAMETERS,
   gl_PROGRAM_UNDER_NATIVE_LIMITS,
   gl_PROGRAM_ALU_INSTRUCTIONS,
   gl_PROGRAM_TEX_INSTRUCTIONS,
   gl_PROGRAM_TEX_INDIRECTIONS,
   gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS,
   gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS,
   gl_PROGRAM_NATIVE_TEX_INDIRECTIONS,
   gl_MAX_PROGRAM_ALU_INSTRUCTIONS,
   gl_MAX_PROGRAM_TEX_INSTRUCTIONS,
   gl_MAX_PROGRAM_TEX_INDIRECTIONS,
   gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS,
   gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS,
   gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS,
   gl_PROGRAM_STRING,
   gl_PROGRAM_ERROR_POSITION,
   gl_CURRENT_MATRIX,
   gl_TRANSPOSE_CURRENT_MATRIX,
   gl_CURRENT_MATRIX_STACK_DEPTH,
   gl_MAX_PROGRAM_MATRICES,
   gl_MAX_PROGRAM_MATRIX_STACK_DEPTH,
   gl_MAX_TEXTURE_COORDS,
   gl_MAX_TEXTURE_IMAGE_UNITS,
   gl_PROGRAM_ERROR_STRING,
   gl_MATRIX0,
   gl_MATRIX1,
   gl_MATRIX2,
   gl_MATRIX3,
   gl_MATRIX4,
   gl_MATRIX5,
   gl_MATRIX6,
   gl_MATRIX7,
   gl_MATRIX8,
   gl_MATRIX9,
   gl_MATRIX10,
   gl_MATRIX11,
   gl_MATRIX12,
   gl_MATRIX13,
   gl_MATRIX14,
   gl_MATRIX15,
   gl_MATRIX16,
   gl_MATRIX17,
   gl_MATRIX18,
   gl_MATRIX19,
   gl_MATRIX20,
   gl_MATRIX21,
   gl_MATRIX22,
   gl_MATRIX23,
   gl_MATRIX24,
   gl_MATRIX25,
   gl_MATRIX26,
   gl_MATRIX27,
   gl_MATRIX28,
   gl_MATRIX29,
   gl_MATRIX30,
   gl_MATRIX31
) where

import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
import Graphics.Rendering.OpenGL.Raw.Core32

gl_FRAGMENT_PROGRAM :: GLenum
gl_FRAGMENT_PROGRAM = 0x8804

gl_PROGRAM_ALU_INSTRUCTIONS :: GLenum
gl_PROGRAM_ALU_INSTRUCTIONS = 0x8805

gl_PROGRAM_TEX_INSTRUCTIONS :: GLenum
gl_PROGRAM_TEX_INSTRUCTIONS = 0x8806

gl_PROGRAM_TEX_INDIRECTIONS :: GLenum
gl_PROGRAM_TEX_INDIRECTIONS = 0x8807

gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS :: GLenum
gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS = 0x8808

gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS :: GLenum
gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS = 0x8809

gl_PROGRAM_NATIVE_TEX_INDIRECTIONS :: GLenum
gl_PROGRAM_NATIVE_TEX_INDIRECTIONS = 0x880A

gl_MAX_PROGRAM_ALU_INSTRUCTIONS :: GLenum
gl_MAX_PROGRAM_ALU_INSTRUCTIONS = 0x880B

gl_MAX_PROGRAM_TEX_INSTRUCTIONS :: GLenum
gl_MAX_PROGRAM_TEX_INSTRUCTIONS = 0x880C

gl_MAX_PROGRAM_TEX_INDIRECTIONS :: GLenum
gl_MAX_PROGRAM_TEX_INDIRECTIONS = 0x880D

gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS :: GLenum
gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS = 0x880E

gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS :: GLenum
gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS = 0x880F

gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS :: GLenum
gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS = 0x8810