/* Generated by Cython 0.14.1 on Fri Jul 15 16:11:16 2011 */

#define PY_SSIZE_T_CLEAN
#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#else

#include <stddef.h> /* For offsetof */
#ifndef offsetof
#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif

#if !defined(WIN32) && !defined(MS_WINDOWS)
  #ifndef __stdcall
    #define __stdcall
  #endif
  #ifndef __cdecl
    #define __cdecl
  #endif
  #ifndef __fastcall
    #define __fastcall
  #endif
#endif

#ifndef DL_IMPORT
  #define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
  #define DL_EXPORT(t) t
#endif

#ifndef PY_LONG_LONG
  #define PY_LONG_LONG LONG_LONG
#endif

#if PY_VERSION_HEX < 0x02040000
  #define METH_COEXIST 0
  #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
  #define PyDict_Contains(d,o)   PySequence_Contains(d,o)
#endif

#if PY_VERSION_HEX < 0x02050000
  typedef int Py_ssize_t;
  #define PY_SSIZE_T_MAX INT_MAX
  #define PY_SSIZE_T_MIN INT_MIN
  #define PY_FORMAT_SIZE_T ""
  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
  #define PyInt_AsSsize_t(o)   PyInt_AsLong(o)
  #define PyNumber_Index(o)    PyNumber_Int(o)
  #define PyIndex_Check(o)     PyNumber_Check(o)
  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
#endif

#if PY_VERSION_HEX < 0x02060000
  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
  #define PyVarObject_HEAD_INIT(type, size) \
          PyObject_HEAD_INIT(type) size,
  #define PyType_Modified(t)

  typedef struct {
     void *buf;
     PyObject *obj;
     Py_ssize_t len;
     Py_ssize_t itemsize;
     int readonly;
     int ndim;
     char *format;
     Py_ssize_t *shape;
     Py_ssize_t *strides;
     Py_ssize_t *suboffsets;
     void *internal;
  } Py_buffer;

  #define PyBUF_SIMPLE 0
  #define PyBUF_WRITABLE 0x0001
  #define PyBUF_FORMAT 0x0004
  #define PyBUF_ND 0x0008
  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)

#endif

#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
#endif

#if PY_MAJOR_VERSION >= 3
  #define Py_TPFLAGS_CHECKTYPES 0
  #define Py_TPFLAGS_HAVE_INDEX 0
#endif

#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif

#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
#endif

#if PY_VERSION_HEX < 0x02060000
  #define PyBytesObject                PyStringObject
  #define PyBytes_Type                 PyString_Type
  #define PyBytes_Check                PyString_Check
  #define PyBytes_CheckExact           PyString_CheckExact
  #define PyBytes_FromString           PyString_FromString
  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
  #define PyBytes_FromFormat           PyString_FromFormat
  #define PyBytes_DecodeEscape         PyString_DecodeEscape
  #define PyBytes_AsString             PyString_AsString
  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
  #define PyBytes_Size                 PyString_Size
  #define PyBytes_AS_STRING            PyString_AS_STRING
  #define PyBytes_GET_SIZE             PyString_GET_SIZE
  #define PyBytes_Repr                 PyString_Repr
  #define PyBytes_Concat               PyString_Concat
  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
#endif

#if PY_VERSION_HEX < 0x02060000
  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
#endif

#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)

#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
#endif

#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif


#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
#else
  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
#endif

#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
#else
  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
#endif

#if PY_MAJOR_VERSION >= 3
  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
#endif

#if PY_VERSION_HEX < 0x02050000
  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
#else
  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
#endif

#if PY_VERSION_HEX < 0x02050000
  #define __Pyx_NAMESTR(n) ((char *)(n))
  #define __Pyx_DOCSTR(n)  ((char *)(n))
#else
  #define __Pyx_NAMESTR(n) (n)
  #define __Pyx_DOCSTR(n)  (n)
#endif

#ifdef __cplusplus
#define __PYX_EXTERN_C extern "C"
#else
#define __PYX_EXTERN_C extern
#endif

#if defined(WIN32) || defined(MS_WINDOWS)
#define _USE_MATH_DEFINES
#endif
#include <math.h>
#define __PYX_HAVE_API__kivy__graphics__opengl
#include "stdlib.h"
#include "gl_redirect.h"

#ifdef PYREX_WITHOUT_ASSERTIONS
#define CYTHON_WITHOUT_ASSERTIONS
#endif


/* inline attribute */
#ifndef CYTHON_INLINE
  #if defined(__GNUC__)
    #define CYTHON_INLINE __inline__
  #elif defined(_MSC_VER)
    #define CYTHON_INLINE __inline
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_INLINE inline
  #else
    #define CYTHON_INLINE
  #endif
#endif

/* unused attribute */
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define CYTHON_UNUSED __attribute__ ((__unused__))
#   else
#     define CYTHON_UNUSED
#   endif
# elif defined(__ICC) || defined(__INTEL_COMPILER)
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif

typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/


/* Type Conversion Predeclarations */

#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))

#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);

static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);

#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))


#ifdef __GNUC__
/* Test for GCC > 2.95 */
#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
#define likely(x)   __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)
#else /* __GNUC__ > 2 ... */
#define likely(x)   (x)
#define unlikely(x) (x)
#endif /* __GNUC__ > 2 ... */
#else /* __GNUC__ */
#define likely(x)   (x)
#define unlikely(x) (x)
#endif /* __GNUC__ */
    
static PyObject *__pyx_m;
static PyObject *__pyx_b;
static PyObject *__pyx_empty_tuple;
static PyObject *__pyx_empty_bytes;
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm= __FILE__;
static const char *__pyx_filename;


static const char *__pyx_f[] = {
  "opengl.pyx",
};

typedef char __pyx_t_4kivy_8graphics_6opengl_GLchar;

typedef unsigned int __pyx_t_4kivy_8graphics_6opengl_GLenum;

typedef unsigned char __pyx_t_4kivy_8graphics_6opengl_GLboolean;

typedef unsigned int __pyx_t_4kivy_8graphics_6opengl_GLbitfield;

typedef short __pyx_t_4kivy_8graphics_6opengl_GLshort;

typedef int __pyx_t_4kivy_8graphics_6opengl_GLint;

typedef int __pyx_t_4kivy_8graphics_6opengl_GLsizei;

typedef unsigned short __pyx_t_4kivy_8graphics_6opengl_GLushort;

typedef unsigned int __pyx_t_4kivy_8graphics_6opengl_GLuint;

typedef signed char __pyx_t_4kivy_8graphics_6opengl_GLbyte;

typedef unsigned char __pyx_t_4kivy_8graphics_6opengl_GLubyte;

typedef float __pyx_t_4kivy_8graphics_6opengl_GLfloat;

typedef float __pyx_t_4kivy_8graphics_6opengl_GLclampf;

typedef int __pyx_t_4kivy_8graphics_6opengl_GLfixed;

typedef signed long __pyx_t_4kivy_8graphics_6opengl_GLintptr;

typedef signed long __pyx_t_4kivy_8graphics_6opengl_GLsizeiptr;

/* Type declarations */

typedef void __pyx_t_4kivy_8graphics_6opengl_GLvoid;

#ifndef CYTHON_REFNANNY
  #define CYTHON_REFNANNY 0
#endif

#if CYTHON_REFNANNY
  typedef struct {
    void (*INCREF)(void*, PyObject*, int);
    void (*DECREF)(void*, PyObject*, int);
    void (*GOTREF)(void*, PyObject*, int);
    void (*GIVEREF)(void*, PyObject*, int);
    void* (*SetupContext)(const char*, int, const char*);
    void (*FinishContext)(void**);
  } __Pyx_RefNannyAPIStruct;
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
  static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) {
    PyObject *m = NULL, *p = NULL;
    void *r = NULL;
    m = PyImport_ImportModule((char *)modname);
    if (!m) goto end;
    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
    if (!p) goto end;
    r = PyLong_AsVoidPtr(p);
  end:
    Py_XDECREF(p);
    Py_XDECREF(m);
    return (__Pyx_RefNannyAPIStruct *)r;
  }
  #define __Pyx_RefNannySetupContext(name)           void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
  #define __Pyx_RefNannyFinishContext()           __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
  #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
  #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0)
#else
  #define __Pyx_RefNannySetupContext(name)
  #define __Pyx_RefNannyFinishContext()
  #define __Pyx_INCREF(r) Py_INCREF(r)
  #define __Pyx_DECREF(r) Py_DECREF(r)
  #define __Pyx_GOTREF(r)
  #define __Pyx_GIVEREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
#endif /* CYTHON_REFNANNY */
#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0)
#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0)

static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/

static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/

static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name, PyObject* kw_name); /*proto*/

static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],     PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,     const char* function_name); /*proto*/

static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
    const char *name, int exact); /*proto*/


static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
    PyObject *r;
    if (!j) return NULL;
    r = PyObject_GetItem(o, j);
    Py_DECREF(j);
    return r;
}


#define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
                                                    __Pyx_GetItemInt_List_Fast(o, i) : \
                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))

static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
    if (likely(o != Py_None)) {
        if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
            PyObject *r = PyList_GET_ITEM(o, i);
            Py_INCREF(r);
            return r;
        }
        else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
            PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
            Py_INCREF(r);
            return r;
        }
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
                                                    __Pyx_GetItemInt_Tuple_Fast(o, i) : \
                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))

static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
    if (likely(o != Py_None)) {
        if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, i);
            Py_INCREF(r);
            return r;
        }
        else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
            PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
            Py_INCREF(r);
            return r;
        }
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}


#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
                                                    __Pyx_GetItemInt_Fast(o, i) : \
                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))

static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
    PyObject *r;
    if (PyList_CheckExact(o) && ((0 <= i) & (i < PyList_GET_SIZE(o)))) {
        r = PyList_GET_ITEM(o, i);
        Py_INCREF(r);
    }
    else if (PyTuple_CheckExact(o) && ((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
        r = PyTuple_GET_ITEM(o, i);
        Py_INCREF(r);
    }
    else if (Py_TYPE(o)->tp_as_sequence && Py_TYPE(o)->tp_as_sequence->sq_item && (likely(i >= 0))) {
        r = PySequence_GetItem(o, i);
    }
    else {
        r = __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
    }
    return r;
}

static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/

static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_GLenum(GLenum);

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_GLboolean(GLboolean);

static CYTHON_INLINE GLenum __Pyx_PyInt_from_py_GLenum(PyObject *);

static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);

static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);

static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);

static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);

static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);

static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);

static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);

static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);

static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);

static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);

static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);

static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);

static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);

static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);

static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);

static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);

static void __Pyx_WriteUnraisable(const char *name); /*proto*/

static void __Pyx_AddTraceback(const char *funcname); /*proto*/

static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
/* Module declarations from kivy.graphics.c_opengl */

/* Module declarations from kivy.graphics.opengl */

static __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_f_4kivy_8graphics_6opengl__genBegin(int); /*proto*/
static PyObject *__pyx_f_4kivy_8graphics_6opengl__genEnd(int, __pyx_t_4kivy_8graphics_6opengl_GLuint *); /*proto*/
#define __Pyx_MODULE_NAME "kivy.graphics.opengl"
static int __pyx_module_is_main_kivy__graphics__opengl = 0;

/* Implementation of kivy.graphics.opengl */
static PyObject *__pyx_builtin_MemoryError;
static PyObject *__pyx_builtin_xrange;
static PyObject *__pyx_builtin_NotImplemented;
static char __pyx_k_1[] = "CheckFramebufferStatus";
static char __pyx_k_2[] = "\nOpenGL\n======\n\nThis module is python wrapper for OpenGL commands.\n\n.. warning::\n\n    Not every OpenGL command have been wrapped, because we are using the C binding\n    for higher performance, and you should stick on the Kivy Graphics API, not the\n    OpenGL one. By using theses OpenGL commands, you might change the OpenGL context\n    and introduce inconsistency between Kivy state and OpenGL state.\n\n";
static char __pyx_k_3[] = "GL_STENCIL_BUFFER_BIT";
static char __pyx_k_4[] = "GL_ONE_MINUS_SRC_COLOR";
static char __pyx_k_5[] = "GL_ONE_MINUS_SRC_ALPHA";
static char __pyx_k_6[] = "GL_ONE_MINUS_DST_ALPHA";
static char __pyx_k_7[] = "GL_ONE_MINUS_DST_COLOR";
static char __pyx_k_8[] = "GL_SRC_ALPHA_SATURATE";
static char __pyx_k_9[] = "GL_BLEND_EQUATION_RGB";
static char __pyx_k_10[] = "GL_BLEND_EQUATION_ALPHA";
static char __pyx_k_11[] = "GL_FUNC_REVERSE_SUBTRACT";
static char __pyx_k_12[] = "GL_ELEMENT_ARRAY_BUFFER";
static char __pyx_k_13[] = "GL_ARRAY_BUFFER_BINDING";
static char __pyx_k_14[] = "GL_ELEMENT_ARRAY_BUFFER_BINDING";
static char __pyx_k_15[] = "GL_CURRENT_VERTEX_ATTRIB";
static char __pyx_k_16[] = "GL_POLYGON_OFFSET_FILL";
static char __pyx_k_17[] = "GL_SAMPLE_ALPHA_TO_COVERAGE";
static char __pyx_k_18[] = "GL_INVALID_OPERATION";
static char __pyx_k_19[] = "GL_ALIASED_POINT_SIZE_RANGE";
static char __pyx_k_20[] = "GL_ALIASED_LINE_WIDTH_RANGE";
static char __pyx_k_21[] = "GL_DEPTH_CLEAR_VALUE";
static char __pyx_k_22[] = "GL_STENCIL_CLEAR_VALUE";
static char __pyx_k_23[] = "GL_STENCIL_PASS_DEPTH_FAIL";
static char __pyx_k_24[] = "GL_STENCIL_PASS_DEPTH_PASS";
static char __pyx_k_25[] = "GL_STENCIL_VALUE_MASK";
static char __pyx_k_26[] = "GL_STENCIL_WRITEMASK";
static char __pyx_k_27[] = "GL_STENCIL_BACK_FUNC";
static char __pyx_k_28[] = "GL_STENCIL_BACK_FAIL";
static char __pyx_k_29[] = "GL_STENCIL_BACK_PASS_DEPTH_FAIL";
static char __pyx_k_30[] = "GL_STENCIL_BACK_PASS_DEPTH_PASS";
static char __pyx_k_31[] = "GL_STENCIL_BACK_VALUE_MASK";
static char __pyx_k_32[] = "GL_STENCIL_BACK_WRITEMASK";
static char __pyx_k_33[] = "GL_COLOR_CLEAR_VALUE";
static char __pyx_k_34[] = "GL_MAX_VIEWPORT_DIMS";
static char __pyx_k_35[] = "GL_POLYGON_OFFSET_UNITS";
static char __pyx_k_36[] = "GL_POLYGON_OFFSET_FACTOR";
static char __pyx_k_37[] = "GL_TEXTURE_BINDING_2D";
static char __pyx_k_38[] = "GL_SAMPLE_COVERAGE_VALUE";
static char __pyx_k_39[] = "GL_SAMPLE_COVERAGE_INVERT";
static char __pyx_k_40[] = "GL_NUM_COMPRESSED_TEXTURE_FORMATS";
static char __pyx_k_41[] = "GL_COMPRESSED_TEXTURE_FORMATS";
static char __pyx_k_42[] = "GL_GENERATE_MIPMAP_HINT";
static char __pyx_k_43[] = "GL_UNSIGNED_SHORT_4_4_4_4";
static char __pyx_k_44[] = "GL_UNSIGNED_SHORT_5_5_5_1";
static char __pyx_k_45[] = "GL_UNSIGNED_SHORT_5_6_5";
static char __pyx_k_46[] = "GL_MAX_VERTEX_ATTRIBS";
static char __pyx_k_47[] = "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS";
static char __pyx_k_48[] = "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS";
static char __pyx_k_49[] = "GL_MAX_TEXTURE_IMAGE_UNITS";
static char __pyx_k_50[] = "GL_ACTIVE_UNIFORM_MAX_LENGTH";
static char __pyx_k_51[] = "GL_ACTIVE_ATTRIBUTES";
static char __pyx_k_52[] = "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH";
static char __pyx_k_53[] = "GL_SHADING_LANGUAGE_VERSION";
static char __pyx_k_54[] = "GL_NEAREST_MIPMAP_NEAREST";
static char __pyx_k_55[] = "GL_LINEAR_MIPMAP_NEAREST";
static char __pyx_k_56[] = "GL_NEAREST_MIPMAP_LINEAR";
static char __pyx_k_57[] = "GL_LINEAR_MIPMAP_LINEAR";
static char __pyx_k_58[] = "GL_TEXTURE_MAG_FILTER";
static char __pyx_k_59[] = "GL_TEXTURE_MIN_FILTER";
static char __pyx_k_60[] = "GL_TEXTURE_BINDING_CUBE_MAP";
static char __pyx_k_61[] = "GL_TEXTURE_CUBE_MAP_POSITIVE_X";
static char __pyx_k_62[] = "GL_TEXTURE_CUBE_MAP_NEGATIVE_X";
static char __pyx_k_63[] = "GL_TEXTURE_CUBE_MAP_POSITIVE_Y";
static char __pyx_k_64[] = "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y";
static char __pyx_k_65[] = "GL_TEXTURE_CUBE_MAP_POSITIVE_Z";
static char __pyx_k_66[] = "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z";
static char __pyx_k_67[] = "GL_MAX_CUBE_MAP_TEXTURE_SIZE";
static char __pyx_k_68[] = "GL_VERTEX_ATTRIB_ARRAY_ENABLED";
static char __pyx_k_69[] = "GL_VERTEX_ATTRIB_ARRAY_SIZE";
static char __pyx_k_70[] = "GL_VERTEX_ATTRIB_ARRAY_STRIDE";
static char __pyx_k_71[] = "GL_VERTEX_ATTRIB_ARRAY_TYPE";
static char __pyx_k_72[] = "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED";
static char __pyx_k_73[] = "GL_VERTEX_ATTRIB_ARRAY_POINTER";
static char __pyx_k_74[] = "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING";
static char __pyx_k_75[] = "GL_SHADER_SOURCE_LENGTH";
static char __pyx_k_76[] = "GL_DEPTH_COMPONENT16";
static char __pyx_k_77[] = "GL_RENDERBUFFER_WIDTH";
static char __pyx_k_78[] = "GL_RENDERBUFFER_HEIGHT";
static char __pyx_k_79[] = "GL_RENDERBUFFER_INTERNAL_FORMAT";
static char __pyx_k_80[] = "GL_RENDERBUFFER_RED_SIZE";
static char __pyx_k_81[] = "GL_RENDERBUFFER_GREEN_SIZE";
static char __pyx_k_82[] = "GL_RENDERBUFFER_BLUE_SIZE";
static char __pyx_k_83[] = "GL_RENDERBUFFER_ALPHA_SIZE";
static char __pyx_k_84[] = "GL_RENDERBUFFER_DEPTH_SIZE";
static char __pyx_k_85[] = "GL_RENDERBUFFER_STENCIL_SIZE";
static char __pyx_k_86[] = "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE";
static char __pyx_k_87[] = "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME";
static char __pyx_k_88[] = "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL";
static char __pyx_k_89[] = "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE";
static char __pyx_k_90[] = "GL_COLOR_ATTACHMENT0";
static char __pyx_k_91[] = "GL_STENCIL_ATTACHMENT";
static char __pyx_k_92[] = "GL_FRAMEBUFFER_COMPLETE";
static char __pyx_k_93[] = "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT";
static char __pyx_k_94[] = "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";
static char __pyx_k_95[] = "GL_FRAMEBUFFER_UNSUPPORTED";
static char __pyx_k_96[] = "GL_FRAMEBUFFER_BINDING";
static char __pyx_k_97[] = "GL_RENDERBUFFER_BINDING";
static char __pyx_k_98[] = "GL_MAX_RENDERBUFFER_SIZE";
static char __pyx_k_99[] = "GL_INVALID_FRAMEBUFFER_OPERATION";
static char __pyx_k__n[] = "n";
static char __pyx_k__w[] = "w";
static char __pyx_k__x[] = "x";
static char __pyx_k__y[] = "y";
static char __pyx_k__z[] = "z";
static char __pyx_k_100[] = "GL_SHADER_BINARY_FORMATS";
static char __pyx_k_101[] = "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS";
static char __pyx_k_102[] = "GL_MAX_VERTEX_UNIFORM_VECTORS";
static char __pyx_k_103[] = "GL_MAX_VARYING_VECTORS";
static char __pyx_k_104[] = "GL_MAX_FRAGMENT_UNIFORM_VECTORS";
static char __pyx_k_105[] = "GL_IMPLEMENTATION_COLOR_READ_TYPE";
static char __pyx_k_106[] = "GL_IMPLEMENTATION_COLOR_READ_FORMAT";
static char __pyx_k_107[] = "GL_NUM_SHADER_BINARY_FORMATS";
static char __pyx_k_108[] = "kivy.graphics.opengl";
static char __pyx_k_109[] = "glBindAttribLocation";
static char __pyx_k_110[] = "glBlendEquationSeparate";
static char __pyx_k_111[] = "glCheckFramebufferStatus";
static char __pyx_k_112[] = "glCompressedTexImage2D";
static char __pyx_k_113[] = "glCompressedTexSubImage2D";
static char __pyx_k_114[] = "glDeleteFramebuffers";
static char __pyx_k_115[] = "glDeleteRenderbuffers";
static char __pyx_k_116[] = "glDisableVertexAttribArray";
static char __pyx_k_117[] = "glEnableVertexAttribArray";
static char __pyx_k_118[] = "glFramebufferRenderbuffer";
static char __pyx_k_119[] = "glFramebufferTexture2D";
static char __pyx_k_120[] = "glGetAttachedShaders";
static char __pyx_k_121[] = "glGetBufferParameteriv";
static char __pyx_k_122[] = "glGetFramebufferAttachmentParameteriv";
static char __pyx_k_123[] = "glGetRenderbufferParameteriv";
static char __pyx_k_124[] = "glGetShaderPrecisionFormat";
static char __pyx_k_125[] = "glGetUniformLocation";
static char __pyx_k_126[] = "glGetVertexAttribPointerv";
static char __pyx_k_127[] = "glReleaseShaderCompiler";
static char __pyx_k_128[] = "glRenderbufferStorage";
static char __pyx_k_129[] = "glStencilFuncSeparate";
static char __pyx_k_130[] = "glStencilMaskSeparate";
static char __pyx_k_131[] = "glVertexAttribPointer";
static char __pyx_k__red[] = "red";
static char __pyx_k__ref[] = "ref";
static char __pyx_k__blue[] = "blue";
static char __pyx_k__data[] = "data";
static char __pyx_k__face[] = "face";
static char __pyx_k__fail[] = "fail";
static char __pyx_k__func[] = "func";
static char __pyx_k__indx[] = "indx";
static char __pyx_k__mask[] = "mask";
static char __pyx_k__mode[] = "mode";
static char __pyx_k__name[] = "name";
static char __pyx_k__size[] = "size";
static char __pyx_k__type[] = "type";
static char __pyx_k__zFar[] = "zFar";
static char __pyx_k__GL_CW[] = "GL_CW";
static char __pyx_k__alpha[] = "alpha";
static char __pyx_k__count[] = "count";
static char __pyx_k__first[] = "first";
static char __pyx_k__green[] = "green";
static char __pyx_k__index[] = "index";
static char __pyx_k__level[] = "level";
static char __pyx_k__param[] = "param";
static char __pyx_k__pname[] = "pname";
static char __pyx_k__range[] = "range";
static char __pyx_k__units[] = "units";
static char __pyx_k__usage[] = "usage";
static char __pyx_k__value[] = "value";
static char __pyx_k__width[] = "width";
static char __pyx_k__zNear[] = "zNear";
static char __pyx_k__zfail[] = "zfail";
static char __pyx_k__zpass[] = "zpass";
static char __pyx_k__GL_CCW[] = "GL_CCW";
static char __pyx_k__GL_INT[] = "GL_INT";
static char __pyx_k__GL_ONE[] = "GL_ONE";
static char __pyx_k__GL_RGB[] = "GL_RGB";
static char __pyx_k__append[] = "append";
static char __pyx_k__border[] = "border";
static char __pyx_k__buffer[] = "buffer";
static char __pyx_k__dstRGB[] = "dstRGB";
static char __pyx_k__factor[] = "factor";
static char __pyx_k__format[] = "format";
static char __pyx_k__glHint[] = "glHint";
static char __pyx_k__height[] = "height";
static char __pyx_k__invert[] = "invert";
static char __pyx_k__offset[] = "offset";
static char __pyx_k__pixels[] = "pixels";
static char __pyx_k__shader[] = "shader";
static char __pyx_k__source[] = "source";
static char __pyx_k__srcRGB[] = "srcRGB";
static char __pyx_k__target[] = "target";
static char __pyx_k__values[] = "values";
static char __pyx_k__xrange[] = "xrange";
static char __pyx_k__GL_BACK[] = "GL_BACK";
static char __pyx_k__GL_BOOL[] = "GL_BOOL";
static char __pyx_k__GL_BYTE[] = "GL_BYTE";
static char __pyx_k__GL_DECR[] = "GL_DECR";
static char __pyx_k__GL_INCR[] = "GL_INCR";
static char __pyx_k__GL_KEEP[] = "GL_KEEP";
static char __pyx_k__GL_LESS[] = "GL_LESS";
static char __pyx_k__GL_NONE[] = "GL_NONE";
static char __pyx_k__GL_RGBA[] = "GL_RGBA";
static char __pyx_k__GL_TRUE[] = "GL_TRUE";
static char __pyx_k__GL_ZERO[] = "GL_ZERO";
static char __pyx_k__buffers[] = "buffers";
static char __pyx_k__bufsize[] = "bufsize";
static char __pyx_k__dfactor[] = "dfactor";
static char __pyx_k__glClear[] = "glClear";
static char __pyx_k__glFlush[] = "glFlush";
static char __pyx_k__indices[] = "indices";
static char __pyx_k__modeRGB[] = "modeRGB";
static char __pyx_k__program[] = "program";
static char __pyx_k__sfactor[] = "sfactor";
static char __pyx_k__texture[] = "texture";
static char __pyx_k__xoffset[] = "xoffset";
static char __pyx_k__yoffset[] = "yoffset";
static char __pyx_k__GL_ALPHA[] = "GL_ALPHA";
static char __pyx_k__GL_BLEND[] = "GL_BLEND";
static char __pyx_k__GL_EQUAL[] = "GL_EQUAL";
static char __pyx_k__GL_FALSE[] = "GL_FALSE";
static char __pyx_k__GL_FIXED[] = "GL_FIXED";
static char __pyx_k__GL_FLOAT[] = "GL_FLOAT";
static char __pyx_k__GL_FRONT[] = "GL_FRONT";
static char __pyx_k__GL_LINES[] = "GL_LINES";
static char __pyx_k__GL_NEVER[] = "GL_NEVER";
static char __pyx_k__GL_RGBA4[] = "GL_RGBA4";
static char __pyx_k__GL_SHORT[] = "GL_SHORT";
static char __pyx_k____main__[] = "__main__";
static char __pyx_k____test__[] = "__test__";
static char __pyx_k__c_opengl[] = "c_opengl";
static char __pyx_k__dstAlpha[] = "dstAlpha";
static char __pyx_k__glEnable[] = "glEnable";
static char __pyx_k__glFinish[] = "glFinish";
static char __pyx_k__location[] = "location";
static char __pyx_k__maxcount[] = "maxcount";
static char __pyx_k__srcAlpha[] = "srcAlpha";
static char __pyx_k__textures[] = "textures";
static char __pyx_k__GL_ALWAYS[] = "GL_ALWAYS";
static char __pyx_k__GL_DITHER[] = "GL_DITHER";
static char __pyx_k__GL_GEQUAL[] = "GL_GEQUAL";
static char __pyx_k__GL_INVERT[] = "GL_INVERT";
static char __pyx_k__GL_LEQUAL[] = "GL_LEQUAL";
static char __pyx_k__GL_LINEAR[] = "GL_LINEAR";
static char __pyx_k__GL_NICEST[] = "GL_NICEST";
static char __pyx_k__GL_POINTS[] = "GL_POINTS";
static char __pyx_k__GL_REPEAT[] = "GL_REPEAT";
static char __pyx_k__GL_RGB565[] = "GL_RGB565";
static char __pyx_k__GL_VENDOR[] = "GL_VENDOR";
static char __pyx_k__glDisable[] = "glDisable";
static char __pyx_k__glScissor[] = "glScissor";
static char __pyx_k__imageSize[] = "imageSize";
static char __pyx_k__modeAlpha[] = "modeAlpha";
static char __pyx_k__textarget[] = "textarget";
static char __pyx_k__GL_FASTEST[] = "GL_FASTEST";
static char __pyx_k__GL_GREATER[] = "GL_GREATER";
static char __pyx_k__GL_LOW_INT[] = "GL_LOW_INT";
static char __pyx_k__GL_NEAREST[] = "GL_NEAREST";
static char __pyx_k__GL_REPLACE[] = "GL_REPLACE";
static char __pyx_k__GL_RGB5_A1[] = "GL_RGB5_A1";
static char __pyx_k__GL_SAMPLES[] = "GL_SAMPLES";
static char __pyx_k__GL_TEXTURE[] = "GL_TEXTURE";
static char __pyx_k__GL_VERSION[] = "GL_VERSION";
static char __pyx_k__attachment[] = "attachment";
static char __pyx_k__glCullFace[] = "glCullFace";
static char __pyx_k__glGetError[] = "glGetError";
static char __pyx_k__glIsBuffer[] = "glIsBuffer";
static char __pyx_k__glIsShader[] = "glIsShader";
static char __pyx_k__glViewport[] = "glViewport";
static char __pyx_k__shadertype[] = "shadertype";
static char __pyx_k__GL_FUNC_ADD[] = "GL_FUNC_ADD";
static char __pyx_k__GL_HIGH_INT[] = "GL_HIGH_INT";
static char __pyx_k__GL_INT_VEC2[] = "GL_INT_VEC2";
static char __pyx_k__GL_INT_VEC3[] = "GL_INT_VEC3";
static char __pyx_k__GL_INT_VEC4[] = "GL_INT_VEC4";
static char __pyx_k__GL_NOTEQUAL[] = "GL_NOTEQUAL";
static char __pyx_k__GL_NO_ERROR[] = "GL_NO_ERROR";
static char __pyx_k__GL_RED_BITS[] = "GL_RED_BITS";
static char __pyx_k__GL_RENDERER[] = "GL_RENDERER";
static char __pyx_k__GL_TEXTURE0[] = "GL_TEXTURE0";
static char __pyx_k__GL_TEXTURE1[] = "GL_TEXTURE1";
static char __pyx_k__GL_TEXTURE2[] = "GL_TEXTURE2";
static char __pyx_k__GL_TEXTURE3[] = "GL_TEXTURE3";
static char __pyx_k__GL_TEXTURE4[] = "GL_TEXTURE4";
static char __pyx_k__GL_TEXTURE5[] = "GL_TEXTURE5";
static char __pyx_k__GL_TEXTURE6[] = "GL_TEXTURE6";
static char __pyx_k__GL_TEXTURE7[] = "GL_TEXTURE7";
static char __pyx_k__GL_TEXTURE8[] = "GL_TEXTURE8";
static char __pyx_k__GL_TEXTURE9[] = "GL_TEXTURE9";
static char __pyx_k__GL_VIEWPORT[] = "GL_VIEWPORT";
static char __pyx_k__MemoryError[] = "MemoryError";
static char __pyx_k__framebuffer[] = "framebuffer";
static char __pyx_k__glBlendFunc[] = "glBlendFunc";
static char __pyx_k__glColorMask[] = "glColorMask";
static char __pyx_k__glDepthFunc[] = "glDepthFunc";
static char __pyx_k__glDepthMask[] = "glDepthMask";
static char __pyx_k__glFrontFace[] = "glFrontFace";
static char __pyx_k__glGetFloatv[] = "glGetFloatv";
static char __pyx_k__glGetString[] = "glGetString";
static char __pyx_k__glIsEnabled[] = "glIsEnabled";
static char __pyx_k__glIsProgram[] = "glIsProgram";
static char __pyx_k__glIsTexture[] = "glIsTexture";
static char __pyx_k__glLineWidth[] = "glLineWidth";
static char __pyx_k__glStencilOp[] = "glStencilOp";
static char __pyx_k__glUniform1f[] = "glUniform1f";
static char __pyx_k__glUniform1i[] = "glUniform1i";
static char __pyx_k__glUniform2f[] = "glUniform2f";
static char __pyx_k__glUniform2i[] = "glUniform2i";
static char __pyx_k__glUniform3f[] = "glUniform3f";
static char __pyx_k__glUniform3i[] = "glUniform3i";
static char __pyx_k__glUniform4f[] = "glUniform4f";
static char __pyx_k__glUniform4i[] = "glUniform4i";
static char __pyx_k__GL_BLUE_BITS[] = "GL_BLUE_BITS";
static char __pyx_k__GL_BOOL_VEC2[] = "GL_BOOL_VEC2";
static char __pyx_k__GL_BOOL_VEC3[] = "GL_BOOL_VEC3";
static char __pyx_k__GL_BOOL_VEC4[] = "GL_BOOL_VEC4";
static char __pyx_k__GL_CULL_FACE[] = "GL_CULL_FACE";
static char __pyx_k__GL_DECR_WRAP[] = "GL_DECR_WRAP";
static char __pyx_k__GL_DONT_CARE[] = "GL_DONT_CARE";
static char __pyx_k__GL_DST_ALPHA[] = "GL_DST_ALPHA";
static char __pyx_k__GL_DST_COLOR[] = "GL_DST_COLOR";
static char __pyx_k__GL_INCR_WRAP[] = "GL_INCR_WRAP";
static char __pyx_k__GL_LINE_LOOP[] = "GL_LINE_LOOP";
static char __pyx_k__GL_LOW_FLOAT[] = "GL_LOW_FLOAT";
static char __pyx_k__GL_LUMINANCE[] = "GL_LUMINANCE";
static char __pyx_k__GL_SRC_ALPHA[] = "GL_SRC_ALPHA";
static char __pyx_k__GL_SRC_COLOR[] = "GL_SRC_COLOR";
static char __pyx_k__GL_TEXTURE10[] = "GL_TEXTURE10";
static char __pyx_k__GL_TEXTURE11[] = "GL_TEXTURE11";
static char __pyx_k__GL_TEXTURE12[] = "GL_TEXTURE12";
static char __pyx_k__GL_TEXTURE13[] = "GL_TEXTURE13";
static char __pyx_k__GL_TEXTURE14[] = "GL_TEXTURE14";
static char __pyx_k__GL_TEXTURE15[] = "GL_TEXTURE15";
static char __pyx_k__GL_TEXTURE16[] = "GL_TEXTURE16";
static char __pyx_k__GL_TEXTURE17[] = "GL_TEXTURE17";
static char __pyx_k__GL_TEXTURE18[] = "GL_TEXTURE18";
static char __pyx_k__GL_TEXTURE19[] = "GL_TEXTURE19";
static char __pyx_k__GL_TEXTURE20[] = "GL_TEXTURE20";
static char __pyx_k__GL_TEXTURE21[] = "GL_TEXTURE21";
static char __pyx_k__GL_TEXTURE22[] = "GL_TEXTURE22";
static char __pyx_k__GL_TEXTURE23[] = "GL_TEXTURE23";
static char __pyx_k__GL_TEXTURE24[] = "GL_TEXTURE24";
static char __pyx_k__GL_TEXTURE25[] = "GL_TEXTURE25";
static char __pyx_k__GL_TEXTURE26[] = "GL_TEXTURE26";
static char __pyx_k__GL_TEXTURE27[] = "GL_TEXTURE27";
static char __pyx_k__GL_TEXTURE28[] = "GL_TEXTURE28";
static char __pyx_k__GL_TEXTURE29[] = "GL_TEXTURE29";
static char __pyx_k__GL_TEXTURE30[] = "GL_TEXTURE30";
static char __pyx_k__GL_TEXTURE31[] = "GL_TEXTURE31";
static char __pyx_k__GL_TRIANGLES[] = "GL_TRIANGLES";
static char __pyx_k___GL_GET_SIZE[] = "_GL_GET_SIZE";
static char __pyx_k__framebuffers[] = "framebuffers";
static char __pyx_k__glBindBuffer[] = "glBindBuffer";
static char __pyx_k__glBlendColor[] = "glBlendColor";
static char __pyx_k__glBufferData[] = "glBufferData";
static char __pyx_k__glClearColor[] = "glClearColor";
static char __pyx_k__glDrawArrays[] = "glDrawArrays";
static char __pyx_k__glGenBuffers[] = "glGenBuffers";
static char __pyx_k__glReadPixels[] = "glReadPixels";
static char __pyx_k__glTexImage2D[] = "glTexImage2D";
static char __pyx_k__glUniform1fv[] = "glUniform1fv";
static char __pyx_k__glUniform1iv[] = "glUniform1iv";
static char __pyx_k__glUniform2fv[] = "glUniform2fv";
static char __pyx_k__glUniform2iv[] = "glUniform2iv";
static char __pyx_k__glUniform3fv[] = "glUniform3fv";
static char __pyx_k__glUniform3iv[] = "glUniform3iv";
static char __pyx_k__glUniform4fv[] = "glUniform4fv";
static char __pyx_k__glUniform4iv[] = "glUniform4iv";
static char __pyx_k__glUseProgram[] = "glUseProgram";
static char __pyx_k__renderbuffer[] = "renderbuffer";
static char __pyx_k__GL_ALPHA_BITS[] = "GL_ALPHA_BITS";
static char __pyx_k__GL_DEPTH_BITS[] = "GL_DEPTH_BITS";
static char __pyx_k__GL_DEPTH_FUNC[] = "GL_DEPTH_FUNC";
static char __pyx_k__GL_DEPTH_TEST[] = "GL_DEPTH_TEST";
static char __pyx_k__GL_EXTENSIONS[] = "GL_EXTENSIONS";
static char __pyx_k__GL_FLOAT_MAT2[] = "GL_FLOAT_MAT2";
static char __pyx_k__GL_FLOAT_MAT3[] = "GL_FLOAT_MAT3";
static char __pyx_k__GL_FLOAT_MAT4[] = "GL_FLOAT_MAT4";
static char __pyx_k__GL_FLOAT_VEC2[] = "GL_FLOAT_VEC2";
static char __pyx_k__GL_FLOAT_VEC3[] = "GL_FLOAT_VEC3";
static char __pyx_k__GL_FLOAT_VEC4[] = "GL_FLOAT_VEC4";
static char __pyx_k__GL_FRONT_FACE[] = "GL_FRONT_FACE";
static char __pyx_k__GL_GREEN_BITS[] = "GL_GREEN_BITS";
static char __pyx_k__GL_HIGH_FLOAT[] = "GL_HIGH_FLOAT";
static char __pyx_k__GL_LINE_STRIP[] = "GL_LINE_STRIP";
static char __pyx_k__GL_LINE_WIDTH[] = "GL_LINE_WIDTH";
static char __pyx_k__GL_MEDIUM_INT[] = "GL_MEDIUM_INT";
static char __pyx_k__GL_SAMPLER_2D[] = "GL_SAMPLER_2D";
static char __pyx_k__GL_TEXTURE_2D[] = "GL_TEXTURE_2D";
static char __pyx_k__glBindTexture[] = "glBindTexture";
static char __pyx_k__glClearDepthf[] = "glClearDepthf";
static char __pyx_k__glDepthRangef[] = "glDepthRangef";
static char __pyx_k__glGenTextures[] = "glGenTextures";
static char __pyx_k__glGetBooleanv[] = "glGetBooleanv";
static char __pyx_k__glGetIntegerv[] = "glGetIntegerv";
static char __pyx_k__glGetShaderiv[] = "glGetShaderiv";
static char __pyx_k__glLinkProgram[] = "glLinkProgram";
static char __pyx_k__glPixelStorei[] = "glPixelStorei";
static char __pyx_k__glStencilFunc[] = "glStencilFunc";
static char __pyx_k__glStencilMask[] = "glStencilMask";
static char __pyx_k__precisiontype[] = "precisiontype";
static char __pyx_k__renderbuffers[] = "renderbuffers";
static char __pyx_k__GL_BLEND_COLOR[] = "GL_BLEND_COLOR";
static char __pyx_k__GL_BUFFER_SIZE[] = "GL_BUFFER_SIZE";
static char __pyx_k__GL_DEPTH_RANGE[] = "GL_DEPTH_RANGE";
static char __pyx_k__GL_FRAMEBUFFER[] = "GL_FRAMEBUFFER";
static char __pyx_k__GL_LINK_STATUS[] = "GL_LINK_STATUS";
static char __pyx_k__GL_SCISSOR_BOX[] = "GL_SCISSOR_BOX";
static char __pyx_k__GL_SHADER_TYPE[] = "GL_SHADER_TYPE";
static char __pyx_k__GL_STATIC_DRAW[] = "GL_STATIC_DRAW";
static char __pyx_k__GL_STENCIL_REF[] = "GL_STENCIL_REF";
static char __pyx_k__GL_STREAM_DRAW[] = "GL_STREAM_DRAW";
static char __pyx_k__NotImplemented[] = "NotImplemented";
static char __pyx_k__glAttachShader[] = "glAttachShader";
static char __pyx_k__glClearStencil[] = "glClearStencil";
static char __pyx_k__glCreateShader[] = "glCreateShader";
static char __pyx_k__glDeleteShader[] = "glDeleteShader";
static char __pyx_k__glDetachShader[] = "glDetachShader";
static char __pyx_k__glDrawElements[] = "glDrawElements";
static char __pyx_k__glGetProgramiv[] = "glGetProgramiv";
static char __pyx_k__glGetUniformfv[] = "glGetUniformfv";
static char __pyx_k__glGetUniformiv[] = "glGetUniformiv";
static char __pyx_k__glShaderBinary[] = "glShaderBinary";
static char __pyx_k__glShaderSource[] = "glShaderSource";
static char __pyx_k__internalformat[] = "internalformat";
static char __pyx_k__GL_ARRAY_BUFFER[] = "GL_ARRAY_BUFFER";
static char __pyx_k__GL_BUFFER_USAGE[] = "GL_BUFFER_USAGE";
static char __pyx_k__GL_DYNAMIC_DRAW[] = "GL_DYNAMIC_DRAW";
static char __pyx_k__GL_INVALID_ENUM[] = "GL_INVALID_ENUM";
static char __pyx_k__GL_MEDIUM_FLOAT[] = "GL_MEDIUM_FLOAT";
static char __pyx_k__GL_RENDERBUFFER[] = "GL_RENDERBUFFER";
static char __pyx_k__GL_SAMPLER_CUBE[] = "GL_SAMPLER_CUBE";
static char __pyx_k__GL_SCISSOR_TEST[] = "GL_SCISSOR_TEST";
static char __pyx_k__GL_STENCIL_BITS[] = "GL_STENCIL_BITS";
static char __pyx_k__GL_STENCIL_FAIL[] = "GL_STENCIL_FAIL";
static char __pyx_k__GL_STENCIL_FUNC[] = "GL_STENCIL_FUNC";
static char __pyx_k__GL_STENCIL_TEST[] = "GL_STENCIL_TEST";
static char __pyx_k__GL_TRIANGLE_FAN[] = "GL_TRIANGLE_FAN";
static char __pyx_k__GL_UNSIGNED_INT[] = "GL_UNSIGNED_INT";
static char __pyx_k__glActiveTexture[] = "glActiveTexture";
static char __pyx_k__glBlendEquation[] = "glBlendEquation";
static char __pyx_k__glBufferSubData[] = "glBufferSubData";
static char __pyx_k__glCompileShader[] = "glCompileShader";
static char __pyx_k__glCreateProgram[] = "glCreateProgram";
static char __pyx_k__glDeleteBuffers[] = "glDeleteBuffers";
static char __pyx_k__glDeleteProgram[] = "glDeleteProgram";
static char __pyx_k__glIsFramebuffer[] = "glIsFramebuffer";
static char __pyx_k__glPolygonOffset[] = "glPolygonOffset";
static char __pyx_k__glTexParameterf[] = "glTexParameterf";
static char __pyx_k__glTexParameteri[] = "glTexParameteri";
static char __pyx_k__glTexSubImage2D[] = "glTexSubImage2D";
static char __pyx_k__gl_init_symbols[] = "gl_init_symbols";
static char __pyx_k__GL_BLEND_DST_RGB[] = "GL_BLEND_DST_RGB";
static char __pyx_k__GL_BLEND_SRC_RGB[] = "GL_BLEND_SRC_RGB";
static char __pyx_k__GL_CLAMP_TO_EDGE[] = "GL_CLAMP_TO_EDGE";
static char __pyx_k__GL_DELETE_STATUS[] = "GL_DELETE_STATUS";
static char __pyx_k__GL_FUNC_SUBTRACT[] = "GL_FUNC_SUBTRACT";
static char __pyx_k__GL_INVALID_VALUE[] = "GL_INVALID_VALUE";
static char __pyx_k__GL_OUT_OF_MEMORY[] = "GL_OUT_OF_MEMORY";
static char __pyx_k__GL_STENCIL_INDEX[] = "GL_STENCIL_INDEX";
static char __pyx_k__GL_SUBPIXEL_BITS[] = "GL_SUBPIXEL_BITS";
static char __pyx_k__GL_UNSIGNED_BYTE[] = "GL_UNSIGNED_BYTE";
static char __pyx_k__GL_VERTEX_SHADER[] = "GL_VERTEX_SHADER";
static char __pyx_k__glCopyTexImage2D[] = "glCopyTexImage2D";
static char __pyx_k__glDeleteTextures[] = "glDeleteTextures";
static char __pyx_k__glGenerateMipmap[] = "glGenerateMipmap";
static char __pyx_k__glIsRenderbuffer[] = "glIsRenderbuffer";
static char __pyx_k__glSampleCoverage[] = "glSampleCoverage";
static char __pyx_k__glTexParameterfv[] = "glTexParameterfv";
static char __pyx_k__glTexParameteriv[] = "glTexParameteriv";
static char __pyx_k__glVertexAttrib1f[] = "glVertexAttrib1f";
static char __pyx_k__glVertexAttrib2f[] = "glVertexAttrib2f";
static char __pyx_k__glVertexAttrib3f[] = "glVertexAttrib3f";
static char __pyx_k__glVertexAttrib4f[] = "glVertexAttrib4f";
static char __pyx_k__GL_ACTIVE_TEXTURE[] = "GL_ACTIVE_TEXTURE";
static char __pyx_k__GL_BLEND_EQUATION[] = "GL_BLEND_EQUATION";
static char __pyx_k__GL_COMPILE_STATUS[] = "GL_COMPILE_STATUS";
static char __pyx_k__GL_CULL_FACE_MODE[] = "GL_CULL_FACE_MODE";
static char __pyx_k__GL_FRONT_AND_BACK[] = "GL_FRONT_AND_BACK";
static char __pyx_k__GL_PACK_ALIGNMENT[] = "GL_PACK_ALIGNMENT";
static char __pyx_k__GL_SAMPLE_BUFFERS[] = "GL_SAMPLE_BUFFERS";
static char __pyx_k__GL_STENCIL_INDEX8[] = "GL_STENCIL_INDEX8";
static char __pyx_k__GL_TEXTURE_WRAP_S[] = "GL_TEXTURE_WRAP_S";
static char __pyx_k__GL_TEXTURE_WRAP_T[] = "GL_TEXTURE_WRAP_T";
static char __pyx_k__GL_TRIANGLE_STRIP[] = "GL_TRIANGLE_STRIP";
static char __pyx_k__GL_UNSIGNED_SHORT[] = "GL_UNSIGNED_SHORT";
static char __pyx_k__glBindFramebuffer[] = "glBindFramebuffer";
static char __pyx_k__glGenFramebuffers[] = "glGenFramebuffers";
static char __pyx_k__glGetActiveAttrib[] = "glGetActiveAttrib";
static char __pyx_k__glGetShaderSource[] = "glGetShaderSource";
static char __pyx_k__glValidateProgram[] = "glValidateProgram";
static char __pyx_k__glVertexAttrib1fv[] = "glVertexAttrib1fv";
static char __pyx_k__glVertexAttrib2fv[] = "glVertexAttrib2fv";
static char __pyx_k__glVertexAttrib3fv[] = "glVertexAttrib3fv";
static char __pyx_k__glVertexAttrib4fv[] = "glVertexAttrib4fv";
static char __pyx_k__GL_ACTIVE_UNIFORMS[] = "GL_ACTIVE_UNIFORMS";
static char __pyx_k__GL_BLEND_DST_ALPHA[] = "GL_BLEND_DST_ALPHA";
static char __pyx_k__GL_BLEND_SRC_ALPHA[] = "GL_BLEND_SRC_ALPHA";
static char __pyx_k__GL_COLOR_WRITEMASK[] = "GL_COLOR_WRITEMASK";
static char __pyx_k__GL_CURRENT_PROGRAM[] = "GL_CURRENT_PROGRAM";
static char __pyx_k__GL_DEPTH_COMPONENT[] = "GL_DEPTH_COMPONENT";
static char __pyx_k__GL_DEPTH_WRITEMASK[] = "GL_DEPTH_WRITEMASK";
static char __pyx_k__GL_FRAGMENT_SHADER[] = "GL_FRAGMENT_SHADER";
static char __pyx_k__GL_INFO_LOG_LENGTH[] = "GL_INFO_LOG_LENGTH";
static char __pyx_k__GL_LUMINANCE_ALPHA[] = "GL_LUMINANCE_ALPHA";
static char __pyx_k__GL_MIRRORED_REPEAT[] = "GL_MIRRORED_REPEAT";
static char __pyx_k__GL_SAMPLE_COVERAGE[] = "GL_SAMPLE_COVERAGE";
static char __pyx_k__GL_SHADER_COMPILER[] = "GL_SHADER_COMPILER";
static char __pyx_k__GL_VALIDATE_STATUS[] = "GL_VALIDATE_STATUS";
static char __pyx_k__glBindRenderbuffer[] = "glBindRenderbuffer";
static char __pyx_k__glGenRenderbuffers[] = "glGenRenderbuffers";
static char __pyx_k__glGetActiveUniform[] = "glGetActiveUniform";
static char __pyx_k__glGetShaderInfoLog[] = "glGetShaderInfoLog";
static char __pyx_k__glUniformMatrix2fv[] = "glUniformMatrix2fv";
static char __pyx_k__glUniformMatrix3fv[] = "glUniformMatrix3fv";
static char __pyx_k__glUniformMatrix4fv[] = "glUniformMatrix4fv";
static char __pyx_k__renderbuffertarget[] = "renderbuffertarget";
static char __pyx_k__GL_ATTACHED_SHADERS[] = "GL_ATTACHED_SHADERS";
static char __pyx_k__GL_COLOR_BUFFER_BIT[] = "GL_COLOR_BUFFER_BIT";
static char __pyx_k__GL_DEPTH_ATTACHMENT[] = "GL_DEPTH_ATTACHMENT";
static char __pyx_k__GL_DEPTH_BUFFER_BIT[] = "GL_DEPTH_BUFFER_BIT";
static char __pyx_k__GL_MAX_TEXTURE_SIZE[] = "GL_MAX_TEXTURE_SIZE";
static char __pyx_k__GL_STENCIL_BACK_REF[] = "GL_STENCIL_BACK_REF";
static char __pyx_k__GL_TEXTURE_CUBE_MAP[] = "GL_TEXTURE_CUBE_MAP";
static char __pyx_k__GL_UNPACK_ALIGNMENT[] = "GL_UNPACK_ALIGNMENT";
static char __pyx_k__glBlendFuncSeparate[] = "glBlendFuncSeparate";
static char __pyx_k__glCopyTexSubImage2D[] = "glCopyTexSubImage2D";
static char __pyx_k__glGetAttribLocation[] = "glGetAttribLocation";
static char __pyx_k__glGetProgramInfoLog[] = "glGetProgramInfoLog";
static char __pyx_k__glGetTexParameterfv[] = "glGetTexParameterfv";
static char __pyx_k__glGetTexParameteriv[] = "glGetTexParameteriv";
static char __pyx_k__glGetVertexAttribfv[] = "glGetVertexAttribfv";
static char __pyx_k__glGetVertexAttribiv[] = "glGetVertexAttribiv";
static char __pyx_k__glStencilOpSeparate[] = "glStencilOpSeparate";
static PyObject *__pyx_n_s_1;
static PyObject *__pyx_n_s_10;
static PyObject *__pyx_n_s_100;
static PyObject *__pyx_n_s_101;
static PyObject *__pyx_n_s_102;
static PyObject *__pyx_n_s_103;
static PyObject *__pyx_n_s_104;
static PyObject *__pyx_n_s_105;
static PyObject *__pyx_n_s_106;
static PyObject *__pyx_n_s_107;
static PyObject *__pyx_n_s_108;
static PyObject *__pyx_n_s_109;
static PyObject *__pyx_n_s_11;
static PyObject *__pyx_n_s_110;
static PyObject *__pyx_n_s_111;
static PyObject *__pyx_n_s_112;
static PyObject *__pyx_n_s_113;
static PyObject *__pyx_n_s_114;
static PyObject *__pyx_n_s_115;
static PyObject *__pyx_n_s_116;
static PyObject *__pyx_n_s_117;
static PyObject *__pyx_n_s_118;
static PyObject *__pyx_n_s_119;
static PyObject *__pyx_n_s_12;
static PyObject *__pyx_n_s_120;
static PyObject *__pyx_n_s_121;
static PyObject *__pyx_n_s_122;
static PyObject *__pyx_n_s_123;
static PyObject *__pyx_n_s_124;
static PyObject *__pyx_n_s_125;
static PyObject *__pyx_n_s_126;
static PyObject *__pyx_n_s_127;
static PyObject *__pyx_n_s_128;
static PyObject *__pyx_n_s_129;
static PyObject *__pyx_n_s_13;
static PyObject *__pyx_n_s_130;
static PyObject *__pyx_n_s_131;
static PyObject *__pyx_n_s_14;
static PyObject *__pyx_n_s_15;
static PyObject *__pyx_n_s_16;
static PyObject *__pyx_n_s_17;
static PyObject *__pyx_n_s_18;
static PyObject *__pyx_n_s_19;
static PyObject *__pyx_n_s_20;
static PyObject *__pyx_n_s_21;
static PyObject *__pyx_n_s_22;
static PyObject *__pyx_n_s_23;
static PyObject *__pyx_n_s_24;
static PyObject *__pyx_n_s_25;
static PyObject *__pyx_n_s_26;
static PyObject *__pyx_n_s_27;
static PyObject *__pyx_n_s_28;
static PyObject *__pyx_n_s_29;
static PyObject *__pyx_n_s_3;
static PyObject *__pyx_n_s_30;
static PyObject *__pyx_n_s_31;
static PyObject *__pyx_n_s_32;
static PyObject *__pyx_n_s_33;
static PyObject *__pyx_n_s_34;
static PyObject *__pyx_n_s_35;
static PyObject *__pyx_n_s_36;
static PyObject *__pyx_n_s_37;
static PyObject *__pyx_n_s_38;
static PyObject *__pyx_n_s_39;
static PyObject *__pyx_n_s_4;
static PyObject *__pyx_n_s_40;
static PyObject *__pyx_n_s_41;
static PyObject *__pyx_n_s_42;
static PyObject *__pyx_n_s_43;
static PyObject *__pyx_n_s_44;
static PyObject *__pyx_n_s_45;
static PyObject *__pyx_n_s_46;
static PyObject *__pyx_n_s_47;
static PyObject *__pyx_n_s_48;
static PyObject *__pyx_n_s_49;
static PyObject *__pyx_n_s_5;
static PyObject *__pyx_n_s_50;
static PyObject *__pyx_n_s_51;
static PyObject *__pyx_n_s_52;
static PyObject *__pyx_n_s_53;
static PyObject *__pyx_n_s_54;
static PyObject *__pyx_n_s_55;
static PyObject *__pyx_n_s_56;
static PyObject *__pyx_n_s_57;
static PyObject *__pyx_n_s_58;
static PyObject *__pyx_n_s_59;
static PyObject *__pyx_n_s_6;
static PyObject *__pyx_n_s_60;
static PyObject *__pyx_n_s_61;
static PyObject *__pyx_n_s_62;
static PyObject *__pyx_n_s_63;
static PyObject *__pyx_n_s_64;
static PyObject *__pyx_n_s_65;
static PyObject *__pyx_n_s_66;
static PyObject *__pyx_n_s_67;
static PyObject *__pyx_n_s_68;
static PyObject *__pyx_n_s_69;
static PyObject *__pyx_n_s_7;
static PyObject *__pyx_n_s_70;
static PyObject *__pyx_n_s_71;
static PyObject *__pyx_n_s_72;
static PyObject *__pyx_n_s_73;
static PyObject *__pyx_n_s_74;
static PyObject *__pyx_n_s_75;
static PyObject *__pyx_n_s_76;
static PyObject *__pyx_n_s_77;
static PyObject *__pyx_n_s_78;
static PyObject *__pyx_n_s_79;
static PyObject *__pyx_n_s_8;
static PyObject *__pyx_n_s_80;
static PyObject *__pyx_n_s_81;
static PyObject *__pyx_n_s_82;
static PyObject *__pyx_n_s_83;
static PyObject *__pyx_n_s_84;
static PyObject *__pyx_n_s_85;
static PyObject *__pyx_n_s_86;
static PyObject *__pyx_n_s_87;
static PyObject *__pyx_n_s_88;
static PyObject *__pyx_n_s_89;
static PyObject *__pyx_n_s_9;
static PyObject *__pyx_n_s_90;
static PyObject *__pyx_n_s_91;
static PyObject *__pyx_n_s_92;
static PyObject *__pyx_n_s_93;
static PyObject *__pyx_n_s_94;
static PyObject *__pyx_n_s_95;
static PyObject *__pyx_n_s_96;
static PyObject *__pyx_n_s_97;
static PyObject *__pyx_n_s_98;
static PyObject *__pyx_n_s_99;
static PyObject *__pyx_n_s__GL_ACTIVE_TEXTURE;
static PyObject *__pyx_n_s__GL_ACTIVE_UNIFORMS;
static PyObject *__pyx_n_s__GL_ALPHA;
static PyObject *__pyx_n_s__GL_ALPHA_BITS;
static PyObject *__pyx_n_s__GL_ALWAYS;
static PyObject *__pyx_n_s__GL_ARRAY_BUFFER;
static PyObject *__pyx_n_s__GL_ATTACHED_SHADERS;
static PyObject *__pyx_n_s__GL_BACK;
static PyObject *__pyx_n_s__GL_BLEND;
static PyObject *__pyx_n_s__GL_BLEND_COLOR;
static PyObject *__pyx_n_s__GL_BLEND_DST_ALPHA;
static PyObject *__pyx_n_s__GL_BLEND_DST_RGB;
static PyObject *__pyx_n_s__GL_BLEND_EQUATION;
static PyObject *__pyx_n_s__GL_BLEND_SRC_ALPHA;
static PyObject *__pyx_n_s__GL_BLEND_SRC_RGB;
static PyObject *__pyx_n_s__GL_BLUE_BITS;
static PyObject *__pyx_n_s__GL_BOOL;
static PyObject *__pyx_n_s__GL_BOOL_VEC2;
static PyObject *__pyx_n_s__GL_BOOL_VEC3;
static PyObject *__pyx_n_s__GL_BOOL_VEC4;
static PyObject *__pyx_n_s__GL_BUFFER_SIZE;
static PyObject *__pyx_n_s__GL_BUFFER_USAGE;
static PyObject *__pyx_n_s__GL_BYTE;
static PyObject *__pyx_n_s__GL_CCW;
static PyObject *__pyx_n_s__GL_CLAMP_TO_EDGE;
static PyObject *__pyx_n_s__GL_COLOR_BUFFER_BIT;
static PyObject *__pyx_n_s__GL_COLOR_WRITEMASK;
static PyObject *__pyx_n_s__GL_COMPILE_STATUS;
static PyObject *__pyx_n_s__GL_CULL_FACE;
static PyObject *__pyx_n_s__GL_CULL_FACE_MODE;
static PyObject *__pyx_n_s__GL_CURRENT_PROGRAM;
static PyObject *__pyx_n_s__GL_CW;
static PyObject *__pyx_n_s__GL_DECR;
static PyObject *__pyx_n_s__GL_DECR_WRAP;
static PyObject *__pyx_n_s__GL_DELETE_STATUS;
static PyObject *__pyx_n_s__GL_DEPTH_ATTACHMENT;
static PyObject *__pyx_n_s__GL_DEPTH_BITS;
static PyObject *__pyx_n_s__GL_DEPTH_BUFFER_BIT;
static PyObject *__pyx_n_s__GL_DEPTH_COMPONENT;
static PyObject *__pyx_n_s__GL_DEPTH_FUNC;
static PyObject *__pyx_n_s__GL_DEPTH_RANGE;
static PyObject *__pyx_n_s__GL_DEPTH_TEST;
static PyObject *__pyx_n_s__GL_DEPTH_WRITEMASK;
static PyObject *__pyx_n_s__GL_DITHER;
static PyObject *__pyx_n_s__GL_DONT_CARE;
static PyObject *__pyx_n_s__GL_DST_ALPHA;
static PyObject *__pyx_n_s__GL_DST_COLOR;
static PyObject *__pyx_n_s__GL_DYNAMIC_DRAW;
static PyObject *__pyx_n_s__GL_EQUAL;
static PyObject *__pyx_n_s__GL_EXTENSIONS;
static PyObject *__pyx_n_s__GL_FALSE;
static PyObject *__pyx_n_s__GL_FASTEST;
static PyObject *__pyx_n_s__GL_FIXED;
static PyObject *__pyx_n_s__GL_FLOAT;
static PyObject *__pyx_n_s__GL_FLOAT_MAT2;
static PyObject *__pyx_n_s__GL_FLOAT_MAT3;
static PyObject *__pyx_n_s__GL_FLOAT_MAT4;
static PyObject *__pyx_n_s__GL_FLOAT_VEC2;
static PyObject *__pyx_n_s__GL_FLOAT_VEC3;
static PyObject *__pyx_n_s__GL_FLOAT_VEC4;
static PyObject *__pyx_n_s__GL_FRAGMENT_SHADER;
static PyObject *__pyx_n_s__GL_FRAMEBUFFER;
static PyObject *__pyx_n_s__GL_FRONT;
static PyObject *__pyx_n_s__GL_FRONT_AND_BACK;
static PyObject *__pyx_n_s__GL_FRONT_FACE;
static PyObject *__pyx_n_s__GL_FUNC_ADD;
static PyObject *__pyx_n_s__GL_FUNC_SUBTRACT;
static PyObject *__pyx_n_s__GL_GEQUAL;
static PyObject *__pyx_n_s__GL_GREATER;
static PyObject *__pyx_n_s__GL_GREEN_BITS;
static PyObject *__pyx_n_s__GL_HIGH_FLOAT;
static PyObject *__pyx_n_s__GL_HIGH_INT;
static PyObject *__pyx_n_s__GL_INCR;
static PyObject *__pyx_n_s__GL_INCR_WRAP;
static PyObject *__pyx_n_s__GL_INFO_LOG_LENGTH;
static PyObject *__pyx_n_s__GL_INT;
static PyObject *__pyx_n_s__GL_INT_VEC2;
static PyObject *__pyx_n_s__GL_INT_VEC3;
static PyObject *__pyx_n_s__GL_INT_VEC4;
static PyObject *__pyx_n_s__GL_INVALID_ENUM;
static PyObject *__pyx_n_s__GL_INVALID_VALUE;
static PyObject *__pyx_n_s__GL_INVERT;
static PyObject *__pyx_n_s__GL_KEEP;
static PyObject *__pyx_n_s__GL_LEQUAL;
static PyObject *__pyx_n_s__GL_LESS;
static PyObject *__pyx_n_s__GL_LINEAR;
static PyObject *__pyx_n_s__GL_LINES;
static PyObject *__pyx_n_s__GL_LINE_LOOP;
static PyObject *__pyx_n_s__GL_LINE_STRIP;
static PyObject *__pyx_n_s__GL_LINE_WIDTH;
static PyObject *__pyx_n_s__GL_LINK_STATUS;
static PyObject *__pyx_n_s__GL_LOW_FLOAT;
static PyObject *__pyx_n_s__GL_LOW_INT;
static PyObject *__pyx_n_s__GL_LUMINANCE;
static PyObject *__pyx_n_s__GL_LUMINANCE_ALPHA;
static PyObject *__pyx_n_s__GL_MAX_TEXTURE_SIZE;
static PyObject *__pyx_n_s__GL_MEDIUM_FLOAT;
static PyObject *__pyx_n_s__GL_MEDIUM_INT;
static PyObject *__pyx_n_s__GL_MIRRORED_REPEAT;
static PyObject *__pyx_n_s__GL_NEAREST;
static PyObject *__pyx_n_s__GL_NEVER;
static PyObject *__pyx_n_s__GL_NICEST;
static PyObject *__pyx_n_s__GL_NONE;
static PyObject *__pyx_n_s__GL_NOTEQUAL;
static PyObject *__pyx_n_s__GL_NO_ERROR;
static PyObject *__pyx_n_s__GL_ONE;
static PyObject *__pyx_n_s__GL_OUT_OF_MEMORY;
static PyObject *__pyx_n_s__GL_PACK_ALIGNMENT;
static PyObject *__pyx_n_s__GL_POINTS;
static PyObject *__pyx_n_s__GL_RED_BITS;
static PyObject *__pyx_n_s__GL_RENDERBUFFER;
static PyObject *__pyx_n_s__GL_RENDERER;
static PyObject *__pyx_n_s__GL_REPEAT;
static PyObject *__pyx_n_s__GL_REPLACE;
static PyObject *__pyx_n_s__GL_RGB;
static PyObject *__pyx_n_s__GL_RGB565;
static PyObject *__pyx_n_s__GL_RGB5_A1;
static PyObject *__pyx_n_s__GL_RGBA;
static PyObject *__pyx_n_s__GL_RGBA4;
static PyObject *__pyx_n_s__GL_SAMPLER_2D;
static PyObject *__pyx_n_s__GL_SAMPLER_CUBE;
static PyObject *__pyx_n_s__GL_SAMPLES;
static PyObject *__pyx_n_s__GL_SAMPLE_BUFFERS;
static PyObject *__pyx_n_s__GL_SAMPLE_COVERAGE;
static PyObject *__pyx_n_s__GL_SCISSOR_BOX;
static PyObject *__pyx_n_s__GL_SCISSOR_TEST;
static PyObject *__pyx_n_s__GL_SHADER_COMPILER;
static PyObject *__pyx_n_s__GL_SHADER_TYPE;
static PyObject *__pyx_n_s__GL_SHORT;
static PyObject *__pyx_n_s__GL_SRC_ALPHA;
static PyObject *__pyx_n_s__GL_SRC_COLOR;
static PyObject *__pyx_n_s__GL_STATIC_DRAW;
static PyObject *__pyx_n_s__GL_STENCIL_BACK_REF;
static PyObject *__pyx_n_s__GL_STENCIL_BITS;
static PyObject *__pyx_n_s__GL_STENCIL_FAIL;
static PyObject *__pyx_n_s__GL_STENCIL_FUNC;
static PyObject *__pyx_n_s__GL_STENCIL_INDEX;
static PyObject *__pyx_n_s__GL_STENCIL_INDEX8;
static PyObject *__pyx_n_s__GL_STENCIL_REF;
static PyObject *__pyx_n_s__GL_STENCIL_TEST;
static PyObject *__pyx_n_s__GL_STREAM_DRAW;
static PyObject *__pyx_n_s__GL_SUBPIXEL_BITS;
static PyObject *__pyx_n_s__GL_TEXTURE;
static PyObject *__pyx_n_s__GL_TEXTURE0;
static PyObject *__pyx_n_s__GL_TEXTURE1;
static PyObject *__pyx_n_s__GL_TEXTURE10;
static PyObject *__pyx_n_s__GL_TEXTURE11;
static PyObject *__pyx_n_s__GL_TEXTURE12;
static PyObject *__pyx_n_s__GL_TEXTURE13;
static PyObject *__pyx_n_s__GL_TEXTURE14;
static PyObject *__pyx_n_s__GL_TEXTURE15;
static PyObject *__pyx_n_s__GL_TEXTURE16;
static PyObject *__pyx_n_s__GL_TEXTURE17;
static PyObject *__pyx_n_s__GL_TEXTURE18;
static PyObject *__pyx_n_s__GL_TEXTURE19;
static PyObject *__pyx_n_s__GL_TEXTURE2;
static PyObject *__pyx_n_s__GL_TEXTURE20;
static PyObject *__pyx_n_s__GL_TEXTURE21;
static PyObject *__pyx_n_s__GL_TEXTURE22;
static PyObject *__pyx_n_s__GL_TEXTURE23;
static PyObject *__pyx_n_s__GL_TEXTURE24;
static PyObject *__pyx_n_s__GL_TEXTURE25;
static PyObject *__pyx_n_s__GL_TEXTURE26;
static PyObject *__pyx_n_s__GL_TEXTURE27;
static PyObject *__pyx_n_s__GL_TEXTURE28;
static PyObject *__pyx_n_s__GL_TEXTURE29;
static PyObject *__pyx_n_s__GL_TEXTURE3;
static PyObject *__pyx_n_s__GL_TEXTURE30;
static PyObject *__pyx_n_s__GL_TEXTURE31;
static PyObject *__pyx_n_s__GL_TEXTURE4;
static PyObject *__pyx_n_s__GL_TEXTURE5;
static PyObject *__pyx_n_s__GL_TEXTURE6;
static PyObject *__pyx_n_s__GL_TEXTURE7;
static PyObject *__pyx_n_s__GL_TEXTURE8;
static PyObject *__pyx_n_s__GL_TEXTURE9;
static PyObject *__pyx_n_s__GL_TEXTURE_2D;
static PyObject *__pyx_n_s__GL_TEXTURE_CUBE_MAP;
static PyObject *__pyx_n_s__GL_TEXTURE_WRAP_S;
static PyObject *__pyx_n_s__GL_TEXTURE_WRAP_T;
static PyObject *__pyx_n_s__GL_TRIANGLES;
static PyObject *__pyx_n_s__GL_TRIANGLE_FAN;
static PyObject *__pyx_n_s__GL_TRIANGLE_STRIP;
static PyObject *__pyx_n_s__GL_TRUE;
static PyObject *__pyx_n_s__GL_UNPACK_ALIGNMENT;
static PyObject *__pyx_n_s__GL_UNSIGNED_BYTE;
static PyObject *__pyx_n_s__GL_UNSIGNED_INT;
static PyObject *__pyx_n_s__GL_UNSIGNED_SHORT;
static PyObject *__pyx_n_s__GL_VALIDATE_STATUS;
static PyObject *__pyx_n_s__GL_VENDOR;
static PyObject *__pyx_n_s__GL_VERSION;
static PyObject *__pyx_n_s__GL_VERTEX_SHADER;
static PyObject *__pyx_n_s__GL_VIEWPORT;
static PyObject *__pyx_n_s__GL_ZERO;
static PyObject *__pyx_n_s__MemoryError;
static PyObject *__pyx_n_s__NotImplemented;
static PyObject *__pyx_n_s___GL_GET_SIZE;
static PyObject *__pyx_n_s____main__;
static PyObject *__pyx_n_s____test__;
static PyObject *__pyx_n_s__alpha;
static PyObject *__pyx_n_s__append;
static PyObject *__pyx_n_s__attachment;
static PyObject *__pyx_n_s__blue;
static PyObject *__pyx_n_s__border;
static PyObject *__pyx_n_s__buffer;
static PyObject *__pyx_n_s__buffers;
static PyObject *__pyx_n_s__bufsize;
static PyObject *__pyx_n_s__c_opengl;
static PyObject *__pyx_n_s__count;
static PyObject *__pyx_n_s__data;
static PyObject *__pyx_n_s__dfactor;
static PyObject *__pyx_n_s__dstAlpha;
static PyObject *__pyx_n_s__dstRGB;
static PyObject *__pyx_n_s__face;
static PyObject *__pyx_n_s__factor;
static PyObject *__pyx_n_s__fail;
static PyObject *__pyx_n_s__first;
static PyObject *__pyx_n_s__format;
static PyObject *__pyx_n_s__framebuffer;
static PyObject *__pyx_n_s__framebuffers;
static PyObject *__pyx_n_s__func;
static PyObject *__pyx_n_s__glActiveTexture;
static PyObject *__pyx_n_s__glAttachShader;
static PyObject *__pyx_n_s__glBindBuffer;
static PyObject *__pyx_n_s__glBindFramebuffer;
static PyObject *__pyx_n_s__glBindRenderbuffer;
static PyObject *__pyx_n_s__glBindTexture;
static PyObject *__pyx_n_s__glBlendColor;
static PyObject *__pyx_n_s__glBlendEquation;
static PyObject *__pyx_n_s__glBlendFunc;
static PyObject *__pyx_n_s__glBlendFuncSeparate;
static PyObject *__pyx_n_s__glBufferData;
static PyObject *__pyx_n_s__glBufferSubData;
static PyObject *__pyx_n_s__glClear;
static PyObject *__pyx_n_s__glClearColor;
static PyObject *__pyx_n_s__glClearDepthf;
static PyObject *__pyx_n_s__glClearStencil;
static PyObject *__pyx_n_s__glColorMask;
static PyObject *__pyx_n_s__glCompileShader;
static PyObject *__pyx_n_s__glCopyTexImage2D;
static PyObject *__pyx_n_s__glCopyTexSubImage2D;
static PyObject *__pyx_n_s__glCreateProgram;
static PyObject *__pyx_n_s__glCreateShader;
static PyObject *__pyx_n_s__glCullFace;
static PyObject *__pyx_n_s__glDeleteBuffers;
static PyObject *__pyx_n_s__glDeleteProgram;
static PyObject *__pyx_n_s__glDeleteShader;
static PyObject *__pyx_n_s__glDeleteTextures;
static PyObject *__pyx_n_s__glDepthFunc;
static PyObject *__pyx_n_s__glDepthMask;
static PyObject *__pyx_n_s__glDepthRangef;
static PyObject *__pyx_n_s__glDetachShader;
static PyObject *__pyx_n_s__glDisable;
static PyObject *__pyx_n_s__glDrawArrays;
static PyObject *__pyx_n_s__glDrawElements;
static PyObject *__pyx_n_s__glEnable;
static PyObject *__pyx_n_s__glFinish;
static PyObject *__pyx_n_s__glFlush;
static PyObject *__pyx_n_s__glFrontFace;
static PyObject *__pyx_n_s__glGenBuffers;
static PyObject *__pyx_n_s__glGenFramebuffers;
static PyObject *__pyx_n_s__glGenRenderbuffers;
static PyObject *__pyx_n_s__glGenTextures;
static PyObject *__pyx_n_s__glGenerateMipmap;
static PyObject *__pyx_n_s__glGetActiveAttrib;
static PyObject *__pyx_n_s__glGetActiveUniform;
static PyObject *__pyx_n_s__glGetAttribLocation;
static PyObject *__pyx_n_s__glGetBooleanv;
static PyObject *__pyx_n_s__glGetError;
static PyObject *__pyx_n_s__glGetFloatv;
static PyObject *__pyx_n_s__glGetIntegerv;
static PyObject *__pyx_n_s__glGetProgramInfoLog;
static PyObject *__pyx_n_s__glGetProgramiv;
static PyObject *__pyx_n_s__glGetShaderInfoLog;
static PyObject *__pyx_n_s__glGetShaderSource;
static PyObject *__pyx_n_s__glGetShaderiv;
static PyObject *__pyx_n_s__glGetString;
static PyObject *__pyx_n_s__glGetTexParameterfv;
static PyObject *__pyx_n_s__glGetTexParameteriv;
static PyObject *__pyx_n_s__glGetUniformfv;
static PyObject *__pyx_n_s__glGetUniformiv;
static PyObject *__pyx_n_s__glGetVertexAttribfv;
static PyObject *__pyx_n_s__glGetVertexAttribiv;
static PyObject *__pyx_n_s__glHint;
static PyObject *__pyx_n_s__glIsBuffer;
static PyObject *__pyx_n_s__glIsEnabled;
static PyObject *__pyx_n_s__glIsFramebuffer;
static PyObject *__pyx_n_s__glIsProgram;
static PyObject *__pyx_n_s__glIsRenderbuffer;
static PyObject *__pyx_n_s__glIsShader;
static PyObject *__pyx_n_s__glIsTexture;
static PyObject *__pyx_n_s__glLineWidth;
static PyObject *__pyx_n_s__glLinkProgram;
static PyObject *__pyx_n_s__glPixelStorei;
static PyObject *__pyx_n_s__glPolygonOffset;
static PyObject *__pyx_n_s__glReadPixels;
static PyObject *__pyx_n_s__glSampleCoverage;
static PyObject *__pyx_n_s__glScissor;
static PyObject *__pyx_n_s__glShaderBinary;
static PyObject *__pyx_n_s__glShaderSource;
static PyObject *__pyx_n_s__glStencilFunc;
static PyObject *__pyx_n_s__glStencilMask;
static PyObject *__pyx_n_s__glStencilOp;
static PyObject *__pyx_n_s__glStencilOpSeparate;
static PyObject *__pyx_n_s__glTexImage2D;
static PyObject *__pyx_n_s__glTexParameterf;
static PyObject *__pyx_n_s__glTexParameterfv;
static PyObject *__pyx_n_s__glTexParameteri;
static PyObject *__pyx_n_s__glTexParameteriv;
static PyObject *__pyx_n_s__glTexSubImage2D;
static PyObject *__pyx_n_s__glUniform1f;
static PyObject *__pyx_n_s__glUniform1fv;
static PyObject *__pyx_n_s__glUniform1i;
static PyObject *__pyx_n_s__glUniform1iv;
static PyObject *__pyx_n_s__glUniform2f;
static PyObject *__pyx_n_s__glUniform2fv;
static PyObject *__pyx_n_s__glUniform2i;
static PyObject *__pyx_n_s__glUniform2iv;
static PyObject *__pyx_n_s__glUniform3f;
static PyObject *__pyx_n_s__glUniform3fv;
static PyObject *__pyx_n_s__glUniform3i;
static PyObject *__pyx_n_s__glUniform3iv;
static PyObject *__pyx_n_s__glUniform4f;
static PyObject *__pyx_n_s__glUniform4fv;
static PyObject *__pyx_n_s__glUniform4i;
static PyObject *__pyx_n_s__glUniform4iv;
static PyObject *__pyx_n_s__glUniformMatrix2fv;
static PyObject *__pyx_n_s__glUniformMatrix3fv;
static PyObject *__pyx_n_s__glUniformMatrix4fv;
static PyObject *__pyx_n_s__glUseProgram;
static PyObject *__pyx_n_s__glValidateProgram;
static PyObject *__pyx_n_s__glVertexAttrib1f;
static PyObject *__pyx_n_s__glVertexAttrib1fv;
static PyObject *__pyx_n_s__glVertexAttrib2f;
static PyObject *__pyx_n_s__glVertexAttrib2fv;
static PyObject *__pyx_n_s__glVertexAttrib3f;
static PyObject *__pyx_n_s__glVertexAttrib3fv;
static PyObject *__pyx_n_s__glVertexAttrib4f;
static PyObject *__pyx_n_s__glVertexAttrib4fv;
static PyObject *__pyx_n_s__glViewport;
static PyObject *__pyx_n_s__gl_init_symbols;
static PyObject *__pyx_n_s__green;
static PyObject *__pyx_n_s__height;
static PyObject *__pyx_n_s__imageSize;
static PyObject *__pyx_n_s__index;
static PyObject *__pyx_n_s__indices;
static PyObject *__pyx_n_s__indx;
static PyObject *__pyx_n_s__internalformat;
static PyObject *__pyx_n_s__invert;
static PyObject *__pyx_n_s__level;
static PyObject *__pyx_n_s__location;
static PyObject *__pyx_n_s__mask;
static PyObject *__pyx_n_s__maxcount;
static PyObject *__pyx_n_s__mode;
static PyObject *__pyx_n_s__modeAlpha;
static PyObject *__pyx_n_s__modeRGB;
static PyObject *__pyx_n_s__n;
static PyObject *__pyx_n_s__name;
static PyObject *__pyx_n_s__offset;
static PyObject *__pyx_n_s__param;
static PyObject *__pyx_n_s__pixels;
static PyObject *__pyx_n_s__pname;
static PyObject *__pyx_n_s__precisiontype;
static PyObject *__pyx_n_s__program;
static PyObject *__pyx_n_s__range;
static PyObject *__pyx_n_s__red;
static PyObject *__pyx_n_s__ref;
static PyObject *__pyx_n_s__renderbuffer;
static PyObject *__pyx_n_s__renderbuffers;
static PyObject *__pyx_n_s__renderbuffertarget;
static PyObject *__pyx_n_s__sfactor;
static PyObject *__pyx_n_s__shader;
static PyObject *__pyx_n_s__shadertype;
static PyObject *__pyx_n_s__size;
static PyObject *__pyx_n_s__source;
static PyObject *__pyx_n_s__srcAlpha;
static PyObject *__pyx_n_s__srcRGB;
static PyObject *__pyx_n_s__target;
static PyObject *__pyx_n_s__textarget;
static PyObject *__pyx_n_s__texture;
static PyObject *__pyx_n_s__textures;
static PyObject *__pyx_n_s__type;
static PyObject *__pyx_n_s__units;
static PyObject *__pyx_n_s__usage;
static PyObject *__pyx_n_s__value;
static PyObject *__pyx_n_s__values;
static PyObject *__pyx_n_s__w;
static PyObject *__pyx_n_s__width;
static PyObject *__pyx_n_s__x;
static PyObject *__pyx_n_s__xoffset;
static PyObject *__pyx_n_s__xrange;
static PyObject *__pyx_n_s__y;
static PyObject *__pyx_n_s__yoffset;
static PyObject *__pyx_n_s__z;
static PyObject *__pyx_n_s__zFar;
static PyObject *__pyx_n_s__zNear;
static PyObject *__pyx_n_s__zfail;
static PyObject *__pyx_n_s__zpass;
static PyObject *__pyx_int_1;
static PyObject *__pyx_int_2;
static PyObject *__pyx_int_4;

/* "kivy/graphics/opengl.pyx":50
 * # Utilities
 * 
 * cdef GLuint *_genBegin(int n):             # <<<<<<<<<<<<<<
 *     cdef GLuint *d
 *     d = <GLuint *>malloc(sizeof(GLuint) * n)
 */

static  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_f_4kivy_8graphics_6opengl__genBegin(int __pyx_v_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_d;
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_r;
  int __pyx_t_1;
  __Pyx_RefNannySetupContext("_genBegin");

  /* "kivy/graphics/opengl.pyx":52
 * cdef GLuint *_genBegin(int n):
 *     cdef GLuint *d
 *     d = <GLuint *>malloc(sizeof(GLuint) * n)             # <<<<<<<<<<<<<<
 *     if d == NULL:
 *         raise MemoryError()
 */
  __pyx_v_d = ((__pyx_t_4kivy_8graphics_6opengl_GLuint *)malloc(((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLuint)) * __pyx_v_n)));

  /* "kivy/graphics/opengl.pyx":53
 *     cdef GLuint *d
 *     d = <GLuint *>malloc(sizeof(GLuint) * n)
 *     if d == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError()
 *     return d
 */
  __pyx_t_1 = (__pyx_v_d == NULL);
  if (__pyx_t_1) {

    /* "kivy/graphics/opengl.pyx":54
 *     d = <GLuint *>malloc(sizeof(GLuint) * n)
 *     if d == NULL:
 *         raise MemoryError()             # <<<<<<<<<<<<<<
 *     return d
 * 
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "kivy/graphics/opengl.pyx":55
 *     if d == NULL:
 *         raise MemoryError()
 *     return d             # <<<<<<<<<<<<<<
 * 
 * cdef list _genEnd(int n, GLuint *data):
 */
  __pyx_r = __pyx_v_d;
  goto __pyx_L0;

  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_WriteUnraisable("kivy.graphics.opengl._genBegin");
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":57
 *     return d
 * 
 * cdef list _genEnd(int n, GLuint *data):             # <<<<<<<<<<<<<<
 *     cdef list out = []
 *     for x in xrange(n):
 */

static  PyObject *__pyx_f_4kivy_8graphics_6opengl__genEnd(int __pyx_v_n, __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_data) {
  PyObject *__pyx_v_out = 0;
  int __pyx_v_x;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  __Pyx_RefNannySetupContext("_genEnd");

  /* "kivy/graphics/opengl.pyx":58
 * 
 * cdef list _genEnd(int n, GLuint *data):
 *     cdef list out = []             # <<<<<<<<<<<<<<
 *     for x in xrange(n):
 *         out.append(data[x])
 */
  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  __pyx_v_out = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":59
 * cdef list _genEnd(int n, GLuint *data):
 *     cdef list out = []
 *     for x in xrange(n):             # <<<<<<<<<<<<<<
 *         out.append(data[x])
 *     free(data)
 */
  __pyx_t_2 = __pyx_v_n;
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
    __pyx_v_x = __pyx_t_3;

    /* "kivy/graphics/opengl.pyx":60
 *     cdef list out = []
 *     for x in xrange(n):
 *         out.append(data[x])             # <<<<<<<<<<<<<<
 *     free(data)
 *     return out
 */
    if (unlikely(__pyx_v_out == Py_None)) {
      PyErr_SetString(PyExc_AttributeError, "'NoneType' object has no attribute 'append'"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
    }
    __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_data[__pyx_v_x])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_4 = PyList_Append(__pyx_v_out, __pyx_t_1); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

  /* "kivy/graphics/opengl.pyx":61
 *     for x in xrange(n):
 *         out.append(data[x])
 *     free(data)             # <<<<<<<<<<<<<<
 *     return out
 * 
 */
  free(__pyx_v_data);

  /* "kivy/graphics/opengl.pyx":62
 *         out.append(data[x])
 *     free(data)
 *     return out             # <<<<<<<<<<<<<<
 * 
 * #GL_ES_VERSION_2_0 = c_opengl.GL_ES_VERSION_2_0
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __Pyx_INCREF(((PyObject *)__pyx_v_out));
  __pyx_r = __pyx_v_out;
  goto __pyx_L0;

  __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl._genEnd");
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":464
 * 
 * 
 * def glActiveTexture(GLenum texture):             # <<<<<<<<<<<<<<
 *     '''See: `glActiveTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glActiveTexture.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_glActiveTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_glActiveTexture[] = "glActiveTexture(GLenum texture)\nSee: `glActiveTexture() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glActiveTexture.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_glActiveTexture = {__Pyx_NAMESTR("glActiveTexture"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_glActiveTexture, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_glActiveTexture)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_glActiveTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_texture;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glActiveTexture");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_texture); {
    __pyx_v_texture = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_texture); if (unlikely((__pyx_v_texture == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glActiveTexture");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":468
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glActiveTexture.xml>`_
 *     '''
 *     c_opengl.glActiveTexture(texture)             # <<<<<<<<<<<<<<
 * 
 * def glAttachShader(GLuint program, GLuint shader):
 */
  glActiveTexture(__pyx_v_texture);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":470
 *     c_opengl.glActiveTexture(texture)
 * 
 * def glAttachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glAttachShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glAttachShader.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_1glAttachShader(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_1glAttachShader[] = "glAttachShader(GLuint program, GLuint shader)\nSee: `glAttachShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glAttachShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_1glAttachShader = {__Pyx_NAMESTR("glAttachShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_1glAttachShader, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_1glAttachShader)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_1glAttachShader(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__shader,0};
  __Pyx_RefNannySetupContext("glAttachShader");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glAttachShader", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glAttachShader") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glAttachShader", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glAttachShader");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":474
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glAttachShader.xml>`_
 *     '''
 *     c_opengl.glAttachShader(program, shader)             # <<<<<<<<<<<<<<
 * 
 * def glBindAttribLocation(GLuint program, GLuint index, bytes name):
 */
  glAttachShader(__pyx_v_program, __pyx_v_shader);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":476
 *     c_opengl.glAttachShader(program, shader)
 * 
 * def glBindAttribLocation(GLuint program, GLuint index, bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glBindAttribLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindAttribLocation.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_2glBindAttribLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_2glBindAttribLocation[] = "glBindAttribLocation(GLuint program, GLuint index, bytes name)\nSee: `glBindAttribLocation() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindAttribLocation.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_2glBindAttribLocation = {__Pyx_NAMESTR("glBindAttribLocation"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_2glBindAttribLocation, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_2glBindAttribLocation)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_2glBindAttribLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__index,&__pyx_n_s__name,0};
  __Pyx_RefNannySetupContext("glBindAttribLocation");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBindAttribLocation", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBindAttribLocation", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBindAttribLocation") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_name = ((PyObject*)values[2]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_name = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 2));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBindAttribLocation", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindAttribLocation");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyBytes_Type), 1, "name", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":480
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindAttribLocation.xml>`_
 *     '''
 *     c_opengl.glBindAttribLocation(program, index, <char *>name)             # <<<<<<<<<<<<<<
 * 
 * def glBindBuffer(GLenum target, GLuint buffer):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_name)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glBindAttribLocation(__pyx_v_program, __pyx_v_index, __pyx_t_1);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindAttribLocation");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":482
 *     c_opengl.glBindAttribLocation(program, index, <char *>name)
 * 
 * def glBindBuffer(GLenum target, GLuint buffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindBuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindBuffer.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_3glBindBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_3glBindBuffer[] = "glBindBuffer(GLenum target, GLuint buffer)\nSee: `glBindBuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindBuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_3glBindBuffer = {__Pyx_NAMESTR("glBindBuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_3glBindBuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_3glBindBuffer)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_3glBindBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_buffer;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__buffer,0};
  __Pyx_RefNannySetupContext("glBindBuffer");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buffer);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBindBuffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBindBuffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_buffer = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_buffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_buffer = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_buffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBindBuffer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindBuffer");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":486
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindBuffer.xml>`_
 *     '''
 *     c_opengl.glBindBuffer(target, buffer)             # <<<<<<<<<<<<<<
 * 
 * def glBindFramebuffer(GLenum target, GLuint framebuffer):
 */
  glBindBuffer(__pyx_v_target, __pyx_v_buffer);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":488
 *     c_opengl.glBindBuffer(target, buffer)
 * 
 * def glBindFramebuffer(GLenum target, GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindFramebuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindFramebuffer.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_4glBindFramebuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_4glBindFramebuffer[] = "glBindFramebuffer(GLenum target, GLuint framebuffer)\nSee: `glBindFramebuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindFramebuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_4glBindFramebuffer = {__Pyx_NAMESTR("glBindFramebuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_4glBindFramebuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_4glBindFramebuffer)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_4glBindFramebuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_framebuffer;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__framebuffer,0};
  __Pyx_RefNannySetupContext("glBindFramebuffer");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__framebuffer);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBindFramebuffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBindFramebuffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_framebuffer = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_framebuffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_framebuffer = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_framebuffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBindFramebuffer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindFramebuffer");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":492
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindFramebuffer.xml>`_
 *     '''
 *     c_opengl.glBindFramebuffer(target, framebuffer)             # <<<<<<<<<<<<<<
 * 
 * def glBindRenderbuffer(GLenum target, GLuint renderbuffer):
 */
  glBindFramebuffer(__pyx_v_target, __pyx_v_framebuffer);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":494
 *     c_opengl.glBindFramebuffer(target, framebuffer)
 * 
 * def glBindRenderbuffer(GLenum target, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_5glBindRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_5glBindRenderbuffer[] = "glBindRenderbuffer(GLenum target, GLuint renderbuffer)\nSee: `glBindRenderbuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_5glBindRenderbuffer = {__Pyx_NAMESTR("glBindRenderbuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_5glBindRenderbuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_5glBindRenderbuffer)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_5glBindRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_renderbuffer;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__renderbuffer,0};
  __Pyx_RefNannySetupContext("glBindRenderbuffer");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__renderbuffer);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBindRenderbuffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBindRenderbuffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_renderbuffer = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_renderbuffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_renderbuffer = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_renderbuffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBindRenderbuffer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindRenderbuffer");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":498
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml>`_
 *     '''
 *     c_opengl.glBindRenderbuffer(target, renderbuffer)             # <<<<<<<<<<<<<<
 * 
 * def glBindTexture(GLenum target, GLuint texture):
 */
  glBindRenderbuffer(__pyx_v_target, __pyx_v_renderbuffer);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":500
 *     c_opengl.glBindRenderbuffer(target, renderbuffer)
 * 
 * def glBindTexture(GLenum target, GLuint texture):             # <<<<<<<<<<<<<<
 *     '''See: `glBindTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindTexture.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_6glBindTexture(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_6glBindTexture[] = "glBindTexture(GLenum target, GLuint texture)\nSee: `glBindTexture() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindTexture.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_6glBindTexture = {__Pyx_NAMESTR("glBindTexture"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_6glBindTexture, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_6glBindTexture)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_6glBindTexture(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_texture;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__texture,0};
  __Pyx_RefNannySetupContext("glBindTexture");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__texture);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBindTexture", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBindTexture") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_texture = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_texture == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_texture = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_texture == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBindTexture", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindTexture");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":504
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindTexture.xml>`_
 *     '''
 *     c_opengl.glBindTexture(target, texture)             # <<<<<<<<<<<<<<
 * 
 * def glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):
 */
  glBindTexture(__pyx_v_target, __pyx_v_texture);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":506
 *     c_opengl.glBindTexture(target, texture)
 * 
 * def glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendColor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendColor.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_7glBlendColor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_7glBlendColor[] = "glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)\nSee: `glBlendColor() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendColor.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_7glBlendColor = {__Pyx_NAMESTR("glBlendColor"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_7glBlendColor, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_7glBlendColor)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_7glBlendColor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_red;
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_green;
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_blue;
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_alpha;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__red,&__pyx_n_s__green,&__pyx_n_s__blue,&__pyx_n_s__alpha,0};
  __Pyx_RefNannySetupContext("glBlendColor");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__red);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__green);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBlendColor", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__blue);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBlendColor", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__alpha);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBlendColor", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBlendColor") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_red = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_red == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_green = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_green == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_blue = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_blue == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_alpha = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_alpha == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_red = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_red == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_green = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_green == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_blue = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_blue == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_alpha = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_alpha == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBlendColor", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendColor");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":510
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendColor.xml>`_
 *     '''
 *     c_opengl.glBlendColor(red, green, blue, alpha)             # <<<<<<<<<<<<<<
 * 
 * def glBlendEquation(GLenum mode):
 */
  glBlendColor(__pyx_v_red, __pyx_v_green, __pyx_v_blue, __pyx_v_alpha);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":512
 *     c_opengl.glBlendColor(red, green, blue, alpha)
 * 
 * def glBlendEquation(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendEquation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquation.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_8glBlendEquation(PyObject *__pyx_self, PyObject *__pyx_arg_mode); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_8glBlendEquation[] = "glBlendEquation(GLenum mode)\nSee: `glBlendEquation() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquation.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_8glBlendEquation = {__Pyx_NAMESTR("glBlendEquation"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_8glBlendEquation, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_8glBlendEquation)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_8glBlendEquation(PyObject *__pyx_self, PyObject *__pyx_arg_mode) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glBlendEquation");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_mode); {
    __pyx_v_mode = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_mode); if (unlikely((__pyx_v_mode == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendEquation");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":516
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquation.xml>`_
 *     '''
 *     c_opengl.glBlendEquation(mode)             # <<<<<<<<<<<<<<
 * 
 * def glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha):
 */
  glBlendEquation(__pyx_v_mode);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":518
 *     c_opengl.glBlendEquation(mode)
 * 
 * def glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendEquationSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquationSeparate.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_9glBlendEquationSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_9glBlendEquationSeparate[] = "glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)\nSee: `glBlendEquationSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquationSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_9glBlendEquationSeparate = {__Pyx_NAMESTR("glBlendEquationSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_9glBlendEquationSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_9glBlendEquationSeparate)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_9glBlendEquationSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_modeRGB;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_modeAlpha;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__modeRGB,&__pyx_n_s__modeAlpha,0};
  __Pyx_RefNannySetupContext("glBlendEquationSeparate");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__modeRGB);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__modeAlpha);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBlendEquationSeparate", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBlendEquationSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_modeRGB = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_modeRGB == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_modeAlpha = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_modeAlpha == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_modeRGB = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_modeRGB == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_modeAlpha = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_modeAlpha == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBlendEquationSeparate", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendEquationSeparate");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":522
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquationSeparate.xml>`_
 *     '''
 *     c_opengl.glBlendEquationSeparate(modeRGB, modeAlpha)             # <<<<<<<<<<<<<<
 * 
 * def glBlendFunc(GLenum sfactor, GLenum dfactor):
 */
  glBlendEquationSeparate(__pyx_v_modeRGB, __pyx_v_modeAlpha);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":524
 *     c_opengl.glBlendEquationSeparate(modeRGB, modeAlpha)
 * 
 * def glBlendFunc(GLenum sfactor, GLenum dfactor):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFunc.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_10glBlendFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_10glBlendFunc[] = "glBlendFunc(GLenum sfactor, GLenum dfactor)\nSee: `glBlendFunc() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFunc.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_10glBlendFunc = {__Pyx_NAMESTR("glBlendFunc"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_10glBlendFunc, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_10glBlendFunc)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_10glBlendFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_sfactor;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_dfactor;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__sfactor,&__pyx_n_s__dfactor,0};
  __Pyx_RefNannySetupContext("glBlendFunc");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__sfactor);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dfactor);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBlendFunc", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBlendFunc") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_sfactor = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_sfactor == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_dfactor = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_dfactor == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_sfactor = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_sfactor == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_dfactor = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_dfactor == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBlendFunc", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendFunc");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":528
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFunc.xml>`_
 *     '''
 *     c_opengl.glBlendFunc(sfactor, dfactor)             # <<<<<<<<<<<<<<
 * 
 * def glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha):
 */
  glBlendFunc(__pyx_v_sfactor, __pyx_v_dfactor);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":530
 *     c_opengl.glBlendFunc(sfactor, dfactor)
 * 
 * def glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendFuncSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFuncSeparate.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_11glBlendFuncSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_11glBlendFuncSeparate[] = "glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)\nSee: `glBlendFuncSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFuncSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_11glBlendFuncSeparate = {__Pyx_NAMESTR("glBlendFuncSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_11glBlendFuncSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_11glBlendFuncSeparate)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_11glBlendFuncSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_srcRGB;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_dstRGB;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_srcAlpha;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_dstAlpha;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__srcRGB,&__pyx_n_s__dstRGB,&__pyx_n_s__srcAlpha,&__pyx_n_s__dstAlpha,0};
  __Pyx_RefNannySetupContext("glBlendFuncSeparate");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__srcRGB);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dstRGB);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBlendFuncSeparate", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__srcAlpha);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBlendFuncSeparate", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dstAlpha);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBlendFuncSeparate", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBlendFuncSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_srcRGB = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_srcRGB == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_dstRGB = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_dstRGB == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_srcAlpha = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_srcAlpha == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_dstAlpha = __Pyx_PyInt_AsUnsignedInt(values[3]); if (unlikely((__pyx_v_dstAlpha == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_srcRGB = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_srcRGB == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_dstRGB = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_dstRGB == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_srcAlpha = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_srcAlpha == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_dstAlpha = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_dstAlpha == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBlendFuncSeparate", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendFuncSeparate");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":534
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFuncSeparate.xml>`_
 *     '''
 *     c_opengl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)             # <<<<<<<<<<<<<<
 * 
 * def glBufferData(GLenum target, GLsizeiptr size, bytes data, GLenum usage):
 */
  glBlendFuncSeparate(__pyx_v_srcRGB, __pyx_v_dstRGB, __pyx_v_srcAlpha, __pyx_v_dstAlpha);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":536
 *     c_opengl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)
 * 
 * def glBufferData(GLenum target, GLsizeiptr size, bytes data, GLenum usage):             # <<<<<<<<<<<<<<
 *     '''See: `glBufferData() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferData.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_12glBufferData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_12glBufferData[] = "glBufferData(GLenum target, GLsizeiptr size, bytes data, GLenum usage)\nSee: `glBufferData() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferData.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_12glBufferData = {__Pyx_NAMESTR("glBufferData"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_12glBufferData, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_12glBufferData)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_12glBufferData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLsizeiptr __pyx_v_size;
  PyObject *__pyx_v_data = 0;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_usage;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__size,&__pyx_n_s__data,&__pyx_n_s__usage,0};
  __Pyx_RefNannySetupContext("glBufferData");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBufferData", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__data);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBufferData", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__usage);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBufferData", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBufferData") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_size = __Pyx_PyInt_AsSignedLong(values[1]); if (unlikely((__pyx_v_size == (signed long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)values[2]);
    __pyx_v_usage = __Pyx_PyInt_AsUnsignedInt(values[3]); if (unlikely((__pyx_v_usage == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_size = __Pyx_PyInt_AsSignedLong(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_size == (signed long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 2));
    __pyx_v_usage = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_usage == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBufferData", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBufferData");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_data), (&PyBytes_Type), 1, "data", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":540
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferData.xml>`_
 *     '''
 *     c_opengl.glBufferData(target, size, <char *>data, usage)             # <<<<<<<<<<<<<<
 * 
 * def glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_data)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 540; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glBufferData(__pyx_v_target, __pyx_v_size, __pyx_t_1, __pyx_v_usage);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBufferData");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":542
 *     c_opengl.glBufferData(target, size, <char *>data, usage)
 * 
 * def glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data):             # <<<<<<<<<<<<<<
 *     '''See: `glBufferSubData() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferSubData.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_13glBufferSubData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_13glBufferSubData[] = "glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data)\nSee: `glBufferSubData() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferSubData.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_13glBufferSubData = {__Pyx_NAMESTR("glBufferSubData"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_13glBufferSubData, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_13glBufferSubData)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_13glBufferSubData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLintptr __pyx_v_offset;
  __pyx_t_4kivy_8graphics_6opengl_GLsizeiptr __pyx_v_size;
  PyObject *__pyx_v_data = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__offset,&__pyx_n_s__size,&__pyx_n_s__data,0};
  __Pyx_RefNannySetupContext("glBufferSubData");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__offset);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBufferSubData", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBufferSubData", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__data);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glBufferSubData", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glBufferSubData") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_offset = __Pyx_PyInt_AsSignedLong(values[1]); if (unlikely((__pyx_v_offset == (signed long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_size = __Pyx_PyInt_AsSignedLong(values[2]); if (unlikely((__pyx_v_size == (signed long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)values[3]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_offset = __Pyx_PyInt_AsSignedLong(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_offset == (signed long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_size = __Pyx_PyInt_AsSignedLong(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_size == (signed long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 3));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glBufferSubData", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBufferSubData");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_data), (&PyBytes_Type), 1, "data", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":546
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferSubData.xml>`_
 *     '''
 *     c_opengl.glBufferSubData(target, offset, size, <char *>data)             # <<<<<<<<<<<<<<
 * 
 * def glCheckFramebufferStatus(GLenum target):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_data)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glBufferSubData(__pyx_v_target, __pyx_v_offset, __pyx_v_size, __pyx_t_1);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBufferSubData");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":548
 *     c_opengl.glBufferSubData(target, offset, size, <char *>data)
 * 
 * def glCheckFramebufferStatus(GLenum target):             # <<<<<<<<<<<<<<
 *     '''See: `glCheckFramebufferStatus() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCheckFramebufferStatus.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_14glCheckFramebufferStatus(PyObject *__pyx_self, PyObject *__pyx_arg_target); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_14glCheckFramebufferStatus[] = "glCheckFramebufferStatus(GLenum target)\nSee: `glCheckFramebufferStatus() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCheckFramebufferStatus.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_14glCheckFramebufferStatus = {__Pyx_NAMESTR("glCheckFramebufferStatus"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_14glCheckFramebufferStatus, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_14glCheckFramebufferStatus)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_14glCheckFramebufferStatus(PyObject *__pyx_self, PyObject *__pyx_arg_target) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_result;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_t_4;
  __Pyx_RefNannySetupContext("glCheckFramebufferStatus");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_target); {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_target); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCheckFramebufferStatus");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":553
 *     '''
 *     cdef GLenum result
 *     result = c_opengl.CheckFramebufferStatus(target)             # <<<<<<<<<<<<<<
 *     return result
 * 
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__c_opengl); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyLong_FromUnsignedLong(__pyx_v_target); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  __pyx_t_4 = __Pyx_PyInt_AsUnsignedInt(__pyx_t_1); if (unlikely((__pyx_t_4 == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_result = __pyx_t_4;

  /* "kivy/graphics/opengl.pyx":554
 *     cdef GLenum result
 *     result = c_opengl.CheckFramebufferStatus(target)
 *     return result             # <<<<<<<<<<<<<<
 * 
 * def glClear(GLbitfield mask):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyLong_FromUnsignedLong(__pyx_v_result); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("kivy.graphics.opengl.glCheckFramebufferStatus");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":556
 *     return result
 * 
 * def glClear(GLbitfield mask):             # <<<<<<<<<<<<<<
 *     '''See: `glClear() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClear.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_15glClear(PyObject *__pyx_self, PyObject *__pyx_arg_mask); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_15glClear[] = "glClear(GLbitfield mask)\nSee: `glClear() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClear.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_15glClear = {__Pyx_NAMESTR("glClear"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_15glClear, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_15glClear)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_15glClear(PyObject *__pyx_self, PyObject *__pyx_arg_mask) {
  __pyx_t_4kivy_8graphics_6opengl_GLbitfield __pyx_v_mask;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glClear");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_mask); {
    __pyx_v_mask = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_mask); if (unlikely((__pyx_v_mask == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glClear");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":560
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClear.xml>`_
 *     '''
 *     c_opengl.glClear(mask)             # <<<<<<<<<<<<<<
 * 
 * def glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):
 */
  glClear(__pyx_v_mask);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":562
 *     c_opengl.glClear(mask)
 * 
 * def glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glClearColor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearColor.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_16glClearColor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_16glClearColor[] = "glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)\nSee: `glClearColor() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearColor.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_16glClearColor = {__Pyx_NAMESTR("glClearColor"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_16glClearColor, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_16glClearColor)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_16glClearColor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_red;
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_green;
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_blue;
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_alpha;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__red,&__pyx_n_s__green,&__pyx_n_s__blue,&__pyx_n_s__alpha,0};
  __Pyx_RefNannySetupContext("glClearColor");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__red);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__green);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glClearColor", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__blue);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glClearColor", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__alpha);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glClearColor", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glClearColor") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_red = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_red == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_green = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_green == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_blue = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_blue == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_alpha = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_alpha == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_red = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_red == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_green = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_green == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_blue = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_blue == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_alpha = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_alpha == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glClearColor", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glClearColor");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":566
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearColor.xml>`_
 *     '''
 *     c_opengl.glClearColor(red, green, blue, alpha)             # <<<<<<<<<<<<<<
 * 
 * def glClearDepthf(GLclampf depth):
 */
  glClearColor(__pyx_v_red, __pyx_v_green, __pyx_v_blue, __pyx_v_alpha);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":568
 *     c_opengl.glClearColor(red, green, blue, alpha)
 * 
 * def glClearDepthf(GLclampf depth):             # <<<<<<<<<<<<<<
 *     '''See: `glClearDepthf() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearDepthf.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_17glClearDepthf(PyObject *__pyx_self, PyObject *__pyx_arg_depth); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_17glClearDepthf[] = "glClearDepthf(GLclampf depth)\nSee: `glClearDepthf() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearDepthf.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_17glClearDepthf = {__Pyx_NAMESTR("glClearDepthf"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_17glClearDepthf, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_17glClearDepthf)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_17glClearDepthf(PyObject *__pyx_self, PyObject *__pyx_arg_depth) {
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_depth;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glClearDepthf");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_depth); {
    __pyx_v_depth = __pyx_PyFloat_AsDouble(__pyx_arg_depth); if (unlikely((__pyx_v_depth == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glClearDepthf");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":572
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearDepthf.xml>`_
 *     '''
 *     c_opengl.glClearDepthf(depth)             # <<<<<<<<<<<<<<
 * 
 * def glClearStencil(GLint s):
 */
  glClearDepthf(__pyx_v_depth);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":574
 *     c_opengl.glClearDepthf(depth)
 * 
 * def glClearStencil(GLint s):             # <<<<<<<<<<<<<<
 *     '''See: `glClearStencil() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearStencil.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_18glClearStencil(PyObject *__pyx_self, PyObject *__pyx_arg_s); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_18glClearStencil[] = "glClearStencil(GLint s)\nSee: `glClearStencil() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearStencil.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_18glClearStencil = {__Pyx_NAMESTR("glClearStencil"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_18glClearStencil, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_18glClearStencil)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_18glClearStencil(PyObject *__pyx_self, PyObject *__pyx_arg_s) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_s;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glClearStencil");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_s); {
    __pyx_v_s = __Pyx_PyInt_AsInt(__pyx_arg_s); if (unlikely((__pyx_v_s == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glClearStencil");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":578
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearStencil.xml>`_
 *     '''
 *     c_opengl.glClearStencil(s)             # <<<<<<<<<<<<<<
 * 
 * def glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha):
 */
  glClearStencil(__pyx_v_s);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":580
 *     c_opengl.glClearStencil(s)
 * 
 * def glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glColorMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glColorMask.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_19glColorMask(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_19glColorMask[] = "glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)\nSee: `glColorMask() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glColorMask.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_19glColorMask = {__Pyx_NAMESTR("glColorMask"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_19glColorMask, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_19glColorMask)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_19glColorMask(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_red;
  __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_green;
  __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_blue;
  __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_alpha;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__red,&__pyx_n_s__green,&__pyx_n_s__blue,&__pyx_n_s__alpha,0};
  __Pyx_RefNannySetupContext("glColorMask");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__red);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__green);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glColorMask", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__blue);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glColorMask", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__alpha);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glColorMask", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glColorMask") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_red = __Pyx_PyInt_AsUnsignedChar(values[0]); if (unlikely((__pyx_v_red == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_green = __Pyx_PyInt_AsUnsignedChar(values[1]); if (unlikely((__pyx_v_green == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_blue = __Pyx_PyInt_AsUnsignedChar(values[2]); if (unlikely((__pyx_v_blue == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_alpha = __Pyx_PyInt_AsUnsignedChar(values[3]); if (unlikely((__pyx_v_alpha == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_red = __Pyx_PyInt_AsUnsignedChar(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_red == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_green = __Pyx_PyInt_AsUnsignedChar(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_green == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_blue = __Pyx_PyInt_AsUnsignedChar(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_blue == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_alpha = __Pyx_PyInt_AsUnsignedChar(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_alpha == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glColorMask", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glColorMask");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":584
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glColorMask.xml>`_
 *     '''
 *     c_opengl.glColorMask(red, green, blue, alpha)             # <<<<<<<<<<<<<<
 * 
 * def glCompileShader(GLuint shader):
 */
  glColorMask(__pyx_v_red, __pyx_v_green, __pyx_v_blue, __pyx_v_alpha);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":586
 *     c_opengl.glColorMask(red, green, blue, alpha)
 * 
 * def glCompileShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glCompileShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompileShader.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_20glCompileShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_20glCompileShader[] = "glCompileShader(GLuint shader)\nSee: `glCompileShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompileShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_20glCompileShader = {__Pyx_NAMESTR("glCompileShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_20glCompileShader, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_20glCompileShader)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_20glCompileShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glCompileShader");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_shader); {
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_shader); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCompileShader");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":590
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompileShader.xml>`_
 *     '''
 *     c_opengl.glCompileShader(shader)             # <<<<<<<<<<<<<<
 * 
 * def glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat,
 */
  glCompileShader(__pyx_v_shader);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":592
 *     c_opengl.glCompileShader(shader)
 * 
 * def glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat,             # <<<<<<<<<<<<<<
 *                            GLsizei width, GLsizei height, GLint border, GLsizei
 *                            imageSize,  bytes data):
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_21glCompressedTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_21glCompressedTexImage2D[] = "glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, bytes data)\nSee: `glCompressedTexImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompressedTexImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_21glCompressedTexImage2D = {__Pyx_NAMESTR("glCompressedTexImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_21glCompressedTexImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_21glCompressedTexImage2D)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_21glCompressedTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_level;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_internalformat;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_border;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_imageSize;
  PyObject *__pyx_v_data = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__level,&__pyx_n_s__internalformat,&__pyx_n_s__width,&__pyx_n_s__height,&__pyx_n_s__border,&__pyx_n_s__imageSize,&__pyx_n_s__data,0};
  __Pyx_RefNannySetupContext("glCompressedTexImage2D");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__internalformat);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  5:
      values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__border);
      if (likely(values[5])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  6:
      values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__imageSize);
      if (likely(values[6])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  7:
      values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__data);
      if (likely(values[7])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glCompressedTexImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_internalformat = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_internalformat == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_border = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_border == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_imageSize = __Pyx_PyInt_AsInt(values[6]); if (unlikely((__pyx_v_imageSize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)values[7]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_internalformat = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_internalformat == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_border = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 5)); if (unlikely((__pyx_v_border == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_imageSize = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 6)); if (unlikely((__pyx_v_imageSize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 7));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCompressedTexImage2D");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_data), (&PyBytes_Type), 1, "data", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":599
 *     '''
 *     c_opengl.glCompressedTexImage2D(target, level, internalformat, width,
 *                                     height, border, imageSize, <char *>data)             # <<<<<<<<<<<<<<
 * 
 * def glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_data)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glCompressedTexImage2D(__pyx_v_target, __pyx_v_level, __pyx_v_internalformat, __pyx_v_width, __pyx_v_height, __pyx_v_border, __pyx_v_imageSize, __pyx_t_1);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCompressedTexImage2D");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":601
 *                                     height, border, imageSize, <char *>data)
 * 
 * def glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint             # <<<<<<<<<<<<<<
 *                               yoffset, GLsizei width, GLsizei height, GLenum
 *                               format, GLsizei imageSize,  bytes data):
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_22glCompressedTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_22glCompressedTexSubImage2D[] = "glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, bytes data)\nSee: `glCompressedTexSubImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompressedTexSubImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_22glCompressedTexSubImage2D = {__Pyx_NAMESTR("glCompressedTexSubImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_22glCompressedTexSubImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_22glCompressedTexSubImage2D)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_22glCompressedTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_level;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_xoffset;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_yoffset;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_format;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_imageSize;
  PyObject *__pyx_v_data = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__level,&__pyx_n_s__xoffset,&__pyx_n_s__yoffset,&__pyx_n_s__width,&__pyx_n_s__height,&__pyx_n_s__format,&__pyx_n_s__imageSize,&__pyx_n_s__data,0};
  __Pyx_RefNannySetupContext("glCompressedTexSubImage2D");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
      case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__xoffset);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__yoffset);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  5:
      values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[5])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  6:
      values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__format);
      if (likely(values[6])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  7:
      values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__imageSize);
      if (likely(values[7])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  8:
      values[8] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__data);
      if (likely(values[8])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 8); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glCompressedTexSubImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_xoffset = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_xoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_yoffset = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_yoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_format = __Pyx_PyInt_AsUnsignedInt(values[6]); if (unlikely((__pyx_v_format == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_imageSize = __Pyx_PyInt_AsInt(values[7]); if (unlikely((__pyx_v_imageSize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)values[8]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_xoffset = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_xoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_yoffset = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_yoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 5)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_format = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 6)); if (unlikely((__pyx_v_format == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_imageSize = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 7)); if (unlikely((__pyx_v_imageSize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 8));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCompressedTexSubImage2D");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_data), (&PyBytes_Type), 1, "data", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":608
 *     '''
 *     c_opengl.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width,
 *                                        height, format, imageSize, <char *>data)             # <<<<<<<<<<<<<<
 * 
 * def glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_data)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glCompressedTexSubImage2D(__pyx_v_target, __pyx_v_level, __pyx_v_xoffset, __pyx_v_yoffset, __pyx_v_width, __pyx_v_height, __pyx_v_format, __pyx_v_imageSize, __pyx_t_1);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCompressedTexSubImage2D");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":610
 *                                        height, format, imageSize, <char *>data)
 * 
 * def glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border):             # <<<<<<<<<<<<<<
 *     '''See: `glCopyTexImage2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexImage2D.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_23glCopyTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_23glCopyTexImage2D[] = "glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)\nSee: `glCopyTexImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_23glCopyTexImage2D = {__Pyx_NAMESTR("glCopyTexImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_23glCopyTexImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_23glCopyTexImage2D)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_23glCopyTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_level;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_internalformat;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_border;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__level,&__pyx_n_s__internalformat,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__width,&__pyx_n_s__height,&__pyx_n_s__border,0};
  __Pyx_RefNannySetupContext("glCopyTexImage2D");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__internalformat);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  5:
      values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[5])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  6:
      values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[6])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  7:
      values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__border);
      if (likely(values[7])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glCopyTexImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_internalformat = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_internalformat == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[6]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_border = __Pyx_PyInt_AsInt(values[7]); if (unlikely((__pyx_v_border == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_internalformat = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_internalformat == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 5)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 6)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_border = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 7)); if (unlikely((__pyx_v_border == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCopyTexImage2D");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":614
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexImage2D.xml>`_
 *     '''
 *     c_opengl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border)             # <<<<<<<<<<<<<<
 * 
 * def glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height):
 */
  glCopyTexImage2D(__pyx_v_target, __pyx_v_level, __pyx_v_internalformat, __pyx_v_x, __pyx_v_y, __pyx_v_width, __pyx_v_height, __pyx_v_border);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":616
 *     c_opengl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border)
 * 
 * def glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glCopyTexSubImage2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_24glCopyTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_24glCopyTexSubImage2D[] = "glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)\nSee: `glCopyTexSubImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_24glCopyTexSubImage2D = {__Pyx_NAMESTR("glCopyTexSubImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_24glCopyTexSubImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_24glCopyTexSubImage2D)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_24glCopyTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_level;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_xoffset;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_yoffset;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__level,&__pyx_n_s__xoffset,&__pyx_n_s__yoffset,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__width,&__pyx_n_s__height,0};
  __Pyx_RefNannySetupContext("glCopyTexSubImage2D");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__xoffset);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__yoffset);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  5:
      values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[5])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  6:
      values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[6])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  7:
      values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[7])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glCopyTexSubImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_xoffset = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_xoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_yoffset = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_yoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[6]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[7]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_xoffset = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_xoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_yoffset = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_yoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 5)); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 6)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 7)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCopyTexSubImage2D");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":620
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml>`_
 *     '''
 *     c_opengl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)             # <<<<<<<<<<<<<<
 * 
 * def glCreateProgram():
 */
  glCopyTexSubImage2D(__pyx_v_target, __pyx_v_level, __pyx_v_xoffset, __pyx_v_yoffset, __pyx_v_x, __pyx_v_y, __pyx_v_width, __pyx_v_height);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":622
 *     c_opengl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
 * 
 * def glCreateProgram():             # <<<<<<<<<<<<<<
 *     '''See: `glCreateProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateProgram.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_25glCreateProgram(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_25glCreateProgram[] = "glCreateProgram()\nSee: `glCreateProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_25glCreateProgram = {__Pyx_NAMESTR("glCreateProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_25glCreateProgram, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_25glCreateProgram)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_25glCreateProgram(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_id;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glCreateProgram");
  __pyx_self = __pyx_self;

  /* "kivy/graphics/opengl.pyx":627
 *     '''
 *     cdef GLuint id
 *     id = c_opengl.glCreateProgram()             # <<<<<<<<<<<<<<
 *     return id
 * 
 */
  __pyx_v_id = glCreateProgram();

  /* "kivy/graphics/opengl.pyx":628
 *     cdef GLuint id
 *     id = c_opengl.glCreateProgram()
 *     return id             # <<<<<<<<<<<<<<
 * 
 * def glCreateShader(GLenum type):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyLong_FromUnsignedLong(__pyx_v_id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glCreateProgram");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":630
 *     return id
 * 
 * def glCreateShader(GLenum type):             # <<<<<<<<<<<<<<
 *     '''See: `glCreateShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateShader.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_26glCreateShader(PyObject *__pyx_self, PyObject *__pyx_arg_type); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_26glCreateShader[] = "glCreateShader(GLenum type)\nSee: `glCreateShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_26glCreateShader = {__Pyx_NAMESTR("glCreateShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_26glCreateShader, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_26glCreateShader)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_26glCreateShader(PyObject *__pyx_self, PyObject *__pyx_arg_type) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_type;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_id;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glCreateShader");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_type); {
    __pyx_v_type = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_type); if (unlikely((__pyx_v_type == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCreateShader");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":635
 *     '''
 *     cdef GLuint id
 *     id = c_opengl.glCreateShader(type)             # <<<<<<<<<<<<<<
 *     return id
 * 
 */
  __pyx_v_id = glCreateShader(__pyx_v_type);

  /* "kivy/graphics/opengl.pyx":636
 *     cdef GLuint id
 *     id = c_opengl.glCreateShader(type)
 *     return id             # <<<<<<<<<<<<<<
 * 
 * def glCullFace(GLenum mode):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyLong_FromUnsignedLong(__pyx_v_id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glCreateShader");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":638
 *     return id
 * 
 * def glCullFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glCullFace() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCullFace.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_27glCullFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_27glCullFace[] = "glCullFace(GLenum mode)\nSee: `glCullFace() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCullFace.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_27glCullFace = {__Pyx_NAMESTR("glCullFace"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_27glCullFace, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_27glCullFace)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_27glCullFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glCullFace");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_mode); {
    __pyx_v_mode = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_mode); if (unlikely((__pyx_v_mode == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCullFace");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":642
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCullFace.xml>`_
 *     '''
 *     c_opengl.glCullFace(mode)             # <<<<<<<<<<<<<<
 * 
 * def glDeleteBuffers(GLsizei n, bytes buffers):
 */
  glCullFace(__pyx_v_mode);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":644
 *     c_opengl.glCullFace(mode)
 * 
 * def glDeleteBuffers(GLsizei n, bytes buffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteBuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteBuffers.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_28glDeleteBuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_28glDeleteBuffers[] = "glDeleteBuffers(GLsizei n, bytes buffers)\nSee: `glDeleteBuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteBuffers.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_28glDeleteBuffers = {__Pyx_NAMESTR("glDeleteBuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_28glDeleteBuffers, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_28glDeleteBuffers)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_28glDeleteBuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  PyObject *__pyx_v_buffers = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__n,&__pyx_n_s__buffers,0};
  __Pyx_RefNannySetupContext("glDeleteBuffers");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buffers);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDeleteBuffers", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glDeleteBuffers") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_n = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_buffers = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_n = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_buffers = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glDeleteBuffers", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteBuffers");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_buffers), (&PyBytes_Type), 1, "buffers", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":648
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteBuffers.xml>`_
 *     '''
 *     c_opengl.glDeleteBuffers(n, <GLuint *><char *>buffers)             # <<<<<<<<<<<<<<
 * 
 * def glDeleteFramebuffers(GLsizei n, bytes framebuffers):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_buffers)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glDeleteBuffers(__pyx_v_n, ((__pyx_t_4kivy_8graphics_6opengl_GLuint *)__pyx_t_1));

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteBuffers");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":650
 *     c_opengl.glDeleteBuffers(n, <GLuint *><char *>buffers)
 * 
 * def glDeleteFramebuffers(GLsizei n, bytes framebuffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteFramebuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteFramebuffers.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_29glDeleteFramebuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_29glDeleteFramebuffers[] = "glDeleteFramebuffers(GLsizei n, bytes framebuffers)\nSee: `glDeleteFramebuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteFramebuffers.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_29glDeleteFramebuffers = {__Pyx_NAMESTR("glDeleteFramebuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_29glDeleteFramebuffers, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_29glDeleteFramebuffers)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_29glDeleteFramebuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  PyObject *__pyx_v_framebuffers = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__n,&__pyx_n_s__framebuffers,0};
  __Pyx_RefNannySetupContext("glDeleteFramebuffers");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__framebuffers);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDeleteFramebuffers", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glDeleteFramebuffers") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_n = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_framebuffers = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_n = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_framebuffers = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glDeleteFramebuffers", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteFramebuffers");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_framebuffers), (&PyBytes_Type), 1, "framebuffers", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":654
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteFramebuffers.xml>`_
 *     '''
 *     c_opengl.glDeleteFramebuffers(n, <GLuint *><char *>framebuffers)             # <<<<<<<<<<<<<<
 * 
 * def glDeleteProgram(GLuint program):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_framebuffers)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glDeleteFramebuffers(__pyx_v_n, ((__pyx_t_4kivy_8graphics_6opengl_GLuint *)__pyx_t_1));

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteFramebuffers");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":656
 *     c_opengl.glDeleteFramebuffers(n, <GLuint *><char *>framebuffers)
 * 
 * def glDeleteProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteProgram.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_30glDeleteProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_30glDeleteProgram[] = "glDeleteProgram(GLuint program)\nSee: `glDeleteProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_30glDeleteProgram = {__Pyx_NAMESTR("glDeleteProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_30glDeleteProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_30glDeleteProgram)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_30glDeleteProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glDeleteProgram");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_program); {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_program); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteProgram");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":660
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteProgram.xml>`_
 *     '''
 *     c_opengl.glDeleteProgram(program)             # <<<<<<<<<<<<<<
 * 
 * def glDeleteRenderbuffers(GLsizei n, bytes renderbuffers):
 */
  glDeleteProgram(__pyx_v_program);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":662
 *     c_opengl.glDeleteProgram(program)
 * 
 * def glDeleteRenderbuffers(GLsizei n, bytes renderbuffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteRenderbuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteRenderbuffers.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_31glDeleteRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_31glDeleteRenderbuffers[] = "glDeleteRenderbuffers(GLsizei n, bytes renderbuffers)\nSee: `glDeleteRenderbuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteRenderbuffers.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_31glDeleteRenderbuffers = {__Pyx_NAMESTR("glDeleteRenderbuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_31glDeleteRenderbuffers, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_31glDeleteRenderbuffers)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_31glDeleteRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  PyObject *__pyx_v_renderbuffers = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__n,&__pyx_n_s__renderbuffers,0};
  __Pyx_RefNannySetupContext("glDeleteRenderbuffers");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__renderbuffers);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDeleteRenderbuffers", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glDeleteRenderbuffers") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_n = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_renderbuffers = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_n = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_renderbuffers = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glDeleteRenderbuffers", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteRenderbuffers");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_renderbuffers), (&PyBytes_Type), 1, "renderbuffers", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":666
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteRenderbuffers.xml>`_
 *     '''
 *     c_opengl.glDeleteRenderbuffers(n, <GLuint *><char *>renderbuffers)             # <<<<<<<<<<<<<<
 * 
 * def glDeleteShader(GLuint shader):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_renderbuffers)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glDeleteRenderbuffers(__pyx_v_n, ((__pyx_t_4kivy_8graphics_6opengl_GLuint *)__pyx_t_1));

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteRenderbuffers");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":668
 *     c_opengl.glDeleteRenderbuffers(n, <GLuint *><char *>renderbuffers)
 * 
 * def glDeleteShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteShader.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_32glDeleteShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_32glDeleteShader[] = "glDeleteShader(GLuint shader)\nSee: `glDeleteShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_32glDeleteShader = {__Pyx_NAMESTR("glDeleteShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_32glDeleteShader, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_32glDeleteShader)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_32glDeleteShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glDeleteShader");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_shader); {
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_shader); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteShader");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":672
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteShader.xml>`_
 *     '''
 *     c_opengl.glDeleteShader(shader)             # <<<<<<<<<<<<<<
 * 
 * def glDeleteTextures(GLsizei n, bytes textures):
 */
  glDeleteShader(__pyx_v_shader);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":674
 *     c_opengl.glDeleteShader(shader)
 * 
 * def glDeleteTextures(GLsizei n, bytes textures):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteTextures() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteTextures.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_33glDeleteTextures(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_33glDeleteTextures[] = "glDeleteTextures(GLsizei n, bytes textures)\nSee: `glDeleteTextures() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteTextures.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_33glDeleteTextures = {__Pyx_NAMESTR("glDeleteTextures"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_33glDeleteTextures, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_33glDeleteTextures)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_33glDeleteTextures(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  PyObject *__pyx_v_textures = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__n,&__pyx_n_s__textures,0};
  __Pyx_RefNannySetupContext("glDeleteTextures");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__textures);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDeleteTextures", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glDeleteTextures") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_n = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_textures = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_n = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_textures = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glDeleteTextures", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteTextures");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_textures), (&PyBytes_Type), 1, "textures", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":678
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteTextures.xml>`_
 *     '''
 *     c_opengl.glDeleteTextures(n, <GLuint *><char *>textures)             # <<<<<<<<<<<<<<
 * 
 * def glDepthFunc(GLenum func):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_textures)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glDeleteTextures(__pyx_v_n, ((__pyx_t_4kivy_8graphics_6opengl_GLuint *)__pyx_t_1));

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteTextures");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":680
 *     c_opengl.glDeleteTextures(n, <GLuint *><char *>textures)
 * 
 * def glDepthFunc(GLenum func):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthFunc.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_34glDepthFunc(PyObject *__pyx_self, PyObject *__pyx_arg_func); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_34glDepthFunc[] = "glDepthFunc(GLenum func)\nSee: `glDepthFunc() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthFunc.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_34glDepthFunc = {__Pyx_NAMESTR("glDepthFunc"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_34glDepthFunc, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_34glDepthFunc)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_34glDepthFunc(PyObject *__pyx_self, PyObject *__pyx_arg_func) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_func;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glDepthFunc");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_func); {
    __pyx_v_func = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_func); if (unlikely((__pyx_v_func == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDepthFunc");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":684
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthFunc.xml>`_
 *     '''
 *     c_opengl.glDepthFunc(func)             # <<<<<<<<<<<<<<
 * 
 * def glDepthMask(GLboolean flag):
 */
  glDepthFunc(__pyx_v_func);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":686
 *     c_opengl.glDepthFunc(func)
 * 
 * def glDepthMask(GLboolean flag):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthMask.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_35glDepthMask(PyObject *__pyx_self, PyObject *__pyx_arg_flag); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_35glDepthMask[] = "glDepthMask(GLboolean flag)\nSee: `glDepthMask() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthMask.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_35glDepthMask = {__Pyx_NAMESTR("glDepthMask"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_35glDepthMask, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_35glDepthMask)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_35glDepthMask(PyObject *__pyx_self, PyObject *__pyx_arg_flag) {
  __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_flag;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glDepthMask");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_flag); {
    __pyx_v_flag = __Pyx_PyInt_AsUnsignedChar(__pyx_arg_flag); if (unlikely((__pyx_v_flag == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDepthMask");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":690
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthMask.xml>`_
 *     '''
 *     c_opengl.glDepthMask(flag)             # <<<<<<<<<<<<<<
 * 
 * def glDepthRangef(GLclampf zNear, GLclampf zFar):
 */
  glDepthMask(__pyx_v_flag);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":692
 *     c_opengl.glDepthMask(flag)
 * 
 * def glDepthRangef(GLclampf zNear, GLclampf zFar):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthRangef() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthRangef.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_36glDepthRangef(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_36glDepthRangef[] = "glDepthRangef(GLclampf zNear, GLclampf zFar)\nSee: `glDepthRangef() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthRangef.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_36glDepthRangef = {__Pyx_NAMESTR("glDepthRangef"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_36glDepthRangef, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_36glDepthRangef)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_36glDepthRangef(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_zNear;
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_zFar;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__zNear,&__pyx_n_s__zFar,0};
  __Pyx_RefNannySetupContext("glDepthRangef");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zNear);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zFar);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDepthRangef", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glDepthRangef") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_zNear = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_zNear == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zFar = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_zFar == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_zNear = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_zNear == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zFar = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_zFar == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glDepthRangef", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDepthRangef");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":696
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthRangef.xml>`_
 *     '''
 *     c_opengl.glDepthRangef(zNear, zFar)             # <<<<<<<<<<<<<<
 * 
 * def glDetachShader(GLuint program, GLuint shader):
 */
  glDepthRangef(__pyx_v_zNear, __pyx_v_zFar);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":698
 *     c_opengl.glDepthRangef(zNear, zFar)
 * 
 * def glDetachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glDetachShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDetachShader.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_37glDetachShader(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_37glDetachShader[] = "glDetachShader(GLuint program, GLuint shader)\nSee: `glDetachShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDetachShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_37glDetachShader = {__Pyx_NAMESTR("glDetachShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_37glDetachShader, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_37glDetachShader)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_37glDetachShader(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__shader,0};
  __Pyx_RefNannySetupContext("glDetachShader");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDetachShader", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glDetachShader") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glDetachShader", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDetachShader");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":702
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDetachShader.xml>`_
 *     '''
 *     c_opengl.glDetachShader(program, shader)             # <<<<<<<<<<<<<<
 * 
 * def glDisable(GLenum cap):
 */
  glDetachShader(__pyx_v_program, __pyx_v_shader);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":704
 *     c_opengl.glDetachShader(program, shader)
 * 
 * def glDisable(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glDisable() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisable.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_38glDisable(PyObject *__pyx_self, PyObject *__pyx_arg_cap); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_38glDisable[] = "glDisable(GLenum cap)\nSee: `glDisable() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisable.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_38glDisable = {__Pyx_NAMESTR("glDisable"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_38glDisable, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_38glDisable)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_38glDisable(PyObject *__pyx_self, PyObject *__pyx_arg_cap) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glDisable");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_cap); {
    __pyx_v_cap = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_cap); if (unlikely((__pyx_v_cap == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDisable");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":708
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisable.xml>`_
 *     '''
 *     c_opengl.glDisable(cap)             # <<<<<<<<<<<<<<
 * 
 * def glDisableVertexAttribArray(GLuint index):
 */
  glDisable(__pyx_v_cap);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":710
 *     c_opengl.glDisable(cap)
 * 
 * def glDisableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glDisableVertexAttribArray() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisableVertexAttribArray.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_39glDisableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_39glDisableVertexAttribArray[] = "glDisableVertexAttribArray(GLuint index)\nSee: `glDisableVertexAttribArray() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisableVertexAttribArray.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_39glDisableVertexAttribArray = {__Pyx_NAMESTR("glDisableVertexAttribArray"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_39glDisableVertexAttribArray, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_39glDisableVertexAttribArray)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_39glDisableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glDisableVertexAttribArray");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_index); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDisableVertexAttribArray");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":714
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisableVertexAttribArray.xml>`_
 *     '''
 *     c_opengl.glDisableVertexAttribArray(index)             # <<<<<<<<<<<<<<
 * 
 * def glDrawArrays(GLenum mode, GLint first, GLsizei count):
 */
  glDisableVertexAttribArray(__pyx_v_index);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":716
 *     c_opengl.glDisableVertexAttribArray(index)
 * 
 * def glDrawArrays(GLenum mode, GLint first, GLsizei count):             # <<<<<<<<<<<<<<
 *     '''See: `glDrawArrays() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawArrays.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_40glDrawArrays(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_40glDrawArrays[] = "glDrawArrays(GLenum mode, GLint first, GLsizei count)\nSee: `glDrawArrays() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawArrays.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_40glDrawArrays = {__Pyx_NAMESTR("glDrawArrays"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_40glDrawArrays, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_40glDrawArrays)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_40glDrawArrays(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_first;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mode,&__pyx_n_s__first,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glDrawArrays");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mode);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__first);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDrawArrays", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDrawArrays", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glDrawArrays") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_mode = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_mode == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_first = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_first == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_mode = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_mode == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_first = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_first == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glDrawArrays", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDrawArrays");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":720
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawArrays.xml>`_
 *     '''
 *     c_opengl.glDrawArrays(mode, first, count)             # <<<<<<<<<<<<<<
 * 
 * def glDrawElements(GLenum mode, GLsizei count, GLenum type, bytes indices):
 */
  glDrawArrays(__pyx_v_mode, __pyx_v_first, __pyx_v_count);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":722
 *     c_opengl.glDrawArrays(mode, first, count)
 * 
 * def glDrawElements(GLenum mode, GLsizei count, GLenum type, bytes indices):             # <<<<<<<<<<<<<<
 *     '''See: `glDrawElements() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_41glDrawElements(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_41glDrawElements[] = "glDrawElements(GLenum mode, GLsizei count, GLenum type, bytes indices)\nSee: `glDrawElements() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_41glDrawElements = {__Pyx_NAMESTR("glDrawElements"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_41glDrawElements, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_41glDrawElements)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_41glDrawElements(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_type;
  PyObject *__pyx_v_indices = 0;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mode,&__pyx_n_s__count,&__pyx_n_s__type,&__pyx_n_s__indices,0};
  __Pyx_RefNannySetupContext("glDrawElements");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mode);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDrawElements", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDrawElements", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indices);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glDrawElements", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glDrawElements") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_mode = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_mode == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_type = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_type == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_indices = ((PyObject*)values[3]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_mode = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_mode == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_type = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_type == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_indices = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 3));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glDrawElements", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDrawElements");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_indices), (&PyBytes_Type), 1, "indices", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":726
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml>`_
 *     '''
 *     c_opengl.glDrawElements(mode, count, type, <void *>indices)             # <<<<<<<<<<<<<<
 * 
 * def glEnable(GLenum cap):
 */
  glDrawElements(__pyx_v_mode, __pyx_v_count, __pyx_v_type, ((void *)__pyx_v_indices));

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDrawElements");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":728
 *     c_opengl.glDrawElements(mode, count, type, <void *>indices)
 * 
 * def glEnable(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glEnable() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_42glEnable(PyObject *__pyx_self, PyObject *__pyx_arg_cap); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_42glEnable[] = "glEnable(GLenum cap)\nSee: `glEnable() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_42glEnable = {__Pyx_NAMESTR("glEnable"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_42glEnable, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_42glEnable)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_42glEnable(PyObject *__pyx_self, PyObject *__pyx_arg_cap) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glEnable");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_cap); {
    __pyx_v_cap = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_cap); if (unlikely((__pyx_v_cap == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glEnable");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":732
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml>`_
 *     '''
 *     c_opengl.glEnable(cap)             # <<<<<<<<<<<<<<
 * 
 * def glEnableVertexAttribArray(GLuint index):
 */
  glEnable(__pyx_v_cap);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":734
 *     c_opengl.glEnable(cap)
 * 
 * def glEnableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glEnableVertexAttribArray() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_43glEnableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_43glEnableVertexAttribArray[] = "glEnableVertexAttribArray(GLuint index)\nSee: `glEnableVertexAttribArray() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_43glEnableVertexAttribArray = {__Pyx_NAMESTR("glEnableVertexAttribArray"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_43glEnableVertexAttribArray, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_43glEnableVertexAttribArray)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_43glEnableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glEnableVertexAttribArray");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_index); {
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_index); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glEnableVertexAttribArray");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":738
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml>`_
 *     '''
 *     c_opengl.glEnableVertexAttribArray(index)             # <<<<<<<<<<<<<<
 * 
 * def glFinish():
 */
  glEnableVertexAttribArray(__pyx_v_index);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":740
 *     c_opengl.glEnableVertexAttribArray(index)
 * 
 * def glFinish():             # <<<<<<<<<<<<<<
 *     '''See: `glFinish() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFinish.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_44glFinish(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_44glFinish[] = "glFinish()\nSee: `glFinish() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFinish.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_44glFinish = {__Pyx_NAMESTR("glFinish"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_44glFinish, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_44glFinish)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_44glFinish(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glFinish");
  __pyx_self = __pyx_self;

  /* "kivy/graphics/opengl.pyx":744
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFinish.xml>`_
 *     '''
 *     c_opengl.glFinish()             # <<<<<<<<<<<<<<
 * 
 * def glFlush():
 */
  glFinish();

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":746
 *     c_opengl.glFinish()
 * 
 * def glFlush():             # <<<<<<<<<<<<<<
 *     '''See: `glFlush() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFlush.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_45glFlush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_45glFlush[] = "glFlush()\nSee: `glFlush() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFlush.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_45glFlush = {__Pyx_NAMESTR("glFlush"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_45glFlush, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_45glFlush)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_45glFlush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glFlush");
  __pyx_self = __pyx_self;

  /* "kivy/graphics/opengl.pyx":750
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFlush.xml>`_
 *     '''
 *     c_opengl.glFlush()             # <<<<<<<<<<<<<<
 * 
 * def glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer):
 */
  glFlush();

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":752
 *     c_opengl.glFlush()
 * 
 * def glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glFramebufferRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferRenderbuffer.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer[] = "glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)\nSee: `glFramebufferRenderbuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferRenderbuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer = {__Pyx_NAMESTR("glFramebufferRenderbuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_attachment;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_renderbuffertarget;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_renderbuffer;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__attachment,&__pyx_n_s__renderbuffertarget,&__pyx_n_s__renderbuffer,0};
  __Pyx_RefNannySetupContext("glFramebufferRenderbuffer");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__attachment);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glFramebufferRenderbuffer", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__renderbuffertarget);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glFramebufferRenderbuffer", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__renderbuffer);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glFramebufferRenderbuffer", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glFramebufferRenderbuffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_attachment = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_attachment == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_renderbuffertarget = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_renderbuffertarget == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_renderbuffer = __Pyx_PyInt_AsUnsignedInt(values[3]); if (unlikely((__pyx_v_renderbuffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_attachment = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_attachment == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_renderbuffertarget = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_renderbuffertarget == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_renderbuffer = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_renderbuffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glFramebufferRenderbuffer", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glFramebufferRenderbuffer");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":756
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferRenderbuffer.xml>`_
 *     '''
 *     c_opengl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)             # <<<<<<<<<<<<<<
 * 
 * def glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level):
 */
  glFramebufferRenderbuffer(__pyx_v_target, __pyx_v_attachment, __pyx_v_renderbuffertarget, __pyx_v_renderbuffer);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":758
 *     c_opengl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)
 * 
 * def glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level):             # <<<<<<<<<<<<<<
 *     '''See: `glFramebufferTexture2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferTexture2D.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_47glFramebufferTexture2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_47glFramebufferTexture2D[] = "glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)\nSee: `glFramebufferTexture2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferTexture2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_47glFramebufferTexture2D = {__Pyx_NAMESTR("glFramebufferTexture2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_47glFramebufferTexture2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_47glFramebufferTexture2D)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_47glFramebufferTexture2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_attachment;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_textarget;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_texture;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_level;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__attachment,&__pyx_n_s__textarget,&__pyx_n_s__texture,&__pyx_n_s__level,0};
  __Pyx_RefNannySetupContext("glFramebufferTexture2D");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[5] = {0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__attachment);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glFramebufferTexture2D", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__textarget);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glFramebufferTexture2D", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__texture);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glFramebufferTexture2D", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glFramebufferTexture2D", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glFramebufferTexture2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_attachment = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_attachment == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_textarget = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_textarget == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_texture = __Pyx_PyInt_AsUnsignedInt(values[3]); if (unlikely((__pyx_v_texture == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_attachment = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_attachment == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_textarget = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_textarget == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_texture = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_texture == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glFramebufferTexture2D", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glFramebufferTexture2D");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":762
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferTexture2D.xml>`_
 *     '''
 *     c_opengl.glFramebufferTexture2D(target, attachment, textarget, texture, level)             # <<<<<<<<<<<<<<
 * 
 * def glFrontFace(GLenum mode):
 */
  glFramebufferTexture2D(__pyx_v_target, __pyx_v_attachment, __pyx_v_textarget, __pyx_v_texture, __pyx_v_level);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":764
 *     c_opengl.glFramebufferTexture2D(target, attachment, textarget, texture, level)
 * 
 * def glFrontFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glFrontFace() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_48glFrontFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_48glFrontFace[] = "glFrontFace(GLenum mode)\nSee: `glFrontFace() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_48glFrontFace = {__Pyx_NAMESTR("glFrontFace"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_48glFrontFace, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_48glFrontFace)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_48glFrontFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glFrontFace");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_mode); {
    __pyx_v_mode = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_mode); if (unlikely((__pyx_v_mode == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glFrontFace");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":768
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml>`_
 *     '''
 *     c_opengl.glFrontFace(mode)             # <<<<<<<<<<<<<<
 * 
 * def glGenBuffers(GLsizei n):
 */
  glFrontFace(__pyx_v_mode);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":770
 *     c_opengl.glFrontFace(mode)
 * 
 * def glGenBuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenBuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenBuffers.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_49glGenBuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_49glGenBuffers[] = "glGenBuffers(GLsizei n)\nSee: `glGenBuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenBuffers.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_49glGenBuffers = {__Pyx_NAMESTR("glGenBuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_49glGenBuffers, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_49glGenBuffers)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_49glGenBuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_d;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glGenBuffers");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_n); {
    __pyx_v_n = __Pyx_PyInt_AsInt(__pyx_arg_n); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenBuffers");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":776
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLuint *d = _genBegin(n)             # <<<<<<<<<<<<<<
 *     c_opengl.glGenBuffers(n, d)
 *     return _genEnd(n, d)
 */
  __pyx_v_d = __pyx_f_4kivy_8graphics_6opengl__genBegin(__pyx_v_n);

  /* "kivy/graphics/opengl.pyx":777
 *     '''
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenBuffers(n, d)             # <<<<<<<<<<<<<<
 *     return _genEnd(n, d)
 * 
 */
  glGenBuffers(__pyx_v_n, __pyx_v_d);

  /* "kivy/graphics/opengl.pyx":778
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenBuffers(n, d)
 *     return _genEnd(n, d)             # <<<<<<<<<<<<<<
 * 
 * def glGenerateMipmap(GLenum target):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_4kivy_8graphics_6opengl__genEnd(__pyx_v_n, __pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenBuffers");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":780
 *     return _genEnd(n, d)
 * 
 * def glGenerateMipmap(GLenum target):             # <<<<<<<<<<<<<<
 *     '''See: `glGenerateMipmap() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenerateMipmap.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_50glGenerateMipmap(PyObject *__pyx_self, PyObject *__pyx_arg_target); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_50glGenerateMipmap[] = "glGenerateMipmap(GLenum target)\nSee: `glGenerateMipmap() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenerateMipmap.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_50glGenerateMipmap = {__Pyx_NAMESTR("glGenerateMipmap"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_50glGenerateMipmap, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_50glGenerateMipmap)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_50glGenerateMipmap(PyObject *__pyx_self, PyObject *__pyx_arg_target) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glGenerateMipmap");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_target); {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_target); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenerateMipmap");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":784
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenerateMipmap.xml>`_
 *     '''
 *     c_opengl.glGenerateMipmap(target)             # <<<<<<<<<<<<<<
 * 
 * def glGenFramebuffers(GLsizei n):
 */
  glGenerateMipmap(__pyx_v_target);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":786
 *     c_opengl.glGenerateMipmap(target)
 * 
 * def glGenFramebuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenFramebuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenFramebuffers.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_51glGenFramebuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_51glGenFramebuffers[] = "glGenFramebuffers(GLsizei n)\nSee: `glGenFramebuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenFramebuffers.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_51glGenFramebuffers = {__Pyx_NAMESTR("glGenFramebuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_51glGenFramebuffers, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_51glGenFramebuffers)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_51glGenFramebuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_d;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glGenFramebuffers");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_n); {
    __pyx_v_n = __Pyx_PyInt_AsInt(__pyx_arg_n); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenFramebuffers");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":792
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLuint *d = _genBegin(n)             # <<<<<<<<<<<<<<
 *     c_opengl.glGenFramebuffers(n, d)
 *     return _genEnd(n, d)
 */
  __pyx_v_d = __pyx_f_4kivy_8graphics_6opengl__genBegin(__pyx_v_n);

  /* "kivy/graphics/opengl.pyx":793
 *     '''
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenFramebuffers(n, d)             # <<<<<<<<<<<<<<
 *     return _genEnd(n, d)
 * 
 */
  glGenFramebuffers(__pyx_v_n, __pyx_v_d);

  /* "kivy/graphics/opengl.pyx":794
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenFramebuffers(n, d)
 *     return _genEnd(n, d)             # <<<<<<<<<<<<<<
 * 
 * def glGenRenderbuffers(GLsizei n):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_4kivy_8graphics_6opengl__genEnd(__pyx_v_n, __pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenFramebuffers");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":796
 *     return _genEnd(n, d)
 * 
 * def glGenRenderbuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenRenderbuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenRenderbuffers.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_52glGenRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_52glGenRenderbuffers[] = "glGenRenderbuffers(GLsizei n)\nSee: `glGenRenderbuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenRenderbuffers.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_52glGenRenderbuffers = {__Pyx_NAMESTR("glGenRenderbuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_52glGenRenderbuffers, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_52glGenRenderbuffers)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_52glGenRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_d;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glGenRenderbuffers");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_n); {
    __pyx_v_n = __Pyx_PyInt_AsInt(__pyx_arg_n); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenRenderbuffers");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":802
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLuint *d = _genBegin(n)             # <<<<<<<<<<<<<<
 *     c_opengl.glGenRenderbuffers(n, d)
 *     return _genEnd(n, d)
 */
  __pyx_v_d = __pyx_f_4kivy_8graphics_6opengl__genBegin(__pyx_v_n);

  /* "kivy/graphics/opengl.pyx":803
 *     '''
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenRenderbuffers(n, d)             # <<<<<<<<<<<<<<
 *     return _genEnd(n, d)
 * 
 */
  glGenRenderbuffers(__pyx_v_n, __pyx_v_d);

  /* "kivy/graphics/opengl.pyx":804
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenRenderbuffers(n, d)
 *     return _genEnd(n, d)             # <<<<<<<<<<<<<<
 * 
 * def glGenTextures(GLsizei n):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_4kivy_8graphics_6opengl__genEnd(__pyx_v_n, __pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenRenderbuffers");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":806
 *     return _genEnd(n, d)
 * 
 * def glGenTextures(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenTextures() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenTextures.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_53glGenTextures(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_53glGenTextures[] = "glGenTextures(GLsizei n)\nSee: `glGenTextures() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenTextures.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_53glGenTextures = {__Pyx_NAMESTR("glGenTextures"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_53glGenTextures, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_53glGenTextures)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_53glGenTextures(PyObject *__pyx_self, PyObject *__pyx_arg_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_d;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glGenTextures");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_n); {
    __pyx_v_n = __Pyx_PyInt_AsInt(__pyx_arg_n); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenTextures");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":812
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLuint *d = _genBegin(n)             # <<<<<<<<<<<<<<
 *     c_opengl.glGenTextures(n, d)
 *     return _genEnd(n, d)
 */
  __pyx_v_d = __pyx_f_4kivy_8graphics_6opengl__genBegin(__pyx_v_n);

  /* "kivy/graphics/opengl.pyx":813
 *     '''
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenTextures(n, d)             # <<<<<<<<<<<<<<
 *     return _genEnd(n, d)
 * 
 */
  glGenTextures(__pyx_v_n, __pyx_v_d);

  /* "kivy/graphics/opengl.pyx":814
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenTextures(n, d)
 *     return _genEnd(n, d)             # <<<<<<<<<<<<<<
 * 
 * def glGetActiveAttrib(GLuint program, GLuint index):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_4kivy_8graphics_6opengl__genEnd(__pyx_v_n, __pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenTextures");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":816
 *     return _genEnd(n, d)
 * 
 * def glGetActiveAttrib(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glGetActiveAttrib() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveAttrib.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_54glGetActiveAttrib(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_54glGetActiveAttrib[] = "glGetActiveAttrib(GLuint program, GLuint index)\nSee: `glGetActiveAttrib() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveAttrib.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_54glGetActiveAttrib = {__Pyx_NAMESTR("glGetActiveAttrib"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_54glGetActiveAttrib, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_54glGetActiveAttrib)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_54glGetActiveAttrib(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_size;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_gl_type;
  __pyx_t_4kivy_8graphics_6opengl_GLchar *__pyx_v_name;
  PyObject *__pyx_v_p_name;
  PyObject *__pyx_r = NULL;
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__index,0};
  __Pyx_RefNannySetupContext("glGetActiveAttrib");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetActiveAttrib", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetActiveAttrib") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetActiveAttrib", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetActiveAttrib");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_p_name = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":826
 *     cdef GLchar *name
 *     cdef bytes p_name
 *     name = <GLchar *>malloc(sizeof(GLchar) * 255)             # <<<<<<<<<<<<<<
 *     if name == NULL:
 *         raise MemoryError('glGetActiveAttrib()')
 */
  __pyx_v_name = ((__pyx_t_4kivy_8graphics_6opengl_GLchar *)malloc(((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLchar)) * 255)));

  /* "kivy/graphics/opengl.pyx":827
 *     cdef bytes p_name
 *     name = <GLchar *>malloc(sizeof(GLchar) * 255)
 *     if name == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetActiveAttrib()')
 *     c_opengl.glGetActiveAttrib(program, index, 255, NULL, &size, &gl_type, name)
 */
  __pyx_t_1 = (__pyx_v_name == NULL);
  if (__pyx_t_1) {

    /* "kivy/graphics/opengl.pyx":828
 *     name = <GLchar *>malloc(sizeof(GLchar) * 255)
 *     if name == NULL:
 *         raise MemoryError('glGetActiveAttrib()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetActiveAttrib(program, index, 255, NULL, &size, &gl_type, name)
 *     p_name = <char *>name
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "kivy/graphics/opengl.pyx":829
 *     if name == NULL:
 *         raise MemoryError('glGetActiveAttrib()')
 *     c_opengl.glGetActiveAttrib(program, index, 255, NULL, &size, &gl_type, name)             # <<<<<<<<<<<<<<
 *     p_name = <char *>name
 *     free(name)
 */
  glGetActiveAttrib(__pyx_v_program, __pyx_v_index, 255, NULL, (&__pyx_v_size), (&__pyx_v_gl_type), __pyx_v_name);

  /* "kivy/graphics/opengl.pyx":830
 *         raise MemoryError('glGetActiveAttrib()')
 *     c_opengl.glGetActiveAttrib(program, index, 255, NULL, &size, &gl_type, name)
 *     p_name = <char *>name             # <<<<<<<<<<<<<<
 *     free(name)
 *     return p_name, size, gl_type
 */
  __pyx_t_2 = PyBytes_FromString(((char *)__pyx_v_name)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __Pyx_DECREF(((PyObject *)__pyx_v_p_name));
  __pyx_v_p_name = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":831
 *     c_opengl.glGetActiveAttrib(program, index, 255, NULL, &size, &gl_type, name)
 *     p_name = <char *>name
 *     free(name)             # <<<<<<<<<<<<<<
 *     return p_name, size, gl_type
 * 
 */
  free(__pyx_v_name);

  /* "kivy/graphics/opengl.pyx":832
 *     p_name = <char *>name
 *     free(name)
 *     return p_name, size, gl_type             # <<<<<<<<<<<<<<
 * 
 * def glGetActiveUniform(GLuint program, GLuint index):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyInt_FromLong(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyLong_FromUnsignedLong(__pyx_v_gl_type); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __Pyx_INCREF(((PyObject *)__pyx_v_p_name));
  PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_p_name));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_p_name));
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = ((PyObject *)__pyx_t_4);
  __pyx_t_4 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetActiveAttrib");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_DECREF(__pyx_v_p_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":834
 *     return p_name, size, gl_type
 * 
 * def glGetActiveUniform(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glGetActiveUniform() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveUniform.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_55glGetActiveUniform(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_55glGetActiveUniform[] = "glGetActiveUniform(GLuint program, GLuint index)\nSee: `glGetActiveUniform() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveUniform.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_55glGetActiveUniform = {__Pyx_NAMESTR("glGetActiveUniform"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_55glGetActiveUniform, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_55glGetActiveUniform)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_55glGetActiveUniform(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_size;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_gl_type;
  __pyx_t_4kivy_8graphics_6opengl_GLchar *__pyx_v_name;
  PyObject *__pyx_v_p_name;
  PyObject *__pyx_r = NULL;
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__index,0};
  __Pyx_RefNannySetupContext("glGetActiveUniform");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetActiveUniform", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetActiveUniform") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetActiveUniform", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetActiveUniform");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_p_name = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":844
 *     cdef GLchar *name
 *     cdef bytes p_name
 *     name = <GLchar *>malloc(sizeof(GLchar) * 255)             # <<<<<<<<<<<<<<
 *     if name == NULL:
 *         raise MemoryError('glGetActiveUniform()')
 */
  __pyx_v_name = ((__pyx_t_4kivy_8graphics_6opengl_GLchar *)malloc(((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLchar)) * 255)));

  /* "kivy/graphics/opengl.pyx":845
 *     cdef bytes p_name
 *     name = <GLchar *>malloc(sizeof(GLchar) * 255)
 *     if name == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetActiveUniform()')
 *     c_opengl.glGetActiveUniform(program, index, 255, NULL, &size, &gl_type, name)
 */
  __pyx_t_1 = (__pyx_v_name == NULL);
  if (__pyx_t_1) {

    /* "kivy/graphics/opengl.pyx":846
 *     name = <GLchar *>malloc(sizeof(GLchar) * 255)
 *     if name == NULL:
 *         raise MemoryError('glGetActiveUniform()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetActiveUniform(program, index, 255, NULL, &size, &gl_type, name)
 *     p_name = <char *>name
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "kivy/graphics/opengl.pyx":847
 *     if name == NULL:
 *         raise MemoryError('glGetActiveUniform()')
 *     c_opengl.glGetActiveUniform(program, index, 255, NULL, &size, &gl_type, name)             # <<<<<<<<<<<<<<
 *     p_name = <char *>name
 *     free(name)
 */
  glGetActiveUniform(__pyx_v_program, __pyx_v_index, 255, NULL, (&__pyx_v_size), (&__pyx_v_gl_type), __pyx_v_name);

  /* "kivy/graphics/opengl.pyx":848
 *         raise MemoryError('glGetActiveUniform()')
 *     c_opengl.glGetActiveUniform(program, index, 255, NULL, &size, &gl_type, name)
 *     p_name = <char *>name             # <<<<<<<<<<<<<<
 *     free(name)
 *     return p_name, size, gl_type
 */
  __pyx_t_2 = PyBytes_FromString(((char *)__pyx_v_name)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __Pyx_DECREF(((PyObject *)__pyx_v_p_name));
  __pyx_v_p_name = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":849
 *     c_opengl.glGetActiveUniform(program, index, 255, NULL, &size, &gl_type, name)
 *     p_name = <char *>name
 *     free(name)             # <<<<<<<<<<<<<<
 *     return p_name, size, gl_type
 * 
 */
  free(__pyx_v_name);

  /* "kivy/graphics/opengl.pyx":850
 *     p_name = <char *>name
 *     free(name)
 *     return p_name, size, gl_type             # <<<<<<<<<<<<<<
 * 
 * def glGetAttachedShaders(GLuint program, GLsizei maxcount):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_2 = PyInt_FromLong(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyLong_FromUnsignedLong(__pyx_v_gl_type); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
  __Pyx_INCREF(((PyObject *)__pyx_v_p_name));
  PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_p_name));
  __Pyx_GIVEREF(((PyObject *)__pyx_v_p_name));
  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  __pyx_t_2 = 0;
  __pyx_t_3 = 0;
  __pyx_r = ((PyObject *)__pyx_t_4);
  __pyx_t_4 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetActiveUniform");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_DECREF(__pyx_v_p_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":852
 *     return p_name, size, gl_type
 * 
 * def glGetAttachedShaders(GLuint program, GLsizei maxcount):             # <<<<<<<<<<<<<<
 *     '''See: `glGetAttachedShaders() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttachedShaders.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_56glGetAttachedShaders(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_56glGetAttachedShaders[] = "glGetAttachedShaders(GLuint program, GLsizei maxcount)\nSee: `glGetAttachedShaders() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttachedShaders.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_56glGetAttachedShaders = {__Pyx_NAMESTR("glGetAttachedShaders"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_56glGetAttachedShaders, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_56glGetAttachedShaders)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_56glGetAttachedShaders(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_maxcount;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_shaders;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__maxcount,0};
  __Pyx_RefNannySetupContext("glGetAttachedShaders");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__maxcount);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetAttachedShaders", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetAttachedShaders") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_maxcount = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_maxcount == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_maxcount = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_maxcount == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetAttachedShaders", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetAttachedShaders");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":858
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLsizei count = 1024             # <<<<<<<<<<<<<<
 *     cdef GLuint *shaders = _genBegin(count)
 *     c_opengl.glGetAttachedShaders(program, count, &count, shaders)
 */
  __pyx_v_count = 1024;

  /* "kivy/graphics/opengl.pyx":859
 *     '''
 *     cdef GLsizei count = 1024
 *     cdef GLuint *shaders = _genBegin(count)             # <<<<<<<<<<<<<<
 *     c_opengl.glGetAttachedShaders(program, count, &count, shaders)
 *     return _genEnd(count, shaders)
 */
  __pyx_v_shaders = __pyx_f_4kivy_8graphics_6opengl__genBegin(__pyx_v_count);

  /* "kivy/graphics/opengl.pyx":860
 *     cdef GLsizei count = 1024
 *     cdef GLuint *shaders = _genBegin(count)
 *     c_opengl.glGetAttachedShaders(program, count, &count, shaders)             # <<<<<<<<<<<<<<
 *     return _genEnd(count, shaders)
 * 
 */
  glGetAttachedShaders(__pyx_v_program, __pyx_v_count, (&__pyx_v_count), __pyx_v_shaders);

  /* "kivy/graphics/opengl.pyx":861
 *     cdef GLuint *shaders = _genBegin(count)
 *     c_opengl.glGetAttachedShaders(program, count, &count, shaders)
 *     return _genEnd(count, shaders)             # <<<<<<<<<<<<<<
 * 
 * def glGetAttribLocation(GLuint program,  bytes name):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_4kivy_8graphics_6opengl__genEnd(__pyx_v_count, __pyx_v_shaders)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetAttachedShaders");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":863
 *     return _genEnd(count, shaders)
 * 
 * def glGetAttribLocation(GLuint program,  bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetAttribLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttribLocation.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_57glGetAttribLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_57glGetAttribLocation[] = "glGetAttribLocation(GLuint program, bytes name)\nSee: `glGetAttribLocation() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttribLocation.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_57glGetAttribLocation = {__Pyx_NAMESTR("glGetAttribLocation"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_57glGetAttribLocation, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_57glGetAttribLocation)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_57glGetAttribLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__name,0};
  __Pyx_RefNannySetupContext("glGetAttribLocation");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetAttribLocation", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetAttribLocation") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_name = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_name = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetAttribLocation", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetAttribLocation");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyBytes_Type), 1, "name", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":869
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     return c_opengl.glGetAttribLocation(program, <char *>name)             # <<<<<<<<<<<<<<
 * 
 * def glGetBooleanv(GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_name)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(glGetAttribLocation(__pyx_v_program, __pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetAttribLocation");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":871
 *     return c_opengl.glGetAttribLocation(program, <char *>name)
 * 
 * def glGetBooleanv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetBooleanv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBooleanv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_58glGetBooleanv(PyObject *__pyx_self, PyObject *__pyx_arg_pname); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_58glGetBooleanv[] = "glGetBooleanv(GLenum pname)\nSee: `glGetBooleanv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBooleanv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_58glGetBooleanv = {__Pyx_NAMESTR("glGetBooleanv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_58glGetBooleanv, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_58glGetBooleanv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_58glGetBooleanv(PyObject *__pyx_self, PyObject *__pyx_arg_pname) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLboolean *__pyx_v_params;
  PyObject *__pyx_v_out = 0;
  PyObject *__pyx_v_i;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  __Pyx_RefNannySetupContext("glGetBooleanv");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_pname); {
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_pname); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetBooleanv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_i = Py_None; __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":877
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLboolean *params = <GLboolean *>malloc(_GL_GET_SIZE[pname] * sizeof(GLboolean))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetBooleanv()')
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLboolean))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLboolean *)malloc(__pyx_t_4));

  /* "kivy/graphics/opengl.pyx":878
 *     '''
 *     cdef GLboolean *params = <GLboolean *>malloc(_GL_GET_SIZE[pname] * sizeof(GLboolean))
 *     if params == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetBooleanv()')
 *     c_opengl.glGetBooleanv(pname, params)
 */
  __pyx_t_5 = (__pyx_v_params == NULL);
  if (__pyx_t_5) {

    /* "kivy/graphics/opengl.pyx":879
 *     cdef GLboolean *params = <GLboolean *>malloc(_GL_GET_SIZE[pname] * sizeof(GLboolean))
 *     if params == NULL:
 *         raise MemoryError('glGetBooleanv()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetBooleanv(pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "kivy/graphics/opengl.pyx":880
 *     if params == NULL:
 *         raise MemoryError('glGetBooleanv()')
 *     c_opengl.glGetBooleanv(pname, params)             # <<<<<<<<<<<<<<
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 */
  glGetBooleanv(__pyx_v_pname, __pyx_v_params);

  /* "kivy/graphics/opengl.pyx":881
 *         raise MemoryError('glGetBooleanv()')
 *     c_opengl.glGetBooleanv(pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]             # <<<<<<<<<<<<<<
 *     free(params)
 *     return out
 */
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_6 = 0; __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
  } else {
    __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(PyList_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else if (likely(PyTuple_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else {
      __pyx_t_2 = PyIter_Next(__pyx_t_1);
      if (!__pyx_t_2) {
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyInt_FromLong((__pyx_v_params[__pyx_t_7])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(PyList_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_INCREF(((PyObject *)__pyx_t_3));
  __pyx_v_out = ((PyObject *)__pyx_t_3);
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":882
 *     c_opengl.glGetBooleanv(pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)             # <<<<<<<<<<<<<<
 *     return out
 * 
 */
  free(__pyx_v_params);

  /* "kivy/graphics/opengl.pyx":883
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 *     return out             # <<<<<<<<<<<<<<
 * 
 * def glGetBufferParameteriv(GLenum target, GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_out);
  __pyx_r = __pyx_v_out;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetBooleanv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_DECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":885
 *     return out
 * 
 * def glGetBufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetBufferParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBufferParameteriv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_59glGetBufferParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_59glGetBufferParameteriv[] = "glGetBufferParameteriv(GLenum target, GLenum pname)\nSee: `glGetBufferParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBufferParameteriv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_59glGetBufferParameteriv = {__Pyx_NAMESTR("glGetBufferParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_59glGetBufferParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_59glGetBufferParameteriv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_59glGetBufferParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint *__pyx_v_params;
  PyObject *__pyx_v_out = 0;
  PyObject *__pyx_v_i;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetBufferParameteriv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetBufferParameteriv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetBufferParameteriv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetBufferParameteriv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetBufferParameteriv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_i = Py_None; __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":891
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetBufferParameteriv()')
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLint))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLint *)malloc(__pyx_t_4));

  /* "kivy/graphics/opengl.pyx":892
 *     '''
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetBufferParameteriv()')
 *     c_opengl.glGetBufferParameteriv(target, pname, params)
 */
  __pyx_t_5 = (__pyx_v_params == NULL);
  if (__pyx_t_5) {

    /* "kivy/graphics/opengl.pyx":893
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:
 *         raise MemoryError('glGetBufferParameteriv()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetBufferParameteriv(target, pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "kivy/graphics/opengl.pyx":894
 *     if params == NULL:
 *         raise MemoryError('glGetBufferParameteriv()')
 *     c_opengl.glGetBufferParameteriv(target, pname, params)             # <<<<<<<<<<<<<<
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 */
  glGetBufferParameteriv(__pyx_v_target, __pyx_v_pname, __pyx_v_params);

  /* "kivy/graphics/opengl.pyx":895
 *         raise MemoryError('glGetBufferParameteriv()')
 *     c_opengl.glGetBufferParameteriv(target, pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]             # <<<<<<<<<<<<<<
 *     free(params)
 *     return out
 */
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_6 = 0; __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
  } else {
    __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(PyList_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else if (likely(PyTuple_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else {
      __pyx_t_2 = PyIter_Next(__pyx_t_1);
      if (!__pyx_t_2) {
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyInt_FromLong((__pyx_v_params[__pyx_t_7])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(PyList_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_INCREF(((PyObject *)__pyx_t_3));
  __pyx_v_out = ((PyObject *)__pyx_t_3);
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":896
 *     c_opengl.glGetBufferParameteriv(target, pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)             # <<<<<<<<<<<<<<
 *     return out
 * 
 */
  free(__pyx_v_params);

  /* "kivy/graphics/opengl.pyx":897
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 *     return out             # <<<<<<<<<<<<<<
 * 
 * def glGetError():
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_out);
  __pyx_r = __pyx_v_out;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetBufferParameteriv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_DECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":899
 *     return out
 * 
 * def glGetError():             # <<<<<<<<<<<<<<
 *     '''See: `glGetError() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetError.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_60glGetError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_60glGetError[] = "glGetError()\nSee: `glGetError() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetError.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_60glGetError = {__Pyx_NAMESTR("glGetError"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_60glGetError, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_60glGetError)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_60glGetError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glGetError");
  __pyx_self = __pyx_self;

  /* "kivy/graphics/opengl.pyx":905
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     return c_opengl.glGetError()             # <<<<<<<<<<<<<<
 * 
 * def glGetFloatv(GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLenum(glGetError()); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetError");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":907
 *     return c_opengl.glGetError()
 * 
 * def glGetFloatv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetFloatv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFloatv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_61glGetFloatv(PyObject *__pyx_self, PyObject *__pyx_arg_pname); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_61glGetFloatv[] = "glGetFloatv(GLenum pname)\nSee: `glGetFloatv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFloatv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_61glGetFloatv = {__Pyx_NAMESTR("glGetFloatv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_61glGetFloatv, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_61glGetFloatv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_61glGetFloatv(PyObject *__pyx_self, PyObject *__pyx_arg_pname) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat *__pyx_v_params;
  PyObject *__pyx_v_out = 0;
  PyObject *__pyx_v_i;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  __Pyx_RefNannySetupContext("glGetFloatv");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_pname); {
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_pname); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetFloatv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_i = Py_None; __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":913
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLfloat *params = <GLfloat *>malloc(_GL_GET_SIZE[pname] * sizeof(GLfloat))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetFloatv()')
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLfloat))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLfloat *)malloc(__pyx_t_4));

  /* "kivy/graphics/opengl.pyx":914
 *     '''
 *     cdef GLfloat *params = <GLfloat *>malloc(_GL_GET_SIZE[pname] * sizeof(GLfloat))
 *     if params == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetFloatv()')
 *     c_opengl.glGetFloatv(pname, params)
 */
  __pyx_t_5 = (__pyx_v_params == NULL);
  if (__pyx_t_5) {

    /* "kivy/graphics/opengl.pyx":915
 *     cdef GLfloat *params = <GLfloat *>malloc(_GL_GET_SIZE[pname] * sizeof(GLfloat))
 *     if params == NULL:
 *         raise MemoryError('glGetFloatv()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetFloatv(pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "kivy/graphics/opengl.pyx":916
 *     if params == NULL:
 *         raise MemoryError('glGetFloatv()')
 *     c_opengl.glGetFloatv(pname, params)             # <<<<<<<<<<<<<<
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 */
  glGetFloatv(__pyx_v_pname, __pyx_v_params);

  /* "kivy/graphics/opengl.pyx":917
 *         raise MemoryError('glGetFloatv()')
 *     c_opengl.glGetFloatv(pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]             # <<<<<<<<<<<<<<
 *     free(params)
 *     return out
 */
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_6 = 0; __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
  } else {
    __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(PyList_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else if (likely(PyTuple_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else {
      __pyx_t_2 = PyIter_Next(__pyx_t_1);
      if (!__pyx_t_2) {
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyFloat_FromDouble((__pyx_v_params[__pyx_t_7])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(PyList_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_INCREF(((PyObject *)__pyx_t_3));
  __pyx_v_out = ((PyObject *)__pyx_t_3);
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":918
 *     c_opengl.glGetFloatv(pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)             # <<<<<<<<<<<<<<
 *     return out
 * 
 */
  free(__pyx_v_params);

  /* "kivy/graphics/opengl.pyx":919
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 *     return out             # <<<<<<<<<<<<<<
 * 
 * def glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_out);
  __pyx_r = __pyx_v_out;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetFloatv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_DECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":921
 *     return out
 * 
 * def glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetFramebufferAttachmentParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFramebufferAttachmentParameteriv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv[] = "glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname)\nSee: `glGetFramebufferAttachmentParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFramebufferAttachmentParameteriv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv = {__Pyx_NAMESTR("glGetFramebufferAttachmentParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_attachment;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint *__pyx_v_params;
  PyObject *__pyx_v_out = 0;
  PyObject *__pyx_v_i;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__attachment,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetFramebufferAttachmentParameteriv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__attachment);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetFramebufferAttachmentParameteriv", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetFramebufferAttachmentParameteriv", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetFramebufferAttachmentParameteriv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_attachment = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_attachment == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_attachment = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_attachment == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetFramebufferAttachmentParameteriv", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetFramebufferAttachmentParameteriv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_i = Py_None; __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":927
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetFramebufferAttachmentParameteriv()')
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLint))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLint *)malloc(__pyx_t_4));

  /* "kivy/graphics/opengl.pyx":928
 *     '''
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetFramebufferAttachmentParameteriv()')
 *     c_opengl.glGetFramebufferAttachmentParameteriv(target, attachment, pname, params)
 */
  __pyx_t_5 = (__pyx_v_params == NULL);
  if (__pyx_t_5) {

    /* "kivy/graphics/opengl.pyx":929
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:
 *         raise MemoryError('glGetFramebufferAttachmentParameteriv()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetFramebufferAttachmentParameteriv(target, attachment, pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "kivy/graphics/opengl.pyx":930
 *     if params == NULL:
 *         raise MemoryError('glGetFramebufferAttachmentParameteriv()')
 *     c_opengl.glGetFramebufferAttachmentParameteriv(target, attachment, pname, params)             # <<<<<<<<<<<<<<
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 */
  glGetFramebufferAttachmentParameteriv(__pyx_v_target, __pyx_v_attachment, __pyx_v_pname, __pyx_v_params);

  /* "kivy/graphics/opengl.pyx":931
 *         raise MemoryError('glGetFramebufferAttachmentParameteriv()')
 *     c_opengl.glGetFramebufferAttachmentParameteriv(target, attachment, pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]             # <<<<<<<<<<<<<<
 *     free(params)
 *     return out
 */
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_6 = 0; __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
  } else {
    __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(PyList_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else if (likely(PyTuple_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else {
      __pyx_t_2 = PyIter_Next(__pyx_t_1);
      if (!__pyx_t_2) {
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyInt_FromLong((__pyx_v_params[__pyx_t_7])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(PyList_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_INCREF(((PyObject *)__pyx_t_3));
  __pyx_v_out = ((PyObject *)__pyx_t_3);
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":932
 *     c_opengl.glGetFramebufferAttachmentParameteriv(target, attachment, pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)             # <<<<<<<<<<<<<<
 *     return out
 * 
 */
  free(__pyx_v_params);

  /* "kivy/graphics/opengl.pyx":933
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 *     return out             # <<<<<<<<<<<<<<
 * 
 * def glGetIntegerv(GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_out);
  __pyx_r = __pyx_v_out;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetFramebufferAttachmentParameteriv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_DECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":935
 *     return out
 * 
 * def glGetIntegerv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetIntegerv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetIntegerv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_63glGetIntegerv(PyObject *__pyx_self, PyObject *__pyx_arg_pname); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_63glGetIntegerv[] = "glGetIntegerv(GLenum pname)\nSee: `glGetIntegerv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetIntegerv.xml>`_\n\n    Unlike the C specification, the value(s) will be the result of the call\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_63glGetIntegerv = {__Pyx_NAMESTR("glGetIntegerv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_63glGetIntegerv, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_63glGetIntegerv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_63glGetIntegerv(PyObject *__pyx_self, PyObject *__pyx_arg_pname) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint *__pyx_v_params;
  PyObject *__pyx_v_out = 0;
  PyObject *__pyx_v_i;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  size_t __pyx_t_4;
  int __pyx_t_5;
  Py_ssize_t __pyx_t_6;
  Py_ssize_t __pyx_t_7;
  __Pyx_RefNannySetupContext("glGetIntegerv");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_pname); {
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_pname); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetIntegerv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_i = Py_None; __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":941
 *     Unlike the C specification, the value(s) will be the result of the call
 *     '''
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetIntegerv()')
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLint))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_4 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLint *)malloc(__pyx_t_4));

  /* "kivy/graphics/opengl.pyx":942
 *     '''
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetIntegerv()')
 *     c_opengl.glGetIntegerv(pname, params)
 */
  __pyx_t_5 = (__pyx_v_params == NULL);
  if (__pyx_t_5) {

    /* "kivy/graphics/opengl.pyx":943
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:
 *         raise MemoryError('glGetIntegerv()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetIntegerv(pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "kivy/graphics/opengl.pyx":944
 *     if params == NULL:
 *         raise MemoryError('glGetIntegerv()')
 *     c_opengl.glGetIntegerv(pname, params)             # <<<<<<<<<<<<<<
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 */
  glGetIntegerv(__pyx_v_pname, __pyx_v_params);

  /* "kivy/graphics/opengl.pyx":945
 *         raise MemoryError('glGetIntegerv()')
 *     c_opengl.glGetIntegerv(pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]             # <<<<<<<<<<<<<<
 *     free(params)
 *     return out
 */
  __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
  __Pyx_GIVEREF(__pyx_t_2);
  __pyx_t_2 = 0;
  __pyx_t_2 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
  if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
    __pyx_t_6 = 0; __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1);
  } else {
    __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (likely(PyList_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else if (likely(PyTuple_CheckExact(__pyx_t_1))) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++;
    } else {
      __pyx_t_2 = PyIter_Next(__pyx_t_1);
      if (!__pyx_t_2) {
        if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_DECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyInt_FromLong((__pyx_v_params[__pyx_t_7])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(PyList_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  }
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_INCREF(((PyObject *)__pyx_t_3));
  __pyx_v_out = ((PyObject *)__pyx_t_3);
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":946
 *     c_opengl.glGetIntegerv(pname, params)
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)             # <<<<<<<<<<<<<<
 *     return out
 * 
 */
  free(__pyx_v_params);

  /* "kivy/graphics/opengl.pyx":947
 *     cdef out = [params[i] for i in xrange(_GL_GET_SIZE[pname])]
 *     free(params)
 *     return out             # <<<<<<<<<<<<<<
 * 
 * def glGetProgramiv(GLuint program, GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_out);
  __pyx_r = __pyx_v_out;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetIntegerv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_DECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":949
 *     return out
 * 
 * def glGetProgramiv(GLuint program, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetProgramiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramiv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_64glGetProgramiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_64glGetProgramiv[] = "glGetProgramiv(GLuint program, GLenum pname)\nSee: `glGetProgramiv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramiv.xml>`_\n\n    Unlike the C specification, the value(s) will be the result of the call\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_64glGetProgramiv = {__Pyx_NAMESTR("glGetProgramiv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_64glGetProgramiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_64glGetProgramiv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_64glGetProgramiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_params;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetProgramiv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetProgramiv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetProgramiv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetProgramiv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetProgramiv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":956
 *     '''
 *     cdef GLint params
 *     c_opengl.glGetProgramiv(program, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetProgramiv(__pyx_v_program, __pyx_v_pname, (&__pyx_v_params));

  /* "kivy/graphics/opengl.pyx":957
 *     cdef GLint params
 *     c_opengl.glGetProgramiv(program, pname, &params)
 *     return params             # <<<<<<<<<<<<<<
 * 
 * def glGetProgramInfoLog(GLuint program, GLsizei bufsize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyInt_FromLong(__pyx_v_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetProgramiv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":959
 *     return params
 * 
 * def glGetProgramInfoLog(GLuint program, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     '''See: `glGetProgramInfoLog() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramInfoLog.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_65glGetProgramInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_65glGetProgramInfoLog[] = "glGetProgramInfoLog(GLuint program, GLsizei bufsize)\nSee: `glGetProgramInfoLog() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramInfoLog.xml>`_\n\n    Unlike the C specification, the source code will be returned as a string.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_65glGetProgramInfoLog = {__Pyx_NAMESTR("glGetProgramInfoLog"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_65glGetProgramInfoLog, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_65glGetProgramInfoLog)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_65glGetProgramInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_bufsize;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_size;
  __pyx_t_4kivy_8graphics_6opengl_GLchar *__pyx_v_infolog;
  PyObject *__pyx_v_p_infolog;
  PyObject *__pyx_r = NULL;
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__bufsize,0};
  __Pyx_RefNannySetupContext("glGetProgramInfoLog");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__bufsize);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetProgramInfoLog", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetProgramInfoLog") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_bufsize = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_bufsize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_bufsize = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_bufsize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetProgramInfoLog", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetProgramInfoLog");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_p_infolog = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":968
 *     cdef GLchar *infolog
 *     cdef bytes p_infolog
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)             # <<<<<<<<<<<<<<
 *     if infolog == NULL:
 *         raise MemoryError('glGetProgramInfoLog()')
 */
  __pyx_v_infolog = ((__pyx_t_4kivy_8graphics_6opengl_GLchar *)malloc(((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLchar)) * 2048)));

  /* "kivy/graphics/opengl.pyx":969
 *     cdef bytes p_infolog
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)
 *     if infolog == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetProgramInfoLog()')
 *     c_opengl.glGetProgramInfoLog(program, 2048, &size, infolog)
 */
  __pyx_t_1 = (__pyx_v_infolog == NULL);
  if (__pyx_t_1) {

    /* "kivy/graphics/opengl.pyx":970
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)
 *     if infolog == NULL:
 *         raise MemoryError('glGetProgramInfoLog()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetProgramInfoLog(program, 2048, &size, infolog)
 *     p_infolog = <char *>infolog
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "kivy/graphics/opengl.pyx":971
 *     if infolog == NULL:
 *         raise MemoryError('glGetProgramInfoLog()')
 *     c_opengl.glGetProgramInfoLog(program, 2048, &size, infolog)             # <<<<<<<<<<<<<<
 *     p_infolog = <char *>infolog
 *     free(infolog)
 */
  glGetProgramInfoLog(__pyx_v_program, 2048, (&__pyx_v_size), __pyx_v_infolog);

  /* "kivy/graphics/opengl.pyx":972
 *         raise MemoryError('glGetProgramInfoLog()')
 *     c_opengl.glGetProgramInfoLog(program, 2048, &size, infolog)
 *     p_infolog = <char *>infolog             # <<<<<<<<<<<<<<
 *     free(infolog)
 *     return p_infolog
 */
  __pyx_t_2 = PyBytes_FromString(((char *)__pyx_v_infolog)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __Pyx_DECREF(((PyObject *)__pyx_v_p_infolog));
  __pyx_v_p_infolog = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":973
 *     c_opengl.glGetProgramInfoLog(program, 2048, &size, infolog)
 *     p_infolog = <char *>infolog
 *     free(infolog)             # <<<<<<<<<<<<<<
 *     return p_infolog
 * 
 */
  free(__pyx_v_infolog);

  /* "kivy/graphics/opengl.pyx":974
 *     p_infolog = <char *>infolog
 *     free(infolog)
 *     return p_infolog             # <<<<<<<<<<<<<<
 * 
 * def glGetRenderbufferParameteriv(GLenum target, GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_p_infolog));
  __pyx_r = ((PyObject *)__pyx_v_p_infolog);
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetProgramInfoLog");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_DECREF(__pyx_v_p_infolog);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":976
 *     return p_infolog
 * 
 * def glGetRenderbufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetRenderbufferParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetRenderbufferParameteriv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv[] = "glGetRenderbufferParameteriv(GLenum target, GLenum pname)\nSee: `glGetRenderbufferParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetRenderbufferParameteriv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv = {__Pyx_NAMESTR("glGetRenderbufferParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_params;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetRenderbufferParameteriv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetRenderbufferParameteriv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetRenderbufferParameteriv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetRenderbufferParameteriv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetRenderbufferParameteriv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":983
 *     '''
 *     cdef GLint params
 *     c_opengl.glGetRenderbufferParameteriv(target, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetRenderbufferParameteriv(__pyx_v_target, __pyx_v_pname, (&__pyx_v_params));

  /* "kivy/graphics/opengl.pyx":984
 *     cdef GLint params
 *     c_opengl.glGetRenderbufferParameteriv(target, pname, &params)
 *     return params             # <<<<<<<<<<<<<<
 * 
 * def glGetShaderiv(GLuint shader, GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyInt_FromLong(__pyx_v_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 984; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetRenderbufferParameteriv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":986
 *     return params
 * 
 * def glGetShaderiv(GLuint shader, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderiv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_67glGetShaderiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_67glGetShaderiv[] = "glGetShaderiv(GLuint shader, GLenum pname)\nSee: `glGetShaderiv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderiv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_67glGetShaderiv = {__Pyx_NAMESTR("glGetShaderiv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_67glGetShaderiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_67glGetShaderiv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_67glGetShaderiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_params;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__shader,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetShaderiv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetShaderiv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetShaderiv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetShaderiv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderiv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":993
 *     '''
 *     cdef GLint params
 *     c_opengl.glGetShaderiv(shader, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetShaderiv(__pyx_v_shader, __pyx_v_pname, (&__pyx_v_params));

  /* "kivy/graphics/opengl.pyx":994
 *     cdef GLint params
 *     c_opengl.glGetShaderiv(shader, pname, &params)
 *     return params             # <<<<<<<<<<<<<<
 * 
 * def glGetShaderInfoLog(GLuint shader, GLsizei bufsize):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyInt_FromLong(__pyx_v_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderiv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":996
 *     return params
 * 
 * def glGetShaderInfoLog(GLuint shader, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderInfoLog() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderInfoLog.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_68glGetShaderInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_68glGetShaderInfoLog[] = "glGetShaderInfoLog(GLuint shader, GLsizei bufsize)\nSee: `glGetShaderInfoLog() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderInfoLog.xml>`_\n\n    Unlike the C specification, the source code will be returned as a string.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_68glGetShaderInfoLog = {__Pyx_NAMESTR("glGetShaderInfoLog"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_68glGetShaderInfoLog, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_68glGetShaderInfoLog)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_68glGetShaderInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_bufsize;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_size;
  __pyx_t_4kivy_8graphics_6opengl_GLchar *__pyx_v_infolog;
  PyObject *__pyx_v_p_infolog;
  PyObject *__pyx_r = NULL;
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__shader,&__pyx_n_s__bufsize,0};
  __Pyx_RefNannySetupContext("glGetShaderInfoLog");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__bufsize);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetShaderInfoLog", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetShaderInfoLog") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_bufsize = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_bufsize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_bufsize = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_bufsize == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetShaderInfoLog", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderInfoLog");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_p_infolog = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":1005
 *     cdef GLchar *infolog
 *     cdef bytes p_infolog
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)             # <<<<<<<<<<<<<<
 *     if infolog == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')
 */
  __pyx_v_infolog = ((__pyx_t_4kivy_8graphics_6opengl_GLchar *)malloc(((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLchar)) * 2048)));

  /* "kivy/graphics/opengl.pyx":1006
 *     cdef bytes p_infolog
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)
 *     if infolog == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetShaderInfoLog()')
 *     c_opengl.glGetShaderInfoLog(shader, 2048, &size, infolog)
 */
  __pyx_t_1 = (__pyx_v_infolog == NULL);
  if (__pyx_t_1) {

    /* "kivy/graphics/opengl.pyx":1007
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)
 *     if infolog == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetShaderInfoLog(shader, 2048, &size, infolog)
 *     p_infolog = <char *>infolog
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "kivy/graphics/opengl.pyx":1008
 *     if infolog == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')
 *     c_opengl.glGetShaderInfoLog(shader, 2048, &size, infolog)             # <<<<<<<<<<<<<<
 *     p_infolog = <char *>infolog
 *     free(infolog)
 */
  glGetShaderInfoLog(__pyx_v_shader, 2048, (&__pyx_v_size), __pyx_v_infolog);

  /* "kivy/graphics/opengl.pyx":1009
 *         raise MemoryError('glGetShaderInfoLog()')
 *     c_opengl.glGetShaderInfoLog(shader, 2048, &size, infolog)
 *     p_infolog = <char *>infolog             # <<<<<<<<<<<<<<
 *     free(infolog)
 *     return p_infolog
 */
  __pyx_t_2 = PyBytes_FromString(((char *)__pyx_v_infolog)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1009; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __Pyx_DECREF(((PyObject *)__pyx_v_p_infolog));
  __pyx_v_p_infolog = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":1010
 *     c_opengl.glGetShaderInfoLog(shader, 2048, &size, infolog)
 *     p_infolog = <char *>infolog
 *     free(infolog)             # <<<<<<<<<<<<<<
 *     return p_infolog
 * 
 */
  free(__pyx_v_infolog);

  /* "kivy/graphics/opengl.pyx":1011
 *     p_infolog = <char *>infolog
 *     free(infolog)
 *     return p_infolog             # <<<<<<<<<<<<<<
 * 
 * def glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype): #, GLint* range, GLint* precision):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_p_infolog));
  __pyx_r = ((PyObject *)__pyx_v_p_infolog);
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderInfoLog");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_DECREF(__pyx_v_p_infolog);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1013
 *     return p_infolog
 * 
 * def glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype): #, GLint* range, GLint* precision):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderPrecisionFormat() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderPrecisionFormat.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat[] = "glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype)\nSee: `glGetShaderPrecisionFormat() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderPrecisionFormat.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat = {__Pyx_NAMESTR("glGetShaderPrecisionFormat"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_shadertype;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_precisiontype;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__shadertype,&__pyx_n_s__precisiontype,0};
  __Pyx_RefNannySetupContext("glGetShaderPrecisionFormat");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shadertype);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__precisiontype);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetShaderPrecisionFormat", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetShaderPrecisionFormat") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_shadertype = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_shadertype == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_precisiontype = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_precisiontype == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_shadertype = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_shadertype == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_precisiontype = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_precisiontype == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetShaderPrecisionFormat", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderPrecisionFormat");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1019
 *     .. warning:: Not implemented yet.
 *     '''
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 * 
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderPrecisionFormat");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1022
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 * 
 * def glGetShaderSource(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderSource() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderSource.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_70glGetShaderSource(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_70glGetShaderSource[] = "glGetShaderSource(GLuint shader)\nSee: `glGetShaderSource() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderSource.xml>`_\n\n    Unlike the C specification, the source code will be returned as a string.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_70glGetShaderSource = {__Pyx_NAMESTR("glGetShaderSource"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_70glGetShaderSource, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_70glGetShaderSource)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_70glGetShaderSource(PyObject *__pyx_self, PyObject *__pyx_arg_shader) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_size;
  __pyx_t_4kivy_8graphics_6opengl_GLchar *__pyx_v_source;
  PyObject *__pyx_v_p_source;
  PyObject *__pyx_r = NULL;
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("glGetShaderSource");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_shader); {
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_shader); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderSource");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_p_source = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":1031
 *     cdef GLchar *source
 *     cdef bytes p_source
 *     source = <GLchar *>malloc(sizeof(GLchar) * 65535)             # <<<<<<<<<<<<<<
 *     if source == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')
 */
  __pyx_v_source = ((__pyx_t_4kivy_8graphics_6opengl_GLchar *)malloc(((sizeof(__pyx_t_4kivy_8graphics_6opengl_GLchar)) * 65535)));

  /* "kivy/graphics/opengl.pyx":1032
 *     cdef bytes p_source
 *     source = <GLchar *>malloc(sizeof(GLchar) * 65535)
 *     if source == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glGetShaderInfoLog()')
 *     c_opengl.glGetShaderSource(shader, 65535, &size, source)
 */
  __pyx_t_1 = (__pyx_v_source == NULL);
  if (__pyx_t_1) {

    /* "kivy/graphics/opengl.pyx":1033
 *     source = <GLchar *>malloc(sizeof(GLchar) * 65535)
 *     if source == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetShaderSource(shader, 65535, &size, source)
 *     p_source = <char *>source
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "kivy/graphics/opengl.pyx":1034
 *     if source == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')
 *     c_opengl.glGetShaderSource(shader, 65535, &size, source)             # <<<<<<<<<<<<<<
 *     p_source = <char *>source
 *     free(source)
 */
  glGetShaderSource(__pyx_v_shader, 65535, (&__pyx_v_size), __pyx_v_source);

  /* "kivy/graphics/opengl.pyx":1035
 *         raise MemoryError('glGetShaderInfoLog()')
 *     c_opengl.glGetShaderSource(shader, 65535, &size, source)
 *     p_source = <char *>source             # <<<<<<<<<<<<<<
 *     free(source)
 *     return p_source
 */
  __pyx_t_2 = PyBytes_FromString(((char *)__pyx_v_source)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __Pyx_DECREF(((PyObject *)__pyx_v_p_source));
  __pyx_v_p_source = __pyx_t_2;
  __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":1036
 *     c_opengl.glGetShaderSource(shader, 65535, &size, source)
 *     p_source = <char *>source
 *     free(source)             # <<<<<<<<<<<<<<
 *     return p_source
 * 
 */
  free(__pyx_v_source);

  /* "kivy/graphics/opengl.pyx":1037
 *     p_source = <char *>source
 *     free(source)
 *     return p_source             # <<<<<<<<<<<<<<
 * 
 * def glGetString(GLenum name):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_p_source));
  __pyx_r = ((PyObject *)__pyx_v_p_source);
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderSource");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_DECREF(__pyx_v_p_source);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1039
 *     return p_source
 * 
 * def glGetString(GLenum name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetString() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_71glGetString(PyObject *__pyx_self, PyObject *__pyx_arg_name); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_71glGetString[] = "glGetString(GLenum name)\nSee: `glGetString() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml>`_\n\n    Unlike the C specification, the value will be returned as a string.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_71glGetString = {__Pyx_NAMESTR("glGetString"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_71glGetString, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_71glGetString)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_71glGetString(PyObject *__pyx_self, PyObject *__pyx_arg_name) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_name;
  PyObject *__pyx_v_p_string;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glGetString");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_name); {
    __pyx_v_name = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_name); if (unlikely((__pyx_v_name == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetString");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_v_p_string = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);

  /* "kivy/graphics/opengl.pyx":1046
 *     '''
 *     cdef bytes p_string
 *     p_string = <char *>c_opengl.glGetString(name)             # <<<<<<<<<<<<<<
 *     return p_string
 * 
 */
  __pyx_t_1 = PyBytes_FromString(((char *)glGetString(__pyx_v_name))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  __Pyx_DECREF(((PyObject *)__pyx_v_p_string));
  __pyx_v_p_string = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":1047
 *     cdef bytes p_string
 *     p_string = <char *>c_opengl.glGetString(name)
 *     return p_string             # <<<<<<<<<<<<<<
 * 
 * def glGetTexParameterfv(GLenum target, GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(((PyObject *)__pyx_v_p_string));
  __pyx_r = ((PyObject *)__pyx_v_p_string);
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetString");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_DECREF(__pyx_v_p_string);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1049
 *     return p_string
 * 
 * def glGetTexParameterfv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetTexParameterfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameterfv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_72glGetTexParameterfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_72glGetTexParameterfv[] = "glGetTexParameterfv(GLenum target, GLenum pname)\nSee: `glGetTexParameterfv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameterfv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_72glGetTexParameterfv = {__Pyx_NAMESTR("glGetTexParameterfv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_72glGetTexParameterfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_72glGetTexParameterfv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_72glGetTexParameterfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_params;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetTexParameterfv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetTexParameterfv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetTexParameterfv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetTexParameterfv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetTexParameterfv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1054
 *     '''
 *     cdef GLfloat params
 *     c_opengl.glGetTexParameterfv(target, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetTexParameterfv(__pyx_v_target, __pyx_v_pname, (&__pyx_v_params));

  /* "kivy/graphics/opengl.pyx":1055
 *     cdef GLfloat params
 *     c_opengl.glGetTexParameterfv(target, pname, &params)
 *     return params             # <<<<<<<<<<<<<<
 * 
 * def glGetTexParameteriv(GLenum target, GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1055; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetTexParameterfv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1057
 *     return params
 * 
 * def glGetTexParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetTexParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameteriv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_73glGetTexParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_73glGetTexParameteriv[] = "glGetTexParameteriv(GLenum target, GLenum pname)\nSee: `glGetTexParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameteriv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_73glGetTexParameteriv = {__Pyx_NAMESTR("glGetTexParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_73glGetTexParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_73glGetTexParameteriv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_73glGetTexParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_params;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetTexParameteriv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetTexParameteriv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetTexParameteriv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetTexParameteriv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetTexParameteriv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1062
 *     '''
 *     cdef GLint params
 *     c_opengl.glGetTexParameteriv(target, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetTexParameteriv(__pyx_v_target, __pyx_v_pname, (&__pyx_v_params));

  /* "kivy/graphics/opengl.pyx":1063
 *     cdef GLint params
 *     c_opengl.glGetTexParameteriv(target, pname, &params)
 *     return params             # <<<<<<<<<<<<<<
 * 
 * def glGetUniformfv(GLuint program, GLint location):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyInt_FromLong(__pyx_v_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1063; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetTexParameteriv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1065
 *     return params
 * 
 * def glGetUniformfv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformfv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_74glGetUniformfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_74glGetUniformfv[] = "glGetUniformfv(GLuint program, GLint location)\nSee: `glGetUniformfv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformfv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_74glGetUniformfv = {__Pyx_NAMESTR("glGetUniformfv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_74glGetUniformfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_74glGetUniformfv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_74glGetUniformfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_params;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__location,0};
  __Pyx_RefNannySetupContext("glGetUniformfv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetUniformfv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetUniformfv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_location = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetUniformfv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetUniformfv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1070
 *     '''
 *     cdef GLfloat params
 *     c_opengl.glGetUniformfv(program, location, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetUniformfv(__pyx_v_program, __pyx_v_location, (&__pyx_v_params));

  /* "kivy/graphics/opengl.pyx":1071
 *     cdef GLfloat params
 *     c_opengl.glGetUniformfv(program, location, &params)
 *     return params             # <<<<<<<<<<<<<<
 * 
 * def glGetUniformiv(GLuint program, GLint location):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetUniformfv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1073
 *     return params
 * 
 * def glGetUniformiv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformiv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_75glGetUniformiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_75glGetUniformiv[] = "glGetUniformiv(GLuint program, GLint location)\nSee: `glGetUniformiv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformiv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_75glGetUniformiv = {__Pyx_NAMESTR("glGetUniformiv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_75glGetUniformiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_75glGetUniformiv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_75glGetUniformiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_params;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__location,0};
  __Pyx_RefNannySetupContext("glGetUniformiv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetUniformiv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetUniformiv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_location = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetUniformiv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetUniformiv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1078
 *     '''
 *     cdef GLint params
 *     c_opengl.glGetUniformiv(program, location, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetUniformiv(__pyx_v_program, __pyx_v_location, (&__pyx_v_params));

  /* "kivy/graphics/opengl.pyx":1079
 *     cdef GLint params
 *     c_opengl.glGetUniformiv(program, location, &params)
 *     return params             # <<<<<<<<<<<<<<
 * 
 * def glGetUniformLocation(GLuint program, bytes name):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyInt_FromLong(__pyx_v_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetUniformiv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1081
 *     return params
 * 
 * def glGetUniformLocation(GLuint program, bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_76glGetUniformLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_76glGetUniformLocation[] = "glGetUniformLocation(GLuint program, bytes name)\nSee: `glGetUniformLocation() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_76glGetUniformLocation = {__Pyx_NAMESTR("glGetUniformLocation"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_76glGetUniformLocation, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_76glGetUniformLocation)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_76glGetUniformLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  PyObject *__pyx_v_name = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__name,0};
  __Pyx_RefNannySetupContext("glGetUniformLocation");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetUniformLocation", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetUniformLocation") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_name = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_name = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetUniformLocation", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetUniformLocation");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyBytes_Type), 1, "name", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":1085
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml>`_
 *     '''
 *     return c_opengl.glGetUniformLocation(program, <char *>name)             # <<<<<<<<<<<<<<
 * 
 * def glGetVertexAttribfv(GLuint index, GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_name)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(glGetUniformLocation(__pyx_v_program, __pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_r = __pyx_t_2;
  __pyx_t_2 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetUniformLocation");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1087
 *     return c_opengl.glGetUniformLocation(program, <char *>name)
 * 
 * def glGetVertexAttribfv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribfv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_77glGetVertexAttribfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_77glGetVertexAttribfv[] = "glGetVertexAttribfv(GLuint index, GLenum pname)\nSee: `glGetVertexAttribfv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribfv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_77glGetVertexAttribfv = {__Pyx_NAMESTR("glGetVertexAttribfv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_77glGetVertexAttribfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_77glGetVertexAttribfv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_77glGetVertexAttribfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_params;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__index,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetVertexAttribfv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetVertexAttribfv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetVertexAttribfv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetVertexAttribfv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetVertexAttribfv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1092
 *     '''
 *     cdef GLfloat params
 *     c_opengl.glGetVertexAttribfv(index, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetVertexAttribfv(__pyx_v_index, __pyx_v_pname, (&__pyx_v_params));

  /* "kivy/graphics/opengl.pyx":1093
 *     cdef GLfloat params
 *     c_opengl.glGetVertexAttribfv(index, pname, &params)
 *     return params             # <<<<<<<<<<<<<<
 * 
 * def glGetVertexAttribiv(GLuint index, GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetVertexAttribfv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1095
 *     return params
 * 
 * def glGetVertexAttribiv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribiv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_78glGetVertexAttribiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_78glGetVertexAttribiv[] = "glGetVertexAttribiv(GLuint index, GLenum pname)\nSee: `glGetVertexAttribiv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribiv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_78glGetVertexAttribiv = {__Pyx_NAMESTR("glGetVertexAttribiv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_78glGetVertexAttribiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_78glGetVertexAttribiv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_78glGetVertexAttribiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_params;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__index,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetVertexAttribiv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetVertexAttribiv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetVertexAttribiv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetVertexAttribiv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetVertexAttribiv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1100
 *     '''
 *     cdef GLint params
 *     c_opengl.glGetVertexAttribiv(index, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetVertexAttribiv(__pyx_v_index, __pyx_v_pname, (&__pyx_v_params));

  /* "kivy/graphics/opengl.pyx":1101
 *     cdef GLint params
 *     c_opengl.glGetVertexAttribiv(index, pname, &params)
 *     return params             # <<<<<<<<<<<<<<
 * 
 * def glGetVertexAttribPointerv(GLuint index, GLenum pname):#, GLvoid** pointer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyInt_FromLong(__pyx_v_params); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetVertexAttribiv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1103
 *     return params
 * 
 * def glGetVertexAttribPointerv(GLuint index, GLenum pname):#, GLvoid** pointer):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribPointerv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribPointerv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv[] = "glGetVertexAttribPointerv(GLuint index, GLenum pname)\nSee: `glGetVertexAttribPointerv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribPointerv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv = {__Pyx_NAMESTR("glGetVertexAttribPointerv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__index,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glGetVertexAttribPointerv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glGetVertexAttribPointerv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glGetVertexAttribPointerv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_index = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_index == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glGetVertexAttribPointerv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetVertexAttribPointerv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1109
 *     .. warning:: Not implemented yet.
 *     '''
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 * 
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetVertexAttribPointerv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1112
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 * 
 * def glHint(GLenum target, GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glHint() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glHint.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_80glHint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_80glHint[] = "glHint(GLenum target, GLenum mode)\nSee: `glHint() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glHint.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_80glHint = {__Pyx_NAMESTR("glHint"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_80glHint, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_80glHint)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_80glHint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__mode,0};
  __Pyx_RefNannySetupContext("glHint");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mode);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glHint", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glHint") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_mode = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_mode == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_mode = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_mode == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glHint", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glHint");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1116
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glHint.xml>`_
 *     '''
 *     c_opengl.glHint(target, mode)             # <<<<<<<<<<<<<<
 * 
 * def glIsBuffer(GLuint buffer):
 */
  glHint(__pyx_v_target, __pyx_v_mode);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1118
 *     c_opengl.glHint(target, mode)
 * 
 * def glIsBuffer(GLuint buffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsBuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsBuffer.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_81glIsBuffer(PyObject *__pyx_self, PyObject *__pyx_arg_buffer); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_81glIsBuffer[] = "glIsBuffer(GLuint buffer)\nSee: `glIsBuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsBuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_81glIsBuffer = {__Pyx_NAMESTR("glIsBuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_81glIsBuffer, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_81glIsBuffer)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_81glIsBuffer(PyObject *__pyx_self, PyObject *__pyx_arg_buffer) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_buffer;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glIsBuffer");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_buffer); {
    __pyx_v_buffer = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_buffer); if (unlikely((__pyx_v_buffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsBuffer");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1122
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsBuffer.xml>`_
 *     '''
 *     return c_opengl.glIsBuffer(buffer)             # <<<<<<<<<<<<<<
 * 
 * def glIsEnabled(GLenum cap):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsBuffer(__pyx_v_buffer)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsBuffer");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1124
 *     return c_opengl.glIsBuffer(buffer)
 * 
 * def glIsEnabled(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glIsEnabled() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsEnabled.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_82glIsEnabled(PyObject *__pyx_self, PyObject *__pyx_arg_cap); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_82glIsEnabled[] = "glIsEnabled(GLenum cap)\nSee: `glIsEnabled() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsEnabled.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_82glIsEnabled = {__Pyx_NAMESTR("glIsEnabled"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_82glIsEnabled, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_82glIsEnabled)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_82glIsEnabled(PyObject *__pyx_self, PyObject *__pyx_arg_cap) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glIsEnabled");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_cap); {
    __pyx_v_cap = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_cap); if (unlikely((__pyx_v_cap == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1124; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsEnabled");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1128
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsEnabled.xml>`_
 *     '''
 *     return c_opengl.glIsEnabled(cap)             # <<<<<<<<<<<<<<
 * 
 * def glIsFramebuffer(GLuint framebuffer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsEnabled(__pyx_v_cap)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsEnabled");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1130
 *     return c_opengl.glIsEnabled(cap)
 * 
 * def glIsFramebuffer(GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsFramebuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsFramebuffer.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_83glIsFramebuffer(PyObject *__pyx_self, PyObject *__pyx_arg_framebuffer); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_83glIsFramebuffer[] = "glIsFramebuffer(GLuint framebuffer)\nSee: `glIsFramebuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsFramebuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_83glIsFramebuffer = {__Pyx_NAMESTR("glIsFramebuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_83glIsFramebuffer, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_83glIsFramebuffer)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_83glIsFramebuffer(PyObject *__pyx_self, PyObject *__pyx_arg_framebuffer) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_framebuffer;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glIsFramebuffer");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_framebuffer); {
    __pyx_v_framebuffer = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_framebuffer); if (unlikely((__pyx_v_framebuffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsFramebuffer");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1134
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsFramebuffer.xml>`_
 *     '''
 *     return c_opengl.glIsFramebuffer(framebuffer)             # <<<<<<<<<<<<<<
 * 
 * def glIsProgram(GLuint program):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsFramebuffer(__pyx_v_framebuffer)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsFramebuffer");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1136
 *     return c_opengl.glIsFramebuffer(framebuffer)
 * 
 * def glIsProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glIsProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsProgram.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_84glIsProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_84glIsProgram[] = "glIsProgram(GLuint program)\nSee: `glIsProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_84glIsProgram = {__Pyx_NAMESTR("glIsProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_84glIsProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_84glIsProgram)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_84glIsProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glIsProgram");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_program); {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_program); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsProgram");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1140
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsProgram.xml>`_
 *     '''
 *     return c_opengl.glIsProgram(program)             # <<<<<<<<<<<<<<
 * 
 * def glIsRenderbuffer(GLuint renderbuffer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsProgram(__pyx_v_program)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsProgram");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1142
 *     return c_opengl.glIsProgram(program)
 * 
 * def glIsRenderbuffer(GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsRenderbuffer.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_85glIsRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_arg_renderbuffer); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_85glIsRenderbuffer[] = "glIsRenderbuffer(GLuint renderbuffer)\nSee: `glIsRenderbuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsRenderbuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_85glIsRenderbuffer = {__Pyx_NAMESTR("glIsRenderbuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_85glIsRenderbuffer, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_85glIsRenderbuffer)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_85glIsRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_arg_renderbuffer) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_renderbuffer;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glIsRenderbuffer");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_renderbuffer); {
    __pyx_v_renderbuffer = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_renderbuffer); if (unlikely((__pyx_v_renderbuffer == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsRenderbuffer");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1146
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsRenderbuffer.xml>`_
 *     '''
 *     return c_opengl.glIsRenderbuffer(renderbuffer)             # <<<<<<<<<<<<<<
 * 
 * def glIsShader(GLuint shader):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsRenderbuffer(__pyx_v_renderbuffer)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsRenderbuffer");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1148
 *     return c_opengl.glIsRenderbuffer(renderbuffer)
 * 
 * def glIsShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glIsShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsShader.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_86glIsShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_86glIsShader[] = "glIsShader(GLuint shader)\nSee: `glIsShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_86glIsShader = {__Pyx_NAMESTR("glIsShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_86glIsShader, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_86glIsShader)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_86glIsShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glIsShader");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_shader); {
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_shader); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsShader");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1152
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsShader.xml>`_
 *     '''
 *     return c_opengl.glIsShader(shader)             # <<<<<<<<<<<<<<
 * 
 * def glIsTexture(GLuint texture):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsShader(__pyx_v_shader)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsShader");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1154
 *     return c_opengl.glIsShader(shader)
 * 
 * def glIsTexture(GLuint texture):             # <<<<<<<<<<<<<<
 *     '''See: `glIsTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsTexture.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_87glIsTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_87glIsTexture[] = "glIsTexture(GLuint texture)\nSee: `glIsTexture() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsTexture.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_87glIsTexture = {__Pyx_NAMESTR("glIsTexture"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_87glIsTexture, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_87glIsTexture)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_87glIsTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_texture;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glIsTexture");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_texture); {
    __pyx_v_texture = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_texture); if (unlikely((__pyx_v_texture == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsTexture");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1158
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsTexture.xml>`_
 *     '''
 *     return c_opengl.glIsTexture(texture)             # <<<<<<<<<<<<<<
 * 
 * def glLineWidth(GLfloat width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsTexture(__pyx_v_texture)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsTexture");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1160
 *     return c_opengl.glIsTexture(texture)
 * 
 * def glLineWidth(GLfloat width):             # <<<<<<<<<<<<<<
 *     '''See: `glLineWidth() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLineWidth.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_88glLineWidth(PyObject *__pyx_self, PyObject *__pyx_arg_width); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_88glLineWidth[] = "glLineWidth(GLfloat width)\nSee: `glLineWidth() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLineWidth.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_88glLineWidth = {__Pyx_NAMESTR("glLineWidth"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_88glLineWidth, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_88glLineWidth)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_88glLineWidth(PyObject *__pyx_self, PyObject *__pyx_arg_width) {
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_width;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glLineWidth");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_width); {
    __pyx_v_width = __pyx_PyFloat_AsDouble(__pyx_arg_width); if (unlikely((__pyx_v_width == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glLineWidth");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1164
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLineWidth.xml>`_
 *     '''
 *     c_opengl.glLineWidth(width)             # <<<<<<<<<<<<<<
 * 
 * def glLinkProgram(GLuint program):
 */
  glLineWidth(__pyx_v_width);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1166
 *     c_opengl.glLineWidth(width)
 * 
 * def glLinkProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glLinkProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLinkProgram.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_89glLinkProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_89glLinkProgram[] = "glLinkProgram(GLuint program)\nSee: `glLinkProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLinkProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_89glLinkProgram = {__Pyx_NAMESTR("glLinkProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_89glLinkProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_89glLinkProgram)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_89glLinkProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glLinkProgram");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_program); {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_program); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glLinkProgram");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1170
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLinkProgram.xml>`_
 *     '''
 *     c_opengl.glLinkProgram(program)             # <<<<<<<<<<<<<<
 * 
 * def glPixelStorei(GLenum pname, GLint param):
 */
  glLinkProgram(__pyx_v_program);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1172
 *     c_opengl.glLinkProgram(program)
 * 
 * def glPixelStorei(GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     '''See: `glPixelStorei() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_90glPixelStorei(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_90glPixelStorei[] = "glPixelStorei(GLenum pname, GLint param)\nSee: `glPixelStorei() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_90glPixelStorei = {__Pyx_NAMESTR("glPixelStorei"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_90glPixelStorei, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_90glPixelStorei)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_90glPixelStorei(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_param;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__pname,&__pyx_n_s__param,0};
  __Pyx_RefNannySetupContext("glPixelStorei");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__param);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glPixelStorei", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glPixelStorei") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_param = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_param == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_param = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_param == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glPixelStorei", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glPixelStorei");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1176
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml>`_
 *     '''
 *     c_opengl.glPixelStorei(pname, param)             # <<<<<<<<<<<<<<
 * 
 * def glPolygonOffset(GLfloat factor, GLfloat units):
 */
  glPixelStorei(__pyx_v_pname, __pyx_v_param);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1178
 *     c_opengl.glPixelStorei(pname, param)
 * 
 * def glPolygonOffset(GLfloat factor, GLfloat units):             # <<<<<<<<<<<<<<
 *     '''See: `glPolygonOffset() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_91glPolygonOffset(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_91glPolygonOffset[] = "glPolygonOffset(GLfloat factor, GLfloat units)\nSee: `glPolygonOffset() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_91glPolygonOffset = {__Pyx_NAMESTR("glPolygonOffset"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_91glPolygonOffset, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_91glPolygonOffset)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_91glPolygonOffset(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_factor;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_units;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__factor,&__pyx_n_s__units,0};
  __Pyx_RefNannySetupContext("glPolygonOffset");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__factor);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__units);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glPolygonOffset", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glPolygonOffset") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_factor = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_factor == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_units = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_units == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_factor = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_factor == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_units = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_units == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glPolygonOffset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glPolygonOffset");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1182
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml>`_
 *     '''
 *     c_opengl.glPolygonOffset(factor, units)             # <<<<<<<<<<<<<<
 * 
 * def glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,
 */
  glPolygonOffset(__pyx_v_factor, __pyx_v_units);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1184
 *     c_opengl.glPolygonOffset(factor, units)
 * 
 * def glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,             # <<<<<<<<<<<<<<
 *                  GLenum type): #, GLvoid* pixels):
 *     '''See: `glReadPixels() on Kronos website
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_92glReadPixels(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_92glReadPixels[] = "glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type)\nSee: `glReadPixels() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReadPixels.xml>`_\n    \n    We are supporting only GL_RGB/GL_RGBA as format, and GL_UNSIGNED_BYTE as\n    type.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_92glReadPixels = {__Pyx_NAMESTR("glReadPixels"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_92glReadPixels, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_92glReadPixels)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_92glReadPixels(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_format;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_type;
  PyObject *__pyx_v_py_pixels = 0;
  int __pyx_v_size;
  char *__pyx_v_data;
  PyObject *__pyx_r = NULL;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  long __pyx_t_8;
  GLenum __pyx_t_9;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__width,&__pyx_n_s__height,&__pyx_n_s__format,&__pyx_n_s__type,0};
  __Pyx_RefNannySetupContext("glReadPixels");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[6] = {0,0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__format);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  5:
      values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type);
      if (likely(values[5])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glReadPixels") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_x = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_format = __Pyx_PyInt_AsUnsignedInt(values[4]); if (unlikely((__pyx_v_format == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_type = __Pyx_PyInt_AsUnsignedInt(values[5]); if (unlikely((__pyx_v_type == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1185; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_x = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_format = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_format == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_type = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 5)); if (unlikely((__pyx_v_type == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1185; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glReadPixels");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1192
 *     type.
 *     '''
 *     assert(format in (GL_RGB, GL_RGBA))             # <<<<<<<<<<<<<<
 *     assert(type == GL_UNSIGNED_BYTE)
 * 
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  __pyx_t_1 = __pyx_v_format;
  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_RGB); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (!__pyx_t_5) {
    __pyx_t_4 = PyLong_FromUnsignedLong(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_4);
    __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_RGBA); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_7 = __pyx_t_6;
  } else {
    __pyx_t_7 = __pyx_t_5;
  }
  if (unlikely(!__pyx_t_7)) {
    PyErr_SetNone(PyExc_AssertionError);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  #endif

  /* "kivy/graphics/opengl.pyx":1193
 *     '''
 *     assert(format in (GL_RGB, GL_RGBA))
 *     assert(type == GL_UNSIGNED_BYTE)             # <<<<<<<<<<<<<<
 * 
 *     cdef object py_pixels = None
 */
  #ifndef CYTHON_WITHOUT_ASSERTIONS
  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_UNSIGNED_BYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_7)) {
    PyErr_SetNone(PyExc_AssertionError);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  #endif

  /* "kivy/graphics/opengl.pyx":1195
 *     assert(type == GL_UNSIGNED_BYTE)
 * 
 *     cdef object py_pixels = None             # <<<<<<<<<<<<<<
 *     cdef int size
 *     cdef char *data
 */
  __Pyx_INCREF(Py_None);
  __pyx_v_py_pixels = Py_None;

  /* "kivy/graphics/opengl.pyx":1199
 *     cdef char *data
 * 
 *     size = (3 if format == GL_RGB else 4) * width * height * sizeof(GLubyte)             # <<<<<<<<<<<<<<
 *     data = <char *>malloc(size)
 *     if data == NULL:
 */
  __pyx_t_4 = PyLong_FromUnsignedLong(__pyx_v_format); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_RGB); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_7) {
    __pyx_t_8 = 3;
  } else {
    __pyx_t_8 = 4;
  }
  __pyx_v_size = (((__pyx_t_8 * __pyx_v_width) * __pyx_v_height) * (sizeof(__pyx_t_4kivy_8graphics_6opengl_GLubyte)));

  /* "kivy/graphics/opengl.pyx":1200
 * 
 *     size = (3 if format == GL_RGB else 4) * width * height * sizeof(GLubyte)
 *     data = <char *>malloc(size)             # <<<<<<<<<<<<<<
 *     if data == NULL:
 *         raise MemoryError('glReadPixels()')
 */
  __pyx_v_data = ((char *)malloc(__pyx_v_size));

  /* "kivy/graphics/opengl.pyx":1201
 *     size = (3 if format == GL_RGB else 4) * width * height * sizeof(GLubyte)
 *     data = <char *>malloc(size)
 *     if data == NULL:             # <<<<<<<<<<<<<<
 *         raise MemoryError('glReadPixels()')
 * 
 */
  __pyx_t_7 = (__pyx_v_data == NULL);
  if (__pyx_t_7) {

    /* "kivy/graphics/opengl.pyx":1202
 *     data = <char *>malloc(size)
 *     if data == NULL:
 *         raise MemoryError('glReadPixels()')             # <<<<<<<<<<<<<<
 * 
 *     c_opengl.glPixelStorei(GL_PACK_ALIGNMENT, 1)
 */
    PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "kivy/graphics/opengl.pyx":1204
 *         raise MemoryError('glReadPixels()')
 * 
 *     c_opengl.glPixelStorei(GL_PACK_ALIGNMENT, 1)             # <<<<<<<<<<<<<<
 *     c_opengl.glReadPixels(x, y, width, height, format, type, data)
 *     try:
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_PACK_ALIGNMENT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_9 = __Pyx_PyInt_from_py_GLenum(__pyx_t_2); if (unlikely((__pyx_t_9 == (GLenum)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  glPixelStorei(__pyx_t_9, 1);

  /* "kivy/graphics/opengl.pyx":1205
 * 
 *     c_opengl.glPixelStorei(GL_PACK_ALIGNMENT, 1)
 *     c_opengl.glReadPixels(x, y, width, height, format, type, data)             # <<<<<<<<<<<<<<
 *     try:
 *         py_pixels = PyString_FromStringAndSize(data, size)
 */
  glReadPixels(__pyx_v_x, __pyx_v_y, __pyx_v_width, __pyx_v_height, __pyx_v_format, __pyx_v_type, __pyx_v_data);

  /* "kivy/graphics/opengl.pyx":1206
 *     c_opengl.glPixelStorei(GL_PACK_ALIGNMENT, 1)
 *     c_opengl.glReadPixels(x, y, width, height, format, type, data)
 *     try:             # <<<<<<<<<<<<<<
 *         py_pixels = PyString_FromStringAndSize(data, size)
 *     finally:
 */
  /*try:*/ {

    /* "kivy/graphics/opengl.pyx":1207
 *     c_opengl.glReadPixels(x, y, width, height, format, type, data)
 *     try:
 *         py_pixels = PyString_FromStringAndSize(data, size)             # <<<<<<<<<<<<<<
 *     finally:
 *         free(data)
 */
    __pyx_t_2 = PyString_FromStringAndSize(__pyx_v_data, __pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1207; __pyx_clineno = __LINE__; goto __pyx_L8;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_v_py_pixels);
    __pyx_v_py_pixels = __pyx_t_2;
    __pyx_t_2 = 0;
  }

  /* "kivy/graphics/opengl.pyx":1209
 *         py_pixels = PyString_FromStringAndSize(data, size)
 *     finally:
 *         free(data)             # <<<<<<<<<<<<<<
 * 
 *     return py_pixels
 */
  /*finally:*/ {
    int __pyx_why;
    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
    int __pyx_exc_lineno;
    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
    __pyx_why = 0; goto __pyx_L9;
    __pyx_L8: {
      __pyx_why = 4;
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
      __pyx_exc_lineno = __pyx_lineno;
      goto __pyx_L9;
    }
    __pyx_L9:;
    free(__pyx_v_data);
    switch (__pyx_why) {
      case 4: {
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
        __pyx_lineno = __pyx_exc_lineno;
        __pyx_exc_type = 0;
        __pyx_exc_value = 0;
        __pyx_exc_tb = 0;
        goto __pyx_L1_error;
      }
    }
  }

  /* "kivy/graphics/opengl.pyx":1211
 *         free(data)
 * 
 *     return py_pixels             # <<<<<<<<<<<<<<
 * 
 * # XXX This one is commented out because a) it's not necessary and
 */
  __Pyx_XDECREF(__pyx_r);
  __Pyx_INCREF(__pyx_v_py_pixels);
  __pyx_r = __pyx_v_py_pixels;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_AddTraceback("kivy.graphics.opengl.glReadPixels");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_py_pixels);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1215
 * # XXX This one is commented out because a) it's not necessary and
 * #	    				b) it's breaking on OSX for some reason
 * def glReleaseShaderCompiler():             # <<<<<<<<<<<<<<
 *     '''See: `glReleaseShaderCompiler() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReleaseShaderCompiler.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_93glReleaseShaderCompiler(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_93glReleaseShaderCompiler[] = "glReleaseShaderCompiler()\nSee: `glReleaseShaderCompiler() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReleaseShaderCompiler.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_93glReleaseShaderCompiler = {__Pyx_NAMESTR("glReleaseShaderCompiler"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_93glReleaseShaderCompiler, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_93glReleaseShaderCompiler)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_93glReleaseShaderCompiler(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glReleaseShaderCompiler");
  __pyx_self = __pyx_self;

  /* "kivy/graphics/opengl.pyx":1221
 *     .. warning:: Not implemented yet.
 *     '''
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * #    c_opengl.glReleaseShaderCompiler()
 * 
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glReleaseShaderCompiler");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1224
 * #    c_opengl.glReleaseShaderCompiler()
 * 
 * def glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glRenderbufferStorage() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glRenderbufferStorage.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_94glRenderbufferStorage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_94glRenderbufferStorage[] = "glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)\nSee: `glRenderbufferStorage() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glRenderbufferStorage.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_94glRenderbufferStorage = {__Pyx_NAMESTR("glRenderbufferStorage"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_94glRenderbufferStorage, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_94glRenderbufferStorage)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_94glRenderbufferStorage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_internalformat;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__internalformat,&__pyx_n_s__width,&__pyx_n_s__height,0};
  __Pyx_RefNannySetupContext("glRenderbufferStorage");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__internalformat);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glRenderbufferStorage", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glRenderbufferStorage", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glRenderbufferStorage", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glRenderbufferStorage") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_internalformat = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_internalformat == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_internalformat = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_internalformat == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glRenderbufferStorage", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glRenderbufferStorage");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1228
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glRenderbufferStorage.xml>`_
 *     '''
 *     c_opengl.glRenderbufferStorage(target, internalformat, width, height)             # <<<<<<<<<<<<<<
 * 
 * def glSampleCoverage(GLclampf value, GLboolean invert):
 */
  glRenderbufferStorage(__pyx_v_target, __pyx_v_internalformat, __pyx_v_width, __pyx_v_height);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1230
 *     c_opengl.glRenderbufferStorage(target, internalformat, width, height)
 * 
 * def glSampleCoverage(GLclampf value, GLboolean invert):             # <<<<<<<<<<<<<<
 *     '''See: `glSampleCoverage() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glSampleCoverage.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_95glSampleCoverage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_95glSampleCoverage[] = "glSampleCoverage(GLclampf value, GLboolean invert)\nSee: `glSampleCoverage() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glSampleCoverage.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_95glSampleCoverage = {__Pyx_NAMESTR("glSampleCoverage"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_95glSampleCoverage, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_95glSampleCoverage)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_95glSampleCoverage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_value;
  __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_invert;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__value,&__pyx_n_s__invert,0};
  __Pyx_RefNannySetupContext("glSampleCoverage");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__invert);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glSampleCoverage", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glSampleCoverage") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_value = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_invert = __Pyx_PyInt_AsUnsignedChar(values[1]); if (unlikely((__pyx_v_invert == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_value = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_invert = __Pyx_PyInt_AsUnsignedChar(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_invert == (unsigned char)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glSampleCoverage", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glSampleCoverage");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1234
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glSampleCoverage.xml>`_
 *     '''
 *     c_opengl.glSampleCoverage(value, invert)             # <<<<<<<<<<<<<<
 * 
 * def glScissor(GLint x, GLint y, GLsizei width, GLsizei height):
 */
  glSampleCoverage(__pyx_v_value, __pyx_v_invert);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1236
 *     c_opengl.glSampleCoverage(value, invert)
 * 
 * def glScissor(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glScissor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glScissor.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_96glScissor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_96glScissor[] = "glScissor(GLint x, GLint y, GLsizei width, GLsizei height)\nSee: `glScissor() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glScissor.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_96glScissor = {__Pyx_NAMESTR("glScissor"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_96glScissor, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_96glScissor)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_96glScissor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__width,&__pyx_n_s__height,0};
  __Pyx_RefNannySetupContext("glScissor");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glScissor", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glScissor", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glScissor", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glScissor") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_x = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_x = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glScissor", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glScissor");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1240
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glScissor.xml>`_
 *     '''
 *     c_opengl.glScissor(x, y, width, height)             # <<<<<<<<<<<<<<
 * 
 * def glShaderBinary():#GLsizei n,  GLuint* shaders, GLenum binaryformat,  bytes GLvoid* binary, GLsizei length):
 */
  glScissor(__pyx_v_x, __pyx_v_y, __pyx_v_width, __pyx_v_height);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1242
 *     c_opengl.glScissor(x, y, width, height)
 * 
 * def glShaderBinary():#GLsizei n,  GLuint* shaders, GLenum binaryformat,  bytes GLvoid* binary, GLsizei length):             # <<<<<<<<<<<<<<
 *     '''See: `glShaderBinary() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderBinary.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_97glShaderBinary(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_97glShaderBinary[] = "glShaderBinary()\nSee: `glShaderBinary() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderBinary.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_97glShaderBinary = {__Pyx_NAMESTR("glShaderBinary"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_97glShaderBinary, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_97glShaderBinary)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_97glShaderBinary(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  __Pyx_RefNannySetupContext("glShaderBinary");
  __pyx_self = __pyx_self;

  /* "kivy/graphics/opengl.pyx":1249
 *     '''
 *     #c_opengl.glShaderBinary(n, shaders, binaryformat, binary, length)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glShaderSource(GLuint shader, bytes source):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glShaderBinary");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1251
 *     raise NotImplemented()
 * 
 * def glShaderSource(GLuint shader, bytes source):             # <<<<<<<<<<<<<<
 *     '''See: `glShaderSource() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_98glShaderSource(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_98glShaderSource[] = "glShaderSource(GLuint shader, bytes source)\nSee: `glShaderSource() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_98glShaderSource = {__Pyx_NAMESTR("glShaderSource"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_98glShaderSource, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_98glShaderSource)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_98glShaderSource(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  PyObject *__pyx_v_source = 0;
  char *__pyx_v_c_source;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__shader,&__pyx_n_s__source,0};
  __Pyx_RefNannySetupContext("glShaderSource");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__source);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glShaderSource", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glShaderSource") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_source = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_shader = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_shader == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_source = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glShaderSource", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glShaderSource");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_source), (&PyBytes_Type), 1, "source", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":1255
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml>`_
 *     '''
 *     cdef char *c_source = source             # <<<<<<<<<<<<<<
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)
 * 
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_source)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_c_source = __pyx_t_1;

  /* "kivy/graphics/opengl.pyx":1256
 *     '''
 *     cdef char *c_source = source
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)             # <<<<<<<<<<<<<<
 * 
 * def glStencilFunc(GLenum func, GLint ref, GLuint mask):
 */
  glShaderSource(__pyx_v_shader, 1, (&__pyx_v_c_source), NULL);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glShaderSource");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1258
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)
 * 
 * def glStencilFunc(GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFunc.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_99glStencilFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_99glStencilFunc[] = "glStencilFunc(GLenum func, GLint ref, GLuint mask)\nSee: `glStencilFunc() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFunc.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_99glStencilFunc = {__Pyx_NAMESTR("glStencilFunc"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_99glStencilFunc, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_99glStencilFunc)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_99glStencilFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_func;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_ref;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_mask;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,&__pyx_n_s__ref,&__pyx_n_s__mask,0};
  __Pyx_RefNannySetupContext("glStencilFunc");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__ref);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilFunc", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mask);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilFunc", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glStencilFunc") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_func = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_func == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_ref = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_ref == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_mask = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_mask == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_func = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_func == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_ref = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_ref == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_mask = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_mask == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glStencilFunc", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilFunc");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1262
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFunc.xml>`_
 *     '''
 *     c_opengl.glStencilFunc(func, ref, mask)             # <<<<<<<<<<<<<<
 * 
 * def glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask):
 */
  glStencilFunc(__pyx_v_func, __pyx_v_ref, __pyx_v_mask);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1264
 *     c_opengl.glStencilFunc(func, ref, mask)
 * 
 * def glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilFuncSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFuncSeparate.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_100glStencilFuncSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_100glStencilFuncSeparate[] = "glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)\nSee: `glStencilFuncSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFuncSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_100glStencilFuncSeparate = {__Pyx_NAMESTR("glStencilFuncSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_100glStencilFuncSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_100glStencilFuncSeparate)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_100glStencilFuncSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_face;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_func;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_ref;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_mask;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__face,&__pyx_n_s__func,&__pyx_n_s__ref,&__pyx_n_s__mask,0};
  __Pyx_RefNannySetupContext("glStencilFuncSeparate");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__face);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilFuncSeparate", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__ref);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilFuncSeparate", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mask);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilFuncSeparate", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glStencilFuncSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_face = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_face == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_func = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_func == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_ref = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_ref == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_mask = __Pyx_PyInt_AsUnsignedInt(values[3]); if (unlikely((__pyx_v_mask == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_face = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_face == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_func = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_func == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_ref = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_ref == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_mask = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_mask == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glStencilFuncSeparate", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilFuncSeparate");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1268
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFuncSeparate.xml>`_
 *     '''
 *     c_opengl.glStencilFuncSeparate(face, func, ref, mask)             # <<<<<<<<<<<<<<
 * 
 * def glStencilMask(GLuint mask):
 */
  glStencilFuncSeparate(__pyx_v_face, __pyx_v_func, __pyx_v_ref, __pyx_v_mask);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1270
 *     c_opengl.glStencilFuncSeparate(face, func, ref, mask)
 * 
 * def glStencilMask(GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMask.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_101glStencilMask(PyObject *__pyx_self, PyObject *__pyx_arg_mask); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_101glStencilMask[] = "glStencilMask(GLuint mask)\nSee: `glStencilMask() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMask.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_101glStencilMask = {__Pyx_NAMESTR("glStencilMask"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_101glStencilMask, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_101glStencilMask)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_101glStencilMask(PyObject *__pyx_self, PyObject *__pyx_arg_mask) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_mask;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glStencilMask");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_mask); {
    __pyx_v_mask = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_mask); if (unlikely((__pyx_v_mask == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilMask");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1274
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMask.xml>`_
 *     '''
 *     c_opengl.glStencilMask(mask)             # <<<<<<<<<<<<<<
 * 
 * def glStencilMaskSeparate(GLenum face, GLuint mask):
 */
  glStencilMask(__pyx_v_mask);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1276
 *     c_opengl.glStencilMask(mask)
 * 
 * def glStencilMaskSeparate(GLenum face, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilMaskSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMaskSeparate.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_102glStencilMaskSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_102glStencilMaskSeparate[] = "glStencilMaskSeparate(GLenum face, GLuint mask)\nSee: `glStencilMaskSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMaskSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_102glStencilMaskSeparate = {__Pyx_NAMESTR("glStencilMaskSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_102glStencilMaskSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_102glStencilMaskSeparate)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_102glStencilMaskSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_face;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_mask;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__face,&__pyx_n_s__mask,0};
  __Pyx_RefNannySetupContext("glStencilMaskSeparate");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__face);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mask);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilMaskSeparate", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glStencilMaskSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_face = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_face == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_mask = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_mask == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_face = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_face == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_mask = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_mask == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glStencilMaskSeparate", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilMaskSeparate");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1280
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMaskSeparate.xml>`_
 *     '''
 *     c_opengl.glStencilMaskSeparate(face, mask)             # <<<<<<<<<<<<<<
 * 
 * def glStencilOp(GLenum fail, GLenum zfail, GLenum zpass):
 */
  glStencilMaskSeparate(__pyx_v_face, __pyx_v_mask);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1282
 *     c_opengl.glStencilMaskSeparate(face, mask)
 * 
 * def glStencilOp(GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilOp() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOp.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_103glStencilOp(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_103glStencilOp[] = "glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)\nSee: `glStencilOp() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOp.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_103glStencilOp = {__Pyx_NAMESTR("glStencilOp"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_103glStencilOp, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_103glStencilOp)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_103glStencilOp(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_fail;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_zfail;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_zpass;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__fail,&__pyx_n_s__zfail,&__pyx_n_s__zpass,0};
  __Pyx_RefNannySetupContext("glStencilOp");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fail);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zfail);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilOp", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zpass);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilOp", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glStencilOp") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_fail = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_fail == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zfail = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_zfail == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zpass = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_zpass == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_fail = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_fail == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zfail = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_zfail == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zpass = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_zpass == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glStencilOp", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilOp");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1286
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOp.xml>`_
 *     '''
 *     c_opengl.glStencilOp(fail, zfail, zpass)             # <<<<<<<<<<<<<<
 * 
 * def glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass):
 */
  glStencilOp(__pyx_v_fail, __pyx_v_zfail, __pyx_v_zpass);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1288
 *     c_opengl.glStencilOp(fail, zfail, zpass)
 * 
 * def glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilOpSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOpSeparate.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_104glStencilOpSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_104glStencilOpSeparate[] = "glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)\nSee: `glStencilOpSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOpSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_104glStencilOpSeparate = {__Pyx_NAMESTR("glStencilOpSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_104glStencilOpSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_104glStencilOpSeparate)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_104glStencilOpSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_face;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_fail;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_zfail;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_zpass;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__face,&__pyx_n_s__fail,&__pyx_n_s__zfail,&__pyx_n_s__zpass,0};
  __Pyx_RefNannySetupContext("glStencilOpSeparate");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__face);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fail);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilOpSeparate", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zfail);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilOpSeparate", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zpass);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glStencilOpSeparate", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glStencilOpSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_face = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_face == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_fail = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_fail == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zfail = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_zfail == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zpass = __Pyx_PyInt_AsUnsignedInt(values[3]); if (unlikely((__pyx_v_zpass == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_face = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_face == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_fail = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_fail == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zfail = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_zfail == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_zpass = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_zpass == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glStencilOpSeparate", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilOpSeparate");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1292
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOpSeparate.xml>`_
 *     '''
 *     c_opengl.glStencilOpSeparate(face, fail, zfail, zpass)             # <<<<<<<<<<<<<<
 * 
 * def glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei
 */
  glStencilOpSeparate(__pyx_v_face, __pyx_v_fail, __pyx_v_zfail, __pyx_v_zpass);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1294
 *     c_opengl.glStencilOpSeparate(face, fail, zfail, zpass)
 * 
 * def glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei             # <<<<<<<<<<<<<<
 *                  width, GLsizei height, GLint border, GLenum format, GLenum
 *                  type,  bytes pixels):
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_105glTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_105glTexImage2D[] = "glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, bytes pixels)\nSee: `glTexImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_105glTexImage2D = {__Pyx_NAMESTR("glTexImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_105glTexImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_105glTexImage2D)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_105glTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_level;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_internalformat;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_border;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_format;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_type;
  PyObject *__pyx_v_pixels = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__level,&__pyx_n_s__internalformat,&__pyx_n_s__width,&__pyx_n_s__height,&__pyx_n_s__border,&__pyx_n_s__format,&__pyx_n_s__type,&__pyx_n_s__pixels,0};
  __Pyx_RefNannySetupContext("glTexImage2D");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
      case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__internalformat);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  5:
      values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__border);
      if (likely(values[5])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  6:
      values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__format);
      if (likely(values[6])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  7:
      values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type);
      if (likely(values[7])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  8:
      values[8] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pixels);
      if (likely(values[8])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 8); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glTexImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_internalformat = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_internalformat == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_border = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_border == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_format = __Pyx_PyInt_AsUnsignedInt(values[6]); if (unlikely((__pyx_v_format == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_type = __Pyx_PyInt_AsUnsignedInt(values[7]); if (unlikely((__pyx_v_type == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pixels = ((PyObject*)values[8]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_internalformat = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_internalformat == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_border = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 5)); if (unlikely((__pyx_v_border == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_format = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 6)); if (unlikely((__pyx_v_format == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_type = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 7)); if (unlikely((__pyx_v_type == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pixels = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 8));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexImage2D");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pixels), (&PyBytes_Type), 1, "pixels", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":1301
 *     '''
 *     c_opengl.glTexImage2D(target, level, internalformat, width, height, border,
 *                           format, type, <GLvoid *><char *>pixels)             # <<<<<<<<<<<<<<
 * 
 * def glTexParameterf(GLenum target, GLenum pname, GLfloat param):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_pixels)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glTexImage2D(__pyx_v_target, __pyx_v_level, __pyx_v_internalformat, __pyx_v_width, __pyx_v_height, __pyx_v_border, __pyx_v_format, __pyx_v_type, ((__pyx_t_4kivy_8graphics_6opengl_GLvoid *)__pyx_t_1));

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexImage2D");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1303
 *                           format, type, <GLvoid *><char *>pixels)
 * 
 * def glTexParameterf(GLenum target, GLenum pname, GLfloat param):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameterf() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterf.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_106glTexParameterf(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_106glTexParameterf[] = "glTexParameterf(GLenum target, GLenum pname, GLfloat param)\nSee: `glTexParameterf() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterf.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_106glTexParameterf = {__Pyx_NAMESTR("glTexParameterf"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_106glTexParameterf, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_106glTexParameterf)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_106glTexParameterf(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_param;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,&__pyx_n_s__param,0};
  __Pyx_RefNannySetupContext("glTexParameterf");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexParameterf", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__param);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexParameterf", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glTexParameterf") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_param = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_param == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_param = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_param == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glTexParameterf", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameterf");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1307
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterf.xml>`_
 *     '''
 *     c_opengl.glTexParameterf(target, pname, param)             # <<<<<<<<<<<<<<
 * 
 * def glTexParameterfv(GLenum target, GLenum pname):#,  GLfloat* params):
 */
  glTexParameterf(__pyx_v_target, __pyx_v_pname, __pyx_v_param);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1309
 *     c_opengl.glTexParameterf(target, pname, param)
 * 
 * def glTexParameterfv(GLenum target, GLenum pname):#,  GLfloat* params):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameterfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterfv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_107glTexParameterfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_107glTexParameterfv[] = "glTexParameterfv(GLenum target, GLenum pname)\nSee: `glTexParameterfv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterfv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_107glTexParameterfv = {__Pyx_NAMESTR("glTexParameterfv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_107glTexParameterfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_107glTexParameterfv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_107glTexParameterfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glTexParameterfv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexParameterfv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glTexParameterfv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glTexParameterfv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameterfv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1316
 *     '''
 *     #c_opengl.glTexParameterfv(target, pname, params)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glTexParameteri(GLenum target, GLenum pname, GLint param):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameterfv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1318
 *     raise NotImplemented()
 * 
 * def glTexParameteri(GLenum target, GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameteri() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteri.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_108glTexParameteri(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_108glTexParameteri[] = "glTexParameteri(GLenum target, GLenum pname, GLint param)\nSee: `glTexParameteri() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteri.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_108glTexParameteri = {__Pyx_NAMESTR("glTexParameteri"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_108glTexParameteri, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_108glTexParameteri)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_108glTexParameteri(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_param;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,&__pyx_n_s__param,0};
  __Pyx_RefNannySetupContext("glTexParameteri");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexParameteri", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__param);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexParameteri", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glTexParameteri") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_param = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_param == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_param = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_param == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glTexParameteri", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameteri");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1322
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteri.xml>`_
 *     '''
 *     c_opengl.glTexParameteri(target, pname, param)             # <<<<<<<<<<<<<<
 * 
 * def glTexParameteriv(GLenum target, GLenum pname):#,  GLint* params):
 */
  glTexParameteri(__pyx_v_target, __pyx_v_pname, __pyx_v_param);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1324
 *     c_opengl.glTexParameteri(target, pname, param)
 * 
 * def glTexParameteriv(GLenum target, GLenum pname):#,  GLint* params):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteriv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_109glTexParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_109glTexParameteriv[] = "glTexParameteriv(GLenum target, GLenum pname)\nSee: `glTexParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteriv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_109glTexParameteriv = {__Pyx_NAMESTR("glTexParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_109glTexParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_109glTexParameteriv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_109glTexParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
  __Pyx_RefNannySetupContext("glTexParameteriv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexParameteriv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glTexParameteriv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glTexParameteriv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameteriv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1331
 *     '''
 *     #c_opengl.glTexParameteriv(target, pname, params)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameteriv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1333
 *     raise NotImplemented()
 * 
 * def glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,             # <<<<<<<<<<<<<<
 *                     GLsizei width, GLsizei height, GLenum format, GLenum type,
 *                     bytes pixels):
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_110glTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_110glTexSubImage2D[] = "glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, bytes pixels)\nSee: `glTexSubImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexSubImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_110glTexSubImage2D = {__Pyx_NAMESTR("glTexSubImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_110glTexSubImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_110glTexSubImage2D)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_110glTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_level;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_xoffset;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_yoffset;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_format;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_type;
  PyObject *__pyx_v_pixels = 0;
  PyObject *__pyx_r = NULL;
  char *__pyx_t_1;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__level,&__pyx_n_s__xoffset,&__pyx_n_s__yoffset,&__pyx_n_s__width,&__pyx_n_s__height,&__pyx_n_s__format,&__pyx_n_s__type,&__pyx_n_s__pixels,0};
  __Pyx_RefNannySetupContext("glTexSubImage2D");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
      case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__xoffset);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__yoffset);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  5:
      values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[5])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  6:
      values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__format);
      if (likely(values[6])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  7:
      values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type);
      if (likely(values[7])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  8:
      values[8] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pixels);
      if (likely(values[8])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 8); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glTexSubImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_xoffset = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_xoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_yoffset = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_yoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_format = __Pyx_PyInt_AsUnsignedInt(values[6]); if (unlikely((__pyx_v_format == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_type = __Pyx_PyInt_AsUnsignedInt(values[7]); if (unlikely((__pyx_v_type == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pixels = ((PyObject*)values[8]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_xoffset = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_xoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_yoffset = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_yoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 5)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_format = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 6)); if (unlikely((__pyx_v_format == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_type = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 7)); if (unlikely((__pyx_v_type == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1334; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pixels = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 8));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexSubImage2D");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_pixels), (&PyBytes_Type), 1, "pixels", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":1340
 *     '''
 *     c_opengl.glTexSubImage2D(target, level, xoffset, yoffset, width, height,
 *                              format, type, <GLvoid *><char *>pixels)             # <<<<<<<<<<<<<<
 * 
 * def glUniform1f(GLint location, GLfloat x):
 */
  __pyx_t_1 = PyBytes_AsString(((PyObject *)__pyx_v_pixels)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glTexSubImage2D(__pyx_v_target, __pyx_v_level, __pyx_v_xoffset, __pyx_v_yoffset, __pyx_v_width, __pyx_v_height, __pyx_v_format, __pyx_v_type, ((__pyx_t_4kivy_8graphics_6opengl_GLvoid *)__pyx_t_1));

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexSubImage2D");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1342
 *                              format, type, <GLvoid *><char *>pixels)
 * 
 * def glUniform1f(GLint location, GLfloat x):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1f.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_111glUniform1f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_111glUniform1f[] = "glUniform1f(GLint location, GLfloat x)\nSee: `glUniform1f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_111glUniform1f = {__Pyx_NAMESTR("glUniform1f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_111glUniform1f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_111glUniform1f)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_111glUniform1f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,0};
  __Pyx_RefNannySetupContext("glUniform1f");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform1f", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform1f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform1f", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1f");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1346
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1f.xml>`_
 *     '''
 *     c_opengl.glUniform1f(location, x)             # <<<<<<<<<<<<<<
 * 
 * def glUniform1fv(GLint location, GLsizei count):#,  GLfloat* v):
 */
  glUniform1f(__pyx_v_location, __pyx_v_x);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1348
 *     c_opengl.glUniform1f(location, x)
 * 
 * def glUniform1fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_112glUniform1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_112glUniform1fv[] = "glUniform1fv(GLint location, GLsizei count)\nSee: `glUniform1fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_112glUniform1fv = {__Pyx_NAMESTR("glUniform1fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_112glUniform1fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_112glUniform1fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_112glUniform1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniform1fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform1fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform1fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform1fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1355
 *     '''
 *     #c_opengl.glUniform1fv(location, count, v)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniform1i(GLint location, GLint x):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1357
 *     raise NotImplemented()
 * 
 * def glUniform1i(GLint location, GLint x):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1i.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_113glUniform1i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_113glUniform1i[] = "glUniform1i(GLint location, GLint x)\nSee: `glUniform1i() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1i.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_113glUniform1i = {__Pyx_NAMESTR("glUniform1i"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_113glUniform1i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_113glUniform1i)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_113glUniform1i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,0};
  __Pyx_RefNannySetupContext("glUniform1i");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform1i", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform1i") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform1i", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1i");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1361
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1i.xml>`_
 *     '''
 *     c_opengl.glUniform1i(location, x)             # <<<<<<<<<<<<<<
 * 
 * def glUniform1iv(GLint location, GLsizei count):#,  GLint* v):
 */
  glUniform1i(__pyx_v_location, __pyx_v_x);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1363
 *     c_opengl.glUniform1i(location, x)
 * 
 * def glUniform1iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1iv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_114glUniform1iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_114glUniform1iv[] = "glUniform1iv(GLint location, GLsizei count)\nSee: `glUniform1iv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1iv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_114glUniform1iv = {__Pyx_NAMESTR("glUniform1iv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_114glUniform1iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_114glUniform1iv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_114glUniform1iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniform1iv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform1iv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform1iv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform1iv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1iv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1370
 *     '''
 *     #c_opengl.glUniform1iv(location, count, v)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniform2f(GLint location, GLfloat x, GLfloat y):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1iv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1372
 *     raise NotImplemented()
 * 
 * def glUniform2f(GLint location, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2f.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_115glUniform2f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_115glUniform2f[] = "glUniform2f(GLint location, GLfloat x, GLfloat y)\nSee: `glUniform2f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_115glUniform2f = {__Pyx_NAMESTR("glUniform2f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_115glUniform2f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_115glUniform2f)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_115glUniform2f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_y;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,0};
  __Pyx_RefNannySetupContext("glUniform2f");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform2f", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform2f", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform2f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform2f", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2f");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1376
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2f.xml>`_
 *     '''
 *     c_opengl.glUniform2f(location, x, y)             # <<<<<<<<<<<<<<
 * 
 * def glUniform2fv(GLint location, GLsizei count):#,  GLfloat* v):
 */
  glUniform2f(__pyx_v_location, __pyx_v_x, __pyx_v_y);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1378
 *     c_opengl.glUniform2f(location, x, y)
 * 
 * def glUniform2fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_116glUniform2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_116glUniform2fv[] = "glUniform2fv(GLint location, GLsizei count)\nSee: `glUniform2fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_116glUniform2fv = {__Pyx_NAMESTR("glUniform2fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_116glUniform2fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_116glUniform2fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_116glUniform2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniform2fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform2fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform2fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform2fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1385
 *     '''
 *     #c_opengl.glUniform2fv(location, count, v)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniform2i(GLint location, GLint x, GLint y):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1387
 *     raise NotImplemented()
 * 
 * def glUniform2i(GLint location, GLint x, GLint y):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2i.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_117glUniform2i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_117glUniform2i[] = "glUniform2i(GLint location, GLint x, GLint y)\nSee: `glUniform2i() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2i.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_117glUniform2i = {__Pyx_NAMESTR("glUniform2i"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_117glUniform2i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_117glUniform2i)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_117glUniform2i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_y;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,0};
  __Pyx_RefNannySetupContext("glUniform2i");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform2i", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform2i", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform2i") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform2i", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2i");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1391
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2i.xml>`_
 *     '''
 *     c_opengl.glUniform2i(location, x, y)             # <<<<<<<<<<<<<<
 * 
 * def glUniform2iv(GLint location, GLsizei count):#,  GLint* v):
 */
  glUniform2i(__pyx_v_location, __pyx_v_x, __pyx_v_y);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1393
 *     c_opengl.glUniform2i(location, x, y)
 * 
 * def glUniform2iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2iv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_118glUniform2iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_118glUniform2iv[] = "glUniform2iv(GLint location, GLsizei count)\nSee: `glUniform2iv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2iv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_118glUniform2iv = {__Pyx_NAMESTR("glUniform2iv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_118glUniform2iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_118glUniform2iv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_118glUniform2iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniform2iv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform2iv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform2iv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform2iv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2iv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1400
 *     '''
 *     #c_opengl.glUniform2iv(location, count, v)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2iv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1402
 *     raise NotImplemented()
 * 
 * def glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3f.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_119glUniform3f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_119glUniform3f[] = "glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)\nSee: `glUniform3f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_119glUniform3f = {__Pyx_NAMESTR("glUniform3f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_119glUniform3f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_119glUniform3f)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_119glUniform3f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_z;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__z,0};
  __Pyx_RefNannySetupContext("glUniform3f");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform3f", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform3f", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform3f", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform3f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform3f", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3f");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1406
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3f.xml>`_
 *     '''
 *     c_opengl.glUniform3f(location, x, y, z)             # <<<<<<<<<<<<<<
 * 
 * def glUniform3fv(GLint location, GLsizei count):#,  GLfloat* v):
 */
  glUniform3f(__pyx_v_location, __pyx_v_x, __pyx_v_y, __pyx_v_z);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1408
 *     c_opengl.glUniform3f(location, x, y, z)
 * 
 * def glUniform3fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_120glUniform3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_120glUniform3fv[] = "glUniform3fv(GLint location, GLsizei count)\nSee: `glUniform3fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_120glUniform3fv = {__Pyx_NAMESTR("glUniform3fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_120glUniform3fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_120glUniform3fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_120glUniform3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniform3fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform3fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform3fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform3fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1415
 *     '''
 *     #c_opengl.glUniform3fv(location, count, v)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniform3i(GLint location, GLint x, GLint y, GLint z):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1417
 *     raise NotImplemented()
 * 
 * def glUniform3i(GLint location, GLint x, GLint y, GLint z):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3i.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_121glUniform3i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_121glUniform3i[] = "glUniform3i(GLint location, GLint x, GLint y, GLint z)\nSee: `glUniform3i() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3i.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_121glUniform3i = {__Pyx_NAMESTR("glUniform3i"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_121glUniform3i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_121glUniform3i)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_121glUniform3i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_z;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__z,0};
  __Pyx_RefNannySetupContext("glUniform3i");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform3i", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform3i", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform3i", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform3i") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform3i", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3i");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1421
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3i.xml>`_
 *     '''
 *     c_opengl.glUniform3i(location, x, y, z)             # <<<<<<<<<<<<<<
 * 
 * def glUniform3iv(GLint location, GLsizei count):#,  GLint* v):
 */
  glUniform3i(__pyx_v_location, __pyx_v_x, __pyx_v_y, __pyx_v_z);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1423
 *     c_opengl.glUniform3i(location, x, y, z)
 * 
 * def glUniform3iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3iv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_122glUniform3iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_122glUniform3iv[] = "glUniform3iv(GLint location, GLsizei count)\nSee: `glUniform3iv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3iv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_122glUniform3iv = {__Pyx_NAMESTR("glUniform3iv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_122glUniform3iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_122glUniform3iv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_122glUniform3iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniform3iv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform3iv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform3iv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform3iv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3iv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1430
 *     '''
 *     #c_opengl.glUniform3iv(location, count, v)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3iv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1432
 *     raise NotImplemented()
 * 
 * def glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4f.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_123glUniform4f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_123glUniform4f[] = "glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)\nSee: `glUniform4f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4f.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_123glUniform4f = {__Pyx_NAMESTR("glUniform4f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_123glUniform4f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_123glUniform4f)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_123glUniform4f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_z;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_w;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__z,&__pyx_n_s__w,0};
  __Pyx_RefNannySetupContext("glUniform4f");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[5] = {0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__w);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform4f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_w = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_w == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_w = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_w == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4f");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1438
 *     .. warning:: Not implemented yet.
 *     '''
 *     c_opengl.glUniform4f(location, x, y, z, w)             # <<<<<<<<<<<<<<
 * 
 * def glUniform4fv(GLint location, GLsizei count):#,  GLfloat* v):
 */
  glUniform4f(__pyx_v_location, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_w);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1440
 *     c_opengl.glUniform4f(location, x, y, z, w)
 * 
 * def glUniform4fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_124glUniform4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_124glUniform4fv[] = "glUniform4fv(GLint location, GLsizei count)\nSee: `glUniform4fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_124glUniform4fv = {__Pyx_NAMESTR("glUniform4fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_124glUniform4fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_124glUniform4fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_124glUniform4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniform4fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform4fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform4fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1447
 *     '''
 *     #c_opengl.glUniform4fv(location, count, v)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1449
 *     raise NotImplemented()
 * 
 * def glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4i.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_125glUniform4i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_125glUniform4i[] = "glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)\nSee: `glUniform4i() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4i.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_125glUniform4i = {__Pyx_NAMESTR("glUniform4i"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_125glUniform4i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_125glUniform4i)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_125glUniform4i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_z;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_w;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__z,&__pyx_n_s__w,0};
  __Pyx_RefNannySetupContext("glUniform4i");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[5] = {0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4i", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4i", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4i", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__w);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4i", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform4i") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_w = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_w == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_z == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_w = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_w == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform4i", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4i");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1453
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4i.xml>`_
 *     '''
 *     c_opengl.glUniform4i(location, x, y, z, w)             # <<<<<<<<<<<<<<
 * 
 * def glUniform4iv(GLint location, GLsizei count):#,  GLint* v):
 */
  glUniform4i(__pyx_v_location, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_w);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1455
 *     c_opengl.glUniform4i(location, x, y, z, w)
 * 
 * def glUniform4iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4iv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_126glUniform4iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_126glUniform4iv[] = "glUniform4iv(GLint location, GLsizei count)\nSee: `glUniform4iv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4iv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_126glUniform4iv = {__Pyx_NAMESTR("glUniform4iv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_126glUniform4iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_126glUniform4iv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_126glUniform4iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniform4iv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniform4iv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniform4iv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform4iv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4iv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1462
 *     '''
 *     #c_opengl.glUniform4iv(location, count, v)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniformMatrix2fv(GLint location, GLsizei count):#, GLboolean transpose, bytes values):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4iv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1464
 *     raise NotImplemented()
 * 
 * def glUniformMatrix2fv(GLint location, GLsizei count):#, GLboolean transpose, bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix2fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_127glUniformMatrix2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_127glUniformMatrix2fv[] = "glUniformMatrix2fv(GLint location, GLsizei count)\nSee: `glUniformMatrix2fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix2fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_127glUniformMatrix2fv = {__Pyx_NAMESTR("glUniformMatrix2fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_127glUniformMatrix2fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_127glUniformMatrix2fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_127glUniformMatrix2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniformMatrix2fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniformMatrix2fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniformMatrix2fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniformMatrix2fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniformMatrix2fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1471
 *     '''
 *     #c_opengl.glUniformMatrix2fv(location, count, transpose, <GLfloat*>ptr_value)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniformMatrix3fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniformMatrix2fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1473
 *     raise NotImplemented()
 * 
 * def glUniformMatrix3fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix3fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_128glUniformMatrix3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_128glUniformMatrix3fv[] = "glUniformMatrix3fv(GLint location, GLsizei count)\nSee: `glUniformMatrix3fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix3fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_128glUniformMatrix3fv = {__Pyx_NAMESTR("glUniformMatrix3fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_128glUniformMatrix3fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_128glUniformMatrix3fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_128glUniformMatrix3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniformMatrix3fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniformMatrix3fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniformMatrix3fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniformMatrix3fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniformMatrix3fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1480
 *     '''
 *     # c_opengl.glUniformMatrix3fv(location, count, transpose, <GLfloat*>ptr_value)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUniformMatrix4fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniformMatrix3fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1482
 *     raise NotImplemented()
 * 
 * def glUniformMatrix4fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix4fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_129glUniformMatrix4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_129glUniformMatrix4fv[] = "glUniformMatrix4fv(GLint location, GLsizei count)\nSee: `glUniformMatrix4fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix4fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_129glUniformMatrix4fv = {__Pyx_NAMESTR("glUniformMatrix4fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_129glUniformMatrix4fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_129glUniformMatrix4fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_129glUniformMatrix4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
  __Pyx_RefNannySetupContext("glUniformMatrix4fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glUniformMatrix4fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glUniformMatrix4fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_location = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniformMatrix4fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniformMatrix4fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1489
 *     '''
 *     # c_opengl.glUniformMatrix4fv(location, count, transpose, <GLfloat*>ptr_value)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glUseProgram(GLuint program):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniformMatrix4fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1491
 *     raise NotImplemented()
 * 
 * def glUseProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glUseProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUseProgram.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_130glUseProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_130glUseProgram[] = "glUseProgram(GLuint program)\nSee: `glUseProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUseProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_130glUseProgram = {__Pyx_NAMESTR("glUseProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_130glUseProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_130glUseProgram)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_130glUseProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glUseProgram");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_program); {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_program); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUseProgram");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1495
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUseProgram.xml>`_
 *     '''
 *     c_opengl.glUseProgram(program)             # <<<<<<<<<<<<<<
 * 
 * def glValidateProgram(GLuint program):
 */
  glUseProgram(__pyx_v_program);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1497
 *     c_opengl.glUseProgram(program)
 * 
 * def glValidateProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glValidateProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glValidateProgram.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_131glValidateProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_131glValidateProgram[] = "glValidateProgram(GLuint program)\nSee: `glValidateProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glValidateProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_131glValidateProgram = {__Pyx_NAMESTR("glValidateProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_131glValidateProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_131glValidateProgram)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_131glValidateProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("glValidateProgram");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_program); {
    __pyx_v_program = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_program); if (unlikely((__pyx_v_program == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glValidateProgram");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1501
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glValidateProgram.xml>`_
 *     '''
 *     c_opengl.glValidateProgram(program)             # <<<<<<<<<<<<<<
 * 
 * def glVertexAttrib1f(GLuint indx, GLfloat x):
 */
  glValidateProgram(__pyx_v_program);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1503
 *     c_opengl.glValidateProgram(program)
 * 
 * def glVertexAttrib1f(GLuint indx, GLfloat x):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib1f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1f.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_132glVertexAttrib1f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_132glVertexAttrib1f[] = "glVertexAttrib1f(GLuint indx, GLfloat x)\nSee: `glVertexAttrib1f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_132glVertexAttrib1f = {__Pyx_NAMESTR("glVertexAttrib1f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_132glVertexAttrib1f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_132glVertexAttrib1f)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_132glVertexAttrib1f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__x,0};
  __Pyx_RefNannySetupContext("glVertexAttrib1f");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib1f", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glVertexAttrib1f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glVertexAttrib1f", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib1f");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1507
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1f.xml>`_
 *     '''
 *     c_opengl.glVertexAttrib1f(indx, x)             # <<<<<<<<<<<<<<
 * 
 * def glVertexAttrib1fv(GLuint indx, list values):
 */
  glVertexAttrib1f(__pyx_v_indx, __pyx_v_x);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1509
 *     c_opengl.glVertexAttrib1f(indx, x)
 * 
 * def glVertexAttrib1fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib1fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_133glVertexAttrib1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_133glVertexAttrib1fv[] = "glVertexAttrib1fv(GLuint indx, list values)\nSee: `glVertexAttrib1fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_133glVertexAttrib1fv = {__Pyx_NAMESTR("glVertexAttrib1fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_133glVertexAttrib1fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_133glVertexAttrib1fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_133glVertexAttrib1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  PyObject *__pyx_v_values = 0;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__values,0};
  __Pyx_RefNannySetupContext("glVertexAttrib1fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib1fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glVertexAttrib1fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glVertexAttrib1fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib1fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_values), (&PyList_Type), 1, "values", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":1516
 *     '''
 *     #c_opengl.glVertexAttrib1fv(indx, values)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib1fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1518
 *     raise NotImplemented()
 * 
 * def glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib2f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2f.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_134glVertexAttrib2f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_134glVertexAttrib2f[] = "glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)\nSee: `glVertexAttrib2f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_134glVertexAttrib2f = {__Pyx_NAMESTR("glVertexAttrib2f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_134glVertexAttrib2f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_134glVertexAttrib2f)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_134glVertexAttrib2f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_y;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__x,&__pyx_n_s__y,0};
  __Pyx_RefNannySetupContext("glVertexAttrib2f");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib2f", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib2f", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glVertexAttrib2f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glVertexAttrib2f", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib2f");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1522
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2f.xml>`_
 *     '''
 *     c_opengl.glVertexAttrib2f(indx, x, y)             # <<<<<<<<<<<<<<
 * 
 * def glVertexAttrib2fv(GLuint indx, list values):
 */
  glVertexAttrib2f(__pyx_v_indx, __pyx_v_x, __pyx_v_y);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1524
 *     c_opengl.glVertexAttrib2f(indx, x, y)
 * 
 * def glVertexAttrib2fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_135glVertexAttrib2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_135glVertexAttrib2fv[] = "glVertexAttrib2fv(GLuint indx, list values)\nSee: `glVertexAttrib2fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_135glVertexAttrib2fv = {__Pyx_NAMESTR("glVertexAttrib2fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_135glVertexAttrib2fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_135glVertexAttrib2fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_135glVertexAttrib2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  PyObject *__pyx_v_values = 0;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__values,0};
  __Pyx_RefNannySetupContext("glVertexAttrib2fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib2fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glVertexAttrib2fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glVertexAttrib2fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib2fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_values), (&PyList_Type), 1, "values", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":1531
 *     '''
 *     #c_opengl.glVertexAttrib2fv(indx, values)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib2fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1533
 *     raise NotImplemented()
 * 
 * def glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib3f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3f.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_136glVertexAttrib3f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_136glVertexAttrib3f[] = "glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)\nSee: `glVertexAttrib3f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_136glVertexAttrib3f = {__Pyx_NAMESTR("glVertexAttrib3f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_136glVertexAttrib3f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_136glVertexAttrib3f)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_136glVertexAttrib3f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_z;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__z,0};
  __Pyx_RefNannySetupContext("glVertexAttrib3f");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib3f", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib3f", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib3f", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glVertexAttrib3f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glVertexAttrib3f", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib3f");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1537
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3f.xml>`_
 *     '''
 *     c_opengl.glVertexAttrib3f(indx, x, y, z)             # <<<<<<<<<<<<<<
 * 
 * def glVertexAttrib3fv(GLuint indx, list values):
 */
  glVertexAttrib3f(__pyx_v_indx, __pyx_v_x, __pyx_v_y, __pyx_v_z);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1539
 *     c_opengl.glVertexAttrib3f(indx, x, y, z)
 * 
 * def glVertexAttrib3fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_137glVertexAttrib3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_137glVertexAttrib3fv[] = "glVertexAttrib3fv(GLuint indx, list values)\nSee: `glVertexAttrib3fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_137glVertexAttrib3fv = {__Pyx_NAMESTR("glVertexAttrib3fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_137glVertexAttrib3fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_137glVertexAttrib3fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_137glVertexAttrib3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  PyObject *__pyx_v_values = 0;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__values,0};
  __Pyx_RefNannySetupContext("glVertexAttrib3fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib3fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glVertexAttrib3fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glVertexAttrib3fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib3fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_values), (&PyList_Type), 1, "values", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":1546
 *     '''
 *     #c_opengl.glVertexAttrib3fv(indx, values)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib3fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1548
 *     raise NotImplemented()
 * 
 * def glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib4f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4f.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_138glVertexAttrib4f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_138glVertexAttrib4f[] = "glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)\nSee: `glVertexAttrib4f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_138glVertexAttrib4f = {__Pyx_NAMESTR("glVertexAttrib4f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_138glVertexAttrib4f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_138glVertexAttrib4f)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_138glVertexAttrib4f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_z;
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_w;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__z,&__pyx_n_s__w,0};
  __Pyx_RefNannySetupContext("glVertexAttrib4f");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[5] = {0,0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib4f", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib4f", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib4f", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  4:
      values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__w);
      if (likely(values[4])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib4f", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glVertexAttrib4f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_w = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_w == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_w = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 4)); if (unlikely((__pyx_v_w == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glVertexAttrib4f", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib4f");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1552
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4f.xml>`_
 *     '''
 *     c_opengl.glVertexAttrib4f(indx, x, y, z, w)             # <<<<<<<<<<<<<<
 * 
 * def glVertexAttrib4fv(GLuint indx, list values):
 */
  glVertexAttrib4f(__pyx_v_indx, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_w);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1554
 *     c_opengl.glVertexAttrib4f(indx, x, y, z, w)
 * 
 * def glVertexAttrib4fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4fv.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_139glVertexAttrib4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_139glVertexAttrib4fv[] = "glVertexAttrib4fv(GLuint indx, list values)\nSee: `glVertexAttrib4fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_139glVertexAttrib4fv = {__Pyx_NAMESTR("glVertexAttrib4fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_139glVertexAttrib4fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_139glVertexAttrib4fv)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_139glVertexAttrib4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  PyObject *__pyx_v_values = 0;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__values,0};
  __Pyx_RefNannySetupContext("glVertexAttrib4fv");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttrib4fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glVertexAttrib4fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)values[1]);
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)PyTuple_GET_ITEM(__pyx_args, 1));
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glVertexAttrib4fv", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib4fv");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_values), (&PyList_Type), 1, "values", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy/graphics/opengl.pyx":1561
 *     '''
 *     #c_opengl.glVertexAttrib4fv(indx, values)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glVertexAttribPointer(GLuint indx, GLint size):#, GLenum type, GLboolean normalized, GLsizei stride,  GLvoid* ptr):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib4fv");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1563
 *     raise NotImplemented()
 * 
 * def glVertexAttribPointer(GLuint indx, GLint size):#, GLenum type, GLboolean normalized, GLsizei stride,  GLvoid* ptr):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttribPointer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttribPointer.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_140glVertexAttribPointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_140glVertexAttribPointer[] = "glVertexAttribPointer(GLuint indx, GLint size)\nSee: `glVertexAttribPointer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttribPointer.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_140glVertexAttribPointer = {__Pyx_NAMESTR("glVertexAttribPointer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_140glVertexAttribPointer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_140glVertexAttribPointer)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_140glVertexAttribPointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_size;
  PyObject *__pyx_r = NULL;
  PyObject *__pyx_t_1 = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__size,0};
  __Pyx_RefNannySetupContext("glVertexAttribPointer");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[2] = {0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glVertexAttribPointer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glVertexAttribPointer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_size = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glVertexAttribPointer", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttribPointer");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1570
 *     '''
 *     # c_opengl.glVertexAttribPointer(indx, size, type, normalized, stride, <GLvoid*>ptr)
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * 
 * def glViewport(GLint x, GLint y, GLsizei width, GLsizei height):
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttribPointer");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1572
 *     raise NotImplemented()
 * 
 * def glViewport(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glViewport() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glViewport.xml>`_
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_141glViewport(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_141glViewport[] = "glViewport(GLint x, GLint y, GLsizei width, GLsizei height)\nSee: `glViewport() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glViewport.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_141glViewport = {__Pyx_NAMESTR("glViewport"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_141glViewport, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_141glViewport)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_141glViewport(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x;
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_y;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_width;
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_height;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__width,&__pyx_n_s__height,0};
  __Pyx_RefNannySetupContext("glViewport");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[4] = {0,0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glViewport", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glViewport", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  3:
      values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height);
      if (likely(values[3])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("glViewport", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "glViewport") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_x = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_x = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_y == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_width = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely((__pyx_v_width == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_height = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 3)); if (unlikely((__pyx_v_height == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glViewport", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glViewport");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;

  /* "kivy/graphics/opengl.pyx":1576
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glViewport.xml>`_
 *     '''
 *     c_opengl.glViewport(x, y, width, height)             # <<<<<<<<<<<<<<
 * 
 * IF USE_GLEW:
 */
  glViewport(__pyx_v_x, __pyx_v_y, __pyx_v_width, __pyx_v_height);

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy/graphics/opengl.pyx":1584
 *         glewInit()
 * ELSE:
 *     def gl_init_symbols():             # <<<<<<<<<<<<<<
 *         pass
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_142gl_init_symbols(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_142gl_init_symbols[] = "gl_init_symbols()";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_142gl_init_symbols = {__Pyx_NAMESTR("gl_init_symbols"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_142gl_init_symbols, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_142gl_init_symbols)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_142gl_init_symbols(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("gl_init_symbols");
  __pyx_self = __pyx_self;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyMethodDef __pyx_methods[] = {
  {0, 0, 0, 0}
};

#if PY_MAJOR_VERSION >= 3
static struct PyModuleDef __pyx_moduledef = {
    PyModuleDef_HEAD_INIT,
    __Pyx_NAMESTR("opengl"),
    __Pyx_DOCSTR(__pyx_k_2), /* m_doc */
    -1, /* m_size */
    __pyx_methods /* m_methods */,
    NULL, /* m_reload */
    NULL, /* m_traverse */
    NULL, /* m_clear */
    NULL /* m_free */
};
#endif

static __Pyx_StringTabEntry __pyx_string_tab[] = {
  {&__pyx_n_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 1},
  {&__pyx_n_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 1},
  {&__pyx_n_s_100, __pyx_k_100, sizeof(__pyx_k_100), 0, 0, 1, 1},
  {&__pyx_n_s_101, __pyx_k_101, sizeof(__pyx_k_101), 0, 0, 1, 1},
  {&__pyx_n_s_102, __pyx_k_102, sizeof(__pyx_k_102), 0, 0, 1, 1},
  {&__pyx_n_s_103, __pyx_k_103, sizeof(__pyx_k_103), 0, 0, 1, 1},
  {&__pyx_n_s_104, __pyx_k_104, sizeof(__pyx_k_104), 0, 0, 1, 1},
  {&__pyx_n_s_105, __pyx_k_105, sizeof(__pyx_k_105), 0, 0, 1, 1},
  {&__pyx_n_s_106, __pyx_k_106, sizeof(__pyx_k_106), 0, 0, 1, 1},
  {&__pyx_n_s_107, __pyx_k_107, sizeof(__pyx_k_107), 0, 0, 1, 1},
  {&__pyx_n_s_108, __pyx_k_108, sizeof(__pyx_k_108), 0, 0, 1, 1},
  {&__pyx_n_s_109, __pyx_k_109, sizeof(__pyx_k_109), 0, 0, 1, 1},
  {&__pyx_n_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 1},
  {&__pyx_n_s_110, __pyx_k_110, sizeof(__pyx_k_110), 0, 0, 1, 1},
  {&__pyx_n_s_111, __pyx_k_111, sizeof(__pyx_k_111), 0, 0, 1, 1},
  {&__pyx_n_s_112, __pyx_k_112, sizeof(__pyx_k_112), 0, 0, 1, 1},
  {&__pyx_n_s_113, __pyx_k_113, sizeof(__pyx_k_113), 0, 0, 1, 1},
  {&__pyx_n_s_114, __pyx_k_114, sizeof(__pyx_k_114), 0, 0, 1, 1},
  {&__pyx_n_s_115, __pyx_k_115, sizeof(__pyx_k_115), 0, 0, 1, 1},
  {&__pyx_n_s_116, __pyx_k_116, sizeof(__pyx_k_116), 0, 0, 1, 1},
  {&__pyx_n_s_117, __pyx_k_117, sizeof(__pyx_k_117), 0, 0, 1, 1},
  {&__pyx_n_s_118, __pyx_k_118, sizeof(__pyx_k_118), 0, 0, 1, 1},
  {&__pyx_n_s_119, __pyx_k_119, sizeof(__pyx_k_119), 0, 0, 1, 1},
  {&__pyx_n_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 1},
  {&__pyx_n_s_120, __pyx_k_120, sizeof(__pyx_k_120), 0, 0, 1, 1},
  {&__pyx_n_s_121, __pyx_k_121, sizeof(__pyx_k_121), 0, 0, 1, 1},
  {&__pyx_n_s_122, __pyx_k_122, sizeof(__pyx_k_122), 0, 0, 1, 1},
  {&__pyx_n_s_123, __pyx_k_123, sizeof(__pyx_k_123), 0, 0, 1, 1},
  {&__pyx_n_s_124, __pyx_k_124, sizeof(__pyx_k_124), 0, 0, 1, 1},
  {&__pyx_n_s_125, __pyx_k_125, sizeof(__pyx_k_125), 0, 0, 1, 1},
  {&__pyx_n_s_126, __pyx_k_126, sizeof(__pyx_k_126), 0, 0, 1, 1},
  {&__pyx_n_s_127, __pyx_k_127, sizeof(__pyx_k_127), 0, 0, 1, 1},
  {&__pyx_n_s_128, __pyx_k_128, sizeof(__pyx_k_128), 0, 0, 1, 1},
  {&__pyx_n_s_129, __pyx_k_129, sizeof(__pyx_k_129), 0, 0, 1, 1},
  {&__pyx_n_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 1},
  {&__pyx_n_s_130, __pyx_k_130, sizeof(__pyx_k_130), 0, 0, 1, 1},
  {&__pyx_n_s_131, __pyx_k_131, sizeof(__pyx_k_131), 0, 0, 1, 1},
  {&__pyx_n_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 1},
  {&__pyx_n_s_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 0, 1, 1},
  {&__pyx_n_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 1},
  {&__pyx_n_s_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 1, 1},
  {&__pyx_n_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 1},
  {&__pyx_n_s_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 1, 1},
  {&__pyx_n_s_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 1, 1},
  {&__pyx_n_s_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 0, 1, 1},
  {&__pyx_n_s_22, __pyx_k_22, sizeof(__pyx_k_22), 0, 0, 1, 1},
  {&__pyx_n_s_23, __pyx_k_23, sizeof(__pyx_k_23), 0, 0, 1, 1},
  {&__pyx_n_s_24, __pyx_k_24, sizeof(__pyx_k_24), 0, 0, 1, 1},
  {&__pyx_n_s_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 0, 1, 1},
  {&__pyx_n_s_26, __pyx_k_26, sizeof(__pyx_k_26), 0, 0, 1, 1},
  {&__pyx_n_s_27, __pyx_k_27, sizeof(__pyx_k_27), 0, 0, 1, 1},
  {&__pyx_n_s_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 1, 1},
  {&__pyx_n_s_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 1, 1},
  {&__pyx_n_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 1},
  {&__pyx_n_s_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 1, 1},
  {&__pyx_n_s_31, __pyx_k_31, sizeof(__pyx_k_31), 0, 0, 1, 1},
  {&__pyx_n_s_32, __pyx_k_32, sizeof(__pyx_k_32), 0, 0, 1, 1},
  {&__pyx_n_s_33, __pyx_k_33, sizeof(__pyx_k_33), 0, 0, 1, 1},
  {&__pyx_n_s_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 1, 1},
  {&__pyx_n_s_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 0, 1, 1},
  {&__pyx_n_s_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 0, 1, 1},
  {&__pyx_n_s_37, __pyx_k_37, sizeof(__pyx_k_37), 0, 0, 1, 1},
  {&__pyx_n_s_38, __pyx_k_38, sizeof(__pyx_k_38), 0, 0, 1, 1},
  {&__pyx_n_s_39, __pyx_k_39, sizeof(__pyx_k_39), 0, 0, 1, 1},
  {&__pyx_n_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 1},
  {&__pyx_n_s_40, __pyx_k_40, sizeof(__pyx_k_40), 0, 0, 1, 1},
  {&__pyx_n_s_41, __pyx_k_41, sizeof(__pyx_k_41), 0, 0, 1, 1},
  {&__pyx_n_s_42, __pyx_k_42, sizeof(__pyx_k_42), 0, 0, 1, 1},
  {&__pyx_n_s_43, __pyx_k_43, sizeof(__pyx_k_43), 0, 0, 1, 1},
  {&__pyx_n_s_44, __pyx_k_44, sizeof(__pyx_k_44), 0, 0, 1, 1},
  {&__pyx_n_s_45, __pyx_k_45, sizeof(__pyx_k_45), 0, 0, 1, 1},
  {&__pyx_n_s_46, __pyx_k_46, sizeof(__pyx_k_46), 0, 0, 1, 1},
  {&__pyx_n_s_47, __pyx_k_47, sizeof(__pyx_k_47), 0, 0, 1, 1},
  {&__pyx_n_s_48, __pyx_k_48, sizeof(__pyx_k_48), 0, 0, 1, 1},
  {&__pyx_n_s_49, __pyx_k_49, sizeof(__pyx_k_49), 0, 0, 1, 1},
  {&__pyx_n_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 1},
  {&__pyx_n_s_50, __pyx_k_50, sizeof(__pyx_k_50), 0, 0, 1, 1},
  {&__pyx_n_s_51, __pyx_k_51, sizeof(__pyx_k_51), 0, 0, 1, 1},
  {&__pyx_n_s_52, __pyx_k_52, sizeof(__pyx_k_52), 0, 0, 1, 1},
  {&__pyx_n_s_53, __pyx_k_53, sizeof(__pyx_k_53), 0, 0, 1, 1},
  {&__pyx_n_s_54, __pyx_k_54, sizeof(__pyx_k_54), 0, 0, 1, 1},
  {&__pyx_n_s_55, __pyx_k_55, sizeof(__pyx_k_55), 0, 0, 1, 1},
  {&__pyx_n_s_56, __pyx_k_56, sizeof(__pyx_k_56), 0, 0, 1, 1},
  {&__pyx_n_s_57, __pyx_k_57, sizeof(__pyx_k_57), 0, 0, 1, 1},
  {&__pyx_n_s_58, __pyx_k_58, sizeof(__pyx_k_58), 0, 0, 1, 1},
  {&__pyx_n_s_59, __pyx_k_59, sizeof(__pyx_k_59), 0, 0, 1, 1},
  {&__pyx_n_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 1},
  {&__pyx_n_s_60, __pyx_k_60, sizeof(__pyx_k_60), 0, 0, 1, 1},
  {&__pyx_n_s_61, __pyx_k_61, sizeof(__pyx_k_61), 0, 0, 1, 1},
  {&__pyx_n_s_62, __pyx_k_62, sizeof(__pyx_k_62), 0, 0, 1, 1},
  {&__pyx_n_s_63, __pyx_k_63, sizeof(__pyx_k_63), 0, 0, 1, 1},
  {&__pyx_n_s_64, __pyx_k_64, sizeof(__pyx_k_64), 0, 0, 1, 1},
  {&__pyx_n_s_65, __pyx_k_65, sizeof(__pyx_k_65), 0, 0, 1, 1},
  {&__pyx_n_s_66, __pyx_k_66, sizeof(__pyx_k_66), 0, 0, 1, 1},
  {&__pyx_n_s_67, __pyx_k_67, sizeof(__pyx_k_67), 0, 0, 1, 1},
  {&__pyx_n_s_68, __pyx_k_68, sizeof(__pyx_k_68), 0, 0, 1, 1},
  {&__pyx_n_s_69, __pyx_k_69, sizeof(__pyx_k_69), 0, 0, 1, 1},
  {&__pyx_n_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 1},
  {&__pyx_n_s_70, __pyx_k_70, sizeof(__pyx_k_70), 0, 0, 1, 1},
  {&__pyx_n_s_71, __pyx_k_71, sizeof(__pyx_k_71), 0, 0, 1, 1},
  {&__pyx_n_s_72, __pyx_k_72, sizeof(__pyx_k_72), 0, 0, 1, 1},
  {&__pyx_n_s_73, __pyx_k_73, sizeof(__pyx_k_73), 0, 0, 1, 1},
  {&__pyx_n_s_74, __pyx_k_74, sizeof(__pyx_k_74), 0, 0, 1, 1},
  {&__pyx_n_s_75, __pyx_k_75, sizeof(__pyx_k_75), 0, 0, 1, 1},
  {&__pyx_n_s_76, __pyx_k_76, sizeof(__pyx_k_76), 0, 0, 1, 1},
  {&__pyx_n_s_77, __pyx_k_77, sizeof(__pyx_k_77), 0, 0, 1, 1},
  {&__pyx_n_s_78, __pyx_k_78, sizeof(__pyx_k_78), 0, 0, 1, 1},
  {&__pyx_n_s_79, __pyx_k_79, sizeof(__pyx_k_79), 0, 0, 1, 1},
  {&__pyx_n_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 1},
  {&__pyx_n_s_80, __pyx_k_80, sizeof(__pyx_k_80), 0, 0, 1, 1},
  {&__pyx_n_s_81, __pyx_k_81, sizeof(__pyx_k_81), 0, 0, 1, 1},
  {&__pyx_n_s_82, __pyx_k_82, sizeof(__pyx_k_82), 0, 0, 1, 1},
  {&__pyx_n_s_83, __pyx_k_83, sizeof(__pyx_k_83), 0, 0, 1, 1},
  {&__pyx_n_s_84, __pyx_k_84, sizeof(__pyx_k_84), 0, 0, 1, 1},
  {&__pyx_n_s_85, __pyx_k_85, sizeof(__pyx_k_85), 0, 0, 1, 1},
  {&__pyx_n_s_86, __pyx_k_86, sizeof(__pyx_k_86), 0, 0, 1, 1},
  {&__pyx_n_s_87, __pyx_k_87, sizeof(__pyx_k_87), 0, 0, 1, 1},
  {&__pyx_n_s_88, __pyx_k_88, sizeof(__pyx_k_88), 0, 0, 1, 1},
  {&__pyx_n_s_89, __pyx_k_89, sizeof(__pyx_k_89), 0, 0, 1, 1},
  {&__pyx_n_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 1},
  {&__pyx_n_s_90, __pyx_k_90, sizeof(__pyx_k_90), 0, 0, 1, 1},
  {&__pyx_n_s_91, __pyx_k_91, sizeof(__pyx_k_91), 0, 0, 1, 1},
  {&__pyx_n_s_92, __pyx_k_92, sizeof(__pyx_k_92), 0, 0, 1, 1},
  {&__pyx_n_s_93, __pyx_k_93, sizeof(__pyx_k_93), 0, 0, 1, 1},
  {&__pyx_n_s_94, __pyx_k_94, sizeof(__pyx_k_94), 0, 0, 1, 1},
  {&__pyx_n_s_95, __pyx_k_95, sizeof(__pyx_k_95), 0, 0, 1, 1},
  {&__pyx_n_s_96, __pyx_k_96, sizeof(__pyx_k_96), 0, 0, 1, 1},
  {&__pyx_n_s_97, __pyx_k_97, sizeof(__pyx_k_97), 0, 0, 1, 1},
  {&__pyx_n_s_98, __pyx_k_98, sizeof(__pyx_k_98), 0, 0, 1, 1},
  {&__pyx_n_s_99, __pyx_k_99, sizeof(__pyx_k_99), 0, 0, 1, 1},
  {&__pyx_n_s__GL_ACTIVE_TEXTURE, __pyx_k__GL_ACTIVE_TEXTURE, sizeof(__pyx_k__GL_ACTIVE_TEXTURE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_ACTIVE_UNIFORMS, __pyx_k__GL_ACTIVE_UNIFORMS, sizeof(__pyx_k__GL_ACTIVE_UNIFORMS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_ALPHA, __pyx_k__GL_ALPHA, sizeof(__pyx_k__GL_ALPHA), 0, 0, 1, 1},
  {&__pyx_n_s__GL_ALPHA_BITS, __pyx_k__GL_ALPHA_BITS, sizeof(__pyx_k__GL_ALPHA_BITS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_ALWAYS, __pyx_k__GL_ALWAYS, sizeof(__pyx_k__GL_ALWAYS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_ARRAY_BUFFER, __pyx_k__GL_ARRAY_BUFFER, sizeof(__pyx_k__GL_ARRAY_BUFFER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_ATTACHED_SHADERS, __pyx_k__GL_ATTACHED_SHADERS, sizeof(__pyx_k__GL_ATTACHED_SHADERS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BACK, __pyx_k__GL_BACK, sizeof(__pyx_k__GL_BACK), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BLEND, __pyx_k__GL_BLEND, sizeof(__pyx_k__GL_BLEND), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BLEND_COLOR, __pyx_k__GL_BLEND_COLOR, sizeof(__pyx_k__GL_BLEND_COLOR), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BLEND_DST_ALPHA, __pyx_k__GL_BLEND_DST_ALPHA, sizeof(__pyx_k__GL_BLEND_DST_ALPHA), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BLEND_DST_RGB, __pyx_k__GL_BLEND_DST_RGB, sizeof(__pyx_k__GL_BLEND_DST_RGB), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BLEND_EQUATION, __pyx_k__GL_BLEND_EQUATION, sizeof(__pyx_k__GL_BLEND_EQUATION), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BLEND_SRC_ALPHA, __pyx_k__GL_BLEND_SRC_ALPHA, sizeof(__pyx_k__GL_BLEND_SRC_ALPHA), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BLEND_SRC_RGB, __pyx_k__GL_BLEND_SRC_RGB, sizeof(__pyx_k__GL_BLEND_SRC_RGB), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BLUE_BITS, __pyx_k__GL_BLUE_BITS, sizeof(__pyx_k__GL_BLUE_BITS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BOOL, __pyx_k__GL_BOOL, sizeof(__pyx_k__GL_BOOL), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BOOL_VEC2, __pyx_k__GL_BOOL_VEC2, sizeof(__pyx_k__GL_BOOL_VEC2), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BOOL_VEC3, __pyx_k__GL_BOOL_VEC3, sizeof(__pyx_k__GL_BOOL_VEC3), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BOOL_VEC4, __pyx_k__GL_BOOL_VEC4, sizeof(__pyx_k__GL_BOOL_VEC4), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BUFFER_SIZE, __pyx_k__GL_BUFFER_SIZE, sizeof(__pyx_k__GL_BUFFER_SIZE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BUFFER_USAGE, __pyx_k__GL_BUFFER_USAGE, sizeof(__pyx_k__GL_BUFFER_USAGE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_BYTE, __pyx_k__GL_BYTE, sizeof(__pyx_k__GL_BYTE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_CCW, __pyx_k__GL_CCW, sizeof(__pyx_k__GL_CCW), 0, 0, 1, 1},
  {&__pyx_n_s__GL_CLAMP_TO_EDGE, __pyx_k__GL_CLAMP_TO_EDGE, sizeof(__pyx_k__GL_CLAMP_TO_EDGE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_COLOR_BUFFER_BIT, __pyx_k__GL_COLOR_BUFFER_BIT, sizeof(__pyx_k__GL_COLOR_BUFFER_BIT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_COLOR_WRITEMASK, __pyx_k__GL_COLOR_WRITEMASK, sizeof(__pyx_k__GL_COLOR_WRITEMASK), 0, 0, 1, 1},
  {&__pyx_n_s__GL_COMPILE_STATUS, __pyx_k__GL_COMPILE_STATUS, sizeof(__pyx_k__GL_COMPILE_STATUS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_CULL_FACE, __pyx_k__GL_CULL_FACE, sizeof(__pyx_k__GL_CULL_FACE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_CULL_FACE_MODE, __pyx_k__GL_CULL_FACE_MODE, sizeof(__pyx_k__GL_CULL_FACE_MODE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_CURRENT_PROGRAM, __pyx_k__GL_CURRENT_PROGRAM, sizeof(__pyx_k__GL_CURRENT_PROGRAM), 0, 0, 1, 1},
  {&__pyx_n_s__GL_CW, __pyx_k__GL_CW, sizeof(__pyx_k__GL_CW), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DECR, __pyx_k__GL_DECR, sizeof(__pyx_k__GL_DECR), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DECR_WRAP, __pyx_k__GL_DECR_WRAP, sizeof(__pyx_k__GL_DECR_WRAP), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DELETE_STATUS, __pyx_k__GL_DELETE_STATUS, sizeof(__pyx_k__GL_DELETE_STATUS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DEPTH_ATTACHMENT, __pyx_k__GL_DEPTH_ATTACHMENT, sizeof(__pyx_k__GL_DEPTH_ATTACHMENT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DEPTH_BITS, __pyx_k__GL_DEPTH_BITS, sizeof(__pyx_k__GL_DEPTH_BITS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DEPTH_BUFFER_BIT, __pyx_k__GL_DEPTH_BUFFER_BIT, sizeof(__pyx_k__GL_DEPTH_BUFFER_BIT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DEPTH_COMPONENT, __pyx_k__GL_DEPTH_COMPONENT, sizeof(__pyx_k__GL_DEPTH_COMPONENT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DEPTH_FUNC, __pyx_k__GL_DEPTH_FUNC, sizeof(__pyx_k__GL_DEPTH_FUNC), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DEPTH_RANGE, __pyx_k__GL_DEPTH_RANGE, sizeof(__pyx_k__GL_DEPTH_RANGE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DEPTH_TEST, __pyx_k__GL_DEPTH_TEST, sizeof(__pyx_k__GL_DEPTH_TEST), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DEPTH_WRITEMASK, __pyx_k__GL_DEPTH_WRITEMASK, sizeof(__pyx_k__GL_DEPTH_WRITEMASK), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DITHER, __pyx_k__GL_DITHER, sizeof(__pyx_k__GL_DITHER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DONT_CARE, __pyx_k__GL_DONT_CARE, sizeof(__pyx_k__GL_DONT_CARE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DST_ALPHA, __pyx_k__GL_DST_ALPHA, sizeof(__pyx_k__GL_DST_ALPHA), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DST_COLOR, __pyx_k__GL_DST_COLOR, sizeof(__pyx_k__GL_DST_COLOR), 0, 0, 1, 1},
  {&__pyx_n_s__GL_DYNAMIC_DRAW, __pyx_k__GL_DYNAMIC_DRAW, sizeof(__pyx_k__GL_DYNAMIC_DRAW), 0, 0, 1, 1},
  {&__pyx_n_s__GL_EQUAL, __pyx_k__GL_EQUAL, sizeof(__pyx_k__GL_EQUAL), 0, 0, 1, 1},
  {&__pyx_n_s__GL_EXTENSIONS, __pyx_k__GL_EXTENSIONS, sizeof(__pyx_k__GL_EXTENSIONS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FALSE, __pyx_k__GL_FALSE, sizeof(__pyx_k__GL_FALSE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FASTEST, __pyx_k__GL_FASTEST, sizeof(__pyx_k__GL_FASTEST), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FIXED, __pyx_k__GL_FIXED, sizeof(__pyx_k__GL_FIXED), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FLOAT, __pyx_k__GL_FLOAT, sizeof(__pyx_k__GL_FLOAT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FLOAT_MAT2, __pyx_k__GL_FLOAT_MAT2, sizeof(__pyx_k__GL_FLOAT_MAT2), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FLOAT_MAT3, __pyx_k__GL_FLOAT_MAT3, sizeof(__pyx_k__GL_FLOAT_MAT3), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FLOAT_MAT4, __pyx_k__GL_FLOAT_MAT4, sizeof(__pyx_k__GL_FLOAT_MAT4), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FLOAT_VEC2, __pyx_k__GL_FLOAT_VEC2, sizeof(__pyx_k__GL_FLOAT_VEC2), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FLOAT_VEC3, __pyx_k__GL_FLOAT_VEC3, sizeof(__pyx_k__GL_FLOAT_VEC3), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FLOAT_VEC4, __pyx_k__GL_FLOAT_VEC4, sizeof(__pyx_k__GL_FLOAT_VEC4), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FRAGMENT_SHADER, __pyx_k__GL_FRAGMENT_SHADER, sizeof(__pyx_k__GL_FRAGMENT_SHADER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FRAMEBUFFER, __pyx_k__GL_FRAMEBUFFER, sizeof(__pyx_k__GL_FRAMEBUFFER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FRONT, __pyx_k__GL_FRONT, sizeof(__pyx_k__GL_FRONT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FRONT_AND_BACK, __pyx_k__GL_FRONT_AND_BACK, sizeof(__pyx_k__GL_FRONT_AND_BACK), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FRONT_FACE, __pyx_k__GL_FRONT_FACE, sizeof(__pyx_k__GL_FRONT_FACE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FUNC_ADD, __pyx_k__GL_FUNC_ADD, sizeof(__pyx_k__GL_FUNC_ADD), 0, 0, 1, 1},
  {&__pyx_n_s__GL_FUNC_SUBTRACT, __pyx_k__GL_FUNC_SUBTRACT, sizeof(__pyx_k__GL_FUNC_SUBTRACT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_GEQUAL, __pyx_k__GL_GEQUAL, sizeof(__pyx_k__GL_GEQUAL), 0, 0, 1, 1},
  {&__pyx_n_s__GL_GREATER, __pyx_k__GL_GREATER, sizeof(__pyx_k__GL_GREATER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_GREEN_BITS, __pyx_k__GL_GREEN_BITS, sizeof(__pyx_k__GL_GREEN_BITS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_HIGH_FLOAT, __pyx_k__GL_HIGH_FLOAT, sizeof(__pyx_k__GL_HIGH_FLOAT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_HIGH_INT, __pyx_k__GL_HIGH_INT, sizeof(__pyx_k__GL_HIGH_INT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INCR, __pyx_k__GL_INCR, sizeof(__pyx_k__GL_INCR), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INCR_WRAP, __pyx_k__GL_INCR_WRAP, sizeof(__pyx_k__GL_INCR_WRAP), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INFO_LOG_LENGTH, __pyx_k__GL_INFO_LOG_LENGTH, sizeof(__pyx_k__GL_INFO_LOG_LENGTH), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INT, __pyx_k__GL_INT, sizeof(__pyx_k__GL_INT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INT_VEC2, __pyx_k__GL_INT_VEC2, sizeof(__pyx_k__GL_INT_VEC2), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INT_VEC3, __pyx_k__GL_INT_VEC3, sizeof(__pyx_k__GL_INT_VEC3), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INT_VEC4, __pyx_k__GL_INT_VEC4, sizeof(__pyx_k__GL_INT_VEC4), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INVALID_ENUM, __pyx_k__GL_INVALID_ENUM, sizeof(__pyx_k__GL_INVALID_ENUM), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INVALID_VALUE, __pyx_k__GL_INVALID_VALUE, sizeof(__pyx_k__GL_INVALID_VALUE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_INVERT, __pyx_k__GL_INVERT, sizeof(__pyx_k__GL_INVERT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_KEEP, __pyx_k__GL_KEEP, sizeof(__pyx_k__GL_KEEP), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LEQUAL, __pyx_k__GL_LEQUAL, sizeof(__pyx_k__GL_LEQUAL), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LESS, __pyx_k__GL_LESS, sizeof(__pyx_k__GL_LESS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LINEAR, __pyx_k__GL_LINEAR, sizeof(__pyx_k__GL_LINEAR), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LINES, __pyx_k__GL_LINES, sizeof(__pyx_k__GL_LINES), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LINE_LOOP, __pyx_k__GL_LINE_LOOP, sizeof(__pyx_k__GL_LINE_LOOP), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LINE_STRIP, __pyx_k__GL_LINE_STRIP, sizeof(__pyx_k__GL_LINE_STRIP), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LINE_WIDTH, __pyx_k__GL_LINE_WIDTH, sizeof(__pyx_k__GL_LINE_WIDTH), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LINK_STATUS, __pyx_k__GL_LINK_STATUS, sizeof(__pyx_k__GL_LINK_STATUS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LOW_FLOAT, __pyx_k__GL_LOW_FLOAT, sizeof(__pyx_k__GL_LOW_FLOAT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LOW_INT, __pyx_k__GL_LOW_INT, sizeof(__pyx_k__GL_LOW_INT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LUMINANCE, __pyx_k__GL_LUMINANCE, sizeof(__pyx_k__GL_LUMINANCE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_LUMINANCE_ALPHA, __pyx_k__GL_LUMINANCE_ALPHA, sizeof(__pyx_k__GL_LUMINANCE_ALPHA), 0, 0, 1, 1},
  {&__pyx_n_s__GL_MAX_TEXTURE_SIZE, __pyx_k__GL_MAX_TEXTURE_SIZE, sizeof(__pyx_k__GL_MAX_TEXTURE_SIZE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_MEDIUM_FLOAT, __pyx_k__GL_MEDIUM_FLOAT, sizeof(__pyx_k__GL_MEDIUM_FLOAT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_MEDIUM_INT, __pyx_k__GL_MEDIUM_INT, sizeof(__pyx_k__GL_MEDIUM_INT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_MIRRORED_REPEAT, __pyx_k__GL_MIRRORED_REPEAT, sizeof(__pyx_k__GL_MIRRORED_REPEAT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_NEAREST, __pyx_k__GL_NEAREST, sizeof(__pyx_k__GL_NEAREST), 0, 0, 1, 1},
  {&__pyx_n_s__GL_NEVER, __pyx_k__GL_NEVER, sizeof(__pyx_k__GL_NEVER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_NICEST, __pyx_k__GL_NICEST, sizeof(__pyx_k__GL_NICEST), 0, 0, 1, 1},
  {&__pyx_n_s__GL_NONE, __pyx_k__GL_NONE, sizeof(__pyx_k__GL_NONE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_NOTEQUAL, __pyx_k__GL_NOTEQUAL, sizeof(__pyx_k__GL_NOTEQUAL), 0, 0, 1, 1},
  {&__pyx_n_s__GL_NO_ERROR, __pyx_k__GL_NO_ERROR, sizeof(__pyx_k__GL_NO_ERROR), 0, 0, 1, 1},
  {&__pyx_n_s__GL_ONE, __pyx_k__GL_ONE, sizeof(__pyx_k__GL_ONE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_OUT_OF_MEMORY, __pyx_k__GL_OUT_OF_MEMORY, sizeof(__pyx_k__GL_OUT_OF_MEMORY), 0, 0, 1, 1},
  {&__pyx_n_s__GL_PACK_ALIGNMENT, __pyx_k__GL_PACK_ALIGNMENT, sizeof(__pyx_k__GL_PACK_ALIGNMENT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_POINTS, __pyx_k__GL_POINTS, sizeof(__pyx_k__GL_POINTS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_RED_BITS, __pyx_k__GL_RED_BITS, sizeof(__pyx_k__GL_RED_BITS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_RENDERBUFFER, __pyx_k__GL_RENDERBUFFER, sizeof(__pyx_k__GL_RENDERBUFFER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_RENDERER, __pyx_k__GL_RENDERER, sizeof(__pyx_k__GL_RENDERER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_REPEAT, __pyx_k__GL_REPEAT, sizeof(__pyx_k__GL_REPEAT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_REPLACE, __pyx_k__GL_REPLACE, sizeof(__pyx_k__GL_REPLACE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_RGB, __pyx_k__GL_RGB, sizeof(__pyx_k__GL_RGB), 0, 0, 1, 1},
  {&__pyx_n_s__GL_RGB565, __pyx_k__GL_RGB565, sizeof(__pyx_k__GL_RGB565), 0, 0, 1, 1},
  {&__pyx_n_s__GL_RGB5_A1, __pyx_k__GL_RGB5_A1, sizeof(__pyx_k__GL_RGB5_A1), 0, 0, 1, 1},
  {&__pyx_n_s__GL_RGBA, __pyx_k__GL_RGBA, sizeof(__pyx_k__GL_RGBA), 0, 0, 1, 1},
  {&__pyx_n_s__GL_RGBA4, __pyx_k__GL_RGBA4, sizeof(__pyx_k__GL_RGBA4), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SAMPLER_2D, __pyx_k__GL_SAMPLER_2D, sizeof(__pyx_k__GL_SAMPLER_2D), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SAMPLER_CUBE, __pyx_k__GL_SAMPLER_CUBE, sizeof(__pyx_k__GL_SAMPLER_CUBE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SAMPLES, __pyx_k__GL_SAMPLES, sizeof(__pyx_k__GL_SAMPLES), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SAMPLE_BUFFERS, __pyx_k__GL_SAMPLE_BUFFERS, sizeof(__pyx_k__GL_SAMPLE_BUFFERS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SAMPLE_COVERAGE, __pyx_k__GL_SAMPLE_COVERAGE, sizeof(__pyx_k__GL_SAMPLE_COVERAGE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SCISSOR_BOX, __pyx_k__GL_SCISSOR_BOX, sizeof(__pyx_k__GL_SCISSOR_BOX), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SCISSOR_TEST, __pyx_k__GL_SCISSOR_TEST, sizeof(__pyx_k__GL_SCISSOR_TEST), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SHADER_COMPILER, __pyx_k__GL_SHADER_COMPILER, sizeof(__pyx_k__GL_SHADER_COMPILER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SHADER_TYPE, __pyx_k__GL_SHADER_TYPE, sizeof(__pyx_k__GL_SHADER_TYPE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SHORT, __pyx_k__GL_SHORT, sizeof(__pyx_k__GL_SHORT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SRC_ALPHA, __pyx_k__GL_SRC_ALPHA, sizeof(__pyx_k__GL_SRC_ALPHA), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SRC_COLOR, __pyx_k__GL_SRC_COLOR, sizeof(__pyx_k__GL_SRC_COLOR), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STATIC_DRAW, __pyx_k__GL_STATIC_DRAW, sizeof(__pyx_k__GL_STATIC_DRAW), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STENCIL_BACK_REF, __pyx_k__GL_STENCIL_BACK_REF, sizeof(__pyx_k__GL_STENCIL_BACK_REF), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STENCIL_BITS, __pyx_k__GL_STENCIL_BITS, sizeof(__pyx_k__GL_STENCIL_BITS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STENCIL_FAIL, __pyx_k__GL_STENCIL_FAIL, sizeof(__pyx_k__GL_STENCIL_FAIL), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STENCIL_FUNC, __pyx_k__GL_STENCIL_FUNC, sizeof(__pyx_k__GL_STENCIL_FUNC), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STENCIL_INDEX, __pyx_k__GL_STENCIL_INDEX, sizeof(__pyx_k__GL_STENCIL_INDEX), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STENCIL_INDEX8, __pyx_k__GL_STENCIL_INDEX8, sizeof(__pyx_k__GL_STENCIL_INDEX8), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STENCIL_REF, __pyx_k__GL_STENCIL_REF, sizeof(__pyx_k__GL_STENCIL_REF), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STENCIL_TEST, __pyx_k__GL_STENCIL_TEST, sizeof(__pyx_k__GL_STENCIL_TEST), 0, 0, 1, 1},
  {&__pyx_n_s__GL_STREAM_DRAW, __pyx_k__GL_STREAM_DRAW, sizeof(__pyx_k__GL_STREAM_DRAW), 0, 0, 1, 1},
  {&__pyx_n_s__GL_SUBPIXEL_BITS, __pyx_k__GL_SUBPIXEL_BITS, sizeof(__pyx_k__GL_SUBPIXEL_BITS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE, __pyx_k__GL_TEXTURE, sizeof(__pyx_k__GL_TEXTURE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE0, __pyx_k__GL_TEXTURE0, sizeof(__pyx_k__GL_TEXTURE0), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE1, __pyx_k__GL_TEXTURE1, sizeof(__pyx_k__GL_TEXTURE1), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE10, __pyx_k__GL_TEXTURE10, sizeof(__pyx_k__GL_TEXTURE10), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE11, __pyx_k__GL_TEXTURE11, sizeof(__pyx_k__GL_TEXTURE11), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE12, __pyx_k__GL_TEXTURE12, sizeof(__pyx_k__GL_TEXTURE12), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE13, __pyx_k__GL_TEXTURE13, sizeof(__pyx_k__GL_TEXTURE13), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE14, __pyx_k__GL_TEXTURE14, sizeof(__pyx_k__GL_TEXTURE14), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE15, __pyx_k__GL_TEXTURE15, sizeof(__pyx_k__GL_TEXTURE15), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE16, __pyx_k__GL_TEXTURE16, sizeof(__pyx_k__GL_TEXTURE16), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE17, __pyx_k__GL_TEXTURE17, sizeof(__pyx_k__GL_TEXTURE17), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE18, __pyx_k__GL_TEXTURE18, sizeof(__pyx_k__GL_TEXTURE18), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE19, __pyx_k__GL_TEXTURE19, sizeof(__pyx_k__GL_TEXTURE19), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE2, __pyx_k__GL_TEXTURE2, sizeof(__pyx_k__GL_TEXTURE2), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE20, __pyx_k__GL_TEXTURE20, sizeof(__pyx_k__GL_TEXTURE20), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE21, __pyx_k__GL_TEXTURE21, sizeof(__pyx_k__GL_TEXTURE21), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE22, __pyx_k__GL_TEXTURE22, sizeof(__pyx_k__GL_TEXTURE22), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE23, __pyx_k__GL_TEXTURE23, sizeof(__pyx_k__GL_TEXTURE23), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE24, __pyx_k__GL_TEXTURE24, sizeof(__pyx_k__GL_TEXTURE24), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE25, __pyx_k__GL_TEXTURE25, sizeof(__pyx_k__GL_TEXTURE25), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE26, __pyx_k__GL_TEXTURE26, sizeof(__pyx_k__GL_TEXTURE26), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE27, __pyx_k__GL_TEXTURE27, sizeof(__pyx_k__GL_TEXTURE27), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE28, __pyx_k__GL_TEXTURE28, sizeof(__pyx_k__GL_TEXTURE28), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE29, __pyx_k__GL_TEXTURE29, sizeof(__pyx_k__GL_TEXTURE29), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE3, __pyx_k__GL_TEXTURE3, sizeof(__pyx_k__GL_TEXTURE3), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE30, __pyx_k__GL_TEXTURE30, sizeof(__pyx_k__GL_TEXTURE30), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE31, __pyx_k__GL_TEXTURE31, sizeof(__pyx_k__GL_TEXTURE31), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE4, __pyx_k__GL_TEXTURE4, sizeof(__pyx_k__GL_TEXTURE4), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE5, __pyx_k__GL_TEXTURE5, sizeof(__pyx_k__GL_TEXTURE5), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE6, __pyx_k__GL_TEXTURE6, sizeof(__pyx_k__GL_TEXTURE6), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE7, __pyx_k__GL_TEXTURE7, sizeof(__pyx_k__GL_TEXTURE7), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE8, __pyx_k__GL_TEXTURE8, sizeof(__pyx_k__GL_TEXTURE8), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE9, __pyx_k__GL_TEXTURE9, sizeof(__pyx_k__GL_TEXTURE9), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE_2D, __pyx_k__GL_TEXTURE_2D, sizeof(__pyx_k__GL_TEXTURE_2D), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE_CUBE_MAP, __pyx_k__GL_TEXTURE_CUBE_MAP, sizeof(__pyx_k__GL_TEXTURE_CUBE_MAP), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE_WRAP_S, __pyx_k__GL_TEXTURE_WRAP_S, sizeof(__pyx_k__GL_TEXTURE_WRAP_S), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TEXTURE_WRAP_T, __pyx_k__GL_TEXTURE_WRAP_T, sizeof(__pyx_k__GL_TEXTURE_WRAP_T), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TRIANGLES, __pyx_k__GL_TRIANGLES, sizeof(__pyx_k__GL_TRIANGLES), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TRIANGLE_FAN, __pyx_k__GL_TRIANGLE_FAN, sizeof(__pyx_k__GL_TRIANGLE_FAN), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TRIANGLE_STRIP, __pyx_k__GL_TRIANGLE_STRIP, sizeof(__pyx_k__GL_TRIANGLE_STRIP), 0, 0, 1, 1},
  {&__pyx_n_s__GL_TRUE, __pyx_k__GL_TRUE, sizeof(__pyx_k__GL_TRUE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_UNPACK_ALIGNMENT, __pyx_k__GL_UNPACK_ALIGNMENT, sizeof(__pyx_k__GL_UNPACK_ALIGNMENT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_UNSIGNED_BYTE, __pyx_k__GL_UNSIGNED_BYTE, sizeof(__pyx_k__GL_UNSIGNED_BYTE), 0, 0, 1, 1},
  {&__pyx_n_s__GL_UNSIGNED_INT, __pyx_k__GL_UNSIGNED_INT, sizeof(__pyx_k__GL_UNSIGNED_INT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_UNSIGNED_SHORT, __pyx_k__GL_UNSIGNED_SHORT, sizeof(__pyx_k__GL_UNSIGNED_SHORT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_VALIDATE_STATUS, __pyx_k__GL_VALIDATE_STATUS, sizeof(__pyx_k__GL_VALIDATE_STATUS), 0, 0, 1, 1},
  {&__pyx_n_s__GL_VENDOR, __pyx_k__GL_VENDOR, sizeof(__pyx_k__GL_VENDOR), 0, 0, 1, 1},
  {&__pyx_n_s__GL_VERSION, __pyx_k__GL_VERSION, sizeof(__pyx_k__GL_VERSION), 0, 0, 1, 1},
  {&__pyx_n_s__GL_VERTEX_SHADER, __pyx_k__GL_VERTEX_SHADER, sizeof(__pyx_k__GL_VERTEX_SHADER), 0, 0, 1, 1},
  {&__pyx_n_s__GL_VIEWPORT, __pyx_k__GL_VIEWPORT, sizeof(__pyx_k__GL_VIEWPORT), 0, 0, 1, 1},
  {&__pyx_n_s__GL_ZERO, __pyx_k__GL_ZERO, sizeof(__pyx_k__GL_ZERO), 0, 0, 1, 1},
  {&__pyx_n_s__MemoryError, __pyx_k__MemoryError, sizeof(__pyx_k__MemoryError), 0, 0, 1, 1},
  {&__pyx_n_s__NotImplemented, __pyx_k__NotImplemented, sizeof(__pyx_k__NotImplemented), 0, 0, 1, 1},
  {&__pyx_n_s___GL_GET_SIZE, __pyx_k___GL_GET_SIZE, sizeof(__pyx_k___GL_GET_SIZE), 0, 0, 1, 1},
  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
  {&__pyx_n_s__alpha, __pyx_k__alpha, sizeof(__pyx_k__alpha), 0, 0, 1, 1},
  {&__pyx_n_s__append, __pyx_k__append, sizeof(__pyx_k__append), 0, 0, 1, 1},
  {&__pyx_n_s__attachment, __pyx_k__attachment, sizeof(__pyx_k__attachment), 0, 0, 1, 1},
  {&__pyx_n_s__blue, __pyx_k__blue, sizeof(__pyx_k__blue), 0, 0, 1, 1},
  {&__pyx_n_s__border, __pyx_k__border, sizeof(__pyx_k__border), 0, 0, 1, 1},
  {&__pyx_n_s__buffer, __pyx_k__buffer, sizeof(__pyx_k__buffer), 0, 0, 1, 1},
  {&__pyx_n_s__buffers, __pyx_k__buffers, sizeof(__pyx_k__buffers), 0, 0, 1, 1},
  {&__pyx_n_s__bufsize, __pyx_k__bufsize, sizeof(__pyx_k__bufsize), 0, 0, 1, 1},
  {&__pyx_n_s__c_opengl, __pyx_k__c_opengl, sizeof(__pyx_k__c_opengl), 0, 0, 1, 1},
  {&__pyx_n_s__count, __pyx_k__count, sizeof(__pyx_k__count), 0, 0, 1, 1},
  {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1},
  {&__pyx_n_s__dfactor, __pyx_k__dfactor, sizeof(__pyx_k__dfactor), 0, 0, 1, 1},
  {&__pyx_n_s__dstAlpha, __pyx_k__dstAlpha, sizeof(__pyx_k__dstAlpha), 0, 0, 1, 1},
  {&__pyx_n_s__dstRGB, __pyx_k__dstRGB, sizeof(__pyx_k__dstRGB), 0, 0, 1, 1},
  {&__pyx_n_s__face, __pyx_k__face, sizeof(__pyx_k__face), 0, 0, 1, 1},
  {&__pyx_n_s__factor, __pyx_k__factor, sizeof(__pyx_k__factor), 0, 0, 1, 1},
  {&__pyx_n_s__fail, __pyx_k__fail, sizeof(__pyx_k__fail), 0, 0, 1, 1},
  {&__pyx_n_s__first, __pyx_k__first, sizeof(__pyx_k__first), 0, 0, 1, 1},
  {&__pyx_n_s__format, __pyx_k__format, sizeof(__pyx_k__format), 0, 0, 1, 1},
  {&__pyx_n_s__framebuffer, __pyx_k__framebuffer, sizeof(__pyx_k__framebuffer), 0, 0, 1, 1},
  {&__pyx_n_s__framebuffers, __pyx_k__framebuffers, sizeof(__pyx_k__framebuffers), 0, 0, 1, 1},
  {&__pyx_n_s__func, __pyx_k__func, sizeof(__pyx_k__func), 0, 0, 1, 1},
  {&__pyx_n_s__glActiveTexture, __pyx_k__glActiveTexture, sizeof(__pyx_k__glActiveTexture), 0, 0, 1, 1},
  {&__pyx_n_s__glAttachShader, __pyx_k__glAttachShader, sizeof(__pyx_k__glAttachShader), 0, 0, 1, 1},
  {&__pyx_n_s__glBindBuffer, __pyx_k__glBindBuffer, sizeof(__pyx_k__glBindBuffer), 0, 0, 1, 1},
  {&__pyx_n_s__glBindFramebuffer, __pyx_k__glBindFramebuffer, sizeof(__pyx_k__glBindFramebuffer), 0, 0, 1, 1},
  {&__pyx_n_s__glBindRenderbuffer, __pyx_k__glBindRenderbuffer, sizeof(__pyx_k__glBindRenderbuffer), 0, 0, 1, 1},
  {&__pyx_n_s__glBindTexture, __pyx_k__glBindTexture, sizeof(__pyx_k__glBindTexture), 0, 0, 1, 1},
  {&__pyx_n_s__glBlendColor, __pyx_k__glBlendColor, sizeof(__pyx_k__glBlendColor), 0, 0, 1, 1},
  {&__pyx_n_s__glBlendEquation, __pyx_k__glBlendEquation, sizeof(__pyx_k__glBlendEquation), 0, 0, 1, 1},
  {&__pyx_n_s__glBlendFunc, __pyx_k__glBlendFunc, sizeof(__pyx_k__glBlendFunc), 0, 0, 1, 1},
  {&__pyx_n_s__glBlendFuncSeparate, __pyx_k__glBlendFuncSeparate, sizeof(__pyx_k__glBlendFuncSeparate), 0, 0, 1, 1},
  {&__pyx_n_s__glBufferData, __pyx_k__glBufferData, sizeof(__pyx_k__glBufferData), 0, 0, 1, 1},
  {&__pyx_n_s__glBufferSubData, __pyx_k__glBufferSubData, sizeof(__pyx_k__glBufferSubData), 0, 0, 1, 1},
  {&__pyx_n_s__glClear, __pyx_k__glClear, sizeof(__pyx_k__glClear), 0, 0, 1, 1},
  {&__pyx_n_s__glClearColor, __pyx_k__glClearColor, sizeof(__pyx_k__glClearColor), 0, 0, 1, 1},
  {&__pyx_n_s__glClearDepthf, __pyx_k__glClearDepthf, sizeof(__pyx_k__glClearDepthf), 0, 0, 1, 1},
  {&__pyx_n_s__glClearStencil, __pyx_k__glClearStencil, sizeof(__pyx_k__glClearStencil), 0, 0, 1, 1},
  {&__pyx_n_s__glColorMask, __pyx_k__glColorMask, sizeof(__pyx_k__glColorMask), 0, 0, 1, 1},
  {&__pyx_n_s__glCompileShader, __pyx_k__glCompileShader, sizeof(__pyx_k__glCompileShader), 0, 0, 1, 1},
  {&__pyx_n_s__glCopyTexImage2D, __pyx_k__glCopyTexImage2D, sizeof(__pyx_k__glCopyTexImage2D), 0, 0, 1, 1},
  {&__pyx_n_s__glCopyTexSubImage2D, __pyx_k__glCopyTexSubImage2D, sizeof(__pyx_k__glCopyTexSubImage2D), 0, 0, 1, 1},
  {&__pyx_n_s__glCreateProgram, __pyx_k__glCreateProgram, sizeof(__pyx_k__glCreateProgram), 0, 0, 1, 1},
  {&__pyx_n_s__glCreateShader, __pyx_k__glCreateShader, sizeof(__pyx_k__glCreateShader), 0, 0, 1, 1},
  {&__pyx_n_s__glCullFace, __pyx_k__glCullFace, sizeof(__pyx_k__glCullFace), 0, 0, 1, 1},
  {&__pyx_n_s__glDeleteBuffers, __pyx_k__glDeleteBuffers, sizeof(__pyx_k__glDeleteBuffers), 0, 0, 1, 1},
  {&__pyx_n_s__glDeleteProgram, __pyx_k__glDeleteProgram, sizeof(__pyx_k__glDeleteProgram), 0, 0, 1, 1},
  {&__pyx_n_s__glDeleteShader, __pyx_k__glDeleteShader, sizeof(__pyx_k__glDeleteShader), 0, 0, 1, 1},
  {&__pyx_n_s__glDeleteTextures, __pyx_k__glDeleteTextures, sizeof(__pyx_k__glDeleteTextures), 0, 0, 1, 1},
  {&__pyx_n_s__glDepthFunc, __pyx_k__glDepthFunc, sizeof(__pyx_k__glDepthFunc), 0, 0, 1, 1},
  {&__pyx_n_s__glDepthMask, __pyx_k__glDepthMask, sizeof(__pyx_k__glDepthMask), 0, 0, 1, 1},
  {&__pyx_n_s__glDepthRangef, __pyx_k__glDepthRangef, sizeof(__pyx_k__glDepthRangef), 0, 0, 1, 1},
  {&__pyx_n_s__glDetachShader, __pyx_k__glDetachShader, sizeof(__pyx_k__glDetachShader), 0, 0, 1, 1},
  {&__pyx_n_s__glDisable, __pyx_k__glDisable, sizeof(__pyx_k__glDisable), 0, 0, 1, 1},
  {&__pyx_n_s__glDrawArrays, __pyx_k__glDrawArrays, sizeof(__pyx_k__glDrawArrays), 0, 0, 1, 1},
  {&__pyx_n_s__glDrawElements, __pyx_k__glDrawElements, sizeof(__pyx_k__glDrawElements), 0, 0, 1, 1},
  {&__pyx_n_s__glEnable, __pyx_k__glEnable, sizeof(__pyx_k__glEnable), 0, 0, 1, 1},
  {&__pyx_n_s__glFinish, __pyx_k__glFinish, sizeof(__pyx_k__glFinish), 0, 0, 1, 1},
  {&__pyx_n_s__glFlush, __pyx_k__glFlush, sizeof(__pyx_k__glFlush), 0, 0, 1, 1},
  {&__pyx_n_s__glFrontFace, __pyx_k__glFrontFace, sizeof(__pyx_k__glFrontFace), 0, 0, 1, 1},
  {&__pyx_n_s__glGenBuffers, __pyx_k__glGenBuffers, sizeof(__pyx_k__glGenBuffers), 0, 0, 1, 1},
  {&__pyx_n_s__glGenFramebuffers, __pyx_k__glGenFramebuffers, sizeof(__pyx_k__glGenFramebuffers), 0, 0, 1, 1},
  {&__pyx_n_s__glGenRenderbuffers, __pyx_k__glGenRenderbuffers, sizeof(__pyx_k__glGenRenderbuffers), 0, 0, 1, 1},
  {&__pyx_n_s__glGenTextures, __pyx_k__glGenTextures, sizeof(__pyx_k__glGenTextures), 0, 0, 1, 1},
  {&__pyx_n_s__glGenerateMipmap, __pyx_k__glGenerateMipmap, sizeof(__pyx_k__glGenerateMipmap), 0, 0, 1, 1},
  {&__pyx_n_s__glGetActiveAttrib, __pyx_k__glGetActiveAttrib, sizeof(__pyx_k__glGetActiveAttrib), 0, 0, 1, 1},
  {&__pyx_n_s__glGetActiveUniform, __pyx_k__glGetActiveUniform, sizeof(__pyx_k__glGetActiveUniform), 0, 0, 1, 1},
  {&__pyx_n_s__glGetAttribLocation, __pyx_k__glGetAttribLocation, sizeof(__pyx_k__glGetAttribLocation), 0, 0, 1, 1},
  {&__pyx_n_s__glGetBooleanv, __pyx_k__glGetBooleanv, sizeof(__pyx_k__glGetBooleanv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetError, __pyx_k__glGetError, sizeof(__pyx_k__glGetError), 0, 0, 1, 1},
  {&__pyx_n_s__glGetFloatv, __pyx_k__glGetFloatv, sizeof(__pyx_k__glGetFloatv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetIntegerv, __pyx_k__glGetIntegerv, sizeof(__pyx_k__glGetIntegerv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetProgramInfoLog, __pyx_k__glGetProgramInfoLog, sizeof(__pyx_k__glGetProgramInfoLog), 0, 0, 1, 1},
  {&__pyx_n_s__glGetProgramiv, __pyx_k__glGetProgramiv, sizeof(__pyx_k__glGetProgramiv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetShaderInfoLog, __pyx_k__glGetShaderInfoLog, sizeof(__pyx_k__glGetShaderInfoLog), 0, 0, 1, 1},
  {&__pyx_n_s__glGetShaderSource, __pyx_k__glGetShaderSource, sizeof(__pyx_k__glGetShaderSource), 0, 0, 1, 1},
  {&__pyx_n_s__glGetShaderiv, __pyx_k__glGetShaderiv, sizeof(__pyx_k__glGetShaderiv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetString, __pyx_k__glGetString, sizeof(__pyx_k__glGetString), 0, 0, 1, 1},
  {&__pyx_n_s__glGetTexParameterfv, __pyx_k__glGetTexParameterfv, sizeof(__pyx_k__glGetTexParameterfv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetTexParameteriv, __pyx_k__glGetTexParameteriv, sizeof(__pyx_k__glGetTexParameteriv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetUniformfv, __pyx_k__glGetUniformfv, sizeof(__pyx_k__glGetUniformfv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetUniformiv, __pyx_k__glGetUniformiv, sizeof(__pyx_k__glGetUniformiv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetVertexAttribfv, __pyx_k__glGetVertexAttribfv, sizeof(__pyx_k__glGetVertexAttribfv), 0, 0, 1, 1},
  {&__pyx_n_s__glGetVertexAttribiv, __pyx_k__glGetVertexAttribiv, sizeof(__pyx_k__glGetVertexAttribiv), 0, 0, 1, 1},
  {&__pyx_n_s__glHint, __pyx_k__glHint, sizeof(__pyx_k__glHint), 0, 0, 1, 1},
  {&__pyx_n_s__glIsBuffer, __pyx_k__glIsBuffer, sizeof(__pyx_k__glIsBuffer), 0, 0, 1, 1},
  {&__pyx_n_s__glIsEnabled, __pyx_k__glIsEnabled, sizeof(__pyx_k__glIsEnabled), 0, 0, 1, 1},
  {&__pyx_n_s__glIsFramebuffer, __pyx_k__glIsFramebuffer, sizeof(__pyx_k__glIsFramebuffer), 0, 0, 1, 1},
  {&__pyx_n_s__glIsProgram, __pyx_k__glIsProgram, sizeof(__pyx_k__glIsProgram), 0, 0, 1, 1},
  {&__pyx_n_s__glIsRenderbuffer, __pyx_k__glIsRenderbuffer, sizeof(__pyx_k__glIsRenderbuffer), 0, 0, 1, 1},
  {&__pyx_n_s__glIsShader, __pyx_k__glIsShader, sizeof(__pyx_k__glIsShader), 0, 0, 1, 1},
  {&__pyx_n_s__glIsTexture, __pyx_k__glIsTexture, sizeof(__pyx_k__glIsTexture), 0, 0, 1, 1},
  {&__pyx_n_s__glLineWidth, __pyx_k__glLineWidth, sizeof(__pyx_k__glLineWidth), 0, 0, 1, 1},
  {&__pyx_n_s__glLinkProgram, __pyx_k__glLinkProgram, sizeof(__pyx_k__glLinkProgram), 0, 0, 1, 1},
  {&__pyx_n_s__glPixelStorei, __pyx_k__glPixelStorei, sizeof(__pyx_k__glPixelStorei), 0, 0, 1, 1},
  {&__pyx_n_s__glPolygonOffset, __pyx_k__glPolygonOffset, sizeof(__pyx_k__glPolygonOffset), 0, 0, 1, 1},
  {&__pyx_n_s__glReadPixels, __pyx_k__glReadPixels, sizeof(__pyx_k__glReadPixels), 0, 0, 1, 1},
  {&__pyx_n_s__glSampleCoverage, __pyx_k__glSampleCoverage, sizeof(__pyx_k__glSampleCoverage), 0, 0, 1, 1},
  {&__pyx_n_s__glScissor, __pyx_k__glScissor, sizeof(__pyx_k__glScissor), 0, 0, 1, 1},
  {&__pyx_n_s__glShaderBinary, __pyx_k__glShaderBinary, sizeof(__pyx_k__glShaderBinary), 0, 0, 1, 1},
  {&__pyx_n_s__glShaderSource, __pyx_k__glShaderSource, sizeof(__pyx_k__glShaderSource), 0, 0, 1, 1},
  {&__pyx_n_s__glStencilFunc, __pyx_k__glStencilFunc, sizeof(__pyx_k__glStencilFunc), 0, 0, 1, 1},
  {&__pyx_n_s__glStencilMask, __pyx_k__glStencilMask, sizeof(__pyx_k__glStencilMask), 0, 0, 1, 1},
  {&__pyx_n_s__glStencilOp, __pyx_k__glStencilOp, sizeof(__pyx_k__glStencilOp), 0, 0, 1, 1},
  {&__pyx_n_s__glStencilOpSeparate, __pyx_k__glStencilOpSeparate, sizeof(__pyx_k__glStencilOpSeparate), 0, 0, 1, 1},
  {&__pyx_n_s__glTexImage2D, __pyx_k__glTexImage2D, sizeof(__pyx_k__glTexImage2D), 0, 0, 1, 1},
  {&__pyx_n_s__glTexParameterf, __pyx_k__glTexParameterf, sizeof(__pyx_k__glTexParameterf), 0, 0, 1, 1},
  {&__pyx_n_s__glTexParameterfv, __pyx_k__glTexParameterfv, sizeof(__pyx_k__glTexParameterfv), 0, 0, 1, 1},
  {&__pyx_n_s__glTexParameteri, __pyx_k__glTexParameteri, sizeof(__pyx_k__glTexParameteri), 0, 0, 1, 1},
  {&__pyx_n_s__glTexParameteriv, __pyx_k__glTexParameteriv, sizeof(__pyx_k__glTexParameteriv), 0, 0, 1, 1},
  {&__pyx_n_s__glTexSubImage2D, __pyx_k__glTexSubImage2D, sizeof(__pyx_k__glTexSubImage2D), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform1f, __pyx_k__glUniform1f, sizeof(__pyx_k__glUniform1f), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform1fv, __pyx_k__glUniform1fv, sizeof(__pyx_k__glUniform1fv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform1i, __pyx_k__glUniform1i, sizeof(__pyx_k__glUniform1i), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform1iv, __pyx_k__glUniform1iv, sizeof(__pyx_k__glUniform1iv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform2f, __pyx_k__glUniform2f, sizeof(__pyx_k__glUniform2f), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform2fv, __pyx_k__glUniform2fv, sizeof(__pyx_k__glUniform2fv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform2i, __pyx_k__glUniform2i, sizeof(__pyx_k__glUniform2i), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform2iv, __pyx_k__glUniform2iv, sizeof(__pyx_k__glUniform2iv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform3f, __pyx_k__glUniform3f, sizeof(__pyx_k__glUniform3f), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform3fv, __pyx_k__glUniform3fv, sizeof(__pyx_k__glUniform3fv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform3i, __pyx_k__glUniform3i, sizeof(__pyx_k__glUniform3i), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform3iv, __pyx_k__glUniform3iv, sizeof(__pyx_k__glUniform3iv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform4f, __pyx_k__glUniform4f, sizeof(__pyx_k__glUniform4f), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform4fv, __pyx_k__glUniform4fv, sizeof(__pyx_k__glUniform4fv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform4i, __pyx_k__glUniform4i, sizeof(__pyx_k__glUniform4i), 0, 0, 1, 1},
  {&__pyx_n_s__glUniform4iv, __pyx_k__glUniform4iv, sizeof(__pyx_k__glUniform4iv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniformMatrix2fv, __pyx_k__glUniformMatrix2fv, sizeof(__pyx_k__glUniformMatrix2fv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniformMatrix3fv, __pyx_k__glUniformMatrix3fv, sizeof(__pyx_k__glUniformMatrix3fv), 0, 0, 1, 1},
  {&__pyx_n_s__glUniformMatrix4fv, __pyx_k__glUniformMatrix4fv, sizeof(__pyx_k__glUniformMatrix4fv), 0, 0, 1, 1},
  {&__pyx_n_s__glUseProgram, __pyx_k__glUseProgram, sizeof(__pyx_k__glUseProgram), 0, 0, 1, 1},
  {&__pyx_n_s__glValidateProgram, __pyx_k__glValidateProgram, sizeof(__pyx_k__glValidateProgram), 0, 0, 1, 1},
  {&__pyx_n_s__glVertexAttrib1f, __pyx_k__glVertexAttrib1f, sizeof(__pyx_k__glVertexAttrib1f), 0, 0, 1, 1},
  {&__pyx_n_s__glVertexAttrib1fv, __pyx_k__glVertexAttrib1fv, sizeof(__pyx_k__glVertexAttrib1fv), 0, 0, 1, 1},
  {&__pyx_n_s__glVertexAttrib2f, __pyx_k__glVertexAttrib2f, sizeof(__pyx_k__glVertexAttrib2f), 0, 0, 1, 1},
  {&__pyx_n_s__glVertexAttrib2fv, __pyx_k__glVertexAttrib2fv, sizeof(__pyx_k__glVertexAttrib2fv), 0, 0, 1, 1},
  {&__pyx_n_s__glVertexAttrib3f, __pyx_k__glVertexAttrib3f, sizeof(__pyx_k__glVertexAttrib3f), 0, 0, 1, 1},
  {&__pyx_n_s__glVertexAttrib3fv, __pyx_k__glVertexAttrib3fv, sizeof(__pyx_k__glVertexAttrib3fv), 0, 0, 1, 1},
  {&__pyx_n_s__glVertexAttrib4f, __pyx_k__glVertexAttrib4f, sizeof(__pyx_k__glVertexAttrib4f), 0, 0, 1, 1},
  {&__pyx_n_s__glVertexAttrib4fv, __pyx_k__glVertexAttrib4fv, sizeof(__pyx_k__glVertexAttrib4fv), 0, 0, 1, 1},
  {&__pyx_n_s__glViewport, __pyx_k__glViewport, sizeof(__pyx_k__glViewport), 0, 0, 1, 1},
  {&__pyx_n_s__gl_init_symbols, __pyx_k__gl_init_symbols, sizeof(__pyx_k__gl_init_symbols), 0, 0, 1, 1},
  {&__pyx_n_s__green, __pyx_k__green, sizeof(__pyx_k__green), 0, 0, 1, 1},
  {&__pyx_n_s__height, __pyx_k__height, sizeof(__pyx_k__height), 0, 0, 1, 1},
  {&__pyx_n_s__imageSize, __pyx_k__imageSize, sizeof(__pyx_k__imageSize), 0, 0, 1, 1},
  {&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1},
  {&__pyx_n_s__indices, __pyx_k__indices, sizeof(__pyx_k__indices), 0, 0, 1, 1},
  {&__pyx_n_s__indx, __pyx_k__indx, sizeof(__pyx_k__indx), 0, 0, 1, 1},
  {&__pyx_n_s__internalformat, __pyx_k__internalformat, sizeof(__pyx_k__internalformat), 0, 0, 1, 1},
  {&__pyx_n_s__invert, __pyx_k__invert, sizeof(__pyx_k__invert), 0, 0, 1, 1},
  {&__pyx_n_s__level, __pyx_k__level, sizeof(__pyx_k__level), 0, 0, 1, 1},
  {&__pyx_n_s__location, __pyx_k__location, sizeof(__pyx_k__location), 0, 0, 1, 1},
  {&__pyx_n_s__mask, __pyx_k__mask, sizeof(__pyx_k__mask), 0, 0, 1, 1},
  {&__pyx_n_s__maxcount, __pyx_k__maxcount, sizeof(__pyx_k__maxcount), 0, 0, 1, 1},
  {&__pyx_n_s__mode, __pyx_k__mode, sizeof(__pyx_k__mode), 0, 0, 1, 1},
  {&__pyx_n_s__modeAlpha, __pyx_k__modeAlpha, sizeof(__pyx_k__modeAlpha), 0, 0, 1, 1},
  {&__pyx_n_s__modeRGB, __pyx_k__modeRGB, sizeof(__pyx_k__modeRGB), 0, 0, 1, 1},
  {&__pyx_n_s__n, __pyx_k__n, sizeof(__pyx_k__n), 0, 0, 1, 1},
  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
  {&__pyx_n_s__offset, __pyx_k__offset, sizeof(__pyx_k__offset), 0, 0, 1, 1},
  {&__pyx_n_s__param, __pyx_k__param, sizeof(__pyx_k__param), 0, 0, 1, 1},
  {&__pyx_n_s__pixels, __pyx_k__pixels, sizeof(__pyx_k__pixels), 0, 0, 1, 1},
  {&__pyx_n_s__pname, __pyx_k__pname, sizeof(__pyx_k__pname), 0, 0, 1, 1},
  {&__pyx_n_s__precisiontype, __pyx_k__precisiontype, sizeof(__pyx_k__precisiontype), 0, 0, 1, 1},
  {&__pyx_n_s__program, __pyx_k__program, sizeof(__pyx_k__program), 0, 0, 1, 1},
  {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1},
  {&__pyx_n_s__red, __pyx_k__red, sizeof(__pyx_k__red), 0, 0, 1, 1},
  {&__pyx_n_s__ref, __pyx_k__ref, sizeof(__pyx_k__ref), 0, 0, 1, 1},
  {&__pyx_n_s__renderbuffer, __pyx_k__renderbuffer, sizeof(__pyx_k__renderbuffer), 0, 0, 1, 1},
  {&__pyx_n_s__renderbuffers, __pyx_k__renderbuffers, sizeof(__pyx_k__renderbuffers), 0, 0, 1, 1},
  {&__pyx_n_s__renderbuffertarget, __pyx_k__renderbuffertarget, sizeof(__pyx_k__renderbuffertarget), 0, 0, 1, 1},
  {&__pyx_n_s__sfactor, __pyx_k__sfactor, sizeof(__pyx_k__sfactor), 0, 0, 1, 1},
  {&__pyx_n_s__shader, __pyx_k__shader, sizeof(__pyx_k__shader), 0, 0, 1, 1},
  {&__pyx_n_s__shadertype, __pyx_k__shadertype, sizeof(__pyx_k__shadertype), 0, 0, 1, 1},
  {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
  {&__pyx_n_s__source, __pyx_k__source, sizeof(__pyx_k__source), 0, 0, 1, 1},
  {&__pyx_n_s__srcAlpha, __pyx_k__srcAlpha, sizeof(__pyx_k__srcAlpha), 0, 0, 1, 1},
  {&__pyx_n_s__srcRGB, __pyx_k__srcRGB, sizeof(__pyx_k__srcRGB), 0, 0, 1, 1},
  {&__pyx_n_s__target, __pyx_k__target, sizeof(__pyx_k__target), 0, 0, 1, 1},
  {&__pyx_n_s__textarget, __pyx_k__textarget, sizeof(__pyx_k__textarget), 0, 0, 1, 1},
  {&__pyx_n_s__texture, __pyx_k__texture, sizeof(__pyx_k__texture), 0, 0, 1, 1},
  {&__pyx_n_s__textures, __pyx_k__textures, sizeof(__pyx_k__textures), 0, 0, 1, 1},
  {&__pyx_n_s__type, __pyx_k__type, sizeof(__pyx_k__type), 0, 0, 1, 1},
  {&__pyx_n_s__units, __pyx_k__units, sizeof(__pyx_k__units), 0, 0, 1, 1},
  {&__pyx_n_s__usage, __pyx_k__usage, sizeof(__pyx_k__usage), 0, 0, 1, 1},
  {&__pyx_n_s__value, __pyx_k__value, sizeof(__pyx_k__value), 0, 0, 1, 1},
  {&__pyx_n_s__values, __pyx_k__values, sizeof(__pyx_k__values), 0, 0, 1, 1},
  {&__pyx_n_s__w, __pyx_k__w, sizeof(__pyx_k__w), 0, 0, 1, 1},
  {&__pyx_n_s__width, __pyx_k__width, sizeof(__pyx_k__width), 0, 0, 1, 1},
  {&__pyx_n_s__x, __pyx_k__x, sizeof(__pyx_k__x), 0, 0, 1, 1},
  {&__pyx_n_s__xoffset, __pyx_k__xoffset, sizeof(__pyx_k__xoffset), 0, 0, 1, 1},
  {&__pyx_n_s__xrange, __pyx_k__xrange, sizeof(__pyx_k__xrange), 0, 0, 1, 1},
  {&__pyx_n_s__y, __pyx_k__y, sizeof(__pyx_k__y), 0, 0, 1, 1},
  {&__pyx_n_s__yoffset, __pyx_k__yoffset, sizeof(__pyx_k__yoffset), 0, 0, 1, 1},
  {&__pyx_n_s__z, __pyx_k__z, sizeof(__pyx_k__z), 0, 0, 1, 1},
  {&__pyx_n_s__zFar, __pyx_k__zFar, sizeof(__pyx_k__zFar), 0, 0, 1, 1},
  {&__pyx_n_s__zNear, __pyx_k__zNear, sizeof(__pyx_k__zNear), 0, 0, 1, 1},
  {&__pyx_n_s__zfail, __pyx_k__zfail, sizeof(__pyx_k__zfail), 0, 0, 1, 1},
  {&__pyx_n_s__zpass, __pyx_k__zpass, sizeof(__pyx_k__zpass), 0, 0, 1, 1},
  {0, 0, 0, 0, 0, 0, 0}
};
static int __Pyx_InitCachedBuiltins(void) {
  __pyx_builtin_MemoryError = __Pyx_GetName(__pyx_b, __pyx_n_s__MemoryError); if (!__pyx_builtin_MemoryError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #if PY_MAJOR_VERSION >= 3
  __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #else
  __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  __pyx_builtin_NotImplemented = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1019; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  return 0;
  __pyx_L1_error:;
  return -1;
}

static int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants");
  __Pyx_RefNannyFinishContext();
  return 0;
}

static int __Pyx_InitGlobals(void) {
  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  return 0;
  __pyx_L1_error:;
  return -1;
}

#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC initopengl(void); /*proto*/
PyMODINIT_FUNC initopengl(void)
#else
PyMODINIT_FUNC PyInit_opengl(void); /*proto*/
PyMODINIT_FUNC PyInit_opengl(void)
#endif
{
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  #if CYTHON_REFNANNY
  void* __pyx_refnanny = NULL;
  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
  if (!__Pyx_RefNanny) {
      PyErr_Clear();
      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
      if (!__Pyx_RefNanny)
          Py_FatalError("failed to import 'refnanny' module");
  }
  __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_opengl(void)", __LINE__, __FILE__);
  #endif
  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #ifdef __pyx_binding_PyCFunctionType_USED
  if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  #ifdef WITH_THREAD /* Python build with threading support? */
  PyEval_InitThreads();
  #endif
  #endif
  /*--- Module creation code ---*/
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("opengl"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_2), 0, PYTHON_API_VERSION);
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  #endif
  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  #if PY_MAJOR_VERSION < 3
  Py_INCREF(__pyx_m);
  #endif
  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME));
  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  /*--- Initialize various global constants etc. ---*/
  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  if (__pyx_module_is_main_kivy__graphics__opengl) {
    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
  }
  /*--- Builtin init code ---*/
  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  /*--- Constants init code ---*/
  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  /*--- Global init code ---*/
  /*--- Function export code ---*/
  /*--- Type init code ---*/
  /*--- Type import code ---*/
  /*--- Function import code ---*/
  /*--- Execution code ---*/

  /* "kivy/graphics/opengl.pyx":65
 * 
 * #GL_ES_VERSION_2_0 = c_opengl.GL_ES_VERSION_2_0
 * GL_DEPTH_BUFFER_BIT = c_opengl.GL_DEPTH_BUFFER_BIT             # <<<<<<<<<<<<<<
 * GL_STENCIL_BUFFER_BIT = c_opengl.GL_STENCIL_BUFFER_BIT
 * GL_COLOR_BUFFER_BIT = c_opengl.GL_COLOR_BUFFER_BIT
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_BUFFER_BIT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DEPTH_BUFFER_BIT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":66
 * #GL_ES_VERSION_2_0 = c_opengl.GL_ES_VERSION_2_0
 * GL_DEPTH_BUFFER_BIT = c_opengl.GL_DEPTH_BUFFER_BIT
 * GL_STENCIL_BUFFER_BIT = c_opengl.GL_STENCIL_BUFFER_BIT             # <<<<<<<<<<<<<<
 * GL_COLOR_BUFFER_BIT = c_opengl.GL_COLOR_BUFFER_BIT
 * GL_FALSE = c_opengl.GL_FALSE
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_BUFFER_BIT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":67
 * GL_DEPTH_BUFFER_BIT = c_opengl.GL_DEPTH_BUFFER_BIT
 * GL_STENCIL_BUFFER_BIT = c_opengl.GL_STENCIL_BUFFER_BIT
 * GL_COLOR_BUFFER_BIT = c_opengl.GL_COLOR_BUFFER_BIT             # <<<<<<<<<<<<<<
 * GL_FALSE = c_opengl.GL_FALSE
 * GL_TRUE = c_opengl.GL_TRUE
 */
  __pyx_t_1 = PyInt_FromLong(GL_COLOR_BUFFER_BIT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_COLOR_BUFFER_BIT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":68
 * GL_STENCIL_BUFFER_BIT = c_opengl.GL_STENCIL_BUFFER_BIT
 * GL_COLOR_BUFFER_BIT = c_opengl.GL_COLOR_BUFFER_BIT
 * GL_FALSE = c_opengl.GL_FALSE             # <<<<<<<<<<<<<<
 * GL_TRUE = c_opengl.GL_TRUE
 * GL_POINTS = c_opengl.GL_POINTS
 */
  __pyx_t_1 = PyInt_FromLong(GL_FALSE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FALSE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":69
 * GL_COLOR_BUFFER_BIT = c_opengl.GL_COLOR_BUFFER_BIT
 * GL_FALSE = c_opengl.GL_FALSE
 * GL_TRUE = c_opengl.GL_TRUE             # <<<<<<<<<<<<<<
 * GL_POINTS = c_opengl.GL_POINTS
 * GL_LINES = c_opengl.GL_LINES
 */
  __pyx_t_1 = PyInt_FromLong(GL_TRUE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TRUE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":70
 * GL_FALSE = c_opengl.GL_FALSE
 * GL_TRUE = c_opengl.GL_TRUE
 * GL_POINTS = c_opengl.GL_POINTS             # <<<<<<<<<<<<<<
 * GL_LINES = c_opengl.GL_LINES
 * GL_LINE_LOOP = c_opengl.GL_LINE_LOOP
 */
  __pyx_t_1 = PyInt_FromLong(GL_POINTS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_POINTS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":71
 * GL_TRUE = c_opengl.GL_TRUE
 * GL_POINTS = c_opengl.GL_POINTS
 * GL_LINES = c_opengl.GL_LINES             # <<<<<<<<<<<<<<
 * GL_LINE_LOOP = c_opengl.GL_LINE_LOOP
 * GL_LINE_STRIP = c_opengl.GL_LINE_STRIP
 */
  __pyx_t_1 = PyInt_FromLong(GL_LINES); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LINES, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":72
 * GL_POINTS = c_opengl.GL_POINTS
 * GL_LINES = c_opengl.GL_LINES
 * GL_LINE_LOOP = c_opengl.GL_LINE_LOOP             # <<<<<<<<<<<<<<
 * GL_LINE_STRIP = c_opengl.GL_LINE_STRIP
 * GL_TRIANGLES = c_opengl.GL_TRIANGLES
 */
  __pyx_t_1 = PyInt_FromLong(GL_LINE_LOOP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LINE_LOOP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":73
 * GL_LINES = c_opengl.GL_LINES
 * GL_LINE_LOOP = c_opengl.GL_LINE_LOOP
 * GL_LINE_STRIP = c_opengl.GL_LINE_STRIP             # <<<<<<<<<<<<<<
 * GL_TRIANGLES = c_opengl.GL_TRIANGLES
 * GL_TRIANGLE_STRIP = c_opengl.GL_TRIANGLE_STRIP
 */
  __pyx_t_1 = PyInt_FromLong(GL_LINE_STRIP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LINE_STRIP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":74
 * GL_LINE_LOOP = c_opengl.GL_LINE_LOOP
 * GL_LINE_STRIP = c_opengl.GL_LINE_STRIP
 * GL_TRIANGLES = c_opengl.GL_TRIANGLES             # <<<<<<<<<<<<<<
 * GL_TRIANGLE_STRIP = c_opengl.GL_TRIANGLE_STRIP
 * GL_TRIANGLE_FAN = c_opengl.GL_TRIANGLE_FAN
 */
  __pyx_t_1 = PyInt_FromLong(GL_TRIANGLES); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TRIANGLES, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":75
 * GL_LINE_STRIP = c_opengl.GL_LINE_STRIP
 * GL_TRIANGLES = c_opengl.GL_TRIANGLES
 * GL_TRIANGLE_STRIP = c_opengl.GL_TRIANGLE_STRIP             # <<<<<<<<<<<<<<
 * GL_TRIANGLE_FAN = c_opengl.GL_TRIANGLE_FAN
 * GL_ZERO = c_opengl.GL_ZERO
 */
  __pyx_t_1 = PyInt_FromLong(GL_TRIANGLE_STRIP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TRIANGLE_STRIP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":76
 * GL_TRIANGLES = c_opengl.GL_TRIANGLES
 * GL_TRIANGLE_STRIP = c_opengl.GL_TRIANGLE_STRIP
 * GL_TRIANGLE_FAN = c_opengl.GL_TRIANGLE_FAN             # <<<<<<<<<<<<<<
 * GL_ZERO = c_opengl.GL_ZERO
 * GL_ONE = c_opengl.GL_ONE
 */
  __pyx_t_1 = PyInt_FromLong(GL_TRIANGLE_FAN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TRIANGLE_FAN, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":77
 * GL_TRIANGLE_STRIP = c_opengl.GL_TRIANGLE_STRIP
 * GL_TRIANGLE_FAN = c_opengl.GL_TRIANGLE_FAN
 * GL_ZERO = c_opengl.GL_ZERO             # <<<<<<<<<<<<<<
 * GL_ONE = c_opengl.GL_ONE
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR
 */
  __pyx_t_1 = PyInt_FromLong(GL_ZERO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_ZERO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":78
 * GL_TRIANGLE_FAN = c_opengl.GL_TRIANGLE_FAN
 * GL_ZERO = c_opengl.GL_ZERO
 * GL_ONE = c_opengl.GL_ONE             # <<<<<<<<<<<<<<
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR
 */
  __pyx_t_1 = PyInt_FromLong(GL_ONE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_ONE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":79
 * GL_ZERO = c_opengl.GL_ZERO
 * GL_ONE = c_opengl.GL_ONE
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR             # <<<<<<<<<<<<<<
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_SRC_COLOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SRC_COLOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":80
 * GL_ONE = c_opengl.GL_ONE
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR             # <<<<<<<<<<<<<<
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_ONE_MINUS_SRC_COLOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":81
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA             # <<<<<<<<<<<<<<
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA
 * GL_DST_ALPHA = c_opengl.GL_DST_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_SRC_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SRC_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":82
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA             # <<<<<<<<<<<<<<
 * GL_DST_ALPHA = c_opengl.GL_DST_ALPHA
 * GL_ONE_MINUS_DST_ALPHA = c_opengl.GL_ONE_MINUS_DST_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_ONE_MINUS_SRC_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_5, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":83
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA
 * GL_DST_ALPHA = c_opengl.GL_DST_ALPHA             # <<<<<<<<<<<<<<
 * GL_ONE_MINUS_DST_ALPHA = c_opengl.GL_ONE_MINUS_DST_ALPHA
 * GL_DST_COLOR = c_opengl.GL_DST_COLOR
 */
  __pyx_t_1 = PyInt_FromLong(GL_DST_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DST_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":84
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA
 * GL_DST_ALPHA = c_opengl.GL_DST_ALPHA
 * GL_ONE_MINUS_DST_ALPHA = c_opengl.GL_ONE_MINUS_DST_ALPHA             # <<<<<<<<<<<<<<
 * GL_DST_COLOR = c_opengl.GL_DST_COLOR
 * GL_ONE_MINUS_DST_COLOR = c_opengl.GL_ONE_MINUS_DST_COLOR
 */
  __pyx_t_1 = PyInt_FromLong(GL_ONE_MINUS_DST_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_6, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":85
 * GL_DST_ALPHA = c_opengl.GL_DST_ALPHA
 * GL_ONE_MINUS_DST_ALPHA = c_opengl.GL_ONE_MINUS_DST_ALPHA
 * GL_DST_COLOR = c_opengl.GL_DST_COLOR             # <<<<<<<<<<<<<<
 * GL_ONE_MINUS_DST_COLOR = c_opengl.GL_ONE_MINUS_DST_COLOR
 * GL_SRC_ALPHA_SATURATE = c_opengl.GL_SRC_ALPHA_SATURATE
 */
  __pyx_t_1 = PyInt_FromLong(GL_DST_COLOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DST_COLOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":86
 * GL_ONE_MINUS_DST_ALPHA = c_opengl.GL_ONE_MINUS_DST_ALPHA
 * GL_DST_COLOR = c_opengl.GL_DST_COLOR
 * GL_ONE_MINUS_DST_COLOR = c_opengl.GL_ONE_MINUS_DST_COLOR             # <<<<<<<<<<<<<<
 * GL_SRC_ALPHA_SATURATE = c_opengl.GL_SRC_ALPHA_SATURATE
 * GL_FUNC_ADD = c_opengl.GL_FUNC_ADD
 */
  __pyx_t_1 = PyInt_FromLong(GL_ONE_MINUS_DST_COLOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_7, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":87
 * GL_DST_COLOR = c_opengl.GL_DST_COLOR
 * GL_ONE_MINUS_DST_COLOR = c_opengl.GL_ONE_MINUS_DST_COLOR
 * GL_SRC_ALPHA_SATURATE = c_opengl.GL_SRC_ALPHA_SATURATE             # <<<<<<<<<<<<<<
 * GL_FUNC_ADD = c_opengl.GL_FUNC_ADD
 * GL_BLEND_EQUATION = c_opengl.GL_BLEND_EQUATION
 */
  __pyx_t_1 = PyInt_FromLong(GL_SRC_ALPHA_SATURATE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_8, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":88
 * GL_ONE_MINUS_DST_COLOR = c_opengl.GL_ONE_MINUS_DST_COLOR
 * GL_SRC_ALPHA_SATURATE = c_opengl.GL_SRC_ALPHA_SATURATE
 * GL_FUNC_ADD = c_opengl.GL_FUNC_ADD             # <<<<<<<<<<<<<<
 * GL_BLEND_EQUATION = c_opengl.GL_BLEND_EQUATION
 * GL_BLEND_EQUATION_RGB = c_opengl.GL_BLEND_EQUATION_RGB
 */
  __pyx_t_1 = PyInt_FromLong(GL_FUNC_ADD); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FUNC_ADD, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":89
 * GL_SRC_ALPHA_SATURATE = c_opengl.GL_SRC_ALPHA_SATURATE
 * GL_FUNC_ADD = c_opengl.GL_FUNC_ADD
 * GL_BLEND_EQUATION = c_opengl.GL_BLEND_EQUATION             # <<<<<<<<<<<<<<
 * GL_BLEND_EQUATION_RGB = c_opengl.GL_BLEND_EQUATION_RGB
 * GL_BLEND_EQUATION_ALPHA = c_opengl.GL_BLEND_EQUATION_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLEND_EQUATION); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BLEND_EQUATION, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":90
 * GL_FUNC_ADD = c_opengl.GL_FUNC_ADD
 * GL_BLEND_EQUATION = c_opengl.GL_BLEND_EQUATION
 * GL_BLEND_EQUATION_RGB = c_opengl.GL_BLEND_EQUATION_RGB             # <<<<<<<<<<<<<<
 * GL_BLEND_EQUATION_ALPHA = c_opengl.GL_BLEND_EQUATION_ALPHA
 * GL_FUNC_SUBTRACT = c_opengl.GL_FUNC_SUBTRACT
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLEND_EQUATION_RGB); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_9, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":91
 * GL_BLEND_EQUATION = c_opengl.GL_BLEND_EQUATION
 * GL_BLEND_EQUATION_RGB = c_opengl.GL_BLEND_EQUATION_RGB
 * GL_BLEND_EQUATION_ALPHA = c_opengl.GL_BLEND_EQUATION_ALPHA             # <<<<<<<<<<<<<<
 * GL_FUNC_SUBTRACT = c_opengl.GL_FUNC_SUBTRACT
 * GL_FUNC_REVERSE_SUBTRACT = c_opengl.GL_FUNC_REVERSE_SUBTRACT
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLEND_EQUATION_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_10, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":92
 * GL_BLEND_EQUATION_RGB = c_opengl.GL_BLEND_EQUATION_RGB
 * GL_BLEND_EQUATION_ALPHA = c_opengl.GL_BLEND_EQUATION_ALPHA
 * GL_FUNC_SUBTRACT = c_opengl.GL_FUNC_SUBTRACT             # <<<<<<<<<<<<<<
 * GL_FUNC_REVERSE_SUBTRACT = c_opengl.GL_FUNC_REVERSE_SUBTRACT
 * GL_BLEND_DST_RGB = c_opengl.GL_BLEND_DST_RGB
 */
  __pyx_t_1 = PyInt_FromLong(GL_FUNC_SUBTRACT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FUNC_SUBTRACT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":93
 * GL_BLEND_EQUATION_ALPHA = c_opengl.GL_BLEND_EQUATION_ALPHA
 * GL_FUNC_SUBTRACT = c_opengl.GL_FUNC_SUBTRACT
 * GL_FUNC_REVERSE_SUBTRACT = c_opengl.GL_FUNC_REVERSE_SUBTRACT             # <<<<<<<<<<<<<<
 * GL_BLEND_DST_RGB = c_opengl.GL_BLEND_DST_RGB
 * GL_BLEND_SRC_RGB = c_opengl.GL_BLEND_SRC_RGB
 */
  __pyx_t_1 = PyInt_FromLong(GL_FUNC_REVERSE_SUBTRACT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_11, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":94
 * GL_FUNC_SUBTRACT = c_opengl.GL_FUNC_SUBTRACT
 * GL_FUNC_REVERSE_SUBTRACT = c_opengl.GL_FUNC_REVERSE_SUBTRACT
 * GL_BLEND_DST_RGB = c_opengl.GL_BLEND_DST_RGB             # <<<<<<<<<<<<<<
 * GL_BLEND_SRC_RGB = c_opengl.GL_BLEND_SRC_RGB
 * GL_BLEND_DST_ALPHA = c_opengl.GL_BLEND_DST_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLEND_DST_RGB); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BLEND_DST_RGB, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":95
 * GL_FUNC_REVERSE_SUBTRACT = c_opengl.GL_FUNC_REVERSE_SUBTRACT
 * GL_BLEND_DST_RGB = c_opengl.GL_BLEND_DST_RGB
 * GL_BLEND_SRC_RGB = c_opengl.GL_BLEND_SRC_RGB             # <<<<<<<<<<<<<<
 * GL_BLEND_DST_ALPHA = c_opengl.GL_BLEND_DST_ALPHA
 * GL_BLEND_SRC_ALPHA = c_opengl.GL_BLEND_SRC_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLEND_SRC_RGB); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BLEND_SRC_RGB, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":96
 * GL_BLEND_DST_RGB = c_opengl.GL_BLEND_DST_RGB
 * GL_BLEND_SRC_RGB = c_opengl.GL_BLEND_SRC_RGB
 * GL_BLEND_DST_ALPHA = c_opengl.GL_BLEND_DST_ALPHA             # <<<<<<<<<<<<<<
 * GL_BLEND_SRC_ALPHA = c_opengl.GL_BLEND_SRC_ALPHA
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLEND_DST_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BLEND_DST_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":97
 * GL_BLEND_SRC_RGB = c_opengl.GL_BLEND_SRC_RGB
 * GL_BLEND_DST_ALPHA = c_opengl.GL_BLEND_DST_ALPHA
 * GL_BLEND_SRC_ALPHA = c_opengl.GL_BLEND_SRC_ALPHA             # <<<<<<<<<<<<<<
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLEND_SRC_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BLEND_SRC_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":98
 * GL_BLEND_DST_ALPHA = c_opengl.GL_BLEND_DST_ALPHA
 * GL_BLEND_SRC_ALPHA = c_opengl.GL_BLEND_SRC_ALPHA
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR             # <<<<<<<<<<<<<<
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_SRC_COLOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SRC_COLOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":99
 * GL_BLEND_SRC_ALPHA = c_opengl.GL_BLEND_SRC_ALPHA
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR             # <<<<<<<<<<<<<<
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_ONE_MINUS_SRC_COLOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":100
 * GL_SRC_COLOR = c_opengl.GL_SRC_COLOR
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA             # <<<<<<<<<<<<<<
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA
 * GL_BLEND_COLOR = c_opengl.GL_BLEND_COLOR
 */
  __pyx_t_1 = PyInt_FromLong(GL_SRC_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SRC_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":101
 * GL_ONE_MINUS_SRC_COLOR = c_opengl.GL_ONE_MINUS_SRC_COLOR
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA             # <<<<<<<<<<<<<<
 * GL_BLEND_COLOR = c_opengl.GL_BLEND_COLOR
 * GL_ARRAY_BUFFER = c_opengl.GL_ARRAY_BUFFER
 */
  __pyx_t_1 = PyInt_FromLong(GL_ONE_MINUS_SRC_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_5, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":102
 * GL_SRC_ALPHA = c_opengl.GL_SRC_ALPHA
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA
 * GL_BLEND_COLOR = c_opengl.GL_BLEND_COLOR             # <<<<<<<<<<<<<<
 * GL_ARRAY_BUFFER = c_opengl.GL_ARRAY_BUFFER
 * GL_ELEMENT_ARRAY_BUFFER = c_opengl.GL_ELEMENT_ARRAY_BUFFER
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLEND_COLOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BLEND_COLOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":103
 * GL_ONE_MINUS_SRC_ALPHA = c_opengl.GL_ONE_MINUS_SRC_ALPHA
 * GL_BLEND_COLOR = c_opengl.GL_BLEND_COLOR
 * GL_ARRAY_BUFFER = c_opengl.GL_ARRAY_BUFFER             # <<<<<<<<<<<<<<
 * GL_ELEMENT_ARRAY_BUFFER = c_opengl.GL_ELEMENT_ARRAY_BUFFER
 * GL_ARRAY_BUFFER_BINDING = c_opengl.GL_ARRAY_BUFFER_BINDING
 */
  __pyx_t_1 = PyInt_FromLong(GL_ARRAY_BUFFER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_ARRAY_BUFFER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":104
 * GL_BLEND_COLOR = c_opengl.GL_BLEND_COLOR
 * GL_ARRAY_BUFFER = c_opengl.GL_ARRAY_BUFFER
 * GL_ELEMENT_ARRAY_BUFFER = c_opengl.GL_ELEMENT_ARRAY_BUFFER             # <<<<<<<<<<<<<<
 * GL_ARRAY_BUFFER_BINDING = c_opengl.GL_ARRAY_BUFFER_BINDING
 * GL_ELEMENT_ARRAY_BUFFER_BINDING = c_opengl.GL_ELEMENT_ARRAY_BUFFER_BINDING
 */
  __pyx_t_1 = PyInt_FromLong(GL_ELEMENT_ARRAY_BUFFER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_12, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":105
 * GL_ARRAY_BUFFER = c_opengl.GL_ARRAY_BUFFER
 * GL_ELEMENT_ARRAY_BUFFER = c_opengl.GL_ELEMENT_ARRAY_BUFFER
 * GL_ARRAY_BUFFER_BINDING = c_opengl.GL_ARRAY_BUFFER_BINDING             # <<<<<<<<<<<<<<
 * GL_ELEMENT_ARRAY_BUFFER_BINDING = c_opengl.GL_ELEMENT_ARRAY_BUFFER_BINDING
 * GL_STREAM_DRAW = c_opengl.GL_STREAM_DRAW
 */
  __pyx_t_1 = PyInt_FromLong(GL_ARRAY_BUFFER_BINDING); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_13, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":106
 * GL_ELEMENT_ARRAY_BUFFER = c_opengl.GL_ELEMENT_ARRAY_BUFFER
 * GL_ARRAY_BUFFER_BINDING = c_opengl.GL_ARRAY_BUFFER_BINDING
 * GL_ELEMENT_ARRAY_BUFFER_BINDING = c_opengl.GL_ELEMENT_ARRAY_BUFFER_BINDING             # <<<<<<<<<<<<<<
 * GL_STREAM_DRAW = c_opengl.GL_STREAM_DRAW
 * GL_STATIC_DRAW = c_opengl.GL_STATIC_DRAW
 */
  __pyx_t_1 = PyInt_FromLong(GL_ELEMENT_ARRAY_BUFFER_BINDING); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_14, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":107
 * GL_ARRAY_BUFFER_BINDING = c_opengl.GL_ARRAY_BUFFER_BINDING
 * GL_ELEMENT_ARRAY_BUFFER_BINDING = c_opengl.GL_ELEMENT_ARRAY_BUFFER_BINDING
 * GL_STREAM_DRAW = c_opengl.GL_STREAM_DRAW             # <<<<<<<<<<<<<<
 * GL_STATIC_DRAW = c_opengl.GL_STATIC_DRAW
 * GL_DYNAMIC_DRAW = c_opengl.GL_DYNAMIC_DRAW
 */
  __pyx_t_1 = PyInt_FromLong(GL_STREAM_DRAW); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STREAM_DRAW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":108
 * GL_ELEMENT_ARRAY_BUFFER_BINDING = c_opengl.GL_ELEMENT_ARRAY_BUFFER_BINDING
 * GL_STREAM_DRAW = c_opengl.GL_STREAM_DRAW
 * GL_STATIC_DRAW = c_opengl.GL_STATIC_DRAW             # <<<<<<<<<<<<<<
 * GL_DYNAMIC_DRAW = c_opengl.GL_DYNAMIC_DRAW
 * GL_BUFFER_SIZE = c_opengl.GL_BUFFER_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_STATIC_DRAW); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STATIC_DRAW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":109
 * GL_STREAM_DRAW = c_opengl.GL_STREAM_DRAW
 * GL_STATIC_DRAW = c_opengl.GL_STATIC_DRAW
 * GL_DYNAMIC_DRAW = c_opengl.GL_DYNAMIC_DRAW             # <<<<<<<<<<<<<<
 * GL_BUFFER_SIZE = c_opengl.GL_BUFFER_SIZE
 * GL_BUFFER_USAGE = c_opengl.GL_BUFFER_USAGE
 */
  __pyx_t_1 = PyInt_FromLong(GL_DYNAMIC_DRAW); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DYNAMIC_DRAW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":110
 * GL_STATIC_DRAW = c_opengl.GL_STATIC_DRAW
 * GL_DYNAMIC_DRAW = c_opengl.GL_DYNAMIC_DRAW
 * GL_BUFFER_SIZE = c_opengl.GL_BUFFER_SIZE             # <<<<<<<<<<<<<<
 * GL_BUFFER_USAGE = c_opengl.GL_BUFFER_USAGE
 * GL_CURRENT_VERTEX_ATTRIB = c_opengl.GL_CURRENT_VERTEX_ATTRIB
 */
  __pyx_t_1 = PyInt_FromLong(GL_BUFFER_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BUFFER_SIZE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":111
 * GL_DYNAMIC_DRAW = c_opengl.GL_DYNAMIC_DRAW
 * GL_BUFFER_SIZE = c_opengl.GL_BUFFER_SIZE
 * GL_BUFFER_USAGE = c_opengl.GL_BUFFER_USAGE             # <<<<<<<<<<<<<<
 * GL_CURRENT_VERTEX_ATTRIB = c_opengl.GL_CURRENT_VERTEX_ATTRIB
 * GL_FRONT = c_opengl.GL_FRONT
 */
  __pyx_t_1 = PyInt_FromLong(GL_BUFFER_USAGE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BUFFER_USAGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":112
 * GL_BUFFER_SIZE = c_opengl.GL_BUFFER_SIZE
 * GL_BUFFER_USAGE = c_opengl.GL_BUFFER_USAGE
 * GL_CURRENT_VERTEX_ATTRIB = c_opengl.GL_CURRENT_VERTEX_ATTRIB             # <<<<<<<<<<<<<<
 * GL_FRONT = c_opengl.GL_FRONT
 * GL_BACK = c_opengl.GL_BACK
 */
  __pyx_t_1 = PyInt_FromLong(GL_CURRENT_VERTEX_ATTRIB); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_15, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":113
 * GL_BUFFER_USAGE = c_opengl.GL_BUFFER_USAGE
 * GL_CURRENT_VERTEX_ATTRIB = c_opengl.GL_CURRENT_VERTEX_ATTRIB
 * GL_FRONT = c_opengl.GL_FRONT             # <<<<<<<<<<<<<<
 * GL_BACK = c_opengl.GL_BACK
 * GL_FRONT_AND_BACK = c_opengl.GL_FRONT_AND_BACK
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRONT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FRONT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":114
 * GL_CURRENT_VERTEX_ATTRIB = c_opengl.GL_CURRENT_VERTEX_ATTRIB
 * GL_FRONT = c_opengl.GL_FRONT
 * GL_BACK = c_opengl.GL_BACK             # <<<<<<<<<<<<<<
 * GL_FRONT_AND_BACK = c_opengl.GL_FRONT_AND_BACK
 * GL_TEXTURE_2D = c_opengl.GL_TEXTURE_2D
 */
  __pyx_t_1 = PyInt_FromLong(GL_BACK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BACK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":115
 * GL_FRONT = c_opengl.GL_FRONT
 * GL_BACK = c_opengl.GL_BACK
 * GL_FRONT_AND_BACK = c_opengl.GL_FRONT_AND_BACK             # <<<<<<<<<<<<<<
 * GL_TEXTURE_2D = c_opengl.GL_TEXTURE_2D
 * GL_CULL_FACE = c_opengl.GL_CULL_FACE
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRONT_AND_BACK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FRONT_AND_BACK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":116
 * GL_BACK = c_opengl.GL_BACK
 * GL_FRONT_AND_BACK = c_opengl.GL_FRONT_AND_BACK
 * GL_TEXTURE_2D = c_opengl.GL_TEXTURE_2D             # <<<<<<<<<<<<<<
 * GL_CULL_FACE = c_opengl.GL_CULL_FACE
 * GL_BLEND = c_opengl.GL_BLEND
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_2D); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE_2D, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":117
 * GL_FRONT_AND_BACK = c_opengl.GL_FRONT_AND_BACK
 * GL_TEXTURE_2D = c_opengl.GL_TEXTURE_2D
 * GL_CULL_FACE = c_opengl.GL_CULL_FACE             # <<<<<<<<<<<<<<
 * GL_BLEND = c_opengl.GL_BLEND
 * GL_DITHER = c_opengl.GL_DITHER
 */
  __pyx_t_1 = PyInt_FromLong(GL_CULL_FACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_CULL_FACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":118
 * GL_TEXTURE_2D = c_opengl.GL_TEXTURE_2D
 * GL_CULL_FACE = c_opengl.GL_CULL_FACE
 * GL_BLEND = c_opengl.GL_BLEND             # <<<<<<<<<<<<<<
 * GL_DITHER = c_opengl.GL_DITHER
 * GL_STENCIL_TEST = c_opengl.GL_STENCIL_TEST
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLEND); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BLEND, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":119
 * GL_CULL_FACE = c_opengl.GL_CULL_FACE
 * GL_BLEND = c_opengl.GL_BLEND
 * GL_DITHER = c_opengl.GL_DITHER             # <<<<<<<<<<<<<<
 * GL_STENCIL_TEST = c_opengl.GL_STENCIL_TEST
 * GL_DEPTH_TEST = c_opengl.GL_DEPTH_TEST
 */
  __pyx_t_1 = PyInt_FromLong(GL_DITHER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DITHER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":120
 * GL_BLEND = c_opengl.GL_BLEND
 * GL_DITHER = c_opengl.GL_DITHER
 * GL_STENCIL_TEST = c_opengl.GL_STENCIL_TEST             # <<<<<<<<<<<<<<
 * GL_DEPTH_TEST = c_opengl.GL_DEPTH_TEST
 * GL_SCISSOR_TEST = c_opengl.GL_SCISSOR_TEST
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_TEST); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STENCIL_TEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":121
 * GL_DITHER = c_opengl.GL_DITHER
 * GL_STENCIL_TEST = c_opengl.GL_STENCIL_TEST
 * GL_DEPTH_TEST = c_opengl.GL_DEPTH_TEST             # <<<<<<<<<<<<<<
 * GL_SCISSOR_TEST = c_opengl.GL_SCISSOR_TEST
 * GL_POLYGON_OFFSET_FILL = c_opengl.GL_POLYGON_OFFSET_FILL
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_TEST); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DEPTH_TEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":122
 * GL_STENCIL_TEST = c_opengl.GL_STENCIL_TEST
 * GL_DEPTH_TEST = c_opengl.GL_DEPTH_TEST
 * GL_SCISSOR_TEST = c_opengl.GL_SCISSOR_TEST             # <<<<<<<<<<<<<<
 * GL_POLYGON_OFFSET_FILL = c_opengl.GL_POLYGON_OFFSET_FILL
 * GL_SAMPLE_ALPHA_TO_COVERAGE = c_opengl.GL_SAMPLE_ALPHA_TO_COVERAGE
 */
  __pyx_t_1 = PyInt_FromLong(GL_SCISSOR_TEST); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SCISSOR_TEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":123
 * GL_DEPTH_TEST = c_opengl.GL_DEPTH_TEST
 * GL_SCISSOR_TEST = c_opengl.GL_SCISSOR_TEST
 * GL_POLYGON_OFFSET_FILL = c_opengl.GL_POLYGON_OFFSET_FILL             # <<<<<<<<<<<<<<
 * GL_SAMPLE_ALPHA_TO_COVERAGE = c_opengl.GL_SAMPLE_ALPHA_TO_COVERAGE
 * GL_SAMPLE_COVERAGE = c_opengl.GL_SAMPLE_COVERAGE
 */
  __pyx_t_1 = PyInt_FromLong(GL_POLYGON_OFFSET_FILL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_16, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":124
 * GL_SCISSOR_TEST = c_opengl.GL_SCISSOR_TEST
 * GL_POLYGON_OFFSET_FILL = c_opengl.GL_POLYGON_OFFSET_FILL
 * GL_SAMPLE_ALPHA_TO_COVERAGE = c_opengl.GL_SAMPLE_ALPHA_TO_COVERAGE             # <<<<<<<<<<<<<<
 * GL_SAMPLE_COVERAGE = c_opengl.GL_SAMPLE_COVERAGE
 * GL_NO_ERROR = c_opengl.GL_NO_ERROR
 */
  __pyx_t_1 = PyInt_FromLong(GL_SAMPLE_ALPHA_TO_COVERAGE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_17, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":125
 * GL_POLYGON_OFFSET_FILL = c_opengl.GL_POLYGON_OFFSET_FILL
 * GL_SAMPLE_ALPHA_TO_COVERAGE = c_opengl.GL_SAMPLE_ALPHA_TO_COVERAGE
 * GL_SAMPLE_COVERAGE = c_opengl.GL_SAMPLE_COVERAGE             # <<<<<<<<<<<<<<
 * GL_NO_ERROR = c_opengl.GL_NO_ERROR
 * GL_INVALID_ENUM = c_opengl.GL_INVALID_ENUM
 */
  __pyx_t_1 = PyInt_FromLong(GL_SAMPLE_COVERAGE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SAMPLE_COVERAGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":126
 * GL_SAMPLE_ALPHA_TO_COVERAGE = c_opengl.GL_SAMPLE_ALPHA_TO_COVERAGE
 * GL_SAMPLE_COVERAGE = c_opengl.GL_SAMPLE_COVERAGE
 * GL_NO_ERROR = c_opengl.GL_NO_ERROR             # <<<<<<<<<<<<<<
 * GL_INVALID_ENUM = c_opengl.GL_INVALID_ENUM
 * GL_INVALID_VALUE = c_opengl.GL_INVALID_VALUE
 */
  __pyx_t_1 = PyInt_FromLong(GL_NO_ERROR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_NO_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":127
 * GL_SAMPLE_COVERAGE = c_opengl.GL_SAMPLE_COVERAGE
 * GL_NO_ERROR = c_opengl.GL_NO_ERROR
 * GL_INVALID_ENUM = c_opengl.GL_INVALID_ENUM             # <<<<<<<<<<<<<<
 * GL_INVALID_VALUE = c_opengl.GL_INVALID_VALUE
 * GL_INVALID_OPERATION = c_opengl.GL_INVALID_OPERATION
 */
  __pyx_t_1 = PyInt_FromLong(GL_INVALID_ENUM); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INVALID_ENUM, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":128
 * GL_NO_ERROR = c_opengl.GL_NO_ERROR
 * GL_INVALID_ENUM = c_opengl.GL_INVALID_ENUM
 * GL_INVALID_VALUE = c_opengl.GL_INVALID_VALUE             # <<<<<<<<<<<<<<
 * GL_INVALID_OPERATION = c_opengl.GL_INVALID_OPERATION
 * GL_OUT_OF_MEMORY = c_opengl.GL_OUT_OF_MEMORY
 */
  __pyx_t_1 = PyInt_FromLong(GL_INVALID_VALUE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INVALID_VALUE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":129
 * GL_INVALID_ENUM = c_opengl.GL_INVALID_ENUM
 * GL_INVALID_VALUE = c_opengl.GL_INVALID_VALUE
 * GL_INVALID_OPERATION = c_opengl.GL_INVALID_OPERATION             # <<<<<<<<<<<<<<
 * GL_OUT_OF_MEMORY = c_opengl.GL_OUT_OF_MEMORY
 * GL_CW = c_opengl.GL_CW
 */
  __pyx_t_1 = PyInt_FromLong(GL_INVALID_OPERATION); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_18, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":130
 * GL_INVALID_VALUE = c_opengl.GL_INVALID_VALUE
 * GL_INVALID_OPERATION = c_opengl.GL_INVALID_OPERATION
 * GL_OUT_OF_MEMORY = c_opengl.GL_OUT_OF_MEMORY             # <<<<<<<<<<<<<<
 * GL_CW = c_opengl.GL_CW
 * GL_CCW = c_opengl.GL_CCW
 */
  __pyx_t_1 = PyInt_FromLong(GL_OUT_OF_MEMORY); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_OUT_OF_MEMORY, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":131
 * GL_INVALID_OPERATION = c_opengl.GL_INVALID_OPERATION
 * GL_OUT_OF_MEMORY = c_opengl.GL_OUT_OF_MEMORY
 * GL_CW = c_opengl.GL_CW             # <<<<<<<<<<<<<<
 * GL_CCW = c_opengl.GL_CCW
 * GL_LINE_WIDTH = c_opengl.GL_LINE_WIDTH
 */
  __pyx_t_1 = PyInt_FromLong(GL_CW); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_CW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":132
 * GL_OUT_OF_MEMORY = c_opengl.GL_OUT_OF_MEMORY
 * GL_CW = c_opengl.GL_CW
 * GL_CCW = c_opengl.GL_CCW             # <<<<<<<<<<<<<<
 * GL_LINE_WIDTH = c_opengl.GL_LINE_WIDTH
 * GL_ALIASED_POINT_SIZE_RANGE = c_opengl.GL_ALIASED_POINT_SIZE_RANGE
 */
  __pyx_t_1 = PyInt_FromLong(GL_CCW); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_CCW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":133
 * GL_CW = c_opengl.GL_CW
 * GL_CCW = c_opengl.GL_CCW
 * GL_LINE_WIDTH = c_opengl.GL_LINE_WIDTH             # <<<<<<<<<<<<<<
 * GL_ALIASED_POINT_SIZE_RANGE = c_opengl.GL_ALIASED_POINT_SIZE_RANGE
 * GL_ALIASED_LINE_WIDTH_RANGE = c_opengl.GL_ALIASED_LINE_WIDTH_RANGE
 */
  __pyx_t_1 = PyInt_FromLong(GL_LINE_WIDTH); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LINE_WIDTH, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":134
 * GL_CCW = c_opengl.GL_CCW
 * GL_LINE_WIDTH = c_opengl.GL_LINE_WIDTH
 * GL_ALIASED_POINT_SIZE_RANGE = c_opengl.GL_ALIASED_POINT_SIZE_RANGE             # <<<<<<<<<<<<<<
 * GL_ALIASED_LINE_WIDTH_RANGE = c_opengl.GL_ALIASED_LINE_WIDTH_RANGE
 * GL_CULL_FACE_MODE = c_opengl.GL_CULL_FACE_MODE
 */
  __pyx_t_1 = PyInt_FromLong(GL_ALIASED_POINT_SIZE_RANGE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_19, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":135
 * GL_LINE_WIDTH = c_opengl.GL_LINE_WIDTH
 * GL_ALIASED_POINT_SIZE_RANGE = c_opengl.GL_ALIASED_POINT_SIZE_RANGE
 * GL_ALIASED_LINE_WIDTH_RANGE = c_opengl.GL_ALIASED_LINE_WIDTH_RANGE             # <<<<<<<<<<<<<<
 * GL_CULL_FACE_MODE = c_opengl.GL_CULL_FACE_MODE
 * GL_FRONT_FACE = c_opengl.GL_FRONT_FACE
 */
  __pyx_t_1 = PyInt_FromLong(GL_ALIASED_LINE_WIDTH_RANGE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_20, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":136
 * GL_ALIASED_POINT_SIZE_RANGE = c_opengl.GL_ALIASED_POINT_SIZE_RANGE
 * GL_ALIASED_LINE_WIDTH_RANGE = c_opengl.GL_ALIASED_LINE_WIDTH_RANGE
 * GL_CULL_FACE_MODE = c_opengl.GL_CULL_FACE_MODE             # <<<<<<<<<<<<<<
 * GL_FRONT_FACE = c_opengl.GL_FRONT_FACE
 * GL_DEPTH_RANGE = c_opengl.GL_DEPTH_RANGE
 */
  __pyx_t_1 = PyInt_FromLong(GL_CULL_FACE_MODE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_CULL_FACE_MODE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":137
 * GL_ALIASED_LINE_WIDTH_RANGE = c_opengl.GL_ALIASED_LINE_WIDTH_RANGE
 * GL_CULL_FACE_MODE = c_opengl.GL_CULL_FACE_MODE
 * GL_FRONT_FACE = c_opengl.GL_FRONT_FACE             # <<<<<<<<<<<<<<
 * GL_DEPTH_RANGE = c_opengl.GL_DEPTH_RANGE
 * GL_DEPTH_WRITEMASK = c_opengl.GL_DEPTH_WRITEMASK
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRONT_FACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FRONT_FACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":138
 * GL_CULL_FACE_MODE = c_opengl.GL_CULL_FACE_MODE
 * GL_FRONT_FACE = c_opengl.GL_FRONT_FACE
 * GL_DEPTH_RANGE = c_opengl.GL_DEPTH_RANGE             # <<<<<<<<<<<<<<
 * GL_DEPTH_WRITEMASK = c_opengl.GL_DEPTH_WRITEMASK
 * GL_DEPTH_CLEAR_VALUE = c_opengl.GL_DEPTH_CLEAR_VALUE
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_RANGE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DEPTH_RANGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":139
 * GL_FRONT_FACE = c_opengl.GL_FRONT_FACE
 * GL_DEPTH_RANGE = c_opengl.GL_DEPTH_RANGE
 * GL_DEPTH_WRITEMASK = c_opengl.GL_DEPTH_WRITEMASK             # <<<<<<<<<<<<<<
 * GL_DEPTH_CLEAR_VALUE = c_opengl.GL_DEPTH_CLEAR_VALUE
 * GL_DEPTH_FUNC = c_opengl.GL_DEPTH_FUNC
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_WRITEMASK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DEPTH_WRITEMASK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":140
 * GL_DEPTH_RANGE = c_opengl.GL_DEPTH_RANGE
 * GL_DEPTH_WRITEMASK = c_opengl.GL_DEPTH_WRITEMASK
 * GL_DEPTH_CLEAR_VALUE = c_opengl.GL_DEPTH_CLEAR_VALUE             # <<<<<<<<<<<<<<
 * GL_DEPTH_FUNC = c_opengl.GL_DEPTH_FUNC
 * GL_STENCIL_CLEAR_VALUE = c_opengl.GL_STENCIL_CLEAR_VALUE
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_CLEAR_VALUE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_21, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":141
 * GL_DEPTH_WRITEMASK = c_opengl.GL_DEPTH_WRITEMASK
 * GL_DEPTH_CLEAR_VALUE = c_opengl.GL_DEPTH_CLEAR_VALUE
 * GL_DEPTH_FUNC = c_opengl.GL_DEPTH_FUNC             # <<<<<<<<<<<<<<
 * GL_STENCIL_CLEAR_VALUE = c_opengl.GL_STENCIL_CLEAR_VALUE
 * GL_STENCIL_FUNC = c_opengl.GL_STENCIL_FUNC
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_FUNC); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DEPTH_FUNC, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":142
 * GL_DEPTH_CLEAR_VALUE = c_opengl.GL_DEPTH_CLEAR_VALUE
 * GL_DEPTH_FUNC = c_opengl.GL_DEPTH_FUNC
 * GL_STENCIL_CLEAR_VALUE = c_opengl.GL_STENCIL_CLEAR_VALUE             # <<<<<<<<<<<<<<
 * GL_STENCIL_FUNC = c_opengl.GL_STENCIL_FUNC
 * GL_STENCIL_FAIL = c_opengl.GL_STENCIL_FAIL
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_CLEAR_VALUE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_22, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":143
 * GL_DEPTH_FUNC = c_opengl.GL_DEPTH_FUNC
 * GL_STENCIL_CLEAR_VALUE = c_opengl.GL_STENCIL_CLEAR_VALUE
 * GL_STENCIL_FUNC = c_opengl.GL_STENCIL_FUNC             # <<<<<<<<<<<<<<
 * GL_STENCIL_FAIL = c_opengl.GL_STENCIL_FAIL
 * GL_STENCIL_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_PASS_DEPTH_FAIL
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_FUNC); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STENCIL_FUNC, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":144
 * GL_STENCIL_CLEAR_VALUE = c_opengl.GL_STENCIL_CLEAR_VALUE
 * GL_STENCIL_FUNC = c_opengl.GL_STENCIL_FUNC
 * GL_STENCIL_FAIL = c_opengl.GL_STENCIL_FAIL             # <<<<<<<<<<<<<<
 * GL_STENCIL_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_PASS_DEPTH_FAIL
 * GL_STENCIL_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_PASS_DEPTH_PASS
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_FAIL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STENCIL_FAIL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":145
 * GL_STENCIL_FUNC = c_opengl.GL_STENCIL_FUNC
 * GL_STENCIL_FAIL = c_opengl.GL_STENCIL_FAIL
 * GL_STENCIL_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_PASS_DEPTH_FAIL             # <<<<<<<<<<<<<<
 * GL_STENCIL_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_PASS_DEPTH_PASS
 * GL_STENCIL_REF = c_opengl.GL_STENCIL_REF
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_PASS_DEPTH_FAIL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_23, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":146
 * GL_STENCIL_FAIL = c_opengl.GL_STENCIL_FAIL
 * GL_STENCIL_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_PASS_DEPTH_FAIL
 * GL_STENCIL_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_PASS_DEPTH_PASS             # <<<<<<<<<<<<<<
 * GL_STENCIL_REF = c_opengl.GL_STENCIL_REF
 * GL_STENCIL_VALUE_MASK = c_opengl.GL_STENCIL_VALUE_MASK
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_PASS_DEPTH_PASS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_24, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":147
 * GL_STENCIL_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_PASS_DEPTH_FAIL
 * GL_STENCIL_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_PASS_DEPTH_PASS
 * GL_STENCIL_REF = c_opengl.GL_STENCIL_REF             # <<<<<<<<<<<<<<
 * GL_STENCIL_VALUE_MASK = c_opengl.GL_STENCIL_VALUE_MASK
 * GL_STENCIL_WRITEMASK = c_opengl.GL_STENCIL_WRITEMASK
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_REF); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STENCIL_REF, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":148
 * GL_STENCIL_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_PASS_DEPTH_PASS
 * GL_STENCIL_REF = c_opengl.GL_STENCIL_REF
 * GL_STENCIL_VALUE_MASK = c_opengl.GL_STENCIL_VALUE_MASK             # <<<<<<<<<<<<<<
 * GL_STENCIL_WRITEMASK = c_opengl.GL_STENCIL_WRITEMASK
 * GL_STENCIL_BACK_FUNC = c_opengl.GL_STENCIL_BACK_FUNC
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_VALUE_MASK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_25, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":149
 * GL_STENCIL_REF = c_opengl.GL_STENCIL_REF
 * GL_STENCIL_VALUE_MASK = c_opengl.GL_STENCIL_VALUE_MASK
 * GL_STENCIL_WRITEMASK = c_opengl.GL_STENCIL_WRITEMASK             # <<<<<<<<<<<<<<
 * GL_STENCIL_BACK_FUNC = c_opengl.GL_STENCIL_BACK_FUNC
 * GL_STENCIL_BACK_FAIL = c_opengl.GL_STENCIL_BACK_FAIL
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_WRITEMASK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_26, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":150
 * GL_STENCIL_VALUE_MASK = c_opengl.GL_STENCIL_VALUE_MASK
 * GL_STENCIL_WRITEMASK = c_opengl.GL_STENCIL_WRITEMASK
 * GL_STENCIL_BACK_FUNC = c_opengl.GL_STENCIL_BACK_FUNC             # <<<<<<<<<<<<<<
 * GL_STENCIL_BACK_FAIL = c_opengl.GL_STENCIL_BACK_FAIL
 * GL_STENCIL_BACK_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_FAIL
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_BACK_FUNC); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_27, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":151
 * GL_STENCIL_WRITEMASK = c_opengl.GL_STENCIL_WRITEMASK
 * GL_STENCIL_BACK_FUNC = c_opengl.GL_STENCIL_BACK_FUNC
 * GL_STENCIL_BACK_FAIL = c_opengl.GL_STENCIL_BACK_FAIL             # <<<<<<<<<<<<<<
 * GL_STENCIL_BACK_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_FAIL
 * GL_STENCIL_BACK_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_PASS
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_BACK_FAIL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_28, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":152
 * GL_STENCIL_BACK_FUNC = c_opengl.GL_STENCIL_BACK_FUNC
 * GL_STENCIL_BACK_FAIL = c_opengl.GL_STENCIL_BACK_FAIL
 * GL_STENCIL_BACK_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_FAIL             # <<<<<<<<<<<<<<
 * GL_STENCIL_BACK_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_PASS
 * GL_STENCIL_BACK_REF = c_opengl.GL_STENCIL_BACK_REF
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_BACK_PASS_DEPTH_FAIL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_29, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":153
 * GL_STENCIL_BACK_FAIL = c_opengl.GL_STENCIL_BACK_FAIL
 * GL_STENCIL_BACK_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_FAIL
 * GL_STENCIL_BACK_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_PASS             # <<<<<<<<<<<<<<
 * GL_STENCIL_BACK_REF = c_opengl.GL_STENCIL_BACK_REF
 * GL_STENCIL_BACK_VALUE_MASK = c_opengl.GL_STENCIL_BACK_VALUE_MASK
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_BACK_PASS_DEPTH_PASS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_30, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":154
 * GL_STENCIL_BACK_PASS_DEPTH_FAIL = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_FAIL
 * GL_STENCIL_BACK_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_PASS
 * GL_STENCIL_BACK_REF = c_opengl.GL_STENCIL_BACK_REF             # <<<<<<<<<<<<<<
 * GL_STENCIL_BACK_VALUE_MASK = c_opengl.GL_STENCIL_BACK_VALUE_MASK
 * GL_STENCIL_BACK_WRITEMASK = c_opengl.GL_STENCIL_BACK_WRITEMASK
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_BACK_REF); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STENCIL_BACK_REF, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":155
 * GL_STENCIL_BACK_PASS_DEPTH_PASS = c_opengl.GL_STENCIL_BACK_PASS_DEPTH_PASS
 * GL_STENCIL_BACK_REF = c_opengl.GL_STENCIL_BACK_REF
 * GL_STENCIL_BACK_VALUE_MASK = c_opengl.GL_STENCIL_BACK_VALUE_MASK             # <<<<<<<<<<<<<<
 * GL_STENCIL_BACK_WRITEMASK = c_opengl.GL_STENCIL_BACK_WRITEMASK
 * GL_VIEWPORT = c_opengl.GL_VIEWPORT
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_BACK_VALUE_MASK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_31, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":156
 * GL_STENCIL_BACK_REF = c_opengl.GL_STENCIL_BACK_REF
 * GL_STENCIL_BACK_VALUE_MASK = c_opengl.GL_STENCIL_BACK_VALUE_MASK
 * GL_STENCIL_BACK_WRITEMASK = c_opengl.GL_STENCIL_BACK_WRITEMASK             # <<<<<<<<<<<<<<
 * GL_VIEWPORT = c_opengl.GL_VIEWPORT
 * GL_SCISSOR_BOX = c_opengl.GL_SCISSOR_BOX
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_BACK_WRITEMASK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_32, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":157
 * GL_STENCIL_BACK_VALUE_MASK = c_opengl.GL_STENCIL_BACK_VALUE_MASK
 * GL_STENCIL_BACK_WRITEMASK = c_opengl.GL_STENCIL_BACK_WRITEMASK
 * GL_VIEWPORT = c_opengl.GL_VIEWPORT             # <<<<<<<<<<<<<<
 * GL_SCISSOR_BOX = c_opengl.GL_SCISSOR_BOX
 * GL_COLOR_CLEAR_VALUE = c_opengl.GL_COLOR_CLEAR_VALUE
 */
  __pyx_t_1 = PyInt_FromLong(GL_VIEWPORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_VIEWPORT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":158
 * GL_STENCIL_BACK_WRITEMASK = c_opengl.GL_STENCIL_BACK_WRITEMASK
 * GL_VIEWPORT = c_opengl.GL_VIEWPORT
 * GL_SCISSOR_BOX = c_opengl.GL_SCISSOR_BOX             # <<<<<<<<<<<<<<
 * GL_COLOR_CLEAR_VALUE = c_opengl.GL_COLOR_CLEAR_VALUE
 * GL_COLOR_WRITEMASK = c_opengl.GL_COLOR_WRITEMASK
 */
  __pyx_t_1 = PyInt_FromLong(GL_SCISSOR_BOX); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SCISSOR_BOX, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":159
 * GL_VIEWPORT = c_opengl.GL_VIEWPORT
 * GL_SCISSOR_BOX = c_opengl.GL_SCISSOR_BOX
 * GL_COLOR_CLEAR_VALUE = c_opengl.GL_COLOR_CLEAR_VALUE             # <<<<<<<<<<<<<<
 * GL_COLOR_WRITEMASK = c_opengl.GL_COLOR_WRITEMASK
 * GL_UNPACK_ALIGNMENT = c_opengl.GL_UNPACK_ALIGNMENT
 */
  __pyx_t_1 = PyInt_FromLong(GL_COLOR_CLEAR_VALUE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_33, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":160
 * GL_SCISSOR_BOX = c_opengl.GL_SCISSOR_BOX
 * GL_COLOR_CLEAR_VALUE = c_opengl.GL_COLOR_CLEAR_VALUE
 * GL_COLOR_WRITEMASK = c_opengl.GL_COLOR_WRITEMASK             # <<<<<<<<<<<<<<
 * GL_UNPACK_ALIGNMENT = c_opengl.GL_UNPACK_ALIGNMENT
 * GL_PACK_ALIGNMENT = c_opengl.GL_PACK_ALIGNMENT
 */
  __pyx_t_1 = PyInt_FromLong(GL_COLOR_WRITEMASK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_COLOR_WRITEMASK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":161
 * GL_COLOR_CLEAR_VALUE = c_opengl.GL_COLOR_CLEAR_VALUE
 * GL_COLOR_WRITEMASK = c_opengl.GL_COLOR_WRITEMASK
 * GL_UNPACK_ALIGNMENT = c_opengl.GL_UNPACK_ALIGNMENT             # <<<<<<<<<<<<<<
 * GL_PACK_ALIGNMENT = c_opengl.GL_PACK_ALIGNMENT
 * GL_MAX_TEXTURE_SIZE = c_opengl.GL_MAX_TEXTURE_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_UNPACK_ALIGNMENT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_UNPACK_ALIGNMENT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":162
 * GL_COLOR_WRITEMASK = c_opengl.GL_COLOR_WRITEMASK
 * GL_UNPACK_ALIGNMENT = c_opengl.GL_UNPACK_ALIGNMENT
 * GL_PACK_ALIGNMENT = c_opengl.GL_PACK_ALIGNMENT             # <<<<<<<<<<<<<<
 * GL_MAX_TEXTURE_SIZE = c_opengl.GL_MAX_TEXTURE_SIZE
 * GL_MAX_VIEWPORT_DIMS = c_opengl.GL_MAX_VIEWPORT_DIMS
 */
  __pyx_t_1 = PyInt_FromLong(GL_PACK_ALIGNMENT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_PACK_ALIGNMENT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":163
 * GL_UNPACK_ALIGNMENT = c_opengl.GL_UNPACK_ALIGNMENT
 * GL_PACK_ALIGNMENT = c_opengl.GL_PACK_ALIGNMENT
 * GL_MAX_TEXTURE_SIZE = c_opengl.GL_MAX_TEXTURE_SIZE             # <<<<<<<<<<<<<<
 * GL_MAX_VIEWPORT_DIMS = c_opengl.GL_MAX_VIEWPORT_DIMS
 * GL_SUBPIXEL_BITS = c_opengl.GL_SUBPIXEL_BITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_TEXTURE_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_MAX_TEXTURE_SIZE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":164
 * GL_PACK_ALIGNMENT = c_opengl.GL_PACK_ALIGNMENT
 * GL_MAX_TEXTURE_SIZE = c_opengl.GL_MAX_TEXTURE_SIZE
 * GL_MAX_VIEWPORT_DIMS = c_opengl.GL_MAX_VIEWPORT_DIMS             # <<<<<<<<<<<<<<
 * GL_SUBPIXEL_BITS = c_opengl.GL_SUBPIXEL_BITS
 * GL_RED_BITS = c_opengl.GL_RED_BITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_VIEWPORT_DIMS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_34, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":165
 * GL_MAX_TEXTURE_SIZE = c_opengl.GL_MAX_TEXTURE_SIZE
 * GL_MAX_VIEWPORT_DIMS = c_opengl.GL_MAX_VIEWPORT_DIMS
 * GL_SUBPIXEL_BITS = c_opengl.GL_SUBPIXEL_BITS             # <<<<<<<<<<<<<<
 * GL_RED_BITS = c_opengl.GL_RED_BITS
 * GL_GREEN_BITS = c_opengl.GL_GREEN_BITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_SUBPIXEL_BITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SUBPIXEL_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":166
 * GL_MAX_VIEWPORT_DIMS = c_opengl.GL_MAX_VIEWPORT_DIMS
 * GL_SUBPIXEL_BITS = c_opengl.GL_SUBPIXEL_BITS
 * GL_RED_BITS = c_opengl.GL_RED_BITS             # <<<<<<<<<<<<<<
 * GL_GREEN_BITS = c_opengl.GL_GREEN_BITS
 * GL_BLUE_BITS = c_opengl.GL_BLUE_BITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_RED_BITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_RED_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":167
 * GL_SUBPIXEL_BITS = c_opengl.GL_SUBPIXEL_BITS
 * GL_RED_BITS = c_opengl.GL_RED_BITS
 * GL_GREEN_BITS = c_opengl.GL_GREEN_BITS             # <<<<<<<<<<<<<<
 * GL_BLUE_BITS = c_opengl.GL_BLUE_BITS
 * GL_ALPHA_BITS = c_opengl.GL_ALPHA_BITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_GREEN_BITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_GREEN_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":168
 * GL_RED_BITS = c_opengl.GL_RED_BITS
 * GL_GREEN_BITS = c_opengl.GL_GREEN_BITS
 * GL_BLUE_BITS = c_opengl.GL_BLUE_BITS             # <<<<<<<<<<<<<<
 * GL_ALPHA_BITS = c_opengl.GL_ALPHA_BITS
 * GL_DEPTH_BITS = c_opengl.GL_DEPTH_BITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_BLUE_BITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BLUE_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":169
 * GL_GREEN_BITS = c_opengl.GL_GREEN_BITS
 * GL_BLUE_BITS = c_opengl.GL_BLUE_BITS
 * GL_ALPHA_BITS = c_opengl.GL_ALPHA_BITS             # <<<<<<<<<<<<<<
 * GL_DEPTH_BITS = c_opengl.GL_DEPTH_BITS
 * GL_STENCIL_BITS = c_opengl.GL_STENCIL_BITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_ALPHA_BITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_ALPHA_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":170
 * GL_BLUE_BITS = c_opengl.GL_BLUE_BITS
 * GL_ALPHA_BITS = c_opengl.GL_ALPHA_BITS
 * GL_DEPTH_BITS = c_opengl.GL_DEPTH_BITS             # <<<<<<<<<<<<<<
 * GL_STENCIL_BITS = c_opengl.GL_STENCIL_BITS
 * GL_POLYGON_OFFSET_UNITS = c_opengl.GL_POLYGON_OFFSET_UNITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_BITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DEPTH_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":171
 * GL_ALPHA_BITS = c_opengl.GL_ALPHA_BITS
 * GL_DEPTH_BITS = c_opengl.GL_DEPTH_BITS
 * GL_STENCIL_BITS = c_opengl.GL_STENCIL_BITS             # <<<<<<<<<<<<<<
 * GL_POLYGON_OFFSET_UNITS = c_opengl.GL_POLYGON_OFFSET_UNITS
 * GL_POLYGON_OFFSET_FACTOR = c_opengl.GL_POLYGON_OFFSET_FACTOR
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_BITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STENCIL_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":172
 * GL_DEPTH_BITS = c_opengl.GL_DEPTH_BITS
 * GL_STENCIL_BITS = c_opengl.GL_STENCIL_BITS
 * GL_POLYGON_OFFSET_UNITS = c_opengl.GL_POLYGON_OFFSET_UNITS             # <<<<<<<<<<<<<<
 * GL_POLYGON_OFFSET_FACTOR = c_opengl.GL_POLYGON_OFFSET_FACTOR
 * GL_TEXTURE_BINDING_2D = c_opengl.GL_TEXTURE_BINDING_2D
 */
  __pyx_t_1 = PyInt_FromLong(GL_POLYGON_OFFSET_UNITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_35, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":173
 * GL_STENCIL_BITS = c_opengl.GL_STENCIL_BITS
 * GL_POLYGON_OFFSET_UNITS = c_opengl.GL_POLYGON_OFFSET_UNITS
 * GL_POLYGON_OFFSET_FACTOR = c_opengl.GL_POLYGON_OFFSET_FACTOR             # <<<<<<<<<<<<<<
 * GL_TEXTURE_BINDING_2D = c_opengl.GL_TEXTURE_BINDING_2D
 * GL_SAMPLE_BUFFERS = c_opengl.GL_SAMPLE_BUFFERS
 */
  __pyx_t_1 = PyInt_FromLong(GL_POLYGON_OFFSET_FACTOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_36, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":174
 * GL_POLYGON_OFFSET_UNITS = c_opengl.GL_POLYGON_OFFSET_UNITS
 * GL_POLYGON_OFFSET_FACTOR = c_opengl.GL_POLYGON_OFFSET_FACTOR
 * GL_TEXTURE_BINDING_2D = c_opengl.GL_TEXTURE_BINDING_2D             # <<<<<<<<<<<<<<
 * GL_SAMPLE_BUFFERS = c_opengl.GL_SAMPLE_BUFFERS
 * GL_SAMPLES = c_opengl.GL_SAMPLES
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_BINDING_2D); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_37, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":175
 * GL_POLYGON_OFFSET_FACTOR = c_opengl.GL_POLYGON_OFFSET_FACTOR
 * GL_TEXTURE_BINDING_2D = c_opengl.GL_TEXTURE_BINDING_2D
 * GL_SAMPLE_BUFFERS = c_opengl.GL_SAMPLE_BUFFERS             # <<<<<<<<<<<<<<
 * GL_SAMPLES = c_opengl.GL_SAMPLES
 * GL_SAMPLE_COVERAGE_VALUE = c_opengl.GL_SAMPLE_COVERAGE_VALUE
 */
  __pyx_t_1 = PyInt_FromLong(GL_SAMPLE_BUFFERS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SAMPLE_BUFFERS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":176
 * GL_TEXTURE_BINDING_2D = c_opengl.GL_TEXTURE_BINDING_2D
 * GL_SAMPLE_BUFFERS = c_opengl.GL_SAMPLE_BUFFERS
 * GL_SAMPLES = c_opengl.GL_SAMPLES             # <<<<<<<<<<<<<<
 * GL_SAMPLE_COVERAGE_VALUE = c_opengl.GL_SAMPLE_COVERAGE_VALUE
 * GL_SAMPLE_COVERAGE_INVERT = c_opengl.GL_SAMPLE_COVERAGE_INVERT
 */
  __pyx_t_1 = PyInt_FromLong(GL_SAMPLES); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SAMPLES, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":177
 * GL_SAMPLE_BUFFERS = c_opengl.GL_SAMPLE_BUFFERS
 * GL_SAMPLES = c_opengl.GL_SAMPLES
 * GL_SAMPLE_COVERAGE_VALUE = c_opengl.GL_SAMPLE_COVERAGE_VALUE             # <<<<<<<<<<<<<<
 * GL_SAMPLE_COVERAGE_INVERT = c_opengl.GL_SAMPLE_COVERAGE_INVERT
 * GL_NUM_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS
 */
  __pyx_t_1 = PyInt_FromLong(GL_SAMPLE_COVERAGE_VALUE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_38, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":178
 * GL_SAMPLES = c_opengl.GL_SAMPLES
 * GL_SAMPLE_COVERAGE_VALUE = c_opengl.GL_SAMPLE_COVERAGE_VALUE
 * GL_SAMPLE_COVERAGE_INVERT = c_opengl.GL_SAMPLE_COVERAGE_INVERT             # <<<<<<<<<<<<<<
 * GL_NUM_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS
 * GL_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_COMPRESSED_TEXTURE_FORMATS
 */
  __pyx_t_1 = PyInt_FromLong(GL_SAMPLE_COVERAGE_INVERT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_39, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":179
 * GL_SAMPLE_COVERAGE_VALUE = c_opengl.GL_SAMPLE_COVERAGE_VALUE
 * GL_SAMPLE_COVERAGE_INVERT = c_opengl.GL_SAMPLE_COVERAGE_INVERT
 * GL_NUM_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS             # <<<<<<<<<<<<<<
 * GL_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_COMPRESSED_TEXTURE_FORMATS
 * GL_DONT_CARE = c_opengl.GL_DONT_CARE
 */
  __pyx_t_1 = PyInt_FromLong(GL_NUM_COMPRESSED_TEXTURE_FORMATS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_40, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":180
 * GL_SAMPLE_COVERAGE_INVERT = c_opengl.GL_SAMPLE_COVERAGE_INVERT
 * GL_NUM_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS
 * GL_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_COMPRESSED_TEXTURE_FORMATS             # <<<<<<<<<<<<<<
 * GL_DONT_CARE = c_opengl.GL_DONT_CARE
 * GL_FASTEST = c_opengl.GL_FASTEST
 */
  __pyx_t_1 = PyInt_FromLong(GL_COMPRESSED_TEXTURE_FORMATS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_41, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":181
 * GL_NUM_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS
 * GL_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_COMPRESSED_TEXTURE_FORMATS
 * GL_DONT_CARE = c_opengl.GL_DONT_CARE             # <<<<<<<<<<<<<<
 * GL_FASTEST = c_opengl.GL_FASTEST
 * GL_NICEST = c_opengl.GL_NICEST
 */
  __pyx_t_1 = PyInt_FromLong(GL_DONT_CARE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DONT_CARE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":182
 * GL_COMPRESSED_TEXTURE_FORMATS = c_opengl.GL_COMPRESSED_TEXTURE_FORMATS
 * GL_DONT_CARE = c_opengl.GL_DONT_CARE
 * GL_FASTEST = c_opengl.GL_FASTEST             # <<<<<<<<<<<<<<
 * GL_NICEST = c_opengl.GL_NICEST
 * GL_GENERATE_MIPMAP_HINT = c_opengl.GL_GENERATE_MIPMAP_HINT
 */
  __pyx_t_1 = PyInt_FromLong(GL_FASTEST); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FASTEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":183
 * GL_DONT_CARE = c_opengl.GL_DONT_CARE
 * GL_FASTEST = c_opengl.GL_FASTEST
 * GL_NICEST = c_opengl.GL_NICEST             # <<<<<<<<<<<<<<
 * GL_GENERATE_MIPMAP_HINT = c_opengl.GL_GENERATE_MIPMAP_HINT
 * GL_BYTE = c_opengl.GL_BYTE
 */
  __pyx_t_1 = PyInt_FromLong(GL_NICEST); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_NICEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":184
 * GL_FASTEST = c_opengl.GL_FASTEST
 * GL_NICEST = c_opengl.GL_NICEST
 * GL_GENERATE_MIPMAP_HINT = c_opengl.GL_GENERATE_MIPMAP_HINT             # <<<<<<<<<<<<<<
 * GL_BYTE = c_opengl.GL_BYTE
 * GL_UNSIGNED_BYTE = c_opengl.GL_UNSIGNED_BYTE
 */
  __pyx_t_1 = PyInt_FromLong(GL_GENERATE_MIPMAP_HINT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_42, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":185
 * GL_NICEST = c_opengl.GL_NICEST
 * GL_GENERATE_MIPMAP_HINT = c_opengl.GL_GENERATE_MIPMAP_HINT
 * GL_BYTE = c_opengl.GL_BYTE             # <<<<<<<<<<<<<<
 * GL_UNSIGNED_BYTE = c_opengl.GL_UNSIGNED_BYTE
 * GL_SHORT = c_opengl.GL_SHORT
 */
  __pyx_t_1 = PyInt_FromLong(GL_BYTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BYTE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":186
 * GL_GENERATE_MIPMAP_HINT = c_opengl.GL_GENERATE_MIPMAP_HINT
 * GL_BYTE = c_opengl.GL_BYTE
 * GL_UNSIGNED_BYTE = c_opengl.GL_UNSIGNED_BYTE             # <<<<<<<<<<<<<<
 * GL_SHORT = c_opengl.GL_SHORT
 * GL_UNSIGNED_SHORT = c_opengl.GL_UNSIGNED_SHORT
 */
  __pyx_t_1 = PyInt_FromLong(GL_UNSIGNED_BYTE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_UNSIGNED_BYTE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":187
 * GL_BYTE = c_opengl.GL_BYTE
 * GL_UNSIGNED_BYTE = c_opengl.GL_UNSIGNED_BYTE
 * GL_SHORT = c_opengl.GL_SHORT             # <<<<<<<<<<<<<<
 * GL_UNSIGNED_SHORT = c_opengl.GL_UNSIGNED_SHORT
 * GL_INT = c_opengl.GL_INT
 */
  __pyx_t_1 = PyInt_FromLong(GL_SHORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SHORT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":188
 * GL_UNSIGNED_BYTE = c_opengl.GL_UNSIGNED_BYTE
 * GL_SHORT = c_opengl.GL_SHORT
 * GL_UNSIGNED_SHORT = c_opengl.GL_UNSIGNED_SHORT             # <<<<<<<<<<<<<<
 * GL_INT = c_opengl.GL_INT
 * GL_UNSIGNED_INT = c_opengl.GL_UNSIGNED_INT
 */
  __pyx_t_1 = PyInt_FromLong(GL_UNSIGNED_SHORT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_UNSIGNED_SHORT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":189
 * GL_SHORT = c_opengl.GL_SHORT
 * GL_UNSIGNED_SHORT = c_opengl.GL_UNSIGNED_SHORT
 * GL_INT = c_opengl.GL_INT             # <<<<<<<<<<<<<<
 * GL_UNSIGNED_INT = c_opengl.GL_UNSIGNED_INT
 * GL_FLOAT = c_opengl.GL_FLOAT
 */
  __pyx_t_1 = PyInt_FromLong(GL_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":190
 * GL_UNSIGNED_SHORT = c_opengl.GL_UNSIGNED_SHORT
 * GL_INT = c_opengl.GL_INT
 * GL_UNSIGNED_INT = c_opengl.GL_UNSIGNED_INT             # <<<<<<<<<<<<<<
 * GL_FLOAT = c_opengl.GL_FLOAT
 * GL_DEPTH_COMPONENT = c_opengl.GL_DEPTH_COMPONENT
 */
  __pyx_t_1 = PyInt_FromLong(GL_UNSIGNED_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_UNSIGNED_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":191
 * GL_INT = c_opengl.GL_INT
 * GL_UNSIGNED_INT = c_opengl.GL_UNSIGNED_INT
 * GL_FLOAT = c_opengl.GL_FLOAT             # <<<<<<<<<<<<<<
 * GL_DEPTH_COMPONENT = c_opengl.GL_DEPTH_COMPONENT
 * GL_ALPHA = c_opengl.GL_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FLOAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":192
 * GL_UNSIGNED_INT = c_opengl.GL_UNSIGNED_INT
 * GL_FLOAT = c_opengl.GL_FLOAT
 * GL_DEPTH_COMPONENT = c_opengl.GL_DEPTH_COMPONENT             # <<<<<<<<<<<<<<
 * GL_ALPHA = c_opengl.GL_ALPHA
 * GL_RGB = c_opengl.GL_RGB
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_COMPONENT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DEPTH_COMPONENT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":193
 * GL_FLOAT = c_opengl.GL_FLOAT
 * GL_DEPTH_COMPONENT = c_opengl.GL_DEPTH_COMPONENT
 * GL_ALPHA = c_opengl.GL_ALPHA             # <<<<<<<<<<<<<<
 * GL_RGB = c_opengl.GL_RGB
 * GL_RGBA = c_opengl.GL_RGBA
 */
  __pyx_t_1 = PyInt_FromLong(GL_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":194
 * GL_DEPTH_COMPONENT = c_opengl.GL_DEPTH_COMPONENT
 * GL_ALPHA = c_opengl.GL_ALPHA
 * GL_RGB = c_opengl.GL_RGB             # <<<<<<<<<<<<<<
 * GL_RGBA = c_opengl.GL_RGBA
 * GL_LUMINANCE = c_opengl.GL_LUMINANCE
 */
  __pyx_t_1 = PyInt_FromLong(GL_RGB); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_RGB, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":195
 * GL_ALPHA = c_opengl.GL_ALPHA
 * GL_RGB = c_opengl.GL_RGB
 * GL_RGBA = c_opengl.GL_RGBA             # <<<<<<<<<<<<<<
 * GL_LUMINANCE = c_opengl.GL_LUMINANCE
 * GL_LUMINANCE_ALPHA = c_opengl.GL_LUMINANCE_ALPHA
 */
  __pyx_t_1 = PyInt_FromLong(GL_RGBA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_RGBA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":196
 * GL_RGB = c_opengl.GL_RGB
 * GL_RGBA = c_opengl.GL_RGBA
 * GL_LUMINANCE = c_opengl.GL_LUMINANCE             # <<<<<<<<<<<<<<
 * GL_LUMINANCE_ALPHA = c_opengl.GL_LUMINANCE_ALPHA
 * GL_UNSIGNED_SHORT_4_4_4_4 = c_opengl.GL_UNSIGNED_SHORT_4_4_4_4
 */
  __pyx_t_1 = PyInt_FromLong(GL_LUMINANCE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LUMINANCE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":197
 * GL_RGBA = c_opengl.GL_RGBA
 * GL_LUMINANCE = c_opengl.GL_LUMINANCE
 * GL_LUMINANCE_ALPHA = c_opengl.GL_LUMINANCE_ALPHA             # <<<<<<<<<<<<<<
 * GL_UNSIGNED_SHORT_4_4_4_4 = c_opengl.GL_UNSIGNED_SHORT_4_4_4_4
 * GL_UNSIGNED_SHORT_5_5_5_1 = c_opengl.GL_UNSIGNED_SHORT_5_5_5_1
 */
  __pyx_t_1 = PyInt_FromLong(GL_LUMINANCE_ALPHA); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LUMINANCE_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":198
 * GL_LUMINANCE = c_opengl.GL_LUMINANCE
 * GL_LUMINANCE_ALPHA = c_opengl.GL_LUMINANCE_ALPHA
 * GL_UNSIGNED_SHORT_4_4_4_4 = c_opengl.GL_UNSIGNED_SHORT_4_4_4_4             # <<<<<<<<<<<<<<
 * GL_UNSIGNED_SHORT_5_5_5_1 = c_opengl.GL_UNSIGNED_SHORT_5_5_5_1
 * GL_UNSIGNED_SHORT_5_6_5 = c_opengl.GL_UNSIGNED_SHORT_5_6_5
 */
  __pyx_t_1 = PyInt_FromLong(GL_UNSIGNED_SHORT_4_4_4_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_43, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":199
 * GL_LUMINANCE_ALPHA = c_opengl.GL_LUMINANCE_ALPHA
 * GL_UNSIGNED_SHORT_4_4_4_4 = c_opengl.GL_UNSIGNED_SHORT_4_4_4_4
 * GL_UNSIGNED_SHORT_5_5_5_1 = c_opengl.GL_UNSIGNED_SHORT_5_5_5_1             # <<<<<<<<<<<<<<
 * GL_UNSIGNED_SHORT_5_6_5 = c_opengl.GL_UNSIGNED_SHORT_5_6_5
 * GL_FRAGMENT_SHADER = c_opengl.GL_FRAGMENT_SHADER
 */
  __pyx_t_1 = PyInt_FromLong(GL_UNSIGNED_SHORT_5_5_5_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_44, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":200
 * GL_UNSIGNED_SHORT_4_4_4_4 = c_opengl.GL_UNSIGNED_SHORT_4_4_4_4
 * GL_UNSIGNED_SHORT_5_5_5_1 = c_opengl.GL_UNSIGNED_SHORT_5_5_5_1
 * GL_UNSIGNED_SHORT_5_6_5 = c_opengl.GL_UNSIGNED_SHORT_5_6_5             # <<<<<<<<<<<<<<
 * GL_FRAGMENT_SHADER = c_opengl.GL_FRAGMENT_SHADER
 * GL_VERTEX_SHADER = c_opengl.GL_VERTEX_SHADER
 */
  __pyx_t_1 = PyInt_FromLong(GL_UNSIGNED_SHORT_5_6_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_45, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":201
 * GL_UNSIGNED_SHORT_5_5_5_1 = c_opengl.GL_UNSIGNED_SHORT_5_5_5_1
 * GL_UNSIGNED_SHORT_5_6_5 = c_opengl.GL_UNSIGNED_SHORT_5_6_5
 * GL_FRAGMENT_SHADER = c_opengl.GL_FRAGMENT_SHADER             # <<<<<<<<<<<<<<
 * GL_VERTEX_SHADER = c_opengl.GL_VERTEX_SHADER
 * GL_MAX_VERTEX_ATTRIBS = c_opengl.GL_MAX_VERTEX_ATTRIBS
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAGMENT_SHADER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FRAGMENT_SHADER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":202
 * GL_UNSIGNED_SHORT_5_6_5 = c_opengl.GL_UNSIGNED_SHORT_5_6_5
 * GL_FRAGMENT_SHADER = c_opengl.GL_FRAGMENT_SHADER
 * GL_VERTEX_SHADER = c_opengl.GL_VERTEX_SHADER             # <<<<<<<<<<<<<<
 * GL_MAX_VERTEX_ATTRIBS = c_opengl.GL_MAX_VERTEX_ATTRIBS
 * GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_VERTEX_SHADER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_VERTEX_SHADER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":203
 * GL_FRAGMENT_SHADER = c_opengl.GL_FRAGMENT_SHADER
 * GL_VERTEX_SHADER = c_opengl.GL_VERTEX_SHADER
 * GL_MAX_VERTEX_ATTRIBS = c_opengl.GL_MAX_VERTEX_ATTRIBS             # <<<<<<<<<<<<<<
 * GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
 * GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_VERTEX_ATTRIBS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_46, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":204
 * GL_VERTEX_SHADER = c_opengl.GL_VERTEX_SHADER
 * GL_MAX_VERTEX_ATTRIBS = c_opengl.GL_MAX_VERTEX_ATTRIBS
 * GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS             # <<<<<<<<<<<<<<
 * GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
 * GL_MAX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_TEXTURE_IMAGE_UNITS
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_47, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":205
 * GL_MAX_VERTEX_ATTRIBS = c_opengl.GL_MAX_VERTEX_ATTRIBS
 * GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
 * GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS             # <<<<<<<<<<<<<<
 * GL_MAX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_TEXTURE_IMAGE_UNITS
 * GL_SHADER_TYPE = c_opengl.GL_SHADER_TYPE
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_48, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":206
 * GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
 * GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
 * GL_MAX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_TEXTURE_IMAGE_UNITS             # <<<<<<<<<<<<<<
 * GL_SHADER_TYPE = c_opengl.GL_SHADER_TYPE
 * GL_DELETE_STATUS = c_opengl.GL_DELETE_STATUS
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_TEXTURE_IMAGE_UNITS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_49, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":207
 * GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS
 * GL_MAX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_TEXTURE_IMAGE_UNITS
 * GL_SHADER_TYPE = c_opengl.GL_SHADER_TYPE             # <<<<<<<<<<<<<<
 * GL_DELETE_STATUS = c_opengl.GL_DELETE_STATUS
 * GL_LINK_STATUS = c_opengl.GL_LINK_STATUS
 */
  __pyx_t_1 = PyInt_FromLong(GL_SHADER_TYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SHADER_TYPE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":208
 * GL_MAX_TEXTURE_IMAGE_UNITS = c_opengl.GL_MAX_TEXTURE_IMAGE_UNITS
 * GL_SHADER_TYPE = c_opengl.GL_SHADER_TYPE
 * GL_DELETE_STATUS = c_opengl.GL_DELETE_STATUS             # <<<<<<<<<<<<<<
 * GL_LINK_STATUS = c_opengl.GL_LINK_STATUS
 * GL_VALIDATE_STATUS = c_opengl.GL_VALIDATE_STATUS
 */
  __pyx_t_1 = PyInt_FromLong(GL_DELETE_STATUS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DELETE_STATUS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":209
 * GL_SHADER_TYPE = c_opengl.GL_SHADER_TYPE
 * GL_DELETE_STATUS = c_opengl.GL_DELETE_STATUS
 * GL_LINK_STATUS = c_opengl.GL_LINK_STATUS             # <<<<<<<<<<<<<<
 * GL_VALIDATE_STATUS = c_opengl.GL_VALIDATE_STATUS
 * GL_ATTACHED_SHADERS = c_opengl.GL_ATTACHED_SHADERS
 */
  __pyx_t_1 = PyInt_FromLong(GL_LINK_STATUS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LINK_STATUS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":210
 * GL_DELETE_STATUS = c_opengl.GL_DELETE_STATUS
 * GL_LINK_STATUS = c_opengl.GL_LINK_STATUS
 * GL_VALIDATE_STATUS = c_opengl.GL_VALIDATE_STATUS             # <<<<<<<<<<<<<<
 * GL_ATTACHED_SHADERS = c_opengl.GL_ATTACHED_SHADERS
 * GL_ACTIVE_UNIFORMS = c_opengl.GL_ACTIVE_UNIFORMS
 */
  __pyx_t_1 = PyInt_FromLong(GL_VALIDATE_STATUS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_VALIDATE_STATUS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":211
 * GL_LINK_STATUS = c_opengl.GL_LINK_STATUS
 * GL_VALIDATE_STATUS = c_opengl.GL_VALIDATE_STATUS
 * GL_ATTACHED_SHADERS = c_opengl.GL_ATTACHED_SHADERS             # <<<<<<<<<<<<<<
 * GL_ACTIVE_UNIFORMS = c_opengl.GL_ACTIVE_UNIFORMS
 * GL_ACTIVE_UNIFORM_MAX_LENGTH = c_opengl.GL_ACTIVE_UNIFORM_MAX_LENGTH
 */
  __pyx_t_1 = PyInt_FromLong(GL_ATTACHED_SHADERS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_ATTACHED_SHADERS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":212
 * GL_VALIDATE_STATUS = c_opengl.GL_VALIDATE_STATUS
 * GL_ATTACHED_SHADERS = c_opengl.GL_ATTACHED_SHADERS
 * GL_ACTIVE_UNIFORMS = c_opengl.GL_ACTIVE_UNIFORMS             # <<<<<<<<<<<<<<
 * GL_ACTIVE_UNIFORM_MAX_LENGTH = c_opengl.GL_ACTIVE_UNIFORM_MAX_LENGTH
 * GL_ACTIVE_ATTRIBUTES = c_opengl.GL_ACTIVE_ATTRIBUTES
 */
  __pyx_t_1 = PyInt_FromLong(GL_ACTIVE_UNIFORMS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_ACTIVE_UNIFORMS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":213
 * GL_ATTACHED_SHADERS = c_opengl.GL_ATTACHED_SHADERS
 * GL_ACTIVE_UNIFORMS = c_opengl.GL_ACTIVE_UNIFORMS
 * GL_ACTIVE_UNIFORM_MAX_LENGTH = c_opengl.GL_ACTIVE_UNIFORM_MAX_LENGTH             # <<<<<<<<<<<<<<
 * GL_ACTIVE_ATTRIBUTES = c_opengl.GL_ACTIVE_ATTRIBUTES
 * GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = c_opengl.GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
 */
  __pyx_t_1 = PyInt_FromLong(GL_ACTIVE_UNIFORM_MAX_LENGTH); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_50, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":214
 * GL_ACTIVE_UNIFORMS = c_opengl.GL_ACTIVE_UNIFORMS
 * GL_ACTIVE_UNIFORM_MAX_LENGTH = c_opengl.GL_ACTIVE_UNIFORM_MAX_LENGTH
 * GL_ACTIVE_ATTRIBUTES = c_opengl.GL_ACTIVE_ATTRIBUTES             # <<<<<<<<<<<<<<
 * GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = c_opengl.GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
 * GL_SHADING_LANGUAGE_VERSION = c_opengl.GL_SHADING_LANGUAGE_VERSION
 */
  __pyx_t_1 = PyInt_FromLong(GL_ACTIVE_ATTRIBUTES); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_51, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":215
 * GL_ACTIVE_UNIFORM_MAX_LENGTH = c_opengl.GL_ACTIVE_UNIFORM_MAX_LENGTH
 * GL_ACTIVE_ATTRIBUTES = c_opengl.GL_ACTIVE_ATTRIBUTES
 * GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = c_opengl.GL_ACTIVE_ATTRIBUTE_MAX_LENGTH             # <<<<<<<<<<<<<<
 * GL_SHADING_LANGUAGE_VERSION = c_opengl.GL_SHADING_LANGUAGE_VERSION
 * GL_CURRENT_PROGRAM = c_opengl.GL_CURRENT_PROGRAM
 */
  __pyx_t_1 = PyInt_FromLong(GL_ACTIVE_ATTRIBUTE_MAX_LENGTH); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_52, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":216
 * GL_ACTIVE_ATTRIBUTES = c_opengl.GL_ACTIVE_ATTRIBUTES
 * GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = c_opengl.GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
 * GL_SHADING_LANGUAGE_VERSION = c_opengl.GL_SHADING_LANGUAGE_VERSION             # <<<<<<<<<<<<<<
 * GL_CURRENT_PROGRAM = c_opengl.GL_CURRENT_PROGRAM
 * GL_NEVER = c_opengl.GL_NEVER
 */
  __pyx_t_1 = PyInt_FromLong(GL_SHADING_LANGUAGE_VERSION); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_53, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":217
 * GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = c_opengl.GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
 * GL_SHADING_LANGUAGE_VERSION = c_opengl.GL_SHADING_LANGUAGE_VERSION
 * GL_CURRENT_PROGRAM = c_opengl.GL_CURRENT_PROGRAM             # <<<<<<<<<<<<<<
 * GL_NEVER = c_opengl.GL_NEVER
 * GL_LESS = c_opengl.GL_LESS
 */
  __pyx_t_1 = PyInt_FromLong(GL_CURRENT_PROGRAM); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_CURRENT_PROGRAM, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":218
 * GL_SHADING_LANGUAGE_VERSION = c_opengl.GL_SHADING_LANGUAGE_VERSION
 * GL_CURRENT_PROGRAM = c_opengl.GL_CURRENT_PROGRAM
 * GL_NEVER = c_opengl.GL_NEVER             # <<<<<<<<<<<<<<
 * GL_LESS = c_opengl.GL_LESS
 * GL_EQUAL = c_opengl.GL_EQUAL
 */
  __pyx_t_1 = PyInt_FromLong(GL_NEVER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_NEVER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":219
 * GL_CURRENT_PROGRAM = c_opengl.GL_CURRENT_PROGRAM
 * GL_NEVER = c_opengl.GL_NEVER
 * GL_LESS = c_opengl.GL_LESS             # <<<<<<<<<<<<<<
 * GL_EQUAL = c_opengl.GL_EQUAL
 * GL_LEQUAL = c_opengl.GL_LEQUAL
 */
  __pyx_t_1 = PyInt_FromLong(GL_LESS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LESS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":220
 * GL_NEVER = c_opengl.GL_NEVER
 * GL_LESS = c_opengl.GL_LESS
 * GL_EQUAL = c_opengl.GL_EQUAL             # <<<<<<<<<<<<<<
 * GL_LEQUAL = c_opengl.GL_LEQUAL
 * GL_GREATER = c_opengl.GL_GREATER
 */
  __pyx_t_1 = PyInt_FromLong(GL_EQUAL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_EQUAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":221
 * GL_LESS = c_opengl.GL_LESS
 * GL_EQUAL = c_opengl.GL_EQUAL
 * GL_LEQUAL = c_opengl.GL_LEQUAL             # <<<<<<<<<<<<<<
 * GL_GREATER = c_opengl.GL_GREATER
 * GL_NOTEQUAL = c_opengl.GL_NOTEQUAL
 */
  __pyx_t_1 = PyInt_FromLong(GL_LEQUAL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LEQUAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":222
 * GL_EQUAL = c_opengl.GL_EQUAL
 * GL_LEQUAL = c_opengl.GL_LEQUAL
 * GL_GREATER = c_opengl.GL_GREATER             # <<<<<<<<<<<<<<
 * GL_NOTEQUAL = c_opengl.GL_NOTEQUAL
 * GL_GEQUAL = c_opengl.GL_GEQUAL
 */
  __pyx_t_1 = PyInt_FromLong(GL_GREATER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_GREATER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":223
 * GL_LEQUAL = c_opengl.GL_LEQUAL
 * GL_GREATER = c_opengl.GL_GREATER
 * GL_NOTEQUAL = c_opengl.GL_NOTEQUAL             # <<<<<<<<<<<<<<
 * GL_GEQUAL = c_opengl.GL_GEQUAL
 * GL_ALWAYS = c_opengl.GL_ALWAYS
 */
  __pyx_t_1 = PyInt_FromLong(GL_NOTEQUAL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_NOTEQUAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":224
 * GL_GREATER = c_opengl.GL_GREATER
 * GL_NOTEQUAL = c_opengl.GL_NOTEQUAL
 * GL_GEQUAL = c_opengl.GL_GEQUAL             # <<<<<<<<<<<<<<
 * GL_ALWAYS = c_opengl.GL_ALWAYS
 * GL_KEEP = c_opengl.GL_KEEP
 */
  __pyx_t_1 = PyInt_FromLong(GL_GEQUAL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_GEQUAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":225
 * GL_NOTEQUAL = c_opengl.GL_NOTEQUAL
 * GL_GEQUAL = c_opengl.GL_GEQUAL
 * GL_ALWAYS = c_opengl.GL_ALWAYS             # <<<<<<<<<<<<<<
 * GL_KEEP = c_opengl.GL_KEEP
 * GL_REPLACE = c_opengl.GL_REPLACE
 */
  __pyx_t_1 = PyInt_FromLong(GL_ALWAYS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_ALWAYS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":226
 * GL_GEQUAL = c_opengl.GL_GEQUAL
 * GL_ALWAYS = c_opengl.GL_ALWAYS
 * GL_KEEP = c_opengl.GL_KEEP             # <<<<<<<<<<<<<<
 * GL_REPLACE = c_opengl.GL_REPLACE
 * GL_INCR = c_opengl.GL_INCR
 */
  __pyx_t_1 = PyInt_FromLong(GL_KEEP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_KEEP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":227
 * GL_ALWAYS = c_opengl.GL_ALWAYS
 * GL_KEEP = c_opengl.GL_KEEP
 * GL_REPLACE = c_opengl.GL_REPLACE             # <<<<<<<<<<<<<<
 * GL_INCR = c_opengl.GL_INCR
 * GL_DECR = c_opengl.GL_DECR
 */
  __pyx_t_1 = PyInt_FromLong(GL_REPLACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_REPLACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":228
 * GL_KEEP = c_opengl.GL_KEEP
 * GL_REPLACE = c_opengl.GL_REPLACE
 * GL_INCR = c_opengl.GL_INCR             # <<<<<<<<<<<<<<
 * GL_DECR = c_opengl.GL_DECR
 * GL_INVERT = c_opengl.GL_INVERT
 */
  __pyx_t_1 = PyInt_FromLong(GL_INCR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INCR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":229
 * GL_REPLACE = c_opengl.GL_REPLACE
 * GL_INCR = c_opengl.GL_INCR
 * GL_DECR = c_opengl.GL_DECR             # <<<<<<<<<<<<<<
 * GL_INVERT = c_opengl.GL_INVERT
 * GL_INCR_WRAP = c_opengl.GL_INCR_WRAP
 */
  __pyx_t_1 = PyInt_FromLong(GL_DECR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DECR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":230
 * GL_INCR = c_opengl.GL_INCR
 * GL_DECR = c_opengl.GL_DECR
 * GL_INVERT = c_opengl.GL_INVERT             # <<<<<<<<<<<<<<
 * GL_INCR_WRAP = c_opengl.GL_INCR_WRAP
 * GL_DECR_WRAP = c_opengl.GL_DECR_WRAP
 */
  __pyx_t_1 = PyInt_FromLong(GL_INVERT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INVERT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":231
 * GL_DECR = c_opengl.GL_DECR
 * GL_INVERT = c_opengl.GL_INVERT
 * GL_INCR_WRAP = c_opengl.GL_INCR_WRAP             # <<<<<<<<<<<<<<
 * GL_DECR_WRAP = c_opengl.GL_DECR_WRAP
 * GL_VENDOR = c_opengl.GL_VENDOR
 */
  __pyx_t_1 = PyInt_FromLong(GL_INCR_WRAP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INCR_WRAP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":232
 * GL_INVERT = c_opengl.GL_INVERT
 * GL_INCR_WRAP = c_opengl.GL_INCR_WRAP
 * GL_DECR_WRAP = c_opengl.GL_DECR_WRAP             # <<<<<<<<<<<<<<
 * GL_VENDOR = c_opengl.GL_VENDOR
 * GL_RENDERER = c_opengl.GL_RENDERER
 */
  __pyx_t_1 = PyInt_FromLong(GL_DECR_WRAP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DECR_WRAP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":233
 * GL_INCR_WRAP = c_opengl.GL_INCR_WRAP
 * GL_DECR_WRAP = c_opengl.GL_DECR_WRAP
 * GL_VENDOR = c_opengl.GL_VENDOR             # <<<<<<<<<<<<<<
 * GL_RENDERER = c_opengl.GL_RENDERER
 * GL_VERSION = c_opengl.GL_VERSION
 */
  __pyx_t_1 = PyInt_FromLong(GL_VENDOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_VENDOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":234
 * GL_DECR_WRAP = c_opengl.GL_DECR_WRAP
 * GL_VENDOR = c_opengl.GL_VENDOR
 * GL_RENDERER = c_opengl.GL_RENDERER             # <<<<<<<<<<<<<<
 * GL_VERSION = c_opengl.GL_VERSION
 * GL_EXTENSIONS = c_opengl.GL_EXTENSIONS
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_RENDERER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":235
 * GL_VENDOR = c_opengl.GL_VENDOR
 * GL_RENDERER = c_opengl.GL_RENDERER
 * GL_VERSION = c_opengl.GL_VERSION             # <<<<<<<<<<<<<<
 * GL_EXTENSIONS = c_opengl.GL_EXTENSIONS
 * GL_NEAREST = c_opengl.GL_NEAREST
 */
  __pyx_t_1 = PyInt_FromLong(GL_VERSION); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_VERSION, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":236
 * GL_RENDERER = c_opengl.GL_RENDERER
 * GL_VERSION = c_opengl.GL_VERSION
 * GL_EXTENSIONS = c_opengl.GL_EXTENSIONS             # <<<<<<<<<<<<<<
 * GL_NEAREST = c_opengl.GL_NEAREST
 * GL_LINEAR = c_opengl.GL_LINEAR
 */
  __pyx_t_1 = PyInt_FromLong(GL_EXTENSIONS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_EXTENSIONS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":237
 * GL_VERSION = c_opengl.GL_VERSION
 * GL_EXTENSIONS = c_opengl.GL_EXTENSIONS
 * GL_NEAREST = c_opengl.GL_NEAREST             # <<<<<<<<<<<<<<
 * GL_LINEAR = c_opengl.GL_LINEAR
 * GL_NEAREST_MIPMAP_NEAREST = c_opengl.GL_NEAREST_MIPMAP_NEAREST
 */
  __pyx_t_1 = PyInt_FromLong(GL_NEAREST); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_NEAREST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":238
 * GL_EXTENSIONS = c_opengl.GL_EXTENSIONS
 * GL_NEAREST = c_opengl.GL_NEAREST
 * GL_LINEAR = c_opengl.GL_LINEAR             # <<<<<<<<<<<<<<
 * GL_NEAREST_MIPMAP_NEAREST = c_opengl.GL_NEAREST_MIPMAP_NEAREST
 * GL_LINEAR_MIPMAP_NEAREST = c_opengl.GL_LINEAR_MIPMAP_NEAREST
 */
  __pyx_t_1 = PyInt_FromLong(GL_LINEAR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LINEAR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":239
 * GL_NEAREST = c_opengl.GL_NEAREST
 * GL_LINEAR = c_opengl.GL_LINEAR
 * GL_NEAREST_MIPMAP_NEAREST = c_opengl.GL_NEAREST_MIPMAP_NEAREST             # <<<<<<<<<<<<<<
 * GL_LINEAR_MIPMAP_NEAREST = c_opengl.GL_LINEAR_MIPMAP_NEAREST
 * GL_NEAREST_MIPMAP_LINEAR = c_opengl.GL_NEAREST_MIPMAP_LINEAR
 */
  __pyx_t_1 = PyInt_FromLong(GL_NEAREST_MIPMAP_NEAREST); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_54, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":240
 * GL_LINEAR = c_opengl.GL_LINEAR
 * GL_NEAREST_MIPMAP_NEAREST = c_opengl.GL_NEAREST_MIPMAP_NEAREST
 * GL_LINEAR_MIPMAP_NEAREST = c_opengl.GL_LINEAR_MIPMAP_NEAREST             # <<<<<<<<<<<<<<
 * GL_NEAREST_MIPMAP_LINEAR = c_opengl.GL_NEAREST_MIPMAP_LINEAR
 * GL_LINEAR_MIPMAP_LINEAR = c_opengl.GL_LINEAR_MIPMAP_LINEAR
 */
  __pyx_t_1 = PyInt_FromLong(GL_LINEAR_MIPMAP_NEAREST); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_55, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":241
 * GL_NEAREST_MIPMAP_NEAREST = c_opengl.GL_NEAREST_MIPMAP_NEAREST
 * GL_LINEAR_MIPMAP_NEAREST = c_opengl.GL_LINEAR_MIPMAP_NEAREST
 * GL_NEAREST_MIPMAP_LINEAR = c_opengl.GL_NEAREST_MIPMAP_LINEAR             # <<<<<<<<<<<<<<
 * GL_LINEAR_MIPMAP_LINEAR = c_opengl.GL_LINEAR_MIPMAP_LINEAR
 * GL_TEXTURE_MAG_FILTER = c_opengl.GL_TEXTURE_MAG_FILTER
 */
  __pyx_t_1 = PyInt_FromLong(GL_NEAREST_MIPMAP_LINEAR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_56, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":242
 * GL_LINEAR_MIPMAP_NEAREST = c_opengl.GL_LINEAR_MIPMAP_NEAREST
 * GL_NEAREST_MIPMAP_LINEAR = c_opengl.GL_NEAREST_MIPMAP_LINEAR
 * GL_LINEAR_MIPMAP_LINEAR = c_opengl.GL_LINEAR_MIPMAP_LINEAR             # <<<<<<<<<<<<<<
 * GL_TEXTURE_MAG_FILTER = c_opengl.GL_TEXTURE_MAG_FILTER
 * GL_TEXTURE_MIN_FILTER = c_opengl.GL_TEXTURE_MIN_FILTER
 */
  __pyx_t_1 = PyInt_FromLong(GL_LINEAR_MIPMAP_LINEAR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_57, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":243
 * GL_NEAREST_MIPMAP_LINEAR = c_opengl.GL_NEAREST_MIPMAP_LINEAR
 * GL_LINEAR_MIPMAP_LINEAR = c_opengl.GL_LINEAR_MIPMAP_LINEAR
 * GL_TEXTURE_MAG_FILTER = c_opengl.GL_TEXTURE_MAG_FILTER             # <<<<<<<<<<<<<<
 * GL_TEXTURE_MIN_FILTER = c_opengl.GL_TEXTURE_MIN_FILTER
 * GL_TEXTURE_WRAP_S = c_opengl.GL_TEXTURE_WRAP_S
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_MAG_FILTER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_58, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":244
 * GL_LINEAR_MIPMAP_LINEAR = c_opengl.GL_LINEAR_MIPMAP_LINEAR
 * GL_TEXTURE_MAG_FILTER = c_opengl.GL_TEXTURE_MAG_FILTER
 * GL_TEXTURE_MIN_FILTER = c_opengl.GL_TEXTURE_MIN_FILTER             # <<<<<<<<<<<<<<
 * GL_TEXTURE_WRAP_S = c_opengl.GL_TEXTURE_WRAP_S
 * GL_TEXTURE_WRAP_T = c_opengl.GL_TEXTURE_WRAP_T
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_MIN_FILTER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_59, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":245
 * GL_TEXTURE_MAG_FILTER = c_opengl.GL_TEXTURE_MAG_FILTER
 * GL_TEXTURE_MIN_FILTER = c_opengl.GL_TEXTURE_MIN_FILTER
 * GL_TEXTURE_WRAP_S = c_opengl.GL_TEXTURE_WRAP_S             # <<<<<<<<<<<<<<
 * GL_TEXTURE_WRAP_T = c_opengl.GL_TEXTURE_WRAP_T
 * GL_TEXTURE = c_opengl.GL_TEXTURE
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_WRAP_S); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE_WRAP_S, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":246
 * GL_TEXTURE_MIN_FILTER = c_opengl.GL_TEXTURE_MIN_FILTER
 * GL_TEXTURE_WRAP_S = c_opengl.GL_TEXTURE_WRAP_S
 * GL_TEXTURE_WRAP_T = c_opengl.GL_TEXTURE_WRAP_T             # <<<<<<<<<<<<<<
 * GL_TEXTURE = c_opengl.GL_TEXTURE
 * GL_TEXTURE_CUBE_MAP = c_opengl.GL_TEXTURE_CUBE_MAP
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_WRAP_T); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE_WRAP_T, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":247
 * GL_TEXTURE_WRAP_S = c_opengl.GL_TEXTURE_WRAP_S
 * GL_TEXTURE_WRAP_T = c_opengl.GL_TEXTURE_WRAP_T
 * GL_TEXTURE = c_opengl.GL_TEXTURE             # <<<<<<<<<<<<<<
 * GL_TEXTURE_CUBE_MAP = c_opengl.GL_TEXTURE_CUBE_MAP
 * GL_TEXTURE_BINDING_CUBE_MAP = c_opengl.GL_TEXTURE_BINDING_CUBE_MAP
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":248
 * GL_TEXTURE_WRAP_T = c_opengl.GL_TEXTURE_WRAP_T
 * GL_TEXTURE = c_opengl.GL_TEXTURE
 * GL_TEXTURE_CUBE_MAP = c_opengl.GL_TEXTURE_CUBE_MAP             # <<<<<<<<<<<<<<
 * GL_TEXTURE_BINDING_CUBE_MAP = c_opengl.GL_TEXTURE_BINDING_CUBE_MAP
 * GL_TEXTURE_CUBE_MAP_POSITIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_X
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_CUBE_MAP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE_CUBE_MAP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":249
 * GL_TEXTURE = c_opengl.GL_TEXTURE
 * GL_TEXTURE_CUBE_MAP = c_opengl.GL_TEXTURE_CUBE_MAP
 * GL_TEXTURE_BINDING_CUBE_MAP = c_opengl.GL_TEXTURE_BINDING_CUBE_MAP             # <<<<<<<<<<<<<<
 * GL_TEXTURE_CUBE_MAP_POSITIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_X
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_X
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_BINDING_CUBE_MAP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_60, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":250
 * GL_TEXTURE_CUBE_MAP = c_opengl.GL_TEXTURE_CUBE_MAP
 * GL_TEXTURE_BINDING_CUBE_MAP = c_opengl.GL_TEXTURE_BINDING_CUBE_MAP
 * GL_TEXTURE_CUBE_MAP_POSITIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_X             # <<<<<<<<<<<<<<
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_X
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Y
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_CUBE_MAP_POSITIVE_X); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_61, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":251
 * GL_TEXTURE_BINDING_CUBE_MAP = c_opengl.GL_TEXTURE_BINDING_CUBE_MAP
 * GL_TEXTURE_CUBE_MAP_POSITIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_X
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_X             # <<<<<<<<<<<<<<
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Y
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_CUBE_MAP_NEGATIVE_X); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_62, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":252
 * GL_TEXTURE_CUBE_MAP_POSITIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_X
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_X
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Y             # <<<<<<<<<<<<<<
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Z
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_CUBE_MAP_POSITIVE_Y); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_63, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":253
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_X = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_X
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Y
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y             # <<<<<<<<<<<<<<
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Z
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_64, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":254
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Y
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Z             # <<<<<<<<<<<<<<
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
 * GL_MAX_CUBE_MAP_TEXTURE_SIZE = c_opengl.GL_MAX_CUBE_MAP_TEXTURE_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_CUBE_MAP_POSITIVE_Z); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_65, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":255
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Z
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z             # <<<<<<<<<<<<<<
 * GL_MAX_CUBE_MAP_TEXTURE_SIZE = c_opengl.GL_MAX_CUBE_MAP_TEXTURE_SIZE
 * GL_TEXTURE0 = c_opengl.GL_TEXTURE0
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_66, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":256
 * GL_TEXTURE_CUBE_MAP_POSITIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_POSITIVE_Z
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
 * GL_MAX_CUBE_MAP_TEXTURE_SIZE = c_opengl.GL_MAX_CUBE_MAP_TEXTURE_SIZE             # <<<<<<<<<<<<<<
 * GL_TEXTURE0 = c_opengl.GL_TEXTURE0
 * GL_TEXTURE1 = c_opengl.GL_TEXTURE1
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_CUBE_MAP_TEXTURE_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_67, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":257
 * GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = c_opengl.GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
 * GL_MAX_CUBE_MAP_TEXTURE_SIZE = c_opengl.GL_MAX_CUBE_MAP_TEXTURE_SIZE
 * GL_TEXTURE0 = c_opengl.GL_TEXTURE0             # <<<<<<<<<<<<<<
 * GL_TEXTURE1 = c_opengl.GL_TEXTURE1
 * GL_TEXTURE2 = c_opengl.GL_TEXTURE2
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":258
 * GL_MAX_CUBE_MAP_TEXTURE_SIZE = c_opengl.GL_MAX_CUBE_MAP_TEXTURE_SIZE
 * GL_TEXTURE0 = c_opengl.GL_TEXTURE0
 * GL_TEXTURE1 = c_opengl.GL_TEXTURE1             # <<<<<<<<<<<<<<
 * GL_TEXTURE2 = c_opengl.GL_TEXTURE2
 * GL_TEXTURE3 = c_opengl.GL_TEXTURE3
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE1, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":259
 * GL_TEXTURE0 = c_opengl.GL_TEXTURE0
 * GL_TEXTURE1 = c_opengl.GL_TEXTURE1
 * GL_TEXTURE2 = c_opengl.GL_TEXTURE2             # <<<<<<<<<<<<<<
 * GL_TEXTURE3 = c_opengl.GL_TEXTURE3
 * GL_TEXTURE4 = c_opengl.GL_TEXTURE4
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":260
 * GL_TEXTURE1 = c_opengl.GL_TEXTURE1
 * GL_TEXTURE2 = c_opengl.GL_TEXTURE2
 * GL_TEXTURE3 = c_opengl.GL_TEXTURE3             # <<<<<<<<<<<<<<
 * GL_TEXTURE4 = c_opengl.GL_TEXTURE4
 * GL_TEXTURE5 = c_opengl.GL_TEXTURE5
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":261
 * GL_TEXTURE2 = c_opengl.GL_TEXTURE2
 * GL_TEXTURE3 = c_opengl.GL_TEXTURE3
 * GL_TEXTURE4 = c_opengl.GL_TEXTURE4             # <<<<<<<<<<<<<<
 * GL_TEXTURE5 = c_opengl.GL_TEXTURE5
 * GL_TEXTURE6 = c_opengl.GL_TEXTURE6
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":262
 * GL_TEXTURE3 = c_opengl.GL_TEXTURE3
 * GL_TEXTURE4 = c_opengl.GL_TEXTURE4
 * GL_TEXTURE5 = c_opengl.GL_TEXTURE5             # <<<<<<<<<<<<<<
 * GL_TEXTURE6 = c_opengl.GL_TEXTURE6
 * GL_TEXTURE7 = c_opengl.GL_TEXTURE7
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE5, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":263
 * GL_TEXTURE4 = c_opengl.GL_TEXTURE4
 * GL_TEXTURE5 = c_opengl.GL_TEXTURE5
 * GL_TEXTURE6 = c_opengl.GL_TEXTURE6             # <<<<<<<<<<<<<<
 * GL_TEXTURE7 = c_opengl.GL_TEXTURE7
 * GL_TEXTURE8 = c_opengl.GL_TEXTURE8
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE6, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":264
 * GL_TEXTURE5 = c_opengl.GL_TEXTURE5
 * GL_TEXTURE6 = c_opengl.GL_TEXTURE6
 * GL_TEXTURE7 = c_opengl.GL_TEXTURE7             # <<<<<<<<<<<<<<
 * GL_TEXTURE8 = c_opengl.GL_TEXTURE8
 * GL_TEXTURE9 = c_opengl.GL_TEXTURE9
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE7, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":265
 * GL_TEXTURE6 = c_opengl.GL_TEXTURE6
 * GL_TEXTURE7 = c_opengl.GL_TEXTURE7
 * GL_TEXTURE8 = c_opengl.GL_TEXTURE8             # <<<<<<<<<<<<<<
 * GL_TEXTURE9 = c_opengl.GL_TEXTURE9
 * GL_TEXTURE10 = c_opengl.GL_TEXTURE10
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE8, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":266
 * GL_TEXTURE7 = c_opengl.GL_TEXTURE7
 * GL_TEXTURE8 = c_opengl.GL_TEXTURE8
 * GL_TEXTURE9 = c_opengl.GL_TEXTURE9             # <<<<<<<<<<<<<<
 * GL_TEXTURE10 = c_opengl.GL_TEXTURE10
 * GL_TEXTURE11 = c_opengl.GL_TEXTURE11
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE9, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":267
 * GL_TEXTURE8 = c_opengl.GL_TEXTURE8
 * GL_TEXTURE9 = c_opengl.GL_TEXTURE9
 * GL_TEXTURE10 = c_opengl.GL_TEXTURE10             # <<<<<<<<<<<<<<
 * GL_TEXTURE11 = c_opengl.GL_TEXTURE11
 * GL_TEXTURE12 = c_opengl.GL_TEXTURE12
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE10); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE10, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":268
 * GL_TEXTURE9 = c_opengl.GL_TEXTURE9
 * GL_TEXTURE10 = c_opengl.GL_TEXTURE10
 * GL_TEXTURE11 = c_opengl.GL_TEXTURE11             # <<<<<<<<<<<<<<
 * GL_TEXTURE12 = c_opengl.GL_TEXTURE12
 * GL_TEXTURE13 = c_opengl.GL_TEXTURE13
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE11); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE11, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":269
 * GL_TEXTURE10 = c_opengl.GL_TEXTURE10
 * GL_TEXTURE11 = c_opengl.GL_TEXTURE11
 * GL_TEXTURE12 = c_opengl.GL_TEXTURE12             # <<<<<<<<<<<<<<
 * GL_TEXTURE13 = c_opengl.GL_TEXTURE13
 * GL_TEXTURE14 = c_opengl.GL_TEXTURE14
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE12); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE12, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":270
 * GL_TEXTURE11 = c_opengl.GL_TEXTURE11
 * GL_TEXTURE12 = c_opengl.GL_TEXTURE12
 * GL_TEXTURE13 = c_opengl.GL_TEXTURE13             # <<<<<<<<<<<<<<
 * GL_TEXTURE14 = c_opengl.GL_TEXTURE14
 * GL_TEXTURE15 = c_opengl.GL_TEXTURE15
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE13); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE13, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":271
 * GL_TEXTURE12 = c_opengl.GL_TEXTURE12
 * GL_TEXTURE13 = c_opengl.GL_TEXTURE13
 * GL_TEXTURE14 = c_opengl.GL_TEXTURE14             # <<<<<<<<<<<<<<
 * GL_TEXTURE15 = c_opengl.GL_TEXTURE15
 * GL_TEXTURE16 = c_opengl.GL_TEXTURE16
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE14); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE14, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":272
 * GL_TEXTURE13 = c_opengl.GL_TEXTURE13
 * GL_TEXTURE14 = c_opengl.GL_TEXTURE14
 * GL_TEXTURE15 = c_opengl.GL_TEXTURE15             # <<<<<<<<<<<<<<
 * GL_TEXTURE16 = c_opengl.GL_TEXTURE16
 * GL_TEXTURE17 = c_opengl.GL_TEXTURE17
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE15); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE15, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":273
 * GL_TEXTURE14 = c_opengl.GL_TEXTURE14
 * GL_TEXTURE15 = c_opengl.GL_TEXTURE15
 * GL_TEXTURE16 = c_opengl.GL_TEXTURE16             # <<<<<<<<<<<<<<
 * GL_TEXTURE17 = c_opengl.GL_TEXTURE17
 * GL_TEXTURE18 = c_opengl.GL_TEXTURE18
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE16, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":274
 * GL_TEXTURE15 = c_opengl.GL_TEXTURE15
 * GL_TEXTURE16 = c_opengl.GL_TEXTURE16
 * GL_TEXTURE17 = c_opengl.GL_TEXTURE17             # <<<<<<<<<<<<<<
 * GL_TEXTURE18 = c_opengl.GL_TEXTURE18
 * GL_TEXTURE19 = c_opengl.GL_TEXTURE19
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE17); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE17, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":275
 * GL_TEXTURE16 = c_opengl.GL_TEXTURE16
 * GL_TEXTURE17 = c_opengl.GL_TEXTURE17
 * GL_TEXTURE18 = c_opengl.GL_TEXTURE18             # <<<<<<<<<<<<<<
 * GL_TEXTURE19 = c_opengl.GL_TEXTURE19
 * GL_TEXTURE20 = c_opengl.GL_TEXTURE20
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE18); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE18, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":276
 * GL_TEXTURE17 = c_opengl.GL_TEXTURE17
 * GL_TEXTURE18 = c_opengl.GL_TEXTURE18
 * GL_TEXTURE19 = c_opengl.GL_TEXTURE19             # <<<<<<<<<<<<<<
 * GL_TEXTURE20 = c_opengl.GL_TEXTURE20
 * GL_TEXTURE21 = c_opengl.GL_TEXTURE21
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE19); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE19, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":277
 * GL_TEXTURE18 = c_opengl.GL_TEXTURE18
 * GL_TEXTURE19 = c_opengl.GL_TEXTURE19
 * GL_TEXTURE20 = c_opengl.GL_TEXTURE20             # <<<<<<<<<<<<<<
 * GL_TEXTURE21 = c_opengl.GL_TEXTURE21
 * GL_TEXTURE22 = c_opengl.GL_TEXTURE22
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE20); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE20, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":278
 * GL_TEXTURE19 = c_opengl.GL_TEXTURE19
 * GL_TEXTURE20 = c_opengl.GL_TEXTURE20
 * GL_TEXTURE21 = c_opengl.GL_TEXTURE21             # <<<<<<<<<<<<<<
 * GL_TEXTURE22 = c_opengl.GL_TEXTURE22
 * GL_TEXTURE23 = c_opengl.GL_TEXTURE23
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE21); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE21, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":279
 * GL_TEXTURE20 = c_opengl.GL_TEXTURE20
 * GL_TEXTURE21 = c_opengl.GL_TEXTURE21
 * GL_TEXTURE22 = c_opengl.GL_TEXTURE22             # <<<<<<<<<<<<<<
 * GL_TEXTURE23 = c_opengl.GL_TEXTURE23
 * GL_TEXTURE24 = c_opengl.GL_TEXTURE24
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE22); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE22, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":280
 * GL_TEXTURE21 = c_opengl.GL_TEXTURE21
 * GL_TEXTURE22 = c_opengl.GL_TEXTURE22
 * GL_TEXTURE23 = c_opengl.GL_TEXTURE23             # <<<<<<<<<<<<<<
 * GL_TEXTURE24 = c_opengl.GL_TEXTURE24
 * GL_TEXTURE25 = c_opengl.GL_TEXTURE25
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE23); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE23, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":281
 * GL_TEXTURE22 = c_opengl.GL_TEXTURE22
 * GL_TEXTURE23 = c_opengl.GL_TEXTURE23
 * GL_TEXTURE24 = c_opengl.GL_TEXTURE24             # <<<<<<<<<<<<<<
 * GL_TEXTURE25 = c_opengl.GL_TEXTURE25
 * GL_TEXTURE26 = c_opengl.GL_TEXTURE26
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE24); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE24, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":282
 * GL_TEXTURE23 = c_opengl.GL_TEXTURE23
 * GL_TEXTURE24 = c_opengl.GL_TEXTURE24
 * GL_TEXTURE25 = c_opengl.GL_TEXTURE25             # <<<<<<<<<<<<<<
 * GL_TEXTURE26 = c_opengl.GL_TEXTURE26
 * GL_TEXTURE27 = c_opengl.GL_TEXTURE27
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE25); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE25, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":283
 * GL_TEXTURE24 = c_opengl.GL_TEXTURE24
 * GL_TEXTURE25 = c_opengl.GL_TEXTURE25
 * GL_TEXTURE26 = c_opengl.GL_TEXTURE26             # <<<<<<<<<<<<<<
 * GL_TEXTURE27 = c_opengl.GL_TEXTURE27
 * GL_TEXTURE28 = c_opengl.GL_TEXTURE28
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE26); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE26, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":284
 * GL_TEXTURE25 = c_opengl.GL_TEXTURE25
 * GL_TEXTURE26 = c_opengl.GL_TEXTURE26
 * GL_TEXTURE27 = c_opengl.GL_TEXTURE27             # <<<<<<<<<<<<<<
 * GL_TEXTURE28 = c_opengl.GL_TEXTURE28
 * GL_TEXTURE29 = c_opengl.GL_TEXTURE29
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE27); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE27, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":285
 * GL_TEXTURE26 = c_opengl.GL_TEXTURE26
 * GL_TEXTURE27 = c_opengl.GL_TEXTURE27
 * GL_TEXTURE28 = c_opengl.GL_TEXTURE28             # <<<<<<<<<<<<<<
 * GL_TEXTURE29 = c_opengl.GL_TEXTURE29
 * GL_TEXTURE30 = c_opengl.GL_TEXTURE30
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE28); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE28, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":286
 * GL_TEXTURE27 = c_opengl.GL_TEXTURE27
 * GL_TEXTURE28 = c_opengl.GL_TEXTURE28
 * GL_TEXTURE29 = c_opengl.GL_TEXTURE29             # <<<<<<<<<<<<<<
 * GL_TEXTURE30 = c_opengl.GL_TEXTURE30
 * GL_TEXTURE31 = c_opengl.GL_TEXTURE31
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE29); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE29, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":287
 * GL_TEXTURE28 = c_opengl.GL_TEXTURE28
 * GL_TEXTURE29 = c_opengl.GL_TEXTURE29
 * GL_TEXTURE30 = c_opengl.GL_TEXTURE30             # <<<<<<<<<<<<<<
 * GL_TEXTURE31 = c_opengl.GL_TEXTURE31
 * GL_ACTIVE_TEXTURE = c_opengl.GL_ACTIVE_TEXTURE
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE30); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE30, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":288
 * GL_TEXTURE29 = c_opengl.GL_TEXTURE29
 * GL_TEXTURE30 = c_opengl.GL_TEXTURE30
 * GL_TEXTURE31 = c_opengl.GL_TEXTURE31             # <<<<<<<<<<<<<<
 * GL_ACTIVE_TEXTURE = c_opengl.GL_ACTIVE_TEXTURE
 * GL_REPEAT = c_opengl.GL_REPEAT
 */
  __pyx_t_1 = PyInt_FromLong(GL_TEXTURE31); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_TEXTURE31, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":289
 * GL_TEXTURE30 = c_opengl.GL_TEXTURE30
 * GL_TEXTURE31 = c_opengl.GL_TEXTURE31
 * GL_ACTIVE_TEXTURE = c_opengl.GL_ACTIVE_TEXTURE             # <<<<<<<<<<<<<<
 * GL_REPEAT = c_opengl.GL_REPEAT
 * GL_CLAMP_TO_EDGE = c_opengl.GL_CLAMP_TO_EDGE
 */
  __pyx_t_1 = PyInt_FromLong(GL_ACTIVE_TEXTURE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_ACTIVE_TEXTURE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":290
 * GL_TEXTURE31 = c_opengl.GL_TEXTURE31
 * GL_ACTIVE_TEXTURE = c_opengl.GL_ACTIVE_TEXTURE
 * GL_REPEAT = c_opengl.GL_REPEAT             # <<<<<<<<<<<<<<
 * GL_CLAMP_TO_EDGE = c_opengl.GL_CLAMP_TO_EDGE
 * GL_MIRRORED_REPEAT = c_opengl.GL_MIRRORED_REPEAT
 */
  __pyx_t_1 = PyInt_FromLong(GL_REPEAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_REPEAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":291
 * GL_ACTIVE_TEXTURE = c_opengl.GL_ACTIVE_TEXTURE
 * GL_REPEAT = c_opengl.GL_REPEAT
 * GL_CLAMP_TO_EDGE = c_opengl.GL_CLAMP_TO_EDGE             # <<<<<<<<<<<<<<
 * GL_MIRRORED_REPEAT = c_opengl.GL_MIRRORED_REPEAT
 * GL_FLOAT_VEC2 = c_opengl.GL_FLOAT_VEC2
 */
  __pyx_t_1 = PyInt_FromLong(GL_CLAMP_TO_EDGE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_CLAMP_TO_EDGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":292
 * GL_REPEAT = c_opengl.GL_REPEAT
 * GL_CLAMP_TO_EDGE = c_opengl.GL_CLAMP_TO_EDGE
 * GL_MIRRORED_REPEAT = c_opengl.GL_MIRRORED_REPEAT             # <<<<<<<<<<<<<<
 * GL_FLOAT_VEC2 = c_opengl.GL_FLOAT_VEC2
 * GL_FLOAT_VEC3 = c_opengl.GL_FLOAT_VEC3
 */
  __pyx_t_1 = PyInt_FromLong(GL_MIRRORED_REPEAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_MIRRORED_REPEAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":293
 * GL_CLAMP_TO_EDGE = c_opengl.GL_CLAMP_TO_EDGE
 * GL_MIRRORED_REPEAT = c_opengl.GL_MIRRORED_REPEAT
 * GL_FLOAT_VEC2 = c_opengl.GL_FLOAT_VEC2             # <<<<<<<<<<<<<<
 * GL_FLOAT_VEC3 = c_opengl.GL_FLOAT_VEC3
 * GL_FLOAT_VEC4 = c_opengl.GL_FLOAT_VEC4
 */
  __pyx_t_1 = PyInt_FromLong(GL_FLOAT_VEC2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FLOAT_VEC2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":294
 * GL_MIRRORED_REPEAT = c_opengl.GL_MIRRORED_REPEAT
 * GL_FLOAT_VEC2 = c_opengl.GL_FLOAT_VEC2
 * GL_FLOAT_VEC3 = c_opengl.GL_FLOAT_VEC3             # <<<<<<<<<<<<<<
 * GL_FLOAT_VEC4 = c_opengl.GL_FLOAT_VEC4
 * GL_INT_VEC2 = c_opengl.GL_INT_VEC2
 */
  __pyx_t_1 = PyInt_FromLong(GL_FLOAT_VEC3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FLOAT_VEC3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":295
 * GL_FLOAT_VEC2 = c_opengl.GL_FLOAT_VEC2
 * GL_FLOAT_VEC3 = c_opengl.GL_FLOAT_VEC3
 * GL_FLOAT_VEC4 = c_opengl.GL_FLOAT_VEC4             # <<<<<<<<<<<<<<
 * GL_INT_VEC2 = c_opengl.GL_INT_VEC2
 * GL_INT_VEC3 = c_opengl.GL_INT_VEC3
 */
  __pyx_t_1 = PyInt_FromLong(GL_FLOAT_VEC4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FLOAT_VEC4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":296
 * GL_FLOAT_VEC3 = c_opengl.GL_FLOAT_VEC3
 * GL_FLOAT_VEC4 = c_opengl.GL_FLOAT_VEC4
 * GL_INT_VEC2 = c_opengl.GL_INT_VEC2             # <<<<<<<<<<<<<<
 * GL_INT_VEC3 = c_opengl.GL_INT_VEC3
 * GL_INT_VEC4 = c_opengl.GL_INT_VEC4
 */
  __pyx_t_1 = PyInt_FromLong(GL_INT_VEC2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INT_VEC2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":297
 * GL_FLOAT_VEC4 = c_opengl.GL_FLOAT_VEC4
 * GL_INT_VEC2 = c_opengl.GL_INT_VEC2
 * GL_INT_VEC3 = c_opengl.GL_INT_VEC3             # <<<<<<<<<<<<<<
 * GL_INT_VEC4 = c_opengl.GL_INT_VEC4
 * GL_BOOL = c_opengl.GL_BOOL
 */
  __pyx_t_1 = PyInt_FromLong(GL_INT_VEC3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INT_VEC3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":298
 * GL_INT_VEC2 = c_opengl.GL_INT_VEC2
 * GL_INT_VEC3 = c_opengl.GL_INT_VEC3
 * GL_INT_VEC4 = c_opengl.GL_INT_VEC4             # <<<<<<<<<<<<<<
 * GL_BOOL = c_opengl.GL_BOOL
 * GL_BOOL_VEC2 = c_opengl.GL_BOOL_VEC2
 */
  __pyx_t_1 = PyInt_FromLong(GL_INT_VEC4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INT_VEC4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":299
 * GL_INT_VEC3 = c_opengl.GL_INT_VEC3
 * GL_INT_VEC4 = c_opengl.GL_INT_VEC4
 * GL_BOOL = c_opengl.GL_BOOL             # <<<<<<<<<<<<<<
 * GL_BOOL_VEC2 = c_opengl.GL_BOOL_VEC2
 * GL_BOOL_VEC3 = c_opengl.GL_BOOL_VEC3
 */
  __pyx_t_1 = PyInt_FromLong(GL_BOOL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BOOL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":300
 * GL_INT_VEC4 = c_opengl.GL_INT_VEC4
 * GL_BOOL = c_opengl.GL_BOOL
 * GL_BOOL_VEC2 = c_opengl.GL_BOOL_VEC2             # <<<<<<<<<<<<<<
 * GL_BOOL_VEC3 = c_opengl.GL_BOOL_VEC3
 * GL_BOOL_VEC4 = c_opengl.GL_BOOL_VEC4
 */
  __pyx_t_1 = PyInt_FromLong(GL_BOOL_VEC2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BOOL_VEC2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":301
 * GL_BOOL = c_opengl.GL_BOOL
 * GL_BOOL_VEC2 = c_opengl.GL_BOOL_VEC2
 * GL_BOOL_VEC3 = c_opengl.GL_BOOL_VEC3             # <<<<<<<<<<<<<<
 * GL_BOOL_VEC4 = c_opengl.GL_BOOL_VEC4
 * GL_FLOAT_MAT2 = c_opengl.GL_FLOAT_MAT2
 */
  __pyx_t_1 = PyInt_FromLong(GL_BOOL_VEC3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BOOL_VEC3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":302
 * GL_BOOL_VEC2 = c_opengl.GL_BOOL_VEC2
 * GL_BOOL_VEC3 = c_opengl.GL_BOOL_VEC3
 * GL_BOOL_VEC4 = c_opengl.GL_BOOL_VEC4             # <<<<<<<<<<<<<<
 * GL_FLOAT_MAT2 = c_opengl.GL_FLOAT_MAT2
 * GL_FLOAT_MAT3 = c_opengl.GL_FLOAT_MAT3
 */
  __pyx_t_1 = PyInt_FromLong(GL_BOOL_VEC4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_BOOL_VEC4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":303
 * GL_BOOL_VEC3 = c_opengl.GL_BOOL_VEC3
 * GL_BOOL_VEC4 = c_opengl.GL_BOOL_VEC4
 * GL_FLOAT_MAT2 = c_opengl.GL_FLOAT_MAT2             # <<<<<<<<<<<<<<
 * GL_FLOAT_MAT3 = c_opengl.GL_FLOAT_MAT3
 * GL_FLOAT_MAT4 = c_opengl.GL_FLOAT_MAT4
 */
  __pyx_t_1 = PyInt_FromLong(GL_FLOAT_MAT2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FLOAT_MAT2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":304
 * GL_BOOL_VEC4 = c_opengl.GL_BOOL_VEC4
 * GL_FLOAT_MAT2 = c_opengl.GL_FLOAT_MAT2
 * GL_FLOAT_MAT3 = c_opengl.GL_FLOAT_MAT3             # <<<<<<<<<<<<<<
 * GL_FLOAT_MAT4 = c_opengl.GL_FLOAT_MAT4
 * GL_SAMPLER_2D = c_opengl.GL_SAMPLER_2D
 */
  __pyx_t_1 = PyInt_FromLong(GL_FLOAT_MAT3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FLOAT_MAT3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":305
 * GL_FLOAT_MAT2 = c_opengl.GL_FLOAT_MAT2
 * GL_FLOAT_MAT3 = c_opengl.GL_FLOAT_MAT3
 * GL_FLOAT_MAT4 = c_opengl.GL_FLOAT_MAT4             # <<<<<<<<<<<<<<
 * GL_SAMPLER_2D = c_opengl.GL_SAMPLER_2D
 * GL_SAMPLER_CUBE = c_opengl.GL_SAMPLER_CUBE
 */
  __pyx_t_1 = PyInt_FromLong(GL_FLOAT_MAT4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FLOAT_MAT4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":306
 * GL_FLOAT_MAT3 = c_opengl.GL_FLOAT_MAT3
 * GL_FLOAT_MAT4 = c_opengl.GL_FLOAT_MAT4
 * GL_SAMPLER_2D = c_opengl.GL_SAMPLER_2D             # <<<<<<<<<<<<<<
 * GL_SAMPLER_CUBE = c_opengl.GL_SAMPLER_CUBE
 * GL_VERTEX_ATTRIB_ARRAY_ENABLED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_ENABLED
 */
  __pyx_t_1 = PyInt_FromLong(GL_SAMPLER_2D); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SAMPLER_2D, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":307
 * GL_FLOAT_MAT4 = c_opengl.GL_FLOAT_MAT4
 * GL_SAMPLER_2D = c_opengl.GL_SAMPLER_2D
 * GL_SAMPLER_CUBE = c_opengl.GL_SAMPLER_CUBE             # <<<<<<<<<<<<<<
 * GL_VERTEX_ATTRIB_ARRAY_ENABLED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_ENABLED
 * GL_VERTEX_ATTRIB_ARRAY_SIZE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_SAMPLER_CUBE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SAMPLER_CUBE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":308
 * GL_SAMPLER_2D = c_opengl.GL_SAMPLER_2D
 * GL_SAMPLER_CUBE = c_opengl.GL_SAMPLER_CUBE
 * GL_VERTEX_ATTRIB_ARRAY_ENABLED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_ENABLED             # <<<<<<<<<<<<<<
 * GL_VERTEX_ATTRIB_ARRAY_SIZE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_SIZE
 * GL_VERTEX_ATTRIB_ARRAY_STRIDE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_STRIDE
 */
  __pyx_t_1 = PyInt_FromLong(GL_VERTEX_ATTRIB_ARRAY_ENABLED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_68, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":309
 * GL_SAMPLER_CUBE = c_opengl.GL_SAMPLER_CUBE
 * GL_VERTEX_ATTRIB_ARRAY_ENABLED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_ENABLED
 * GL_VERTEX_ATTRIB_ARRAY_SIZE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_SIZE             # <<<<<<<<<<<<<<
 * GL_VERTEX_ATTRIB_ARRAY_STRIDE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_STRIDE
 * GL_VERTEX_ATTRIB_ARRAY_TYPE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_TYPE
 */
  __pyx_t_1 = PyInt_FromLong(GL_VERTEX_ATTRIB_ARRAY_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_69, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":310
 * GL_VERTEX_ATTRIB_ARRAY_ENABLED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_ENABLED
 * GL_VERTEX_ATTRIB_ARRAY_SIZE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_SIZE
 * GL_VERTEX_ATTRIB_ARRAY_STRIDE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_STRIDE             # <<<<<<<<<<<<<<
 * GL_VERTEX_ATTRIB_ARRAY_TYPE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_TYPE
 * GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
 */
  __pyx_t_1 = PyInt_FromLong(GL_VERTEX_ATTRIB_ARRAY_STRIDE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_70, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":311
 * GL_VERTEX_ATTRIB_ARRAY_SIZE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_SIZE
 * GL_VERTEX_ATTRIB_ARRAY_STRIDE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_STRIDE
 * GL_VERTEX_ATTRIB_ARRAY_TYPE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_TYPE             # <<<<<<<<<<<<<<
 * GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
 * GL_VERTEX_ATTRIB_ARRAY_POINTER = c_opengl.GL_VERTEX_ATTRIB_ARRAY_POINTER
 */
  __pyx_t_1 = PyInt_FromLong(GL_VERTEX_ATTRIB_ARRAY_TYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_71, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":312
 * GL_VERTEX_ATTRIB_ARRAY_STRIDE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_STRIDE
 * GL_VERTEX_ATTRIB_ARRAY_TYPE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_TYPE
 * GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_NORMALIZED             # <<<<<<<<<<<<<<
 * GL_VERTEX_ATTRIB_ARRAY_POINTER = c_opengl.GL_VERTEX_ATTRIB_ARRAY_POINTER
 * GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = c_opengl.GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
 */
  __pyx_t_1 = PyInt_FromLong(GL_VERTEX_ATTRIB_ARRAY_NORMALIZED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_72, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":313
 * GL_VERTEX_ATTRIB_ARRAY_TYPE = c_opengl.GL_VERTEX_ATTRIB_ARRAY_TYPE
 * GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
 * GL_VERTEX_ATTRIB_ARRAY_POINTER = c_opengl.GL_VERTEX_ATTRIB_ARRAY_POINTER             # <<<<<<<<<<<<<<
 * GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = c_opengl.GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
 * GL_COMPILE_STATUS = c_opengl.GL_COMPILE_STATUS
 */
  __pyx_t_1 = PyInt_FromLong(GL_VERTEX_ATTRIB_ARRAY_POINTER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_73, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":314
 * GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = c_opengl.GL_VERTEX_ATTRIB_ARRAY_NORMALIZED
 * GL_VERTEX_ATTRIB_ARRAY_POINTER = c_opengl.GL_VERTEX_ATTRIB_ARRAY_POINTER
 * GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = c_opengl.GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING             # <<<<<<<<<<<<<<
 * GL_COMPILE_STATUS = c_opengl.GL_COMPILE_STATUS
 * GL_INFO_LOG_LENGTH = c_opengl.GL_INFO_LOG_LENGTH
 */
  __pyx_t_1 = PyInt_FromLong(GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_74, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":315
 * GL_VERTEX_ATTRIB_ARRAY_POINTER = c_opengl.GL_VERTEX_ATTRIB_ARRAY_POINTER
 * GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = c_opengl.GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
 * GL_COMPILE_STATUS = c_opengl.GL_COMPILE_STATUS             # <<<<<<<<<<<<<<
 * GL_INFO_LOG_LENGTH = c_opengl.GL_INFO_LOG_LENGTH
 * GL_SHADER_SOURCE_LENGTH = c_opengl.GL_SHADER_SOURCE_LENGTH
 */
  __pyx_t_1 = PyInt_FromLong(GL_COMPILE_STATUS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_COMPILE_STATUS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":316
 * GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = c_opengl.GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING
 * GL_COMPILE_STATUS = c_opengl.GL_COMPILE_STATUS
 * GL_INFO_LOG_LENGTH = c_opengl.GL_INFO_LOG_LENGTH             # <<<<<<<<<<<<<<
 * GL_SHADER_SOURCE_LENGTH = c_opengl.GL_SHADER_SOURCE_LENGTH
 * GL_FRAMEBUFFER = c_opengl.GL_FRAMEBUFFER
 */
  __pyx_t_1 = PyInt_FromLong(GL_INFO_LOG_LENGTH); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_INFO_LOG_LENGTH, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":317
 * GL_COMPILE_STATUS = c_opengl.GL_COMPILE_STATUS
 * GL_INFO_LOG_LENGTH = c_opengl.GL_INFO_LOG_LENGTH
 * GL_SHADER_SOURCE_LENGTH = c_opengl.GL_SHADER_SOURCE_LENGTH             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER = c_opengl.GL_FRAMEBUFFER
 * GL_RENDERBUFFER = c_opengl.GL_RENDERBUFFER
 */
  __pyx_t_1 = PyInt_FromLong(GL_SHADER_SOURCE_LENGTH); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_75, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":318
 * GL_INFO_LOG_LENGTH = c_opengl.GL_INFO_LOG_LENGTH
 * GL_SHADER_SOURCE_LENGTH = c_opengl.GL_SHADER_SOURCE_LENGTH
 * GL_FRAMEBUFFER = c_opengl.GL_FRAMEBUFFER             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER = c_opengl.GL_RENDERBUFFER
 * GL_RGBA4 = c_opengl.GL_RGBA4
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FRAMEBUFFER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":319
 * GL_SHADER_SOURCE_LENGTH = c_opengl.GL_SHADER_SOURCE_LENGTH
 * GL_FRAMEBUFFER = c_opengl.GL_FRAMEBUFFER
 * GL_RENDERBUFFER = c_opengl.GL_RENDERBUFFER             # <<<<<<<<<<<<<<
 * GL_RGBA4 = c_opengl.GL_RGBA4
 * GL_RGB5_A1 = c_opengl.GL_RGB5_A1
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_RENDERBUFFER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":320
 * GL_FRAMEBUFFER = c_opengl.GL_FRAMEBUFFER
 * GL_RENDERBUFFER = c_opengl.GL_RENDERBUFFER
 * GL_RGBA4 = c_opengl.GL_RGBA4             # <<<<<<<<<<<<<<
 * GL_RGB5_A1 = c_opengl.GL_RGB5_A1
 * GL_DEPTH_COMPONENT16 = c_opengl.GL_DEPTH_COMPONENT16
 */
  __pyx_t_1 = PyInt_FromLong(GL_RGBA4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_RGBA4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":321
 * GL_RENDERBUFFER = c_opengl.GL_RENDERBUFFER
 * GL_RGBA4 = c_opengl.GL_RGBA4
 * GL_RGB5_A1 = c_opengl.GL_RGB5_A1             # <<<<<<<<<<<<<<
 * GL_DEPTH_COMPONENT16 = c_opengl.GL_DEPTH_COMPONENT16
 * GL_STENCIL_INDEX = c_opengl.GL_STENCIL_INDEX
 */
  __pyx_t_1 = PyInt_FromLong(GL_RGB5_A1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_RGB5_A1, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":322
 * GL_RGBA4 = c_opengl.GL_RGBA4
 * GL_RGB5_A1 = c_opengl.GL_RGB5_A1
 * GL_DEPTH_COMPONENT16 = c_opengl.GL_DEPTH_COMPONENT16             # <<<<<<<<<<<<<<
 * GL_STENCIL_INDEX = c_opengl.GL_STENCIL_INDEX
 * GL_STENCIL_INDEX8 = c_opengl.GL_STENCIL_INDEX8
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_COMPONENT16); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_76, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":323
 * GL_RGB5_A1 = c_opengl.GL_RGB5_A1
 * GL_DEPTH_COMPONENT16 = c_opengl.GL_DEPTH_COMPONENT16
 * GL_STENCIL_INDEX = c_opengl.GL_STENCIL_INDEX             # <<<<<<<<<<<<<<
 * GL_STENCIL_INDEX8 = c_opengl.GL_STENCIL_INDEX8
 * GL_RENDERBUFFER_WIDTH = c_opengl.GL_RENDERBUFFER_WIDTH
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_INDEX); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STENCIL_INDEX, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":324
 * GL_DEPTH_COMPONENT16 = c_opengl.GL_DEPTH_COMPONENT16
 * GL_STENCIL_INDEX = c_opengl.GL_STENCIL_INDEX
 * GL_STENCIL_INDEX8 = c_opengl.GL_STENCIL_INDEX8             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_WIDTH = c_opengl.GL_RENDERBUFFER_WIDTH
 * GL_RENDERBUFFER_HEIGHT = c_opengl.GL_RENDERBUFFER_HEIGHT
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_INDEX8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_STENCIL_INDEX8, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":325
 * GL_STENCIL_INDEX = c_opengl.GL_STENCIL_INDEX
 * GL_STENCIL_INDEX8 = c_opengl.GL_STENCIL_INDEX8
 * GL_RENDERBUFFER_WIDTH = c_opengl.GL_RENDERBUFFER_WIDTH             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_HEIGHT = c_opengl.GL_RENDERBUFFER_HEIGHT
 * GL_RENDERBUFFER_INTERNAL_FORMAT = c_opengl.GL_RENDERBUFFER_INTERNAL_FORMAT
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_WIDTH); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_77, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":326
 * GL_STENCIL_INDEX8 = c_opengl.GL_STENCIL_INDEX8
 * GL_RENDERBUFFER_WIDTH = c_opengl.GL_RENDERBUFFER_WIDTH
 * GL_RENDERBUFFER_HEIGHT = c_opengl.GL_RENDERBUFFER_HEIGHT             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_INTERNAL_FORMAT = c_opengl.GL_RENDERBUFFER_INTERNAL_FORMAT
 * GL_RENDERBUFFER_RED_SIZE = c_opengl.GL_RENDERBUFFER_RED_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_HEIGHT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_78, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":327
 * GL_RENDERBUFFER_WIDTH = c_opengl.GL_RENDERBUFFER_WIDTH
 * GL_RENDERBUFFER_HEIGHT = c_opengl.GL_RENDERBUFFER_HEIGHT
 * GL_RENDERBUFFER_INTERNAL_FORMAT = c_opengl.GL_RENDERBUFFER_INTERNAL_FORMAT             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_RED_SIZE = c_opengl.GL_RENDERBUFFER_RED_SIZE
 * GL_RENDERBUFFER_GREEN_SIZE = c_opengl.GL_RENDERBUFFER_GREEN_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_INTERNAL_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_79, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":328
 * GL_RENDERBUFFER_HEIGHT = c_opengl.GL_RENDERBUFFER_HEIGHT
 * GL_RENDERBUFFER_INTERNAL_FORMAT = c_opengl.GL_RENDERBUFFER_INTERNAL_FORMAT
 * GL_RENDERBUFFER_RED_SIZE = c_opengl.GL_RENDERBUFFER_RED_SIZE             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_GREEN_SIZE = c_opengl.GL_RENDERBUFFER_GREEN_SIZE
 * GL_RENDERBUFFER_BLUE_SIZE = c_opengl.GL_RENDERBUFFER_BLUE_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_RED_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_80, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":329
 * GL_RENDERBUFFER_INTERNAL_FORMAT = c_opengl.GL_RENDERBUFFER_INTERNAL_FORMAT
 * GL_RENDERBUFFER_RED_SIZE = c_opengl.GL_RENDERBUFFER_RED_SIZE
 * GL_RENDERBUFFER_GREEN_SIZE = c_opengl.GL_RENDERBUFFER_GREEN_SIZE             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_BLUE_SIZE = c_opengl.GL_RENDERBUFFER_BLUE_SIZE
 * GL_RENDERBUFFER_ALPHA_SIZE = c_opengl.GL_RENDERBUFFER_ALPHA_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_GREEN_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_81, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":330
 * GL_RENDERBUFFER_RED_SIZE = c_opengl.GL_RENDERBUFFER_RED_SIZE
 * GL_RENDERBUFFER_GREEN_SIZE = c_opengl.GL_RENDERBUFFER_GREEN_SIZE
 * GL_RENDERBUFFER_BLUE_SIZE = c_opengl.GL_RENDERBUFFER_BLUE_SIZE             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_ALPHA_SIZE = c_opengl.GL_RENDERBUFFER_ALPHA_SIZE
 * GL_RENDERBUFFER_DEPTH_SIZE = c_opengl.GL_RENDERBUFFER_DEPTH_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_BLUE_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_82, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":331
 * GL_RENDERBUFFER_GREEN_SIZE = c_opengl.GL_RENDERBUFFER_GREEN_SIZE
 * GL_RENDERBUFFER_BLUE_SIZE = c_opengl.GL_RENDERBUFFER_BLUE_SIZE
 * GL_RENDERBUFFER_ALPHA_SIZE = c_opengl.GL_RENDERBUFFER_ALPHA_SIZE             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_DEPTH_SIZE = c_opengl.GL_RENDERBUFFER_DEPTH_SIZE
 * GL_RENDERBUFFER_STENCIL_SIZE = c_opengl.GL_RENDERBUFFER_STENCIL_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_ALPHA_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_83, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":332
 * GL_RENDERBUFFER_BLUE_SIZE = c_opengl.GL_RENDERBUFFER_BLUE_SIZE
 * GL_RENDERBUFFER_ALPHA_SIZE = c_opengl.GL_RENDERBUFFER_ALPHA_SIZE
 * GL_RENDERBUFFER_DEPTH_SIZE = c_opengl.GL_RENDERBUFFER_DEPTH_SIZE             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_STENCIL_SIZE = c_opengl.GL_RENDERBUFFER_STENCIL_SIZE
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_DEPTH_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_84, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":333
 * GL_RENDERBUFFER_ALPHA_SIZE = c_opengl.GL_RENDERBUFFER_ALPHA_SIZE
 * GL_RENDERBUFFER_DEPTH_SIZE = c_opengl.GL_RENDERBUFFER_DEPTH_SIZE
 * GL_RENDERBUFFER_STENCIL_SIZE = c_opengl.GL_RENDERBUFFER_STENCIL_SIZE             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_STENCIL_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_85, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":334
 * GL_RENDERBUFFER_DEPTH_SIZE = c_opengl.GL_RENDERBUFFER_DEPTH_SIZE
 * GL_RENDERBUFFER_STENCIL_SIZE = c_opengl.GL_RENDERBUFFER_STENCIL_SIZE
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_86, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":335
 * GL_RENDERBUFFER_STENCIL_SIZE = c_opengl.GL_RENDERBUFFER_STENCIL_SIZE
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_87, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":336
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
 * GL_COLOR_ATTACHMENT0 = c_opengl.GL_COLOR_ATTACHMENT0
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_88, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":337
 * GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE             # <<<<<<<<<<<<<<
 * GL_COLOR_ATTACHMENT0 = c_opengl.GL_COLOR_ATTACHMENT0
 * GL_DEPTH_ATTACHMENT = c_opengl.GL_DEPTH_ATTACHMENT
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_89, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":338
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
 * GL_COLOR_ATTACHMENT0 = c_opengl.GL_COLOR_ATTACHMENT0             # <<<<<<<<<<<<<<
 * GL_DEPTH_ATTACHMENT = c_opengl.GL_DEPTH_ATTACHMENT
 * GL_STENCIL_ATTACHMENT = c_opengl.GL_STENCIL_ATTACHMENT
 */
  __pyx_t_1 = PyInt_FromLong(GL_COLOR_ATTACHMENT0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_90, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":339
 * GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = c_opengl.GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE
 * GL_COLOR_ATTACHMENT0 = c_opengl.GL_COLOR_ATTACHMENT0
 * GL_DEPTH_ATTACHMENT = c_opengl.GL_DEPTH_ATTACHMENT             # <<<<<<<<<<<<<<
 * GL_STENCIL_ATTACHMENT = c_opengl.GL_STENCIL_ATTACHMENT
 * GL_NONE = c_opengl.GL_NONE
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_ATTACHMENT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_DEPTH_ATTACHMENT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":340
 * GL_COLOR_ATTACHMENT0 = c_opengl.GL_COLOR_ATTACHMENT0
 * GL_DEPTH_ATTACHMENT = c_opengl.GL_DEPTH_ATTACHMENT
 * GL_STENCIL_ATTACHMENT = c_opengl.GL_STENCIL_ATTACHMENT             # <<<<<<<<<<<<<<
 * GL_NONE = c_opengl.GL_NONE
 * GL_FRAMEBUFFER_COMPLETE = c_opengl.GL_FRAMEBUFFER_COMPLETE
 */
  __pyx_t_1 = PyInt_FromLong(GL_STENCIL_ATTACHMENT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_91, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":341
 * GL_DEPTH_ATTACHMENT = c_opengl.GL_DEPTH_ATTACHMENT
 * GL_STENCIL_ATTACHMENT = c_opengl.GL_STENCIL_ATTACHMENT
 * GL_NONE = c_opengl.GL_NONE             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_COMPLETE = c_opengl.GL_FRAMEBUFFER_COMPLETE
 * GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
 */
  __pyx_t_1 = PyInt_FromLong(GL_NONE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_NONE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":342
 * GL_STENCIL_ATTACHMENT = c_opengl.GL_STENCIL_ATTACHMENT
 * GL_NONE = c_opengl.GL_NONE
 * GL_FRAMEBUFFER_COMPLETE = c_opengl.GL_FRAMEBUFFER_COMPLETE             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
 * GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_COMPLETE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_92, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":343
 * GL_NONE = c_opengl.GL_NONE
 * GL_FRAMEBUFFER_COMPLETE = c_opengl.GL_FRAMEBUFFER_COMPLETE
 * GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
 * GL_FRAMEBUFFER_UNSUPPORTED = c_opengl.GL_FRAMEBUFFER_UNSUPPORTED
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_93, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":344
 * GL_FRAMEBUFFER_COMPLETE = c_opengl.GL_FRAMEBUFFER_COMPLETE
 * GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
 * GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_UNSUPPORTED = c_opengl.GL_FRAMEBUFFER_UNSUPPORTED
 * GL_FRAMEBUFFER_BINDING = c_opengl.GL_FRAMEBUFFER_BINDING
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_94, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":345
 * GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
 * GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
 * GL_FRAMEBUFFER_UNSUPPORTED = c_opengl.GL_FRAMEBUFFER_UNSUPPORTED             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_BINDING = c_opengl.GL_FRAMEBUFFER_BINDING
 * GL_RENDERBUFFER_BINDING = c_opengl.GL_RENDERBUFFER_BINDING
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_UNSUPPORTED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_95, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":346
 * GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
 * GL_FRAMEBUFFER_UNSUPPORTED = c_opengl.GL_FRAMEBUFFER_UNSUPPORTED
 * GL_FRAMEBUFFER_BINDING = c_opengl.GL_FRAMEBUFFER_BINDING             # <<<<<<<<<<<<<<
 * GL_RENDERBUFFER_BINDING = c_opengl.GL_RENDERBUFFER_BINDING
 * GL_MAX_RENDERBUFFER_SIZE = c_opengl.GL_MAX_RENDERBUFFER_SIZE
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_BINDING); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_96, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":347
 * GL_FRAMEBUFFER_UNSUPPORTED = c_opengl.GL_FRAMEBUFFER_UNSUPPORTED
 * GL_FRAMEBUFFER_BINDING = c_opengl.GL_FRAMEBUFFER_BINDING
 * GL_RENDERBUFFER_BINDING = c_opengl.GL_RENDERBUFFER_BINDING             # <<<<<<<<<<<<<<
 * GL_MAX_RENDERBUFFER_SIZE = c_opengl.GL_MAX_RENDERBUFFER_SIZE
 * GL_INVALID_FRAMEBUFFER_OPERATION = c_opengl.GL_INVALID_FRAMEBUFFER_OPERATION
 */
  __pyx_t_1 = PyInt_FromLong(GL_RENDERBUFFER_BINDING); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_97, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":348
 * GL_FRAMEBUFFER_BINDING = c_opengl.GL_FRAMEBUFFER_BINDING
 * GL_RENDERBUFFER_BINDING = c_opengl.GL_RENDERBUFFER_BINDING
 * GL_MAX_RENDERBUFFER_SIZE = c_opengl.GL_MAX_RENDERBUFFER_SIZE             # <<<<<<<<<<<<<<
 * GL_INVALID_FRAMEBUFFER_OPERATION = c_opengl.GL_INVALID_FRAMEBUFFER_OPERATION
 * 
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_RENDERBUFFER_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_98, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":349
 * GL_RENDERBUFFER_BINDING = c_opengl.GL_RENDERBUFFER_BINDING
 * GL_MAX_RENDERBUFFER_SIZE = c_opengl.GL_MAX_RENDERBUFFER_SIZE
 * GL_INVALID_FRAMEBUFFER_OPERATION = c_opengl.GL_INVALID_FRAMEBUFFER_OPERATION             # <<<<<<<<<<<<<<
 * 
 * # not working with GL standard include
 */
  __pyx_t_1 = PyInt_FromLong(GL_INVALID_FRAMEBUFFER_OPERATION); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_99, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":352
 * 
 * # not working with GL standard include
 * GL_SHADER_BINARY_FORMATS = c_opengl.GL_SHADER_BINARY_FORMATS             # <<<<<<<<<<<<<<
 * GL_RGB565 = c_opengl.GL_RGB565
 * GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
 */
  __pyx_t_1 = PyInt_FromLong(GL_SHADER_BINARY_FORMATS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_100, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":353
 * # not working with GL standard include
 * GL_SHADER_BINARY_FORMATS = c_opengl.GL_SHADER_BINARY_FORMATS
 * GL_RGB565 = c_opengl.GL_RGB565             # <<<<<<<<<<<<<<
 * GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
 * 
 */
  __pyx_t_1 = PyInt_FromLong(GL_RGB565); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_RGB565, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":354
 * GL_SHADER_BINARY_FORMATS = c_opengl.GL_SHADER_BINARY_FORMATS
 * GL_RGB565 = c_opengl.GL_RGB565
 * GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = c_opengl.GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS             # <<<<<<<<<<<<<<
 * 
 * # glGet*v
 */
  __pyx_t_1 = PyInt_FromLong(GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_101, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":358
 * # glGet*v
 * # Note: there are more, this is just what *my* hardware can find...
 * _GL_GET_SIZE = {             # <<<<<<<<<<<<<<
 *     GL_ACTIVE_TEXTURE: 1,
 *     GL_ALIASED_LINE_WIDTH_RANGE: 2,
 */
  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));

  /* "kivy/graphics/opengl.pyx":359
 * # Note: there are more, this is just what *my* hardware can find...
 * _GL_GET_SIZE = {
 *     GL_ACTIVE_TEXTURE: 1,             # <<<<<<<<<<<<<<
 *     GL_ALIASED_LINE_WIDTH_RANGE: 2,
 *     GL_ALIASED_POINT_SIZE_RANGE: 2,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_ACTIVE_TEXTURE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":360
 * _GL_GET_SIZE = {
 *     GL_ACTIVE_TEXTURE: 1,
 *     GL_ALIASED_LINE_WIDTH_RANGE: 2,             # <<<<<<<<<<<<<<
 *     GL_ALIASED_POINT_SIZE_RANGE: 2,
 *     GL_ALPHA_BITS: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s_20); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":361
 *     GL_ACTIVE_TEXTURE: 1,
 *     GL_ALIASED_LINE_WIDTH_RANGE: 2,
 *     GL_ALIASED_POINT_SIZE_RANGE: 2,             # <<<<<<<<<<<<<<
 *     GL_ALPHA_BITS: 1,
 *     GL_ARRAY_BUFFER_BINDING: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s_19); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":362
 *     GL_ALIASED_LINE_WIDTH_RANGE: 2,
 *     GL_ALIASED_POINT_SIZE_RANGE: 2,
 *     GL_ALPHA_BITS: 1,             # <<<<<<<<<<<<<<
 *     GL_ARRAY_BUFFER_BINDING: 1,
 *     GL_BLEND: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_ALPHA_BITS); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":363
 *     GL_ALIASED_POINT_SIZE_RANGE: 2,
 *     GL_ALPHA_BITS: 1,
 *     GL_ARRAY_BUFFER_BINDING: 1,             # <<<<<<<<<<<<<<
 *     GL_BLEND: 1,
 *     GL_BLEND_COLOR: 4,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s_13); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":364
 *     GL_ALPHA_BITS: 1,
 *     GL_ARRAY_BUFFER_BINDING: 1,
 *     GL_BLEND: 1,             # <<<<<<<<<<<<<<
 *     GL_BLEND_COLOR: 4,
 *     GL_BLEND_DST_ALPHA: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_BLEND); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":365
 *     GL_ARRAY_BUFFER_BINDING: 1,
 *     GL_BLEND: 1,
 *     GL_BLEND_COLOR: 4,             # <<<<<<<<<<<<<<
 *     GL_BLEND_DST_ALPHA: 1,
 *     GL_BLEND_DST_RGB: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_BLEND_COLOR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":366
 *     GL_BLEND: 1,
 *     GL_BLEND_COLOR: 4,
 *     GL_BLEND_DST_ALPHA: 1,             # <<<<<<<<<<<<<<
 *     GL_BLEND_DST_RGB: 1,
 *     GL_BLEND_EQUATION_ALPHA: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_BLEND_DST_ALPHA); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":367
 *     GL_BLEND_COLOR: 4,
 *     GL_BLEND_DST_ALPHA: 1,
 *     GL_BLEND_DST_RGB: 1,             # <<<<<<<<<<<<<<
 *     GL_BLEND_EQUATION_ALPHA: 1,
 *     GL_BLEND_EQUATION_RGB: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_BLEND_DST_RGB); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":368
 *     GL_BLEND_DST_ALPHA: 1,
 *     GL_BLEND_DST_RGB: 1,
 *     GL_BLEND_EQUATION_ALPHA: 1,             # <<<<<<<<<<<<<<
 *     GL_BLEND_EQUATION_RGB: 1,
 *     GL_BLEND_SRC_ALPHA: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s_10); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":369
 *     GL_BLEND_DST_RGB: 1,
 *     GL_BLEND_EQUATION_ALPHA: 1,
 *     GL_BLEND_EQUATION_RGB: 1,             # <<<<<<<<<<<<<<
 *     GL_BLEND_SRC_ALPHA: 1,
 *     GL_BLEND_SRC_RGB: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s_9); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":370
 *     GL_BLEND_EQUATION_ALPHA: 1,
 *     GL_BLEND_EQUATION_RGB: 1,
 *     GL_BLEND_SRC_ALPHA: 1,             # <<<<<<<<<<<<<<
 *     GL_BLEND_SRC_RGB: 1,
 *     GL_BLUE_BITS: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_BLEND_SRC_ALPHA); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":371
 *     GL_BLEND_EQUATION_RGB: 1,
 *     GL_BLEND_SRC_ALPHA: 1,
 *     GL_BLEND_SRC_RGB: 1,             # <<<<<<<<<<<<<<
 *     GL_BLUE_BITS: 1,
 *     GL_COLOR_CLEAR_VALUE: 4,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_BLEND_SRC_RGB); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":372
 *     GL_BLEND_SRC_ALPHA: 1,
 *     GL_BLEND_SRC_RGB: 1,
 *     GL_BLUE_BITS: 1,             # <<<<<<<<<<<<<<
 *     GL_COLOR_CLEAR_VALUE: 4,
 *     GL_COLOR_WRITEMASK: 4,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_BLUE_BITS); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":373
 *     GL_BLEND_SRC_RGB: 1,
 *     GL_BLUE_BITS: 1,
 *     GL_COLOR_CLEAR_VALUE: 4,             # <<<<<<<<<<<<<<
 *     GL_COLOR_WRITEMASK: 4,
 *     GL_COMPRESSED_TEXTURE_FORMATS: c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s_33); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":374
 *     GL_BLUE_BITS: 1,
 *     GL_COLOR_CLEAR_VALUE: 4,
 *     GL_COLOR_WRITEMASK: 4,             # <<<<<<<<<<<<<<
 *     GL_COMPRESSED_TEXTURE_FORMATS: c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS,
 *     GL_CULL_FACE: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_COLOR_WRITEMASK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy/graphics/opengl.pyx":375
 *     GL_COLOR_CLEAR_VALUE: 4,
 *     GL_COLOR_WRITEMASK: 4,
 *     GL_COMPRESSED_TEXTURE_FORMATS: c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS,             # <<<<<<<<<<<<<<
 *     GL_CULL_FACE: 1,
 *     GL_CULL_FACE_MODE: 1,
 */
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s_41); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyInt_FromLong(GL_NUM_COMPRESSED_TEXTURE_FORMATS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":376
 *     GL_COLOR_WRITEMASK: 4,
 *     GL_COMPRESSED_TEXTURE_FORMATS: c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS,
 *     GL_CULL_FACE: 1,             # <<<<<<<<<<<<<<
 *     GL_CULL_FACE_MODE: 1,
 *     GL_CURRENT_PROGRAM: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_CULL_FACE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":377
 *     GL_COMPRESSED_TEXTURE_FORMATS: c_opengl.GL_NUM_COMPRESSED_TEXTURE_FORMATS,
 *     GL_CULL_FACE: 1,
 *     GL_CULL_FACE_MODE: 1,             # <<<<<<<<<<<<<<
 *     GL_CURRENT_PROGRAM: 1,
 *     GL_DEPTH_BITS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_CULL_FACE_MODE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":378
 *     GL_CULL_FACE: 1,
 *     GL_CULL_FACE_MODE: 1,
 *     GL_CURRENT_PROGRAM: 1,             # <<<<<<<<<<<<<<
 *     GL_DEPTH_BITS: 1,
 *     GL_DEPTH_CLEAR_VALUE: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_CURRENT_PROGRAM); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":379
 *     GL_CULL_FACE_MODE: 1,
 *     GL_CURRENT_PROGRAM: 1,
 *     GL_DEPTH_BITS: 1,             # <<<<<<<<<<<<<<
 *     GL_DEPTH_CLEAR_VALUE: 1,
 *     GL_DEPTH_FUNC: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_DEPTH_BITS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":380
 *     GL_CURRENT_PROGRAM: 1,
 *     GL_DEPTH_BITS: 1,
 *     GL_DEPTH_CLEAR_VALUE: 1,             # <<<<<<<<<<<<<<
 *     GL_DEPTH_FUNC: 1,
 *     GL_DEPTH_RANGE: 2,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_21); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":381
 *     GL_DEPTH_BITS: 1,
 *     GL_DEPTH_CLEAR_VALUE: 1,
 *     GL_DEPTH_FUNC: 1,             # <<<<<<<<<<<<<<
 *     GL_DEPTH_RANGE: 2,
 *     GL_DEPTH_TEST: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_DEPTH_FUNC); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":382
 *     GL_DEPTH_CLEAR_VALUE: 1,
 *     GL_DEPTH_FUNC: 1,
 *     GL_DEPTH_RANGE: 2,             # <<<<<<<<<<<<<<
 *     GL_DEPTH_TEST: 1,
 *     GL_DEPTH_WRITEMASK: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_DEPTH_RANGE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":383
 *     GL_DEPTH_FUNC: 1,
 *     GL_DEPTH_RANGE: 2,
 *     GL_DEPTH_TEST: 1,             # <<<<<<<<<<<<<<
 *     GL_DEPTH_WRITEMASK: 1,
 *     GL_DITHER: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_DEPTH_TEST); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":384
 *     GL_DEPTH_RANGE: 2,
 *     GL_DEPTH_TEST: 1,
 *     GL_DEPTH_WRITEMASK: 1,             # <<<<<<<<<<<<<<
 *     GL_DITHER: 1,
 *     GL_ELEMENT_ARRAY_BUFFER_BINDING: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_DEPTH_WRITEMASK); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":385
 *     GL_DEPTH_TEST: 1,
 *     GL_DEPTH_WRITEMASK: 1,
 *     GL_DITHER: 1,             # <<<<<<<<<<<<<<
 *     GL_ELEMENT_ARRAY_BUFFER_BINDING: 1,
 *     GL_FRAMEBUFFER_BINDING: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_DITHER); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":386
 *     GL_DEPTH_WRITEMASK: 1,
 *     GL_DITHER: 1,
 *     GL_ELEMENT_ARRAY_BUFFER_BINDING: 1,             # <<<<<<<<<<<<<<
 *     GL_FRAMEBUFFER_BINDING: 1,
 *     GL_FRONT_FACE: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_14); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":387
 *     GL_DITHER: 1,
 *     GL_ELEMENT_ARRAY_BUFFER_BINDING: 1,
 *     GL_FRAMEBUFFER_BINDING: 1,             # <<<<<<<<<<<<<<
 *     GL_FRONT_FACE: 1,
 *     GL_GENERATE_MIPMAP_HINT: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_96); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":388
 *     GL_ELEMENT_ARRAY_BUFFER_BINDING: 1,
 *     GL_FRAMEBUFFER_BINDING: 1,
 *     GL_FRONT_FACE: 1,             # <<<<<<<<<<<<<<
 *     GL_GENERATE_MIPMAP_HINT: 1,
 *     GL_GREEN_BITS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_FRONT_FACE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 388; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":389
 *     GL_FRAMEBUFFER_BINDING: 1,
 *     GL_FRONT_FACE: 1,
 *     GL_GENERATE_MIPMAP_HINT: 1,             # <<<<<<<<<<<<<<
 *     GL_GREEN_BITS: 1,
 *     GL_LINE_WIDTH: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_42); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":390
 *     GL_FRONT_FACE: 1,
 *     GL_GENERATE_MIPMAP_HINT: 1,
 *     GL_GREEN_BITS: 1,             # <<<<<<<<<<<<<<
 *     GL_LINE_WIDTH: 1,
 *     GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_GREEN_BITS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":391
 *     GL_GENERATE_MIPMAP_HINT: 1,
 *     GL_GREEN_BITS: 1,
 *     GL_LINE_WIDTH: 1,             # <<<<<<<<<<<<<<
 *     GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 1,
 *     GL_MAX_CUBE_MAP_TEXTURE_SIZE: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_LINE_WIDTH); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":392
 *     GL_GREEN_BITS: 1,
 *     GL_LINE_WIDTH: 1,
 *     GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 1,             # <<<<<<<<<<<<<<
 *     GL_MAX_CUBE_MAP_TEXTURE_SIZE: 1,
 *     GL_MAX_RENDERBUFFER_SIZE: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_47); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":393
 *     GL_LINE_WIDTH: 1,
 *     GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 1,
 *     GL_MAX_CUBE_MAP_TEXTURE_SIZE: 1,             # <<<<<<<<<<<<<<
 *     GL_MAX_RENDERBUFFER_SIZE: 1,
 *     GL_MAX_TEXTURE_IMAGE_UNITS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_67); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":394
 *     GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS: 1,
 *     GL_MAX_CUBE_MAP_TEXTURE_SIZE: 1,
 *     GL_MAX_RENDERBUFFER_SIZE: 1,             # <<<<<<<<<<<<<<
 *     GL_MAX_TEXTURE_IMAGE_UNITS: 1,
 *     GL_MAX_TEXTURE_SIZE: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_98); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":395
 *     GL_MAX_CUBE_MAP_TEXTURE_SIZE: 1,
 *     GL_MAX_RENDERBUFFER_SIZE: 1,
 *     GL_MAX_TEXTURE_IMAGE_UNITS: 1,             # <<<<<<<<<<<<<<
 *     GL_MAX_TEXTURE_SIZE: 1,
 *     GL_MAX_VERTEX_ATTRIBS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_49); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":396
 *     GL_MAX_RENDERBUFFER_SIZE: 1,
 *     GL_MAX_TEXTURE_IMAGE_UNITS: 1,
 *     GL_MAX_TEXTURE_SIZE: 1,             # <<<<<<<<<<<<<<
 *     GL_MAX_VERTEX_ATTRIBS: 1,
 *     GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_MAX_TEXTURE_SIZE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":397
 *     GL_MAX_TEXTURE_IMAGE_UNITS: 1,
 *     GL_MAX_TEXTURE_SIZE: 1,
 *     GL_MAX_VERTEX_ATTRIBS: 1,             # <<<<<<<<<<<<<<
 *     GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: 1,
 *     GL_MAX_VIEWPORT_DIMS: 2,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_46); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":398
 *     GL_MAX_TEXTURE_SIZE: 1,
 *     GL_MAX_VERTEX_ATTRIBS: 1,
 *     GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: 1,             # <<<<<<<<<<<<<<
 *     GL_MAX_VIEWPORT_DIMS: 2,
 *     GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_48); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":399
 *     GL_MAX_VERTEX_ATTRIBS: 1,
 *     GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: 1,
 *     GL_MAX_VIEWPORT_DIMS: 2,             # <<<<<<<<<<<<<<
 *     GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1,
 *     GL_PACK_ALIGNMENT: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_34); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":400
 *     GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS: 1,
 *     GL_MAX_VIEWPORT_DIMS: 2,
 *     GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1,             # <<<<<<<<<<<<<<
 *     GL_PACK_ALIGNMENT: 1,
 *     GL_POLYGON_OFFSET_FACTOR: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_40); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":401
 *     GL_MAX_VIEWPORT_DIMS: 2,
 *     GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1,
 *     GL_PACK_ALIGNMENT: 1,             # <<<<<<<<<<<<<<
 *     GL_POLYGON_OFFSET_FACTOR: 1,
 *     GL_POLYGON_OFFSET_FILL: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_PACK_ALIGNMENT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":402
 *     GL_NUM_COMPRESSED_TEXTURE_FORMATS: 1,
 *     GL_PACK_ALIGNMENT: 1,
 *     GL_POLYGON_OFFSET_FACTOR: 1,             # <<<<<<<<<<<<<<
 *     GL_POLYGON_OFFSET_FILL: 1,
 *     GL_POLYGON_OFFSET_UNITS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_36); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":403
 *     GL_PACK_ALIGNMENT: 1,
 *     GL_POLYGON_OFFSET_FACTOR: 1,
 *     GL_POLYGON_OFFSET_FILL: 1,             # <<<<<<<<<<<<<<
 *     GL_POLYGON_OFFSET_UNITS: 1,
 *     GL_RED_BITS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_16); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":404
 *     GL_POLYGON_OFFSET_FACTOR: 1,
 *     GL_POLYGON_OFFSET_FILL: 1,
 *     GL_POLYGON_OFFSET_UNITS: 1,             # <<<<<<<<<<<<<<
 *     GL_RED_BITS: 1,
 *     GL_RENDERBUFFER_BINDING: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_35); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":405
 *     GL_POLYGON_OFFSET_FILL: 1,
 *     GL_POLYGON_OFFSET_UNITS: 1,
 *     GL_RED_BITS: 1,             # <<<<<<<<<<<<<<
 *     GL_RENDERBUFFER_BINDING: 1,
 *     GL_SAMPLE_BUFFERS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_RED_BITS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":406
 *     GL_POLYGON_OFFSET_UNITS: 1,
 *     GL_RED_BITS: 1,
 *     GL_RENDERBUFFER_BINDING: 1,             # <<<<<<<<<<<<<<
 *     GL_SAMPLE_BUFFERS: 1,
 *     GL_SAMPLE_COVERAGE_INVERT: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_97); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":407
 *     GL_RED_BITS: 1,
 *     GL_RENDERBUFFER_BINDING: 1,
 *     GL_SAMPLE_BUFFERS: 1,             # <<<<<<<<<<<<<<
 *     GL_SAMPLE_COVERAGE_INVERT: 1,
 *     GL_SAMPLE_COVERAGE_VALUE: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_SAMPLE_BUFFERS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":408
 *     GL_RENDERBUFFER_BINDING: 1,
 *     GL_SAMPLE_BUFFERS: 1,
 *     GL_SAMPLE_COVERAGE_INVERT: 1,             # <<<<<<<<<<<<<<
 *     GL_SAMPLE_COVERAGE_VALUE: 1,
 *     GL_SAMPLES: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_39); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":409
 *     GL_SAMPLE_BUFFERS: 1,
 *     GL_SAMPLE_COVERAGE_INVERT: 1,
 *     GL_SAMPLE_COVERAGE_VALUE: 1,             # <<<<<<<<<<<<<<
 *     GL_SAMPLES: 1,
 *     GL_SCISSOR_BOX: 4,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_38); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":410
 *     GL_SAMPLE_COVERAGE_INVERT: 1,
 *     GL_SAMPLE_COVERAGE_VALUE: 1,
 *     GL_SAMPLES: 1,             # <<<<<<<<<<<<<<
 *     GL_SCISSOR_BOX: 4,
 *     GL_SCISSOR_TEST: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_SAMPLES); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":411
 *     GL_SAMPLE_COVERAGE_VALUE: 1,
 *     GL_SAMPLES: 1,
 *     GL_SCISSOR_BOX: 4,             # <<<<<<<<<<<<<<
 *     GL_SCISSOR_TEST: 1,
 *     GL_STENCIL_BACK_FAIL: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_SCISSOR_BOX); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":412
 *     GL_SAMPLES: 1,
 *     GL_SCISSOR_BOX: 4,
 *     GL_SCISSOR_TEST: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_BACK_FAIL: 1,
 *     GL_STENCIL_BACK_FUNC: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_SCISSOR_TEST); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":413
 *     GL_SCISSOR_BOX: 4,
 *     GL_SCISSOR_TEST: 1,
 *     GL_STENCIL_BACK_FAIL: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_BACK_FUNC: 1,
 *     GL_STENCIL_BACK_PASS_DEPTH_FAIL: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_28); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":414
 *     GL_SCISSOR_TEST: 1,
 *     GL_STENCIL_BACK_FAIL: 1,
 *     GL_STENCIL_BACK_FUNC: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_BACK_PASS_DEPTH_FAIL: 1,
 *     GL_STENCIL_BACK_PASS_DEPTH_PASS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_27); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":415
 *     GL_STENCIL_BACK_FAIL: 1,
 *     GL_STENCIL_BACK_FUNC: 1,
 *     GL_STENCIL_BACK_PASS_DEPTH_FAIL: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_BACK_PASS_DEPTH_PASS: 1,
 *     GL_STENCIL_BACK_REF: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_29); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 415; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":416
 *     GL_STENCIL_BACK_FUNC: 1,
 *     GL_STENCIL_BACK_PASS_DEPTH_FAIL: 1,
 *     GL_STENCIL_BACK_PASS_DEPTH_PASS: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_BACK_REF: 1,
 *     GL_STENCIL_BACK_VALUE_MASK: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_30); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":417
 *     GL_STENCIL_BACK_PASS_DEPTH_FAIL: 1,
 *     GL_STENCIL_BACK_PASS_DEPTH_PASS: 1,
 *     GL_STENCIL_BACK_REF: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_BACK_VALUE_MASK: 1,
 *     GL_STENCIL_BACK_WRITEMASK: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_STENCIL_BACK_REF); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":418
 *     GL_STENCIL_BACK_PASS_DEPTH_PASS: 1,
 *     GL_STENCIL_BACK_REF: 1,
 *     GL_STENCIL_BACK_VALUE_MASK: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_BACK_WRITEMASK: 1,
 *     GL_STENCIL_BITS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_31); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":419
 *     GL_STENCIL_BACK_REF: 1,
 *     GL_STENCIL_BACK_VALUE_MASK: 1,
 *     GL_STENCIL_BACK_WRITEMASK: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_BITS: 1,
 *     GL_STENCIL_CLEAR_VALUE: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_32); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":420
 *     GL_STENCIL_BACK_VALUE_MASK: 1,
 *     GL_STENCIL_BACK_WRITEMASK: 1,
 *     GL_STENCIL_BITS: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_CLEAR_VALUE: 1,
 *     GL_STENCIL_FAIL: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_STENCIL_BITS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":421
 *     GL_STENCIL_BACK_WRITEMASK: 1,
 *     GL_STENCIL_BITS: 1,
 *     GL_STENCIL_CLEAR_VALUE: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_FAIL: 1,
 *     GL_STENCIL_FUNC: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_22); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":422
 *     GL_STENCIL_BITS: 1,
 *     GL_STENCIL_CLEAR_VALUE: 1,
 *     GL_STENCIL_FAIL: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_FUNC: 1,
 *     GL_STENCIL_PASS_DEPTH_FAIL: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_STENCIL_FAIL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":423
 *     GL_STENCIL_CLEAR_VALUE: 1,
 *     GL_STENCIL_FAIL: 1,
 *     GL_STENCIL_FUNC: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_PASS_DEPTH_FAIL: 1,
 *     GL_STENCIL_PASS_DEPTH_PASS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_STENCIL_FUNC); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":424
 *     GL_STENCIL_FAIL: 1,
 *     GL_STENCIL_FUNC: 1,
 *     GL_STENCIL_PASS_DEPTH_FAIL: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_PASS_DEPTH_PASS: 1,
 *     GL_STENCIL_REF: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_23); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":425
 *     GL_STENCIL_FUNC: 1,
 *     GL_STENCIL_PASS_DEPTH_FAIL: 1,
 *     GL_STENCIL_PASS_DEPTH_PASS: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_REF: 1,
 *     GL_STENCIL_TEST: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_24); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":426
 *     GL_STENCIL_PASS_DEPTH_FAIL: 1,
 *     GL_STENCIL_PASS_DEPTH_PASS: 1,
 *     GL_STENCIL_REF: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_TEST: 1,
 *     GL_STENCIL_VALUE_MASK: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_STENCIL_REF); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":427
 *     GL_STENCIL_PASS_DEPTH_PASS: 1,
 *     GL_STENCIL_REF: 1,
 *     GL_STENCIL_TEST: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_VALUE_MASK: 1,
 *     GL_STENCIL_WRITEMASK: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_STENCIL_TEST); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":428
 *     GL_STENCIL_REF: 1,
 *     GL_STENCIL_TEST: 1,
 *     GL_STENCIL_VALUE_MASK: 1,             # <<<<<<<<<<<<<<
 *     GL_STENCIL_WRITEMASK: 1,
 *     GL_SUBPIXEL_BITS: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_25); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":429
 *     GL_STENCIL_TEST: 1,
 *     GL_STENCIL_VALUE_MASK: 1,
 *     GL_STENCIL_WRITEMASK: 1,             # <<<<<<<<<<<<<<
 *     GL_SUBPIXEL_BITS: 1,
 *     GL_TEXTURE_BINDING_2D: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_26); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":430
 *     GL_STENCIL_VALUE_MASK: 1,
 *     GL_STENCIL_WRITEMASK: 1,
 *     GL_SUBPIXEL_BITS: 1,             # <<<<<<<<<<<<<<
 *     GL_TEXTURE_BINDING_2D: 1,
 *     GL_TEXTURE_BINDING_CUBE_MAP: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_SUBPIXEL_BITS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":431
 *     GL_STENCIL_WRITEMASK: 1,
 *     GL_SUBPIXEL_BITS: 1,
 *     GL_TEXTURE_BINDING_2D: 1,             # <<<<<<<<<<<<<<
 *     GL_TEXTURE_BINDING_CUBE_MAP: 1,
 *     GL_UNPACK_ALIGNMENT: 1,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_37); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":432
 *     GL_SUBPIXEL_BITS: 1,
 *     GL_TEXTURE_BINDING_2D: 1,
 *     GL_TEXTURE_BINDING_CUBE_MAP: 1,             # <<<<<<<<<<<<<<
 *     GL_UNPACK_ALIGNMENT: 1,
 *     GL_VIEWPORT: 4,
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_60); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":433
 *     GL_TEXTURE_BINDING_2D: 1,
 *     GL_TEXTURE_BINDING_CUBE_MAP: 1,
 *     GL_UNPACK_ALIGNMENT: 1,             # <<<<<<<<<<<<<<
 *     GL_VIEWPORT: 4,
 * }
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_UNPACK_ALIGNMENT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":434
 *     GL_TEXTURE_BINDING_CUBE_MAP: 1,
 *     GL_UNPACK_ALIGNMENT: 1,
 *     GL_VIEWPORT: 4,             # <<<<<<<<<<<<<<
 * }
 * 
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_VIEWPORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___GL_GET_SIZE, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":439
 * # Available only with ES2
 * IF USE_OPENGL_ES2:
 *     GL_FIXED = c_opengl.GL_FIXED             # <<<<<<<<<<<<<<
 *     GL_MAX_VERTEX_UNIFORM_VECTORS = c_opengl.GL_MAX_VERTEX_UNIFORM_VECTORS
 *     GL_MAX_VARYING_VECTORS = c_opengl.GL_MAX_VARYING_VECTORS
 */
  __pyx_t_1 = PyInt_FromLong(GL_FIXED); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_FIXED, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":440
 * IF USE_OPENGL_ES2:
 *     GL_FIXED = c_opengl.GL_FIXED
 *     GL_MAX_VERTEX_UNIFORM_VECTORS = c_opengl.GL_MAX_VERTEX_UNIFORM_VECTORS             # <<<<<<<<<<<<<<
 *     GL_MAX_VARYING_VECTORS = c_opengl.GL_MAX_VARYING_VECTORS
 *     GL_MAX_FRAGMENT_UNIFORM_VECTORS = c_opengl.GL_MAX_FRAGMENT_UNIFORM_VECTORS
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_VERTEX_UNIFORM_VECTORS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_102, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":441
 *     GL_FIXED = c_opengl.GL_FIXED
 *     GL_MAX_VERTEX_UNIFORM_VECTORS = c_opengl.GL_MAX_VERTEX_UNIFORM_VECTORS
 *     GL_MAX_VARYING_VECTORS = c_opengl.GL_MAX_VARYING_VECTORS             # <<<<<<<<<<<<<<
 *     GL_MAX_FRAGMENT_UNIFORM_VECTORS = c_opengl.GL_MAX_FRAGMENT_UNIFORM_VECTORS
 *     GL_IMPLEMENTATION_COLOR_READ_TYPE = c_opengl.GL_IMPLEMENTATION_COLOR_READ_TYPE
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_VARYING_VECTORS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_103, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":442
 *     GL_MAX_VERTEX_UNIFORM_VECTORS = c_opengl.GL_MAX_VERTEX_UNIFORM_VECTORS
 *     GL_MAX_VARYING_VECTORS = c_opengl.GL_MAX_VARYING_VECTORS
 *     GL_MAX_FRAGMENT_UNIFORM_VECTORS = c_opengl.GL_MAX_FRAGMENT_UNIFORM_VECTORS             # <<<<<<<<<<<<<<
 *     GL_IMPLEMENTATION_COLOR_READ_TYPE = c_opengl.GL_IMPLEMENTATION_COLOR_READ_TYPE
 *     GL_IMPLEMENTATION_COLOR_READ_FORMAT = c_opengl.GL_IMPLEMENTATION_COLOR_READ_FORMAT
 */
  __pyx_t_1 = PyInt_FromLong(GL_MAX_FRAGMENT_UNIFORM_VECTORS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_104, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":443
 *     GL_MAX_VARYING_VECTORS = c_opengl.GL_MAX_VARYING_VECTORS
 *     GL_MAX_FRAGMENT_UNIFORM_VECTORS = c_opengl.GL_MAX_FRAGMENT_UNIFORM_VECTORS
 *     GL_IMPLEMENTATION_COLOR_READ_TYPE = c_opengl.GL_IMPLEMENTATION_COLOR_READ_TYPE             # <<<<<<<<<<<<<<
 *     GL_IMPLEMENTATION_COLOR_READ_FORMAT = c_opengl.GL_IMPLEMENTATION_COLOR_READ_FORMAT
 *     GL_SHADER_COMPILER = c_opengl.GL_SHADER_COMPILER
 */
  __pyx_t_1 = PyInt_FromLong(GL_IMPLEMENTATION_COLOR_READ_TYPE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_105, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":444
 *     GL_MAX_FRAGMENT_UNIFORM_VECTORS = c_opengl.GL_MAX_FRAGMENT_UNIFORM_VECTORS
 *     GL_IMPLEMENTATION_COLOR_READ_TYPE = c_opengl.GL_IMPLEMENTATION_COLOR_READ_TYPE
 *     GL_IMPLEMENTATION_COLOR_READ_FORMAT = c_opengl.GL_IMPLEMENTATION_COLOR_READ_FORMAT             # <<<<<<<<<<<<<<
 *     GL_SHADER_COMPILER = c_opengl.GL_SHADER_COMPILER
 *     GL_NUM_SHADER_BINARY_FORMATS = c_opengl.GL_NUM_SHADER_BINARY_FORMATS
 */
  __pyx_t_1 = PyInt_FromLong(GL_IMPLEMENTATION_COLOR_READ_FORMAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_106, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":445
 *     GL_IMPLEMENTATION_COLOR_READ_TYPE = c_opengl.GL_IMPLEMENTATION_COLOR_READ_TYPE
 *     GL_IMPLEMENTATION_COLOR_READ_FORMAT = c_opengl.GL_IMPLEMENTATION_COLOR_READ_FORMAT
 *     GL_SHADER_COMPILER = c_opengl.GL_SHADER_COMPILER             # <<<<<<<<<<<<<<
 *     GL_NUM_SHADER_BINARY_FORMATS = c_opengl.GL_NUM_SHADER_BINARY_FORMATS
 *     GL_LOW_FLOAT = c_opengl.GL_LOW_FLOAT
 */
  __pyx_t_1 = PyInt_FromLong(GL_SHADER_COMPILER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_SHADER_COMPILER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":446
 *     GL_IMPLEMENTATION_COLOR_READ_FORMAT = c_opengl.GL_IMPLEMENTATION_COLOR_READ_FORMAT
 *     GL_SHADER_COMPILER = c_opengl.GL_SHADER_COMPILER
 *     GL_NUM_SHADER_BINARY_FORMATS = c_opengl.GL_NUM_SHADER_BINARY_FORMATS             # <<<<<<<<<<<<<<
 *     GL_LOW_FLOAT = c_opengl.GL_LOW_FLOAT
 *     GL_MEDIUM_FLOAT = c_opengl.GL_MEDIUM_FLOAT
 */
  __pyx_t_1 = PyInt_FromLong(GL_NUM_SHADER_BINARY_FORMATS); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_107, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":447
 *     GL_SHADER_COMPILER = c_opengl.GL_SHADER_COMPILER
 *     GL_NUM_SHADER_BINARY_FORMATS = c_opengl.GL_NUM_SHADER_BINARY_FORMATS
 *     GL_LOW_FLOAT = c_opengl.GL_LOW_FLOAT             # <<<<<<<<<<<<<<
 *     GL_MEDIUM_FLOAT = c_opengl.GL_MEDIUM_FLOAT
 *     GL_HIGH_FLOAT = c_opengl.GL_HIGH_FLOAT
 */
  __pyx_t_1 = PyInt_FromLong(GL_LOW_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LOW_FLOAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":448
 *     GL_NUM_SHADER_BINARY_FORMATS = c_opengl.GL_NUM_SHADER_BINARY_FORMATS
 *     GL_LOW_FLOAT = c_opengl.GL_LOW_FLOAT
 *     GL_MEDIUM_FLOAT = c_opengl.GL_MEDIUM_FLOAT             # <<<<<<<<<<<<<<
 *     GL_HIGH_FLOAT = c_opengl.GL_HIGH_FLOAT
 *     GL_LOW_INT = c_opengl.GL_LOW_INT
 */
  __pyx_t_1 = PyInt_FromLong(GL_MEDIUM_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_MEDIUM_FLOAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":449
 *     GL_LOW_FLOAT = c_opengl.GL_LOW_FLOAT
 *     GL_MEDIUM_FLOAT = c_opengl.GL_MEDIUM_FLOAT
 *     GL_HIGH_FLOAT = c_opengl.GL_HIGH_FLOAT             # <<<<<<<<<<<<<<
 *     GL_LOW_INT = c_opengl.GL_LOW_INT
 *     GL_MEDIUM_INT = c_opengl.GL_MEDIUM_INT
 */
  __pyx_t_1 = PyInt_FromLong(GL_HIGH_FLOAT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_HIGH_FLOAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":450
 *     GL_MEDIUM_FLOAT = c_opengl.GL_MEDIUM_FLOAT
 *     GL_HIGH_FLOAT = c_opengl.GL_HIGH_FLOAT
 *     GL_LOW_INT = c_opengl.GL_LOW_INT             # <<<<<<<<<<<<<<
 *     GL_MEDIUM_INT = c_opengl.GL_MEDIUM_INT
 *     GL_HIGH_INT = c_opengl.GL_HIGH_INT
 */
  __pyx_t_1 = PyInt_FromLong(GL_LOW_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_LOW_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":451
 *     GL_HIGH_FLOAT = c_opengl.GL_HIGH_FLOAT
 *     GL_LOW_INT = c_opengl.GL_LOW_INT
 *     GL_MEDIUM_INT = c_opengl.GL_MEDIUM_INT             # <<<<<<<<<<<<<<
 *     GL_HIGH_INT = c_opengl.GL_HIGH_INT
 *     # update sizes
 */
  __pyx_t_1 = PyInt_FromLong(GL_MEDIUM_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_MEDIUM_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":452
 *     GL_LOW_INT = c_opengl.GL_LOW_INT
 *     GL_MEDIUM_INT = c_opengl.GL_MEDIUM_INT
 *     GL_HIGH_INT = c_opengl.GL_HIGH_INT             # <<<<<<<<<<<<<<
 *     # update sizes
 *     _GL_GET_SIZE[GL_MAX_VERTEX_UNIFORM_VECTORS] = 1
 */
  __pyx_t_1 = PyInt_FromLong(GL_HIGH_INT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GL_HIGH_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":454
 *     GL_HIGH_INT = c_opengl.GL_HIGH_INT
 *     # update sizes
 *     _GL_GET_SIZE[GL_MAX_VERTEX_UNIFORM_VECTORS] = 1             # <<<<<<<<<<<<<<
 *     _GL_GET_SIZE[GL_MAX_VARYING_VECTORS] = 1
 *     _GL_GET_SIZE[GL_MAX_FRAGMENT_UNIFORM_VECTORS] = 1
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_102); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":455
 *     # update sizes
 *     _GL_GET_SIZE[GL_MAX_VERTEX_UNIFORM_VECTORS] = 1
 *     _GL_GET_SIZE[GL_MAX_VARYING_VECTORS] = 1             # <<<<<<<<<<<<<<
 *     _GL_GET_SIZE[GL_MAX_FRAGMENT_UNIFORM_VECTORS] = 1
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_FORMAT] = 1
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s_103); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetItem(__pyx_t_3, __pyx_t_1, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":456
 *     _GL_GET_SIZE[GL_MAX_VERTEX_UNIFORM_VECTORS] = 1
 *     _GL_GET_SIZE[GL_MAX_VARYING_VECTORS] = 1
 *     _GL_GET_SIZE[GL_MAX_FRAGMENT_UNIFORM_VECTORS] = 1             # <<<<<<<<<<<<<<
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_FORMAT] = 1
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_TYPE] = 1
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_104); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":457
 *     _GL_GET_SIZE[GL_MAX_VARYING_VECTORS] = 1
 *     _GL_GET_SIZE[GL_MAX_FRAGMENT_UNIFORM_VECTORS] = 1
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_FORMAT] = 1             # <<<<<<<<<<<<<<
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_TYPE] = 1
 *     _GL_GET_SIZE[GL_SHADER_COMPILER] = 1
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s_106); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetItem(__pyx_t_3, __pyx_t_1, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":458
 *     _GL_GET_SIZE[GL_MAX_FRAGMENT_UNIFORM_VECTORS] = 1
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_FORMAT] = 1
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_TYPE] = 1             # <<<<<<<<<<<<<<
 *     _GL_GET_SIZE[GL_SHADER_COMPILER] = 1
 *     _GL_GET_SIZE[GL_NUM_SHADER_BINARY_FORMATS] = 1
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_105); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":459
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_FORMAT] = 1
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_TYPE] = 1
 *     _GL_GET_SIZE[GL_SHADER_COMPILER] = 1             # <<<<<<<<<<<<<<
 *     _GL_GET_SIZE[GL_NUM_SHADER_BINARY_FORMATS] = 1
 *     _GL_GET_SIZE[GL_SHADER_BINARY_FORMATS] = GL_NUM_SHADER_BINARY_FORMATS
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__GL_SHADER_COMPILER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetItem(__pyx_t_3, __pyx_t_1, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy/graphics/opengl.pyx":460
 *     _GL_GET_SIZE[GL_IMPLEMENTATION_COLOR_READ_TYPE] = 1
 *     _GL_GET_SIZE[GL_SHADER_COMPILER] = 1
 *     _GL_GET_SIZE[GL_NUM_SHADER_BINARY_FORMATS] = 1             # <<<<<<<<<<<<<<
 *     _GL_GET_SIZE[GL_SHADER_BINARY_FORMATS] = GL_NUM_SHADER_BINARY_FORMATS
 * 
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_107); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 460; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":461
 *     _GL_GET_SIZE[GL_SHADER_COMPILER] = 1
 *     _GL_GET_SIZE[GL_NUM_SHADER_BINARY_FORMATS] = 1
 *     _GL_GET_SIZE[GL_SHADER_BINARY_FORMATS] = GL_NUM_SHADER_BINARY_FORMATS             # <<<<<<<<<<<<<<
 * 
 * 
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_107); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s_100); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyObject_SetItem(__pyx_t_1, __pyx_t_2, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":464
 * 
 * 
 * def glActiveTexture(GLenum texture):             # <<<<<<<<<<<<<<
 *     '''See: `glActiveTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glActiveTexture.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_glActiveTexture, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glActiveTexture, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":470
 *     c_opengl.glActiveTexture(texture)
 * 
 * def glAttachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glAttachShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glAttachShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_1glAttachShader, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glAttachShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":476
 *     c_opengl.glAttachShader(program, shader)
 * 
 * def glBindAttribLocation(GLuint program, GLuint index, bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glBindAttribLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindAttribLocation.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_2glBindAttribLocation, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_109, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":482
 *     c_opengl.glBindAttribLocation(program, index, <char *>name)
 * 
 * def glBindBuffer(GLenum target, GLuint buffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindBuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindBuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_3glBindBuffer, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBindBuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":488
 *     c_opengl.glBindBuffer(target, buffer)
 * 
 * def glBindFramebuffer(GLenum target, GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindFramebuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindFramebuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_4glBindFramebuffer, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBindFramebuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":494
 *     c_opengl.glBindFramebuffer(target, framebuffer)
 * 
 * def glBindRenderbuffer(GLenum target, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_5glBindRenderbuffer, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBindRenderbuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":500
 *     c_opengl.glBindRenderbuffer(target, renderbuffer)
 * 
 * def glBindTexture(GLenum target, GLuint texture):             # <<<<<<<<<<<<<<
 *     '''See: `glBindTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindTexture.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_6glBindTexture, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBindTexture, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":506
 *     c_opengl.glBindTexture(target, texture)
 * 
 * def glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendColor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendColor.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_7glBlendColor, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBlendColor, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":512
 *     c_opengl.glBlendColor(red, green, blue, alpha)
 * 
 * def glBlendEquation(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendEquation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquation.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_8glBlendEquation, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBlendEquation, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":518
 *     c_opengl.glBlendEquation(mode)
 * 
 * def glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendEquationSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquationSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_9glBlendEquationSeparate, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_110, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":524
 *     c_opengl.glBlendEquationSeparate(modeRGB, modeAlpha)
 * 
 * def glBlendFunc(GLenum sfactor, GLenum dfactor):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFunc.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_10glBlendFunc, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBlendFunc, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":530
 *     c_opengl.glBlendFunc(sfactor, dfactor)
 * 
 * def glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendFuncSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFuncSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_11glBlendFuncSeparate, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBlendFuncSeparate, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":536
 *     c_opengl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)
 * 
 * def glBufferData(GLenum target, GLsizeiptr size, bytes data, GLenum usage):             # <<<<<<<<<<<<<<
 *     '''See: `glBufferData() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferData.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_12glBufferData, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBufferData, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":542
 *     c_opengl.glBufferData(target, size, <char *>data, usage)
 * 
 * def glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data):             # <<<<<<<<<<<<<<
 *     '''See: `glBufferSubData() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferSubData.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_13glBufferSubData, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBufferSubData, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":548
 *     c_opengl.glBufferSubData(target, offset, size, <char *>data)
 * 
 * def glCheckFramebufferStatus(GLenum target):             # <<<<<<<<<<<<<<
 *     '''See: `glCheckFramebufferStatus() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCheckFramebufferStatus.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_14glCheckFramebufferStatus, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_111, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":556
 *     return result
 * 
 * def glClear(GLbitfield mask):             # <<<<<<<<<<<<<<
 *     '''See: `glClear() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClear.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_15glClear, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glClear, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":562
 *     c_opengl.glClear(mask)
 * 
 * def glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glClearColor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearColor.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_16glClearColor, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glClearColor, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":568
 *     c_opengl.glClearColor(red, green, blue, alpha)
 * 
 * def glClearDepthf(GLclampf depth):             # <<<<<<<<<<<<<<
 *     '''See: `glClearDepthf() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearDepthf.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_17glClearDepthf, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glClearDepthf, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 568; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":574
 *     c_opengl.glClearDepthf(depth)
 * 
 * def glClearStencil(GLint s):             # <<<<<<<<<<<<<<
 *     '''See: `glClearStencil() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearStencil.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_18glClearStencil, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glClearStencil, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":580
 *     c_opengl.glClearStencil(s)
 * 
 * def glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glColorMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glColorMask.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_19glColorMask, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glColorMask, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":586
 *     c_opengl.glColorMask(red, green, blue, alpha)
 * 
 * def glCompileShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glCompileShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompileShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_20glCompileShader, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glCompileShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 586; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":592
 *     c_opengl.glCompileShader(shader)
 * 
 * def glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat,             # <<<<<<<<<<<<<<
 *                            GLsizei width, GLsizei height, GLint border, GLsizei
 *                            imageSize,  bytes data):
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_21glCompressedTexImage2D, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_112, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":601
 *                                     height, border, imageSize, <char *>data)
 * 
 * def glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint             # <<<<<<<<<<<<<<
 *                               yoffset, GLsizei width, GLsizei height, GLenum
 *                               format, GLsizei imageSize,  bytes data):
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_22glCompressedTexSubImage2D, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_113, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":610
 *                                        height, format, imageSize, <char *>data)
 * 
 * def glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border):             # <<<<<<<<<<<<<<
 *     '''See: `glCopyTexImage2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexImage2D.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_23glCopyTexImage2D, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glCopyTexImage2D, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":616
 *     c_opengl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border)
 * 
 * def glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glCopyTexSubImage2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_24glCopyTexSubImage2D, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glCopyTexSubImage2D, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":622
 *     c_opengl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
 * 
 * def glCreateProgram():             # <<<<<<<<<<<<<<
 *     '''See: `glCreateProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_25glCreateProgram, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glCreateProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":630
 *     return id
 * 
 * def glCreateShader(GLenum type):             # <<<<<<<<<<<<<<
 *     '''See: `glCreateShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_26glCreateShader, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glCreateShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":638
 *     return id
 * 
 * def glCullFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glCullFace() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCullFace.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_27glCullFace, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glCullFace, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":644
 *     c_opengl.glCullFace(mode)
 * 
 * def glDeleteBuffers(GLsizei n, bytes buffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteBuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteBuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_28glDeleteBuffers, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDeleteBuffers, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":650
 *     c_opengl.glDeleteBuffers(n, <GLuint *><char *>buffers)
 * 
 * def glDeleteFramebuffers(GLsizei n, bytes framebuffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteFramebuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteFramebuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_29glDeleteFramebuffers, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_114, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":656
 *     c_opengl.glDeleteFramebuffers(n, <GLuint *><char *>framebuffers)
 * 
 * def glDeleteProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_30glDeleteProgram, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDeleteProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":662
 *     c_opengl.glDeleteProgram(program)
 * 
 * def glDeleteRenderbuffers(GLsizei n, bytes renderbuffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteRenderbuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteRenderbuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_31glDeleteRenderbuffers, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_115, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":668
 *     c_opengl.glDeleteRenderbuffers(n, <GLuint *><char *>renderbuffers)
 * 
 * def glDeleteShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_32glDeleteShader, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDeleteShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":674
 *     c_opengl.glDeleteShader(shader)
 * 
 * def glDeleteTextures(GLsizei n, bytes textures):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteTextures() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteTextures.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_33glDeleteTextures, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDeleteTextures, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":680
 *     c_opengl.glDeleteTextures(n, <GLuint *><char *>textures)
 * 
 * def glDepthFunc(GLenum func):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthFunc.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_34glDepthFunc, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDepthFunc, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":686
 *     c_opengl.glDepthFunc(func)
 * 
 * def glDepthMask(GLboolean flag):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthMask.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_35glDepthMask, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDepthMask, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":692
 *     c_opengl.glDepthMask(flag)
 * 
 * def glDepthRangef(GLclampf zNear, GLclampf zFar):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthRangef() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthRangef.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_36glDepthRangef, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDepthRangef, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":698
 *     c_opengl.glDepthRangef(zNear, zFar)
 * 
 * def glDetachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glDetachShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDetachShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_37glDetachShader, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDetachShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":704
 *     c_opengl.glDetachShader(program, shader)
 * 
 * def glDisable(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glDisable() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisable.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_38glDisable, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDisable, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":710
 *     c_opengl.glDisable(cap)
 * 
 * def glDisableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glDisableVertexAttribArray() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisableVertexAttribArray.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_39glDisableVertexAttribArray, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_116, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":716
 *     c_opengl.glDisableVertexAttribArray(index)
 * 
 * def glDrawArrays(GLenum mode, GLint first, GLsizei count):             # <<<<<<<<<<<<<<
 *     '''See: `glDrawArrays() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawArrays.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_40glDrawArrays, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDrawArrays, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":722
 *     c_opengl.glDrawArrays(mode, first, count)
 * 
 * def glDrawElements(GLenum mode, GLsizei count, GLenum type, bytes indices):             # <<<<<<<<<<<<<<
 *     '''See: `glDrawElements() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_41glDrawElements, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glDrawElements, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":728
 *     c_opengl.glDrawElements(mode, count, type, <void *>indices)
 * 
 * def glEnable(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glEnable() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_42glEnable, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glEnable, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":734
 *     c_opengl.glEnable(cap)
 * 
 * def glEnableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glEnableVertexAttribArray() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_43glEnableVertexAttribArray, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_117, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":740
 *     c_opengl.glEnableVertexAttribArray(index)
 * 
 * def glFinish():             # <<<<<<<<<<<<<<
 *     '''See: `glFinish() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFinish.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_44glFinish, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glFinish, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 740; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":746
 *     c_opengl.glFinish()
 * 
 * def glFlush():             # <<<<<<<<<<<<<<
 *     '''See: `glFlush() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFlush.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_45glFlush, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glFlush, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":752
 *     c_opengl.glFlush()
 * 
 * def glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glFramebufferRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferRenderbuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_118, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":758
 *     c_opengl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)
 * 
 * def glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level):             # <<<<<<<<<<<<<<
 *     '''See: `glFramebufferTexture2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferTexture2D.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_47glFramebufferTexture2D, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_119, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":764
 *     c_opengl.glFramebufferTexture2D(target, attachment, textarget, texture, level)
 * 
 * def glFrontFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glFrontFace() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_48glFrontFace, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glFrontFace, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":770
 *     c_opengl.glFrontFace(mode)
 * 
 * def glGenBuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenBuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenBuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_49glGenBuffers, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGenBuffers, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":780
 *     return _genEnd(n, d)
 * 
 * def glGenerateMipmap(GLenum target):             # <<<<<<<<<<<<<<
 *     '''See: `glGenerateMipmap() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenerateMipmap.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_50glGenerateMipmap, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGenerateMipmap, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":786
 *     c_opengl.glGenerateMipmap(target)
 * 
 * def glGenFramebuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenFramebuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenFramebuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_51glGenFramebuffers, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGenFramebuffers, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":796
 *     return _genEnd(n, d)
 * 
 * def glGenRenderbuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenRenderbuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenRenderbuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_52glGenRenderbuffers, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGenRenderbuffers, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":806
 *     return _genEnd(n, d)
 * 
 * def glGenTextures(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenTextures() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenTextures.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_53glGenTextures, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGenTextures, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":816
 *     return _genEnd(n, d)
 * 
 * def glGetActiveAttrib(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glGetActiveAttrib() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveAttrib.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_54glGetActiveAttrib, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetActiveAttrib, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":834
 *     return p_name, size, gl_type
 * 
 * def glGetActiveUniform(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glGetActiveUniform() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveUniform.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_55glGetActiveUniform, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetActiveUniform, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":852
 *     return p_name, size, gl_type
 * 
 * def glGetAttachedShaders(GLuint program, GLsizei maxcount):             # <<<<<<<<<<<<<<
 *     '''See: `glGetAttachedShaders() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttachedShaders.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_56glGetAttachedShaders, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_120, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":863
 *     return _genEnd(count, shaders)
 * 
 * def glGetAttribLocation(GLuint program,  bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetAttribLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttribLocation.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_57glGetAttribLocation, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetAttribLocation, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":871
 *     return c_opengl.glGetAttribLocation(program, <char *>name)
 * 
 * def glGetBooleanv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetBooleanv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBooleanv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_58glGetBooleanv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetBooleanv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":885
 *     return out
 * 
 * def glGetBufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetBufferParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBufferParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_59glGetBufferParameteriv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_121, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 885; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":899
 *     return out
 * 
 * def glGetError():             # <<<<<<<<<<<<<<
 *     '''See: `glGetError() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetError.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_60glGetError, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetError, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":907
 *     return c_opengl.glGetError()
 * 
 * def glGetFloatv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetFloatv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFloatv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_61glGetFloatv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetFloatv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 907; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":921
 *     return out
 * 
 * def glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetFramebufferAttachmentParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFramebufferAttachmentParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_122, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 921; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":935
 *     return out
 * 
 * def glGetIntegerv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetIntegerv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetIntegerv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_63glGetIntegerv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetIntegerv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":949
 *     return out
 * 
 * def glGetProgramiv(GLuint program, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetProgramiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramiv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_64glGetProgramiv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetProgramiv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":959
 *     return params
 * 
 * def glGetProgramInfoLog(GLuint program, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     '''See: `glGetProgramInfoLog() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramInfoLog.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_65glGetProgramInfoLog, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetProgramInfoLog, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":976
 *     return p_infolog
 * 
 * def glGetRenderbufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetRenderbufferParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetRenderbufferParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_123, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":986
 *     return params
 * 
 * def glGetShaderiv(GLuint shader, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderiv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_67glGetShaderiv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetShaderiv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":996
 *     return params
 * 
 * def glGetShaderInfoLog(GLuint shader, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderInfoLog() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderInfoLog.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_68glGetShaderInfoLog, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetShaderInfoLog, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1013
 *     return p_infolog
 * 
 * def glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype): #, GLint* range, GLint* precision):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderPrecisionFormat() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderPrecisionFormat.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_124, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1022
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 * 
 * def glGetShaderSource(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderSource() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderSource.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_70glGetShaderSource, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetShaderSource, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1039
 *     return p_source
 * 
 * def glGetString(GLenum name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetString() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_71glGetString, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetString, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1049
 *     return p_string
 * 
 * def glGetTexParameterfv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetTexParameterfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameterfv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_72glGetTexParameterfv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetTexParameterfv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1057
 *     return params
 * 
 * def glGetTexParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetTexParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_73glGetTexParameteriv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetTexParameteriv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1065
 *     return params
 * 
 * def glGetUniformfv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformfv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_74glGetUniformfv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetUniformfv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1065; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1073
 *     return params
 * 
 * def glGetUniformiv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformiv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_75glGetUniformiv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetUniformiv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1081
 *     return params
 * 
 * def glGetUniformLocation(GLuint program, bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_76glGetUniformLocation, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_125, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1081; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1087
 *     return c_opengl.glGetUniformLocation(program, <char *>name)
 * 
 * def glGetVertexAttribfv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribfv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_77glGetVertexAttribfv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetVertexAttribfv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1087; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1095
 *     return params
 * 
 * def glGetVertexAttribiv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribiv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_78glGetVertexAttribiv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glGetVertexAttribiv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1103
 *     return params
 * 
 * def glGetVertexAttribPointerv(GLuint index, GLenum pname):#, GLvoid** pointer):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribPointerv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribPointerv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_126, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1112
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 * 
 * def glHint(GLenum target, GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glHint() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glHint.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_80glHint, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glHint, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1118
 *     c_opengl.glHint(target, mode)
 * 
 * def glIsBuffer(GLuint buffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsBuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsBuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_81glIsBuffer, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glIsBuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1124
 *     return c_opengl.glIsBuffer(buffer)
 * 
 * def glIsEnabled(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glIsEnabled() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsEnabled.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_82glIsEnabled, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glIsEnabled, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1130
 *     return c_opengl.glIsEnabled(cap)
 * 
 * def glIsFramebuffer(GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsFramebuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsFramebuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_83glIsFramebuffer, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glIsFramebuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1136
 *     return c_opengl.glIsFramebuffer(framebuffer)
 * 
 * def glIsProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glIsProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_84glIsProgram, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glIsProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1142
 *     return c_opengl.glIsProgram(program)
 * 
 * def glIsRenderbuffer(GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsRenderbuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_85glIsRenderbuffer, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glIsRenderbuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1148
 *     return c_opengl.glIsRenderbuffer(renderbuffer)
 * 
 * def glIsShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glIsShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_86glIsShader, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glIsShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1154
 *     return c_opengl.glIsShader(shader)
 * 
 * def glIsTexture(GLuint texture):             # <<<<<<<<<<<<<<
 *     '''See: `glIsTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsTexture.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_87glIsTexture, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glIsTexture, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1160
 *     return c_opengl.glIsTexture(texture)
 * 
 * def glLineWidth(GLfloat width):             # <<<<<<<<<<<<<<
 *     '''See: `glLineWidth() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLineWidth.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_88glLineWidth, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glLineWidth, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1166
 *     c_opengl.glLineWidth(width)
 * 
 * def glLinkProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glLinkProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLinkProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_89glLinkProgram, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glLinkProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1172
 *     c_opengl.glLinkProgram(program)
 * 
 * def glPixelStorei(GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     '''See: `glPixelStorei() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_90glPixelStorei, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glPixelStorei, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1178
 *     c_opengl.glPixelStorei(pname, param)
 * 
 * def glPolygonOffset(GLfloat factor, GLfloat units):             # <<<<<<<<<<<<<<
 *     '''See: `glPolygonOffset() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_91glPolygonOffset, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glPolygonOffset, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1184
 *     c_opengl.glPolygonOffset(factor, units)
 * 
 * def glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,             # <<<<<<<<<<<<<<
 *                  GLenum type): #, GLvoid* pixels):
 *     '''See: `glReadPixels() on Kronos website
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_92glReadPixels, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glReadPixels, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1215
 * # XXX This one is commented out because a) it's not necessary and
 * #	    				b) it's breaking on OSX for some reason
 * def glReleaseShaderCompiler():             # <<<<<<<<<<<<<<
 *     '''See: `glReleaseShaderCompiler() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReleaseShaderCompiler.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_93glReleaseShaderCompiler, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_127, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1224
 * #    c_opengl.glReleaseShaderCompiler()
 * 
 * def glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glRenderbufferStorage() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glRenderbufferStorage.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_94glRenderbufferStorage, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_128, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1230
 *     c_opengl.glRenderbufferStorage(target, internalformat, width, height)
 * 
 * def glSampleCoverage(GLclampf value, GLboolean invert):             # <<<<<<<<<<<<<<
 *     '''See: `glSampleCoverage() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glSampleCoverage.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_95glSampleCoverage, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glSampleCoverage, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1236
 *     c_opengl.glSampleCoverage(value, invert)
 * 
 * def glScissor(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glScissor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glScissor.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_96glScissor, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glScissor, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1242
 *     c_opengl.glScissor(x, y, width, height)
 * 
 * def glShaderBinary():#GLsizei n,  GLuint* shaders, GLenum binaryformat,  bytes GLvoid* binary, GLsizei length):             # <<<<<<<<<<<<<<
 *     '''See: `glShaderBinary() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderBinary.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_97glShaderBinary, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glShaderBinary, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1251
 *     raise NotImplemented()
 * 
 * def glShaderSource(GLuint shader, bytes source):             # <<<<<<<<<<<<<<
 *     '''See: `glShaderSource() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_98glShaderSource, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glShaderSource, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1258
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)
 * 
 * def glStencilFunc(GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFunc.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_99glStencilFunc, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glStencilFunc, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1264
 *     c_opengl.glStencilFunc(func, ref, mask)
 * 
 * def glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilFuncSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFuncSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_100glStencilFuncSeparate, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_129, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1270
 *     c_opengl.glStencilFuncSeparate(face, func, ref, mask)
 * 
 * def glStencilMask(GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMask.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_101glStencilMask, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glStencilMask, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1276
 *     c_opengl.glStencilMask(mask)
 * 
 * def glStencilMaskSeparate(GLenum face, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilMaskSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMaskSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_102glStencilMaskSeparate, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_130, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1282
 *     c_opengl.glStencilMaskSeparate(face, mask)
 * 
 * def glStencilOp(GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilOp() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOp.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_103glStencilOp, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glStencilOp, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1288
 *     c_opengl.glStencilOp(fail, zfail, zpass)
 * 
 * def glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilOpSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOpSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_104glStencilOpSeparate, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glStencilOpSeparate, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1294
 *     c_opengl.glStencilOpSeparate(face, fail, zfail, zpass)
 * 
 * def glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei             # <<<<<<<<<<<<<<
 *                  width, GLsizei height, GLint border, GLenum format, GLenum
 *                  type,  bytes pixels):
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_105glTexImage2D, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glTexImage2D, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1303
 *                           format, type, <GLvoid *><char *>pixels)
 * 
 * def glTexParameterf(GLenum target, GLenum pname, GLfloat param):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameterf() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterf.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_106glTexParameterf, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glTexParameterf, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1309
 *     c_opengl.glTexParameterf(target, pname, param)
 * 
 * def glTexParameterfv(GLenum target, GLenum pname):#,  GLfloat* params):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameterfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterfv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_107glTexParameterfv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glTexParameterfv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1318
 *     raise NotImplemented()
 * 
 * def glTexParameteri(GLenum target, GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameteri() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteri.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_108glTexParameteri, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glTexParameteri, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1324
 *     c_opengl.glTexParameteri(target, pname, param)
 * 
 * def glTexParameteriv(GLenum target, GLenum pname):#,  GLint* params):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_109glTexParameteriv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glTexParameteriv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1333
 *     raise NotImplemented()
 * 
 * def glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,             # <<<<<<<<<<<<<<
 *                     GLsizei width, GLsizei height, GLenum format, GLenum type,
 *                     bytes pixels):
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_110glTexSubImage2D, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glTexSubImage2D, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1342
 *                              format, type, <GLvoid *><char *>pixels)
 * 
 * def glUniform1f(GLint location, GLfloat x):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_111glUniform1f, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform1f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1348
 *     c_opengl.glUniform1f(location, x)
 * 
 * def glUniform1fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_112glUniform1fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform1fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1357
 *     raise NotImplemented()
 * 
 * def glUniform1i(GLint location, GLint x):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1i.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_113glUniform1i, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform1i, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1357; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1363
 *     c_opengl.glUniform1i(location, x)
 * 
 * def glUniform1iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1iv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_114glUniform1iv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform1iv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1372
 *     raise NotImplemented()
 * 
 * def glUniform2f(GLint location, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_115glUniform2f, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform2f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1378
 *     c_opengl.glUniform2f(location, x, y)
 * 
 * def glUniform2fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_116glUniform2fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform2fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1387
 *     raise NotImplemented()
 * 
 * def glUniform2i(GLint location, GLint x, GLint y):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2i.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_117glUniform2i, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform2i, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1393
 *     c_opengl.glUniform2i(location, x, y)
 * 
 * def glUniform2iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2iv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_118glUniform2iv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform2iv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1402
 *     raise NotImplemented()
 * 
 * def glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_119glUniform3f, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform3f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1402; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1408
 *     c_opengl.glUniform3f(location, x, y, z)
 * 
 * def glUniform3fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_120glUniform3fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform3fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1417
 *     raise NotImplemented()
 * 
 * def glUniform3i(GLint location, GLint x, GLint y, GLint z):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3i.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_121glUniform3i, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform3i, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1423
 *     c_opengl.glUniform3i(location, x, y, z)
 * 
 * def glUniform3iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3iv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_122glUniform3iv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform3iv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1432
 *     raise NotImplemented()
 * 
 * def glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_123glUniform4f, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform4f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1440
 *     c_opengl.glUniform4f(location, x, y, z, w)
 * 
 * def glUniform4fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_124glUniform4fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform4fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1449
 *     raise NotImplemented()
 * 
 * def glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4i.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_125glUniform4i, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform4i, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1455
 *     c_opengl.glUniform4i(location, x, y, z, w)
 * 
 * def glUniform4iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4iv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_126glUniform4iv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniform4iv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1464
 *     raise NotImplemented()
 * 
 * def glUniformMatrix2fv(GLint location, GLsizei count):#, GLboolean transpose, bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix2fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_127glUniformMatrix2fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniformMatrix2fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1473
 *     raise NotImplemented()
 * 
 * def glUniformMatrix3fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix3fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_128glUniformMatrix3fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniformMatrix3fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1482
 *     raise NotImplemented()
 * 
 * def glUniformMatrix4fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix4fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_129glUniformMatrix4fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUniformMatrix4fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1491
 *     raise NotImplemented()
 * 
 * def glUseProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glUseProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUseProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_130glUseProgram, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glUseProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1497
 *     c_opengl.glUseProgram(program)
 * 
 * def glValidateProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glValidateProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glValidateProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_131glValidateProgram, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glValidateProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1503
 *     c_opengl.glValidateProgram(program)
 * 
 * def glVertexAttrib1f(GLuint indx, GLfloat x):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib1f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_132glVertexAttrib1f, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glVertexAttrib1f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1509
 *     c_opengl.glVertexAttrib1f(indx, x)
 * 
 * def glVertexAttrib1fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib1fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_133glVertexAttrib1fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glVertexAttrib1fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1518
 *     raise NotImplemented()
 * 
 * def glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib2f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_134glVertexAttrib2f, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glVertexAttrib2f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1524
 *     c_opengl.glVertexAttrib2f(indx, x, y)
 * 
 * def glVertexAttrib2fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_135glVertexAttrib2fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glVertexAttrib2fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1533
 *     raise NotImplemented()
 * 
 * def glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib3f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_136glVertexAttrib3f, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glVertexAttrib3f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1539
 *     c_opengl.glVertexAttrib3f(indx, x, y, z)
 * 
 * def glVertexAttrib3fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_137glVertexAttrib3fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glVertexAttrib3fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1548
 *     raise NotImplemented()
 * 
 * def glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib4f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_138glVertexAttrib4f, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glVertexAttrib4f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1548; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1554
 *     c_opengl.glVertexAttrib4f(indx, x, y, z, w)
 * 
 * def glVertexAttrib4fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_139glVertexAttrib4fv, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glVertexAttrib4fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1563
 *     raise NotImplemented()
 * 
 * def glVertexAttribPointer(GLuint indx, GLint size):#, GLenum type, GLboolean normalized, GLsizei stride,  GLvoid* ptr):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttribPointer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttribPointer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_140glVertexAttribPointer, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_131, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1572
 *     raise NotImplemented()
 * 
 * def glViewport(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glViewport() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glViewport.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_141glViewport, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glViewport, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1584
 *         glewInit()
 * ELSE:
 *     def gl_init_symbols():             # <<<<<<<<<<<<<<
 *         pass
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_142gl_init_symbols, NULL, __pyx_n_s_108); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__gl_init_symbols, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy/graphics/opengl.pyx":1
 * #cython: embedsignature=True             # <<<<<<<<<<<<<<
 * 
 * '''
 */
  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_3)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  if (__pyx_m) {
    __Pyx_AddTraceback("init kivy.graphics.opengl");
    Py_DECREF(__pyx_m); __pyx_m = 0;
  } else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_ImportError, "init kivy.graphics.opengl");
  }
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  #if PY_MAJOR_VERSION < 3
  return;
  #else
  return __pyx_m;
  #endif
}

/* Runtime support code */

static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
    PyObject *result;
    result = PyObject_GetAttr(dict, name);
    if (!result)
        PyErr_SetObject(PyExc_NameError, name);
    return result;
}

static void __Pyx_RaiseArgtupleInvalid(
    const char* func_name,
    int exact,
    Py_ssize_t num_min,
    Py_ssize_t num_max,
    Py_ssize_t num_found)
{
    Py_ssize_t num_expected;
    const char *number, *more_or_less;

    if (num_found < num_min) {
        num_expected = num_min;
        more_or_less = "at least";
    } else {
        num_expected = num_max;
        more_or_less = "at most";
    }
    if (exact) {
        more_or_less = "exactly";
    }
    number = (num_expected == 1) ? "" : "s";
    PyErr_Format(PyExc_TypeError,
        #if PY_VERSION_HEX < 0x02050000
            "%s() takes %s %d positional argument%s (%d given)",
        #else
            "%s() takes %s %zd positional argument%s (%zd given)",
        #endif
        func_name, more_or_less, num_expected, number, num_found);
}

static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        #if PY_MAJOR_VERSION >= 3
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
        #else
        "%s() got multiple values for keyword argument '%s'", func_name,
        PyString_AS_STRING(kw_name));
        #endif
}

static int __Pyx_ParseOptionalKeywords(
    PyObject *kwds,
    PyObject **argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject *key = 0, *value = 0;
    Py_ssize_t pos = 0;
    PyObject*** name;
    PyObject*** first_kw_arg = argnames + num_pos_args;

    while (PyDict_Next(kwds, &pos, &key, &value)) {
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
        } else {
            #if PY_MAJOR_VERSION < 3
            if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) {
            #else
            if (unlikely(!PyUnicode_CheckExact(key)) && unlikely(!PyUnicode_Check(key))) {
            #endif
                goto invalid_keyword_type;
            } else {
                for (name = first_kw_arg; *name; name++) {
                    #if PY_MAJOR_VERSION >= 3
                    if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
                        PyUnicode_Compare(**name, key) == 0) break;
                    #else
                    if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
                        _PyString_Eq(**name, key)) break;
                    #endif
                }
                if (*name) {
                    values[name-argnames] = value;
                } else {
                    /* unexpected keyword found */
                    for (name=argnames; name != first_kw_arg; name++) {
                        if (**name == key) goto arg_passed_twice;
                        #if PY_MAJOR_VERSION >= 3
                        if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
                            PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice;
                        #else
                        if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
                            _PyString_Eq(**name, key)) goto arg_passed_twice;
                        #endif
                    }
                    if (kwds2) {
                        if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
                    } else {
                        goto invalid_keyword;
                    }
                }
            }
        }
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, **name);
    goto bad;
invalid_keyword_type:
    PyErr_Format(PyExc_TypeError,
        "%s() keywords must be strings", function_name);
    goto bad;
invalid_keyword:
    PyErr_Format(PyExc_TypeError,
    #if PY_MAJOR_VERSION < 3
        "%s() got an unexpected keyword argument '%s'",
        function_name, PyString_AsString(key));
    #else
        "%s() got an unexpected keyword argument '%U'",
        function_name, key);
    #endif
bad:
    return -1;
}

static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
    const char *name, int exact)
{
    if (!type) {
        PyErr_Format(PyExc_SystemError, "Missing type object");
        return 0;
    }
    if (none_allowed && obj == Py_None) return 1;
    else if (exact) {
        if (Py_TYPE(obj) == type) return 1;
    }
    else {
        if (PyObject_TypeCheck(obj, type)) return 1;
    }
    PyErr_Format(PyExc_TypeError,
        "Argument '%s' has incorrect type (expected %s, got %s)",
        name, type->tp_name, Py_TYPE(obj)->tp_name);
    return 0;
}


static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
    PyObject *tmp_type, *tmp_value, *tmp_tb;
    PyThreadState *tstate = PyThreadState_GET();

    tmp_type = tstate->curexc_type;
    tmp_value = tstate->curexc_value;
    tmp_tb = tstate->curexc_traceback;
    tstate->curexc_type = type;
    tstate->curexc_value = value;
    tstate->curexc_traceback = tb;
    Py_XDECREF(tmp_type);
    Py_XDECREF(tmp_value);
    Py_XDECREF(tmp_tb);
}

static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
    PyThreadState *tstate = PyThreadState_GET();
    *type = tstate->curexc_type;
    *value = tstate->curexc_value;
    *tb = tstate->curexc_traceback;

    tstate->curexc_type = 0;
    tstate->curexc_value = 0;
    tstate->curexc_traceback = 0;
}


#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
    Py_XINCREF(type);
    Py_XINCREF(value);
    Py_XINCREF(tb);
    /* First, check the traceback argument, replacing None with NULL. */
    if (tb == Py_None) {
        Py_DECREF(tb);
        tb = 0;
    }
    else if (tb != NULL && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto raise_error;
    }
    /* Next, replace a missing value with None */
    if (value == NULL) {
        value = Py_None;
        Py_INCREF(value);
    }
    #if PY_VERSION_HEX < 0x02050000
    if (!PyClass_Check(type))
    #else
    if (!PyType_Check(type))
    #endif
    {
        /* Raising an instance.  The value should be a dummy. */
        if (value != Py_None) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto raise_error;
        }
        /* Normalize to raise <class>, <instance> */
        Py_DECREF(value);
        value = type;
        #if PY_VERSION_HEX < 0x02050000
            if (PyInstance_Check(type)) {
                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
                Py_INCREF(type);
            }
            else {
                type = 0;
                PyErr_SetString(PyExc_TypeError,
                    "raise: exception must be an old-style class or instance");
                goto raise_error;
            }
        #else
            type = (PyObject*) Py_TYPE(type);
            Py_INCREF(type);
            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
                PyErr_SetString(PyExc_TypeError,
                    "raise: exception class must be a subclass of BaseException");
                goto raise_error;
            }
        #endif
    }

    __Pyx_ErrRestore(type, value, tb);
    return;
raise_error:
    Py_XDECREF(value);
    Py_XDECREF(type);
    Py_XDECREF(tb);
    return;
}

#else /* Python 3+ */

static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
    if (tb == Py_None) {
        tb = 0;
    } else if (tb && !PyTraceBack_Check(tb)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: arg 3 must be a traceback or None");
        goto bad;
    }
    if (value == Py_None)
        value = 0;

    if (PyExceptionInstance_Check(type)) {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto bad;
        }
        value = type;
        type = (PyObject*) Py_TYPE(value);
    } else if (!PyExceptionClass_Check(type)) {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }

    PyErr_SetObject(type, value);

    if (tb) {
        PyThreadState *tstate = PyThreadState_GET();
        PyObject* tmp_tb = tstate->curexc_traceback;
        if (tb != tmp_tb) {
            Py_INCREF(tb);
            tstate->curexc_traceback = tb;
            Py_XDECREF(tmp_tb);
        }
    }

bad:
    return;
}
#endif

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_GLenum(GLenum val) {
    const GLenum neg_one = (GLenum)-1, const_zero = (GLenum)0;
    const int is_unsigned = const_zero < neg_one;
    if ((sizeof(GLenum) == sizeof(char))  ||
        (sizeof(GLenum) == sizeof(short))) {
        return PyInt_FromLong((long)val);
    } else if ((sizeof(GLenum) == sizeof(int)) ||
               (sizeof(GLenum) == sizeof(long))) {
        if (is_unsigned)
            return PyLong_FromUnsignedLong((unsigned long)val);
        else
            return PyInt_FromLong((long)val);
    } else if (sizeof(GLenum) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
        else
            return PyLong_FromLongLong((PY_LONG_LONG)val);
    } else {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        return _PyLong_FromByteArray(bytes, sizeof(GLenum), 
                                     little, !is_unsigned);
    }
}

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_GLboolean(GLboolean val) {
    const GLboolean neg_one = (GLboolean)-1, const_zero = (GLboolean)0;
    const int is_unsigned = const_zero < neg_one;
    if ((sizeof(GLboolean) == sizeof(char))  ||
        (sizeof(GLboolean) == sizeof(short))) {
        return PyInt_FromLong((long)val);
    } else if ((sizeof(GLboolean) == sizeof(int)) ||
               (sizeof(GLboolean) == sizeof(long))) {
        if (is_unsigned)
            return PyLong_FromUnsignedLong((unsigned long)val);
        else
            return PyInt_FromLong((long)val);
    } else if (sizeof(GLboolean) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
        else
            return PyLong_FromLongLong((PY_LONG_LONG)val);
    } else {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        return _PyLong_FromByteArray(bytes, sizeof(GLboolean), 
                                     little, !is_unsigned);
    }
}

static CYTHON_INLINE GLenum __Pyx_PyInt_from_py_GLenum(PyObject* x) {
    const GLenum neg_one = (GLenum)-1, const_zero = (GLenum)0;
    const int is_unsigned = const_zero < neg_one;
    if (sizeof(GLenum) == sizeof(char)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedChar(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedChar(x);
    } else if (sizeof(GLenum) == sizeof(short)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedShort(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedShort(x);
    } else if (sizeof(GLenum) == sizeof(int)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedInt(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedInt(x);
    } else if (sizeof(GLenum) == sizeof(long)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedLong(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedLong(x);
    } else if (sizeof(GLenum) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedLongLong(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedLongLong(x);
    }  else {
        GLenum val;
        PyObject *v = __Pyx_PyNumber_Int(x);
        #if PY_VERSION_HEX < 0x03000000
        if (likely(v) && !PyLong_Check(v)) {
            PyObject *tmp = v;
            v = PyNumber_Long(tmp);
            Py_DECREF(tmp);
        }
        #endif
        if (likely(v)) {
            int one = 1; int is_little = (int)*(unsigned char *)&one;
            unsigned char *bytes = (unsigned char *)&val;
            int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                          bytes, sizeof(val),
                                          is_little, !is_unsigned);
            Py_DECREF(v);
            if (likely(!ret))
                return val;
        }
        return (GLenum)-1;
    }
}

static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(unsigned char) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(unsigned char)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to unsigned char" :
                    "value too large to convert to unsigned char");
            }
            return (unsigned char)-1;
        }
        return (unsigned char)val;
    }
    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
}

static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(unsigned short) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(unsigned short)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to unsigned short" :
                    "value too large to convert to unsigned short");
            }
            return (unsigned short)-1;
        }
        return (unsigned short)val;
    }
    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
}

static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(unsigned int) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(unsigned int)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to unsigned int" :
                    "value too large to convert to unsigned int");
            }
            return (unsigned int)-1;
        }
        return (unsigned int)val;
    }
    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
}

static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
    const char neg_one = (char)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(char) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(char)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to char" :
                    "value too large to convert to char");
            }
            return (char)-1;
        }
        return (char)val;
    }
    return (char)__Pyx_PyInt_AsLong(x);
}

static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
    const short neg_one = (short)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(short) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(short)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to short" :
                    "value too large to convert to short");
            }
            return (short)-1;
        }
        return (short)val;
    }
    return (short)__Pyx_PyInt_AsLong(x);
}

static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
    const int neg_one = (int)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(int) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(int)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to int" :
                    "value too large to convert to int");
            }
            return (int)-1;
        }
        return (int)val;
    }
    return (int)__Pyx_PyInt_AsLong(x);
}

static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
    const signed char neg_one = (signed char)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(signed char) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(signed char)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to signed char" :
                    "value too large to convert to signed char");
            }
            return (signed char)-1;
        }
        return (signed char)val;
    }
    return (signed char)__Pyx_PyInt_AsSignedLong(x);
}

static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
    const signed short neg_one = (signed short)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(signed short) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(signed short)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to signed short" :
                    "value too large to convert to signed short");
            }
            return (signed short)-1;
        }
        return (signed short)val;
    }
    return (signed short)__Pyx_PyInt_AsSignedLong(x);
}

static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
    const signed int neg_one = (signed int)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(signed int) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(signed int)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to signed int" :
                    "value too large to convert to signed int");
            }
            return (signed int)-1;
        }
        return (signed int)val;
    }
    return (signed int)__Pyx_PyInt_AsSignedLong(x);
}

static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
    const int neg_one = (int)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
    if (sizeof(int) < sizeof(long)) {
        long val = __Pyx_PyInt_AsLong(x);
        if (unlikely(val != (long)(int)val)) {
            if (!unlikely(val == -1 && PyErr_Occurred())) {
                PyErr_SetString(PyExc_OverflowError,
                    (is_unsigned && unlikely(val < 0)) ?
                    "can't convert negative value to int" :
                    "value too large to convert to int");
            }
            return (int)-1;
        }
        return (int)val;
    }
    return (int)__Pyx_PyInt_AsLong(x);
}

static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to unsigned long");
            return (unsigned long)-1;
        }
        return (unsigned long)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to unsigned long");
                return (unsigned long)-1;
            }
            return PyLong_AsUnsignedLong(x);
        } else {
            return PyLong_AsLong(x);
        }
    } else {
        unsigned long val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (unsigned long)-1;
        val = __Pyx_PyInt_AsUnsignedLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to unsigned PY_LONG_LONG");
            return (unsigned PY_LONG_LONG)-1;
        }
        return (unsigned PY_LONG_LONG)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to unsigned PY_LONG_LONG");
                return (unsigned PY_LONG_LONG)-1;
            }
            return PyLong_AsUnsignedLongLong(x);
        } else {
            return PyLong_AsLongLong(x);
        }
    } else {
        unsigned PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (unsigned PY_LONG_LONG)-1;
        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
    const long neg_one = (long)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to long");
            return (long)-1;
        }
        return (long)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to long");
                return (long)-1;
            }
            return PyLong_AsUnsignedLong(x);
        } else {
            return PyLong_AsLong(x);
        }
    } else {
        long val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (long)-1;
        val = __Pyx_PyInt_AsLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to PY_LONG_LONG");
            return (PY_LONG_LONG)-1;
        }
        return (PY_LONG_LONG)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to PY_LONG_LONG");
                return (PY_LONG_LONG)-1;
            }
            return PyLong_AsUnsignedLongLong(x);
        } else {
            return PyLong_AsLongLong(x);
        }
    } else {
        PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (PY_LONG_LONG)-1;
        val = __Pyx_PyInt_AsLongLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
    const signed long neg_one = (signed long)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to signed long");
            return (signed long)-1;
        }
        return (signed long)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to signed long");
                return (signed long)-1;
            }
            return PyLong_AsUnsignedLong(x);
        } else {
            return PyLong_AsLong(x);
        }
    } else {
        signed long val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (signed long)-1;
        val = __Pyx_PyInt_AsSignedLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
    const int is_unsigned = neg_one > const_zero;
#if PY_VERSION_HEX < 0x03000000
    if (likely(PyInt_Check(x))) {
        long val = PyInt_AS_LONG(x);
        if (is_unsigned && unlikely(val < 0)) {
            PyErr_SetString(PyExc_OverflowError,
                            "can't convert negative value to signed PY_LONG_LONG");
            return (signed PY_LONG_LONG)-1;
        }
        return (signed PY_LONG_LONG)val;
    } else
#endif
    if (likely(PyLong_Check(x))) {
        if (is_unsigned) {
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to signed PY_LONG_LONG");
                return (signed PY_LONG_LONG)-1;
            }
            return PyLong_AsUnsignedLongLong(x);
        } else {
            return PyLong_AsLongLong(x);
        }
    } else {
        signed PY_LONG_LONG val;
        PyObject *tmp = __Pyx_PyNumber_Int(x);
        if (!tmp) return (signed PY_LONG_LONG)-1;
        val = __Pyx_PyInt_AsSignedLongLong(tmp);
        Py_DECREF(tmp);
        return val;
    }
}

static void __Pyx_WriteUnraisable(const char *name) {
    PyObject *old_exc, *old_val, *old_tb;
    PyObject *ctx;
    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
    #if PY_MAJOR_VERSION < 3
    ctx = PyString_FromString(name);
    #else
    ctx = PyUnicode_FromString(name);
    #endif
    __Pyx_ErrRestore(old_exc, old_val, old_tb);
    if (!ctx) {
        PyErr_WriteUnraisable(Py_None);
    } else {
        PyErr_WriteUnraisable(ctx);
        Py_DECREF(ctx);
    }
}

#include "compile.h"
#include "frameobject.h"
#include "traceback.h"

static void __Pyx_AddTraceback(const char *funcname) {
    PyObject *py_srcfile = 0;
    PyObject *py_funcname = 0;
    PyObject *py_globals = 0;
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;

    #if PY_MAJOR_VERSION < 3
    py_srcfile = PyString_FromString(__pyx_filename);
    #else
    py_srcfile = PyUnicode_FromString(__pyx_filename);
    #endif
    if (!py_srcfile) goto bad;
    if (__pyx_clineno) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, __pyx_clineno);
        #endif
    }
    else {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromString(funcname);
        #else
        py_funcname = PyUnicode_FromString(funcname);
        #endif
    }
    if (!py_funcname) goto bad;
    py_globals = PyModule_GetDict(__pyx_m);
    if (!py_globals) goto bad;
    py_code = PyCode_New(
        0,            /*int argcount,*/
        #if PY_MAJOR_VERSION >= 3
        0,            /*int kwonlyargcount,*/
        #endif
        0,            /*int nlocals,*/
        0,            /*int stacksize,*/
        0,            /*int flags,*/
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple,  /*PyObject *consts,*/
        __pyx_empty_tuple,  /*PyObject *names,*/
        __pyx_empty_tuple,  /*PyObject *varnames,*/
        __pyx_empty_tuple,  /*PyObject *freevars,*/
        __pyx_empty_tuple,  /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        __pyx_lineno,   /*int firstlineno,*/
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    if (!py_code) goto bad;
    py_frame = PyFrame_New(
        PyThreadState_GET(), /*PyThreadState *tstate,*/
        py_code,             /*PyCodeObject *code,*/
        py_globals,          /*PyObject *globals,*/
        0                    /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    py_frame->f_lineno = __pyx_lineno;
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_srcfile);
    Py_XDECREF(py_funcname);
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}

static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
    while (t->p) {
        #if PY_MAJOR_VERSION < 3
        if (t->is_unicode) {
            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
        } else if (t->intern) {
            *t->p = PyString_InternFromString(t->s);
        } else {
            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
        }
        #else  /* Python 3+ has unicode identifiers */
        if (t->is_unicode | t->is_str) {
            if (t->intern) {
                *t->p = PyUnicode_InternFromString(t->s);
            } else if (t->encoding) {
                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
            } else {
                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
            }
        } else {
            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
        }
        #endif
        if (!*t->p)
            return -1;
        ++t;
    }
    return 0;
}

/* Type Conversion Functions */

static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
   int is_true = x == Py_True;
   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
   else return PyObject_IsTrue(x);
}

static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
  PyNumberMethods *m;
  const char *name = NULL;
  PyObject *res = NULL;
#if PY_VERSION_HEX < 0x03000000
  if (PyInt_Check(x) || PyLong_Check(x))
#else
  if (PyLong_Check(x))
#endif
    return Py_INCREF(x), x;
  m = Py_TYPE(x)->tp_as_number;
#if PY_VERSION_HEX < 0x03000000
  if (m && m->nb_int) {
    name = "int";
    res = PyNumber_Int(x);
  }
  else if (m && m->nb_long) {
    name = "long";
    res = PyNumber_Long(x);
  }
#else
  if (m && m->nb_int) {
    name = "int";
    res = PyNumber_Long(x);
  }
#endif
  if (res) {
#if PY_VERSION_HEX < 0x03000000
    if (!PyInt_Check(res) && !PyLong_Check(res)) {
#else
    if (!PyLong_Check(res)) {
#endif
      PyErr_Format(PyExc_TypeError,
                   "__%s__ returned non-%s (type %.200s)",
                   name, name, Py_TYPE(res)->tp_name);
      Py_DECREF(res);
      return NULL;
    }
  }
  else if (!PyErr_Occurred()) {
    PyErr_SetString(PyExc_TypeError,
                    "an integer is required");
  }
  return res;
}

static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
  Py_ssize_t ival;
  PyObject* x = PyNumber_Index(b);
  if (!x) return -1;
  ival = PyInt_AsSsize_t(x);
  Py_DECREF(x);
  return ival;
}

static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
#if PY_VERSION_HEX < 0x02050000
   if (ival <= LONG_MAX)
       return PyInt_FromLong((long)ival);
   else {
       unsigned char *bytes = (unsigned char *) &ival;
       int one = 1; int little = (int)*(unsigned char*)&one;
       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
   }
#else
   return PyInt_FromSize_t(ival);
#endif
}

static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
       return (size_t)-1;
   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
       PyErr_SetString(PyExc_OverflowError,
                       "value too large to convert to size_t");
       return (size_t)-1;
   }
   return (size_t)val;
}


#endif /* Py_PYTHON_H */
