- return error information



C SPECIFICATION


DESCRIPTION

       glGetError  returns  the  value  of  the error flag.  Each
       detectable error is assigned a numeric code  and  symbolic
       name.   When an error occurs, the error flag is set to the
       appropriate  error  code  value.   No  other  errors   are
       recorded  until  glGetError  is  called, the error code is
       returned, and the flag is reset to GL_NO_ERROR.  If a call
       to  glGetError  returns  GL_NO_ERROR,  there  has  been no
       detectable error since the last  call  to  glGetError,  or
       since the GL was initialized.

       To  allow  for  distributed  implementations, there may be
       several  error  flags.   If  any  single  error  flag  has
       recorded  an error, the value of that flag is returned and
       that flag is  reset  to  GL_NO_ERROR  when  glGetError  is
       called.   If  more  than  one  flag has recorded an error,
       glGetError returns and  clears  an  arbitrary  error  flag
       value.   Thus,  glGetError  should  always  be called in a
       loop, until it returns GL_NO_ERROR, if all error flags are
       to be reset.

       Initially, all error flags are set to GL_NO_ERROR.

       The following errors are currently defined:

       GL_NO_ERROR                   No  error has been recorded.
                                     The value of  this  symbolic
                                     constant is guaranteed to be
                                     0.

       GL_INVALID_ENUM               An  unacceptable  value   is
                                     specified  for an enumerated
                                     argument.    The   offending
                                     command  is ignored, and has
                                     no other side effect than to
                                     set the error flag.

       GL_INVALID_VALUE              A numeric argument is out of
                                     range.  The  offending  com-
                                     mand  is ignored, and has no
                                     other side  effect  than  to
                                     set the error flag.

       GL_INVALID_OPERATION          The  specified  operation is
                                     not allowed in  the  current
                                     state.   The  offending com-
                                     mand is ignored, and has  no
                                     other  side  effect  than to

       GL_OUT_OF_MEMORY              There is not  enough  memory
                                     left to execute the command.
                                     The state of the GL is unde-
                                     fined,  except for the state
                                     of the  error  flags,  after
                                     this error is recorded.

       GL_TABLE_TOO_LARGE            The  specified table exceeds
                                     the implementation's maximum
                                     supported  table  size.  The
                                     offending     command     is
                                     ignored,  and  has  no other
                                     side effect than to set  the
                                     error flag.

       When  an  error flag is set, results of a GL operation are
       undefined only if GL_OUT_OF_MEMORY has occurred.   In  all
       other  cases,  the command generating the error is ignored
       and has no effect on the GL state  or  frame  buffer  con-
       tents.   If  the  generating  command  returns a value, it
       returns 0.  If glGetError itself generates  an  error,  it
       returns 0.


NOTES

       GL_TABLE_TOO_LARGE was introduced in GL version 1.2.


ERRORS

       GL_INVALID_OPERATION  is  generated  if glGetError is exe-
       cuted between the execution of glBegin and the correspond-
       ing  execution  of glEnd.  In this case glGetError returns
       0.



                                                                1