sig
  type pixel_buffer_format =
      GL_COLOR_INDEX
    | GL_STENCIL_INDEX
    | GL_DEPTH_COMPONENT
    | GL_RED
    | GL_GREEN
    | GL_BLUE
    | GL_ALPHA
    | GL_RGB
    | GL_BGR
    | GL_RGBA
    | GL_BGRA
    | GL_LUMINANCE
    | GL_LUMINANCE_ALPHA
  type pixel_buffer_type =
      GL_UNSIGNED_BYTE
    | GL_BYTE
    | GL_BITMAP
    | GL_UNSIGNED_SHORT
    | GL_SHORT
    | GL_UNSIGNED_INT
    | GL_INT
    | GL_FLOAT
    | GL_UNSIGNED_BYTE_3_3_2
    | GL_UNSIGNED_BYTE_2_3_3_REV
    | GL_UNSIGNED_SHORT_5_6_5
    | GL_UNSIGNED_SHORT_5_6_5_REV
    | GL_UNSIGNED_SHORT_4_4_4_4
    | GL_UNSIGNED_SHORT_4_4_4_4_REV
    | GL_UNSIGNED_SHORT_5_5_5_1
    | GL_UNSIGNED_SHORT_1_5_5_5_REV
    | GL_UNSIGNED_INT_8_8_8_8
    | GL_UNSIGNED_INT_8_8_8_8_REV
    | GL_UNSIGNED_INT_10_10_10_2
    | GL_UNSIGNED_INT_2_10_10_10_REV
end