/* Generated by Cython 0.14 on Wed Feb  9 18:35:17 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
  #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

#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_RaiseDoubleKeywordsError(
    const char* func_name, PyObject* kw_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 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 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"
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[] = "glGetActiveAttrib()";
static char __pyx_k_4[] = "glGetActiveUniform()";
static char __pyx_k_6[] = "glGetBooleanv()";
static char __pyx_k_8[] = "glGetBufferParameteriv()";
static char __pyx_k_10[] = "glGetFloatv()";
static char __pyx_k_12[] = "glGetFramebufferAttachmentParameteriv()";
static char __pyx_k_14[] = "glGetIntegerv()";
static char __pyx_k_16[] = "glGetProgramInfoLog()";
static char __pyx_k_18[] = "glGetShaderInfoLog()";
static char __pyx_k_21[] = "glReadPixels()";
static char __pyx_k_23[] = "GL_STENCIL_BUFFER_BIT";
static char __pyx_k_24[] = "GL_ONE_MINUS_SRC_COLOR";
static char __pyx_k_25[] = "GL_ONE_MINUS_SRC_ALPHA";
static char __pyx_k_26[] = "GL_ONE_MINUS_DST_ALPHA";
static char __pyx_k_27[] = "GL_ONE_MINUS_DST_COLOR";
static char __pyx_k_28[] = "GL_SRC_ALPHA_SATURATE";
static char __pyx_k_29[] = "GL_BLEND_EQUATION_RGB";
static char __pyx_k_30[] = "GL_BLEND_EQUATION_ALPHA";
static char __pyx_k_31[] = "GL_FUNC_REVERSE_SUBTRACT";
static char __pyx_k_32[] = "GL_ELEMENT_ARRAY_BUFFER";
static char __pyx_k_33[] = "GL_ARRAY_BUFFER_BINDING";
static char __pyx_k_34[] = "GL_ELEMENT_ARRAY_BUFFER_BINDING";
static char __pyx_k_35[] = "GL_CURRENT_VERTEX_ATTRIB";
static char __pyx_k_36[] = "GL_POLYGON_OFFSET_FILL";
static char __pyx_k_37[] = "GL_SAMPLE_ALPHA_TO_COVERAGE";
static char __pyx_k_38[] = "GL_INVALID_OPERATION";
static char __pyx_k_39[] = "GL_ALIASED_POINT_SIZE_RANGE";
static char __pyx_k_40[] = "GL_ALIASED_LINE_WIDTH_RANGE";
static char __pyx_k_41[] = "GL_DEPTH_CLEAR_VALUE";
static char __pyx_k_42[] = "GL_STENCIL_CLEAR_VALUE";
static char __pyx_k_43[] = "GL_STENCIL_PASS_DEPTH_FAIL";
static char __pyx_k_44[] = "GL_STENCIL_PASS_DEPTH_PASS";
static char __pyx_k_45[] = "GL_STENCIL_VALUE_MASK";
static char __pyx_k_46[] = "GL_STENCIL_WRITEMASK";
static char __pyx_k_47[] = "GL_STENCIL_BACK_FUNC";
static char __pyx_k_48[] = "GL_STENCIL_BACK_FAIL";
static char __pyx_k_49[] = "GL_STENCIL_BACK_PASS_DEPTH_FAIL";
static char __pyx_k_50[] = "GL_STENCIL_BACK_PASS_DEPTH_PASS";
static char __pyx_k_51[] = "GL_STENCIL_BACK_VALUE_MASK";
static char __pyx_k_52[] = "GL_STENCIL_BACK_WRITEMASK";
static char __pyx_k_53[] = "GL_COLOR_CLEAR_VALUE";
static char __pyx_k_54[] = "GL_MAX_VIEWPORT_DIMS";
static char __pyx_k_55[] = "GL_POLYGON_OFFSET_UNITS";
static char __pyx_k_56[] = "GL_POLYGON_OFFSET_FACTOR";
static char __pyx_k_57[] = "GL_TEXTURE_BINDING_2D";
static char __pyx_k_58[] = "GL_SAMPLE_COVERAGE_VALUE";
static char __pyx_k_59[] = "GL_SAMPLE_COVERAGE_INVERT";
static char __pyx_k_60[] = "GL_NUM_COMPRESSED_TEXTURE_FORMATS";
static char __pyx_k_61[] = "GL_COMPRESSED_TEXTURE_FORMATS";
static char __pyx_k_62[] = "GL_GENERATE_MIPMAP_HINT";
static char __pyx_k_63[] = "GL_UNSIGNED_SHORT_4_4_4_4";
static char __pyx_k_64[] = "GL_UNSIGNED_SHORT_5_5_5_1";
static char __pyx_k_65[] = "GL_UNSIGNED_SHORT_5_6_5";
static char __pyx_k_66[] = "GL_MAX_VERTEX_ATTRIBS";
static char __pyx_k_67[] = "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS";
static char __pyx_k_68[] = "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS";
static char __pyx_k_69[] = "GL_MAX_TEXTURE_IMAGE_UNITS";
static char __pyx_k_70[] = "GL_ACTIVE_UNIFORM_MAX_LENGTH";
static char __pyx_k_71[] = "GL_ACTIVE_ATTRIBUTES";
static char __pyx_k_72[] = "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH";
static char __pyx_k_73[] = "GL_SHADING_LANGUAGE_VERSION";
static char __pyx_k_74[] = "GL_NEAREST_MIPMAP_NEAREST";
static char __pyx_k_75[] = "GL_LINEAR_MIPMAP_NEAREST";
static char __pyx_k_76[] = "GL_NEAREST_MIPMAP_LINEAR";
static char __pyx_k_77[] = "GL_LINEAR_MIPMAP_LINEAR";
static char __pyx_k_78[] = "GL_TEXTURE_MAG_FILTER";
static char __pyx_k_79[] = "GL_TEXTURE_MIN_FILTER";
static char __pyx_k_80[] = "GL_TEXTURE_BINDING_CUBE_MAP";
static char __pyx_k_81[] = "GL_TEXTURE_CUBE_MAP_POSITIVE_X";
static char __pyx_k_82[] = "GL_TEXTURE_CUBE_MAP_NEGATIVE_X";
static char __pyx_k_83[] = "GL_TEXTURE_CUBE_MAP_POSITIVE_Y";
static char __pyx_k_84[] = "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y";
static char __pyx_k_85[] = "GL_TEXTURE_CUBE_MAP_POSITIVE_Z";
static char __pyx_k_86[] = "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z";
static char __pyx_k_87[] = "GL_MAX_CUBE_MAP_TEXTURE_SIZE";
static char __pyx_k_88[] = "GL_VERTEX_ATTRIB_ARRAY_ENABLED";
static char __pyx_k_89[] = "GL_VERTEX_ATTRIB_ARRAY_SIZE";
static char __pyx_k_90[] = "GL_VERTEX_ATTRIB_ARRAY_STRIDE";
static char __pyx_k_91[] = "GL_VERTEX_ATTRIB_ARRAY_TYPE";
static char __pyx_k_92[] = "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED";
static char __pyx_k_93[] = "GL_VERTEX_ATTRIB_ARRAY_POINTER";
static char __pyx_k_94[] = "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING";
static char __pyx_k_95[] = "GL_SHADER_SOURCE_LENGTH";
static char __pyx_k_96[] = "GL_DEPTH_COMPONENT16";
static char __pyx_k_97[] = "GL_RENDERBUFFER_WIDTH";
static char __pyx_k_98[] = "GL_RENDERBUFFER_HEIGHT";
static char __pyx_k_99[] = "GL_RENDERBUFFER_INTERNAL_FORMAT";
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_RENDERBUFFER_RED_SIZE";
static char __pyx_k_101[] = "GL_RENDERBUFFER_GREEN_SIZE";
static char __pyx_k_102[] = "GL_RENDERBUFFER_BLUE_SIZE";
static char __pyx_k_103[] = "GL_RENDERBUFFER_ALPHA_SIZE";
static char __pyx_k_104[] = "GL_RENDERBUFFER_DEPTH_SIZE";
static char __pyx_k_105[] = "GL_RENDERBUFFER_STENCIL_SIZE";
static char __pyx_k_106[] = "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE";
static char __pyx_k_107[] = "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME";
static char __pyx_k_108[] = "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL";
static char __pyx_k_109[] = "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE";
static char __pyx_k_110[] = "GL_COLOR_ATTACHMENT0";
static char __pyx_k_111[] = "GL_STENCIL_ATTACHMENT";
static char __pyx_k_112[] = "GL_FRAMEBUFFER_COMPLETE";
static char __pyx_k_113[] = "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT";
static char __pyx_k_114[] = "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";
static char __pyx_k_115[] = "GL_FRAMEBUFFER_UNSUPPORTED";
static char __pyx_k_116[] = "GL_FRAMEBUFFER_BINDING";
static char __pyx_k_117[] = "GL_RENDERBUFFER_BINDING";
static char __pyx_k_118[] = "GL_MAX_RENDERBUFFER_SIZE";
static char __pyx_k_119[] = "GL_INVALID_FRAMEBUFFER_OPERATION";
static char __pyx_k_120[] = "GL_SHADER_BINARY_FORMATS";
static char __pyx_k_121[] = "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS";
static char __pyx_k_122[] = "GL_MAX_VERTEX_UNIFORM_VECTORS";
static char __pyx_k_123[] = "GL_MAX_VARYING_VECTORS";
static char __pyx_k_124[] = "GL_MAX_FRAGMENT_UNIFORM_VECTORS";
static char __pyx_k_125[] = "GL_IMPLEMENTATION_COLOR_READ_TYPE";
static char __pyx_k_126[] = "GL_IMPLEMENTATION_COLOR_READ_FORMAT";
static char __pyx_k_127[] = "GL_NUM_SHADER_BINARY_FORMATS";
static char __pyx_k_128[] = "kivy.graphics.opengl";
static char __pyx_k_129[] = "glBindAttribLocation";
static char __pyx_k_130[] = "glBlendEquationSeparate";
static char __pyx_k_131[] = "glCheckFramebufferStatus";
static char __pyx_k_132[] = "glCompressedTexImage2D";
static char __pyx_k_133[] = "glCompressedTexSubImage2D";
static char __pyx_k_134[] = "glDeleteFramebuffers";
static char __pyx_k_135[] = "glDeleteRenderbuffers";
static char __pyx_k_136[] = "glDisableVertexAttribArray";
static char __pyx_k_137[] = "glEnableVertexAttribArray";
static char __pyx_k_138[] = "glFramebufferRenderbuffer";
static char __pyx_k_139[] = "glFramebufferTexture2D";
static char __pyx_k_140[] = "glGetAttachedShaders";
static char __pyx_k_141[] = "glGetBufferParameteriv";
static char __pyx_k_142[] = "glGetFramebufferAttachmentParameteriv";
static char __pyx_k_143[] = "glGetRenderbufferParameteriv";
static char __pyx_k_144[] = "glGetShaderPrecisionFormat";
static char __pyx_k_145[] = "glGetUniformLocation";
static char __pyx_k_146[] = "glGetVertexAttribPointerv";
static char __pyx_k_147[] = "glReleaseShaderCompiler";
static char __pyx_k_148[] = "glRenderbufferStorage";
static char __pyx_k_149[] = "glStencilFuncSeparate";
static char __pyx_k_150[] = "glStencilMaskSeparate";
static char __pyx_k_151[] = "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__CreateProgram[] = "CreateProgram";
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_kp_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_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_kp_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_130;
static PyObject *__pyx_n_s_131;
static PyObject *__pyx_n_s_132;
static PyObject *__pyx_n_s_133;
static PyObject *__pyx_n_s_134;
static PyObject *__pyx_n_s_135;
static PyObject *__pyx_n_s_136;
static PyObject *__pyx_n_s_137;
static PyObject *__pyx_n_s_138;
static PyObject *__pyx_n_s_139;
static PyObject *__pyx_kp_s_14;
static PyObject *__pyx_n_s_140;
static PyObject *__pyx_n_s_141;
static PyObject *__pyx_n_s_142;
static PyObject *__pyx_n_s_143;
static PyObject *__pyx_n_s_144;
static PyObject *__pyx_n_s_145;
static PyObject *__pyx_n_s_146;
static PyObject *__pyx_n_s_147;
static PyObject *__pyx_n_s_148;
static PyObject *__pyx_n_s_149;
static PyObject *__pyx_n_s_150;
static PyObject *__pyx_n_s_151;
static PyObject *__pyx_kp_s_16;
static PyObject *__pyx_kp_s_18;
static PyObject *__pyx_kp_s_2;
static PyObject *__pyx_kp_s_21;
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_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_kp_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_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_kp_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_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_kp_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_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__CreateProgram;
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;
static PyObject *__pyx_k_tuple_3;
static PyObject *__pyx_k_tuple_5;
static PyObject *__pyx_k_tuple_7;
static PyObject *__pyx_k_tuple_9;
static PyObject *__pyx_k_tuple_11;
static PyObject *__pyx_k_tuple_13;
static PyObject *__pyx_k_tuple_15;
static PyObject *__pyx_k_tuple_17;
static PyObject *__pyx_k_tuple_19;
static PyObject *__pyx_k_tuple_20;
static PyObject *__pyx_k_tuple_22;

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":33
 * # 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;
  PyObject *__pyx_t_2 = NULL;
  __Pyx_RefNannySetupContext("_genBegin");

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":35
 * 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)));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":36
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":37
 *     d = <GLuint *>malloc(sizeof(GLuint) * n)
 *     if d == NULL:
 *         raise MemoryError()             # <<<<<<<<<<<<<<
 *     return d
 * 
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":38
 *     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_XDECREF(__pyx_t_2);
  __Pyx_WriteUnraisable("kivy.graphics.opengl._genBegin");
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":40
 *     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");

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":41
 * 
 * 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 = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
  __pyx_v_out = __pyx_t_1;
  __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":42
 * 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;

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":43
 *     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 = 43; __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 = 43; __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 = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

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

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":45
 *         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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":446
 *     _GL_GET_SIZE[GL_SHADER_BINARY_FORMATS] = GL_NUM_SHADER_BINARY_FORMATS
 * 
 * def glActiveTexture(GLenum texture):             # <<<<<<<<<<<<<<
 *     c_opengl.glActiveTexture(texture)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_0glActiveTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_0glActiveTexture = {__Pyx_NAMESTR("glActiveTexture"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_0glActiveTexture, METH_O, __Pyx_DOCSTR(0)};
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_0glActiveTexture(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 = 446; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":447
 * 
 * def glActiveTexture(GLenum texture):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":449
 *     c_opengl.glActiveTexture(texture)
 * 
 * def glAttachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     c_opengl.glAttachShader(program, shader)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_1glAttachShader(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_1glAttachShader = {__Pyx_NAMESTR("glAttachShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_1glAttachShader, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 449; __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 = 449; __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 = 449; __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 = 449; __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 = 449; __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 = 449; __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 = 449; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":450
 * 
 * def glAttachShader(GLuint program, GLuint shader):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":452
 *     c_opengl.glAttachShader(program, shader)
 * 
 * def glBindAttribLocation(GLuint program, GLuint index, bytes name):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindAttribLocation(program, index, <char *>name)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_2glBindAttribLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_2glBindAttribLocation = {__Pyx_NAMESTR("glBindAttribLocation"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_2glBindAttribLocation, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 452; __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 = 452; __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 = 452; __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 = 452; __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 = 452; __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 = 452; __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 = 452; __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 = 452; __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 = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":453
 * 
 * def glBindAttribLocation(GLuint program, GLuint index, bytes name):
 *     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 = 453; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":455
 *     c_opengl.glBindAttribLocation(program, index, <char *>name)
 * 
 * def glBindBuffer(GLenum target, GLuint buffer):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindBuffer(target, buffer)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_3glBindBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_3glBindBuffer = {__Pyx_NAMESTR("glBindBuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_3glBindBuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 455; __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 = 455; __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 = 455; __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 = 455; __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 = 455; __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 = 455; __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 = 455; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":456
 * 
 * def glBindBuffer(GLenum target, GLuint buffer):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":458
 *     c_opengl.glBindBuffer(target, buffer)
 * 
 * def glBindFramebuffer(GLenum target, GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindFramebuffer(target, framebuffer)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_4glBindFramebuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_4glBindFramebuffer = {__Pyx_NAMESTR("glBindFramebuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_4glBindFramebuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 458; __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 = 458; __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 = 458; __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 = 458; __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 = 458; __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 = 458; __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 = 458; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":459
 * 
 * def glBindFramebuffer(GLenum target, GLuint framebuffer):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":461
 *     c_opengl.glBindFramebuffer(target, framebuffer)
 * 
 * def glBindRenderbuffer(GLenum target, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindRenderbuffer(target, renderbuffer)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_5glBindRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_5glBindRenderbuffer = {__Pyx_NAMESTR("glBindRenderbuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_5glBindRenderbuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 461; __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 = 461; __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 = 461; __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 = 461; __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 = 461; __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 = 461; __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 = 461; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":462
 * 
 * def glBindRenderbuffer(GLenum target, GLuint renderbuffer):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":464
 *     c_opengl.glBindRenderbuffer(target, renderbuffer)
 * 
 * def glBindTexture(GLenum target, GLuint texture):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindTexture(target, texture)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_6glBindTexture(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_6glBindTexture = {__Pyx_NAMESTR("glBindTexture"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_6glBindTexture, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 464; __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 = 464; __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 = 464; __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 = 464; __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 = 464; __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 = 464; __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 = 464; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":465
 * 
 * def glBindTexture(GLenum target, GLuint texture):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":467
 *     c_opengl.glBindTexture(target, texture)
 * 
 * def glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendColor(red, green, blue, alpha)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_7glBlendColor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_7glBlendColor = {__Pyx_NAMESTR("glBlendColor"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_7glBlendColor, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 467; __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 = 467; __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 = 467; __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 = 467; __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 = 467; __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 = 467; __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 = 467; __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 = 467; __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 = 467; __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 = 467; __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 = 467; __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 = 467; __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 = 467; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":468
 * 
 * def glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":470
 *     c_opengl.glBlendColor(red, green, blue, alpha)
 * 
 * def glBlendEquation(GLenum mode):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendEquation(mode)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_8glBlendEquation(PyObject *__pyx_self, PyObject *__pyx_arg_mode); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_8glBlendEquation = {__Pyx_NAMESTR("glBlendEquation"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_8glBlendEquation, METH_O, __Pyx_DOCSTR(0)};
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 = 470; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":471
 * 
 * def glBlendEquation(GLenum mode):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":473
 *     c_opengl.glBlendEquation(mode)
 * 
 * def glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendEquationSeparate(modeRGB, modeAlpha)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_9glBlendEquationSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_9glBlendEquationSeparate = {__Pyx_NAMESTR("glBlendEquationSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_9glBlendEquationSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 473; __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 = 473; __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 = 473; __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 = 473; __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 = 473; __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 = 473; __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 = 473; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":474
 * 
 * def glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":476
 *     c_opengl.glBlendEquationSeparate(modeRGB, modeAlpha)
 * 
 * def glBlendFunc(GLenum sfactor, GLenum dfactor):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendFunc(sfactor, dfactor)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_10glBlendFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_10glBlendFunc = {__Pyx_NAMESTR("glBlendFunc"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_10glBlendFunc, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 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), "glBlendFunc") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 476; __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 = 476; __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 = 476; __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 = 476; __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 = 476; __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 = 476; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":477
 * 
 * def glBlendFunc(GLenum sfactor, GLenum dfactor):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":479
 *     c_opengl.glBlendFunc(sfactor, dfactor)
 * 
 * def glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_11glBlendFuncSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_11glBlendFuncSeparate = {__Pyx_NAMESTR("glBlendFuncSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_11glBlendFuncSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 479; __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 = 479; __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 = 479; __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 = 479; __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 = 479; __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 = 479; __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 = 479; __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 = 479; __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 = 479; __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 = 479; __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 = 479; __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 = 479; __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 = 479; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":480
 * 
 * def glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":482
 *     c_opengl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)
 * 
 * def glBufferData(GLenum target, GLsizeiptr size, bytes data, GLenum usage):             # <<<<<<<<<<<<<<
 *     c_opengl.glBufferData(target, size, <char *>data, usage)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_12glBufferData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_12glBufferData = {__Pyx_NAMESTR("glBufferData"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_12glBufferData, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 482; __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 = 482; __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 = 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), "glBufferData") < 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_size = __Pyx_PyInt_AsSignedLong(values[1]); if (unlikely((__pyx_v_size == (signed long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __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 = 482; __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 = 482; __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 = 482; __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 = 482; __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 = 482; __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 = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":483
 * 
 * def glBufferData(GLenum target, GLsizeiptr size, bytes data, GLenum usage):
 *     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 = 483; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":485
 *     c_opengl.glBufferData(target, size, <char *>data, usage)
 * 
 * def glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data):             # <<<<<<<<<<<<<<
 *     c_opengl.glBufferSubData(target, offset, size, <char *>data)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_13glBufferSubData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_13glBufferSubData = {__Pyx_NAMESTR("glBufferSubData"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_13glBufferSubData, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 485; __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 = 485; __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 = 485; __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 = 485; __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 = 485; __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 = 485; __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 = 485; __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 = 485; __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 = 485; __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 = 485; __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 = 485; __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 = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":486
 * 
 * def glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data):
 *     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 = 486; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":488
 *     c_opengl.glBufferSubData(target, offset, size, <char *>data)
 * 
 * def glCheckFramebufferStatus(GLenum target):             # <<<<<<<<<<<<<<
 *     cdef GLenum result
 *     result = c_opengl.CheckFramebufferStatus(target)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_14glCheckFramebufferStatus(PyObject *__pyx_self, PyObject *__pyx_arg_target); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_14glCheckFramebufferStatus = {__Pyx_NAMESTR("glCheckFramebufferStatus"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_14glCheckFramebufferStatus, METH_O, __Pyx_DOCSTR(0)};
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 = 488; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":490
 * def glCheckFramebufferStatus(GLenum target):
 *     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 = 490; __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 = 490; __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 = 490; __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 = 490; __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 = 490; __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 = 490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_result = __pyx_t_4;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":491
 *     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 = 491; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":493
 *     return result
 * 
 * def glClear(GLbitfield mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glClear(mask)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_15glClear(PyObject *__pyx_self, PyObject *__pyx_arg_mask); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_15glClear = {__Pyx_NAMESTR("glClear"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_15glClear, METH_O, __Pyx_DOCSTR(0)};
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 = 493; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":494
 * 
 * def glClear(GLbitfield mask):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":496
 *     c_opengl.glClear(mask)
 * 
 * def glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glClearColor(red, green, blue, alpha)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_16glClearColor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_16glClearColor = {__Pyx_NAMESTR("glClearColor"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_16glClearColor, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 496; __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 = 496; __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 = 496; __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 = 496; __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 = 496; __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 = 496; __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 = 496; __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 = 496; __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 = 496; __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 = 496; __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 = 496; __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 = 496; __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 = 496; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":497
 * 
 * def glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":499
 *     c_opengl.glClearColor(red, green, blue, alpha)
 * 
 * def glClearDepthf(GLclampf depth):             # <<<<<<<<<<<<<<
 *     c_opengl.glClearDepthf(depth)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_17glClearDepthf(PyObject *__pyx_self, PyObject *__pyx_arg_depth); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_17glClearDepthf = {__Pyx_NAMESTR("glClearDepthf"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_17glClearDepthf, METH_O, __Pyx_DOCSTR(0)};
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 = 499; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":500
 * 
 * def glClearDepthf(GLclampf depth):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":502
 *     c_opengl.glClearDepthf(depth)
 * 
 * def glClearStencil(GLint s):             # <<<<<<<<<<<<<<
 *     c_opengl.glClearStencil(s)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_18glClearStencil(PyObject *__pyx_self, PyObject *__pyx_arg_s); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_18glClearStencil = {__Pyx_NAMESTR("glClearStencil"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_18glClearStencil, METH_O, __Pyx_DOCSTR(0)};
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 = 502; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":503
 * 
 * def glClearStencil(GLint s):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":505
 *     c_opengl.glClearStencil(s)
 * 
 * def glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glColorMask(red, green, blue, alpha)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_19glColorMask(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_19glColorMask = {__Pyx_NAMESTR("glColorMask"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_19glColorMask, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 505; __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 = 505; __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 = 505; __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 = 505; __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 = 505; __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 = 505; __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 = 505; __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 = 505; __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 = 505; __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 = 505; __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 = 505; __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 = 505; __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 = 505; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":506
 * 
 * def glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":508
 *     c_opengl.glColorMask(red, green, blue, alpha)
 * 
 * def glCompileShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     c_opengl.glCompileShader(shader)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_20glCompileShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_20glCompileShader = {__Pyx_NAMESTR("glCompileShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_20glCompileShader, METH_O, __Pyx_DOCSTR(0)};
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 = 508; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":509
 * 
 * def glCompileShader(GLuint shader):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":511
 *     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 PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_21glCompressedTexImage2D = {__Pyx_NAMESTR("glCompressedTexImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_21glCompressedTexImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 511; __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 = 511; __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 = 511; __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 = 511; __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 = 511; __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 = 511; __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 = 511; __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 = 511; __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 = 511; __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 = 511; __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 = 511; __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 = 512; __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 = 512; __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 = 512; __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 = 512; __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 = 511; __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 = 511; __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 = 511; __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 = 512; __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 = 512; __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 = 512; __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 = 512; __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 = 511; __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 = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":515
 *                            imageSize,  bytes data):
 *     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 = 515; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":517
 *                                     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 PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_22glCompressedTexSubImage2D = {__Pyx_NAMESTR("glCompressedTexSubImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_22glCompressedTexSubImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 518; __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 = 518; __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 = 518; __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 = 519; __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 = 517; __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 = 517; __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 = 517; __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 = 517; __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 = 518; __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 = 518; __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 = 518; __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 = 519; __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 = 517; __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 = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":521
 *                               format, GLsizei imageSize,  bytes data):
 *     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 = 521; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":523
 *                                        height, format, imageSize, <char *>data)
 * 
 * def glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border):             # <<<<<<<<<<<<<<
 *     c_opengl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_23glCopyTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_23glCopyTexImage2D = {__Pyx_NAMESTR("glCopyTexImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_23glCopyTexImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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 = 523; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":524
 * 
 * def glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":526
 *     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):             # <<<<<<<<<<<<<<
 *     c_opengl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_24glCopyTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_24glCopyTexSubImage2D = {__Pyx_NAMESTR("glCopyTexSubImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_24glCopyTexSubImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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 = 526; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":527
 * 
 * def glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":529
 *     c_opengl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
 * 
 * def glCreateProgram():             # <<<<<<<<<<<<<<
 *     cdef GLuint id
 *     id = c_opengl.CreateProgram()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_25glCreateProgram(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_25glCreateProgram = {__Pyx_NAMESTR("glCreateProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_25glCreateProgram, METH_NOARGS, __Pyx_DOCSTR(0)};
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;
  PyObject *__pyx_t_2 = NULL;
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_t_3;
  __Pyx_RefNannySetupContext("glCreateProgram");
  __pyx_self = __pyx_self;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":531
 * def glCreateProgram():
 *     cdef GLuint id
 *     id = c_opengl.CreateProgram()             # <<<<<<<<<<<<<<
 *     return id
 * 
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__c_opengl); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__CreateProgram); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_3 = __Pyx_PyInt_AsUnsignedInt(__pyx_t_1); if (unlikely((__pyx_t_3 == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_id = __pyx_t_3;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":532
 *     cdef GLuint id
 *     id = c_opengl.CreateProgram()
 *     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 = 532; __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_AddTraceback("kivy.graphics.opengl.glCreateProgram");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":534
 *     return id
 * 
 * def glCreateShader(GLenum type):             # <<<<<<<<<<<<<<
 *     cdef GLuint id
 *     c_opengl.glCreateShader(type)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_26glCreateShader(PyObject *__pyx_self, PyObject *__pyx_arg_type); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_26glCreateShader = {__Pyx_NAMESTR("glCreateShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_26glCreateShader, METH_O, __Pyx_DOCSTR(0)};
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 = 534; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":536
 * def glCreateShader(GLenum type):
 *     cdef GLuint id
 *     c_opengl.glCreateShader(type)             # <<<<<<<<<<<<<<
 *     return id
 * 
 */
  glCreateShader(__pyx_v_type);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":537
 *     cdef GLuint 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 = 537; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":539
 *     return id
 * 
 * def glCullFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     c_opengl.glCullFace(mode)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_27glCullFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_27glCullFace = {__Pyx_NAMESTR("glCullFace"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_27glCullFace, METH_O, __Pyx_DOCSTR(0)};
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 = 539; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":540
 * 
 * def glCullFace(GLenum mode):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":542
 *     c_opengl.glCullFace(mode)
 * 
 * def glDeleteBuffers(GLsizei n, bytes buffers):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteBuffers(n, <GLuint *><char *>buffers)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_28glDeleteBuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_28glDeleteBuffers = {__Pyx_NAMESTR("glDeleteBuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_28glDeleteBuffers, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 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), "glDeleteBuffers") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __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 = 542; __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 = 542; __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 = 542; __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 = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":543
 * 
 * def glDeleteBuffers(GLsizei n, bytes buffers):
 *     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 = 543; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":545
 *     c_opengl.glDeleteBuffers(n, <GLuint *><char *>buffers)
 * 
 * def glDeleteFramebuffers(GLsizei n, bytes framebuffers):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteFramebuffers(n, <GLuint *><char *>framebuffers)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_29glDeleteFramebuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_29glDeleteFramebuffers = {__Pyx_NAMESTR("glDeleteFramebuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_29glDeleteFramebuffers, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 545; __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 = 545; __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 = 545; __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 = 545; __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 = 545; __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 = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":546
 * 
 * def glDeleteFramebuffers(GLsizei n, bytes framebuffers):
 *     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 = 546; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":548
 *     c_opengl.glDeleteFramebuffers(n, <GLuint *><char *>framebuffers)
 * 
 * def glDeleteProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteProgram(program)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_30glDeleteProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_30glDeleteProgram = {__Pyx_NAMESTR("glDeleteProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_30glDeleteProgram, METH_O, __Pyx_DOCSTR(0)};
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 = 548; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":549
 * 
 * def glDeleteProgram(GLuint program):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":551
 *     c_opengl.glDeleteProgram(program)
 * 
 * def glDeleteRenderbuffers(GLsizei n, bytes renderbuffers):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteRenderbuffers(n, <GLuint *><char *>renderbuffers)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_31glDeleteRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_31glDeleteRenderbuffers = {__Pyx_NAMESTR("glDeleteRenderbuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_31glDeleteRenderbuffers, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 551; __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 = 551; __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 = 551; __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 = 551; __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 = 551; __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 = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":552
 * 
 * def glDeleteRenderbuffers(GLsizei n, bytes renderbuffers):
 *     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 = 552; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":554
 *     c_opengl.glDeleteRenderbuffers(n, <GLuint *><char *>renderbuffers)
 * 
 * def glDeleteShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteShader(shader)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_32glDeleteShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_32glDeleteShader = {__Pyx_NAMESTR("glDeleteShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_32glDeleteShader, METH_O, __Pyx_DOCSTR(0)};
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 = 554; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":555
 * 
 * def glDeleteShader(GLuint shader):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":557
 *     c_opengl.glDeleteShader(shader)
 * 
 * def glDeleteTextures(GLsizei n, bytes textures):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteTextures(n, <GLuint *><char *>textures)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_33glDeleteTextures(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_33glDeleteTextures = {__Pyx_NAMESTR("glDeleteTextures"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_33glDeleteTextures, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 557; __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 = 557; __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 = 557; __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 = 557; __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 = 557; __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 = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":558
 * 
 * def glDeleteTextures(GLsizei n, bytes textures):
 *     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 = 558; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":560
 *     c_opengl.glDeleteTextures(n, <GLuint *><char *>textures)
 * 
 * def glDepthFunc(GLenum func):             # <<<<<<<<<<<<<<
 *     c_opengl.glDepthFunc(func)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_34glDepthFunc(PyObject *__pyx_self, PyObject *__pyx_arg_func); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_34glDepthFunc = {__Pyx_NAMESTR("glDepthFunc"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_34glDepthFunc, METH_O, __Pyx_DOCSTR(0)};
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 = 560; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":561
 * 
 * def glDepthFunc(GLenum func):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":563
 *     c_opengl.glDepthFunc(func)
 * 
 * def glDepthMask(GLboolean flag):             # <<<<<<<<<<<<<<
 *     c_opengl.glDepthMask(flag)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_35glDepthMask(PyObject *__pyx_self, PyObject *__pyx_arg_flag); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_35glDepthMask = {__Pyx_NAMESTR("glDepthMask"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_35glDepthMask, METH_O, __Pyx_DOCSTR(0)};
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 = 563; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":564
 * 
 * def glDepthMask(GLboolean flag):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":566
 *     c_opengl.glDepthMask(flag)
 * 
 * def glDepthRangef(GLclampf zNear, GLclampf zFar):             # <<<<<<<<<<<<<<
 *     c_opengl.glDepthRangef(zNear, zFar)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_36glDepthRangef(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_36glDepthRangef = {__Pyx_NAMESTR("glDepthRangef"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_36glDepthRangef, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 566; __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 = 566; __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 = 566; __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 = 566; __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 = 566; __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 = 566; __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 = 566; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":567
 * 
 * def glDepthRangef(GLclampf zNear, GLclampf zFar):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":569
 *     c_opengl.glDepthRangef(zNear, zFar)
 * 
 * def glDetachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     c_opengl.glDetachShader(program, shader)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_37glDetachShader(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_37glDetachShader = {__Pyx_NAMESTR("glDetachShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_37glDetachShader, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 569; __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 = 569; __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 = 569; __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 = 569; __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 = 569; __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 = 569; __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 = 569; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":570
 * 
 * def glDetachShader(GLuint program, GLuint shader):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":572
 *     c_opengl.glDetachShader(program, shader)
 * 
 * def glDisable(GLenum cap):             # <<<<<<<<<<<<<<
 *     c_opengl.glDisable(cap)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_38glDisable(PyObject *__pyx_self, PyObject *__pyx_arg_cap); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_38glDisable = {__Pyx_NAMESTR("glDisable"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_38glDisable, METH_O, __Pyx_DOCSTR(0)};
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 = 572; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":573
 * 
 * def glDisable(GLenum cap):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":575
 *     c_opengl.glDisable(cap)
 * 
 * def glDisableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     c_opengl.glDisableVertexAttribArray(index)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_39glDisableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_39glDisableVertexAttribArray = {__Pyx_NAMESTR("glDisableVertexAttribArray"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_39glDisableVertexAttribArray, METH_O, __Pyx_DOCSTR(0)};
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 = 575; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":576
 * 
 * def glDisableVertexAttribArray(GLuint index):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":578
 *     c_opengl.glDisableVertexAttribArray(index)
 * 
 * def glDrawArrays(GLenum mode, GLint first, GLsizei count):             # <<<<<<<<<<<<<<
 *     c_opengl.glDrawArrays(mode, first, count)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_40glDrawArrays(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_40glDrawArrays = {__Pyx_NAMESTR("glDrawArrays"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_40glDrawArrays, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 578; __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 = 578; __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 = 578; __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 = 578; __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 = 578; __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 = 578; __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 = 578; __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 = 578; __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 = 578; __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 = 578; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":579
 * 
 * def glDrawArrays(GLenum mode, GLint first, GLsizei count):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":581
 *     c_opengl.glDrawArrays(mode, first, count)
 * 
 * def glDrawElements(GLenum mode, GLsizei count, GLenum type, bytes indices):             # <<<<<<<<<<<<<<
 *     c_opengl.glDrawElements(mode, count, type, <void *>indices)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_41glDrawElements(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_41glDrawElements = {__Pyx_NAMESTR("glDrawElements"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_41glDrawElements, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 581; __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 = 581; __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 = 581; __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 = 581; __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 = 581; __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 = 581; __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 = 581; __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 = 581; __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 = 581; __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 = 581; __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 = 581; __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 = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":582
 * 
 * def glDrawElements(GLenum mode, GLsizei count, GLenum type, bytes indices):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":584
 *     c_opengl.glDrawElements(mode, count, type, <void *>indices)
 * 
 * def glEnable(GLenum cap):             # <<<<<<<<<<<<<<
 *     c_opengl.glEnable(cap)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_42glEnable(PyObject *__pyx_self, PyObject *__pyx_arg_cap); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_42glEnable = {__Pyx_NAMESTR("glEnable"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_42glEnable, METH_O, __Pyx_DOCSTR(0)};
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 = 584; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":585
 * 
 * def glEnable(GLenum cap):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":587
 *     c_opengl.glEnable(cap)
 * 
 * def glEnableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     c_opengl.glEnableVertexAttribArray(index)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_43glEnableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_43glEnableVertexAttribArray = {__Pyx_NAMESTR("glEnableVertexAttribArray"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_43glEnableVertexAttribArray, METH_O, __Pyx_DOCSTR(0)};
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 = 587; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":588
 * 
 * def glEnableVertexAttribArray(GLuint index):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":590
 *     c_opengl.glEnableVertexAttribArray(index)
 * 
 * def glFinish():             # <<<<<<<<<<<<<<
 *     c_opengl.glFinish()
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_44glFinish(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_44glFinish = {__Pyx_NAMESTR("glFinish"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_44glFinish, METH_NOARGS, __Pyx_DOCSTR(0)};
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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":591
 * 
 * def glFinish():
 *     c_opengl.glFinish()             # <<<<<<<<<<<<<<
 * 
 * def glFlush():
 */
  glFinish();

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

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":593
 *     c_opengl.glFinish()
 * 
 * def glFlush():             # <<<<<<<<<<<<<<
 *     c_opengl.glFlush()
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_45glFlush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_45glFlush = {__Pyx_NAMESTR("glFlush"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_45glFlush, METH_NOARGS, __Pyx_DOCSTR(0)};
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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":594
 * 
 * def glFlush():
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":596
 *     c_opengl.glFlush()
 * 
 * def glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     c_opengl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer = {__Pyx_NAMESTR("glFramebufferRenderbuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 596; __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 = 596; __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 = 596; __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 = 596; __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 = 596; __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 = 596; __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 = 596; __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 = 596; __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 = 596; __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 = 596; __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 = 596; __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 = 596; __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 = 596; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":597
 * 
 * def glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":599
 *     c_opengl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)
 * 
 * def glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level):             # <<<<<<<<<<<<<<
 *     c_opengl.glFramebufferTexture2D(target, attachment, textarget, texture, level)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_47glFramebufferTexture2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_47glFramebufferTexture2D = {__Pyx_NAMESTR("glFramebufferTexture2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_47glFramebufferTexture2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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 = 599; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":600
 * 
 * def glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":602
 *     c_opengl.glFramebufferTexture2D(target, attachment, textarget, texture, level)
 * 
 * def glFrontFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     c_opengl.glFrontFace(mode)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_48glFrontFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_48glFrontFace = {__Pyx_NAMESTR("glFrontFace"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_48glFrontFace, METH_O, __Pyx_DOCSTR(0)};
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 = 602; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":603
 * 
 * def glFrontFace(GLenum mode):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":605
 *     c_opengl.glFrontFace(mode)
 * 
 * def glGenBuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenBuffers(n, d)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_49glGenBuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_49glGenBuffers = {__Pyx_NAMESTR("glGenBuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_49glGenBuffers, METH_O, __Pyx_DOCSTR(0)};
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 = 605; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":606
 * 
 * def glGenBuffers(GLsizei n):
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":607
 * def glGenBuffers(GLsizei n):
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenBuffers(n, d)             # <<<<<<<<<<<<<<
 *     return _genEnd(n, d)
 * 
 */
  glGenBuffers(__pyx_v_n, __pyx_v_d);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":608
 *     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 = 608; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":610
 *     return _genEnd(n, d)
 * 
 * def glGenerateMipmap(GLenum target):             # <<<<<<<<<<<<<<
 *     c_opengl.glGenerateMipmap(target)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_50glGenerateMipmap(PyObject *__pyx_self, PyObject *__pyx_arg_target); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_50glGenerateMipmap = {__Pyx_NAMESTR("glGenerateMipmap"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_50glGenerateMipmap, METH_O, __Pyx_DOCSTR(0)};
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 = 610; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":611
 * 
 * def glGenerateMipmap(GLenum target):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":613
 *     c_opengl.glGenerateMipmap(target)
 * 
 * def glGenFramebuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenFramebuffers(n, d)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_51glGenFramebuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_51glGenFramebuffers = {__Pyx_NAMESTR("glGenFramebuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_51glGenFramebuffers, METH_O, __Pyx_DOCSTR(0)};
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 = 613; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":614
 * 
 * def glGenFramebuffers(GLsizei n):
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":615
 * def glGenFramebuffers(GLsizei n):
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenFramebuffers(n, d)             # <<<<<<<<<<<<<<
 *     return _genEnd(n, d)
 * 
 */
  glGenFramebuffers(__pyx_v_n, __pyx_v_d);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":616
 *     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 = 616; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":618
 *     return _genEnd(n, d)
 * 
 * def glGenRenderbuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenRenderbuffers(n, d)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_52glGenRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_52glGenRenderbuffers = {__Pyx_NAMESTR("glGenRenderbuffers"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_52glGenRenderbuffers, METH_O, __Pyx_DOCSTR(0)};
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 = 618; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":619
 * 
 * def glGenRenderbuffers(GLsizei n):
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":620
 * def glGenRenderbuffers(GLsizei n):
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenRenderbuffers(n, d)             # <<<<<<<<<<<<<<
 *     return _genEnd(n, d)
 * 
 */
  glGenRenderbuffers(__pyx_v_n, __pyx_v_d);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":621
 *     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 = 621; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":623
 *     return _genEnd(n, d)
 * 
 * def glGenTextures(GLsizei n):             # <<<<<<<<<<<<<<
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenTextures(n, d)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_53glGenTextures(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_53glGenTextures = {__Pyx_NAMESTR("glGenTextures"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_53glGenTextures, METH_O, __Pyx_DOCSTR(0)};
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 = 623; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":624
 * 
 * def glGenTextures(GLsizei n):
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":625
 * def glGenTextures(GLsizei n):
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenTextures(n, d)             # <<<<<<<<<<<<<<
 *     return _genEnd(n, d)
 * 
 */
  glGenTextures(__pyx_v_n, __pyx_v_d);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":626
 *     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 = 626; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":628
 *     return _genEnd(n, d)
 * 
 * def glGetActiveAttrib(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLenum gl_type
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_54glGetActiveAttrib(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_54glGetActiveAttrib = {__Pyx_NAMESTR("glGetActiveAttrib"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_54glGetActiveAttrib, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 628; __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 = 628; __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 = 628; __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 = 628; __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 = 628; __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 = 628; __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 = 628; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":633
 *     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)));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":634
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":635
 *     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
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":636
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":637
 *         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 = 637; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":638
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":639
 *     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 = 639; __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 = 639; __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 = 639; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":641
 *     return p_name, size, gl_type
 * 
 * def glGetActiveUniform(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLenum gl_type
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_55glGetActiveUniform(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_55glGetActiveUniform = {__Pyx_NAMESTR("glGetActiveUniform"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_55glGetActiveUniform, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 641; __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 = 641; __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 = 641; __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 = 641; __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 = 641; __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 = 641; __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 = 641; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":646
 *     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)));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":647
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":648
 *     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
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_5), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":649
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":650
 *         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 = 650; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":651
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":652
 *     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 = 652; __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 = 652; __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 = 652; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":654
 *     return p_name, size, gl_type
 * 
 * def glGetAttachedShaders(GLuint program, GLsizei maxcount):             # <<<<<<<<<<<<<<
 *     cdef GLsizei count = 1024
 *     cdef GLuint *shaders = _genBegin(count)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_56glGetAttachedShaders(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_56glGetAttachedShaders = {__Pyx_NAMESTR("glGetAttachedShaders"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_56glGetAttachedShaders, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 654; __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 = 654; __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 = 654; __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 = 654; __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 = 654; __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 = 654; __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 = 654; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":655
 * 
 * def glGetAttachedShaders(GLuint program, GLsizei maxcount):
 *     cdef GLsizei count = 1024             # <<<<<<<<<<<<<<
 *     cdef GLuint *shaders = _genBegin(count)
 *     c_opengl.glGetAttachedShaders(program, count, &count, shaders)
 */
  __pyx_v_count = 1024;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":656
 * def glGetAttachedShaders(GLuint program, GLsizei maxcount):
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":657
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":658
 *     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 = 658; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":660
 *     return _genEnd(count, shaders)
 * 
 * def glGetAttribLocation(GLuint program,  bytes name):             # <<<<<<<<<<<<<<
 *     return c_opengl.glGetAttribLocation(program, <char *>name)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_57glGetAttribLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_57glGetAttribLocation = {__Pyx_NAMESTR("glGetAttribLocation"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_57glGetAttribLocation, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 660; __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 = 660; __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 = 660; __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 = 660; __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 = 660; __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 = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":661
 * 
 * def glGetAttribLocation(GLuint program,  bytes name):
 *     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 = 661; __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 = 661; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":663
 *     return c_opengl.glGetAttribLocation(program, <char *>name)
 * 
 * def glGetBooleanv(GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLboolean *params = <GLboolean *>malloc(_GL_GET_SIZE[pname] * sizeof(GLboolean))
 *     if params == NULL:
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_58glGetBooleanv(PyObject *__pyx_self, PyObject *__pyx_arg_pname); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_58glGetBooleanv = {__Pyx_NAMESTR("glGetBooleanv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_58glGetBooleanv, METH_O, __Pyx_DOCSTR(0)};
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 = 663; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":664
 * 
 * def glGetBooleanv(GLenum pname):
 *     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 = 664; __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 = 664; __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 = 664; __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 = 664; __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 = 664; __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));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":665
 * def glGetBooleanv(GLenum pname):
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":666
 *     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])]
 */
    __pyx_t_3 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_7), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":667
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":668
 *         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 = 668; __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 = 668; __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 = 668; __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 = 668; __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 = 668; __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 = 668; __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 = 668; __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 = 668; __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 = 668; __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 = 668; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":669
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":670
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":672
 *     return out
 * 
 * def glGetBufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_59glGetBufferParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_59glGetBufferParameteriv = {__Pyx_NAMESTR("glGetBufferParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_59glGetBufferParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 672; __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 = 672; __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 = 672; __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 = 672; __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 = 672; __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 = 672; __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 = 672; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":673
 * 
 * def glGetBufferParameteriv(GLenum target, GLenum pname):
 *     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 = 673; __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 = 673; __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 = 673; __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 = 673; __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 = 673; __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));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":674
 * def glGetBufferParameteriv(GLenum target, GLenum pname):
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":675
 *     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])]
 */
    __pyx_t_3 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_9), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":676
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":677
 *         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 = 677; __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 = 677; __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 = 677; __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 = 677; __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 = 677; __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 = 677; __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 = 677; __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 = 677; __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 = 677; __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 = 677; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":678
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":679
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":681
 *     return out
 * 
 * def glGetError():             # <<<<<<<<<<<<<<
 *     return c_opengl.glGetError()
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_60glGetError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_60glGetError = {__Pyx_NAMESTR("glGetError"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_60glGetError, METH_NOARGS, __Pyx_DOCSTR(0)};
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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":682
 * 
 * def glGetError():
 *     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 = 682; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":684
 *     return c_opengl.glGetError()
 * 
 * def glGetFloatv(GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLfloat *params = <GLfloat *>malloc(_GL_GET_SIZE[pname] * sizeof(GLfloat))
 *     if params == NULL:
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_61glGetFloatv(PyObject *__pyx_self, PyObject *__pyx_arg_pname); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_61glGetFloatv = {__Pyx_NAMESTR("glGetFloatv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_61glGetFloatv, METH_O, __Pyx_DOCSTR(0)};
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 = 684; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":685
 * 
 * def glGetFloatv(GLenum pname):
 *     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 = 685; __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 = 685; __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 = 685; __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 = 685; __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 = 685; __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));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":686
 * def glGetFloatv(GLenum pname):
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":687
 *     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])]
 */
    __pyx_t_3 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_11), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":688
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":689
 *         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 = 689; __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 = 689; __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 = 689; __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 = 689; __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 = 689; __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 = 689; __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 = 689; __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 = 689; __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 = 689; __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 = 689; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":690
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":691
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":693
 *     return out
 * 
 * def glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv = {__Pyx_NAMESTR("glGetFramebufferAttachmentParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 693; __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 = 693; __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 = 693; __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 = 693; __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 = 693; __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 = 693; __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 = 693; __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 = 693; __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 = 693; __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 = 693; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":694
 * 
 * def glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname):
 *     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 = 694; __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 = 694; __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 = 694; __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 = 694; __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 = 694; __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));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":695
 * def glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname):
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":696
 *     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])]
 */
    __pyx_t_3 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_13), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":697
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":698
 *         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 = 698; __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 = 698; __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 = 698; __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 = 698; __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 = 698; __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 = 698; __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 = 698; __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 = 698; __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 = 698; __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 = 698; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":699
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":700
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":702
 *     return out
 * 
 * def glGetIntegerv(GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_63glGetIntegerv(PyObject *__pyx_self, PyObject *__pyx_arg_pname); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_63glGetIntegerv = {__Pyx_NAMESTR("glGetIntegerv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_63glGetIntegerv, METH_O, __Pyx_DOCSTR(0)};
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 = 702; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":703
 * 
 * def glGetIntegerv(GLenum pname):
 *     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 = 703; __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 = 703; __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 = 703; __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 = 703; __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 = 703; __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));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":704
 * def glGetIntegerv(GLenum pname):
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":705
 *     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])]
 */
    __pyx_t_3 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_15), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":706
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":707
 *         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 = 707; __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 = 707; __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 = 707; __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 = 707; __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 = 707; __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 = 707; __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 = 707; __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 = 707; __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 = 707; __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 = 707; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":708
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":709
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":711
 *     return out
 * 
 * def glGetProgramiv(GLuint program, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetProgramiv(program, pname, &params)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_64glGetProgramiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_64glGetProgramiv = {__Pyx_NAMESTR("glGetProgramiv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_64glGetProgramiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 711; __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 = 711; __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 = 711; __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 = 711; __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 = 711; __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 = 711; __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 = 711; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":713
 * def glGetProgramiv(GLuint program, GLenum pname):
 *     cdef GLint params
 *     c_opengl.glGetProgramiv(program, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetProgramiv(__pyx_v_program, __pyx_v_pname, (&__pyx_v_params));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":714
 *     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 = 714; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":716
 *     return params
 * 
 * def glGetProgramInfoLog(GLuint program, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLchar *infolog
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_65glGetProgramInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_65glGetProgramInfoLog = {__Pyx_NAMESTR("glGetProgramInfoLog"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_65glGetProgramInfoLog, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 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), "glGetProgramInfoLog") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __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 = 716; __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 = 716; __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 = 716; __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 = 716; __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 = 716; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":720
 *     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)));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":721
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":722
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)
 *     if infolog == NULL:
 *         raise MemoryError('glGetProgramInfoLog()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetProgramInfoLog(program, 2048, &size, infolog)
 *     p_infolog = <char *>infolog
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_17), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":723
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":724
 *         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 = 724; __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;

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

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":726
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":728
 *     return p_infolog
 * 
 * def glGetRenderbufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetRenderbufferParameteriv(target, pname, &params)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv = {__Pyx_NAMESTR("glGetRenderbufferParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 728; __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 = 728; __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 = 728; __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 = 728; __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 = 728; __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 = 728; __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 = 728; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":730
 * def glGetRenderbufferParameteriv(GLenum target, GLenum pname):
 *     cdef GLint params
 *     c_opengl.glGetRenderbufferParameteriv(target, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetRenderbufferParameteriv(__pyx_v_target, __pyx_v_pname, (&__pyx_v_params));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":731
 *     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 = 731; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":733
 *     return params
 * 
 * def glGetShaderiv(GLuint shader, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetShaderiv(shader, pname, &params)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_67glGetShaderiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_67glGetShaderiv = {__Pyx_NAMESTR("glGetShaderiv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_67glGetShaderiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 733; __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 = 733; __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 = 733; __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 = 733; __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 = 733; __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 = 733; __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 = 733; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":735
 * def glGetShaderiv(GLuint shader, GLenum pname):
 *     cdef GLint params
 *     c_opengl.glGetShaderiv(shader, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetShaderiv(__pyx_v_shader, __pyx_v_pname, (&__pyx_v_params));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":736
 *     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 = 736; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":738
 *     return params
 * 
 * def glGetShaderInfoLog(GLuint shader, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLchar *infolog
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_68glGetShaderInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_68glGetShaderInfoLog = {__Pyx_NAMESTR("glGetShaderInfoLog"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_68glGetShaderInfoLog, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 738; __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 = 738; __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 = 738; __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 = 738; __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 = 738; __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 = 738; __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 = 738; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":742
 *     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)));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":743
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":744
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)
 *     if infolog == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetShaderInfoLog(shader, 2048, &size, infolog)
 *     p_infolog = <char *>infolog
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_19), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 744; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 744; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":745
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":746
 *         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 = 746; __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;

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

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":748
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":750
 *     return p_infolog
 * 
 * def glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype): #, GLint* range, GLint* precision):             # <<<<<<<<<<<<<<
 *     raise NotImplemented()
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat = {__Pyx_NAMESTR("glGetShaderPrecisionFormat"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 750; __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 = 750; __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 = 750; __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 = 750; __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 = 750; __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 = 750; __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 = 750; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":751
 * 
 * def glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype): #, GLint* range, GLint* precision):
 *     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 = 751; __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 = 751; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":754
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 * 
 * def glGetShaderSource(GLuint shader):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLchar *source
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_70glGetShaderSource(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_70glGetShaderSource = {__Pyx_NAMESTR("glGetShaderSource"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_70glGetShaderSource, METH_O, __Pyx_DOCSTR(0)};
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 = 754; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":758
 *     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)));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":759
 *     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) {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":760
 *     source = <GLchar *>malloc(sizeof(GLchar) * 65535)
 *     if source == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetShaderSource(shader, 65535, &size, source)
 *     p_source = <char *>source
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_20), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L5;
  }
  __pyx_L5:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":761
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":762
 *         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 = 762; __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;

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

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":764
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":766
 *     return p_source
 * 
 * def glGetString(GLenum name):             # <<<<<<<<<<<<<<
 *     cdef bytes p_string
 *     p_string = <char *>c_opengl.glGetString(name)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_71glGetString(PyObject *__pyx_self, PyObject *__pyx_arg_name); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_71glGetString = {__Pyx_NAMESTR("glGetString"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_71glGetString, METH_O, __Pyx_DOCSTR(0)};
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 = 766; __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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":768
 * def glGetString(GLenum name):
 *     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 = 768; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":769
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":771
 *     return p_string
 * 
 * def glGetTexParameterfv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLfloat params
 *     c_opengl.glGetTexParameterfv(target, pname, &params)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_72glGetTexParameterfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_72glGetTexParameterfv = {__Pyx_NAMESTR("glGetTexParameterfv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_72glGetTexParameterfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 771; __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 = 771; __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 = 771; __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 = 771; __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 = 771; __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 = 771; __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 = 771; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":773
 * def glGetTexParameterfv(GLenum target, GLenum pname):
 *     cdef GLfloat params
 *     c_opengl.glGetTexParameterfv(target, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetTexParameterfv(__pyx_v_target, __pyx_v_pname, (&__pyx_v_params));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":774
 *     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 = 774; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":776
 *     return params
 * 
 * def glGetTexParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetTexParameteriv(target, pname, &params)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_73glGetTexParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_73glGetTexParameteriv = {__Pyx_NAMESTR("glGetTexParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_73glGetTexParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 776; __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 = 776; __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 = 776; __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 = 776; __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 = 776; __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 = 776; __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 = 776; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":778
 * def glGetTexParameteriv(GLenum target, GLenum pname):
 *     cdef GLint params
 *     c_opengl.glGetTexParameteriv(target, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetTexParameteriv(__pyx_v_target, __pyx_v_pname, (&__pyx_v_params));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":779
 *     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 = 779; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":781
 *     return params
 * 
 * def glGetUniformfv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     cdef GLfloat params
 *     c_opengl.glGetUniformfv(program, location, &params)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_74glGetUniformfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_74glGetUniformfv = {__Pyx_NAMESTR("glGetUniformfv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_74glGetUniformfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 781; __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 = 781; __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 = 781; __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 = 781; __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 = 781; __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 = 781; __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 = 781; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":783
 * def glGetUniformfv(GLuint program, GLint location):
 *     cdef GLfloat params
 *     c_opengl.glGetUniformfv(program, location, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetUniformfv(__pyx_v_program, __pyx_v_location, (&__pyx_v_params));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":784
 *     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 = 784; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":786
 *     return params
 * 
 * def glGetUniformiv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetUniformiv(program, location, &params)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_75glGetUniformiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_75glGetUniformiv = {__Pyx_NAMESTR("glGetUniformiv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_75glGetUniformiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 786; __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 = 786; __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 = 786; __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 = 786; __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 = 786; __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 = 786; __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 = 786; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":788
 * def glGetUniformiv(GLuint program, GLint location):
 *     cdef GLint params
 *     c_opengl.glGetUniformiv(program, location, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetUniformiv(__pyx_v_program, __pyx_v_location, (&__pyx_v_params));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":789
 *     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 = 789; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":791
 *     return params
 * 
 * def glGetUniformLocation(GLuint program, bytes name):             # <<<<<<<<<<<<<<
 *    return c_opengl.glGetUniformLocation(program, <char *>name)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_76glGetUniformLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_76glGetUniformLocation = {__Pyx_NAMESTR("glGetUniformLocation"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_76glGetUniformLocation, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 791; __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 = 791; __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 = 791; __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 = 791; __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 = 791; __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 = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":792
 * 
 * def glGetUniformLocation(GLuint program, bytes name):
 *    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 = 792; __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 = 792; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":794
 *    return c_opengl.glGetUniformLocation(program, <char *>name)
 * 
 * def glGetVertexAttribfv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLfloat params
 *     c_opengl.glGetVertexAttribfv(index, pname, &params)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_77glGetVertexAttribfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_77glGetVertexAttribfv = {__Pyx_NAMESTR("glGetVertexAttribfv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_77glGetVertexAttribfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 794; __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 = 794; __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 = 794; __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 = 794; __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 = 794; __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 = 794; __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 = 794; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":796
 * def glGetVertexAttribfv(GLuint index, GLenum pname):
 *     cdef GLfloat params
 *     c_opengl.glGetVertexAttribfv(index, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetVertexAttribfv(__pyx_v_index, __pyx_v_pname, (&__pyx_v_params));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":797
 *     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 = 797; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":799
 *     return params
 * 
 * def glGetVertexAttribiv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetVertexAttribiv(index, pname, &params)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_78glGetVertexAttribiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_78glGetVertexAttribiv = {__Pyx_NAMESTR("glGetVertexAttribiv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_78glGetVertexAttribiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 799; __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 = 799; __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 = 799; __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 = 799; __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 = 799; __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 = 799; __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 = 799; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":801
 * def glGetVertexAttribiv(GLuint index, GLenum pname):
 *     cdef GLint params
 *     c_opengl.glGetVertexAttribiv(index, pname, &params)             # <<<<<<<<<<<<<<
 *     return params
 * 
 */
  glGetVertexAttribiv(__pyx_v_index, __pyx_v_pname, (&__pyx_v_params));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":802
 *     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 = 802; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":804
 *     return params
 * 
 * def glGetVertexAttribPointerv(GLuint index, GLenum pname):#, GLvoid** pointer):             # <<<<<<<<<<<<<<
 *     raise NotImplemented()
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv = {__Pyx_NAMESTR("glGetVertexAttribPointerv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 804; __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 = 804; __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 = 804; __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 = 804; __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 = 804; __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 = 804; __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 = 804; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":805
 * 
 * def glGetVertexAttribPointerv(GLuint index, GLenum pname):#, GLvoid** pointer):
 *     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 = 805; __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 = 805; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":808
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 * 
 * def glHint(GLenum target, GLenum mode):             # <<<<<<<<<<<<<<
 *     c_opengl.glHint(target, mode)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_80glHint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_80glHint = {__Pyx_NAMESTR("glHint"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_80glHint, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 808; __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 = 808; __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 = 808; __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 = 808; __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 = 808; __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 = 808; __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 = 808; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":809
 * 
 * def glHint(GLenum target, GLenum mode):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":811
 *     c_opengl.glHint(target, mode)
 * 
 * def glIsBuffer(GLuint buffer):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsBuffer(buffer)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_81glIsBuffer(PyObject *__pyx_self, PyObject *__pyx_arg_buffer); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_81glIsBuffer = {__Pyx_NAMESTR("glIsBuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_81glIsBuffer, METH_O, __Pyx_DOCSTR(0)};
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 = 811; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":812
 * 
 * def glIsBuffer(GLuint buffer):
 *     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 = 812; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":814
 *     return c_opengl.glIsBuffer(buffer)
 * 
 * def glIsEnabled(GLenum cap):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsEnabled(cap)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_82glIsEnabled(PyObject *__pyx_self, PyObject *__pyx_arg_cap); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_82glIsEnabled = {__Pyx_NAMESTR("glIsEnabled"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_82glIsEnabled, METH_O, __Pyx_DOCSTR(0)};
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 = 814; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":815
 * 
 * def glIsEnabled(GLenum cap):
 *     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 = 815; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":817
 *     return c_opengl.glIsEnabled(cap)
 * 
 * def glIsFramebuffer(GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsFramebuffer(framebuffer)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_83glIsFramebuffer(PyObject *__pyx_self, PyObject *__pyx_arg_framebuffer); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_83glIsFramebuffer = {__Pyx_NAMESTR("glIsFramebuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_83glIsFramebuffer, METH_O, __Pyx_DOCSTR(0)};
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 = 817; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":818
 * 
 * def glIsFramebuffer(GLuint framebuffer):
 *     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 = 818; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":820
 *     return c_opengl.glIsFramebuffer(framebuffer)
 * 
 * def glIsProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsProgram(program)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_84glIsProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_84glIsProgram = {__Pyx_NAMESTR("glIsProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_84glIsProgram, METH_O, __Pyx_DOCSTR(0)};
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 = 820; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":821
 * 
 * def glIsProgram(GLuint program):
 *     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 = 821; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":823
 *     return c_opengl.glIsProgram(program)
 * 
 * def glIsRenderbuffer(GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsRenderbuffer(renderbuffer)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_85glIsRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_arg_renderbuffer); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_85glIsRenderbuffer = {__Pyx_NAMESTR("glIsRenderbuffer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_85glIsRenderbuffer, METH_O, __Pyx_DOCSTR(0)};
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 = 823; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":824
 * 
 * def glIsRenderbuffer(GLuint renderbuffer):
 *     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 = 824; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":826
 *     return c_opengl.glIsRenderbuffer(renderbuffer)
 * 
 * def glIsShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsShader(shader)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_86glIsShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_86glIsShader = {__Pyx_NAMESTR("glIsShader"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_86glIsShader, METH_O, __Pyx_DOCSTR(0)};
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 = 826; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":827
 * 
 * def glIsShader(GLuint shader):
 *     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 = 827; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":829
 *     return c_opengl.glIsShader(shader)
 * 
 * def glIsTexture(GLuint texture):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsTexture(texture)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_87glIsTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_87glIsTexture = {__Pyx_NAMESTR("glIsTexture"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_87glIsTexture, METH_O, __Pyx_DOCSTR(0)};
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 = 829; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":830
 * 
 * def glIsTexture(GLuint texture):
 *     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 = 830; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":832
 *     return c_opengl.glIsTexture(texture)
 * 
 * def glLineWidth(GLfloat width):             # <<<<<<<<<<<<<<
 *     c_opengl.glLineWidth(width)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_88glLineWidth(PyObject *__pyx_self, PyObject *__pyx_arg_width); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_88glLineWidth = {__Pyx_NAMESTR("glLineWidth"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_88glLineWidth, METH_O, __Pyx_DOCSTR(0)};
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 = 832; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":833
 * 
 * def glLineWidth(GLfloat width):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":835
 *     c_opengl.glLineWidth(width)
 * 
 * def glLinkProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     c_opengl.glLinkProgram(program)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_89glLinkProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_89glLinkProgram = {__Pyx_NAMESTR("glLinkProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_89glLinkProgram, METH_O, __Pyx_DOCSTR(0)};
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 = 835; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":836
 * 
 * def glLinkProgram(GLuint program):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":838
 *     c_opengl.glLinkProgram(program)
 * 
 * def glPixelStorei(GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     c_opengl.glPixelStorei(pname, param)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_90glPixelStorei(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_90glPixelStorei = {__Pyx_NAMESTR("glPixelStorei"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_90glPixelStorei, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 838; __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 = 838; __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 = 838; __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 = 838; __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 = 838; __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 = 838; __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 = 838; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":839
 * 
 * def glPixelStorei(GLenum pname, GLint param):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":841
 *     c_opengl.glPixelStorei(pname, param)
 * 
 * def glPolygonOffset(GLfloat factor, GLfloat units):             # <<<<<<<<<<<<<<
 *     c_opengl.glPolygonOffset(factor, units)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_91glPolygonOffset(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_91glPolygonOffset = {__Pyx_NAMESTR("glPolygonOffset"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_91glPolygonOffset, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 841; __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 = 841; __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 = 841; __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 = 841; __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 = 841; __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 = 841; __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 = 841; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":842
 * 
 * def glPolygonOffset(GLfloat factor, GLfloat units):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":844
 *     c_opengl.glPolygonOffset(factor, units)
 * 
 * def glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,             # <<<<<<<<<<<<<<
 *                  GLenum type): #, GLvoid* pixels):
 *     '''We are supporting only GL_RGB/GL_RGBA as format, and GL_UNSIGNED_BYTE as
 */

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[] = "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;
  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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 845; __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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 844; __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 = 845; __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 = 844; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":849
 *     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 = 849; __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 = 849; __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 = 849; __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 = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_6 = __pyx_t_5;
  if (!__pyx_t_6) {
    __pyx_t_4 = PyLong_FromUnsignedLong(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __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 = 849; __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 = 849; __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_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    __pyx_t_7 = __pyx_t_5;
    __pyx_t_5 = __pyx_t_7;
  } else {
    __pyx_t_5 = __pyx_t_6;
  }
  if (unlikely(!__pyx_t_5)) {
    PyErr_SetNone(PyExc_AssertionError);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  #endif

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":850
 *     '''
 *     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 = 850; __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 = 850; __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 = 850; __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 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_5)) {
    PyErr_SetNone(PyExc_AssertionError);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  #endif

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":852
 *     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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":856
 *     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 = 856; __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 = 856; __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 = 856; __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_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 856; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_5) {
    __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)));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":857
 * 
 *     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));

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

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":859
 *     data = <char *>malloc(size)
 *     if data == NULL:
 *         raise MemoryError('glReadPixels()')             # <<<<<<<<<<<<<<
 * 
 *     c_opengl.glReadPixels(x, y, width, height, format, type, data)
 */
    __pyx_t_2 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_22), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L6;
  }
  __pyx_L6:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":861
 *         raise MemoryError('glReadPixels()')
 * 
 *     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);

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":862
 * 
 *     c_opengl.glReadPixels(x, y, width, height, format, type, data)
 *     try:             # <<<<<<<<<<<<<<
 *         py_pixels = PyString_FromStringAndSize(data, size)
 *     finally:
 */
  /*try:*/ {

    /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":863
 *     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 = 863; __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;
  }

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":865
 *         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;
      }
    }
  }

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":867
 *         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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":871
 * # XXX This one is commented out because a) it's not necessary and
 * #	    				b) it's breaking on OSX for some reason
 * def glReleaseShaderCompiler():             # <<<<<<<<<<<<<<
 *     raise NotImplemented()
 * #    c_opengl.glReleaseShaderCompiler()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_93glReleaseShaderCompiler(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_93glReleaseShaderCompiler = {__Pyx_NAMESTR("glReleaseShaderCompiler"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_93glReleaseShaderCompiler, METH_NOARGS, __Pyx_DOCSTR(0)};
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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":872
 * #	    				b) it's breaking on OSX for some reason
 * def glReleaseShaderCompiler():
 *     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 = 872; __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 = 872; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":875
 * #    c_opengl.glReleaseShaderCompiler()
 * 
 * def glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     c_opengl.glRenderbufferStorage(target, internalformat, width, height)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_94glRenderbufferStorage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_94glRenderbufferStorage = {__Pyx_NAMESTR("glRenderbufferStorage"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_94glRenderbufferStorage, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 875; __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 = 875; __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 = 875; __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 = 875; __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 = 875; __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 = 875; __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 = 875; __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 = 875; __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 = 875; __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 = 875; __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 = 875; __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 = 875; __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 = 875; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":876
 * 
 * def glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":878
 *     c_opengl.glRenderbufferStorage(target, internalformat, width, height)
 * 
 * def glSampleCoverage(GLclampf value, GLboolean invert):             # <<<<<<<<<<<<<<
 *     c_opengl.glSampleCoverage(value, invert)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_95glSampleCoverage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_95glSampleCoverage = {__Pyx_NAMESTR("glSampleCoverage"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_95glSampleCoverage, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 878; __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 = 878; __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 = 878; __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 = 878; __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 = 878; __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 = 878; __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 = 878; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":879
 * 
 * def glSampleCoverage(GLclampf value, GLboolean invert):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":881
 *     c_opengl.glSampleCoverage(value, invert)
 * 
 * def glScissor(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     c_opengl.glScissor(x, y, width, height)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_96glScissor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_96glScissor = {__Pyx_NAMESTR("glScissor"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_96glScissor, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 881; __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 = 881; __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 = 881; __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 = 881; __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 = 881; __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 = 881; __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 = 881; __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 = 881; __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 = 881; __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 = 881; __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 = 881; __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 = 881; __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 = 881; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":882
 * 
 * def glScissor(GLint x, GLint y, GLsizei width, GLsizei height):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":884
 *     c_opengl.glScissor(x, y, width, height)
 * 
 * def glShaderBinary():#GLsizei n,  GLuint* shaders, GLenum binaryformat,  bytes GLvoid* binary, GLsizei length):             # <<<<<<<<<<<<<<
 *     #c_opengl.glShaderBinary(n, shaders, binaryformat, binary, length)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_97glShaderBinary(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_97glShaderBinary = {__Pyx_NAMESTR("glShaderBinary"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_97glShaderBinary, METH_NOARGS, __Pyx_DOCSTR(0)};
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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":886
 * def glShaderBinary():#GLsizei n,  GLuint* shaders, GLenum binaryformat,  bytes GLvoid* binary, GLsizei length):
 *     #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 = 886; __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 = 886; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":888
 *     raise NotImplemented()
 * 
 * def glShaderSource(GLuint shader, bytes source):             # <<<<<<<<<<<<<<
 *     cdef char *c_source = source
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_98glShaderSource(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_98glShaderSource = {__Pyx_NAMESTR("glShaderSource"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_98glShaderSource, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 888; __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 = 888; __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 = 888; __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 = 888; __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 = 888; __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 = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":889
 * 
 * def glShaderSource(GLuint shader, bytes source):
 *     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 = 889; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_v_c_source = __pyx_t_1;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":890
 * def glShaderSource(GLuint shader, bytes source):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":892
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)
 * 
 * def glStencilFunc(GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilFunc(func, ref, mask)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_99glStencilFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_99glStencilFunc = {__Pyx_NAMESTR("glStencilFunc"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_99glStencilFunc, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 892; __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 = 892; __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 = 892; __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 = 892; __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 = 892; __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 = 892; __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 = 892; __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 = 892; __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 = 892; __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 = 892; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":893
 * 
 * def glStencilFunc(GLenum func, GLint ref, GLuint mask):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":895
 *     c_opengl.glStencilFunc(func, ref, mask)
 * 
 * def glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilFuncSeparate(face, func, ref, mask)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_100glStencilFuncSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_100glStencilFuncSeparate = {__Pyx_NAMESTR("glStencilFuncSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_100glStencilFuncSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 895; __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 = 895; __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 = 895; __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 = 895; __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 = 895; __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 = 895; __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 = 895; __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 = 895; __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 = 895; __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 = 895; __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 = 895; __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 = 895; __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 = 895; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":896
 * 
 * def glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":898
 *     c_opengl.glStencilFuncSeparate(face, func, ref, mask)
 * 
 * def glStencilMask(GLuint mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilMask(mask)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_101glStencilMask(PyObject *__pyx_self, PyObject *__pyx_arg_mask); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_101glStencilMask = {__Pyx_NAMESTR("glStencilMask"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_101glStencilMask, METH_O, __Pyx_DOCSTR(0)};
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 = 898; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":899
 * 
 * def glStencilMask(GLuint mask):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":901
 *     c_opengl.glStencilMask(mask)
 * 
 * def glStencilMaskSeparate(GLenum face, GLuint mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilMaskSeparate(face, mask)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_102glStencilMaskSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_102glStencilMaskSeparate = {__Pyx_NAMESTR("glStencilMaskSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_102glStencilMaskSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 901; __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 = 901; __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 = 901; __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 = 901; __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 = 901; __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 = 901; __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 = 901; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":902
 * 
 * def glStencilMaskSeparate(GLenum face, GLuint mask):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":904
 *     c_opengl.glStencilMaskSeparate(face, mask)
 * 
 * def glStencilOp(GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilOp(fail, zfail, zpass)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_103glStencilOp(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_103glStencilOp = {__Pyx_NAMESTR("glStencilOp"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_103glStencilOp, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 904; __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 = 904; __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 = 904; __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 = 904; __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 = 904; __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 = 904; __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 = 904; __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 = 904; __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 = 904; __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 = 904; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":905
 * 
 * def glStencilOp(GLenum fail, GLenum zfail, GLenum zpass):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":907
 *     c_opengl.glStencilOp(fail, zfail, zpass)
 * 
 * def glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilOpSeparate(face, fail, zfail, zpass)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_104glStencilOpSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_104glStencilOpSeparate = {__Pyx_NAMESTR("glStencilOpSeparate"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_104glStencilOpSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 907; __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 = 907; __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 = 907; __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 = 907; __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 = 907; __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 = 907; __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 = 907; __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 = 907; __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 = 907; __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 = 907; __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 = 907; __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 = 907; __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 = 907; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":908
 * 
 * def glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":910
 *     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 PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_105glTexImage2D = {__Pyx_NAMESTR("glTexImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_105glTexImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 911; __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 = 911; __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 = 911; __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 = 911; __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 = 910; __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 = 910; __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 = 910; __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 = 910; __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 = 911; __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 = 911; __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 = 911; __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 = 911; __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 = 910; __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 = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":914
 *                  type,  bytes pixels):
 *     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 = 914; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":916
 *                           format, type, <GLvoid *><char *>pixels)
 * 
 * def glTexParameterf(GLenum target, GLenum pname, GLfloat param):             # <<<<<<<<<<<<<<
 *     c_opengl.glTexParameterf(target, pname, param)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_106glTexParameterf(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_106glTexParameterf = {__Pyx_NAMESTR("glTexParameterf"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_106glTexParameterf, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 916; __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 = 916; __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 = 916; __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 = 916; __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 = 916; __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 = 916; __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 = 916; __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 = 916; __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 = 916; __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 = 916; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":917
 * 
 * def glTexParameterf(GLenum target, GLenum pname, GLfloat param):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":919
 *     c_opengl.glTexParameterf(target, pname, param)
 * 
 * def glTexParameterfv(GLenum target, GLenum pname):#,  GLfloat* params):             # <<<<<<<<<<<<<<
 *     #c_opengl.glTexParameterfv(target, pname, params)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_107glTexParameterfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_107glTexParameterfv = {__Pyx_NAMESTR("glTexParameterfv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_107glTexParameterfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 919; __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 = 919; __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 = 919; __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 = 919; __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 = 919; __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 = 919; __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 = 919; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":921
 * def glTexParameterfv(GLenum target, GLenum pname):#,  GLfloat* params):
 *     #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 = 921; __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 = 921; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":923
 *     raise NotImplemented()
 * 
 * def glTexParameteri(GLenum target, GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     c_opengl.glTexParameteri(target, pname, param)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_108glTexParameteri(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_108glTexParameteri = {__Pyx_NAMESTR("glTexParameteri"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_108glTexParameteri, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 923; __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 = 923; __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 = 923; __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 = 923; __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 = 923; __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 = 923; __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 = 923; __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 = 923; __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 = 923; __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 = 923; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":924
 * 
 * def glTexParameteri(GLenum target, GLenum pname, GLint param):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":926
 *     c_opengl.glTexParameteri(target, pname, param)
 * 
 * def glTexParameteriv(GLenum target, GLenum pname):#,  GLint* params):             # <<<<<<<<<<<<<<
 *     #c_opengl.glTexParameteriv(target, pname, params)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_109glTexParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_109glTexParameteriv = {__Pyx_NAMESTR("glTexParameteriv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_109glTexParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 926; __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 = 926; __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 = 926; __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 = 926; __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 = 926; __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 = 926; __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 = 926; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":928
 * def glTexParameteriv(GLenum target, GLenum pname):#,  GLint* params):
 *     #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 = 928; __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 = 928; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":930
 *     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 PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_110glTexSubImage2D = {__Pyx_NAMESTR("glTexSubImage2D"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_110glTexSubImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 931; __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 = 931; __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 = 931; __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 = 931; __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 = 930; __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 = 930; __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 = 930; __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 = 930; __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 = 931; __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 = 931; __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 = 931; __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 = 931; __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 = 930; __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 = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":934
 *                     bytes pixels):
 *     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 = 934; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":936
 *                              format, type, <GLvoid *><char *>pixels)
 * 
 * def glUniform1f(GLint location, GLfloat x):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform1f(location, x)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_111glUniform1f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_111glUniform1f = {__Pyx_NAMESTR("glUniform1f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_111glUniform1f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 936; __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 = 936; __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 = 936; __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 = 936; __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 = 936; __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 = 936; __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 = 936; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":937
 * 
 * def glUniform1f(GLint location, GLfloat x):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":939
 *     c_opengl.glUniform1f(location, x)
 * 
 * def glUniform1fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform1fv(location, count, v)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_112glUniform1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_112glUniform1fv = {__Pyx_NAMESTR("glUniform1fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_112glUniform1fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 939; __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 = 939; __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 = 939; __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 = 939; __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 = 939; __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 = 939; __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 = 939; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":941
 * def glUniform1fv(GLint location, GLsizei count):#,  GLfloat* v):
 *     #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 = 941; __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 = 941; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":943
 *     raise NotImplemented()
 * 
 * def glUniform1i(GLint location, GLint x):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform1i(location, x)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_113glUniform1i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_113glUniform1i = {__Pyx_NAMESTR("glUniform1i"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_113glUniform1i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 943; __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 = 943; __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 = 943; __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 = 943; __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 = 943; __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 = 943; __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 = 943; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":944
 * 
 * def glUniform1i(GLint location, GLint x):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":946
 *     c_opengl.glUniform1i(location, x)
 * 
 * def glUniform1iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform1iv(location, count, v)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_114glUniform1iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_114glUniform1iv = {__Pyx_NAMESTR("glUniform1iv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_114glUniform1iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 946; __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 = 946; __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 = 946; __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 = 946; __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 = 946; __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 = 946; __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 = 946; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":948
 * def glUniform1iv(GLint location, GLsizei count):#,  GLint* v):
 *     #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 = 948; __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 = 948; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":950
 *     raise NotImplemented()
 * 
 * def glUniform2f(GLint location, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform2f(location, x, y)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_115glUniform2f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_115glUniform2f = {__Pyx_NAMESTR("glUniform2f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_115glUniform2f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 950; __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 = 950; __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 = 950; __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 = 950; __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 = 950; __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 = 950; __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 = 950; __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 = 950; __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 = 950; __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 = 950; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":951
 * 
 * def glUniform2f(GLint location, GLfloat x, GLfloat y):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":953
 *     c_opengl.glUniform2f(location, x, y)
 * 
 * def glUniform2fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform2fv(location, count, v)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_116glUniform2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_116glUniform2fv = {__Pyx_NAMESTR("glUniform2fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_116glUniform2fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 953; __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 = 953; __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 = 953; __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 = 953; __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 = 953; __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 = 953; __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 = 953; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":955
 * def glUniform2fv(GLint location, GLsizei count):#,  GLfloat* v):
 *     #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 = 955; __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 = 955; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":957
 *     raise NotImplemented()
 * 
 * def glUniform2i(GLint location, GLint x, GLint y):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform2i(location, x, y)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_117glUniform2i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_117glUniform2i = {__Pyx_NAMESTR("glUniform2i"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_117glUniform2i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 957; __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 = 957; __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 = 957; __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 = 957; __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 = 957; __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 = 957; __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 = 957; __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 = 957; __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 = 957; __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 = 957; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":958
 * 
 * def glUniform2i(GLint location, GLint x, GLint y):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":960
 *     c_opengl.glUniform2i(location, x, y)
 * 
 * def glUniform2iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform2iv(location, count, v)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_118glUniform2iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_118glUniform2iv = {__Pyx_NAMESTR("glUniform2iv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_118glUniform2iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 960; __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 = 960; __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 = 960; __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 = 960; __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 = 960; __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 = 960; __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 = 960; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":962
 * def glUniform2iv(GLint location, GLsizei count):#,  GLint* v):
 *     #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 = 962; __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 = 962; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":964
 *     raise NotImplemented()
 * 
 * def glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform3f(location, x, y, z)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_119glUniform3f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_119glUniform3f = {__Pyx_NAMESTR("glUniform3f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_119glUniform3f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 964; __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 = 964; __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 = 964; __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 = 964; __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 = 964; __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 = 964; __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 = 964; __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 = 964; __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 = 964; __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 = 964; __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 = 964; __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 = 964; __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 = 964; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":965
 * 
 * def glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":967
 *     c_opengl.glUniform3f(location, x, y, z)
 * 
 * def glUniform3fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform3fv(location, count, v)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_120glUniform3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_120glUniform3fv = {__Pyx_NAMESTR("glUniform3fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_120glUniform3fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 967; __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 = 967; __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 = 967; __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 = 967; __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 = 967; __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 = 967; __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 = 967; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":969
 * def glUniform3fv(GLint location, GLsizei count):#,  GLfloat* v):
 *     #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 = 969; __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 = 969; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":971
 *     raise NotImplemented()
 * 
 * def glUniform3i(GLint location, GLint x, GLint y, GLint z):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform3i(location, x, y, z)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_121glUniform3i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_121glUniform3i = {__Pyx_NAMESTR("glUniform3i"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_121glUniform3i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 971; __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 = 971; __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 = 971; __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 = 971; __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 = 971; __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 = 971; __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 = 971; __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 = 971; __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 = 971; __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 = 971; __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 = 971; __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 = 971; __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 = 971; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":972
 * 
 * def glUniform3i(GLint location, GLint x, GLint y, GLint z):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":974
 *     c_opengl.glUniform3i(location, x, y, z)
 * 
 * def glUniform3iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform3iv(location, count, v)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_122glUniform3iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_122glUniform3iv = {__Pyx_NAMESTR("glUniform3iv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_122glUniform3iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 974; __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 = 974; __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 = 974; __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 = 974; __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 = 974; __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 = 974; __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 = 974; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":976
 * def glUniform3iv(GLint location, GLsizei count):#,  GLint* v):
 *     #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 = 976; __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 = 976; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":978
 *     raise NotImplemented()
 * 
 * def glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform4f(location, x, y, z, w)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_123glUniform4f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_123glUniform4f = {__Pyx_NAMESTR("glUniform4f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_123glUniform4f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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 = 978; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":979
 * 
 * def glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":981
 *     c_opengl.glUniform4f(location, x, y, z, w)
 * 
 * def glUniform4fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform4fv(location, count, v)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_124glUniform4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_124glUniform4fv = {__Pyx_NAMESTR("glUniform4fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_124glUniform4fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 981; __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 = 981; __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 = 981; __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 = 981; __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 = 981; __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 = 981; __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 = 981; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":983
 * def glUniform4fv(GLint location, GLsizei count):#,  GLfloat* v):
 *     #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 = 983; __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 = 983; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":985
 *     raise NotImplemented()
 * 
 * def glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform4i(location, x, y, z, w)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_125glUniform4i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_125glUniform4i = {__Pyx_NAMESTR("glUniform4i"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_125glUniform4i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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 = 985; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":986
 * 
 * def glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":988
 *     c_opengl.glUniform4i(location, x, y, z, w)
 * 
 * def glUniform4iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform4iv(location, count, v)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_126glUniform4iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_126glUniform4iv = {__Pyx_NAMESTR("glUniform4iv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_126glUniform4iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 988; __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 = 988; __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 = 988; __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 = 988; __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 = 988; __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 = 988; __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 = 988; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":990
 * def glUniform4iv(GLint location, GLsizei count):#,  GLint* v):
 *     #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 = 990; __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 = 990; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":992
 *     raise NotImplemented()
 * 
 * def glUniformMatrix2fv(GLint location, GLsizei count):#, GLboolean transpose, bytes values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniformMatrix2fv(location, count, transpose, <GLfloat*>ptr_value)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_127glUniformMatrix2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_127glUniformMatrix2fv = {__Pyx_NAMESTR("glUniformMatrix2fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_127glUniformMatrix2fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 992; __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 = 992; __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 = 992; __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 = 992; __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 = 992; __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 = 992; __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 = 992; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":994
 * def glUniformMatrix2fv(GLint location, GLsizei count):#, GLboolean transpose, bytes values):
 *     #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 = 994; __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 = 994; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":996
 *     raise NotImplemented()
 * 
 * def glUniformMatrix3fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     # c_opengl.glUniformMatrix3fv(location, count, transpose, <GLfloat*>ptr_value)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_128glUniformMatrix3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_128glUniformMatrix3fv = {__Pyx_NAMESTR("glUniformMatrix3fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_128glUniformMatrix3fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 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), "glUniformMatrix3fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 996; __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 = 996; __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 = 996; __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 = 996; __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 = 996; __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 = 996; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":998
 * def glUniformMatrix3fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):
 *     # 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 = 998; __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 = 998; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1000
 *     raise NotImplemented()
 * 
 * def glUniformMatrix4fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     # c_opengl.glUniformMatrix4fv(location, count, transpose, <GLfloat*>ptr_value)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_129glUniformMatrix4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_129glUniformMatrix4fv = {__Pyx_NAMESTR("glUniformMatrix4fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_129glUniformMatrix4fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1000; __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 = 1000; __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 = 1000; __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 = 1000; __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 = 1000; __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 = 1000; __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 = 1000; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1002
 * def glUniformMatrix4fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):
 *     # 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 = 1002; __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 = 1002; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1004
 *     raise NotImplemented()
 * 
 * def glUseProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     c_opengl.glUseProgram(program)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_130glUseProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_130glUseProgram = {__Pyx_NAMESTR("glUseProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_130glUseProgram, METH_O, __Pyx_DOCSTR(0)};
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 = 1004; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1005
 * 
 * def glUseProgram(GLuint program):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1007
 *     c_opengl.glUseProgram(program)
 * 
 * def glValidateProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     c_opengl.glValidateProgram(program)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_131glValidateProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_131glValidateProgram = {__Pyx_NAMESTR("glValidateProgram"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_131glValidateProgram, METH_O, __Pyx_DOCSTR(0)};
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 = 1007; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1008
 * 
 * def glValidateProgram(GLuint program):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1010
 *     c_opengl.glValidateProgram(program)
 * 
 * def glVertexAttrib1f(GLuint indx, GLfloat x):             # <<<<<<<<<<<<<<
 *     c_opengl.glVertexAttrib1f(indx, x)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_132glVertexAttrib1f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_132glVertexAttrib1f = {__Pyx_NAMESTR("glVertexAttrib1f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_132glVertexAttrib1f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1010; __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 = 1010; __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 = 1010; __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 = 1010; __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 = 1010; __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 = 1010; __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 = 1010; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1011
 * 
 * def glVertexAttrib1f(GLuint indx, GLfloat x):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1013
 *     c_opengl.glVertexAttrib1f(indx, x)
 * 
 * def glVertexAttrib1fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glVertexAttrib1fv(indx, values)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_133glVertexAttrib1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_133glVertexAttrib1fv = {__Pyx_NAMESTR("glVertexAttrib1fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_133glVertexAttrib1fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 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), "glVertexAttrib1fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __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 = 1013; __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 = 1013; __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 = 1013; __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 = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1015
 * def glVertexAttrib1fv(GLuint indx, list values):
 *     #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 = 1015; __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 = 1015; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1017
 *     raise NotImplemented()
 * 
 * def glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     c_opengl.glVertexAttrib2f(indx, x, y)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_134glVertexAttrib2f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_134glVertexAttrib2f = {__Pyx_NAMESTR("glVertexAttrib2f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_134glVertexAttrib2f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1017; __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 = 1017; __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 = 1017; __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 = 1017; __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 = 1017; __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 = 1017; __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 = 1017; __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 = 1017; __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 = 1017; __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 = 1017; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1018
 * 
 * def glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1020
 *     c_opengl.glVertexAttrib2f(indx, x, y)
 * 
 * def glVertexAttrib2fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glVertexAttrib2fv(indx, values)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_135glVertexAttrib2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_135glVertexAttrib2fv = {__Pyx_NAMESTR("glVertexAttrib2fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_135glVertexAttrib2fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1020; __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 = 1020; __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 = 1020; __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 = 1020; __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 = 1020; __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 = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1022
 * def glVertexAttrib2fv(GLuint indx, list values):
 *     #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 = 1022; __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 = 1022; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1024
 *     raise NotImplemented()
 * 
 * def glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     c_opengl.glVertexAttrib3f(indx, x, y, z)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_136glVertexAttrib3f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_136glVertexAttrib3f = {__Pyx_NAMESTR("glVertexAttrib3f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_136glVertexAttrib3f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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 = 1024; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1025
 * 
 * def glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1027
 *     c_opengl.glVertexAttrib3f(indx, x, y, z)
 * 
 * def glVertexAttrib3fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glVertexAttrib3fv(indx, values)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_137glVertexAttrib3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_137glVertexAttrib3fv = {__Pyx_NAMESTR("glVertexAttrib3fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_137glVertexAttrib3fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1027; __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 = 1027; __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 = 1027; __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 = 1027; __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 = 1027; __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 = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1029
 * def glVertexAttrib3fv(GLuint indx, list values):
 *     #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 = 1029; __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 = 1029; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1031
 *     raise NotImplemented()
 * 
 * def glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     c_opengl.glVertexAttrib4f(indx, x, y, z, w)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_138glVertexAttrib4f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_138glVertexAttrib4f = {__Pyx_NAMESTR("glVertexAttrib4f"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_138glVertexAttrib4f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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 = 1031; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1032
 * 
 * def glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1034
 *     c_opengl.glVertexAttrib4f(indx, x, y, z, w)
 * 
 * def glVertexAttrib4fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glVertexAttrib4fv(indx, values)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_139glVertexAttrib4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_139glVertexAttrib4fv = {__Pyx_NAMESTR("glVertexAttrib4fv"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_139glVertexAttrib4fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1034; __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 = 1034; __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 = 1034; __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 = 1034; __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 = 1034; __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 = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1036
 * def glVertexAttrib4fv(GLuint indx, list values):
 *     #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 = 1036; __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 = 1036; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1038
 *     raise NotImplemented()
 * 
 * def glVertexAttribPointer(GLuint indx, GLint size):#, GLenum type, GLboolean normalized, GLsizei stride,  GLvoid* ptr):             # <<<<<<<<<<<<<<
 *     # c_opengl.glVertexAttribPointer(indx, size, type, normalized, stride, <GLvoid*>ptr)
 *     raise NotImplemented()
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_140glVertexAttribPointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_140glVertexAttribPointer = {__Pyx_NAMESTR("glVertexAttribPointer"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_140glVertexAttribPointer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1038; __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 = 1038; __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 = 1038; __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 = 1038; __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 = 1038; __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 = 1038; __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 = 1038; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1040
 * def glVertexAttribPointer(GLuint indx, GLint size):#, GLenum type, GLboolean normalized, GLsizei stride,  GLvoid* ptr):
 *     # 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 = 1040; __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 = 1040; __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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1042
 *     raise NotImplemented()
 * 
 * def glViewport(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     c_opengl.glViewport(x, y, width, height)
 * 
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_141glViewport(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_141glViewport = {__Pyx_NAMESTR("glViewport"), (PyCFunction)__pyx_pf_4kivy_8graphics_6opengl_141glViewport, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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 = 1042; __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:;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1043
 * 
 * def glViewport(GLint x, GLint y, GLsizei width, GLsizei height):
 *     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;
}

/* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1051
 *         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 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(0)};
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"),
    0, /* 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_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0},
  {&__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_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_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0},
  {&__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_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_132, __pyx_k_132, sizeof(__pyx_k_132), 0, 0, 1, 1},
  {&__pyx_n_s_133, __pyx_k_133, sizeof(__pyx_k_133), 0, 0, 1, 1},
  {&__pyx_n_s_134, __pyx_k_134, sizeof(__pyx_k_134), 0, 0, 1, 1},
  {&__pyx_n_s_135, __pyx_k_135, sizeof(__pyx_k_135), 0, 0, 1, 1},
  {&__pyx_n_s_136, __pyx_k_136, sizeof(__pyx_k_136), 0, 0, 1, 1},
  {&__pyx_n_s_137, __pyx_k_137, sizeof(__pyx_k_137), 0, 0, 1, 1},
  {&__pyx_n_s_138, __pyx_k_138, sizeof(__pyx_k_138), 0, 0, 1, 1},
  {&__pyx_n_s_139, __pyx_k_139, sizeof(__pyx_k_139), 0, 0, 1, 1},
  {&__pyx_kp_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 0},
  {&__pyx_n_s_140, __pyx_k_140, sizeof(__pyx_k_140), 0, 0, 1, 1},
  {&__pyx_n_s_141, __pyx_k_141, sizeof(__pyx_k_141), 0, 0, 1, 1},
  {&__pyx_n_s_142, __pyx_k_142, sizeof(__pyx_k_142), 0, 0, 1, 1},
  {&__pyx_n_s_143, __pyx_k_143, sizeof(__pyx_k_143), 0, 0, 1, 1},
  {&__pyx_n_s_144, __pyx_k_144, sizeof(__pyx_k_144), 0, 0, 1, 1},
  {&__pyx_n_s_145, __pyx_k_145, sizeof(__pyx_k_145), 0, 0, 1, 1},
  {&__pyx_n_s_146, __pyx_k_146, sizeof(__pyx_k_146), 0, 0, 1, 1},
  {&__pyx_n_s_147, __pyx_k_147, sizeof(__pyx_k_147), 0, 0, 1, 1},
  {&__pyx_n_s_148, __pyx_k_148, sizeof(__pyx_k_148), 0, 0, 1, 1},
  {&__pyx_n_s_149, __pyx_k_149, sizeof(__pyx_k_149), 0, 0, 1, 1},
  {&__pyx_n_s_150, __pyx_k_150, sizeof(__pyx_k_150), 0, 0, 1, 1},
  {&__pyx_n_s_151, __pyx_k_151, sizeof(__pyx_k_151), 0, 0, 1, 1},
  {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0},
  {&__pyx_kp_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 0},
  {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0},
  {&__pyx_kp_s_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 0, 1, 0},
  {&__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_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_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
  {&__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_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_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0},
  {&__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_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_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0},
  {&__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_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__CreateProgram, __pyx_k__CreateProgram, sizeof(__pyx_k__CreateProgram), 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 = 37; __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 = 42; __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 = 42; __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 = 751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  return 0;
  __pyx_L1_error:;
  return -1;
}

static int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants");

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":635
 *     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
 */
  __pyx_k_tuple_3 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_3));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_2));
  PyTuple_SET_ITEM(__pyx_k_tuple_3, 0, ((PyObject *)__pyx_kp_s_2));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_2));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":648
 *     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
 */
  __pyx_k_tuple_5 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_5));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
  PyTuple_SET_ITEM(__pyx_k_tuple_5, 0, ((PyObject *)__pyx_kp_s_4));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_5));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":666
 *     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])]
 */
  __pyx_k_tuple_7 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_7));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
  PyTuple_SET_ITEM(__pyx_k_tuple_7, 0, ((PyObject *)__pyx_kp_s_6));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_7));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":675
 *     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])]
 */
  __pyx_k_tuple_9 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_9));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_8));
  PyTuple_SET_ITEM(__pyx_k_tuple_9, 0, ((PyObject *)__pyx_kp_s_8));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_8));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":687
 *     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])]
 */
  __pyx_k_tuple_11 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_11));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_10));
  PyTuple_SET_ITEM(__pyx_k_tuple_11, 0, ((PyObject *)__pyx_kp_s_10));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_10));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":696
 *     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])]
 */
  __pyx_k_tuple_13 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_13));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_12));
  PyTuple_SET_ITEM(__pyx_k_tuple_13, 0, ((PyObject *)__pyx_kp_s_12));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_12));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_13));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":705
 *     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])]
 */
  __pyx_k_tuple_15 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_15));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_14));
  PyTuple_SET_ITEM(__pyx_k_tuple_15, 0, ((PyObject *)__pyx_kp_s_14));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_14));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":722
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)
 *     if infolog == NULL:
 *         raise MemoryError('glGetProgramInfoLog()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetProgramInfoLog(program, 2048, &size, infolog)
 *     p_infolog = <char *>infolog
 */
  __pyx_k_tuple_17 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 722; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_17));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_16));
  PyTuple_SET_ITEM(__pyx_k_tuple_17, 0, ((PyObject *)__pyx_kp_s_16));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_16));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":744
 *     infolog = <GLchar *>malloc(sizeof(GLchar) * 2048)
 *     if infolog == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetShaderInfoLog(shader, 2048, &size, infolog)
 *     p_infolog = <char *>infolog
 */
  __pyx_k_tuple_19 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 744; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_19));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_18));
  PyTuple_SET_ITEM(__pyx_k_tuple_19, 0, ((PyObject *)__pyx_kp_s_18));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_18));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":760
 *     source = <GLchar *>malloc(sizeof(GLchar) * 65535)
 *     if source == NULL:
 *         raise MemoryError('glGetShaderInfoLog()')             # <<<<<<<<<<<<<<
 *     c_opengl.glGetShaderSource(shader, 65535, &size, source)
 *     p_source = <char *>source
 */
  __pyx_k_tuple_20 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_20));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_18));
  PyTuple_SET_ITEM(__pyx_k_tuple_20, 0, ((PyObject *)__pyx_kp_s_18));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_18));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_20));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":859
 *     data = <char *>malloc(size)
 *     if data == NULL:
 *         raise MemoryError('glReadPixels()')             # <<<<<<<<<<<<<<
 * 
 *     c_opengl.glReadPixels(x, y, width, height, format, type, data)
 */
  __pyx_k_tuple_22 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_22));
  __Pyx_INCREF(((PyObject *)__pyx_kp_s_21));
  PyTuple_SET_ITEM(__pyx_k_tuple_22, 0, ((PyObject *)__pyx_kp_s_21));
  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_21));
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22));
  __Pyx_RefNannyFinishContext();
  return 0;
  __pyx_L1_error:;
  __Pyx_RefNannyFinishContext();
  return -1;
}

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, 0, 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 ---*/

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":48
 * 
 * #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 = 48; __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 = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":49
 * #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 = 49; __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 = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":50
 * 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 = 50; __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 = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":51
 * 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 = 51; __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 = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":52
 * 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 = 52; __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 = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":53
 * 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 = 53; __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 = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":54
 * 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 = 54; __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 = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":55
 * 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 = 55; __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 = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":56
 * 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 = 56; __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 = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":57
 * 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 = 57; __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 = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":58
 * 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 = 58; __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 = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":59
 * 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 = 59; __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 = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":60
 * 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 = 60; __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 = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":61
 * 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 = 61; __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 = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":62
 * 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 = 62; __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 = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":63
 * 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 = 63; __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 = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":64
 * 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 = 64; __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 = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":65
 * 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 = 65; __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 = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":66
 * 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 = 66; __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 = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":67
 * 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 = 67; __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 = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":68
 * 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 = 68; __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 = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":69
 * 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 = 69; __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 = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":70
 * 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 = 70; __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 = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":71
 * 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 = 71; __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 = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":72
 * 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 = 72; __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 = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":73
 * 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 = 73; __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 = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":74
 * 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 = 74; __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 = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":75
 * 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 = 75; __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 = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":76
 * 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 = 76; __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 = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":77
 * 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 = 77; __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 = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":78
 * 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 = 78; __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 = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":79
 * 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 = 79; __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 = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":80
 * 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 = 80; __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 = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":81
 * 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 = 81; __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 = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":82
 * 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 = 82; __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 = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":83
 * 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 = 83; __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 = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":84
 * 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 = 84; __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 = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":85
 * 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 = 85; __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 = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":86
 * 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 = 86; __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 = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":87
 * 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 = 87; __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 = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":88
 * 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 = 88; __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 = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":89
 * 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 = 89; __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 = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":90
 * 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 = 90; __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 = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":91
 * 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 = 91; __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 = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":92
 * 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 = 92; __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 = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":93
 * 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 = 93; __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 = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":94
 * 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 = 94; __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 = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":95
 * 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 = 95; __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 = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":96
 * 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 = 96; __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 = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":97
 * 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 = 97; __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 = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":98
 * 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 = 98; __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 = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":99
 * 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 = 99; __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 = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":100
 * 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 = 100; __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 = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":101
 * 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 = 101; __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 = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":102
 * 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 = 102; __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 = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":103
 * 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 = 103; __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 = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":104
 * 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 = 104; __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 = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":105
 * 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 = 105; __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 = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":106
 * 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 = 106; __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 = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":107
 * 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 = 107; __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 = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":108
 * 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 = 108; __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 = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":109
 * 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 = 109; __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 = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":110
 * 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 = 110; __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 = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":111
 * 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 = 111; __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 = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":112
 * 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 = 112; __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 = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":113
 * 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 = 113; __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 = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":114
 * 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 = 114; __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 = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":115
 * 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 = 115; __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 = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":116
 * 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 = 116; __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 = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":117
 * 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 = 117; __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 = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":118
 * 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 = 118; __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 = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":119
 * 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 = 119; __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 = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":120
 * 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 = 120; __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 = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":121
 * 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 = 121; __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 = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":122
 * 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 = 122; __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 = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":123
 * 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 = 123; __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 = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":124
 * 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 = 124; __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 = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":125
 * 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 = 125; __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 = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":126
 * 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 = 126; __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 = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":127
 * 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 = 127; __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 = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":128
 * 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 = 128; __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 = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":129
 * 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 = 129; __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 = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":130
 * 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 = 130; __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 = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":131
 * 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 = 131; __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 = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":132
 * 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 = 132; __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 = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":133
 * 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 = 133; __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 = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":134
 * 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 = 134; __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 = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":135
 * 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 = 135; __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 = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":136
 * 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 = 136; __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 = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":137
 * 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 = 137; __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 = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":138
 * 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 = 138; __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 = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":139
 * 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 = 139; __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 = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":140
 * 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 = 140; __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 = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":141
 * 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 = 141; __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 = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":142
 * 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 = 142; __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 = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":143
 * 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 = 143; __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 = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":144
 * 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 = 144; __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 = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":145
 * 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 = 145; __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 = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":146
 * 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 = 146; __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 = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":147
 * 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 = 147; __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 = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":148
 * 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 = 148; __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 = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":149
 * 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 = 149; __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 = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":150
 * 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 = 150; __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 = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":151
 * 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 = 151; __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 = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":152
 * 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 = 152; __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 = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":153
 * 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 = 153; __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 = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":154
 * 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 = 154; __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 = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":155
 * 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 = 155; __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 = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":156
 * 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 = 156; __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 = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":157
 * 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 = 157; __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 = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":158
 * 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 = 158; __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 = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":159
 * 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 = 159; __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 = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":160
 * 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 = 160; __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 = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":161
 * 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 = 161; __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 = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":162
 * 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 = 162; __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 = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":163
 * 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 = 163; __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 = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":164
 * 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 = 164; __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 = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":165
 * 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 = 165; __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 = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":166
 * 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 = 166; __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 = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":167
 * 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 = 167; __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 = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":168
 * 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 = 168; __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 = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":169
 * 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 = 169; __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 = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":170
 * 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 = 170; __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 = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":171
 * 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 = 171; __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 = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":172
 * 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 = 172; __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 = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":173
 * 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 = 173; __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 = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":174
 * 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 = 174; __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 = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":175
 * 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 = 175; __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 = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":176
 * 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 = 176; __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 = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":177
 * 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 = 177; __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 = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":178
 * 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 = 178; __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 = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":179
 * 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 = 179; __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 = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":180
 * 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 = 180; __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 = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":181
 * 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 = 181; __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 = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":182
 * 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 = 182; __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 = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":183
 * 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 = 183; __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 = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":184
 * 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 = 184; __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 = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":185
 * 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 = 185; __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 = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":186
 * 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 = 186; __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 = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":187
 * 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 = 187; __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 = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":188
 * 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 = 188; __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 = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":189
 * 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 = 189; __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 = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":190
 * 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 = 190; __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 = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":191
 * 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 = 191; __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 = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":192
 * 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 = 192; __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 = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":193
 * 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 = 193; __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 = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":194
 * 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 = 194; __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 = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":195
 * 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 = 195; __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 = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":196
 * 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 = 196; __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 = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":197
 * 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 = 197; __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 = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":198
 * 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 = 198; __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 = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":199
 * 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 = 199; __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 = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":200
 * 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 = 200; __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 = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":201
 * 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 = 201; __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 = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":202
 * 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 = 202; __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 = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":203
 * 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 = 203; __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 = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":204
 * 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 = 204; __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 = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":205
 * 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 = 205; __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 = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":206
 * 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 = 206; __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 = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":207
 * 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 = 207; __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 = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":208
 * 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 = 208; __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 = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":209
 * 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 = 209; __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 = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":210
 * 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 = 210; __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 = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":211
 * 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 = 211; __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 = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":212
 * 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 = 212; __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 = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":213
 * 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 = 213; __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 = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":214
 * 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 = 214; __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 = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":215
 * 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 = 215; __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 = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":216
 * 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 = 216; __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 = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":217
 * 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 = 217; __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 = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":218
 * 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 = 218; __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 = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":219
 * 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 = 219; __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 = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":220
 * 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 = 220; __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 = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":221
 * 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 = 221; __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 = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":222
 * 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 = 222; __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 = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":223
 * 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 = 223; __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 = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":224
 * 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 = 224; __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 = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":225
 * 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 = 225; __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 = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":226
 * 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 = 226; __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 = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":227
 * 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 = 227; __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 = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":228
 * 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 = 228; __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 = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":229
 * 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 = 229; __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 = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":230
 * 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 = 230; __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 = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":231
 * 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 = 231; __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 = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":232
 * 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 = 232; __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 = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":233
 * 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 = 233; __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 = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":234
 * 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 = 234; __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 = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":235
 * 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 = 235; __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 = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":236
 * 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 = 236; __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 = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":237
 * 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 = 237; __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 = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":238
 * 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 = 238; __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 = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":239
 * 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 = 239; __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 = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":240
 * 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 = 240; __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 = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":241
 * 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 = 241; __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 = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":242
 * 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 = 242; __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 = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":243
 * 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 = 243; __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 = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":244
 * 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 = 244; __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 = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":245
 * 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 = 245; __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 = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":246
 * 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 = 246; __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 = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":247
 * 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 = 247; __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 = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":248
 * 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 = 248; __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 = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":249
 * 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 = 249; __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 = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":250
 * 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 = 250; __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 = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":251
 * 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 = 251; __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 = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":252
 * 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 = 252; __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 = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":253
 * 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 = 253; __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 = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":254
 * 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 = 254; __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 = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":255
 * 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 = 255; __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 = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":256
 * 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 = 256; __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 = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":257
 * 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 = 257; __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 = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":258
 * 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 = 258; __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 = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":259
 * 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 = 259; __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 = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":260
 * 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 = 260; __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 = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":261
 * 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 = 261; __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 = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":262
 * 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 = 262; __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 = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":263
 * 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 = 263; __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 = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":264
 * 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 = 264; __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 = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":265
 * 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 = 265; __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 = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":266
 * 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 = 266; __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 = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":267
 * 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 = 267; __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 = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":268
 * 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 = 268; __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 = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":269
 * 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 = 269; __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 = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":270
 * 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 = 270; __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 = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":271
 * 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 = 271; __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 = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":272
 * 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 = 272; __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 = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":273
 * 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 = 273; __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 = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":274
 * 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 = 274; __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 = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":275
 * 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 = 275; __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 = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":276
 * 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 = 276; __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 = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":277
 * 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 = 277; __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 = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":278
 * 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 = 278; __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 = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":279
 * 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 = 279; __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 = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":280
 * 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 = 280; __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 = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":281
 * 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 = 281; __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 = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":282
 * 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 = 282; __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 = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":283
 * 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 = 283; __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 = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":284
 * 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 = 284; __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 = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":285
 * 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 = 285; __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 = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":286
 * 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 = 286; __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 = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":287
 * 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 = 287; __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 = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":288
 * 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 = 288; __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 = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":289
 * 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 = 289; __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 = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":290
 * 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 = 290; __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 = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":291
 * 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 = 291; __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 = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":292
 * 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 = 292; __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 = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":293
 * 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 = 293; __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 = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":294
 * 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 = 294; __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 = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":295
 * 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 = 295; __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 = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":296
 * 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 = 296; __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 = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":297
 * 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 = 297; __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 = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":298
 * 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 = 298; __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 = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":299
 * 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 = 299; __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 = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":300
 * 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 = 300; __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 = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":301
 * 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 = 301; __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 = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":302
 * 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 = 302; __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 = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":303
 * 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 = 303; __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 = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":304
 * 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 = 304; __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 = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":305
 * 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 = 305; __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 = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":306
 * 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 = 306; __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 = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":307
 * 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 = 307; __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 = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":308
 * 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 = 308; __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 = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":309
 * 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 = 309; __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 = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":310
 * 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 = 310; __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 = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":311
 * 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 = 311; __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 = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":312
 * 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 = 312; __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 = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":313
 * 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 = 313; __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 = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":314
 * 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 = 314; __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 = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":315
 * 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 = 315; __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 = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":316
 * 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 = 316; __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 = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":317
 * 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 = 317; __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 = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":318
 * 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 = 318; __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 = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":319
 * 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 = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_108, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":320
 * 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 = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_109, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":321
 * 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 = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_110, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":322
 * 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 = 322; __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 = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":323
 * 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 = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_111, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":324
 * 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 = 324; __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 = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":325
 * 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 = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_112, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":326
 * 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 = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_113, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":327
 * 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 = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_114, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":328
 * 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 = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_115, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":329
 * 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 = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_116, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":330
 * 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 = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_117, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":331
 * 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 = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_118, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":332
 * 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 = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_119, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":335
 * 
 * # 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 = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_120, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":336
 * # 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 = 336; __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 = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":337
 * 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 = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_121, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":341
 * # 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":342
 * # 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 = 342; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":343
 * _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_40); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":344
 *     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_39); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":345
 *     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 = 345; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":346
 *     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_33); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":347
 *     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 = 347; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":348
 *     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 = 348; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":349
 *     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 = 349; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":350
 *     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 = 350; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":351
 *     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_30); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":352
 *     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_29); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":353
 *     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 = 353; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":354
 *     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 = 354; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":355
 *     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 = 355; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":356
 *     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_53); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":357
 *     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 = 357; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":358
 *     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_61); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __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 = 358; __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 = 341; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":359
 *     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 = 359; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":360
 *     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 = 360; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":361
 *     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 = 361; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":362
 *     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 = 362; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":363
 *     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_41); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":364
 *     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 = 364; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":365
 *     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 = 365; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":366
 *     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 = 366; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":367
 *     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 = 367; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":368
 *     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 = 368; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":369
 *     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_34); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 369; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":370
 *     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_116); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 370; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":371
 *     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 = 371; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":372
 *     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_62); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":373
 *     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 = 373; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":374
 *     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 = 374; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":375
 *     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_67); 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_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":376
 *     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_87); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":377
 *     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_118); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":378
 *     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_69); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":379
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":380
 *     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_66); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":381
 *     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_68); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":382
 *     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_54); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":383
 *     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_60); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":384
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":385
 *     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_56); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":386
 *     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_36); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":387
 *     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_55); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":388
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":389
 *     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_117); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":390
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":391
 *     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_59); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":392
 *     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_58); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":393
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":394
 *     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 = 394; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":395
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":396
 *     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_48); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":397
 *     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_47); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":398
 *     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_49); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":399
 *     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_50); 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_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":400
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":401
 *     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_51); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":402
 *     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_52); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":403
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":404
 *     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_42); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":405
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":406
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":407
 *     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_43); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":408
 *     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_44); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":409
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":410
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":411
 *     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_45); 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_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":412
 *     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_46); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":413
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":414
 *     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_57); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":415
 *     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_80); 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":416
 *     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 = 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":417
 *     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 = 417; __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 = 341; __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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":422
 * # 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 = 422; __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 = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":423
 * 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 = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_122, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":424
 *     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 = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_123, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":425
 *     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 = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_124, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":426
 *     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 = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_125, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":427
 *     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 = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_126, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":428
 *     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 = 428; __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 = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":429
 *     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 = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_127, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":430
 *     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 = 430; __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 = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":431
 *     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 = 431; __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 = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":432
 *     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 = 432; __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 = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":433
 *     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 = 433; __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 = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":434
 *     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 = 434; __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 = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":435
 *     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 = 435; __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 = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":437
 *     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 = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_122); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __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 = 437; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":438
 *     # 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 = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s_123); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __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 = 438; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":439
 *     _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 = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_124); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __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 = 439; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":440
 *     _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 = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s_126); 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_SetItem(__pyx_t_3, __pyx_t_1, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":441
 *     _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 = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_125); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __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 = 441; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":442
 *     _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 = 442; __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 = 442; __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 = 442; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":443
 *     _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 = 443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_127); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 443; __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 = 443; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":444
 *     _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             # <<<<<<<<<<<<<<
 * 
 * def glActiveTexture(GLenum texture):
 */
  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s_127); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __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 = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s_120); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __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 = 444; __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":446
 *     _GL_GET_SIZE[GL_SHADER_BINARY_FORMATS] = GL_NUM_SHADER_BINARY_FORMATS
 * 
 * def glActiveTexture(GLenum texture):             # <<<<<<<<<<<<<<
 *     c_opengl.glActiveTexture(texture)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_0glActiveTexture, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __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 = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":449
 *     c_opengl.glActiveTexture(texture)
 * 
 * def glAttachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     c_opengl.glAttachShader(program, shader)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_1glAttachShader, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __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 = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":452
 *     c_opengl.glAttachShader(program, shader)
 * 
 * def glBindAttribLocation(GLuint program, GLuint index, bytes name):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindAttribLocation(program, index, <char *>name)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_2glBindAttribLocation, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __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 = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":455
 *     c_opengl.glBindAttribLocation(program, index, <char *>name)
 * 
 * def glBindBuffer(GLenum target, GLuint buffer):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindBuffer(target, buffer)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_3glBindBuffer, NULL, __pyx_n_s_128); 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);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBindBuffer, __pyx_t_3) < 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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":458
 *     c_opengl.glBindBuffer(target, buffer)
 * 
 * def glBindFramebuffer(GLenum target, GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindFramebuffer(target, framebuffer)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_4glBindFramebuffer, NULL, __pyx_n_s_128); 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_SetAttr(__pyx_m, __pyx_n_s__glBindFramebuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":461
 *     c_opengl.glBindFramebuffer(target, framebuffer)
 * 
 * def glBindRenderbuffer(GLenum target, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindRenderbuffer(target, renderbuffer)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_5glBindRenderbuffer, NULL, __pyx_n_s_128); 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);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glBindRenderbuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 461; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":464
 *     c_opengl.glBindRenderbuffer(target, renderbuffer)
 * 
 * def glBindTexture(GLenum target, GLuint texture):             # <<<<<<<<<<<<<<
 *     c_opengl.glBindTexture(target, texture)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_6glBindTexture, NULL, __pyx_n_s_128); 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__glBindTexture, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":467
 *     c_opengl.glBindTexture(target, texture)
 * 
 * def glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendColor(red, green, blue, alpha)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_7glBlendColor, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __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 = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":470
 *     c_opengl.glBlendColor(red, green, blue, alpha)
 * 
 * def glBlendEquation(GLenum mode):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendEquation(mode)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_8glBlendEquation, NULL, __pyx_n_s_128); 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__glBlendEquation, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":473
 *     c_opengl.glBlendEquation(mode)
 * 
 * def glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendEquationSeparate(modeRGB, modeAlpha)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_9glBlendEquationSeparate, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __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 = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":476
 *     c_opengl.glBlendEquationSeparate(modeRGB, modeAlpha)
 * 
 * def glBlendFunc(GLenum sfactor, GLenum dfactor):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendFunc(sfactor, dfactor)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_10glBlendFunc, NULL, __pyx_n_s_128); 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__glBlendFunc, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":479
 *     c_opengl.glBlendFunc(sfactor, dfactor)
 * 
 * def glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_11glBlendFuncSeparate, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 479; __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 = 479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":482
 *     c_opengl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)
 * 
 * def glBufferData(GLenum target, GLsizeiptr size, bytes data, GLenum usage):             # <<<<<<<<<<<<<<
 *     c_opengl.glBufferData(target, size, <char *>data, usage)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_12glBufferData, NULL, __pyx_n_s_128); 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__glBufferData, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":485
 *     c_opengl.glBufferData(target, size, <char *>data, usage)
 * 
 * def glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data):             # <<<<<<<<<<<<<<
 *     c_opengl.glBufferSubData(target, offset, size, <char *>data)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_13glBufferSubData, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 485; __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 = 485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":488
 *     c_opengl.glBufferSubData(target, offset, size, <char *>data)
 * 
 * def glCheckFramebufferStatus(GLenum target):             # <<<<<<<<<<<<<<
 *     cdef GLenum result
 *     result = c_opengl.CheckFramebufferStatus(target)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_14glCheckFramebufferStatus, NULL, __pyx_n_s_128); 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_131, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":493
 *     return result
 * 
 * def glClear(GLbitfield mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glClear(mask)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_15glClear, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __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 = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":496
 *     c_opengl.glClear(mask)
 * 
 * def glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glClearColor(red, green, blue, alpha)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_16glClearColor, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __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 = 496; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":499
 *     c_opengl.glClearColor(red, green, blue, alpha)
 * 
 * def glClearDepthf(GLclampf depth):             # <<<<<<<<<<<<<<
 *     c_opengl.glClearDepthf(depth)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_17glClearDepthf, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 499; __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 = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":502
 *     c_opengl.glClearDepthf(depth)
 * 
 * def glClearStencil(GLint s):             # <<<<<<<<<<<<<<
 *     c_opengl.glClearStencil(s)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_18glClearStencil, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __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 = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":505
 *     c_opengl.glClearStencil(s)
 * 
 * def glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha):             # <<<<<<<<<<<<<<
 *     c_opengl.glColorMask(red, green, blue, alpha)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_19glColorMask, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __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 = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":508
 *     c_opengl.glColorMask(red, green, blue, alpha)
 * 
 * def glCompileShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     c_opengl.glCompileShader(shader)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_20glCompileShader, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __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 = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":511
 *     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_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_132, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":517
 *                                     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_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_133, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":523
 *                                        height, format, imageSize, <char *>data)
 * 
 * def glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border):             # <<<<<<<<<<<<<<
 *     c_opengl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_23glCopyTexImage2D, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 523; __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 = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":526
 *     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):             # <<<<<<<<<<<<<<
 *     c_opengl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_24glCopyTexSubImage2D, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 526; __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 = 526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":529
 *     c_opengl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
 * 
 * def glCreateProgram():             # <<<<<<<<<<<<<<
 *     cdef GLuint id
 *     id = c_opengl.CreateProgram()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_25glCreateProgram, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __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 = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":534
 *     return id
 * 
 * def glCreateShader(GLenum type):             # <<<<<<<<<<<<<<
 *     cdef GLuint id
 *     c_opengl.glCreateShader(type)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_26glCreateShader, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 534; __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 = 534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":539
 *     return id
 * 
 * def glCullFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     c_opengl.glCullFace(mode)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_27glCullFace, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __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 = 539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":542
 *     c_opengl.glCullFace(mode)
 * 
 * def glDeleteBuffers(GLsizei n, bytes buffers):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteBuffers(n, <GLuint *><char *>buffers)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_28glDeleteBuffers, NULL, __pyx_n_s_128); 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__glDeleteBuffers, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":545
 *     c_opengl.glDeleteBuffers(n, <GLuint *><char *>buffers)
 * 
 * def glDeleteFramebuffers(GLsizei n, bytes framebuffers):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteFramebuffers(n, <GLuint *><char *>framebuffers)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_29glDeleteFramebuffers, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_134, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":548
 *     c_opengl.glDeleteFramebuffers(n, <GLuint *><char *>framebuffers)
 * 
 * def glDeleteProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteProgram(program)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_30glDeleteProgram, NULL, __pyx_n_s_128); 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__glDeleteProgram, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":551
 *     c_opengl.glDeleteProgram(program)
 * 
 * def glDeleteRenderbuffers(GLsizei n, bytes renderbuffers):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteRenderbuffers(n, <GLuint *><char *>renderbuffers)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_31glDeleteRenderbuffers, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_135, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":554
 *     c_opengl.glDeleteRenderbuffers(n, <GLuint *><char *>renderbuffers)
 * 
 * def glDeleteShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteShader(shader)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_32glDeleteShader, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __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 = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":557
 *     c_opengl.glDeleteShader(shader)
 * 
 * def glDeleteTextures(GLsizei n, bytes textures):             # <<<<<<<<<<<<<<
 *     c_opengl.glDeleteTextures(n, <GLuint *><char *>textures)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_33glDeleteTextures, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __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 = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":560
 *     c_opengl.glDeleteTextures(n, <GLuint *><char *>textures)
 * 
 * def glDepthFunc(GLenum func):             # <<<<<<<<<<<<<<
 *     c_opengl.glDepthFunc(func)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_34glDepthFunc, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 560; __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 = 560; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":563
 *     c_opengl.glDepthFunc(func)
 * 
 * def glDepthMask(GLboolean flag):             # <<<<<<<<<<<<<<
 *     c_opengl.glDepthMask(flag)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_35glDepthMask, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 563; __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 = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":566
 *     c_opengl.glDepthMask(flag)
 * 
 * def glDepthRangef(GLclampf zNear, GLclampf zFar):             # <<<<<<<<<<<<<<
 *     c_opengl.glDepthRangef(zNear, zFar)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_36glDepthRangef, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __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 = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":569
 *     c_opengl.glDepthRangef(zNear, zFar)
 * 
 * def glDetachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     c_opengl.glDetachShader(program, shader)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_37glDetachShader, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __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 = 569; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":572
 *     c_opengl.glDetachShader(program, shader)
 * 
 * def glDisable(GLenum cap):             # <<<<<<<<<<<<<<
 *     c_opengl.glDisable(cap)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_38glDisable, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __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 = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":575
 *     c_opengl.glDisable(cap)
 * 
 * def glDisableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     c_opengl.glDisableVertexAttribArray(index)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_39glDisableVertexAttribArray, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_136, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":578
 *     c_opengl.glDisableVertexAttribArray(index)
 * 
 * def glDrawArrays(GLenum mode, GLint first, GLsizei count):             # <<<<<<<<<<<<<<
 *     c_opengl.glDrawArrays(mode, first, count)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_40glDrawArrays, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __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 = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":581
 *     c_opengl.glDrawArrays(mode, first, count)
 * 
 * def glDrawElements(GLenum mode, GLsizei count, GLenum type, bytes indices):             # <<<<<<<<<<<<<<
 *     c_opengl.glDrawElements(mode, count, type, <void *>indices)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_41glDrawElements, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 581; __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 = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":584
 *     c_opengl.glDrawElements(mode, count, type, <void *>indices)
 * 
 * def glEnable(GLenum cap):             # <<<<<<<<<<<<<<
 *     c_opengl.glEnable(cap)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_42glEnable, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 584; __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 = 584; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":587
 *     c_opengl.glEnable(cap)
 * 
 * def glEnableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     c_opengl.glEnableVertexAttribArray(index)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_43glEnableVertexAttribArray, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_137, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 587; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":590
 *     c_opengl.glEnableVertexAttribArray(index)
 * 
 * def glFinish():             # <<<<<<<<<<<<<<
 *     c_opengl.glFinish()
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_44glFinish, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __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 = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":593
 *     c_opengl.glFinish()
 * 
 * def glFlush():             # <<<<<<<<<<<<<<
 *     c_opengl.glFlush()
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_45glFlush, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 593; __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 = 593; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":596
 *     c_opengl.glFlush()
 * 
 * def glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     c_opengl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_46glFramebufferRenderbuffer, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_138, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":599
 *     c_opengl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)
 * 
 * def glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level):             # <<<<<<<<<<<<<<
 *     c_opengl.glFramebufferTexture2D(target, attachment, textarget, texture, level)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_47glFramebufferTexture2D, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_139, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":602
 *     c_opengl.glFramebufferTexture2D(target, attachment, textarget, texture, level)
 * 
 * def glFrontFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     c_opengl.glFrontFace(mode)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_48glFrontFace, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __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 = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":605
 *     c_opengl.glFrontFace(mode)
 * 
 * def glGenBuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenBuffers(n, d)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_49glGenBuffers, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __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 = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":610
 *     return _genEnd(n, d)
 * 
 * def glGenerateMipmap(GLenum target):             # <<<<<<<<<<<<<<
 *     c_opengl.glGenerateMipmap(target)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_50glGenerateMipmap, NULL, __pyx_n_s_128); 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__glGenerateMipmap, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":613
 *     c_opengl.glGenerateMipmap(target)
 * 
 * def glGenFramebuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenFramebuffers(n, d)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_51glGenFramebuffers, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __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 = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":618
 *     return _genEnd(n, d)
 * 
 * def glGenRenderbuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenRenderbuffers(n, d)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_52glGenRenderbuffers, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __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 = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":623
 *     return _genEnd(n, d)
 * 
 * def glGenTextures(GLsizei n):             # <<<<<<<<<<<<<<
 *     cdef GLuint *d = _genBegin(n)
 *     c_opengl.glGenTextures(n, d)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_53glGenTextures, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __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 = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":628
 *     return _genEnd(n, d)
 * 
 * def glGetActiveAttrib(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLenum gl_type
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_54glGetActiveAttrib, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 628; __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 = 628; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":641
 *     return p_name, size, gl_type
 * 
 * def glGetActiveUniform(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLenum gl_type
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_55glGetActiveUniform, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __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 = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":654
 *     return p_name, size, gl_type
 * 
 * def glGetAttachedShaders(GLuint program, GLsizei maxcount):             # <<<<<<<<<<<<<<
 *     cdef GLsizei count = 1024
 *     cdef GLuint *shaders = _genBegin(count)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_56glGetAttachedShaders, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_140, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":660
 *     return _genEnd(count, shaders)
 * 
 * def glGetAttribLocation(GLuint program,  bytes name):             # <<<<<<<<<<<<<<
 *     return c_opengl.glGetAttribLocation(program, <char *>name)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_57glGetAttribLocation, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __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 = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":663
 *     return c_opengl.glGetAttribLocation(program, <char *>name)
 * 
 * def glGetBooleanv(GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLboolean *params = <GLboolean *>malloc(_GL_GET_SIZE[pname] * sizeof(GLboolean))
 *     if params == NULL:
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_58glGetBooleanv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 663; __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 = 663; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":672
 *     return out
 * 
 * def glGetBufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_59glGetBufferParameteriv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_141, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":681
 *     return out
 * 
 * def glGetError():             # <<<<<<<<<<<<<<
 *     return c_opengl.glGetError()
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_60glGetError, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 681; __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 = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":684
 *     return c_opengl.glGetError()
 * 
 * def glGetFloatv(GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLfloat *params = <GLfloat *>malloc(_GL_GET_SIZE[pname] * sizeof(GLfloat))
 *     if params == NULL:
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_61glGetFloatv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 684; __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 = 684; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":693
 *     return out
 * 
 * def glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_62glGetFramebufferAttachmentParameteriv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_142, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 693; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":702
 *     return out
 * 
 * def glGetIntegerv(GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))
 *     if params == NULL:
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_63glGetIntegerv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __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 = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":711
 *     return out
 * 
 * def glGetProgramiv(GLuint program, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetProgramiv(program, pname, &params)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_64glGetProgramiv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 711; __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 = 711; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":716
 *     return params
 * 
 * def glGetProgramInfoLog(GLuint program, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLchar *infolog
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_65glGetProgramInfoLog, NULL, __pyx_n_s_128); 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__glGetProgramInfoLog, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":728
 *     return p_infolog
 * 
 * def glGetRenderbufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetRenderbufferParameteriv(target, pname, &params)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_66glGetRenderbufferParameteriv, NULL, __pyx_n_s_128); 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_143, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":733
 *     return params
 * 
 * def glGetShaderiv(GLuint shader, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetShaderiv(shader, pname, &params)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_67glGetShaderiv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __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 = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":738
 *     return params
 * 
 * def glGetShaderInfoLog(GLuint shader, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLchar *infolog
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_68glGetShaderInfoLog, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __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 = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":750
 *     return p_infolog
 * 
 * def glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype): #, GLint* range, GLint* precision):             # <<<<<<<<<<<<<<
 *     raise NotImplemented()
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_69glGetShaderPrecisionFormat, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_144, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 750; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":754
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 * 
 * def glGetShaderSource(GLuint shader):             # <<<<<<<<<<<<<<
 *     cdef GLint size
 *     cdef GLchar *source
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_70glGetShaderSource, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __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 = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":766
 *     return p_source
 * 
 * def glGetString(GLenum name):             # <<<<<<<<<<<<<<
 *     cdef bytes p_string
 *     p_string = <char *>c_opengl.glGetString(name)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_71glGetString, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __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 = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":771
 *     return p_string
 * 
 * def glGetTexParameterfv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLfloat params
 *     c_opengl.glGetTexParameterfv(target, pname, &params)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_72glGetTexParameterfv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __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 = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":776
 *     return params
 * 
 * def glGetTexParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetTexParameteriv(target, pname, &params)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_73glGetTexParameteriv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 776; __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 = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":781
 *     return params
 * 
 * def glGetUniformfv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     cdef GLfloat params
 *     c_opengl.glGetUniformfv(program, location, &params)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_74glGetUniformfv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 781; __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 = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":786
 *     return params
 * 
 * def glGetUniformiv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetUniformiv(program, location, &params)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_75glGetUniformiv, NULL, __pyx_n_s_128); 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__glGetUniformiv, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":791
 *     return params
 * 
 * def glGetUniformLocation(GLuint program, bytes name):             # <<<<<<<<<<<<<<
 *    return c_opengl.glGetUniformLocation(program, <char *>name)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_76glGetUniformLocation, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_145, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":794
 *    return c_opengl.glGetUniformLocation(program, <char *>name)
 * 
 * def glGetVertexAttribfv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLfloat params
 *     c_opengl.glGetVertexAttribfv(index, pname, &params)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_77glGetVertexAttribfv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 794; __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 = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":799
 *     return params
 * 
 * def glGetVertexAttribiv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     cdef GLint params
 *     c_opengl.glGetVertexAttribiv(index, pname, &params)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_78glGetVertexAttribiv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 799; __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 = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":804
 *     return params
 * 
 * def glGetVertexAttribPointerv(GLuint index, GLenum pname):#, GLvoid** pointer):             # <<<<<<<<<<<<<<
 *     raise NotImplemented()
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_79glGetVertexAttribPointerv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_146, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":808
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 * 
 * def glHint(GLenum target, GLenum mode):             # <<<<<<<<<<<<<<
 *     c_opengl.glHint(target, mode)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_80glHint, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __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 = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":811
 *     c_opengl.glHint(target, mode)
 * 
 * def glIsBuffer(GLuint buffer):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsBuffer(buffer)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_81glIsBuffer, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 811; __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 = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":814
 *     return c_opengl.glIsBuffer(buffer)
 * 
 * def glIsEnabled(GLenum cap):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsEnabled(cap)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_82glIsEnabled, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 814; __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 = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":817
 *     return c_opengl.glIsEnabled(cap)
 * 
 * def glIsFramebuffer(GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsFramebuffer(framebuffer)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_83glIsFramebuffer, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 817; __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 = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":820
 *     return c_opengl.glIsFramebuffer(framebuffer)
 * 
 * def glIsProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsProgram(program)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_84glIsProgram, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 820; __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 = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":823
 *     return c_opengl.glIsProgram(program)
 * 
 * def glIsRenderbuffer(GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsRenderbuffer(renderbuffer)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_85glIsRenderbuffer, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __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 = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":826
 *     return c_opengl.glIsRenderbuffer(renderbuffer)
 * 
 * def glIsShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsShader(shader)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_86glIsShader, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __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 = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":829
 *     return c_opengl.glIsShader(shader)
 * 
 * def glIsTexture(GLuint texture):             # <<<<<<<<<<<<<<
 *     return c_opengl.glIsTexture(texture)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_87glIsTexture, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 829; __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 = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":832
 *     return c_opengl.glIsTexture(texture)
 * 
 * def glLineWidth(GLfloat width):             # <<<<<<<<<<<<<<
 *     c_opengl.glLineWidth(width)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_88glLineWidth, NULL, __pyx_n_s_128); 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);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__glLineWidth, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":835
 *     c_opengl.glLineWidth(width)
 * 
 * def glLinkProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     c_opengl.glLinkProgram(program)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_89glLinkProgram, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __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 = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":838
 *     c_opengl.glLinkProgram(program)
 * 
 * def glPixelStorei(GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     c_opengl.glPixelStorei(pname, param)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_90glPixelStorei, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 838; __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 = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":841
 *     c_opengl.glPixelStorei(pname, param)
 * 
 * def glPolygonOffset(GLfloat factor, GLfloat units):             # <<<<<<<<<<<<<<
 *     c_opengl.glPolygonOffset(factor, units)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_91glPolygonOffset, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 841; __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 = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":844
 *     c_opengl.glPolygonOffset(factor, units)
 * 
 * def glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,             # <<<<<<<<<<<<<<
 *                  GLenum type): #, GLvoid* pixels):
 *     '''We are supporting only GL_RGB/GL_RGBA as format, and GL_UNSIGNED_BYTE as
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_92glReadPixels, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 844; __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 = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":871
 * # XXX This one is commented out because a) it's not necessary and
 * #	    				b) it's breaking on OSX for some reason
 * def glReleaseShaderCompiler():             # <<<<<<<<<<<<<<
 *     raise NotImplemented()
 * #    c_opengl.glReleaseShaderCompiler()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_93glReleaseShaderCompiler, NULL, __pyx_n_s_128); 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_147, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":875
 * #    c_opengl.glReleaseShaderCompiler()
 * 
 * def glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     c_opengl.glRenderbufferStorage(target, internalformat, width, height)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_94glRenderbufferStorage, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_148, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 875; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":878
 *     c_opengl.glRenderbufferStorage(target, internalformat, width, height)
 * 
 * def glSampleCoverage(GLclampf value, GLboolean invert):             # <<<<<<<<<<<<<<
 *     c_opengl.glSampleCoverage(value, invert)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_95glSampleCoverage, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 878; __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 = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":881
 *     c_opengl.glSampleCoverage(value, invert)
 * 
 * def glScissor(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     c_opengl.glScissor(x, y, width, height)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_96glScissor, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 881; __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 = 881; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":884
 *     c_opengl.glScissor(x, y, width, height)
 * 
 * def glShaderBinary():#GLsizei n,  GLuint* shaders, GLenum binaryformat,  bytes GLvoid* binary, GLsizei length):             # <<<<<<<<<<<<<<
 *     #c_opengl.glShaderBinary(n, shaders, binaryformat, binary, length)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_97glShaderBinary, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __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 = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":888
 *     raise NotImplemented()
 * 
 * def glShaderSource(GLuint shader, bytes source):             # <<<<<<<<<<<<<<
 *     cdef char *c_source = source
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_98glShaderSource, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __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 = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":892
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)
 * 
 * def glStencilFunc(GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilFunc(func, ref, mask)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_99glStencilFunc, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __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 = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":895
 *     c_opengl.glStencilFunc(func, ref, mask)
 * 
 * def glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilFuncSeparate(face, func, ref, mask)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_100glStencilFuncSeparate, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_149, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":898
 *     c_opengl.glStencilFuncSeparate(face, func, ref, mask)
 * 
 * def glStencilMask(GLuint mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilMask(mask)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_101glStencilMask, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __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 = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":901
 *     c_opengl.glStencilMask(mask)
 * 
 * def glStencilMaskSeparate(GLenum face, GLuint mask):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilMaskSeparate(face, mask)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_102glStencilMaskSeparate, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_150, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 901; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":904
 *     c_opengl.glStencilMaskSeparate(face, mask)
 * 
 * def glStencilOp(GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilOp(fail, zfail, zpass)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_103glStencilOp, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __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 = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":907
 *     c_opengl.glStencilOp(fail, zfail, zpass)
 * 
 * def glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     c_opengl.glStencilOpSeparate(face, fail, zfail, zpass)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_104glStencilOpSeparate, NULL, __pyx_n_s_128); 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__glStencilOpSeparate, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":910
 *     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_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 910; __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 = 910; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":916
 *                           format, type, <GLvoid *><char *>pixels)
 * 
 * def glTexParameterf(GLenum target, GLenum pname, GLfloat param):             # <<<<<<<<<<<<<<
 *     c_opengl.glTexParameterf(target, pname, param)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_106glTexParameterf, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __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 = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":919
 *     c_opengl.glTexParameterf(target, pname, param)
 * 
 * def glTexParameterfv(GLenum target, GLenum pname):#,  GLfloat* params):             # <<<<<<<<<<<<<<
 *     #c_opengl.glTexParameterfv(target, pname, params)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_107glTexParameterfv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __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 = 919; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":923
 *     raise NotImplemented()
 * 
 * def glTexParameteri(GLenum target, GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     c_opengl.glTexParameteri(target, pname, param)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_108glTexParameteri, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 923; __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 = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":926
 *     c_opengl.glTexParameteri(target, pname, param)
 * 
 * def glTexParameteriv(GLenum target, GLenum pname):#,  GLint* params):             # <<<<<<<<<<<<<<
 *     #c_opengl.glTexParameteriv(target, pname, params)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_109glTexParameteriv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __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 = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":930
 *     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_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 930; __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 = 930; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":936
 *                              format, type, <GLvoid *><char *>pixels)
 * 
 * def glUniform1f(GLint location, GLfloat x):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform1f(location, x)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_111glUniform1f, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __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 = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":939
 *     c_opengl.glUniform1f(location, x)
 * 
 * def glUniform1fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform1fv(location, count, v)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_112glUniform1fv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __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 = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":943
 *     raise NotImplemented()
 * 
 * def glUniform1i(GLint location, GLint x):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform1i(location, x)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_113glUniform1i, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 943; __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 = 943; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":946
 *     c_opengl.glUniform1i(location, x)
 * 
 * def glUniform1iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform1iv(location, count, v)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_114glUniform1iv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 946; __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 = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":950
 *     raise NotImplemented()
 * 
 * def glUniform2f(GLint location, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform2f(location, x, y)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_115glUniform2f, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __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 = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":953
 *     c_opengl.glUniform2f(location, x, y)
 * 
 * def glUniform2fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform2fv(location, count, v)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_116glUniform2fv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 953; __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 = 953; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":957
 *     raise NotImplemented()
 * 
 * def glUniform2i(GLint location, GLint x, GLint y):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform2i(location, x, y)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_117glUniform2i, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 957; __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 = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":960
 *     c_opengl.glUniform2i(location, x, y)
 * 
 * def glUniform2iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform2iv(location, count, v)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_118glUniform2iv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 960; __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 = 960; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":964
 *     raise NotImplemented()
 * 
 * def glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform3f(location, x, y, z)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_119glUniform3f, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 964; __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 = 964; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":967
 *     c_opengl.glUniform3f(location, x, y, z)
 * 
 * def glUniform3fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform3fv(location, count, v)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_120glUniform3fv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __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 = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":971
 *     raise NotImplemented()
 * 
 * def glUniform3i(GLint location, GLint x, GLint y, GLint z):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform3i(location, x, y, z)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_121glUniform3i, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 971; __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 = 971; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":974
 *     c_opengl.glUniform3i(location, x, y, z)
 * 
 * def glUniform3iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform3iv(location, count, v)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_122glUniform3iv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __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 = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":978
 *     raise NotImplemented()
 * 
 * def glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform4f(location, x, y, z, w)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_123glUniform4f, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __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 = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":981
 *     c_opengl.glUniform4f(location, x, y, z, w)
 * 
 * def glUniform4fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform4fv(location, count, v)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_124glUniform4fv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __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 = 981; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":985
 *     raise NotImplemented()
 * 
 * def glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w):             # <<<<<<<<<<<<<<
 *     c_opengl.glUniform4i(location, x, y, z, w)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_125glUniform4i, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __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 = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":988
 *     c_opengl.glUniform4i(location, x, y, z, w)
 * 
 * def glUniform4iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniform4iv(location, count, v)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_126glUniform4iv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __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 = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":992
 *     raise NotImplemented()
 * 
 * def glUniformMatrix2fv(GLint location, GLsizei count):#, GLboolean transpose, bytes values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glUniformMatrix2fv(location, count, transpose, <GLfloat*>ptr_value)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_127glUniformMatrix2fv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __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 = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":996
 *     raise NotImplemented()
 * 
 * def glUniformMatrix3fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     # c_opengl.glUniformMatrix3fv(location, count, transpose, <GLfloat*>ptr_value)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_128glUniformMatrix3fv, NULL, __pyx_n_s_128); 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__glUniformMatrix3fv, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1000
 *     raise NotImplemented()
 * 
 * def glUniformMatrix4fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     # c_opengl.glUniformMatrix4fv(location, count, transpose, <GLfloat*>ptr_value)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_129glUniformMatrix4fv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1000; __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 = 1000; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1004
 *     raise NotImplemented()
 * 
 * def glUseProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     c_opengl.glUseProgram(program)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_130glUseProgram, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __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 = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1007
 *     c_opengl.glUseProgram(program)
 * 
 * def glValidateProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     c_opengl.glValidateProgram(program)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_131glValidateProgram, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1007; __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 = 1007; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1010
 *     c_opengl.glValidateProgram(program)
 * 
 * def glVertexAttrib1f(GLuint indx, GLfloat x):             # <<<<<<<<<<<<<<
 *     c_opengl.glVertexAttrib1f(indx, x)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_132glVertexAttrib1f, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __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 = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1013
 *     c_opengl.glVertexAttrib1f(indx, x)
 * 
 * def glVertexAttrib1fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glVertexAttrib1fv(indx, values)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_133glVertexAttrib1fv, NULL, __pyx_n_s_128); 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__glVertexAttrib1fv, __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;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1017
 *     raise NotImplemented()
 * 
 * def glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     c_opengl.glVertexAttrib2f(indx, x, y)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_134glVertexAttrib2f, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __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 = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1020
 *     c_opengl.glVertexAttrib2f(indx, x, y)
 * 
 * def glVertexAttrib2fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glVertexAttrib2fv(indx, values)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_135glVertexAttrib2fv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1020; __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 = 1020; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1024
 *     raise NotImplemented()
 * 
 * def glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     c_opengl.glVertexAttrib3f(indx, x, y, z)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_136glVertexAttrib3f, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __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 = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1027
 *     c_opengl.glVertexAttrib3f(indx, x, y, z)
 * 
 * def glVertexAttrib3fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glVertexAttrib3fv(indx, values)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_137glVertexAttrib3fv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1027; __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 = 1027; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1031
 *     raise NotImplemented()
 * 
 * def glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     c_opengl.glVertexAttrib4f(indx, x, y, z, w)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_138glVertexAttrib4f, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __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 = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1034
 *     c_opengl.glVertexAttrib4f(indx, x, y, z, w)
 * 
 * def glVertexAttrib4fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     #c_opengl.glVertexAttrib4fv(indx, values)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_139glVertexAttrib4fv, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1034; __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 = 1034; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1038
 *     raise NotImplemented()
 * 
 * def glVertexAttribPointer(GLuint indx, GLint size):#, GLenum type, GLboolean normalized, GLsizei stride,  GLvoid* ptr):             # <<<<<<<<<<<<<<
 *     # c_opengl.glVertexAttribPointer(indx, size, type, normalized, stride, <GLvoid*>ptr)
 *     raise NotImplemented()
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_140glVertexAttribPointer, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_151, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1042
 *     raise NotImplemented()
 * 
 * def glViewport(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     c_opengl.glViewport(x, y, width, height)
 * 
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_141glViewport, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __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 = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1051
 *         glewInit()
 * ELSE:
 *     def gl_init_symbols():             # <<<<<<<<<<<<<<
 *         pass
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_142gl_init_symbols, NULL, __pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __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 = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "/home/tito/code/kivy/kivy/graphics/opengl.pyx":1
 * include "config.pxi"             # <<<<<<<<<<<<<<
 * 
 * cdef extern from "stdlib.h":
 */
  __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_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 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 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 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 */
