/* Generated by Cython 0.19.1 on Sun Aug 04 15:59:48 2013 */

#define PY_SSIZE_T_CLEAN
#ifndef CYTHON_USE_PYLONG_INTERNALS
#ifdef PYLONG_BITS_IN_DIGIT
#define CYTHON_USE_PYLONG_INTERNALS 0
#else
#include "pyconfig.h"
#ifdef PYLONG_BITS_IN_DIGIT
#define CYTHON_USE_PYLONG_INTERNALS 1
#else
#define CYTHON_USE_PYLONG_INTERNALS 0
#endif
#endif
#endif
#include "Python.h"
#ifndef Py_PYTHON_H
    #error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x02040000
    #error Cython requires Python 2.4+.
#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
#ifndef Py_HUGE_VAL
  #define Py_HUGE_VAL HUGE_VAL
#endif
#ifdef PYPY_VERSION
#define CYTHON_COMPILING_IN_PYPY 1
#define CYTHON_COMPILING_IN_CPYTHON 0
#else
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_CPYTHON 1
#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 CYTHON_FORMAT_SSIZE_T ""
  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
                                (PyErr_Format(PyExc_TypeError, \
                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
                                 (PyObject*)0))
  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
                                  !PyComplex_Check(o))
  #define PyIndex_Check __Pyx_PyIndex_Check
  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
  #define __PYX_BUILD_PY_SSIZE_T "i"
#else
  #define __PYX_BUILD_PY_SSIZE_T "n"
  #define CYTHON_FORMAT_SSIZE_T "z"
  #define __Pyx_PyIndex_Check PyIndex_Check
#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)
  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
#endif
#if PY_MAJOR_VERSION < 3
  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#else
  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#endif
#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
#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_VERSION_HEX < 0x02060000
  #define Py_TPFLAGS_HAVE_VERSION_TAG 0
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
  #define CYTHON_PEP393_ENABLED 1
  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
                                              0 : _PyUnicode_Ready((PyObject *)(op)))
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
#else
  #define CYTHON_PEP393_ENABLED 0
  #define __Pyx_PyUnicode_READY(op)       (0)
  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBaseString_Type            PyUnicode_Type
  #define PyStringObject               PyUnicodeObject
  #define PyString_Type                PyUnicode_Type
  #define PyString_Check               PyUnicode_Check
  #define PyString_CheckExact          PyUnicode_CheckExact
#endif
#if PY_VERSION_HEX < 0x02060000
  #define PyBytesObject                PyStringObject
  #define PyBytes_Type                 PyString_Type
  #define PyBytes_Check                PyString_Check
  #define PyBytes_CheckExact           PyString_CheckExact
  #define PyBytes_FromString           PyString_FromString
  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
  #define PyBytes_FromFormat           PyString_FromFormat
  #define PyBytes_DecodeEscape         PyString_DecodeEscape
  #define PyBytes_AsString             PyString_AsString
  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
  #define PyBytes_Size                 PyString_Size
  #define PyBytes_AS_STRING            PyString_AS_STRING
  #define PyBytes_GET_SIZE             PyString_GET_SIZE
  #define PyBytes_Repr                 PyString_Repr
  #define PyBytes_Concat               PyString_Concat
  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
#endif
#if PY_MAJOR_VERSION >= 3
  #define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
  #define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
#else
  #define __Pyx_PyBaseString_Check(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj) || \
                                         PyString_Check(obj) || PyUnicode_Check(obj))
  #define __Pyx_PyBaseString_CheckExact(obj) (Py_TYPE(obj) == &PyBaseString_Type)
#endif
#if PY_VERSION_HEX < 0x02060000
  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
#endif
#ifndef PySet_CheckExact
  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
#endif
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#if PY_MAJOR_VERSION >= 3
  #define PyIntObject                  PyLongObject
  #define PyInt_Type                   PyLong_Type
  #define PyInt_Check(op)              PyLong_Check(op)
  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
  #define PyInt_FromString             PyLong_FromString
  #define PyInt_FromUnicode            PyLong_FromUnicode
  #define PyInt_FromLong               PyLong_FromLong
  #define PyInt_FromSize_t             PyLong_FromSize_t
  #define PyInt_FromSsize_t            PyLong_FromSsize_t
  #define PyInt_AsLong                 PyLong_AsLong
  #define PyInt_AS_LONG                PyLong_AS_LONG
  #define PyInt_AsSsize_t              PyLong_AsSsize_t
  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
#endif
#if PY_MAJOR_VERSION >= 3
  #define PyBoolObject                 PyLongObject
#endif
#if PY_VERSION_HEX < 0x03020000
  typedef long Py_hash_t;
  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
#else
  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
#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
#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
#ifndef CYTHON_RESTRICT
  #if defined(__GNUC__)
    #define CYTHON_RESTRICT __restrict__
  #elif defined(_MSC_VER)
    #define CYTHON_RESTRICT __restrict
  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
    #define CYTHON_RESTRICT restrict
  #else
    #define CYTHON_RESTRICT
  #endif
#endif
#ifdef NAN
#define __PYX_NAN() ((float) NAN)
#else
static CYTHON_INLINE float __PYX_NAN() {
  /* Initialize NaN. The sign is irrelevant, an exponent with all bits 1 and
   a nonzero mantissa means NaN. If the first bit in the mantissa is 1, it is
   a quiet NaN. */
  float value;
  memset(&value, 0xFF, sizeof(value));
  return value;
}
#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

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

#if defined(WIN32) || defined(MS_WINDOWS)
#define _USE_MATH_DEFINES
#endif
#include <math.h>
#define __PYX_HAVE__kivy__graphics__opengl
#define __PYX_HAVE_API__kivy__graphics__opengl
#include "math.h"
#include "stdlib.h"
#include "string.h"
#include "gl_redirect.h"
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */

#ifdef PYREX_WITHOUT_ASSERTIONS
#define CYTHON_WITHOUT_ASSERTIONS
#endif

#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) && !defined(_MSC_VER))
#   define CYTHON_UNUSED __attribute__ ((__unused__))
# else
#   define CYTHON_UNUSED
# endif
#endif
typedef struct {PyObject **p; char *s; const Py_ssize_t n; const char* encoding;
                const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/

#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT 0
#define __PYX_DEFAULT_STRING_ENCODING "utf-8"
#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
#define __Pyx_PyBytes_FromString        PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(char*);
#if PY_MAJOR_VERSION < 3
    #define __Pyx_PyStr_FromString        __Pyx_PyBytes_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#else
    #define __Pyx_PyStr_FromString        __Pyx_PyUnicode_FromString
    #define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
#endif
#define __Pyx_PyObject_AsUString(s)    ((unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_FromUString(s)  __Pyx_PyObject_FromString((char*)s)
#define __Pyx_PyBytes_FromUString(s)   __Pyx_PyBytes_FromString((char*)s)
#define __Pyx_PyStr_FromUString(s)     __Pyx_PyStr_FromString((char*)s)
#define __Pyx_PyUnicode_FromUString(s) __Pyx_PyUnicode_FromString((char*)s)
#if PY_MAJOR_VERSION < 3
static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
{
    const Py_UNICODE *u_end = u;
    while (*u_end++) ;
    return u_end - u - 1;
}
#else
#define __Pyx_Py_UNICODE_strlen Py_UNICODE_strlen
#endif
#define __Pyx_PyUnicode_FromUnicode(u)       PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
#define __Pyx_PyUnicode_AsUnicode            PyUnicode_AsUnicode
#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
#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*);
#if CYTHON_COMPILING_IN_CPYTHON
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
static int __Pyx_sys_getdefaultencoding_not_ascii;
static int __Pyx_init_sys_getdefaultencoding_params() {
    PyObject* sys = NULL;
    PyObject* default_encoding = NULL;
    PyObject* ascii_chars_u = NULL;
    PyObject* ascii_chars_b = NULL;
    sys = PyImport_ImportModule("sys");
    if (sys == NULL) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
    if (default_encoding == NULL) goto bad;
    if (strcmp(PyBytes_AsString(default_encoding), "ascii") == 0) {
        __Pyx_sys_getdefaultencoding_not_ascii = 0;
    } else {
        const char* default_encoding_c = PyBytes_AS_STRING(default_encoding);
        char ascii_chars[128];
        int c;
        for (c = 0; c < 128; c++) {
            ascii_chars[c] = c;
        }
        __Pyx_sys_getdefaultencoding_not_ascii = 1;
        ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL);
        if (ascii_chars_u == NULL) goto bad;
        ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL);
        if (ascii_chars_b == NULL || strncmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) {
            PyErr_Format(
                PyExc_ValueError,
                "This module compiled with c_string_encoding=ascii, but default encoding '%s' is not a superset of ascii.",
                default_encoding_c);
            goto bad;
        }
    }
    Py_XDECREF(sys);
    Py_XDECREF(default_encoding);
    Py_XDECREF(ascii_chars_u);
    Py_XDECREF(ascii_chars_b);
    return 0;
bad:
    Py_XDECREF(sys);
    Py_XDECREF(default_encoding);
    Py_XDECREF(ascii_chars_u);
    Py_XDECREF(ascii_chars_b);
    return -1;
}
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
static char* __PYX_DEFAULT_STRING_ENCODING;
static int __Pyx_init_sys_getdefaultencoding_params() {
    PyObject* sys = NULL;
    PyObject* default_encoding = NULL;
    char* default_encoding_c;
    sys = PyImport_ImportModule("sys");
    if (sys == NULL) goto bad;
    default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL);
    if (default_encoding == NULL) goto bad;
    default_encoding_c = PyBytes_AS_STRING(default_encoding);
    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c));
    strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
    Py_DECREF(sys);
    Py_DECREF(default_encoding);
    return 0;
bad:
    Py_XDECREF(sys);
    Py_XDECREF(default_encoding);
    return -1;
}
#endif
#endif


#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_d;
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",
};

/* "kivy\graphics\opengl.pyx":21
 * 
 * ctypedef  void              GLvoid
 * ctypedef  char              GLchar             # <<<<<<<<<<<<<<
 * ctypedef  unsigned int      GLenum
 * ctypedef  unsigned char     GLboolean
 */
typedef char __pyx_t_4kivy_8graphics_6opengl_GLchar;

/* "kivy\graphics\opengl.pyx":22
 * ctypedef  void              GLvoid
 * ctypedef  char              GLchar
 * ctypedef  unsigned int      GLenum             # <<<<<<<<<<<<<<
 * ctypedef  unsigned char     GLboolean
 * ctypedef  unsigned int      GLbitfield
 */
typedef unsigned int __pyx_t_4kivy_8graphics_6opengl_GLenum;

/* "kivy\graphics\opengl.pyx":23
 * ctypedef  char              GLchar
 * ctypedef  unsigned int      GLenum
 * ctypedef  unsigned char     GLboolean             # <<<<<<<<<<<<<<
 * ctypedef  unsigned int      GLbitfield
 * ctypedef  short             GLshort
 */
typedef unsigned char __pyx_t_4kivy_8graphics_6opengl_GLboolean;

/* "kivy\graphics\opengl.pyx":24
 * ctypedef  unsigned int      GLenum
 * ctypedef  unsigned char     GLboolean
 * ctypedef  unsigned int      GLbitfield             # <<<<<<<<<<<<<<
 * ctypedef  short             GLshort
 * ctypedef  int               GLint
 */
typedef unsigned int __pyx_t_4kivy_8graphics_6opengl_GLbitfield;

/* "kivy\graphics\opengl.pyx":25
 * ctypedef  unsigned char     GLboolean
 * ctypedef  unsigned int      GLbitfield
 * ctypedef  short             GLshort             # <<<<<<<<<<<<<<
 * ctypedef  int               GLint
 * ctypedef  int               GLsizei
 */
typedef short __pyx_t_4kivy_8graphics_6opengl_GLshort;

/* "kivy\graphics\opengl.pyx":26
 * ctypedef  unsigned int      GLbitfield
 * ctypedef  short             GLshort
 * ctypedef  int               GLint             # <<<<<<<<<<<<<<
 * ctypedef  int               GLsizei
 * ctypedef  unsigned short    GLushort
 */
typedef int __pyx_t_4kivy_8graphics_6opengl_GLint;

/* "kivy\graphics\opengl.pyx":27
 * ctypedef  short             GLshort
 * ctypedef  int               GLint
 * ctypedef  int               GLsizei             # <<<<<<<<<<<<<<
 * ctypedef  unsigned short    GLushort
 * ctypedef  unsigned int      GLuint
 */
typedef int __pyx_t_4kivy_8graphics_6opengl_GLsizei;

/* "kivy\graphics\opengl.pyx":28
 * ctypedef  int               GLint
 * ctypedef  int               GLsizei
 * ctypedef  unsigned short    GLushort             # <<<<<<<<<<<<<<
 * ctypedef  unsigned int      GLuint
 * ctypedef  signed char       GLbyte
 */
typedef unsigned short __pyx_t_4kivy_8graphics_6opengl_GLushort;

/* "kivy\graphics\opengl.pyx":29
 * ctypedef  int               GLsizei
 * ctypedef  unsigned short    GLushort
 * ctypedef  unsigned int      GLuint             # <<<<<<<<<<<<<<
 * ctypedef  signed char       GLbyte
 * ctypedef  unsigned char     GLubyte
 */
typedef unsigned int __pyx_t_4kivy_8graphics_6opengl_GLuint;

/* "kivy\graphics\opengl.pyx":30
 * ctypedef  unsigned short    GLushort
 * ctypedef  unsigned int      GLuint
 * ctypedef  signed char       GLbyte             # <<<<<<<<<<<<<<
 * ctypedef  unsigned char     GLubyte
 * ctypedef  float             GLfloat
 */
typedef signed char __pyx_t_4kivy_8graphics_6opengl_GLbyte;

/* "kivy\graphics\opengl.pyx":31
 * ctypedef  unsigned int      GLuint
 * ctypedef  signed char       GLbyte
 * ctypedef  unsigned char     GLubyte             # <<<<<<<<<<<<<<
 * ctypedef  float             GLfloat
 * ctypedef  float             GLclampf
 */
typedef unsigned char __pyx_t_4kivy_8graphics_6opengl_GLubyte;

/* "kivy\graphics\opengl.pyx":32
 * ctypedef  signed char       GLbyte
 * ctypedef  unsigned char     GLubyte
 * ctypedef  float             GLfloat             # <<<<<<<<<<<<<<
 * ctypedef  float             GLclampf
 * ctypedef  int               GLfixed
 */
typedef float __pyx_t_4kivy_8graphics_6opengl_GLfloat;

/* "kivy\graphics\opengl.pyx":33
 * ctypedef  unsigned char     GLubyte
 * ctypedef  float             GLfloat
 * ctypedef  float             GLclampf             # <<<<<<<<<<<<<<
 * ctypedef  int               GLfixed
 * ctypedef  signed long int   GLintptr
 */
typedef float __pyx_t_4kivy_8graphics_6opengl_GLclampf;

/* "kivy\graphics\opengl.pyx":34
 * ctypedef  float             GLfloat
 * ctypedef  float             GLclampf
 * ctypedef  int               GLfixed             # <<<<<<<<<<<<<<
 * ctypedef  signed long int   GLintptr
 * ctypedef  signed long int   GLsizeiptr
 */
typedef int __pyx_t_4kivy_8graphics_6opengl_GLfixed;

/* "kivy\graphics\opengl.pyx":35
 * ctypedef  float             GLclampf
 * ctypedef  int               GLfixed
 * ctypedef  signed long int   GLintptr             # <<<<<<<<<<<<<<
 * ctypedef  signed long int   GLsizeiptr
 * 
 */
typedef signed long __pyx_t_4kivy_8graphics_6opengl_GLintptr;

/* "kivy\graphics\opengl.pyx":36
 * ctypedef  int               GLfixed
 * ctypedef  signed long int   GLintptr
 * ctypedef  signed long int   GLsizeiptr             # <<<<<<<<<<<<<<
 * 
 * # Utilities
 */
typedef signed long __pyx_t_4kivy_8graphics_6opengl_GLsizeiptr;

/*--- Type declarations ---*/

/* "kivy\graphics\opengl.pyx":20
 * cimport c_opengl
 * 
 * ctypedef  void              GLvoid             # <<<<<<<<<<<<<<
 * ctypedef  char              GLchar
 * ctypedef  unsigned int      GLenum
 */
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); /*proto*/
  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
#ifdef WITH_THREAD
  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
          if (acquire_gil) { \
              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
              PyGILState_Release(__pyx_gilstate_save); \
          } else { \
              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
          }
#else
  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
#endif
  #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_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
#else
  #define __Pyx_RefNannyDeclarations
  #define __Pyx_RefNannySetupContext(name, acquire_gil)
  #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_XINCREF(r) Py_XINCREF(r)
  #define __Pyx_XDECREF(r) Py_XDECREF(r)
  #define __Pyx_XGOTREF(r)
  #define __Pyx_XGIVEREF(r)
#endif /* CYTHON_REFNANNY */
#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)

#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) {
    PyTypeObject* tp = Py_TYPE(obj);
    if (likely(tp->tp_getattro))
        return tp->tp_getattro(obj, attr_name);
#if PY_MAJOR_VERSION < 3
    if (likely(tp->tp_getattr))
        return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
#endif
    return PyObject_GetAttr(obj, attr_name);
}
#else
#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
#endif

static PyObject *__Pyx_GetBuiltinName(PyObject *name); /*proto*/

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_WriteUnraisable(const char *name, int clineno,
                                  int lineno, const char *filename); /*proto*/

#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
        Py_INCREF(x);
        PyList_SET_ITEM(list, len, x);
        Py_SIZE(list) = len+1;
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#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); /*proto*/

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

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

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

static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name); /*proto*/

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

#define __Pyx_GetItemInt(o, i, size, to_py_func, is_list, wraparound, boundscheck) \
    (((size) <= sizeof(Py_ssize_t)) ? \
    __Pyx_GetItemInt_Fast(o, i, is_list, wraparound, boundscheck) : \
    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
#define __Pyx_GetItemInt_List(o, i, size, to_py_func, is_list, wraparound, boundscheck) \
    (((size) <= sizeof(Py_ssize_t)) ? \
    __Pyx_GetItemInt_List_Fast(o, i, wraparound, boundscheck) : \
    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func, is_list, wraparound, boundscheck) \
    (((size) <= sizeof(Py_ssize_t)) ? \
    __Pyx_GetItemInt_Tuple_Fast(o, i, wraparound, boundscheck) : \
    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck);
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                     int is_list, int wraparound, int boundscheck);

#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
    PyListObject* L = (PyListObject*) list;
    Py_ssize_t len = Py_SIZE(list);
    if (likely(L->allocated > len)) {
        Py_INCREF(x);
        PyList_SET_ITEM(list, len, x);
        Py_SIZE(list) = len+1;
        return 0;
    }
    return PyList_Append(list, x);
}
#else
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_GLenum(GLenum);

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_GLboolean(GLboolean);

static CYTHON_INLINE GLenum __Pyx_PyInt_from_py_GLenum(PyObject *);

static int __Pyx_Print(PyObject*, PyObject *, int); /*proto*/
#if CYTHON_COMPILING_IN_PYPY || PY_MAJOR_VERSION >= 3
static PyObject* __pyx_print = 0;
static PyObject* __pyx_print_kwargs = 0;
#endif

static int __Pyx_PrintOne(PyObject* stream, PyObject *o); /*proto*/

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 int __Pyx_check_binary_version(void);

typedef struct {
    int code_line;
    PyCodeObject* code_object;
} __Pyx_CodeObjectCacheEntry;
struct __Pyx_CodeObjectCache {
    int count;
    int max_count;
    __Pyx_CodeObjectCacheEntry* entries;
};
static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
static PyCodeObject *__pyx_find_code_object(int code_line);
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);

static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename); /*proto*/

static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/


/* Module declarations from 'kivy.graphics.c_opengl' */

/* Module declarations from 'kivy.graphics.opengl' */
static double __pyx_v_4kivy_8graphics_6opengl_pi;
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 PyObject *__pyx_pf_4kivy_8graphics_6opengl_glActiveTexture(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_texture); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_2glAttachShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_4glBindAttribLocation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_6glBindBuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_buffer); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_8glBindFramebuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_framebuffer); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_10glBindRenderbuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_renderbuffer); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_12glBindTexture(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_texture); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_14glBlendColor(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_16glBlendEquation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_18glBlendEquationSeparate(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_modeRGB, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_modeAlpha); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_20glBlendFunc(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_sfactor, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_dfactor); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_22glBlendFuncSeparate(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_24glBufferData(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLsizeiptr __pyx_v_size, PyObject *__pyx_v_data, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_usage); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_26glBufferSubData(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_28glCheckFramebufferStatus(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_30glClear(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLbitfield __pyx_v_mask); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_32glClearColor(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_34glClearStencil(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_s); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_36glColorMask(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_38glCompileShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_40glCompressedTexImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_42glCompressedTexSubImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_44glCopyTexImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_46glCopyTexSubImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_48glCreateProgram(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_50glCreateShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_type); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_52glCullFace(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_54glDeleteBuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n, PyObject *__pyx_v_buffers); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_56glDeleteFramebuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n, PyObject *__pyx_v_framebuffers); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_58glDeleteProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_60glDeleteRenderbuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n, PyObject *__pyx_v_renderbuffers); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_62glDeleteShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_64glDeleteTextures(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n, PyObject *__pyx_v_textures); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_66glDepthFunc(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_func); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_68glDepthMask(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_flag); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_70glDetachShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_72glDisable(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_74glDisableVertexAttribArray(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_76glDrawArrays(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_78glDrawElements(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_80glEnable(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_82glEnableVertexAttribArray(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_84glFinish(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_86glFlush(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_88glFramebufferRenderbuffer(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_90glFramebufferTexture2D(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_92glFrontFace(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_94glGenBuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_96glGenerateMipmap(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_98glGenFramebuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_100glGenRenderbuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_102glGenTextures(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_104glGetActiveAttrib(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_106glGetActiveUniform(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_108glGetAttachedShaders(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_maxcount); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_110glGetAttribLocation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_112glGetBooleanv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_114glGetBufferParameteriv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_116glGetError(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_118glGetFloatv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_120glGetFramebufferAttachmentParameteriv(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_122glGetIntegerv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_124glGetProgramiv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_126glGetProgramInfoLog(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_bufsize); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_128glGetRenderbufferParameteriv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_130glGetShaderiv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_132glGetShaderInfoLog(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_bufsize); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_134glGetShaderPrecisionFormat(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_shadertype, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_precisiontype); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_136glGetShaderSource(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_138glGetString(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_name); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_140glGetTexParameterfv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_142glGetTexParameteriv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_144glGetUniformfv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_146glGetUniformiv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_148glGetUniformLocation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_150glGetVertexAttribfv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_152glGetVertexAttribiv(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_154glGetVertexAttribPointerv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_156glHint(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_158glIsBuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_buffer); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_160glIsEnabled(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_162glIsFramebuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_framebuffer); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_164glIsProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_166glIsRenderbuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_renderbuffer); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_168glIsShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_170glIsTexture(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_texture); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_172glLineWidth(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_width); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_174glLinkProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_176glPixelStorei(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_param); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_178glPolygonOffset(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_factor, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_units); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_180glReadPixels(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_182glReleaseShaderCompiler(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_184glRenderbufferStorage(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_186glSampleCoverage(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_value, __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_invert); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_188glScissor(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_190glShaderBinary(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_192glShaderSource(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader, PyObject *__pyx_v_source); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_194glStencilFunc(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_196glStencilFuncSeparate(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_198glStencilMask(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_mask); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_200glStencilMaskSeparate(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_face, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_mask); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_202glStencilOp(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_204glStencilOpSeparate(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_206glTexImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_208glTexParameterf(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_210glTexParameterfv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_212glTexParameteri(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_214glTexParameteriv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_216glTexSubImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_218glUniform1f(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_220glUniform1fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_222glUniform1i(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_224glUniform1iv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_226glUniform2f(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_228glUniform2fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_230glUniform2i(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_232glUniform2iv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_234glUniform3f(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_236glUniform3fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_238glUniform3i(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_240glUniform3iv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_242glUniform4f(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_244glUniform4fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_246glUniform4i(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_248glUniform4iv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_250glUniformMatrix2fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_252glUniformMatrix3fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_254glUniformMatrix4fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_256glUseProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_258glValidateProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_260glVertexAttrib1f(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_262glVertexAttrib1fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED PyObject *__pyx_v_values); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_264glVertexAttrib2f(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_266glVertexAttrib2fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED PyObject *__pyx_v_values); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_268glVertexAttrib3f(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_270glVertexAttrib3fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED PyObject *__pyx_v_values); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_272glVertexAttrib4f(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_274glVertexAttrib4fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED PyObject *__pyx_v_values); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_276glVertexAttribPointer(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_size); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_278glViewport(CYTHON_UNUSED PyObject *__pyx_self, __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); /* proto */
static PyObject *__pyx_pf_4kivy_8graphics_6opengl_280gl_init_symbols(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
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[] = "GLEW initialization error:";
static char __pyx_k_24[] = "GLEW initialization succeeded";
static char __pyx_k_25[] = "\nOpenGL\n======\n\nThis module is python wrapper for OpenGL commands.\n\n.. warning::\n\n    Not every OpenGL command have been wrapped, because we are using the C binding\n    for higher performance, and you should stick on the Kivy Graphics API, not the\n    OpenGL one. By using theses OpenGL commands, you might change the OpenGL context\n    and introduce inconsistency between Kivy state and OpenGL state.\n\n";
static char __pyx_k_26[] = "GL_STENCIL_BUFFER_BIT";
static char __pyx_k_27[] = "GL_ONE_MINUS_SRC_COLOR";
static char __pyx_k_28[] = "GL_ONE_MINUS_SRC_ALPHA";
static char __pyx_k_29[] = "GL_ONE_MINUS_DST_ALPHA";
static char __pyx_k_30[] = "GL_ONE_MINUS_DST_COLOR";
static char __pyx_k_31[] = "GL_SRC_ALPHA_SATURATE";
static char __pyx_k_32[] = "GL_BLEND_EQUATION_RGB";
static char __pyx_k_33[] = "GL_BLEND_EQUATION_ALPHA";
static char __pyx_k_34[] = "GL_FUNC_REVERSE_SUBTRACT";
static char __pyx_k_35[] = "GL_ELEMENT_ARRAY_BUFFER";
static char __pyx_k_36[] = "GL_ARRAY_BUFFER_BINDING";
static char __pyx_k_37[] = "GL_ELEMENT_ARRAY_BUFFER_BINDING";
static char __pyx_k_38[] = "GL_CURRENT_VERTEX_ATTRIB";
static char __pyx_k_39[] = "GL_POLYGON_OFFSET_FILL";
static char __pyx_k_40[] = "GL_SAMPLE_ALPHA_TO_COVERAGE";
static char __pyx_k_41[] = "GL_INVALID_OPERATION";
static char __pyx_k_42[] = "GL_ALIASED_POINT_SIZE_RANGE";
static char __pyx_k_43[] = "GL_ALIASED_LINE_WIDTH_RANGE";
static char __pyx_k_44[] = "GL_DEPTH_CLEAR_VALUE";
static char __pyx_k_45[] = "GL_STENCIL_CLEAR_VALUE";
static char __pyx_k_46[] = "GL_STENCIL_PASS_DEPTH_FAIL";
static char __pyx_k_47[] = "GL_STENCIL_PASS_DEPTH_PASS";
static char __pyx_k_48[] = "GL_STENCIL_VALUE_MASK";
static char __pyx_k_49[] = "GL_STENCIL_WRITEMASK";
static char __pyx_k_50[] = "GL_STENCIL_BACK_FUNC";
static char __pyx_k_51[] = "GL_STENCIL_BACK_FAIL";
static char __pyx_k_52[] = "GL_STENCIL_BACK_PASS_DEPTH_FAIL";
static char __pyx_k_53[] = "GL_STENCIL_BACK_PASS_DEPTH_PASS";
static char __pyx_k_54[] = "GL_STENCIL_BACK_VALUE_MASK";
static char __pyx_k_55[] = "GL_STENCIL_BACK_WRITEMASK";
static char __pyx_k_56[] = "GL_COLOR_CLEAR_VALUE";
static char __pyx_k_57[] = "GL_MAX_VIEWPORT_DIMS";
static char __pyx_k_58[] = "GL_POLYGON_OFFSET_UNITS";
static char __pyx_k_59[] = "GL_POLYGON_OFFSET_FACTOR";
static char __pyx_k_60[] = "GL_TEXTURE_BINDING_2D";
static char __pyx_k_61[] = "GL_SAMPLE_COVERAGE_VALUE";
static char __pyx_k_62[] = "GL_SAMPLE_COVERAGE_INVERT";
static char __pyx_k_63[] = "GL_NUM_COMPRESSED_TEXTURE_FORMATS";
static char __pyx_k_64[] = "GL_COMPRESSED_TEXTURE_FORMATS";
static char __pyx_k_65[] = "GL_GENERATE_MIPMAP_HINT";
static char __pyx_k_66[] = "GL_UNSIGNED_SHORT_4_4_4_4";
static char __pyx_k_67[] = "GL_UNSIGNED_SHORT_5_5_5_1";
static char __pyx_k_68[] = "GL_UNSIGNED_SHORT_5_6_5";
static char __pyx_k_69[] = "GL_MAX_VERTEX_ATTRIBS";
static char __pyx_k_70[] = "GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS";
static char __pyx_k_71[] = "GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS";
static char __pyx_k_72[] = "GL_MAX_TEXTURE_IMAGE_UNITS";
static char __pyx_k_73[] = "GL_ACTIVE_UNIFORM_MAX_LENGTH";
static char __pyx_k_74[] = "GL_ACTIVE_ATTRIBUTES";
static char __pyx_k_75[] = "GL_ACTIVE_ATTRIBUTE_MAX_LENGTH";
static char __pyx_k_76[] = "GL_SHADING_LANGUAGE_VERSION";
static char __pyx_k_77[] = "GL_NEAREST_MIPMAP_NEAREST";
static char __pyx_k_78[] = "GL_LINEAR_MIPMAP_NEAREST";
static char __pyx_k_79[] = "GL_NEAREST_MIPMAP_LINEAR";
static char __pyx_k_80[] = "GL_LINEAR_MIPMAP_LINEAR";
static char __pyx_k_81[] = "GL_TEXTURE_MAG_FILTER";
static char __pyx_k_82[] = "GL_TEXTURE_MIN_FILTER";
static char __pyx_k_83[] = "GL_TEXTURE_BINDING_CUBE_MAP";
static char __pyx_k_84[] = "GL_TEXTURE_CUBE_MAP_POSITIVE_X";
static char __pyx_k_85[] = "GL_TEXTURE_CUBE_MAP_NEGATIVE_X";
static char __pyx_k_86[] = "GL_TEXTURE_CUBE_MAP_POSITIVE_Y";
static char __pyx_k_87[] = "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y";
static char __pyx_k_88[] = "GL_TEXTURE_CUBE_MAP_POSITIVE_Z";
static char __pyx_k_89[] = "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z";
static char __pyx_k_90[] = "GL_MAX_CUBE_MAP_TEXTURE_SIZE";
static char __pyx_k_91[] = "GL_VERTEX_ATTRIB_ARRAY_ENABLED";
static char __pyx_k_92[] = "GL_VERTEX_ATTRIB_ARRAY_SIZE";
static char __pyx_k_93[] = "GL_VERTEX_ATTRIB_ARRAY_STRIDE";
static char __pyx_k_94[] = "GL_VERTEX_ATTRIB_ARRAY_TYPE";
static char __pyx_k_95[] = "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED";
static char __pyx_k_96[] = "GL_VERTEX_ATTRIB_ARRAY_POINTER";
static char __pyx_k_97[] = "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING";
static char __pyx_k_98[] = "GL_SHADER_SOURCE_LENGTH";
static char __pyx_k_99[] = "GL_DEPTH_COMPONENT16";
static char __pyx_k__d[] = "d";
static char __pyx_k__i[] = "i";
static char __pyx_k__n[] = "n";
static char __pyx_k__s[] = "s";
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_WIDTH";
static char __pyx_k_101[] = "GL_RENDERBUFFER_HEIGHT";
static char __pyx_k_102[] = "GL_RENDERBUFFER_INTERNAL_FORMAT";
static char __pyx_k_103[] = "GL_RENDERBUFFER_RED_SIZE";
static char __pyx_k_104[] = "GL_RENDERBUFFER_GREEN_SIZE";
static char __pyx_k_105[] = "GL_RENDERBUFFER_BLUE_SIZE";
static char __pyx_k_106[] = "GL_RENDERBUFFER_ALPHA_SIZE";
static char __pyx_k_107[] = "GL_RENDERBUFFER_DEPTH_SIZE";
static char __pyx_k_108[] = "GL_RENDERBUFFER_STENCIL_SIZE";
static char __pyx_k_109[] = "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE";
static char __pyx_k_110[] = "GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME";
static char __pyx_k_111[] = "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL";
static char __pyx_k_112[] = "GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE";
static char __pyx_k_113[] = "GL_COLOR_ATTACHMENT0";
static char __pyx_k_114[] = "GL_STENCIL_ATTACHMENT";
static char __pyx_k_115[] = "GL_FRAMEBUFFER_COMPLETE";
static char __pyx_k_116[] = "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT";
static char __pyx_k_117[] = "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";
static char __pyx_k_118[] = "GL_FRAMEBUFFER_UNSUPPORTED";
static char __pyx_k_119[] = "GL_FRAMEBUFFER_BINDING";
static char __pyx_k_120[] = "GL_RENDERBUFFER_BINDING";
static char __pyx_k_121[] = "GL_MAX_RENDERBUFFER_SIZE";
static char __pyx_k_122[] = "GL_INVALID_FRAMEBUFFER_OPERATION";
static char __pyx_k_123[] = "GL_SHADER_BINARY_FORMATS";
static char __pyx_k_124[] = "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS";
static char __pyx_k_125[] = "GL_MAX_VERTEX_UNIFORM_VECTORS";
static char __pyx_k_126[] = "GL_MAX_VARYING_VECTORS";
static char __pyx_k_127[] = "GL_MAX_FRAGMENT_UNIFORM_VECTORS";
static char __pyx_k_128[] = "GL_IMPLEMENTATION_COLOR_READ_TYPE";
static char __pyx_k_129[] = "GL_IMPLEMENTATION_COLOR_READ_FORMAT";
static char __pyx_k_130[] = "GL_NUM_SHADER_BINARY_FORMATS";
static char __pyx_k_133[] = "c:\\Users\\tito\\Desktop\\Kivy-dev\\kivy\\Kivy-1.7.2-w32\\Kivy-1.7.2\\kivy\\graphics\\opengl.pyx";
static char __pyx_k_134[] = "kivy.graphics.opengl";
static char __pyx_k_139[] = "glBindAttribLocation";
static char __pyx_k_154[] = "glBlendEquationSeparate";
static char __pyx_k_165[] = "glCheckFramebufferStatus";
static char __pyx_k_178[] = "glCompressedTexImage2D";
static char __pyx_k_181[] = "glCompressedTexSubImage2D";
static char __pyx_k_196[] = "glDeleteFramebuffers";
static char __pyx_k_201[] = "glDeleteRenderbuffers";
static char __pyx_k_216[] = "glDisableVertexAttribArray";
static char __pyx_k_225[] = "glEnableVertexAttribArray";
static char __pyx_k_230[] = "glFramebufferRenderbuffer";
static char __pyx_k_233[] = "glFramebufferTexture2D";
static char __pyx_k_252[] = "glGetAttachedShaders";
static char __pyx_k_259[] = "glGetBufferParameteriv";
static char __pyx_k_265[] = "glGetFramebufferAttachmentParameteriv";
static char __pyx_k_274[] = "glGetRenderbufferParameteriv";
static char __pyx_k_281[] = "glGetShaderPrecisionFormat";
static char __pyx_k_296[] = "glGetUniformLocation";
static char __pyx_k_303[] = "glGetVertexAttribPointerv";
static char __pyx_k_331[] = "glReleaseShaderCompiler";
static char __pyx_k_334[] = "glRenderbufferStorage";
static char __pyx_k_346[] = "glStencilFuncSeparate";
static char __pyx_k_351[] = "glStencilMaskSeparate";
static char __pyx_k_428[] = "glVertexAttribPointer";
static char __pyx_k__id[] = "id";
static char __pyx_k__cap[] = "cap";
static char __pyx_k__end[] = "end";
static char __pyx_k__out[] = "out";
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__file[] = "file";
static char __pyx_k__flag[] = "flag";
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__GL_CW[] = "GL_CW";
static char __pyx_k__alpha[] = "alpha";
static char __pyx_k__count[] = "count";
static char __pyx_k__error[] = "error";
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__print[] = "print";
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__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__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__p_name[] = "p_name";
static char __pyx_k__params[] = "params";
static char __pyx_k__pixels[] = "pixels";
static char __pyx_k__result[] = "result";
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__gl_type[] = "gl_type";
static char __pyx_k__indices[] = "indices";
static char __pyx_k__infolog[] = "infolog";
static char __pyx_k__modeRGB[] = "modeRGB";
static char __pyx_k__program[] = "program";
static char __pyx_k__sfactor[] = "sfactor";
static char __pyx_k__shaders[] = "shaders";
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__c_source[] = "c_source";
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__p_source[] = "p_source";
static char __pyx_k__p_string[] = "p_string";
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__p_infolog[] = "p_infolog";
static char __pyx_k__py_pixels[] = "py_pixels";
static char __pyx_k__textarget[] = "textarget";
static char __pyx_k__GL_FASTEST[] = "GL_FASTEST";
static char __pyx_k__GL_GREATER[] = "GL_GREATER";
static char __pyx_k__GL_LOW_INT[] = "GL_LOW_INT";
static char __pyx_k__GL_NEAREST[] = "GL_NEAREST";
static char __pyx_k__GL_REPLACE[] = "GL_REPLACE";
static char __pyx_k__GL_RGB5_A1[] = "GL_RGB5_A1";
static char __pyx_k__GL_SAMPLES[] = "GL_SAMPLES";
static char __pyx_k__GL_TEXTURE[] = "GL_TEXTURE";
static char __pyx_k__GL_VERSION[] = "GL_VERSION";
static char __pyx_k__attachment[] = "attachment";
static char __pyx_k__glCullFace[] = "glCullFace";
static char __pyx_k__glGetError[] = "glGetError";
static char __pyx_k__glIsBuffer[] = "glIsBuffer";
static char __pyx_k__glIsShader[] = "glIsShader";
static char __pyx_k__glViewport[] = "glViewport";
static char __pyx_k__shadertype[] = "shadertype";
static char __pyx_k__GL_FUNC_ADD[] = "GL_FUNC_ADD";
static char __pyx_k__GL_HIGH_INT[] = "GL_HIGH_INT";
static char __pyx_k__GL_INT_VEC2[] = "GL_INT_VEC2";
static char __pyx_k__GL_INT_VEC3[] = "GL_INT_VEC3";
static char __pyx_k__GL_INT_VEC4[] = "GL_INT_VEC4";
static char __pyx_k__GL_NOTEQUAL[] = "GL_NOTEQUAL";
static char __pyx_k__GL_NO_ERROR[] = "GL_NO_ERROR";
static char __pyx_k__GL_RED_BITS[] = "GL_RED_BITS";
static char __pyx_k__GL_RENDERER[] = "GL_RENDERER";
static char __pyx_k__GL_TEXTURE0[] = "GL_TEXTURE0";
static char __pyx_k__GL_TEXTURE1[] = "GL_TEXTURE1";
static char __pyx_k__GL_TEXTURE2[] = "GL_TEXTURE2";
static char __pyx_k__GL_TEXTURE3[] = "GL_TEXTURE3";
static char __pyx_k__GL_TEXTURE4[] = "GL_TEXTURE4";
static char __pyx_k__GL_TEXTURE5[] = "GL_TEXTURE5";
static char __pyx_k__GL_TEXTURE6[] = "GL_TEXTURE6";
static char __pyx_k__GL_TEXTURE7[] = "GL_TEXTURE7";
static char __pyx_k__GL_TEXTURE8[] = "GL_TEXTURE8";
static char __pyx_k__GL_TEXTURE9[] = "GL_TEXTURE9";
static char __pyx_k__GL_VIEWPORT[] = "GL_VIEWPORT";
static char __pyx_k__MemoryError[] = "MemoryError";
static char __pyx_k__framebuffer[] = "framebuffer";
static char __pyx_k__glBlendFunc[] = "glBlendFunc";
static char __pyx_k__glColorMask[] = "glColorMask";
static char __pyx_k__glDepthFunc[] = "glDepthFunc";
static char __pyx_k__glDepthMask[] = "glDepthMask";
static char __pyx_k__glFrontFace[] = "glFrontFace";
static char __pyx_k__glGetFloatv[] = "glGetFloatv";
static char __pyx_k__glGetString[] = "glGetString";
static char __pyx_k__glIsEnabled[] = "glIsEnabled";
static char __pyx_k__glIsProgram[] = "glIsProgram";
static char __pyx_k__glIsTexture[] = "glIsTexture";
static char __pyx_k__glLineWidth[] = "glLineWidth";
static char __pyx_k__glStencilOp[] = "glStencilOp";
static char __pyx_k__glUniform1f[] = "glUniform1f";
static char __pyx_k__glUniform1i[] = "glUniform1i";
static char __pyx_k__glUniform2f[] = "glUniform2f";
static char __pyx_k__glUniform2i[] = "glUniform2i";
static char __pyx_k__glUniform3f[] = "glUniform3f";
static char __pyx_k__glUniform3i[] = "glUniform3i";
static char __pyx_k__glUniform4f[] = "glUniform4f";
static char __pyx_k__glUniform4i[] = "glUniform4i";
static char __pyx_k__GL_BLUE_BITS[] = "GL_BLUE_BITS";
static char __pyx_k__GL_BOOL_VEC2[] = "GL_BOOL_VEC2";
static char __pyx_k__GL_BOOL_VEC3[] = "GL_BOOL_VEC3";
static char __pyx_k__GL_BOOL_VEC4[] = "GL_BOOL_VEC4";
static char __pyx_k__GL_CULL_FACE[] = "GL_CULL_FACE";
static char __pyx_k__GL_DECR_WRAP[] = "GL_DECR_WRAP";
static char __pyx_k__GL_DONT_CARE[] = "GL_DONT_CARE";
static char __pyx_k__GL_DST_ALPHA[] = "GL_DST_ALPHA";
static char __pyx_k__GL_DST_COLOR[] = "GL_DST_COLOR";
static char __pyx_k__GL_INCR_WRAP[] = "GL_INCR_WRAP";
static char __pyx_k__GL_LINE_LOOP[] = "GL_LINE_LOOP";
static char __pyx_k__GL_LOW_FLOAT[] = "GL_LOW_FLOAT";
static char __pyx_k__GL_LUMINANCE[] = "GL_LUMINANCE";
static char __pyx_k__GL_SRC_ALPHA[] = "GL_SRC_ALPHA";
static char __pyx_k__GL_SRC_COLOR[] = "GL_SRC_COLOR";
static char __pyx_k__GL_TEXTURE10[] = "GL_TEXTURE10";
static char __pyx_k__GL_TEXTURE11[] = "GL_TEXTURE11";
static char __pyx_k__GL_TEXTURE12[] = "GL_TEXTURE12";
static char __pyx_k__GL_TEXTURE13[] = "GL_TEXTURE13";
static char __pyx_k__GL_TEXTURE14[] = "GL_TEXTURE14";
static char __pyx_k__GL_TEXTURE15[] = "GL_TEXTURE15";
static char __pyx_k__GL_TEXTURE16[] = "GL_TEXTURE16";
static char __pyx_k__GL_TEXTURE17[] = "GL_TEXTURE17";
static char __pyx_k__GL_TEXTURE18[] = "GL_TEXTURE18";
static char __pyx_k__GL_TEXTURE19[] = "GL_TEXTURE19";
static char __pyx_k__GL_TEXTURE20[] = "GL_TEXTURE20";
static char __pyx_k__GL_TEXTURE21[] = "GL_TEXTURE21";
static char __pyx_k__GL_TEXTURE22[] = "GL_TEXTURE22";
static char __pyx_k__GL_TEXTURE23[] = "GL_TEXTURE23";
static char __pyx_k__GL_TEXTURE24[] = "GL_TEXTURE24";
static char __pyx_k__GL_TEXTURE25[] = "GL_TEXTURE25";
static char __pyx_k__GL_TEXTURE26[] = "GL_TEXTURE26";
static char __pyx_k__GL_TEXTURE27[] = "GL_TEXTURE27";
static char __pyx_k__GL_TEXTURE28[] = "GL_TEXTURE28";
static char __pyx_k__GL_TEXTURE29[] = "GL_TEXTURE29";
static char __pyx_k__GL_TEXTURE30[] = "GL_TEXTURE30";
static char __pyx_k__GL_TEXTURE31[] = "GL_TEXTURE31";
static char __pyx_k__GL_TRIANGLES[] = "GL_TRIANGLES";
static char __pyx_k___GL_GET_SIZE[] = "_GL_GET_SIZE";
static char __pyx_k__framebuffers[] = "framebuffers";
static char __pyx_k__glBindBuffer[] = "glBindBuffer";
static char __pyx_k__glBlendColor[] = "glBlendColor";
static char __pyx_k__glBufferData[] = "glBufferData";
static char __pyx_k__glClearColor[] = "glClearColor";
static char __pyx_k__glDrawArrays[] = "glDrawArrays";
static char __pyx_k__glGenBuffers[] = "glGenBuffers";
static char __pyx_k__glReadPixels[] = "glReadPixels";
static char __pyx_k__glTexImage2D[] = "glTexImage2D";
static char __pyx_k__glUniform1fv[] = "glUniform1fv";
static char __pyx_k__glUniform1iv[] = "glUniform1iv";
static char __pyx_k__glUniform2fv[] = "glUniform2fv";
static char __pyx_k__glUniform2iv[] = "glUniform2iv";
static char __pyx_k__glUniform3fv[] = "glUniform3fv";
static char __pyx_k__glUniform3iv[] = "glUniform3iv";
static char __pyx_k__glUniform4fv[] = "glUniform4fv";
static char __pyx_k__glUniform4iv[] = "glUniform4iv";
static char __pyx_k__glUseProgram[] = "glUseProgram";
static char __pyx_k__renderbuffer[] = "renderbuffer";
static char __pyx_k__GL_ALPHA_BITS[] = "GL_ALPHA_BITS";
static char __pyx_k__GL_DEPTH_BITS[] = "GL_DEPTH_BITS";
static char __pyx_k__GL_DEPTH_FUNC[] = "GL_DEPTH_FUNC";
static char __pyx_k__GL_DEPTH_TEST[] = "GL_DEPTH_TEST";
static char __pyx_k__GL_EXTENSIONS[] = "GL_EXTENSIONS";
static char __pyx_k__GL_FLOAT_MAT2[] = "GL_FLOAT_MAT2";
static char __pyx_k__GL_FLOAT_MAT3[] = "GL_FLOAT_MAT3";
static char __pyx_k__GL_FLOAT_MAT4[] = "GL_FLOAT_MAT4";
static char __pyx_k__GL_FLOAT_VEC2[] = "GL_FLOAT_VEC2";
static char __pyx_k__GL_FLOAT_VEC3[] = "GL_FLOAT_VEC3";
static char __pyx_k__GL_FLOAT_VEC4[] = "GL_FLOAT_VEC4";
static char __pyx_k__GL_FRONT_FACE[] = "GL_FRONT_FACE";
static char __pyx_k__GL_GREEN_BITS[] = "GL_GREEN_BITS";
static char __pyx_k__GL_HIGH_FLOAT[] = "GL_HIGH_FLOAT";
static char __pyx_k__GL_LINE_STRIP[] = "GL_LINE_STRIP";
static char __pyx_k__GL_LINE_WIDTH[] = "GL_LINE_WIDTH";
static char __pyx_k__GL_MEDIUM_INT[] = "GL_MEDIUM_INT";
static char __pyx_k__GL_SAMPLER_2D[] = "GL_SAMPLER_2D";
static char __pyx_k__GL_TEXTURE_2D[] = "GL_TEXTURE_2D";
static char __pyx_k__glBindTexture[] = "glBindTexture";
static char __pyx_k__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_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_kp_s_133;
static PyObject *__pyx_n_s_134;
static PyObject *__pyx_n_s_139;
static PyObject *__pyx_kp_s_14;
static PyObject *__pyx_n_s_154;
static PyObject *__pyx_kp_s_16;
static PyObject *__pyx_n_s_165;
static PyObject *__pyx_n_s_178;
static PyObject *__pyx_kp_s_18;
static PyObject *__pyx_n_s_181;
static PyObject *__pyx_n_s_196;
static PyObject *__pyx_kp_s_2;
static PyObject *__pyx_n_s_201;
static PyObject *__pyx_kp_s_21;
static PyObject *__pyx_n_s_216;
static PyObject *__pyx_n_s_225;
static PyObject *__pyx_kp_s_23;
static PyObject *__pyx_n_s_230;
static PyObject *__pyx_n_s_233;
static PyObject *__pyx_kp_s_24;
static PyObject *__pyx_n_s_252;
static PyObject *__pyx_n_s_259;
static PyObject *__pyx_n_s_26;
static PyObject *__pyx_n_s_265;
static PyObject *__pyx_n_s_27;
static PyObject *__pyx_n_s_274;
static PyObject *__pyx_n_s_28;
static PyObject *__pyx_n_s_281;
static PyObject *__pyx_n_s_29;
static PyObject *__pyx_n_s_296;
static PyObject *__pyx_n_s_30;
static PyObject *__pyx_n_s_303;
static PyObject *__pyx_n_s_31;
static PyObject *__pyx_n_s_32;
static PyObject *__pyx_n_s_33;
static PyObject *__pyx_n_s_331;
static PyObject *__pyx_n_s_334;
static PyObject *__pyx_n_s_34;
static PyObject *__pyx_n_s_346;
static PyObject *__pyx_n_s_35;
static PyObject *__pyx_n_s_351;
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_428;
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__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_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__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__c_source;
static PyObject *__pyx_n_s__cap;
static PyObject *__pyx_n_s__count;
static PyObject *__pyx_n_s__d;
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__end;
static PyObject *__pyx_n_s__error;
static PyObject *__pyx_n_s__face;
static PyObject *__pyx_n_s__factor;
static PyObject *__pyx_n_s__fail;
static PyObject *__pyx_n_s__file;
static PyObject *__pyx_n_s__first;
static PyObject *__pyx_n_s__flag;
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__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__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__gl_type;
static PyObject *__pyx_n_s__green;
static PyObject *__pyx_n_s__height;
static PyObject *__pyx_n_s__i;
static PyObject *__pyx_n_s__id;
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__infolog;
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__out;
static PyObject *__pyx_n_s__p_infolog;
static PyObject *__pyx_n_s__p_name;
static PyObject *__pyx_n_s__p_source;
static PyObject *__pyx_n_s__p_string;
static PyObject *__pyx_n_s__param;
static PyObject *__pyx_n_s__params;
static PyObject *__pyx_n_s__pixels;
static PyObject *__pyx_n_s__pname;
static PyObject *__pyx_n_s__precisiontype;
static PyObject *__pyx_n_s__print;
static PyObject *__pyx_n_s__program;
static PyObject *__pyx_n_s__py_pixels;
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__result;
static PyObject *__pyx_n_s__s;
static PyObject *__pyx_n_s__sfactor;
static PyObject *__pyx_n_s__shader;
static PyObject *__pyx_n_s__shaders;
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__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;
static PyObject *__pyx_k_tuple_131;
static PyObject *__pyx_k_tuple_135;
static PyObject *__pyx_k_tuple_137;
static PyObject *__pyx_k_tuple_140;
static PyObject *__pyx_k_tuple_142;
static PyObject *__pyx_k_tuple_144;
static PyObject *__pyx_k_tuple_146;
static PyObject *__pyx_k_tuple_148;
static PyObject *__pyx_k_tuple_150;
static PyObject *__pyx_k_tuple_152;
static PyObject *__pyx_k_tuple_155;
static PyObject *__pyx_k_tuple_157;
static PyObject *__pyx_k_tuple_159;
static PyObject *__pyx_k_tuple_161;
static PyObject *__pyx_k_tuple_163;
static PyObject *__pyx_k_tuple_166;
static PyObject *__pyx_k_tuple_168;
static PyObject *__pyx_k_tuple_170;
static PyObject *__pyx_k_tuple_172;
static PyObject *__pyx_k_tuple_174;
static PyObject *__pyx_k_tuple_176;
static PyObject *__pyx_k_tuple_179;
static PyObject *__pyx_k_tuple_182;
static PyObject *__pyx_k_tuple_184;
static PyObject *__pyx_k_tuple_186;
static PyObject *__pyx_k_tuple_188;
static PyObject *__pyx_k_tuple_190;
static PyObject *__pyx_k_tuple_192;
static PyObject *__pyx_k_tuple_194;
static PyObject *__pyx_k_tuple_197;
static PyObject *__pyx_k_tuple_199;
static PyObject *__pyx_k_tuple_202;
static PyObject *__pyx_k_tuple_204;
static PyObject *__pyx_k_tuple_206;
static PyObject *__pyx_k_tuple_208;
static PyObject *__pyx_k_tuple_210;
static PyObject *__pyx_k_tuple_212;
static PyObject *__pyx_k_tuple_214;
static PyObject *__pyx_k_tuple_217;
static PyObject *__pyx_k_tuple_219;
static PyObject *__pyx_k_tuple_221;
static PyObject *__pyx_k_tuple_223;
static PyObject *__pyx_k_tuple_228;
static PyObject *__pyx_k_tuple_231;
static PyObject *__pyx_k_tuple_234;
static PyObject *__pyx_k_tuple_236;
static PyObject *__pyx_k_tuple_238;
static PyObject *__pyx_k_tuple_240;
static PyObject *__pyx_k_tuple_242;
static PyObject *__pyx_k_tuple_244;
static PyObject *__pyx_k_tuple_246;
static PyObject *__pyx_k_tuple_248;
static PyObject *__pyx_k_tuple_250;
static PyObject *__pyx_k_tuple_253;
static PyObject *__pyx_k_tuple_255;
static PyObject *__pyx_k_tuple_257;
static PyObject *__pyx_k_tuple_261;
static PyObject *__pyx_k_tuple_263;
static PyObject *__pyx_k_tuple_266;
static PyObject *__pyx_k_tuple_268;
static PyObject *__pyx_k_tuple_270;
static PyObject *__pyx_k_tuple_272;
static PyObject *__pyx_k_tuple_275;
static PyObject *__pyx_k_tuple_277;
static PyObject *__pyx_k_tuple_279;
static PyObject *__pyx_k_tuple_282;
static PyObject *__pyx_k_tuple_284;
static PyObject *__pyx_k_tuple_286;
static PyObject *__pyx_k_tuple_288;
static PyObject *__pyx_k_tuple_290;
static PyObject *__pyx_k_tuple_292;
static PyObject *__pyx_k_tuple_294;
static PyObject *__pyx_k_tuple_297;
static PyObject *__pyx_k_tuple_299;
static PyObject *__pyx_k_tuple_301;
static PyObject *__pyx_k_tuple_304;
static PyObject *__pyx_k_tuple_306;
static PyObject *__pyx_k_tuple_308;
static PyObject *__pyx_k_tuple_310;
static PyObject *__pyx_k_tuple_312;
static PyObject *__pyx_k_tuple_314;
static PyObject *__pyx_k_tuple_316;
static PyObject *__pyx_k_tuple_318;
static PyObject *__pyx_k_tuple_320;
static PyObject *__pyx_k_tuple_322;
static PyObject *__pyx_k_tuple_324;
static PyObject *__pyx_k_tuple_326;
static PyObject *__pyx_k_tuple_328;
static PyObject *__pyx_k_tuple_332;
static PyObject *__pyx_k_tuple_335;
static PyObject *__pyx_k_tuple_337;
static PyObject *__pyx_k_tuple_340;
static PyObject *__pyx_k_tuple_342;
static PyObject *__pyx_k_tuple_344;
static PyObject *__pyx_k_tuple_347;
static PyObject *__pyx_k_tuple_349;
static PyObject *__pyx_k_tuple_352;
static PyObject *__pyx_k_tuple_354;
static PyObject *__pyx_k_tuple_356;
static PyObject *__pyx_k_tuple_358;
static PyObject *__pyx_k_tuple_360;
static PyObject *__pyx_k_tuple_362;
static PyObject *__pyx_k_tuple_364;
static PyObject *__pyx_k_tuple_366;
static PyObject *__pyx_k_tuple_368;
static PyObject *__pyx_k_tuple_370;
static PyObject *__pyx_k_tuple_372;
static PyObject *__pyx_k_tuple_374;
static PyObject *__pyx_k_tuple_376;
static PyObject *__pyx_k_tuple_378;
static PyObject *__pyx_k_tuple_380;
static PyObject *__pyx_k_tuple_382;
static PyObject *__pyx_k_tuple_384;
static PyObject *__pyx_k_tuple_386;
static PyObject *__pyx_k_tuple_388;
static PyObject *__pyx_k_tuple_390;
static PyObject *__pyx_k_tuple_392;
static PyObject *__pyx_k_tuple_394;
static PyObject *__pyx_k_tuple_396;
static PyObject *__pyx_k_tuple_398;
static PyObject *__pyx_k_tuple_400;
static PyObject *__pyx_k_tuple_402;
static PyObject *__pyx_k_tuple_404;
static PyObject *__pyx_k_tuple_406;
static PyObject *__pyx_k_tuple_408;
static PyObject *__pyx_k_tuple_410;
static PyObject *__pyx_k_tuple_412;
static PyObject *__pyx_k_tuple_414;
static PyObject *__pyx_k_tuple_416;
static PyObject *__pyx_k_tuple_418;
static PyObject *__pyx_k_tuple_420;
static PyObject *__pyx_k_tuple_422;
static PyObject *__pyx_k_tuple_424;
static PyObject *__pyx_k_tuple_426;
static PyObject *__pyx_k_tuple_429;
static PyObject *__pyx_k_tuple_431;
static PyObject *__pyx_k_codeobj_132;
static PyObject *__pyx_k_codeobj_136;
static PyObject *__pyx_k_codeobj_138;
static PyObject *__pyx_k_codeobj_141;
static PyObject *__pyx_k_codeobj_143;
static PyObject *__pyx_k_codeobj_145;
static PyObject *__pyx_k_codeobj_147;
static PyObject *__pyx_k_codeobj_149;
static PyObject *__pyx_k_codeobj_151;
static PyObject *__pyx_k_codeobj_153;
static PyObject *__pyx_k_codeobj_156;
static PyObject *__pyx_k_codeobj_158;
static PyObject *__pyx_k_codeobj_160;
static PyObject *__pyx_k_codeobj_162;
static PyObject *__pyx_k_codeobj_164;
static PyObject *__pyx_k_codeobj_167;
static PyObject *__pyx_k_codeobj_169;
static PyObject *__pyx_k_codeobj_171;
static PyObject *__pyx_k_codeobj_173;
static PyObject *__pyx_k_codeobj_175;
static PyObject *__pyx_k_codeobj_177;
static PyObject *__pyx_k_codeobj_180;
static PyObject *__pyx_k_codeobj_183;
static PyObject *__pyx_k_codeobj_185;
static PyObject *__pyx_k_codeobj_187;
static PyObject *__pyx_k_codeobj_189;
static PyObject *__pyx_k_codeobj_191;
static PyObject *__pyx_k_codeobj_193;
static PyObject *__pyx_k_codeobj_195;
static PyObject *__pyx_k_codeobj_198;
static PyObject *__pyx_k_codeobj_200;
static PyObject *__pyx_k_codeobj_203;
static PyObject *__pyx_k_codeobj_205;
static PyObject *__pyx_k_codeobj_207;
static PyObject *__pyx_k_codeobj_209;
static PyObject *__pyx_k_codeobj_211;
static PyObject *__pyx_k_codeobj_213;
static PyObject *__pyx_k_codeobj_215;
static PyObject *__pyx_k_codeobj_218;
static PyObject *__pyx_k_codeobj_220;
static PyObject *__pyx_k_codeobj_222;
static PyObject *__pyx_k_codeobj_224;
static PyObject *__pyx_k_codeobj_226;
static PyObject *__pyx_k_codeobj_227;
static PyObject *__pyx_k_codeobj_229;
static PyObject *__pyx_k_codeobj_232;
static PyObject *__pyx_k_codeobj_235;
static PyObject *__pyx_k_codeobj_237;
static PyObject *__pyx_k_codeobj_239;
static PyObject *__pyx_k_codeobj_241;
static PyObject *__pyx_k_codeobj_243;
static PyObject *__pyx_k_codeobj_245;
static PyObject *__pyx_k_codeobj_247;
static PyObject *__pyx_k_codeobj_249;
static PyObject *__pyx_k_codeobj_251;
static PyObject *__pyx_k_codeobj_254;
static PyObject *__pyx_k_codeobj_256;
static PyObject *__pyx_k_codeobj_258;
static PyObject *__pyx_k_codeobj_260;
static PyObject *__pyx_k_codeobj_262;
static PyObject *__pyx_k_codeobj_264;
static PyObject *__pyx_k_codeobj_267;
static PyObject *__pyx_k_codeobj_269;
static PyObject *__pyx_k_codeobj_271;
static PyObject *__pyx_k_codeobj_273;
static PyObject *__pyx_k_codeobj_276;
static PyObject *__pyx_k_codeobj_278;
static PyObject *__pyx_k_codeobj_280;
static PyObject *__pyx_k_codeobj_283;
static PyObject *__pyx_k_codeobj_285;
static PyObject *__pyx_k_codeobj_287;
static PyObject *__pyx_k_codeobj_289;
static PyObject *__pyx_k_codeobj_291;
static PyObject *__pyx_k_codeobj_293;
static PyObject *__pyx_k_codeobj_295;
static PyObject *__pyx_k_codeobj_298;
static PyObject *__pyx_k_codeobj_300;
static PyObject *__pyx_k_codeobj_302;
static PyObject *__pyx_k_codeobj_305;
static PyObject *__pyx_k_codeobj_307;
static PyObject *__pyx_k_codeobj_309;
static PyObject *__pyx_k_codeobj_311;
static PyObject *__pyx_k_codeobj_313;
static PyObject *__pyx_k_codeobj_315;
static PyObject *__pyx_k_codeobj_317;
static PyObject *__pyx_k_codeobj_319;
static PyObject *__pyx_k_codeobj_321;
static PyObject *__pyx_k_codeobj_323;
static PyObject *__pyx_k_codeobj_325;
static PyObject *__pyx_k_codeobj_327;
static PyObject *__pyx_k_codeobj_329;
static PyObject *__pyx_k_codeobj_330;
static PyObject *__pyx_k_codeobj_333;
static PyObject *__pyx_k_codeobj_336;
static PyObject *__pyx_k_codeobj_338;
static PyObject *__pyx_k_codeobj_339;
static PyObject *__pyx_k_codeobj_341;
static PyObject *__pyx_k_codeobj_343;
static PyObject *__pyx_k_codeobj_345;
static PyObject *__pyx_k_codeobj_348;
static PyObject *__pyx_k_codeobj_350;
static PyObject *__pyx_k_codeobj_353;
static PyObject *__pyx_k_codeobj_355;
static PyObject *__pyx_k_codeobj_357;
static PyObject *__pyx_k_codeobj_359;
static PyObject *__pyx_k_codeobj_361;
static PyObject *__pyx_k_codeobj_363;
static PyObject *__pyx_k_codeobj_365;
static PyObject *__pyx_k_codeobj_367;
static PyObject *__pyx_k_codeobj_369;
static PyObject *__pyx_k_codeobj_371;
static PyObject *__pyx_k_codeobj_373;
static PyObject *__pyx_k_codeobj_375;
static PyObject *__pyx_k_codeobj_377;
static PyObject *__pyx_k_codeobj_379;
static PyObject *__pyx_k_codeobj_381;
static PyObject *__pyx_k_codeobj_383;
static PyObject *__pyx_k_codeobj_385;
static PyObject *__pyx_k_codeobj_387;
static PyObject *__pyx_k_codeobj_389;
static PyObject *__pyx_k_codeobj_391;
static PyObject *__pyx_k_codeobj_393;
static PyObject *__pyx_k_codeobj_395;
static PyObject *__pyx_k_codeobj_397;
static PyObject *__pyx_k_codeobj_399;
static PyObject *__pyx_k_codeobj_401;
static PyObject *__pyx_k_codeobj_403;
static PyObject *__pyx_k_codeobj_405;
static PyObject *__pyx_k_codeobj_407;
static PyObject *__pyx_k_codeobj_409;
static PyObject *__pyx_k_codeobj_411;
static PyObject *__pyx_k_codeobj_413;
static PyObject *__pyx_k_codeobj_415;
static PyObject *__pyx_k_codeobj_417;
static PyObject *__pyx_k_codeobj_419;
static PyObject *__pyx_k_codeobj_421;
static PyObject *__pyx_k_codeobj_423;
static PyObject *__pyx_k_codeobj_425;
static PyObject *__pyx_k_codeobj_427;
static PyObject *__pyx_k_codeobj_430;
static PyObject *__pyx_k_codeobj_432;

/* "kivy\graphics\opengl.pyx":40
 * # 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;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_genBegin", 0);

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

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

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

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

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

/* "kivy\graphics\opengl.pyx":47
 *     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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_t_2;
  int __pyx_t_3;
  int __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("_genEnd", 0);

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

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

    /* "kivy\graphics\opengl.pyx":50
 *     cdef list out = []
 *     for x in xrange(n):
 *         out.append(data[x])             # <<<<<<<<<<<<<<
 *     free(data)
 *     return out
 */
    __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_data[__pyx_v_x])); 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);
    __pyx_t_4 = __Pyx_PyList_Append(__pyx_v_out, __pyx_t_1); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  }

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

  /* "kivy\graphics\opengl.pyx":52
 *         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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_1glActiveTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_glActiveTexture[] = "See: `glActiveTexture() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glActiveTexture.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_1glActiveTexture = {__Pyx_NAMESTR("glActiveTexture"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_1glActiveTexture, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_glActiveTexture)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_1glActiveTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_texture;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glActiveTexture (wrapper)", 0);
  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 = 453; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glActiveTexture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_glActiveTexture(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_texture));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_glActiveTexture(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_texture) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glActiveTexture", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_3glAttachShader(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_2glAttachShader[] = "See: `glAttachShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glAttachShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_3glAttachShader = {__Pyx_NAMESTR("glAttachShader"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_3glAttachShader, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_2glAttachShader)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_3glAttachShader(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glAttachShader (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__shader,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glAttachShader", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glAttachShader") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 459; __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 = 459; __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 = 459; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glAttachShader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_2glAttachShader(__pyx_self, __pyx_v_program, __pyx_v_shader);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_2glAttachShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glAttachShader", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_5glBindAttribLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_4glBindAttribLocation[] = "See: `glBindAttribLocation() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindAttribLocation.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_5glBindAttribLocation = {__Pyx_NAMESTR("glBindAttribLocation"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_5glBindAttribLocation, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_4glBindAttribLocation)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_5glBindAttribLocation(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBindAttribLocation (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__index,&__pyx_n_s__name,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBindAttribLocation", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBindAttribLocation", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBindAttribLocation") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __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 = 465; __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 = 465; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_name = ((PyObject*)values[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 = 465; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindAttribLocation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_4glBindAttribLocation(__pyx_self, __pyx_v_program, __pyx_v_index, __pyx_v_name);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_4glBindAttribLocation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index, PyObject *__pyx_v_name) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glBindAttribLocation", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_7glBindBuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_6glBindBuffer[] = "See: `glBindBuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindBuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_7glBindBuffer = {__Pyx_NAMESTR("glBindBuffer"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_7glBindBuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_6glBindBuffer)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_7glBindBuffer(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBindBuffer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__buffer,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buffer)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBindBuffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBindBuffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 471; __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 = 471; __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 = 471; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_6glBindBuffer(__pyx_self, __pyx_v_target, __pyx_v_buffer);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_6glBindBuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_buffer) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBindBuffer", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_9glBindFramebuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_8glBindFramebuffer[] = "See: `glBindFramebuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindFramebuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_9glBindFramebuffer = {__Pyx_NAMESTR("glBindFramebuffer"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_9glBindFramebuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_8glBindFramebuffer)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_9glBindFramebuffer(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBindFramebuffer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__framebuffer,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__framebuffer)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBindFramebuffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBindFramebuffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 477; __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 = 477; __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 = 477; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindFramebuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_8glBindFramebuffer(__pyx_self, __pyx_v_target, __pyx_v_framebuffer);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_8glBindFramebuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_framebuffer) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBindFramebuffer", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_11glBindRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_10glBindRenderbuffer[] = "See: `glBindRenderbuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_11glBindRenderbuffer = {__Pyx_NAMESTR("glBindRenderbuffer"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_11glBindRenderbuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_10glBindRenderbuffer)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_11glBindRenderbuffer(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBindRenderbuffer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__renderbuffer,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__renderbuffer)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBindRenderbuffer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBindRenderbuffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 483; __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 = 483; __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 = 483; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindRenderbuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_10glBindRenderbuffer(__pyx_self, __pyx_v_target, __pyx_v_renderbuffer);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_10glBindRenderbuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_renderbuffer) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBindRenderbuffer", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_13glBindTexture(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_12glBindTexture[] = "See: `glBindTexture() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindTexture.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_13glBindTexture = {__Pyx_NAMESTR("glBindTexture"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_13glBindTexture, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_12glBindTexture)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_13glBindTexture(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBindTexture (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__texture,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__texture)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBindTexture", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBindTexture") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 489; __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 = 489; __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 = 489; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBindTexture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_12glBindTexture(__pyx_self, __pyx_v_target, __pyx_v_texture);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_12glBindTexture(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_texture) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBindTexture", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_15glBlendColor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_14glBlendColor[] = "See: `glBlendColor() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendColor.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_15glBlendColor = {__Pyx_NAMESTR("glBlendColor"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_15glBlendColor, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_14glBlendColor)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_15glBlendColor(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendColor (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__red,&__pyx_n_s__green,&__pyx_n_s__blue,&__pyx_n_s__alpha,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__red)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__green)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBlendColor", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__blue)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBlendColor", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__alpha)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBlendColor", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBlendColor") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_red = __pyx_PyFloat_AsFloat(values[0]); if (unlikely((__pyx_v_red == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_green = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_green == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_blue = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_blue == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_alpha = __pyx_PyFloat_AsFloat(values[3]); if (unlikely((__pyx_v_alpha == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __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 = 495; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_14glBlendColor(__pyx_self, __pyx_v_red, __pyx_v_green, __pyx_v_blue, __pyx_v_alpha);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_14glBlendColor(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendColor", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_17glBlendEquation(PyObject *__pyx_self, PyObject *__pyx_arg_mode); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_16glBlendEquation[] = "See: `glBlendEquation() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquation.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_17glBlendEquation = {__Pyx_NAMESTR("glBlendEquation"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_17glBlendEquation, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_16glBlendEquation)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_17glBlendEquation(PyObject *__pyx_self, PyObject *__pyx_arg_mode) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendEquation (wrapper)", 0);
  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 = 501; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendEquation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_16glBlendEquation(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_mode));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_16glBlendEquation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendEquation", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_19glBlendEquationSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_18glBlendEquationSeparate[] = "See: `glBlendEquationSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquationSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_19glBlendEquationSeparate = {__Pyx_NAMESTR("glBlendEquationSeparate"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_19glBlendEquationSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_18glBlendEquationSeparate)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_19glBlendEquationSeparate(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendEquationSeparate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__modeRGB,&__pyx_n_s__modeAlpha,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__modeRGB)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__modeAlpha)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBlendEquationSeparate", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBlendEquationSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 507; __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 = 507; __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 = 507; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendEquationSeparate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_18glBlendEquationSeparate(__pyx_self, __pyx_v_modeRGB, __pyx_v_modeAlpha);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_18glBlendEquationSeparate(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_modeRGB, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_modeAlpha) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendEquationSeparate", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_21glBlendFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_20glBlendFunc[] = "See: `glBlendFunc() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFunc.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_21glBlendFunc = {__Pyx_NAMESTR("glBlendFunc"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_21glBlendFunc, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_20glBlendFunc)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_21glBlendFunc(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendFunc (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__sfactor,&__pyx_n_s__dfactor,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__sfactor)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dfactor)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBlendFunc", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBlendFunc") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 513; __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 = 513; __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 = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendFunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_20glBlendFunc(__pyx_self, __pyx_v_sfactor, __pyx_v_dfactor);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_20glBlendFunc(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_sfactor, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_dfactor) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendFunc", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_23glBlendFuncSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_22glBlendFuncSeparate[] = "See: `glBlendFuncSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFuncSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_23glBlendFuncSeparate = {__Pyx_NAMESTR("glBlendFuncSeparate"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_23glBlendFuncSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_22glBlendFuncSeparate)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_23glBlendFuncSeparate(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendFuncSeparate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__srcRGB,&__pyx_n_s__dstRGB,&__pyx_n_s__srcAlpha,&__pyx_n_s__dstAlpha,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__srcRGB)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dstRGB)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBlendFuncSeparate", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__srcAlpha)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBlendFuncSeparate", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dstAlpha)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBlendFuncSeparate", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBlendFuncSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __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 = 519; __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 = 519; __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 = 519; __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 = 519; __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 = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBlendFuncSeparate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_22glBlendFuncSeparate(__pyx_self, __pyx_v_srcRGB, __pyx_v_dstRGB, __pyx_v_srcAlpha, __pyx_v_dstAlpha);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_22glBlendFuncSeparate(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBlendFuncSeparate", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_25glBufferData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_24glBufferData[] = "See: `glBufferData() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferData.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_25glBufferData = {__Pyx_NAMESTR("glBufferData"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_25glBufferData, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_24glBufferData)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_25glBufferData(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBufferData (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__size,&__pyx_n_s__data,&__pyx_n_s__usage,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBufferData", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__data)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBufferData", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__usage)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBufferData", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBufferData") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __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 = 525; __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 = 525; __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 = 525; __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 = 525; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBufferData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_24glBufferData(__pyx_self, __pyx_v_target, __pyx_v_size, __pyx_v_data, __pyx_v_usage);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_24glBufferData(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLsizeiptr __pyx_v_size, PyObject *__pyx_v_data, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_usage) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glBufferData", 0);

  /* "kivy\graphics\opengl.pyx":529
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferData.xml>`_
 *     '''
 *     c_opengl.glBufferData(target, size, <char *>data, usage)             # <<<<<<<<<<<<<<
 * 
 * def glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data):
 */
  __pyx_t_1 = __Pyx_PyObject_AsString(((PyObject *)__pyx_v_data)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  glBufferData(__pyx_v_target, __pyx_v_size, ((char *)__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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_27glBufferSubData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_26glBufferSubData[] = "See: `glBufferSubData() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferSubData.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_27glBufferSubData = {__Pyx_NAMESTR("glBufferSubData"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_27glBufferSubData, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_26glBufferSubData)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_27glBufferSubData(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glBufferSubData (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__offset,&__pyx_n_s__size,&__pyx_n_s__data,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__offset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBufferSubData", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBufferSubData", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__data)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glBufferSubData", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glBufferSubData") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __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 = 531; __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 = 531; __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 = 531; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)values[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 = 531; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glBufferSubData", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_26glBufferSubData(__pyx_self, __pyx_v_target, __pyx_v_offset, __pyx_v_size, __pyx_v_data);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_26glBufferSubData(CYTHON_UNUSED PyObject *__pyx_self, __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) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glBufferSubData", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_29glCheckFramebufferStatus(PyObject *__pyx_self, PyObject *__pyx_arg_target); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_28glCheckFramebufferStatus[] = "See: `glCheckFramebufferStatus() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCheckFramebufferStatus.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_29glCheckFramebufferStatus = {__Pyx_NAMESTR("glCheckFramebufferStatus"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_29glCheckFramebufferStatus, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_28glCheckFramebufferStatus)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_29glCheckFramebufferStatus(PyObject *__pyx_self, PyObject *__pyx_arg_target) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCheckFramebufferStatus (wrapper)", 0);
  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 = 537; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCheckFramebufferStatus", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_28glCheckFramebufferStatus(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_target));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_28glCheckFramebufferStatus(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_result;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_t_4;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glCheckFramebufferStatus", 0);

  /* "kivy\graphics\opengl.pyx":542
 *     '''
 *     cdef GLenum result
 *     result = c_opengl.CheckFramebufferStatus(target)             # <<<<<<<<<<<<<<
 *     return result
 * 
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s__c_opengl); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __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 = 542; __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 = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__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 = 542; __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 = 542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_result = __pyx_t_4;

  /* "kivy\graphics\opengl.pyx":543
 *     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 = 543; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_31glClear(PyObject *__pyx_self, PyObject *__pyx_arg_mask); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_30glClear[] = "See: `glClear() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClear.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_31glClear = {__Pyx_NAMESTR("glClear"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_31glClear, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_30glClear)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_31glClear(PyObject *__pyx_self, PyObject *__pyx_arg_mask) {
  __pyx_t_4kivy_8graphics_6opengl_GLbitfield __pyx_v_mask;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glClear (wrapper)", 0);
  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 = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glClear", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_30glClear(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLbitfield)__pyx_v_mask));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_30glClear(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLbitfield __pyx_v_mask) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glClear", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_33glClearColor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_32glClearColor[] = "See: `glClearColor() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearColor.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_33glClearColor = {__Pyx_NAMESTR("glClearColor"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_33glClearColor, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_32glClearColor)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_33glClearColor(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glClearColor (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__red,&__pyx_n_s__green,&__pyx_n_s__blue,&__pyx_n_s__alpha,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__red)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__green)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glClearColor", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__blue)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glClearColor", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__alpha)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glClearColor", 1, 4, 4, 3); {__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, pos_args, "glClearColor") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_red = __pyx_PyFloat_AsFloat(values[0]); if (unlikely((__pyx_v_red == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_green = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_green == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_blue = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_blue == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_alpha = __pyx_PyFloat_AsFloat(values[3]); if (unlikely((__pyx_v_alpha == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __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 = 551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glClearColor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_32glClearColor(__pyx_self, __pyx_v_red, __pyx_v_green, __pyx_v_blue, __pyx_v_alpha);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_32glClearColor(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glClearColor", 0);

  /* "kivy\graphics\opengl.pyx":555
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearColor.xml>`_
 *     '''
 *     c_opengl.glClearColor(red, green, blue, alpha)             # <<<<<<<<<<<<<<
 * 
 * # We don't use this syumbol yet, but if we activate it, android platform crash
 */
  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;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_35glClearStencil(PyObject *__pyx_self, PyObject *__pyx_arg_s); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_34glClearStencil[] = "See: `glClearStencil() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearStencil.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_35glClearStencil = {__Pyx_NAMESTR("glClearStencil"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_35glClearStencil, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_34glClearStencil)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_35glClearStencil(PyObject *__pyx_self, PyObject *__pyx_arg_s) {
  __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_s;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glClearStencil (wrapper)", 0);
  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 = 565; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glClearStencil", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_34glClearStencil(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLint)__pyx_v_s));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_34glClearStencil(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_s) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glClearStencil", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_37glColorMask(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_36glColorMask[] = "See: `glColorMask() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glColorMask.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_37glColorMask = {__Pyx_NAMESTR("glColorMask"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_37glColorMask, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_36glColorMask)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_37glColorMask(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glColorMask (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__red,&__pyx_n_s__green,&__pyx_n_s__blue,&__pyx_n_s__alpha,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__red)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__green)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glColorMask", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__blue)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glColorMask", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__alpha)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glColorMask", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glColorMask") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __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 = 571; __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 = 571; __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 = 571; __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 = 571; __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 = 571; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glColorMask", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_36glColorMask(__pyx_self, __pyx_v_red, __pyx_v_green, __pyx_v_blue, __pyx_v_alpha);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_36glColorMask(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glColorMask", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_39glCompileShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_38glCompileShader[] = "See: `glCompileShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompileShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_39glCompileShader = {__Pyx_NAMESTR("glCompileShader"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_39glCompileShader, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_38glCompileShader)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_39glCompileShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCompileShader (wrapper)", 0);
  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 = 577; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCompileShader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_38glCompileShader(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_shader));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_38glCompileShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCompileShader", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_41glCompressedTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_40glCompressedTexImage2D[] = "See: `glCompressedTexImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompressedTexImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_41glCompressedTexImage2D = {__Pyx_NAMESTR("glCompressedTexImage2D"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_41glCompressedTexImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_40glCompressedTexImage2D)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_41glCompressedTexImage2D(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCompressedTexImage2D (wrapper)", 0);
  {
    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};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__internalformat)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  5:
        if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__border)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  6:
        if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__imageSize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  7:
        if (likely((values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__data)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexImage2D", 1, 8, 8, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glCompressedTexImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
    }
    __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 = 583; __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 = 583; __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 = 583; __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 = 584; __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 = 584; __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 = 584; __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 = 584; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)values[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 = 583; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCompressedTexImage2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 585; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_40glCompressedTexImage2D(__pyx_self, __pyx_v_target, __pyx_v_level, __pyx_v_internalformat, __pyx_v_width, __pyx_v_height, __pyx_v_border, __pyx_v_imageSize, __pyx_v_data);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy\graphics\opengl.pyx":583
 *     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_40glCompressedTexImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glCompressedTexImage2D", 0);

  /* "kivy\graphics\opengl.pyx":590
 *     '''
 *     c_opengl.glCompressedTexImage2D(target, level, internalformat, width,
 *                                     height, border, imageSize, <char *>data)             # <<<<<<<<<<<<<<
 * 
 * def glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint
 */
  __pyx_t_1 = __Pyx_PyObject_AsString(((PyObject *)__pyx_v_data)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 590; __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, ((char *)__pyx_t_1));

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_43glCompressedTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_42glCompressedTexSubImage2D[] = "See: `glCompressedTexSubImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompressedTexSubImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_43glCompressedTexSubImage2D = {__Pyx_NAMESTR("glCompressedTexSubImage2D"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_43glCompressedTexSubImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_42glCompressedTexSubImage2D)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_43glCompressedTexSubImage2D(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCompressedTexSubImage2D (wrapper)", 0);
  {
    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};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__xoffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__yoffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  5:
        if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  6:
        if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__format)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  7:
        if (likely((values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__imageSize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  8:
        if (likely((values[8] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__data)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCompressedTexSubImage2D", 1, 9, 9, 8); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glCompressedTexSubImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_xoffset = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_xoffset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __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 = 592; __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 = 593; __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 = 593; __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 = 593; __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 = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_data = ((PyObject*)values[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 = 592; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCompressedTexSubImage2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_data), (&PyBytes_Type), 1, "data", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_42glCompressedTexSubImage2D(__pyx_self, __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_v_data);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy\graphics\opengl.pyx":592
 *                                     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_42glCompressedTexSubImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glCompressedTexSubImage2D", 0);

  /* "kivy\graphics\opengl.pyx":599
 *     '''
 *     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 = __Pyx_PyObject_AsString(((PyObject *)__pyx_v_data)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  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, ((char *)__pyx_t_1));

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_45glCopyTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_44glCopyTexImage2D[] = "See: `glCopyTexImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_45glCopyTexImage2D = {__Pyx_NAMESTR("glCopyTexImage2D"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_45glCopyTexImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_44glCopyTexImage2D)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_45glCopyTexImage2D(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCopyTexImage2D (wrapper)", 0);
  {
    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};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__internalformat)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  5:
        if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  6:
        if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  7:
        if (likely((values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__border)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexImage2D", 1, 8, 8, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glCopyTexImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_internalformat = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_internalformat == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __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 = 601; __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 = 601; __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 = 601; __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 = 601; __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 = 601; __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 = 601; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCopyTexImage2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_44glCopyTexImage2D(__pyx_self, __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_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_44glCopyTexImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCopyTexImage2D", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_47glCopyTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_46glCopyTexSubImage2D[] = "See: `glCopyTexSubImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_47glCopyTexSubImage2D = {__Pyx_NAMESTR("glCopyTexSubImage2D"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_47glCopyTexSubImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_46glCopyTexSubImage2D)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_47glCopyTexSubImage2D(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCopyTexSubImage2D (wrapper)", 0);
  {
    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};
    PyObject* values[8] = {0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__xoffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__yoffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  5:
        if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  6:
        if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  7:
        if (likely((values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glCopyTexSubImage2D", 1, 8, 8, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glCopyTexSubImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
    }
    __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 = 607; __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 = 607; __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 = 607; __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 = 607; __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 = 607; __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 = 607; __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 = 607; __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 = 607; __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 = 607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCopyTexSubImage2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_46glCopyTexSubImage2D(__pyx_self, __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_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_46glCopyTexSubImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCopyTexSubImage2D", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_49glCreateProgram(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_48glCreateProgram[] = "See: `glCreateProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_49glCreateProgram = {__Pyx_NAMESTR("glCreateProgram"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_49glCreateProgram, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_48glCreateProgram)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_49glCreateProgram(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCreateProgram (wrapper)", 0);
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_48glCreateProgram(__pyx_self);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_48glCreateProgram(CYTHON_UNUSED PyObject *__pyx_self) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_id;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glCreateProgram", 0);

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

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_51glCreateShader(PyObject *__pyx_self, PyObject *__pyx_arg_type); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_50glCreateShader[] = "See: `glCreateShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_51glCreateShader = {__Pyx_NAMESTR("glCreateShader"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_51glCreateShader, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_50glCreateShader)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_51glCreateShader(PyObject *__pyx_self, PyObject *__pyx_arg_type) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_type;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCreateShader (wrapper)", 0);
  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 = 621; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCreateShader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_50glCreateShader(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_type));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_50glCreateShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_type) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_id;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glCreateShader", 0);

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

  /* "kivy\graphics\opengl.pyx":627
 *     cdef GLuint id
 *     id = c_opengl.glCreateShader(type)
 *     return id             # <<<<<<<<<<<<<<
 * 
 * def glCullFace(GLenum mode):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = PyLong_FromUnsignedLong(__pyx_v_id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_53glCullFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_52glCullFace[] = "See: `glCullFace() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCullFace.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_53glCullFace = {__Pyx_NAMESTR("glCullFace"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_53glCullFace, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_52glCullFace)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_53glCullFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCullFace (wrapper)", 0);
  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 = 629; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glCullFace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_52glCullFace(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_mode));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_52glCullFace(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glCullFace", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_55glDeleteBuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_54glDeleteBuffers[] = "See: `glDeleteBuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteBuffers.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_55glDeleteBuffers = {__Pyx_NAMESTR("glDeleteBuffers"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_55glDeleteBuffers, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_54glDeleteBuffers)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_55glDeleteBuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  PyObject *__pyx_v_buffers = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDeleteBuffers (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__n,&__pyx_n_s__buffers,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buffers)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDeleteBuffers", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glDeleteBuffers") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_n = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_buffers = ((PyObject*)values[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 = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteBuffers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_54glDeleteBuffers(__pyx_self, __pyx_v_n, __pyx_v_buffers);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_54glDeleteBuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n, PyObject *__pyx_v_buffers) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glDeleteBuffers", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_57glDeleteFramebuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_56glDeleteFramebuffers[] = "See: `glDeleteFramebuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteFramebuffers.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_57glDeleteFramebuffers = {__Pyx_NAMESTR("glDeleteFramebuffers"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_57glDeleteFramebuffers, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_56glDeleteFramebuffers)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_57glDeleteFramebuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  PyObject *__pyx_v_framebuffers = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDeleteFramebuffers (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__n,&__pyx_n_s__framebuffers,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__framebuffers)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDeleteFramebuffers", 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, pos_args, "glDeleteFramebuffers") < 0)) {__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 {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_n = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_framebuffers = ((PyObject*)values[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 = 641; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteFramebuffers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_56glDeleteFramebuffers(__pyx_self, __pyx_v_n, __pyx_v_framebuffers);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_56glDeleteFramebuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n, PyObject *__pyx_v_framebuffers) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glDeleteFramebuffers", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_59glDeleteProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_58glDeleteProgram[] = "See: `glDeleteProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_59glDeleteProgram = {__Pyx_NAMESTR("glDeleteProgram"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_59glDeleteProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_58glDeleteProgram)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_59glDeleteProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDeleteProgram (wrapper)", 0);
  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 = 647; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteProgram", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_58glDeleteProgram(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_program));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_58glDeleteProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDeleteProgram", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_61glDeleteRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_60glDeleteRenderbuffers[] = "See: `glDeleteRenderbuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteRenderbuffers.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_61glDeleteRenderbuffers = {__Pyx_NAMESTR("glDeleteRenderbuffers"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_61glDeleteRenderbuffers, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_60glDeleteRenderbuffers)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_61glDeleteRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  PyObject *__pyx_v_renderbuffers = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDeleteRenderbuffers (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__n,&__pyx_n_s__renderbuffers,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__renderbuffers)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDeleteRenderbuffers", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glDeleteRenderbuffers") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_n = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_renderbuffers = ((PyObject*)values[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 = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteRenderbuffers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_60glDeleteRenderbuffers(__pyx_self, __pyx_v_n, __pyx_v_renderbuffers);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_60glDeleteRenderbuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n, PyObject *__pyx_v_renderbuffers) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glDeleteRenderbuffers", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_63glDeleteShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_62glDeleteShader[] = "See: `glDeleteShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_63glDeleteShader = {__Pyx_NAMESTR("glDeleteShader"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_63glDeleteShader, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_62glDeleteShader)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_63glDeleteShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDeleteShader (wrapper)", 0);
  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 = 659; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteShader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_62glDeleteShader(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_shader));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_62glDeleteShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDeleteShader", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_65glDeleteTextures(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_64glDeleteTextures[] = "See: `glDeleteTextures() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteTextures.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_65glDeleteTextures = {__Pyx_NAMESTR("glDeleteTextures"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_65glDeleteTextures, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_64glDeleteTextures)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_65glDeleteTextures(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  PyObject *__pyx_v_textures = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDeleteTextures (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__n,&__pyx_n_s__textures,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__textures)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDeleteTextures", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glDeleteTextures") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_n = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_textures = ((PyObject*)values[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 = 665; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDeleteTextures", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_64glDeleteTextures(__pyx_self, __pyx_v_n, __pyx_v_textures);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_64glDeleteTextures(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n, PyObject *__pyx_v_textures) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glDeleteTextures", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_67glDepthFunc(PyObject *__pyx_self, PyObject *__pyx_arg_func); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_66glDepthFunc[] = "See: `glDepthFunc() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthFunc.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_67glDepthFunc = {__Pyx_NAMESTR("glDepthFunc"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_67glDepthFunc, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_66glDepthFunc)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_67glDepthFunc(PyObject *__pyx_self, PyObject *__pyx_arg_func) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_func;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDepthFunc (wrapper)", 0);
  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 = 671; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDepthFunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_66glDepthFunc(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_func));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_66glDepthFunc(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_func) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDepthFunc", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_69glDepthMask(PyObject *__pyx_self, PyObject *__pyx_arg_flag); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_68glDepthMask[] = "See: `glDepthMask() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthMask.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_69glDepthMask = {__Pyx_NAMESTR("glDepthMask"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_69glDepthMask, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_68glDepthMask)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_69glDepthMask(PyObject *__pyx_self, PyObject *__pyx_arg_flag) {
  __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_flag;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDepthMask (wrapper)", 0);
  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 = 677; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDepthMask", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_68glDepthMask(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLboolean)__pyx_v_flag));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_68glDepthMask(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_flag) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDepthMask", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_71glDetachShader(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_70glDetachShader[] = "See: `glDetachShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDetachShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_71glDetachShader = {__Pyx_NAMESTR("glDetachShader"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_71glDetachShader, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_70glDetachShader)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_71glDetachShader(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDetachShader (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__shader,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDetachShader", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glDetachShader") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 689; __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 = 689; __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 = 689; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDetachShader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_70glDetachShader(__pyx_self, __pyx_v_program, __pyx_v_shader);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_70glDetachShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDetachShader", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_73glDisable(PyObject *__pyx_self, PyObject *__pyx_arg_cap); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_72glDisable[] = "See: `glDisable() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisable.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_73glDisable = {__Pyx_NAMESTR("glDisable"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_73glDisable, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_72glDisable)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_73glDisable(PyObject *__pyx_self, PyObject *__pyx_arg_cap) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDisable (wrapper)", 0);
  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 = 695; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDisable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_72glDisable(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_cap));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_72glDisable(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDisable", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_75glDisableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_74glDisableVertexAttribArray[] = "See: `glDisableVertexAttribArray() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisableVertexAttribArray.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_75glDisableVertexAttribArray = {__Pyx_NAMESTR("glDisableVertexAttribArray"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_75glDisableVertexAttribArray, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_74glDisableVertexAttribArray)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_75glDisableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDisableVertexAttribArray (wrapper)", 0);
  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 = 701; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDisableVertexAttribArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_74glDisableVertexAttribArray(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_index));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_74glDisableVertexAttribArray(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDisableVertexAttribArray", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_77glDrawArrays(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_76glDrawArrays[] = "See: `glDrawArrays() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawArrays.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_77glDrawArrays = {__Pyx_NAMESTR("glDrawArrays"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_77glDrawArrays, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_76glDrawArrays)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_77glDrawArrays(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDrawArrays (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mode,&__pyx_n_s__first,&__pyx_n_s__count,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mode)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__first)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDrawArrays", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDrawArrays", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glDrawArrays") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __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 = 707; __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 = 707; __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 = 707; __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 = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDrawArrays", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_76glDrawArrays(__pyx_self, __pyx_v_mode, __pyx_v_first, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_76glDrawArrays(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDrawArrays", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_79glDrawElements(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_78glDrawElements[] = "See: `glDrawElements() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_79glDrawElements = {__Pyx_NAMESTR("glDrawElements"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_79glDrawElements, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_78glDrawElements)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_79glDrawElements(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDrawElements (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mode,&__pyx_n_s__count,&__pyx_n_s__type,&__pyx_n_s__indices,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mode)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDrawElements", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDrawElements", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indices)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glDrawElements", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glDrawElements") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __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 = 713; __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 = 713; __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 = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_indices = ((PyObject*)values[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 = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glDrawElements", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_78glDrawElements(__pyx_self, __pyx_v_mode, __pyx_v_count, __pyx_v_type, __pyx_v_indices);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_78glDrawElements(CYTHON_UNUSED PyObject *__pyx_self, __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) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glDrawElements", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_81glEnable(PyObject *__pyx_self, PyObject *__pyx_arg_cap); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_80glEnable[] = "See: `glEnable() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_81glEnable = {__Pyx_NAMESTR("glEnable"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_81glEnable, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_80glEnable)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_81glEnable(PyObject *__pyx_self, PyObject *__pyx_arg_cap) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glEnable (wrapper)", 0);
  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 = 719; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glEnable", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_80glEnable(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_cap));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_80glEnable(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glEnable", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_83glEnableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_82glEnableVertexAttribArray[] = "See: `glEnableVertexAttribArray() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_83glEnableVertexAttribArray = {__Pyx_NAMESTR("glEnableVertexAttribArray"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_83glEnableVertexAttribArray, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_82glEnableVertexAttribArray)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_83glEnableVertexAttribArray(PyObject *__pyx_self, PyObject *__pyx_arg_index) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glEnableVertexAttribArray (wrapper)", 0);
  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 = 725; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glEnableVertexAttribArray", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_82glEnableVertexAttribArray(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_index));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_82glEnableVertexAttribArray(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glEnableVertexAttribArray", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_85glFinish(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_84glFinish[] = "See: `glFinish() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFinish.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_85glFinish = {__Pyx_NAMESTR("glFinish"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_85glFinish, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_84glFinish)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_85glFinish(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFinish (wrapper)", 0);
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_84glFinish(__pyx_self);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_84glFinish(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFinish", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_87glFlush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_86glFlush[] = "See: `glFlush() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFlush.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_87glFlush = {__Pyx_NAMESTR("glFlush"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_87glFlush, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_86glFlush)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_87glFlush(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFlush (wrapper)", 0);
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_86glFlush(__pyx_self);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_86glFlush(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFlush", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_89glFramebufferRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_88glFramebufferRenderbuffer[] = "See: `glFramebufferRenderbuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferRenderbuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_89glFramebufferRenderbuffer = {__Pyx_NAMESTR("glFramebufferRenderbuffer"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_89glFramebufferRenderbuffer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_88glFramebufferRenderbuffer)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_89glFramebufferRenderbuffer(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFramebufferRenderbuffer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__attachment,&__pyx_n_s__renderbuffertarget,&__pyx_n_s__renderbuffer,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__attachment)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glFramebufferRenderbuffer", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__renderbuffertarget)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glFramebufferRenderbuffer", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__renderbuffer)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glFramebufferRenderbuffer", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glFramebufferRenderbuffer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __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 = 743; __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 = 743; __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 = 743; __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 = 743; __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 = 743; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glFramebufferRenderbuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_88glFramebufferRenderbuffer(__pyx_self, __pyx_v_target, __pyx_v_attachment, __pyx_v_renderbuffertarget, __pyx_v_renderbuffer);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_88glFramebufferRenderbuffer(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFramebufferRenderbuffer", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_91glFramebufferTexture2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_90glFramebufferTexture2D[] = "See: `glFramebufferTexture2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferTexture2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_91glFramebufferTexture2D = {__Pyx_NAMESTR("glFramebufferTexture2D"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_91glFramebufferTexture2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_90glFramebufferTexture2D)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_91glFramebufferTexture2D(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFramebufferTexture2D (wrapper)", 0);
  {
    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};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__attachment)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glFramebufferTexture2D", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__textarget)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glFramebufferTexture2D", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__texture)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glFramebufferTexture2D", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glFramebufferTexture2D", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glFramebufferTexture2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __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 = 749; __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 = 749; __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 = 749; __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 = 749; __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 = 749; __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 = 749; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glFramebufferTexture2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_90glFramebufferTexture2D(__pyx_self, __pyx_v_target, __pyx_v_attachment, __pyx_v_textarget, __pyx_v_texture, __pyx_v_level);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_90glFramebufferTexture2D(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFramebufferTexture2D", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_93glFrontFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_92glFrontFace[] = "See: `glFrontFace() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_93glFrontFace = {__Pyx_NAMESTR("glFrontFace"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_93glFrontFace, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_92glFrontFace)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_93glFrontFace(PyObject *__pyx_self, PyObject *__pyx_arg_mode) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFrontFace (wrapper)", 0);
  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 = 755; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glFrontFace", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_92glFrontFace(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_mode));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_92glFrontFace(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glFrontFace", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_95glGenBuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_94glGenBuffers[] = "See: `glGenBuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenBuffers.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_95glGenBuffers = {__Pyx_NAMESTR("glGenBuffers"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_95glGenBuffers, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_94glGenBuffers)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_95glGenBuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGenBuffers (wrapper)", 0);
  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 = 761; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenBuffers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_94glGenBuffers(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLsizei)__pyx_v_n));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_94glGenBuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_d;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGenBuffers", 0);

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

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

  /* "kivy\graphics\opengl.pyx":769
 *     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 = 769; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_97glGenerateMipmap(PyObject *__pyx_self, PyObject *__pyx_arg_target); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_96glGenerateMipmap[] = "See: `glGenerateMipmap() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenerateMipmap.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_97glGenerateMipmap = {__Pyx_NAMESTR("glGenerateMipmap"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_97glGenerateMipmap, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_96glGenerateMipmap)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_97glGenerateMipmap(PyObject *__pyx_self, PyObject *__pyx_arg_target) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGenerateMipmap (wrapper)", 0);
  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 = 771; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenerateMipmap", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_96glGenerateMipmap(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_target));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_96glGenerateMipmap(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGenerateMipmap", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_99glGenFramebuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_98glGenFramebuffers[] = "See: `glGenFramebuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenFramebuffers.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_99glGenFramebuffers = {__Pyx_NAMESTR("glGenFramebuffers"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_99glGenFramebuffers, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_98glGenFramebuffers)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_99glGenFramebuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGenFramebuffers (wrapper)", 0);
  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 = 777; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenFramebuffers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_98glGenFramebuffers(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLsizei)__pyx_v_n));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_98glGenFramebuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_d;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGenFramebuffers", 0);

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

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

  /* "kivy\graphics\opengl.pyx":785
 *     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 = 785; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_101glGenRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_100glGenRenderbuffers[] = "See: `glGenRenderbuffers() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenRenderbuffers.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_101glGenRenderbuffers = {__Pyx_NAMESTR("glGenRenderbuffers"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_101glGenRenderbuffers, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_100glGenRenderbuffers)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_101glGenRenderbuffers(PyObject *__pyx_self, PyObject *__pyx_arg_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGenRenderbuffers (wrapper)", 0);
  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 = 787; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenRenderbuffers", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_100glGenRenderbuffers(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLsizei)__pyx_v_n));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_100glGenRenderbuffers(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_d;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGenRenderbuffers", 0);

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

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

  /* "kivy\graphics\opengl.pyx":795
 *     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 = 795; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_103glGenTextures(PyObject *__pyx_self, PyObject *__pyx_arg_n); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_102glGenTextures[] = "See: `glGenTextures() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenTextures.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_103glGenTextures = {__Pyx_NAMESTR("glGenTextures"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_103glGenTextures, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_102glGenTextures)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_103glGenTextures(PyObject *__pyx_self, PyObject *__pyx_arg_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGenTextures (wrapper)", 0);
  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 = 797; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGenTextures", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_102glGenTextures(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLsizei)__pyx_v_n));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_102glGenTextures(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_n) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint *__pyx_v_d;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGenTextures", 0);

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

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

  /* "kivy\graphics\opengl.pyx":805
 *     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 = 805; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_105glGetActiveAttrib(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_104glGetActiveAttrib[] = "See: `glGetActiveAttrib() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveAttrib.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_105glGetActiveAttrib = {__Pyx_NAMESTR("glGetActiveAttrib"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_105glGetActiveAttrib, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_104glGetActiveAttrib)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_105glGetActiveAttrib(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetActiveAttrib (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__index,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetActiveAttrib", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetActiveAttrib") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 807; __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 = 807; __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 = 807; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetActiveAttrib", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_104glGetActiveAttrib(__pyx_self, __pyx_v_program, __pyx_v_index);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_104glGetActiveAttrib(CYTHON_UNUSED PyObject *__pyx_self, __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 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetActiveAttrib", 0);

  /* "kivy\graphics\opengl.pyx":813
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLint size = 0             # <<<<<<<<<<<<<<
 *     cdef GLenum gl_type = 0
 *     cdef GLchar *name
 */
  __pyx_v_size = 0;

  /* "kivy\graphics\opengl.pyx":814
 *     '''
 *     cdef GLint size = 0
 *     cdef GLenum gl_type = 0             # <<<<<<<<<<<<<<
 *     cdef GLchar *name
 *     cdef bytes p_name
 */
  __pyx_v_gl_type = 0;

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

  /* "kivy\graphics\opengl.pyx":818
 *     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) != 0);
  if (__pyx_t_1) {

    /* "kivy\graphics\opengl.pyx":819
 *     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 = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

  /* "kivy\graphics\opengl.pyx":821
 *         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 = __Pyx_PyBytes_FromString(((char *)__pyx_v_name)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __pyx_v_p_name = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

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

  /* "kivy\graphics\opengl.pyx":823
 *     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 = 823; __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 = 823; __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 = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_p_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_107glGetActiveUniform(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_106glGetActiveUniform[] = "See: `glGetActiveUniform() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveUniform.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_107glGetActiveUniform = {__Pyx_NAMESTR("glGetActiveUniform"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_107glGetActiveUniform, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_106glGetActiveUniform)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_107glGetActiveUniform(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetActiveUniform (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__index,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetActiveUniform", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetActiveUniform") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 825; __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 = 825; __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 = 825; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetActiveUniform", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_106glGetActiveUniform(__pyx_self, __pyx_v_program, __pyx_v_index);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_106glGetActiveUniform(CYTHON_UNUSED PyObject *__pyx_self, __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 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetActiveUniform", 0);

  /* "kivy\graphics\opengl.pyx":831
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLint size = 0             # <<<<<<<<<<<<<<
 *     cdef GLenum gl_type = 0
 *     cdef GLchar *name
 */
  __pyx_v_size = 0;

  /* "kivy\graphics\opengl.pyx":832
 *     '''
 *     cdef GLint size = 0
 *     cdef GLenum gl_type = 0             # <<<<<<<<<<<<<<
 *     cdef GLchar *name
 *     cdef bytes p_name
 */
  __pyx_v_gl_type = 0;

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

  /* "kivy\graphics\opengl.pyx":836
 *     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) != 0);
  if (__pyx_t_1) {

    /* "kivy\graphics\opengl.pyx":837
 *     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 = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

  /* "kivy\graphics\opengl.pyx":839
 *         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 = __Pyx_PyBytes_FromString(((char *)__pyx_v_name)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __pyx_v_p_name = ((PyObject*)__pyx_t_2);
  __pyx_t_2 = 0;

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

  /* "kivy\graphics\opengl.pyx":841
 *     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 = 841; __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 = 841; __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 = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_p_name);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_109glGetAttachedShaders(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_108glGetAttachedShaders[] = "See: `glGetAttachedShaders() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttachedShaders.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_109glGetAttachedShaders = {__Pyx_NAMESTR("glGetAttachedShaders"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_109glGetAttachedShaders, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_108glGetAttachedShaders)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_109glGetAttachedShaders(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_maxcount;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetAttachedShaders (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__maxcount,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__maxcount)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetAttachedShaders", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetAttachedShaders") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 843; __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 = 843; __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 = 843; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetAttachedShaders", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_108glGetAttachedShaders(__pyx_self, __pyx_v_program, __pyx_v_maxcount);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_108glGetAttachedShaders(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, CYTHON_UNUSED __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetAttachedShaders", 0);

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

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

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

  /* "kivy\graphics\opengl.pyx":852
 *     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 = 852; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_111glGetAttribLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_110glGetAttribLocation[] = "See: `glGetAttribLocation() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttribLocation.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_111glGetAttribLocation = {__Pyx_NAMESTR("glGetAttribLocation"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_111glGetAttribLocation, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_110glGetAttribLocation)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_111glGetAttribLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  PyObject *__pyx_v_name = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetAttribLocation (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__name,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetAttribLocation", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetAttribLocation") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_name = ((PyObject*)values[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 = 854; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetAttribLocation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_110glGetAttribLocation(__pyx_self, __pyx_v_program, __pyx_v_name);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_110glGetAttribLocation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, PyObject *__pyx_v_name) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetAttribLocation", 0);

  /* "kivy\graphics\opengl.pyx":860
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     return c_opengl.glGetAttribLocation(program, <char *>name)             # <<<<<<<<<<<<<<
 * 
 * def glGetBooleanv(GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyObject_AsString(((PyObject *)__pyx_v_name)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_t_2 = PyInt_FromLong(glGetAttribLocation(__pyx_v_program, ((char *)__pyx_t_1))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 860; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_113glGetBooleanv(PyObject *__pyx_self, PyObject *__pyx_arg_pname); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_112glGetBooleanv[] = "See: `glGetBooleanv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBooleanv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_113glGetBooleanv = {__Pyx_NAMESTR("glGetBooleanv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_113glGetBooleanv, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_112glGetBooleanv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_113glGetBooleanv(PyObject *__pyx_self, PyObject *__pyx_arg_pname) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetBooleanv (wrapper)", 0);
  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 = 862; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetBooleanv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_112glGetBooleanv(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_pname));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_112glGetBooleanv(CYTHON_UNUSED PyObject *__pyx_self, __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 = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  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;
  PyObject *(*__pyx_t_7)(PyObject *);
  Py_ssize_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetBooleanv", 0);

  /* "kivy\graphics\opengl.pyx":868
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLboolean *params = <GLboolean *>malloc(_GL_GET_SIZE[pname] * sizeof(GLboolean))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetBooleanv()')
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __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, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 868; __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 = 868; __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 = 868; __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 = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLboolean *)malloc(__pyx_t_4));

  /* "kivy\graphics\opengl.pyx":869
 *     '''
 *     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) != 0);
  if (__pyx_t_5) {

    /* "kivy\graphics\opengl.pyx":870
 *     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 = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

  /* "kivy\graphics\opengl.pyx":872
 *         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 = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); 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_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __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 = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__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 = 872; __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_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } 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 = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else {
      __pyx_t_2 = __pyx_t_7(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        if (PyErr_Occurred()) {
          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyInt_FromLong((__pyx_v_params[__pyx_t_8])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 872; __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_v_out = ((PyObject *)__pyx_t_3);
  __pyx_t_3 = 0;

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

  /* "kivy\graphics\opengl.pyx":874
 *     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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_115glGetBufferParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_114glGetBufferParameteriv[] = "See: `glGetBufferParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBufferParameteriv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_115glGetBufferParameteriv = {__Pyx_NAMESTR("glGetBufferParameteriv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_115glGetBufferParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_114glGetBufferParameteriv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_115glGetBufferParameteriv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetBufferParameteriv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetBufferParameteriv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetBufferParameteriv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 876; __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 = 876; __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 = 876; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetBufferParameteriv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_114glGetBufferParameteriv(__pyx_self, __pyx_v_target, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_114glGetBufferParameteriv(CYTHON_UNUSED PyObject *__pyx_self, __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 = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  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;
  PyObject *(*__pyx_t_7)(PyObject *);
  Py_ssize_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetBufferParameteriv", 0);

  /* "kivy\graphics\opengl.pyx":882
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetBufferParameteriv()')
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __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, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 882; __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 = 882; __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 = 882; __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 = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLint *)malloc(__pyx_t_4));

  /* "kivy\graphics\opengl.pyx":883
 *     '''
 *     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) != 0);
  if (__pyx_t_5) {

    /* "kivy\graphics\opengl.pyx":884
 *     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 = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

  /* "kivy\graphics\opengl.pyx":886
 *         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 = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); 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_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_pname, sizeof(__pyx_t_4kivy_8graphics_6opengl_GLenum)+1, PyLong_FromUnsignedLong, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __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 = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__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 = 886; __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_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } 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 = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else {
      __pyx_t_2 = __pyx_t_7(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        if (PyErr_Occurred()) {
          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyInt_FromLong((__pyx_v_params[__pyx_t_8])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 886; __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_v_out = ((PyObject *)__pyx_t_3);
  __pyx_t_3 = 0;

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

  /* "kivy\graphics\opengl.pyx":888
 *     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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_117glGetError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_116glGetError[] = "See: `glGetError() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetError.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_117glGetError = {__Pyx_NAMESTR("glGetError"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_117glGetError, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_116glGetError)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_117glGetError(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetError (wrapper)", 0);
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_116glGetError(__pyx_self);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_116glGetError(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetError", 0);

  /* "kivy\graphics\opengl.pyx":896
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     return c_opengl.glGetError()             # <<<<<<<<<<<<<<
 * 
 * def glGetFloatv(GLenum pname):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLenum(glGetError()); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_119glGetFloatv(PyObject *__pyx_self, PyObject *__pyx_arg_pname); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_118glGetFloatv[] = "See: `glGetFloatv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFloatv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_119glGetFloatv = {__Pyx_NAMESTR("glGetFloatv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_119glGetFloatv, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_118glGetFloatv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_119glGetFloatv(PyObject *__pyx_self, PyObject *__pyx_arg_pname) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetFloatv (wrapper)", 0);
  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 = 898; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetFloatv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_118glGetFloatv(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_pname));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_118glGetFloatv(CYTHON_UNUSED PyObject *__pyx_self, __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 = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  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;
  PyObject *(*__pyx_t_7)(PyObject *);
  Py_ssize_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetFloatv", 0);

  /* "kivy\graphics\opengl.pyx":904
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLfloat *params = <GLfloat *>malloc(_GL_GET_SIZE[pname] * sizeof(GLfloat))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetFloatv()')
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __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, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __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 = 904; __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 = 904; __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 = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLfloat *)malloc(__pyx_t_4));

  /* "kivy\graphics\opengl.pyx":905
 *     '''
 *     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) != 0);
  if (__pyx_t_5) {

    /* "kivy\graphics\opengl.pyx":906
 *     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 = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

  /* "kivy\graphics\opengl.pyx":908
 *         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 = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __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, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __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 = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__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 = 908; __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_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } 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 = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else {
      __pyx_t_2 = __pyx_t_7(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        if (PyErr_Occurred()) {
          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyFloat_FromDouble((__pyx_v_params[__pyx_t_8])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 908; __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_v_out = ((PyObject *)__pyx_t_3);
  __pyx_t_3 = 0;

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

  /* "kivy\graphics\opengl.pyx":910
 *     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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_121glGetFramebufferAttachmentParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_120glGetFramebufferAttachmentParameteriv[] = "See: `glGetFramebufferAttachmentParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFramebufferAttachmentParameteriv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_121glGetFramebufferAttachmentParameteriv = {__Pyx_NAMESTR("glGetFramebufferAttachmentParameteriv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_121glGetFramebufferAttachmentParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_120glGetFramebufferAttachmentParameteriv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_121glGetFramebufferAttachmentParameteriv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetFramebufferAttachmentParameteriv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__attachment,&__pyx_n_s__pname,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__attachment)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetFramebufferAttachmentParameteriv", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetFramebufferAttachmentParameteriv", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetFramebufferAttachmentParameteriv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __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 = 912; __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 = 912; __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 = 912; __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 = 912; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetFramebufferAttachmentParameteriv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_120glGetFramebufferAttachmentParameteriv(__pyx_self, __pyx_v_target, __pyx_v_attachment, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_120glGetFramebufferAttachmentParameteriv(CYTHON_UNUSED PyObject *__pyx_self, __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 = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  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;
  PyObject *(*__pyx_t_7)(PyObject *);
  Py_ssize_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetFramebufferAttachmentParameteriv", 0);

  /* "kivy\graphics\opengl.pyx":918
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetFramebufferAttachmentParameteriv()')
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __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, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 918; __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 = 918; __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 = 918; __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 = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLint *)malloc(__pyx_t_4));

  /* "kivy\graphics\opengl.pyx":919
 *     '''
 *     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) != 0);
  if (__pyx_t_5) {

    /* "kivy\graphics\opengl.pyx":920
 *     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 = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 920; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

  /* "kivy\graphics\opengl.pyx":922
 *         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 = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __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, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __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 = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__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 = 922; __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_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } 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 = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else {
      __pyx_t_2 = __pyx_t_7(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        if (PyErr_Occurred()) {
          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyInt_FromLong((__pyx_v_params[__pyx_t_8])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 922; __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_v_out = ((PyObject *)__pyx_t_3);
  __pyx_t_3 = 0;

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

  /* "kivy\graphics\opengl.pyx":924
 *     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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_123glGetIntegerv(PyObject *__pyx_self, PyObject *__pyx_arg_pname); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_122glGetIntegerv[] = "See: `glGetIntegerv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetIntegerv.xml>`_\n\n    Unlike the C specification, the value(s) will be the result of the call\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_123glGetIntegerv = {__Pyx_NAMESTR("glGetIntegerv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_123glGetIntegerv, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_122glGetIntegerv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_123glGetIntegerv(PyObject *__pyx_self, PyObject *__pyx_arg_pname) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetIntegerv (wrapper)", 0);
  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 = 926; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetIntegerv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_122glGetIntegerv(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_pname));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_122glGetIntegerv(CYTHON_UNUSED PyObject *__pyx_self, __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 = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  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;
  PyObject *(*__pyx_t_7)(PyObject *);
  Py_ssize_t __pyx_t_8;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetIntegerv", 0);

  /* "kivy\graphics\opengl.pyx":932
 *     Unlike the C specification, the value(s) will be the result of the call
 *     '''
 *     cdef GLint *params = <GLint *>malloc(_GL_GET_SIZE[pname] * sizeof(GLint))             # <<<<<<<<<<<<<<
 *     if params == NULL:
 *         raise MemoryError('glGetIntegerv()')
 */
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __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, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __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 = 932; __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 = 932; __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 = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_params = ((__pyx_t_4kivy_8graphics_6opengl_GLint *)malloc(__pyx_t_4));

  /* "kivy\graphics\opengl.pyx":933
 *     '''
 *     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) != 0);
  if (__pyx_t_5) {

    /* "kivy\graphics\opengl.pyx":934
 *     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 = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_3);
    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

  /* "kivy\graphics\opengl.pyx":936
 *         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 = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __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, 0, 0, 1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __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 = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__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 = 936; __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_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } 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 = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_1);
    __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  for (;;) {
    if (!__pyx_t_7 && PyList_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else if (!__pyx_t_7 && PyTuple_CheckExact(__pyx_t_1)) {
      if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
      #if CYTHON_COMPILING_IN_CPYTHON
      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #else
      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
      #endif
    } else {
      __pyx_t_2 = __pyx_t_7(__pyx_t_1);
      if (unlikely(!__pyx_t_2)) {
        if (PyErr_Occurred()) {
          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_2);
    }
    __Pyx_XDECREF(__pyx_v_i);
    __pyx_v_i = __pyx_t_2;
    __pyx_t_2 = 0;
    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_i); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __pyx_t_2 = PyInt_FromLong((__pyx_v_params[__pyx_t_8])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_t_2))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 936; __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_v_out = ((PyObject *)__pyx_t_3);
  __pyx_t_3 = 0;

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

  /* "kivy\graphics\opengl.pyx":938
 *     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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_out);
  __Pyx_XDECREF(__pyx_v_i);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_125glGetProgramiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_124glGetProgramiv[] = "See: `glGetProgramiv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramiv.xml>`_\n\n    Unlike the C specification, the value(s) will be the result of the call\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_125glGetProgramiv = {__Pyx_NAMESTR("glGetProgramiv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_125glGetProgramiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_124glGetProgramiv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_125glGetProgramiv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetProgramiv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetProgramiv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetProgramiv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 940; __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 = 940; __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 = 940; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetProgramiv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_124glGetProgramiv(__pyx_self, __pyx_v_program, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_124glGetProgramiv(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetProgramiv", 0);

  /* "kivy\graphics\opengl.pyx":946
 *     Unlike the C specification, the value(s) will be the result of the call
 *     '''
 *     cdef GLint params = 0             # <<<<<<<<<<<<<<
 *     c_opengl.glGetProgramiv(program, pname, &params)
 *     return params
 */
  __pyx_v_params = 0;

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

  /* "kivy\graphics\opengl.pyx":948
 *     cdef GLint params = 0
 *     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 = 948; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_127glGetProgramInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_126glGetProgramInfoLog[] = "See: `glGetProgramInfoLog() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramInfoLog.xml>`_\n\n    Unlike the C specification, the source code will be returned as a string.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_127glGetProgramInfoLog = {__Pyx_NAMESTR("glGetProgramInfoLog"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_127glGetProgramInfoLog, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_126glGetProgramInfoLog)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_127glGetProgramInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_bufsize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetProgramInfoLog (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__bufsize,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__bufsize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetProgramInfoLog", 1, 2, 2, 1); {__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, pos_args, "glGetProgramInfoLog") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 950; __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 = 950; __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 = 950; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetProgramInfoLog", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_126glGetProgramInfoLog(__pyx_self, __pyx_v_program, __pyx_v_bufsize);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_126glGetProgramInfoLog(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, CYTHON_UNUSED __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 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetProgramInfoLog", 0);

  /* "kivy\graphics\opengl.pyx":956
 *     Unlike the C specification, the source code will be returned as a string.
 *     '''
 *     cdef GLint size = 0             # <<<<<<<<<<<<<<
 *     cdef GLchar *infolog
 *     cdef bytes p_infolog
 */
  __pyx_v_size = 0;

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

  /* "kivy\graphics\opengl.pyx":960
 *     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) != 0);
  if (__pyx_t_1) {

    /* "kivy\graphics\opengl.pyx":961
 *     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 = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

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

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

  /* "kivy\graphics\opengl.pyx":965
 *     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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_p_infolog);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_129glGetRenderbufferParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_128glGetRenderbufferParameteriv[] = "See: `glGetRenderbufferParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetRenderbufferParameteriv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_129glGetRenderbufferParameteriv = {__Pyx_NAMESTR("glGetRenderbufferParameteriv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_129glGetRenderbufferParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_128glGetRenderbufferParameteriv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_129glGetRenderbufferParameteriv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetRenderbufferParameteriv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetRenderbufferParameteriv", 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, pos_args, "glGetRenderbufferParameteriv") < 0)) {__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 {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 967; __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 = 967; __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 = 967; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetRenderbufferParameteriv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_128glGetRenderbufferParameteriv(__pyx_self, __pyx_v_target, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_128glGetRenderbufferParameteriv(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetRenderbufferParameteriv", 0);

  /* "kivy\graphics\opengl.pyx":973
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLint params = 0             # <<<<<<<<<<<<<<
 *     c_opengl.glGetRenderbufferParameteriv(target, pname, &params)
 *     return params
 */
  __pyx_v_params = 0;

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

  /* "kivy\graphics\opengl.pyx":975
 *     cdef GLint params = 0
 *     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 = 975; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_131glGetShaderiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_130glGetShaderiv[] = "See: `glGetShaderiv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderiv.xml>`_\n\n    Unlike the C specification, the value will be the result of call.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_131glGetShaderiv = {__Pyx_NAMESTR("glGetShaderiv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_131glGetShaderiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_130glGetShaderiv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_131glGetShaderiv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetShaderiv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__shader,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetShaderiv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetShaderiv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 977; __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 = 977; __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 = 977; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderiv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_130glGetShaderiv(__pyx_self, __pyx_v_shader, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_130glGetShaderiv(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetShaderiv", 0);

  /* "kivy\graphics\opengl.pyx":983
 *     Unlike the C specification, the value will be the result of call.
 *     '''
 *     cdef GLint params = 0             # <<<<<<<<<<<<<<
 *     c_opengl.glGetShaderiv(shader, pname, &params)
 *     return params
 */
  __pyx_v_params = 0;

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

  /* "kivy\graphics\opengl.pyx":985
 *     cdef GLint params = 0
 *     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 = 985; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_133glGetShaderInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_132glGetShaderInfoLog[] = "See: `glGetShaderInfoLog() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderInfoLog.xml>`_\n\n    Unlike the C specification, the source code will be returned as a string.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_133glGetShaderInfoLog = {__Pyx_NAMESTR("glGetShaderInfoLog"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_133glGetShaderInfoLog, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_132glGetShaderInfoLog)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_133glGetShaderInfoLog(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_bufsize;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetShaderInfoLog (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__shader,&__pyx_n_s__bufsize,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__bufsize)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetShaderInfoLog", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetShaderInfoLog") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 987; __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 = 987; __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 = 987; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderInfoLog", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_132glGetShaderInfoLog(__pyx_self, __pyx_v_shader, __pyx_v_bufsize);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_132glGetShaderInfoLog(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader, CYTHON_UNUSED __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 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetShaderInfoLog", 0);

  /* "kivy\graphics\opengl.pyx":993
 *     Unlike the C specification, the source code will be returned as a string.
 *     '''
 *     cdef GLint size = 0             # <<<<<<<<<<<<<<
 *     cdef GLchar *infolog
 *     cdef bytes p_infolog
 */
  __pyx_v_size = 0;

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

  /* "kivy\graphics\opengl.pyx":997
 *     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) != 0);
  if (__pyx_t_1) {

    /* "kivy\graphics\opengl.pyx":998
 *     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 = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

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

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

  /* "kivy\graphics\opengl.pyx":1002
 *     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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_p_infolog);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_135glGetShaderPrecisionFormat(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_134glGetShaderPrecisionFormat[] = "See: `glGetShaderPrecisionFormat() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderPrecisionFormat.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_135glGetShaderPrecisionFormat = {__Pyx_NAMESTR("glGetShaderPrecisionFormat"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_135glGetShaderPrecisionFormat, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_134glGetShaderPrecisionFormat)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_135glGetShaderPrecisionFormat(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_shadertype;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_precisiontype;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetShaderPrecisionFormat (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__shadertype,&__pyx_n_s__precisiontype,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shadertype)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__precisiontype)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetShaderPrecisionFormat", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetShaderPrecisionFormat") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1004; __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 = 1004; __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 = 1004; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderPrecisionFormat", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_134glGetShaderPrecisionFormat(__pyx_self, __pyx_v_shadertype, __pyx_v_precisiontype);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_134glGetShaderPrecisionFormat(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_shadertype, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_precisiontype) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetShaderPrecisionFormat", 0);

  /* "kivy\graphics\opengl.pyx":1010
 *     .. warning:: Not implemented yet.
 *     '''
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 * 
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_137glGetShaderSource(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_136glGetShaderSource[] = "See: `glGetShaderSource() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderSource.xml>`_\n\n    Unlike the C specification, the source code will be returned as a string.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_137glGetShaderSource = {__Pyx_NAMESTR("glGetShaderSource"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_137glGetShaderSource, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_136glGetShaderSource)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_137glGetShaderSource(PyObject *__pyx_self, PyObject *__pyx_arg_shader) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetShaderSource (wrapper)", 0);
  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 = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetShaderSource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_136glGetShaderSource(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_shader));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_136glGetShaderSource(CYTHON_UNUSED PyObject *__pyx_self, __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 = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetShaderSource", 0);

  /* "kivy\graphics\opengl.pyx":1019
 *     Unlike the C specification, the source code will be returned as a string.
 *     '''
 *     cdef GLint size = 0             # <<<<<<<<<<<<<<
 *     cdef GLchar *source
 *     cdef bytes p_source
 */
  __pyx_v_size = 0;

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

  /* "kivy\graphics\opengl.pyx":1023
 *     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) != 0);
  if (__pyx_t_1) {

    /* "kivy\graphics\opengl.pyx":1024
 *     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 = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

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

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

  /* "kivy\graphics\opengl.pyx":1028
 *     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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_p_source);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_139glGetString(PyObject *__pyx_self, PyObject *__pyx_arg_name); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_138glGetString[] = "See: `glGetString() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml>`_\n\n    Unlike the C specification, the value will be returned as a string.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_139glGetString = {__Pyx_NAMESTR("glGetString"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_139glGetString, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_138glGetString)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_139glGetString(PyObject *__pyx_self, PyObject *__pyx_arg_name) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_name;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetString (wrapper)", 0);
  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 = 1030; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetString", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_138glGetString(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_name));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_138glGetString(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_name) {
  PyObject *__pyx_v_p_string = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetString", 0);

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

  /* "kivy\graphics\opengl.pyx":1038
 *     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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_p_string);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_141glGetTexParameterfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_140glGetTexParameterfv[] = "See: `glGetTexParameterfv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameterfv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_141glGetTexParameterfv = {__Pyx_NAMESTR("glGetTexParameterfv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_141glGetTexParameterfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_140glGetTexParameterfv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_141glGetTexParameterfv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetTexParameterfv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetTexParameterfv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetTexParameterfv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1040; __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 = 1040; __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 = 1040; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetTexParameterfv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_140glGetTexParameterfv(__pyx_self, __pyx_v_target, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_140glGetTexParameterfv(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetTexParameterfv", 0);

  /* "kivy\graphics\opengl.pyx":1044
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameterfv.xml>`_
 *     '''
 *     cdef GLfloat params = 0             # <<<<<<<<<<<<<<
 *     c_opengl.glGetTexParameterfv(target, pname, &params)
 *     return params
 */
  __pyx_v_params = 0.0;

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

  /* "kivy\graphics\opengl.pyx":1046
 *     cdef GLfloat params = 0
 *     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 = 1046; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_143glGetTexParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_142glGetTexParameteriv[] = "See: `glGetTexParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameteriv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_143glGetTexParameteriv = {__Pyx_NAMESTR("glGetTexParameteriv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_143glGetTexParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_142glGetTexParameteriv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_143glGetTexParameteriv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetTexParameteriv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetTexParameteriv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetTexParameteriv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1048; __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 = 1048; __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 = 1048; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetTexParameteriv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_142glGetTexParameteriv(__pyx_self, __pyx_v_target, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_142glGetTexParameteriv(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetTexParameteriv", 0);

  /* "kivy\graphics\opengl.pyx":1052
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameteriv.xml>`_
 *     '''
 *     cdef GLint params = 0             # <<<<<<<<<<<<<<
 *     c_opengl.glGetTexParameteriv(target, pname, &params)
 *     return params
 */
  __pyx_v_params = 0;

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

  /* "kivy\graphics\opengl.pyx":1054
 *     cdef GLint params = 0
 *     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 = 1054; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_145glGetUniformfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_144glGetUniformfv[] = "See: `glGetUniformfv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformfv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_145glGetUniformfv = {__Pyx_NAMESTR("glGetUniformfv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_145glGetUniformfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_144glGetUniformfv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_145glGetUniformfv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetUniformfv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__location,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetUniformfv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1056; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetUniformfv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1056; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1056; __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 = 1056; __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 = 1056; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetUniformfv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_144glGetUniformfv(__pyx_self, __pyx_v_program, __pyx_v_location);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_144glGetUniformfv(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetUniformfv", 0);

  /* "kivy\graphics\opengl.pyx":1060
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformfv.xml>`_
 *     '''
 *     cdef GLfloat params = 0             # <<<<<<<<<<<<<<
 *     c_opengl.glGetUniformfv(program, location, &params)
 *     return params
 */
  __pyx_v_params = 0.0;

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

  /* "kivy\graphics\opengl.pyx":1062
 *     cdef GLfloat params = 0
 *     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 = 1062; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_147glGetUniformiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_146glGetUniformiv[] = "See: `glGetUniformiv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformiv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_147glGetUniformiv = {__Pyx_NAMESTR("glGetUniformiv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_147glGetUniformiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_146glGetUniformiv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_147glGetUniformiv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetUniformiv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__location,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetUniformiv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetUniformiv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1064; __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 = 1064; __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 = 1064; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetUniformiv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_146glGetUniformiv(__pyx_self, __pyx_v_program, __pyx_v_location);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_146glGetUniformiv(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetUniformiv", 0);

  /* "kivy\graphics\opengl.pyx":1068
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformiv.xml>`_
 *     '''
 *     cdef GLint params = 0             # <<<<<<<<<<<<<<
 *     c_opengl.glGetUniformiv(program, location, &params)
 *     return params
 */
  __pyx_v_params = 0;

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

  /* "kivy\graphics\opengl.pyx":1070
 *     cdef GLint params = 0
 *     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 = 1070; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_149glGetUniformLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_148glGetUniformLocation[] = "See: `glGetUniformLocation() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_149glGetUniformLocation = {__Pyx_NAMESTR("glGetUniformLocation"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_149glGetUniformLocation, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_148glGetUniformLocation)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_149glGetUniformLocation(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  PyObject *__pyx_v_name = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetUniformLocation (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__program,&__pyx_n_s__name,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__program)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetUniformLocation", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetUniformLocation") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1072; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_name = ((PyObject*)values[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 = 1072; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetUniformLocation", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_148glGetUniformLocation(__pyx_self, __pyx_v_program, __pyx_v_name);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_148glGetUniformLocation(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program, PyObject *__pyx_v_name) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetUniformLocation", 0);

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_151glGetVertexAttribfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_150glGetVertexAttribfv[] = "See: `glGetVertexAttribfv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribfv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_151glGetVertexAttribfv = {__Pyx_NAMESTR("glGetVertexAttribfv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_151glGetVertexAttribfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_150glGetVertexAttribfv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_151glGetVertexAttribfv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetVertexAttribfv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__index,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetVertexAttribfv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetVertexAttribfv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1078; __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 = 1078; __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 = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetVertexAttribfv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_150glGetVertexAttribfv(__pyx_self, __pyx_v_index, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_150glGetVertexAttribfv(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetVertexAttribfv", 0);

  /* "kivy\graphics\opengl.pyx":1082
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribfv.xml>`_
 *     '''
 *     cdef GLfloat params = 0             # <<<<<<<<<<<<<<
 *     c_opengl.glGetVertexAttribfv(index, pname, &params)
 *     return params
 */
  __pyx_v_params = 0.0;

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

  /* "kivy\graphics\opengl.pyx":1084
 *     cdef GLfloat params = 0
 *     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 = 1084; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_153glGetVertexAttribiv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_152glGetVertexAttribiv[] = "See: `glGetVertexAttribiv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribiv.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_153glGetVertexAttribiv = {__Pyx_NAMESTR("glGetVertexAttribiv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_153glGetVertexAttribiv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_152glGetVertexAttribiv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_153glGetVertexAttribiv(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetVertexAttribiv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__index,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetVertexAttribiv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetVertexAttribiv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1086; __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 = 1086; __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 = 1086; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetVertexAttribiv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_152glGetVertexAttribiv(__pyx_self, __pyx_v_index, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_152glGetVertexAttribiv(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetVertexAttribiv", 0);

  /* "kivy\graphics\opengl.pyx":1090
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribiv.xml>`_
 *     '''
 *     cdef GLint params = 0             # <<<<<<<<<<<<<<
 *     c_opengl.glGetVertexAttribiv(index, pname, &params)
 *     return params
 */
  __pyx_v_params = 0;

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

  /* "kivy\graphics\opengl.pyx":1092
 *     cdef GLint params = 0
 *     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 = 1092; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_155glGetVertexAttribPointerv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_154glGetVertexAttribPointerv[] = "See: `glGetVertexAttribPointerv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribPointerv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_155glGetVertexAttribPointerv = {__Pyx_NAMESTR("glGetVertexAttribPointerv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_155glGetVertexAttribPointerv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_154glGetVertexAttribPointerv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_155glGetVertexAttribPointerv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glGetVertexAttribPointerv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__index,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glGetVertexAttribPointerv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glGetVertexAttribPointerv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1094; __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 = 1094; __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 = 1094; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glGetVertexAttribPointerv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_154glGetVertexAttribPointerv(__pyx_self, __pyx_v_index, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_154glGetVertexAttribPointerv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_index, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glGetVertexAttribPointerv", 0);

  /* "kivy\graphics\opengl.pyx":1100
 *     .. warning:: Not implemented yet.
 *     '''
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 * 
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1100; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_157glHint(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_156glHint[] = "See: `glHint() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glHint.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_157glHint = {__Pyx_NAMESTR("glHint"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_157glHint, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_156glHint)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_157glHint(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glHint (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__mode,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mode)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glHint", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glHint") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1103; __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 = 1103; __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 = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glHint", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_156glHint(__pyx_self, __pyx_v_target, __pyx_v_mode);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_156glHint(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_mode) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glHint", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_159glIsBuffer(PyObject *__pyx_self, PyObject *__pyx_arg_buffer); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_158glIsBuffer[] = "See: `glIsBuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsBuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_159glIsBuffer = {__Pyx_NAMESTR("glIsBuffer"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_159glIsBuffer, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_158glIsBuffer)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_159glIsBuffer(PyObject *__pyx_self, PyObject *__pyx_arg_buffer) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_buffer;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glIsBuffer (wrapper)", 0);
  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 = 1109; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_158glIsBuffer(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_buffer));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_158glIsBuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_buffer) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glIsBuffer", 0);

  /* "kivy\graphics\opengl.pyx":1113
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsBuffer.xml>`_
 *     '''
 *     return c_opengl.glIsBuffer(buffer)             # <<<<<<<<<<<<<<
 * 
 * def glIsEnabled(GLenum cap):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsBuffer(__pyx_v_buffer)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_161glIsEnabled(PyObject *__pyx_self, PyObject *__pyx_arg_cap); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_160glIsEnabled[] = "See: `glIsEnabled() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsEnabled.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_161glIsEnabled = {__Pyx_NAMESTR("glIsEnabled"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_161glIsEnabled, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_160glIsEnabled)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_161glIsEnabled(PyObject *__pyx_self, PyObject *__pyx_arg_cap) {
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glIsEnabled (wrapper)", 0);
  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 = 1115; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsEnabled", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_160glIsEnabled(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLenum)__pyx_v_cap));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_160glIsEnabled(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_cap) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glIsEnabled", 0);

  /* "kivy\graphics\opengl.pyx":1119
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsEnabled.xml>`_
 *     '''
 *     return c_opengl.glIsEnabled(cap)             # <<<<<<<<<<<<<<
 * 
 * def glIsFramebuffer(GLuint framebuffer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsEnabled(__pyx_v_cap)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_163glIsFramebuffer(PyObject *__pyx_self, PyObject *__pyx_arg_framebuffer); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_162glIsFramebuffer[] = "See: `glIsFramebuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsFramebuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_163glIsFramebuffer = {__Pyx_NAMESTR("glIsFramebuffer"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_163glIsFramebuffer, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_162glIsFramebuffer)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_163glIsFramebuffer(PyObject *__pyx_self, PyObject *__pyx_arg_framebuffer) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_framebuffer;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glIsFramebuffer (wrapper)", 0);
  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 = 1121; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsFramebuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_162glIsFramebuffer(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_framebuffer));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_162glIsFramebuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_framebuffer) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glIsFramebuffer", 0);

  /* "kivy\graphics\opengl.pyx":1125
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsFramebuffer.xml>`_
 *     '''
 *     return c_opengl.glIsFramebuffer(framebuffer)             # <<<<<<<<<<<<<<
 * 
 * def glIsProgram(GLuint program):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsFramebuffer(__pyx_v_framebuffer)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1125; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_165glIsProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_164glIsProgram[] = "See: `glIsProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_165glIsProgram = {__Pyx_NAMESTR("glIsProgram"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_165glIsProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_164glIsProgram)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_165glIsProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glIsProgram (wrapper)", 0);
  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 = 1127; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsProgram", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_164glIsProgram(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_program));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_164glIsProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glIsProgram", 0);

  /* "kivy\graphics\opengl.pyx":1131
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsProgram.xml>`_
 *     '''
 *     return c_opengl.glIsProgram(program)             # <<<<<<<<<<<<<<
 * 
 * def glIsRenderbuffer(GLuint renderbuffer):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsProgram(__pyx_v_program)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1131; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_167glIsRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_arg_renderbuffer); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_166glIsRenderbuffer[] = "See: `glIsRenderbuffer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsRenderbuffer.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_167glIsRenderbuffer = {__Pyx_NAMESTR("glIsRenderbuffer"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_167glIsRenderbuffer, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_166glIsRenderbuffer)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_167glIsRenderbuffer(PyObject *__pyx_self, PyObject *__pyx_arg_renderbuffer) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_renderbuffer;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glIsRenderbuffer (wrapper)", 0);
  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 = 1133; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsRenderbuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_166glIsRenderbuffer(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_renderbuffer));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_166glIsRenderbuffer(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_renderbuffer) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glIsRenderbuffer", 0);

  /* "kivy\graphics\opengl.pyx":1137
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsRenderbuffer.xml>`_
 *     '''
 *     return c_opengl.glIsRenderbuffer(renderbuffer)             # <<<<<<<<<<<<<<
 * 
 * def glIsShader(GLuint shader):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsRenderbuffer(__pyx_v_renderbuffer)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_169glIsShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_168glIsShader[] = "See: `glIsShader() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsShader.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_169glIsShader = {__Pyx_NAMESTR("glIsShader"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_169glIsShader, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_168glIsShader)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_169glIsShader(PyObject *__pyx_self, PyObject *__pyx_arg_shader) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glIsShader (wrapper)", 0);
  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 = 1139; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsShader", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_168glIsShader(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_shader));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_168glIsShader(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glIsShader", 0);

  /* "kivy\graphics\opengl.pyx":1143
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsShader.xml>`_
 *     '''
 *     return c_opengl.glIsShader(shader)             # <<<<<<<<<<<<<<
 * 
 * def glIsTexture(GLuint texture):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsShader(__pyx_v_shader)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1143; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_171glIsTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_170glIsTexture[] = "See: `glIsTexture() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsTexture.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_171glIsTexture = {__Pyx_NAMESTR("glIsTexture"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_171glIsTexture, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_170glIsTexture)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_171glIsTexture(PyObject *__pyx_self, PyObject *__pyx_arg_texture) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_texture;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glIsTexture (wrapper)", 0);
  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 = 1145; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glIsTexture", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_170glIsTexture(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_texture));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_170glIsTexture(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_texture) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glIsTexture", 0);

  /* "kivy\graphics\opengl.pyx":1149
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsTexture.xml>`_
 *     '''
 *     return c_opengl.glIsTexture(texture)             # <<<<<<<<<<<<<<
 * 
 * def glLineWidth(GLfloat width):
 */
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_to_py_GLboolean(glIsTexture(__pyx_v_texture)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_173glLineWidth(PyObject *__pyx_self, PyObject *__pyx_arg_width); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_172glLineWidth[] = "See: `glLineWidth() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLineWidth.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_173glLineWidth = {__Pyx_NAMESTR("glLineWidth"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_173glLineWidth, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_172glLineWidth)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_173glLineWidth(PyObject *__pyx_self, PyObject *__pyx_arg_width) {
  __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_width;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glLineWidth (wrapper)", 0);
  assert(__pyx_arg_width); {
    __pyx_v_width = __pyx_PyFloat_AsFloat(__pyx_arg_width); if (unlikely((__pyx_v_width == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glLineWidth", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_172glLineWidth(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLfloat)__pyx_v_width));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_172glLineWidth(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_width) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glLineWidth", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_175glLinkProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_174glLinkProgram[] = "See: `glLinkProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLinkProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_175glLinkProgram = {__Pyx_NAMESTR("glLinkProgram"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_175glLinkProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_174glLinkProgram)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_175glLinkProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glLinkProgram (wrapper)", 0);
  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 = 1157; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glLinkProgram", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_174glLinkProgram(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_program));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_174glLinkProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glLinkProgram", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_177glPixelStorei(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_176glPixelStorei[] = "See: `glPixelStorei() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_177glPixelStorei = {__Pyx_NAMESTR("glPixelStorei"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_177glPixelStorei, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_176glPixelStorei)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_177glPixelStorei(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glPixelStorei (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__pname,&__pyx_n_s__param,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__param)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glPixelStorei", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glPixelStorei") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1163; __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 = 1163; __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 = 1163; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glPixelStorei", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_176glPixelStorei(__pyx_self, __pyx_v_pname, __pyx_v_param);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_176glPixelStorei(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_param) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glPixelStorei", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_179glPolygonOffset(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_178glPolygonOffset[] = "See: `glPolygonOffset() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_179glPolygonOffset = {__Pyx_NAMESTR("glPolygonOffset"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_179glPolygonOffset, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_178glPolygonOffset)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_179glPolygonOffset(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glPolygonOffset (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__factor,&__pyx_n_s__units,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__factor)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__units)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glPolygonOffset", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glPolygonOffset") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_factor = __pyx_PyFloat_AsFloat(values[0]); if (unlikely((__pyx_v_factor == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_units = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_units == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __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 = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glPolygonOffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_178glPolygonOffset(__pyx_self, __pyx_v_factor, __pyx_v_units);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_178glPolygonOffset(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_factor, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_units) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glPolygonOffset", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_181glReadPixels(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_180glReadPixels[] = "See: `glReadPixels() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReadPixels.xml>`_\n    \n    We are supporting only GL_RGB/GL_RGBA as format, and GL_UNSIGNED_BYTE as\n    type.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_181glReadPixels = {__Pyx_NAMESTR("glReadPixels"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_181glReadPixels, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_180glReadPixels)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_181glReadPixels(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glReadPixels (wrapper)", 0);
  {
    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};
    PyObject* values[6] = {0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__format)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  5:
        if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glReadPixels", 1, 6, 6, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glReadPixels") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
    }
    __pyx_v_x = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __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 = 1175; __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 = 1175; __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 = 1175; __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 = 1175; __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 = 1176; __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 = 1175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glReadPixels", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_180glReadPixels(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_width, __pyx_v_height, __pyx_v_format, __pyx_v_type);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_180glReadPixels(CYTHON_UNUSED PyObject *__pyx_self, __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_RefNannyDeclarations
  __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  PyObject *__pyx_t_3 = NULL;
  PyObject *__pyx_t_4 = NULL;
  int __pyx_t_5;
  int __pyx_t_6;
  int __pyx_t_7;
  long __pyx_t_8;
  GLenum __pyx_t_9;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glReadPixels", 0);

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

  /* "kivy\graphics\opengl.pyx":1184
 *     '''
 *     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 = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s__GL_UNSIGNED_BYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __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;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_7)) {
    PyErr_SetNone(PyExc_AssertionError);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  #endif

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

  /* "kivy\graphics\opengl.pyx":1190
 *     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 = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s__GL_RGB); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __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); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (__pyx_t_7) {
    __pyx_t_8 = 3;
  } else {
    __pyx_t_8 = 4;
  }
  __pyx_v_size = (((__pyx_t_8 * __pyx_v_width) * __pyx_v_height) * (sizeof(__pyx_t_4kivy_8graphics_6opengl_GLubyte)));

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

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

    /* "kivy\graphics\opengl.pyx":1193
 *     data = <char *>malloc(size)
 *     if data == NULL:
 *         raise MemoryError('glReadPixels()')             # <<<<<<<<<<<<<<
 * 
 *     c_opengl.glPixelStorei(GL_PACK_ALIGNMENT, 1)
 */
    __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 = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    goto __pyx_L3;
  }
  __pyx_L3:;

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

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

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

    /* "kivy\graphics\opengl.pyx":1198
 *     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 = 1198; __pyx_clineno = __LINE__; goto __pyx_L5;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_DECREF(__pyx_v_py_pixels);
    __pyx_v_py_pixels = __pyx_t_2;
    __pyx_t_2 = 0;
  }

  /* "kivy\graphics\opengl.pyx":1200
 *         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_L6;
    __pyx_L5: {
      __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_L6;
    }
    __pyx_L6:;
    free(__pyx_v_data);
    switch (__pyx_why) {
      case 4: {
        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
        __pyx_lineno = __pyx_exc_lineno;
        __pyx_exc_type = 0;
        __pyx_exc_value = 0;
        __pyx_exc_tb = 0;
        goto __pyx_L1_error;
      }
    }
  }

  /* "kivy\graphics\opengl.pyx":1202
 *         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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_py_pixels);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_183glReleaseShaderCompiler(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_182glReleaseShaderCompiler[] = "See: `glReleaseShaderCompiler() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReleaseShaderCompiler.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_183glReleaseShaderCompiler = {__Pyx_NAMESTR("glReleaseShaderCompiler"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_183glReleaseShaderCompiler, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_182glReleaseShaderCompiler)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_183glReleaseShaderCompiler(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glReleaseShaderCompiler (wrapper)", 0);
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_182glReleaseShaderCompiler(__pyx_self);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_182glReleaseShaderCompiler(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glReleaseShaderCompiler", 0);

  /* "kivy\graphics\opengl.pyx":1212
 *     .. warning:: Not implemented yet.
 *     '''
 *     raise NotImplemented()             # <<<<<<<<<<<<<<
 * #    c_opengl.glReleaseShaderCompiler()
 * 
 */
  __pyx_t_1 = PyObject_Call(__pyx_builtin_NotImplemented, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1212; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_185glRenderbufferStorage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_184glRenderbufferStorage[] = "See: `glRenderbufferStorage() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glRenderbufferStorage.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_185glRenderbufferStorage = {__Pyx_NAMESTR("glRenderbufferStorage"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_185glRenderbufferStorage, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_184glRenderbufferStorage)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_185glRenderbufferStorage(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glRenderbufferStorage (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__internalformat,&__pyx_n_s__width,&__pyx_n_s__height,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__internalformat)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glRenderbufferStorage", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glRenderbufferStorage", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glRenderbufferStorage", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glRenderbufferStorage") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __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 = 1215; __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 = 1215; __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 = 1215; __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 = 1215; __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 = 1215; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glRenderbufferStorage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_184glRenderbufferStorage(__pyx_self, __pyx_v_target, __pyx_v_internalformat, __pyx_v_width, __pyx_v_height);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_184glRenderbufferStorage(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glRenderbufferStorage", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_187glSampleCoverage(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_186glSampleCoverage[] = "See: `glSampleCoverage() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glSampleCoverage.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_187glSampleCoverage = {__Pyx_NAMESTR("glSampleCoverage"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_187glSampleCoverage, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_186glSampleCoverage)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_187glSampleCoverage(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glSampleCoverage (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__value,&__pyx_n_s__invert,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__invert)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glSampleCoverage", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glSampleCoverage") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_value = __pyx_PyFloat_AsFloat(values[0]); if (unlikely((__pyx_v_value == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __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 = 1221; __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 = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glSampleCoverage", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_186glSampleCoverage(__pyx_self, __pyx_v_value, __pyx_v_invert);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_186glSampleCoverage(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLclampf __pyx_v_value, __pyx_t_4kivy_8graphics_6opengl_GLboolean __pyx_v_invert) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glSampleCoverage", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_189glScissor(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_188glScissor[] = "See: `glScissor() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glScissor.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_189glScissor = {__Pyx_NAMESTR("glScissor"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_189glScissor, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_188glScissor)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_189glScissor(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glScissor (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__width,&__pyx_n_s__height,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glScissor", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glScissor", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glScissor", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glScissor") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_x = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __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 = 1227; __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 = 1227; __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 = 1227; __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 = 1227; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glScissor", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_188glScissor(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_width, __pyx_v_height);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_188glScissor(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glScissor", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_191glShaderBinary(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_190glShaderBinary[] = "See: `glShaderBinary() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderBinary.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_191glShaderBinary = {__Pyx_NAMESTR("glShaderBinary"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_191glShaderBinary, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_190glShaderBinary)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_191glShaderBinary(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glShaderBinary (wrapper)", 0);
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_190glShaderBinary(__pyx_self);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_190glShaderBinary(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glShaderBinary", 0);

  /* "kivy\graphics\opengl.pyx":1240
 *     '''
 *     #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 = 1240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1240; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_193glShaderSource(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_192glShaderSource[] = "See: `glShaderSource() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_193glShaderSource = {__Pyx_NAMESTR("glShaderSource"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_193glShaderSource, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_192glShaderSource)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_193glShaderSource(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader;
  PyObject *__pyx_v_source = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glShaderSource (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__shader,&__pyx_n_s__source,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__shader)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__source)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glShaderSource", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glShaderSource") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1242; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_source = ((PyObject*)values[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 = 1242; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glShaderSource", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_192glShaderSource(__pyx_self, __pyx_v_shader, __pyx_v_source);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_192glShaderSource(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_shader, PyObject *__pyx_v_source) {
  const char* __pyx_v_c_source;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  const char* __pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glShaderSource", 0);

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

  /* "kivy\graphics\opengl.pyx":1247
 *     '''
 *     cdef const_char_ptr c_source = <const_char_ptr>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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_195glStencilFunc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_194glStencilFunc[] = "See: `glStencilFunc() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFunc.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_195glStencilFunc = {__Pyx_NAMESTR("glStencilFunc"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_195glStencilFunc, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_194glStencilFunc)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_195glStencilFunc(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilFunc (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,&__pyx_n_s__ref,&__pyx_n_s__mask,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__ref)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilFunc", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mask)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilFunc", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glStencilFunc") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __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 = 1249; __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 = 1249; __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 = 1249; __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 = 1249; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilFunc", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_194glStencilFunc(__pyx_self, __pyx_v_func, __pyx_v_ref, __pyx_v_mask);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_194glStencilFunc(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilFunc", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_197glStencilFuncSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_196glStencilFuncSeparate[] = "See: `glStencilFuncSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFuncSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_197glStencilFuncSeparate = {__Pyx_NAMESTR("glStencilFuncSeparate"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_197glStencilFuncSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_196glStencilFuncSeparate)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_197glStencilFuncSeparate(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilFuncSeparate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__face,&__pyx_n_s__func,&__pyx_n_s__ref,&__pyx_n_s__mask,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__face)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilFuncSeparate", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__ref)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilFuncSeparate", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mask)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilFuncSeparate", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glStencilFuncSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __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 = 1255; __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 = 1255; __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 = 1255; __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 = 1255; __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 = 1255; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilFuncSeparate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_196glStencilFuncSeparate(__pyx_self, __pyx_v_face, __pyx_v_func, __pyx_v_ref, __pyx_v_mask);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_196glStencilFuncSeparate(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilFuncSeparate", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_199glStencilMask(PyObject *__pyx_self, PyObject *__pyx_arg_mask); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_198glStencilMask[] = "See: `glStencilMask() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMask.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_199glStencilMask = {__Pyx_NAMESTR("glStencilMask"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_199glStencilMask, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_198glStencilMask)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_199glStencilMask(PyObject *__pyx_self, PyObject *__pyx_arg_mask) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_mask;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilMask (wrapper)", 0);
  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 = 1261; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilMask", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_198glStencilMask(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_mask));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_198glStencilMask(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_mask) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilMask", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_201glStencilMaskSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_200glStencilMaskSeparate[] = "See: `glStencilMaskSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMaskSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_201glStencilMaskSeparate = {__Pyx_NAMESTR("glStencilMaskSeparate"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_201glStencilMaskSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_200glStencilMaskSeparate)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_201glStencilMaskSeparate(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilMaskSeparate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__face,&__pyx_n_s__mask,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__face)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mask)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilMaskSeparate", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glStencilMaskSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1267; __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 = 1267; __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 = 1267; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilMaskSeparate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_200glStencilMaskSeparate(__pyx_self, __pyx_v_face, __pyx_v_mask);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_200glStencilMaskSeparate(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_face, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_mask) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilMaskSeparate", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_203glStencilOp(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_202glStencilOp[] = "See: `glStencilOp() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOp.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_203glStencilOp = {__Pyx_NAMESTR("glStencilOp"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_203glStencilOp, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_202glStencilOp)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_203glStencilOp(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilOp (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__fail,&__pyx_n_s__zfail,&__pyx_n_s__zpass,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fail)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zfail)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilOp", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zpass)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilOp", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glStencilOp") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __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 = 1273; __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 = 1273; __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 = 1273; __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 = 1273; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilOp", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_202glStencilOp(__pyx_self, __pyx_v_fail, __pyx_v_zfail, __pyx_v_zpass);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_202glStencilOp(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilOp", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_205glStencilOpSeparate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_204glStencilOpSeparate[] = "See: `glStencilOpSeparate() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOpSeparate.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_205glStencilOpSeparate = {__Pyx_NAMESTR("glStencilOpSeparate"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_205glStencilOpSeparate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_204glStencilOpSeparate)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_205glStencilOpSeparate(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilOpSeparate (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__face,&__pyx_n_s__fail,&__pyx_n_s__zfail,&__pyx_n_s__zpass,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__face)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fail)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilOpSeparate", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zfail)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilOpSeparate", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__zpass)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glStencilOpSeparate", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glStencilOpSeparate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __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 = 1279; __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 = 1279; __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 = 1279; __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 = 1279; __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 = 1279; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glStencilOpSeparate", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_204glStencilOpSeparate(__pyx_self, __pyx_v_face, __pyx_v_fail, __pyx_v_zfail, __pyx_v_zpass);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_204glStencilOpSeparate(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glStencilOpSeparate", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_207glTexImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_206glTexImage2D[] = "See: `glTexImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_207glTexImage2D = {__Pyx_NAMESTR("glTexImage2D"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_207glTexImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_206glTexImage2D)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_207glTexImage2D(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glTexImage2D (wrapper)", 0);
  {
    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};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__internalformat)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  5:
        if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__border)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  6:
        if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__format)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  7:
        if (likely((values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  8:
        if (likely((values[8] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pixels)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexImage2D", 1, 9, 9, 8); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glTexImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __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 = 1285; __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 = 1285; __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 = 1285; __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 = 1285; __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 = 1286; __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 = 1286; __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 = 1286; __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 = 1286; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pixels = ((PyObject*)values[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 = 1285; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexImage2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 1287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_206glTexImage2D(__pyx_self, __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_v_pixels);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy\graphics\opengl.pyx":1285
 *     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_206glTexImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glTexImage2D", 0);

  /* "kivy\graphics\opengl.pyx":1292
 *     '''
 *     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 = __Pyx_PyObject_AsString(((PyObject *)__pyx_v_pixels)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __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 *)((char *)__pyx_t_1)));

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_209glTexParameterf(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_208glTexParameterf[] = "See: `glTexParameterf() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterf.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_209glTexParameterf = {__Pyx_NAMESTR("glTexParameterf"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_209glTexParameterf, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_208glTexParameterf)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_209glTexParameterf(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glTexParameterf (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,&__pyx_n_s__param,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexParameterf", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__param)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexParameterf", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glTexParameterf") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_param = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_param == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __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 = 1294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameterf", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_208glTexParameterf(__pyx_self, __pyx_v_target, __pyx_v_pname, __pyx_v_param);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_208glTexParameterf(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glTexParameterf", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_211glTexParameterfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_210glTexParameterfv[] = "See: `glTexParameterfv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterfv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_211glTexParameterfv = {__Pyx_NAMESTR("glTexParameterfv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_211glTexParameterfv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_210glTexParameterfv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_211glTexParameterfv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glTexParameterfv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexParameterfv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glTexParameterfv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1300; __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 = 1300; __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 = 1300; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameterfv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_210glTexParameterfv(__pyx_self, __pyx_v_target, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_210glTexParameterfv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glTexParameterfv", 0);

  /* "kivy\graphics\opengl.pyx":1307
 *     '''
 *     #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 = 1307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1307; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_213glTexParameteri(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_212glTexParameteri[] = "See: `glTexParameteri() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteri.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_213glTexParameteri = {__Pyx_NAMESTR("glTexParameteri"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_213glTexParameteri, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_212glTexParameteri)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_213glTexParameteri(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glTexParameteri (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,&__pyx_n_s__param,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexParameteri", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__param)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexParameteri", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glTexParameteri") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pname = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pname == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_param = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_param == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glTexParameteri", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameteri", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_212glTexParameteri(__pyx_self, __pyx_v_target, __pyx_v_pname, __pyx_v_param);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_212glTexParameteri(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glTexParameteri", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_215glTexParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_214glTexParameteriv[] = "See: `glTexParameteriv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteriv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_215glTexParameteriv = {__Pyx_NAMESTR("glTexParameteriv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_215glTexParameteriv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_214glTexParameteriv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_215glTexParameteriv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glTexParameteriv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__target,&__pyx_n_s__pname,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pname)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexParameteriv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glTexParameteriv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1315; __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 = 1315; __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 = 1315; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexParameteriv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_214glTexParameteriv(__pyx_self, __pyx_v_target, __pyx_v_pname);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_214glTexParameteriv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_target, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLenum __pyx_v_pname) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glTexParameteriv", 0);

  /* "kivy\graphics\opengl.pyx":1322
 *     '''
 *     #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 = 1322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1322; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_217glTexSubImage2D(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_216glTexSubImage2D[] = "See: `glTexSubImage2D() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexSubImage2D.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_217glTexSubImage2D = {__Pyx_NAMESTR("glTexSubImage2D"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_217glTexSubImage2D, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_216glTexSubImage2D)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_217glTexSubImage2D(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glTexSubImage2D (wrapper)", 0);
  {
    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};
    PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__xoffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__yoffset)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  5:
        if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  6:
        if (likely((values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__format)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  7:
        if (likely((values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__type)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  8:
        if (likely((values[8] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pixels)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glTexSubImage2D", 1, 9, 9, 8); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glTexSubImage2D") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
    }
    __pyx_v_target = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_target == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_level = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_level == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __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 = 1324; __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 = 1324; __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 = 1325; __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 = 1325; __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 = 1325; __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 = 1325; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_pixels = ((PyObject*)values[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 = 1324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glTexSubImage2D", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 1326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_216glTexSubImage2D(__pyx_self, __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_v_pixels);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy\graphics\opengl.pyx":1324
 *     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_216glTexSubImage2D(CYTHON_UNUSED PyObject *__pyx_self, __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) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  char *__pyx_t_1;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glTexSubImage2D", 0);

  /* "kivy\graphics\opengl.pyx":1331
 *     '''
 *     c_opengl.glTexSubImage2D(target, level, xoffset, yoffset, width, height,
 *                              format, type, <GLvoid *><char *>pixels)             # <<<<<<<<<<<<<<
 * 
 * def glUniform1f(GLint location, GLfloat x):
 */
  __pyx_t_1 = __Pyx_PyObject_AsString(((PyObject *)__pyx_v_pixels)); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __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 *)((char *)__pyx_t_1)));

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_219glUniform1f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_218glUniform1f[] = "See: `glUniform1f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_219glUniform1f = {__Pyx_NAMESTR("glUniform1f"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_219glUniform1f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_218glUniform1f)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_219glUniform1f(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform1f (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform1f", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform1f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __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 = 1333; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1f", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_218glUniform1f(__pyx_self, __pyx_v_location, __pyx_v_x);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_218glUniform1f(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform1f", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_221glUniform1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_220glUniform1fv[] = "See: `glUniform1fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_221glUniform1fv = {__Pyx_NAMESTR("glUniform1fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_221glUniform1fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_220glUniform1fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_221glUniform1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform1fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform1fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform1fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __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 = 1339; __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 = 1339; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_220glUniform1fv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_220glUniform1fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniform1fv", 0);

  /* "kivy\graphics\opengl.pyx":1346
 *     '''
 *     #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 = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1346; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_223glUniform1i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_222glUniform1i[] = "See: `glUniform1i() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1i.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_223glUniform1i = {__Pyx_NAMESTR("glUniform1i"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_223glUniform1i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_222glUniform1i)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_223glUniform1i(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform1i (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform1i", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform1i") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform1i", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1i", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_222glUniform1i(__pyx_self, __pyx_v_location, __pyx_v_x);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_222glUniform1i(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform1i", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_225glUniform1iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_224glUniform1iv[] = "See: `glUniform1iv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1iv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_225glUniform1iv = {__Pyx_NAMESTR("glUniform1iv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_225glUniform1iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_224glUniform1iv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_225glUniform1iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform1iv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform1iv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform1iv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __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 = 1354; __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 = 1354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform1iv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_224glUniform1iv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_224glUniform1iv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniform1iv", 0);

  /* "kivy\graphics\opengl.pyx":1361
 *     '''
 *     #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 = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_227glUniform2f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_226glUniform2f[] = "See: `glUniform2f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_227glUniform2f = {__Pyx_NAMESTR("glUniform2f"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_227glUniform2f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_226glUniform2f)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_227glUniform2f(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform2f (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform2f", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform2f", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform2f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform2f", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2f", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_226glUniform2f(__pyx_self, __pyx_v_location, __pyx_v_x, __pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_226glUniform2f(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform2f", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_229glUniform2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_228glUniform2fv[] = "See: `glUniform2fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_229glUniform2fv = {__Pyx_NAMESTR("glUniform2fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_229glUniform2fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_228glUniform2fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_229glUniform2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform2fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform2fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform2fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __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 = 1369; __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 = 1369; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_228glUniform2fv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_228glUniform2fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniform2fv", 0);

  /* "kivy\graphics\opengl.pyx":1376
 *     '''
 *     #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 = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_231glUniform2i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_230glUniform2i[] = "See: `glUniform2i() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2i.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_231glUniform2i = {__Pyx_NAMESTR("glUniform2i"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_231glUniform2i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_230glUniform2i)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_231glUniform2i(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform2i (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform2i", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform2i", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform2i") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __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 = 1378; __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 = 1378; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2i", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_230glUniform2i(__pyx_self, __pyx_v_location, __pyx_v_x, __pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_230glUniform2i(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform2i", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_233glUniform2iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_232glUniform2iv[] = "See: `glUniform2iv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2iv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_233glUniform2iv = {__Pyx_NAMESTR("glUniform2iv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_233glUniform2iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_232glUniform2iv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_233glUniform2iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform2iv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform2iv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform2iv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __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 = 1384; __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 = 1384; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform2iv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_232glUniform2iv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_232glUniform2iv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniform2iv", 0);

  /* "kivy\graphics\opengl.pyx":1391
 *     '''
 *     #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 = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1391; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_235glUniform3f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_234glUniform3f[] = "See: `glUniform3f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_235glUniform3f = {__Pyx_NAMESTR("glUniform3f"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_235glUniform3f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_234glUniform3f)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_235glUniform3f(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform3f (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__z,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform3f", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform3f", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform3f", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform3f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsFloat(values[3]); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform3f", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3f", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_234glUniform3f(__pyx_self, __pyx_v_location, __pyx_v_x, __pyx_v_y, __pyx_v_z);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_234glUniform3f(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform3f", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_237glUniform3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_236glUniform3fv[] = "See: `glUniform3fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_237glUniform3fv = {__Pyx_NAMESTR("glUniform3fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_237glUniform3fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_236glUniform3fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_237glUniform3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform3fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform3fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform3fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __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 = 1399; __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 = 1399; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_236glUniform3fv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_236glUniform3fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniform3fv", 0);

  /* "kivy\graphics\opengl.pyx":1406
 *     '''
 *     #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 = 1406; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1406; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_239glUniform3i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_238glUniform3i[] = "See: `glUniform3i() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3i.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_239glUniform3i = {__Pyx_NAMESTR("glUniform3i"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_239glUniform3i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_238glUniform3i)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_239glUniform3i(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform3i (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__z,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform3i", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform3i", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform3i", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform3i") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __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 = 1408; __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 = 1408; __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 = 1408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3i", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_238glUniform3i(__pyx_self, __pyx_v_location, __pyx_v_x, __pyx_v_y, __pyx_v_z);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_238glUniform3i(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform3i", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_241glUniform3iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_240glUniform3iv[] = "See: `glUniform3iv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3iv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_241glUniform3iv = {__Pyx_NAMESTR("glUniform3iv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_241glUniform3iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_240glUniform3iv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_241glUniform3iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform3iv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform3iv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform3iv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __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 = 1414; __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 = 1414; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform3iv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_240glUniform3iv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_240glUniform3iv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniform3iv", 0);

  /* "kivy\graphics\opengl.pyx":1421
 *     '''
 *     #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 = 1421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1421; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_243glUniform4f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_242glUniform4f[] = "See: `glUniform4f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4f.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_243glUniform4f = {__Pyx_NAMESTR("glUniform4f"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_243glUniform4f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_242glUniform4f)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_243glUniform4f(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform4f (wrapper)", 0);
  {
    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};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__w)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform4f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsFloat(values[3]); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_w = __pyx_PyFloat_AsFloat(values[4]); if (unlikely((__pyx_v_w == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("glUniform4f", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4f", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_242glUniform4f(__pyx_self, __pyx_v_location, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_w);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_242glUniform4f(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform4f", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_245glUniform4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_244glUniform4fv[] = "See: `glUniform4fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_245glUniform4fv = {__Pyx_NAMESTR("glUniform4fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_245glUniform4fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_244glUniform4fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_245glUniform4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform4fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform4fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __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 = 1431; __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 = 1431; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_244glUniform4fv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_244glUniform4fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniform4fv", 0);

  /* "kivy\graphics\opengl.pyx":1438
 *     '''
 *     #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 = 1438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1438; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_247glUniform4i(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_246glUniform4i[] = "See: `glUniform4i() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4i.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_247glUniform4i = {__Pyx_NAMESTR("glUniform4i"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_247glUniform4i, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_246glUniform4i)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_247glUniform4i(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform4i (wrapper)", 0);
  {
    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};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4i", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4i", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4i", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__w)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4i", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform4i") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __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 = 1440; __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 = 1440; __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 = 1440; __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 = 1440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4i", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_246glUniform4i(__pyx_self, __pyx_v_location, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_w);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_246glUniform4i(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform4i", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_249glUniform4iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_248glUniform4iv[] = "See: `glUniform4iv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4iv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_249glUniform4iv = {__Pyx_NAMESTR("glUniform4iv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_249glUniform4iv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_248glUniform4iv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_249glUniform4iv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniform4iv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniform4iv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniform4iv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __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 = 1446; __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 = 1446; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniform4iv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_248glUniform4iv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_248glUniform4iv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniform4iv", 0);

  /* "kivy\graphics\opengl.pyx":1453
 *     '''
 *     #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 = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_251glUniformMatrix2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_250glUniformMatrix2fv[] = "See: `glUniformMatrix2fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix2fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_251glUniformMatrix2fv = {__Pyx_NAMESTR("glUniformMatrix2fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_251glUniformMatrix2fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_250glUniformMatrix2fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_251glUniformMatrix2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniformMatrix2fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniformMatrix2fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniformMatrix2fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  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 = 1455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniformMatrix2fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_250glUniformMatrix2fv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_250glUniformMatrix2fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniformMatrix2fv", 0);

  /* "kivy\graphics\opengl.pyx":1462
 *     '''
 *     #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 = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_253glUniformMatrix3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_252glUniformMatrix3fv[] = "See: `glUniformMatrix3fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix3fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_253glUniformMatrix3fv = {__Pyx_NAMESTR("glUniformMatrix3fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_253glUniformMatrix3fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_252glUniformMatrix3fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_253glUniformMatrix3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniformMatrix3fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniformMatrix3fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniformMatrix3fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  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 = 1464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniformMatrix3fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_252glUniformMatrix3fv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_252glUniformMatrix3fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniformMatrix3fv", 0);

  /* "kivy\graphics\opengl.pyx":1471
 *     '''
 *     # 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 = 1471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_255glUniformMatrix4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_254glUniformMatrix4fv[] = "See: `glUniformMatrix4fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix4fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_255glUniformMatrix4fv = {__Pyx_NAMESTR("glUniformMatrix4fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_255glUniformMatrix4fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_254glUniformMatrix4fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_255glUniformMatrix4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUniformMatrix4fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__location,&__pyx_n_s__count,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__location)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glUniformMatrix4fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glUniformMatrix4fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_location = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_location == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_count = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_count == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  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 = 1473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUniformMatrix4fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_254glUniformMatrix4fv(__pyx_self, __pyx_v_location, __pyx_v_count);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_254glUniformMatrix4fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_location, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLsizei __pyx_v_count) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glUniformMatrix4fv", 0);

  /* "kivy\graphics\opengl.pyx":1480
 *     '''
 *     # 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 = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_257glUseProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_256glUseProgram[] = "See: `glUseProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUseProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_257glUseProgram = {__Pyx_NAMESTR("glUseProgram"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_257glUseProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_256glUseProgram)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_257glUseProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUseProgram (wrapper)", 0);
  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 = 1482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glUseProgram", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_256glUseProgram(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_program));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_256glUseProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glUseProgram", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_259glValidateProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_258glValidateProgram[] = "See: `glValidateProgram() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glValidateProgram.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_259glValidateProgram = {__Pyx_NAMESTR("glValidateProgram"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_259glValidateProgram, METH_O, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_258glValidateProgram)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_259glValidateProgram(PyObject *__pyx_self, PyObject *__pyx_arg_program) {
  __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glValidateProgram (wrapper)", 0);
  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 = 1488; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glValidateProgram", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_258glValidateProgram(__pyx_self, ((__pyx_t_4kivy_8graphics_6opengl_GLuint)__pyx_v_program));
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_258glValidateProgram(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_program) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glValidateProgram", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_261glVertexAttrib1f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_260glVertexAttrib1f[] = "See: `glVertexAttrib1f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_261glVertexAttrib1f = {__Pyx_NAMESTR("glVertexAttrib1f"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_261glVertexAttrib1f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_260glVertexAttrib1f)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_261glVertexAttrib1f(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib1f (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__x,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib1f", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glVertexAttrib1f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __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 = 1494; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib1f", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_260glVertexAttrib1f(__pyx_self, __pyx_v_indx, __pyx_v_x);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_260glVertexAttrib1f(CYTHON_UNUSED PyObject *__pyx_self, __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, __pyx_t_4kivy_8graphics_6opengl_GLfloat __pyx_v_x) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib1f", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_263glVertexAttrib1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_262glVertexAttrib1fv[] = "See: `glVertexAttrib1fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_263glVertexAttrib1fv = {__Pyx_NAMESTR("glVertexAttrib1fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_263glVertexAttrib1fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_262glVertexAttrib1fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_263glVertexAttrib1fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  CYTHON_UNUSED PyObject *__pyx_v_values = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib1fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__values,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib1fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glVertexAttrib1fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)values[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 = 1500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib1fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 1500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_262glVertexAttrib1fv(__pyx_self, __pyx_v_indx, __pyx_v_values);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_262glVertexAttrib1fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED PyObject *__pyx_v_values) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glVertexAttrib1fv", 0);

  /* "kivy\graphics\opengl.pyx":1507
 *     '''
 *     #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 = 1507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1507; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_265glVertexAttrib2f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_264glVertexAttrib2f[] = "See: `glVertexAttrib2f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_265glVertexAttrib2f = {__Pyx_NAMESTR("glVertexAttrib2f"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_265glVertexAttrib2f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_264glVertexAttrib2f)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_265glVertexAttrib2f(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib2f (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__x,&__pyx_n_s__y,0};
    PyObject* values[3] = {0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib2f", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib2f", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glVertexAttrib2f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __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 = 1509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib2f", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_264glVertexAttrib2f(__pyx_self, __pyx_v_indx, __pyx_v_x, __pyx_v_y);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_264glVertexAttrib2f(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib2f", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_267glVertexAttrib2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_266glVertexAttrib2fv[] = "See: `glVertexAttrib2fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_267glVertexAttrib2fv = {__Pyx_NAMESTR("glVertexAttrib2fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_267glVertexAttrib2fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_266glVertexAttrib2fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_267glVertexAttrib2fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  CYTHON_UNUSED PyObject *__pyx_v_values = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib2fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__values,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib2fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1515; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glVertexAttrib2fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1515; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1515; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)values[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 = 1515; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib2fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 1515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_266glVertexAttrib2fv(__pyx_self, __pyx_v_indx, __pyx_v_values);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_266glVertexAttrib2fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED PyObject *__pyx_v_values) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glVertexAttrib2fv", 0);

  /* "kivy\graphics\opengl.pyx":1522
 *     '''
 *     #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 = 1522; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1522; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_269glVertexAttrib3f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_268glVertexAttrib3f[] = "See: `glVertexAttrib3f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_269glVertexAttrib3f = {__Pyx_NAMESTR("glVertexAttrib3f"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_269glVertexAttrib3f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_268glVertexAttrib3f)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_269glVertexAttrib3f(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib3f (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__z,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib3f", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib3f", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib3f", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glVertexAttrib3f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsFloat(values[3]); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __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 = 1524; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib3f", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_268glVertexAttrib3f(__pyx_self, __pyx_v_indx, __pyx_v_x, __pyx_v_y, __pyx_v_z);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_268glVertexAttrib3f(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib3f", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_271glVertexAttrib3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_270glVertexAttrib3fv[] = "See: `glVertexAttrib3fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_271glVertexAttrib3fv = {__Pyx_NAMESTR("glVertexAttrib3fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_271glVertexAttrib3fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_270glVertexAttrib3fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_271glVertexAttrib3fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  CYTHON_UNUSED PyObject *__pyx_v_values = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib3fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__values,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib3fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glVertexAttrib3fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)values[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 = 1530; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib3fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_270glVertexAttrib3fv(__pyx_self, __pyx_v_indx, __pyx_v_values);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_270glVertexAttrib3fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED PyObject *__pyx_v_values) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glVertexAttrib3fv", 0);

  /* "kivy\graphics\opengl.pyx":1537
 *     '''
 *     #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 = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_273glVertexAttrib4f(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_272glVertexAttrib4f[] = "See: `glVertexAttrib4f() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4f.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_273glVertexAttrib4f = {__Pyx_NAMESTR("glVertexAttrib4f"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_273glVertexAttrib4f, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_272glVertexAttrib4f)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_273glVertexAttrib4f(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib4f (wrapper)", 0);
  {
    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};
    PyObject* values[5] = {0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib4f", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib4f", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__z)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib4f", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__w)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib4f", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glVertexAttrib4f") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_y == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_z = __pyx_PyFloat_AsFloat(values[3]); if (unlikely((__pyx_v_z == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_w = __pyx_PyFloat_AsFloat(values[4]); if (unlikely((__pyx_v_w == (float)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __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 = 1539; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib4f", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_272glVertexAttrib4f(__pyx_self, __pyx_v_indx, __pyx_v_x, __pyx_v_y, __pyx_v_z, __pyx_v_w);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_272glVertexAttrib4f(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib4f", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_275glVertexAttrib4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_274glVertexAttrib4fv[] = "See: `glVertexAttrib4fv() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4fv.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_275glVertexAttrib4fv = {__Pyx_NAMESTR("glVertexAttrib4fv"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_275glVertexAttrib4fv, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_274glVertexAttrib4fv)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_275glVertexAttrib4fv(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  CYTHON_UNUSED PyObject *__pyx_v_values = 0;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttrib4fv (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__values,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttrib4fv", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glVertexAttrib4fv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __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 = 1545; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_values = ((PyObject*)values[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 = 1545; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttrib4fv", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __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 = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_274glVertexAttrib4fv(__pyx_self, __pyx_v_indx, __pyx_v_values);
  goto __pyx_L0;
  __pyx_L1_error:;
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_274glVertexAttrib4fv(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED PyObject *__pyx_v_values) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glVertexAttrib4fv", 0);

  /* "kivy\graphics\opengl.pyx":1552
 *     '''
 *     #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 = 1552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1552; __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_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_277glVertexAttribPointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_276glVertexAttribPointer[] = "See: `glVertexAttribPointer() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttribPointer.xml>`_\n\n    .. warning:: Not implemented yet.\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_277glVertexAttribPointer = {__Pyx_NAMESTR("glVertexAttribPointer"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_277glVertexAttribPointer, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_276glVertexAttribPointer)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_277glVertexAttribPointer(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx;
  CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_size;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glVertexAttribPointer (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__indx,&__pyx_n_s__size,0};
    PyObject* values[2] = {0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__indx)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glVertexAttribPointer", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glVertexAttribPointer") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
    }
    __pyx_v_indx = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_indx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_size = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __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 = 1554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glVertexAttribPointer", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_276glVertexAttribPointer(__pyx_self, __pyx_v_indx, __pyx_v_size);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_276glVertexAttribPointer(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLuint __pyx_v_indx, CYTHON_UNUSED __pyx_t_4kivy_8graphics_6opengl_GLint __pyx_v_size) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  PyObject *__pyx_t_1 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("glVertexAttribPointer", 0);

  /* "kivy\graphics\opengl.pyx":1561
 *     '''
 *     # 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 = 1561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_279glViewport(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_4kivy_8graphics_6opengl_278glViewport[] = "See: `glViewport() on Kronos website\n    <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glViewport.xml>`_\n    ";
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_279glViewport = {__Pyx_NAMESTR("glViewport"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_279glViewport, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4kivy_8graphics_6opengl_278glViewport)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_279glViewport(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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glViewport (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__y,&__pyx_n_s__width,&__pyx_n_s__height,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_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;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glViewport", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__width)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glViewport", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__height)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("glViewport", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "glViewport") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_x = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __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 = 1563; __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 = 1563; __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 = 1563; __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 = 1563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("kivy.graphics.opengl.glViewport", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_278glViewport(__pyx_self, __pyx_v_x, __pyx_v_y, __pyx_v_width, __pyx_v_height);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

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

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_278glViewport(CYTHON_UNUSED PyObject *__pyx_self, __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;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("glViewport", 0);

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

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

/* Python wrapper */
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_281gl_init_symbols(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyMethodDef __pyx_mdef_4kivy_8graphics_6opengl_281gl_init_symbols = {__Pyx_NAMESTR("gl_init_symbols"), (PyCFunction)__pyx_pw_4kivy_8graphics_6opengl_281gl_init_symbols, METH_NOARGS, __Pyx_DOCSTR(0)};
static PyObject *__pyx_pw_4kivy_8graphics_6opengl_281gl_init_symbols(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("gl_init_symbols (wrapper)", 0);
  __pyx_r = __pyx_pf_4kivy_8graphics_6opengl_280gl_init_symbols(__pyx_self);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* "kivy\graphics\opengl.pyx":1575
 *         char *glewGetErrorString(int)
 *         void glew_dynamic_binding()
 *     def gl_init_symbols():             # <<<<<<<<<<<<<<
 *         cdef int result
 *         cdef bytes error
 */

static PyObject *__pyx_pf_4kivy_8graphics_6opengl_280gl_init_symbols(CYTHON_UNUSED PyObject *__pyx_self) {
  int __pyx_v_result;
  PyObject *__pyx_v_error = 0;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  int __pyx_t_1;
  PyObject *__pyx_t_2 = NULL;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannySetupContext("gl_init_symbols", 0);

  /* "kivy\graphics\opengl.pyx":1578
 *         cdef int result
 *         cdef bytes error
 *         result = glewInit()             # <<<<<<<<<<<<<<
 *         if result != GLEW_OK:
 *             error = glewGetErrorString(result)
 */
  __pyx_v_result = glewInit();

  /* "kivy\graphics\opengl.pyx":1579
 *         cdef bytes error
 *         result = glewInit()
 *         if result != GLEW_OK:             # <<<<<<<<<<<<<<
 *             error = glewGetErrorString(result)
 *             print 'GLEW initialization error:', error
 */
  __pyx_t_1 = ((__pyx_v_result != GLEW_OK) != 0);
  if (__pyx_t_1) {

    /* "kivy\graphics\opengl.pyx":1580
 *         result = glewInit()
 *         if result != GLEW_OK:
 *             error = glewGetErrorString(result)             # <<<<<<<<<<<<<<
 *             print 'GLEW initialization error:', error
 *         else:
 */
    __pyx_t_2 = __Pyx_PyBytes_FromString(glewGetErrorString(__pyx_v_result)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_2));
    __pyx_v_error = ((PyObject*)__pyx_t_2);
    __pyx_t_2 = 0;

    /* "kivy\graphics\opengl.pyx":1581
 *         if result != GLEW_OK:
 *             error = glewGetErrorString(result)
 *             print 'GLEW initialization error:', error             # <<<<<<<<<<<<<<
 *         else:
 *             print 'GLEW initialization succeeded'
 */
    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(__pyx_t_2);
    __Pyx_INCREF(((PyObject *)__pyx_kp_s_23));
    PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_23));
    __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_23));
    __Pyx_INCREF(((PyObject *)__pyx_v_error));
    PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_error));
    __Pyx_GIVEREF(((PyObject *)__pyx_v_error));
    if (__Pyx_Print(0, ((PyObject *)__pyx_t_2), 1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
    goto __pyx_L3;
  }
  /*else*/ {

    /* "kivy\graphics\opengl.pyx":1583
 *             print 'GLEW initialization error:', error
 *         else:
 *             print 'GLEW initialization succeeded'             # <<<<<<<<<<<<<<
 *         glew_dynamic_binding()
 * 
 */
    if (__Pyx_PrintOne(0, ((PyObject *)__pyx_kp_s_24)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_L3:;

  /* "kivy\graphics\opengl.pyx":1584
 *         else:
 *             print 'GLEW initialization succeeded'
 *         glew_dynamic_binding()             # <<<<<<<<<<<<<<
 * 
 * ELSE:
 */
  glew_dynamic_binding();

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_AddTraceback("kivy.graphics.opengl.gl_init_symbols", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_error);
  __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 = {
  #if PY_VERSION_HEX < 0x03020000
    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
  #else
    PyModuleDef_HEAD_INIT,
  #endif
    __Pyx_NAMESTR("opengl"),
    __Pyx_DOCSTR(__pyx_k_25), /* 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_kp_s_133, __pyx_k_133, sizeof(__pyx_k_133), 0, 0, 1, 0},
  {&__pyx_n_s_134, __pyx_k_134, sizeof(__pyx_k_134), 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_154, __pyx_k_154, sizeof(__pyx_k_154), 0, 0, 1, 1},
  {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0},
  {&__pyx_n_s_165, __pyx_k_165, sizeof(__pyx_k_165), 0, 0, 1, 1},
  {&__pyx_n_s_178, __pyx_k_178, sizeof(__pyx_k_178), 0, 0, 1, 1},
  {&__pyx_kp_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 0},
  {&__pyx_n_s_181, __pyx_k_181, sizeof(__pyx_k_181), 0, 0, 1, 1},
  {&__pyx_n_s_196, __pyx_k_196, sizeof(__pyx_k_196), 0, 0, 1, 1},
  {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0},
  {&__pyx_n_s_201, __pyx_k_201, sizeof(__pyx_k_201), 0, 0, 1, 1},
  {&__pyx_kp_s_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 0, 1, 0},
  {&__pyx_n_s_216, __pyx_k_216, sizeof(__pyx_k_216), 0, 0, 1, 1},
  {&__pyx_n_s_225, __pyx_k_225, sizeof(__pyx_k_225), 0, 0, 1, 1},
  {&__pyx_kp_s_23, __pyx_k_23, sizeof(__pyx_k_23), 0, 0, 1, 0},
  {&__pyx_n_s_230, __pyx_k_230, sizeof(__pyx_k_230), 0, 0, 1, 1},
  {&__pyx_n_s_233, __pyx_k_233, sizeof(__pyx_k_233), 0, 0, 1, 1},
  {&__pyx_kp_s_24, __pyx_k_24, sizeof(__pyx_k_24), 0, 0, 1, 0},
  {&__pyx_n_s_252, __pyx_k_252, sizeof(__pyx_k_252), 0, 0, 1, 1},
  {&__pyx_n_s_259, __pyx_k_259, sizeof(__pyx_k_259), 0, 0, 1, 1},
  {&__pyx_n_s_26, __pyx_k_26, sizeof(__pyx_k_26), 0, 0, 1, 1},
  {&__pyx_n_s_265, __pyx_k_265, sizeof(__pyx_k_265), 0, 0, 1, 1},
  {&__pyx_n_s_27, __pyx_k_27, sizeof(__pyx_k_27), 0, 0, 1, 1},
  {&__pyx_n_s_274, __pyx_k_274, sizeof(__pyx_k_274), 0, 0, 1, 1},
  {&__pyx_n_s_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 1, 1},
  {&__pyx_n_s_281, __pyx_k_281, sizeof(__pyx_k_281), 0, 0, 1, 1},
  {&__pyx_n_s_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 1, 1},
  {&__pyx_n_s_296, __pyx_k_296, sizeof(__pyx_k_296), 0, 0, 1, 1},
  {&__pyx_n_s_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 1, 1},
  {&__pyx_n_s_303, __pyx_k_303, sizeof(__pyx_k_303), 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_331, __pyx_k_331, sizeof(__pyx_k_331), 0, 0, 1, 1},
  {&__pyx_n_s_334, __pyx_k_334, sizeof(__pyx_k_334), 0, 0, 1, 1},
  {&__pyx_n_s_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 1, 1},
  {&__pyx_n_s_346, __pyx_k_346, sizeof(__pyx_k_346), 0, 0, 1, 1},
  {&__pyx_n_s_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 0, 1, 1},
  {&__pyx_n_s_351, __pyx_k_351, sizeof(__pyx_k_351), 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_428, __pyx_k_428, sizeof(__pyx_k_428), 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__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_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__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__c_source, __pyx_k__c_source, sizeof(__pyx_k__c_source), 0, 0, 1, 1},
  {&__pyx_n_s__cap, __pyx_k__cap, sizeof(__pyx_k__cap), 0, 0, 1, 1},
  {&__pyx_n_s__count, __pyx_k__count, sizeof(__pyx_k__count), 0, 0, 1, 1},
  {&__pyx_n_s__d, __pyx_k__d, sizeof(__pyx_k__d), 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__end, __pyx_k__end, sizeof(__pyx_k__end), 0, 0, 1, 1},
  {&__pyx_n_s__error, __pyx_k__error, sizeof(__pyx_k__error), 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__file, __pyx_k__file, sizeof(__pyx_k__file), 0, 0, 1, 1},
  {&__pyx_n_s__first, __pyx_k__first, sizeof(__pyx_k__first), 0, 0, 1, 1},
  {&__pyx_n_s__flag, __pyx_k__flag, sizeof(__pyx_k__flag), 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__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__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__gl_type, __pyx_k__gl_type, sizeof(__pyx_k__gl_type), 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__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
  {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 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__infolog, __pyx_k__infolog, sizeof(__pyx_k__infolog), 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__out, __pyx_k__out, sizeof(__pyx_k__out), 0, 0, 1, 1},
  {&__pyx_n_s__p_infolog, __pyx_k__p_infolog, sizeof(__pyx_k__p_infolog), 0, 0, 1, 1},
  {&__pyx_n_s__p_name, __pyx_k__p_name, sizeof(__pyx_k__p_name), 0, 0, 1, 1},
  {&__pyx_n_s__p_source, __pyx_k__p_source, sizeof(__pyx_k__p_source), 0, 0, 1, 1},
  {&__pyx_n_s__p_string, __pyx_k__p_string, sizeof(__pyx_k__p_string), 0, 0, 1, 1},
  {&__pyx_n_s__param, __pyx_k__param, sizeof(__pyx_k__param), 0, 0, 1, 1},
  {&__pyx_n_s__params, __pyx_k__params, sizeof(__pyx_k__params), 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__print, __pyx_k__print, sizeof(__pyx_k__print), 0, 0, 1, 1},
  {&__pyx_n_s__program, __pyx_k__program, sizeof(__pyx_k__program), 0, 0, 1, 1},
  {&__pyx_n_s__py_pixels, __pyx_k__py_pixels, sizeof(__pyx_k__py_pixels), 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__result, __pyx_k__result, sizeof(__pyx_k__result), 0, 0, 1, 1},
  {&__pyx_n_s__s, __pyx_k__s, sizeof(__pyx_k__s), 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__shaders, __pyx_k__shaders, sizeof(__pyx_k__shaders), 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__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_GetBuiltinName(__pyx_n_s__MemoryError); if (!__pyx_builtin_MemoryError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #if PY_MAJOR_VERSION >= 3
  __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s__range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #else
  __pyx_builtin_xrange = __Pyx_GetBuiltinName(__pyx_n_s__xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  __pyx_builtin_NotImplemented = __Pyx_GetBuiltinName(__pyx_n_s__NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1010; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  return 0;
  __pyx_L1_error:;
  return -1;
}

static int __Pyx_InitCachedConstants(void) {
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

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

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

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

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

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

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

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

  /* "kivy\graphics\opengl.pyx":961
 *     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_Pack(1, ((PyObject *)__pyx_kp_s_16)); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_17);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));

  /* "kivy\graphics\opengl.pyx":998
 *     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_Pack(1, ((PyObject *)__pyx_kp_s_18)); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_19);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19));

  /* "kivy\graphics\opengl.pyx":1024
 *     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_Pack(1, ((PyObject *)__pyx_kp_s_18)); if (unlikely(!__pyx_k_tuple_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_20);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_20));

  /* "kivy\graphics\opengl.pyx":1193
 *     data = <char *>malloc(size)
 *     if data == NULL:
 *         raise MemoryError('glReadPixels()')             # <<<<<<<<<<<<<<
 * 
 *     c_opengl.glPixelStorei(GL_PACK_ALIGNMENT, 1)
 */
  __pyx_k_tuple_22 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_21)); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_22);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22));

  /* "kivy\graphics\opengl.pyx":453
 * 
 * 
 * def glActiveTexture(GLenum texture):             # <<<<<<<<<<<<<<
 *     '''See: `glActiveTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glActiveTexture.xml>`_
 */
  __pyx_k_tuple_131 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__texture), ((PyObject *)__pyx_n_s__texture)); if (unlikely(!__pyx_k_tuple_131)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_131);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_131));
  __pyx_k_codeobj_132 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glActiveTexture, 453, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_132)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":459
 *     c_opengl.glActiveTexture(texture)
 * 
 * def glAttachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glAttachShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glAttachShader.xml>`_
 */
  __pyx_k_tuple_135 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__shader)); if (unlikely(!__pyx_k_tuple_135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_135);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_135));
  __pyx_k_codeobj_136 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glAttachShader, 459, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":465
 *     c_opengl.glAttachShader(program, shader)
 * 
 * def glBindAttribLocation(GLuint program, GLuint index, bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glBindAttribLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindAttribLocation.xml>`_
 */
  __pyx_k_tuple_137 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__name)); if (unlikely(!__pyx_k_tuple_137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_137);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_137));
  __pyx_k_codeobj_138 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_139, 465, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":471
 *     c_opengl.glBindAttribLocation(program, index, <char *>name)
 * 
 * def glBindBuffer(GLenum target, GLuint buffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindBuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindBuffer.xml>`_
 */
  __pyx_k_tuple_140 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__buffer)); if (unlikely(!__pyx_k_tuple_140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_140);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_140));
  __pyx_k_codeobj_141 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBindBuffer, 471, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":477
 *     c_opengl.glBindBuffer(target, buffer)
 * 
 * def glBindFramebuffer(GLenum target, GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindFramebuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindFramebuffer.xml>`_
 */
  __pyx_k_tuple_142 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__framebuffer)); if (unlikely(!__pyx_k_tuple_142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_142);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_142));
  __pyx_k_codeobj_143 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBindFramebuffer, 477, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":483
 *     c_opengl.glBindFramebuffer(target, framebuffer)
 * 
 * def glBindRenderbuffer(GLenum target, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml>`_
 */
  __pyx_k_tuple_144 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__renderbuffer)); if (unlikely(!__pyx_k_tuple_144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_144);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_144));
  __pyx_k_codeobj_145 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBindRenderbuffer, 483, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":489
 *     c_opengl.glBindRenderbuffer(target, renderbuffer)
 * 
 * def glBindTexture(GLenum target, GLuint texture):             # <<<<<<<<<<<<<<
 *     '''See: `glBindTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindTexture.xml>`_
 */
  __pyx_k_tuple_146 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__texture)); if (unlikely(!__pyx_k_tuple_146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_146);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_146));
  __pyx_k_codeobj_147 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBindTexture, 489, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":495
 *     c_opengl.glBindTexture(target, texture)
 * 
 * def glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendColor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendColor.xml>`_
 */
  __pyx_k_tuple_148 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__red), ((PyObject *)__pyx_n_s__green), ((PyObject *)__pyx_n_s__blue), ((PyObject *)__pyx_n_s__alpha)); if (unlikely(!__pyx_k_tuple_148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_148);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_148));
  __pyx_k_codeobj_149 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBlendColor, 495, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":501
 *     c_opengl.glBlendColor(red, green, blue, alpha)
 * 
 * def glBlendEquation(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendEquation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquation.xml>`_
 */
  __pyx_k_tuple_150 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__mode), ((PyObject *)__pyx_n_s__mode)); if (unlikely(!__pyx_k_tuple_150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_150);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_150));
  __pyx_k_codeobj_151 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_150, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBlendEquation, 501, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":507
 *     c_opengl.glBlendEquation(mode)
 * 
 * def glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendEquationSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquationSeparate.xml>`_
 */
  __pyx_k_tuple_152 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__modeRGB), ((PyObject *)__pyx_n_s__modeAlpha)); if (unlikely(!__pyx_k_tuple_152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_152);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_152));
  __pyx_k_codeobj_153 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_152, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_154, 507, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":513
 *     c_opengl.glBlendEquationSeparate(modeRGB, modeAlpha)
 * 
 * def glBlendFunc(GLenum sfactor, GLenum dfactor):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFunc.xml>`_
 */
  __pyx_k_tuple_155 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__sfactor), ((PyObject *)__pyx_n_s__dfactor)); if (unlikely(!__pyx_k_tuple_155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_155);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_155));
  __pyx_k_codeobj_156 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBlendFunc, 513, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":519
 *     c_opengl.glBlendFunc(sfactor, dfactor)
 * 
 * def glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendFuncSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFuncSeparate.xml>`_
 */
  __pyx_k_tuple_157 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__srcRGB), ((PyObject *)__pyx_n_s__dstRGB), ((PyObject *)__pyx_n_s__srcAlpha), ((PyObject *)__pyx_n_s__dstAlpha)); if (unlikely(!__pyx_k_tuple_157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_157);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_157));
  __pyx_k_codeobj_158 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBlendFuncSeparate, 519, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":525
 *     c_opengl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)
 * 
 * def glBufferData(GLenum target, GLsizeiptr size, bytes data, GLenum usage):             # <<<<<<<<<<<<<<
 *     '''See: `glBufferData() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferData.xml>`_
 */
  __pyx_k_tuple_159 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__data), ((PyObject *)__pyx_n_s__usage)); if (unlikely(!__pyx_k_tuple_159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_159);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_159));
  __pyx_k_codeobj_160 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBufferData, 525, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":531
 *     c_opengl.glBufferData(target, size, <char *>data, usage)
 * 
 * def glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data):             # <<<<<<<<<<<<<<
 *     '''See: `glBufferSubData() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferSubData.xml>`_
 */
  __pyx_k_tuple_161 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__offset), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__data)); if (unlikely(!__pyx_k_tuple_161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_161);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_161));
  __pyx_k_codeobj_162 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glBufferSubData, 531, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":537
 *     c_opengl.glBufferSubData(target, offset, size, <char *>data)
 * 
 * def glCheckFramebufferStatus(GLenum target):             # <<<<<<<<<<<<<<
 *     '''See: `glCheckFramebufferStatus() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCheckFramebufferStatus.xml>`_
 */
  __pyx_k_tuple_163 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__result)); if (unlikely(!__pyx_k_tuple_163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_163);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_163));
  __pyx_k_codeobj_164 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_165, 537, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":545
 *     return result
 * 
 * def glClear(GLbitfield mask):             # <<<<<<<<<<<<<<
 *     '''See: `glClear() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClear.xml>`_
 */
  __pyx_k_tuple_166 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__mask), ((PyObject *)__pyx_n_s__mask)); if (unlikely(!__pyx_k_tuple_166)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_166);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_166));
  __pyx_k_codeobj_167 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_166, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glClear, 545, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_167)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":551
 *     c_opengl.glClear(mask)
 * 
 * def glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glClearColor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearColor.xml>`_
 */
  __pyx_k_tuple_168 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__red), ((PyObject *)__pyx_n_s__green), ((PyObject *)__pyx_n_s__blue), ((PyObject *)__pyx_n_s__alpha)); if (unlikely(!__pyx_k_tuple_168)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_168);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_168));
  __pyx_k_codeobj_169 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_168, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glClearColor, 551, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_169)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":565
 * #    c_opengl.glClearDepthf(depth)
 * 
 * def glClearStencil(GLint s):             # <<<<<<<<<<<<<<
 *     '''See: `glClearStencil() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearStencil.xml>`_
 */
  __pyx_k_tuple_170 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__s), ((PyObject *)__pyx_n_s__s)); if (unlikely(!__pyx_k_tuple_170)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_170);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_170));
  __pyx_k_codeobj_171 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_170, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glClearStencil, 565, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_171)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":571
 *     c_opengl.glClearStencil(s)
 * 
 * def glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glColorMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glColorMask.xml>`_
 */
  __pyx_k_tuple_172 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__red), ((PyObject *)__pyx_n_s__green), ((PyObject *)__pyx_n_s__blue), ((PyObject *)__pyx_n_s__alpha)); if (unlikely(!__pyx_k_tuple_172)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_172);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_172));
  __pyx_k_codeobj_173 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_172, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glColorMask, 571, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_173)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":577
 *     c_opengl.glColorMask(red, green, blue, alpha)
 * 
 * def glCompileShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glCompileShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompileShader.xml>`_
 */
  __pyx_k_tuple_174 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__shader), ((PyObject *)__pyx_n_s__shader)); if (unlikely(!__pyx_k_tuple_174)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_174);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_174));
  __pyx_k_codeobj_175 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_174, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glCompileShader, 577, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_175)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":583
 *     c_opengl.glCompileShader(shader)
 * 
 * def glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat,             # <<<<<<<<<<<<<<
 *                            GLsizei width, GLsizei height, GLint border, GLsizei
 *                            imageSize,  bytes data):
 */
  __pyx_k_tuple_176 = PyTuple_Pack(8, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__level), ((PyObject *)__pyx_n_s__internalformat), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height), ((PyObject *)__pyx_n_s__border), ((PyObject *)__pyx_n_s__imageSize), ((PyObject *)__pyx_n_s__data)); if (unlikely(!__pyx_k_tuple_176)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_176);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_176));
  __pyx_k_codeobj_177 = (PyObject*)__Pyx_PyCode_New(8, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_176, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_178, 583, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_177)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":592
 *                                     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_k_tuple_179 = PyTuple_Pack(9, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__level), ((PyObject *)__pyx_n_s__xoffset), ((PyObject *)__pyx_n_s__yoffset), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height), ((PyObject *)__pyx_n_s__format), ((PyObject *)__pyx_n_s__imageSize), ((PyObject *)__pyx_n_s__data)); if (unlikely(!__pyx_k_tuple_179)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_179);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_179));
  __pyx_k_codeobj_180 = (PyObject*)__Pyx_PyCode_New(9, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_181, 592, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_180)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":601
 *                                        height, format, imageSize, <char *>data)
 * 
 * def glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border):             # <<<<<<<<<<<<<<
 *     '''See: `glCopyTexImage2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexImage2D.xml>`_
 */
  __pyx_k_tuple_182 = PyTuple_Pack(8, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__level), ((PyObject *)__pyx_n_s__internalformat), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height), ((PyObject *)__pyx_n_s__border)); if (unlikely(!__pyx_k_tuple_182)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_182);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_182));
  __pyx_k_codeobj_183 = (PyObject*)__Pyx_PyCode_New(8, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_182, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glCopyTexImage2D, 601, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_183)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":607
 *     c_opengl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border)
 * 
 * def glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glCopyTexSubImage2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml>`_
 */
  __pyx_k_tuple_184 = PyTuple_Pack(8, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__level), ((PyObject *)__pyx_n_s__xoffset), ((PyObject *)__pyx_n_s__yoffset), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height)); if (unlikely(!__pyx_k_tuple_184)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_184);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_184));
  __pyx_k_codeobj_185 = (PyObject*)__Pyx_PyCode_New(8, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_184, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glCopyTexSubImage2D, 607, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_185)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":613
 *     c_opengl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
 * 
 * def glCreateProgram():             # <<<<<<<<<<<<<<
 *     '''See: `glCreateProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateProgram.xml>`_
 */
  __pyx_k_tuple_186 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__id)); if (unlikely(!__pyx_k_tuple_186)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_186);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_186));
  __pyx_k_codeobj_187 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_186, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glCreateProgram, 613, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_187)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":621
 *     return id
 * 
 * def glCreateShader(GLenum type):             # <<<<<<<<<<<<<<
 *     '''See: `glCreateShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateShader.xml>`_
 */
  __pyx_k_tuple_188 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__type), ((PyObject *)__pyx_n_s__type), ((PyObject *)__pyx_n_s__id)); if (unlikely(!__pyx_k_tuple_188)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_188);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_188));
  __pyx_k_codeobj_189 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_188, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glCreateShader, 621, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_189)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":629
 *     return id
 * 
 * def glCullFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glCullFace() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCullFace.xml>`_
 */
  __pyx_k_tuple_190 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__mode), ((PyObject *)__pyx_n_s__mode)); if (unlikely(!__pyx_k_tuple_190)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_190);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_190));
  __pyx_k_codeobj_191 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_190, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glCullFace, 629, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_191)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":635
 *     c_opengl.glCullFace(mode)
 * 
 * def glDeleteBuffers(GLsizei n, bytes buffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteBuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteBuffers.xml>`_
 */
  __pyx_k_tuple_192 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__buffers)); if (unlikely(!__pyx_k_tuple_192)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_192);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_192));
  __pyx_k_codeobj_193 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_192, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDeleteBuffers, 635, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_193)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":641
 *     c_opengl.glDeleteBuffers(n, <GLuint *><char *>buffers)
 * 
 * def glDeleteFramebuffers(GLsizei n, bytes framebuffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteFramebuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteFramebuffers.xml>`_
 */
  __pyx_k_tuple_194 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__framebuffers)); if (unlikely(!__pyx_k_tuple_194)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_194);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_194));
  __pyx_k_codeobj_195 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_194, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_196, 641, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_195)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 641; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":647
 *     c_opengl.glDeleteFramebuffers(n, <GLuint *><char *>framebuffers)
 * 
 * def glDeleteProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteProgram.xml>`_
 */
  __pyx_k_tuple_197 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__program)); if (unlikely(!__pyx_k_tuple_197)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_197);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_197));
  __pyx_k_codeobj_198 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_197, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDeleteProgram, 647, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_198)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":653
 *     c_opengl.glDeleteProgram(program)
 * 
 * def glDeleteRenderbuffers(GLsizei n, bytes renderbuffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteRenderbuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteRenderbuffers.xml>`_
 */
  __pyx_k_tuple_199 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__renderbuffers)); if (unlikely(!__pyx_k_tuple_199)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_199);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_199));
  __pyx_k_codeobj_200 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_199, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_201, 653, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_200)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":659
 *     c_opengl.glDeleteRenderbuffers(n, <GLuint *><char *>renderbuffers)
 * 
 * def glDeleteShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteShader.xml>`_
 */
  __pyx_k_tuple_202 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__shader), ((PyObject *)__pyx_n_s__shader)); if (unlikely(!__pyx_k_tuple_202)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_202);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_202));
  __pyx_k_codeobj_203 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_202, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDeleteShader, 659, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_203)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":665
 *     c_opengl.glDeleteShader(shader)
 * 
 * def glDeleteTextures(GLsizei n, bytes textures):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteTextures() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteTextures.xml>`_
 */
  __pyx_k_tuple_204 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__textures)); if (unlikely(!__pyx_k_tuple_204)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_204);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_204));
  __pyx_k_codeobj_205 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_204, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDeleteTextures, 665, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_205)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":671
 *     c_opengl.glDeleteTextures(n, <GLuint *><char *>textures)
 * 
 * def glDepthFunc(GLenum func):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthFunc.xml>`_
 */
  __pyx_k_tuple_206 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__func), ((PyObject *)__pyx_n_s__func)); if (unlikely(!__pyx_k_tuple_206)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_206);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_206));
  __pyx_k_codeobj_207 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_206, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDepthFunc, 671, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_207)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":677
 *     c_opengl.glDepthFunc(func)
 * 
 * def glDepthMask(GLboolean flag):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthMask.xml>`_
 */
  __pyx_k_tuple_208 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__flag), ((PyObject *)__pyx_n_s__flag)); if (unlikely(!__pyx_k_tuple_208)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_208);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_208));
  __pyx_k_codeobj_209 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_208, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDepthMask, 677, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_209)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":689
 * #    c_opengl.glDepthRangef(zNear, zFar)
 * 
 * def glDetachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glDetachShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDetachShader.xml>`_
 */
  __pyx_k_tuple_210 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__shader)); if (unlikely(!__pyx_k_tuple_210)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_210);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_210));
  __pyx_k_codeobj_211 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_210, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDetachShader, 689, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_211)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":695
 *     c_opengl.glDetachShader(program, shader)
 * 
 * def glDisable(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glDisable() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisable.xml>`_
 */
  __pyx_k_tuple_212 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__cap), ((PyObject *)__pyx_n_s__cap)); if (unlikely(!__pyx_k_tuple_212)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_212);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_212));
  __pyx_k_codeobj_213 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_212, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDisable, 695, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_213)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":701
 *     c_opengl.glDisable(cap)
 * 
 * def glDisableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glDisableVertexAttribArray() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisableVertexAttribArray.xml>`_
 */
  __pyx_k_tuple_214 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__index)); if (unlikely(!__pyx_k_tuple_214)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_214);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_214));
  __pyx_k_codeobj_215 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_214, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_216, 701, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_215)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":707
 *     c_opengl.glDisableVertexAttribArray(index)
 * 
 * def glDrawArrays(GLenum mode, GLint first, GLsizei count):             # <<<<<<<<<<<<<<
 *     '''See: `glDrawArrays() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawArrays.xml>`_
 */
  __pyx_k_tuple_217 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__mode), ((PyObject *)__pyx_n_s__first), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_217)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_217);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_217));
  __pyx_k_codeobj_218 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_217, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDrawArrays, 707, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_218)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":713
 *     c_opengl.glDrawArrays(mode, first, count)
 * 
 * def glDrawElements(GLenum mode, GLsizei count, GLenum type, bytes indices):             # <<<<<<<<<<<<<<
 *     '''See: `glDrawElements() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml>`_
 */
  __pyx_k_tuple_219 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__mode), ((PyObject *)__pyx_n_s__count), ((PyObject *)__pyx_n_s__type), ((PyObject *)__pyx_n_s__indices)); if (unlikely(!__pyx_k_tuple_219)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_219);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_219));
  __pyx_k_codeobj_220 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_219, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glDrawElements, 713, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_220)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":719
 *     c_opengl.glDrawElements(mode, count, type, <void *>indices)
 * 
 * def glEnable(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glEnable() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml>`_
 */
  __pyx_k_tuple_221 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__cap), ((PyObject *)__pyx_n_s__cap)); if (unlikely(!__pyx_k_tuple_221)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_221);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_221));
  __pyx_k_codeobj_222 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_221, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glEnable, 719, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_222)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":725
 *     c_opengl.glEnable(cap)
 * 
 * def glEnableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glEnableVertexAttribArray() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml>`_
 */
  __pyx_k_tuple_223 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__index)); if (unlikely(!__pyx_k_tuple_223)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_223);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_223));
  __pyx_k_codeobj_224 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_223, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_225, 725, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_224)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":731
 *     c_opengl.glEnableVertexAttribArray(index)
 * 
 * def glFinish():             # <<<<<<<<<<<<<<
 *     '''See: `glFinish() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFinish.xml>`_
 */
  __pyx_k_codeobj_226 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glFinish, 731, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_226)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":737
 *     c_opengl.glFinish()
 * 
 * def glFlush():             # <<<<<<<<<<<<<<
 *     '''See: `glFlush() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFlush.xml>`_
 */
  __pyx_k_codeobj_227 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glFlush, 737, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_227)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":743
 *     c_opengl.glFlush()
 * 
 * def glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glFramebufferRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferRenderbuffer.xml>`_
 */
  __pyx_k_tuple_228 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__attachment), ((PyObject *)__pyx_n_s__renderbuffertarget), ((PyObject *)__pyx_n_s__renderbuffer)); if (unlikely(!__pyx_k_tuple_228)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_228);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_228));
  __pyx_k_codeobj_229 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_228, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_230, 743, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_229)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":749
 *     c_opengl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)
 * 
 * def glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level):             # <<<<<<<<<<<<<<
 *     '''See: `glFramebufferTexture2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferTexture2D.xml>`_
 */
  __pyx_k_tuple_231 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__attachment), ((PyObject *)__pyx_n_s__textarget), ((PyObject *)__pyx_n_s__texture), ((PyObject *)__pyx_n_s__level)); if (unlikely(!__pyx_k_tuple_231)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_231);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_231));
  __pyx_k_codeobj_232 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_231, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_233, 749, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_232)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":755
 *     c_opengl.glFramebufferTexture2D(target, attachment, textarget, texture, level)
 * 
 * def glFrontFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glFrontFace() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml>`_
 */
  __pyx_k_tuple_234 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__mode), ((PyObject *)__pyx_n_s__mode)); if (unlikely(!__pyx_k_tuple_234)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_234);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_234));
  __pyx_k_codeobj_235 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_234, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glFrontFace, 755, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_235)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":761
 *     c_opengl.glFrontFace(mode)
 * 
 * def glGenBuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenBuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenBuffers.xml>`_
 */
  __pyx_k_tuple_236 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__d)); if (unlikely(!__pyx_k_tuple_236)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_236);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_236));
  __pyx_k_codeobj_237 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_236, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGenBuffers, 761, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_237)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":771
 *     return _genEnd(n, d)
 * 
 * def glGenerateMipmap(GLenum target):             # <<<<<<<<<<<<<<
 *     '''See: `glGenerateMipmap() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenerateMipmap.xml>`_
 */
  __pyx_k_tuple_238 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__target)); if (unlikely(!__pyx_k_tuple_238)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_238);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_238));
  __pyx_k_codeobj_239 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_238, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGenerateMipmap, 771, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_239)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":777
 *     c_opengl.glGenerateMipmap(target)
 * 
 * def glGenFramebuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenFramebuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenFramebuffers.xml>`_
 */
  __pyx_k_tuple_240 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__d)); if (unlikely(!__pyx_k_tuple_240)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_240);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_240));
  __pyx_k_codeobj_241 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_240, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGenFramebuffers, 777, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_241)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":787
 *     return _genEnd(n, d)
 * 
 * def glGenRenderbuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenRenderbuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenRenderbuffers.xml>`_
 */
  __pyx_k_tuple_242 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__d)); if (unlikely(!__pyx_k_tuple_242)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_242);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_242));
  __pyx_k_codeobj_243 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_242, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGenRenderbuffers, 787, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_243)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":797
 *     return _genEnd(n, d)
 * 
 * def glGenTextures(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenTextures() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenTextures.xml>`_
 */
  __pyx_k_tuple_244 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__d)); if (unlikely(!__pyx_k_tuple_244)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_244);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_244));
  __pyx_k_codeobj_245 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_244, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGenTextures, 797, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_245)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":807
 *     return _genEnd(n, d)
 * 
 * def glGetActiveAttrib(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glGetActiveAttrib() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveAttrib.xml>`_
 */
  __pyx_k_tuple_246 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__gl_type), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__p_name)); if (unlikely(!__pyx_k_tuple_246)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_246);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_246));
  __pyx_k_codeobj_247 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_246, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetActiveAttrib, 807, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_247)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":825
 *     return p_name, size, gl_type
 * 
 * def glGetActiveUniform(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glGetActiveUniform() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveUniform.xml>`_
 */
  __pyx_k_tuple_248 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__gl_type), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__p_name)); if (unlikely(!__pyx_k_tuple_248)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_248);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_248));
  __pyx_k_codeobj_249 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_248, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetActiveUniform, 825, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_249)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":843
 *     return p_name, size, gl_type
 * 
 * def glGetAttachedShaders(GLuint program, GLsizei maxcount):             # <<<<<<<<<<<<<<
 *     '''See: `glGetAttachedShaders() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttachedShaders.xml>`_
 */
  __pyx_k_tuple_250 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__maxcount), ((PyObject *)__pyx_n_s__count), ((PyObject *)__pyx_n_s__shaders)); if (unlikely(!__pyx_k_tuple_250)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_250);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_250));
  __pyx_k_codeobj_251 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_250, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_252, 843, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_251)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":854
 *     return _genEnd(count, shaders)
 * 
 * def glGetAttribLocation(GLuint program,  bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetAttribLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttribLocation.xml>`_
 */
  __pyx_k_tuple_253 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__name)); if (unlikely(!__pyx_k_tuple_253)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_253);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_253));
  __pyx_k_codeobj_254 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_253, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetAttribLocation, 854, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_254)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":862
 *     return c_opengl.glGetAttribLocation(program, <char *>name)
 * 
 * def glGetBooleanv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetBooleanv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBooleanv.xml>`_
 */
  __pyx_k_tuple_255 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params), ((PyObject *)__pyx_n_s__out), ((PyObject *)__pyx_n_s__i)); if (unlikely(!__pyx_k_tuple_255)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_255);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_255));
  __pyx_k_codeobj_256 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_255, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetBooleanv, 862, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_256)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":876
 *     return out
 * 
 * def glGetBufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetBufferParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBufferParameteriv.xml>`_
 */
  __pyx_k_tuple_257 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params), ((PyObject *)__pyx_n_s__out), ((PyObject *)__pyx_n_s__i)); if (unlikely(!__pyx_k_tuple_257)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_257);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_257));
  __pyx_k_codeobj_258 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_257, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_259, 876, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_258)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":890
 *     return out
 * 
 * def glGetError():             # <<<<<<<<<<<<<<
 *     '''See: `glGetError() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetError.xml>`_
 */
  __pyx_k_codeobj_260 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetError, 890, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_260)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":898
 *     return c_opengl.glGetError()
 * 
 * def glGetFloatv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetFloatv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFloatv.xml>`_
 */
  __pyx_k_tuple_261 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params), ((PyObject *)__pyx_n_s__out), ((PyObject *)__pyx_n_s__i)); if (unlikely(!__pyx_k_tuple_261)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_261);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_261));
  __pyx_k_codeobj_262 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_261, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetFloatv, 898, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_262)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":912
 *     return out
 * 
 * def glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetFramebufferAttachmentParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFramebufferAttachmentParameteriv.xml>`_
 */
  __pyx_k_tuple_263 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__attachment), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params), ((PyObject *)__pyx_n_s__out), ((PyObject *)__pyx_n_s__i)); if (unlikely(!__pyx_k_tuple_263)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_263);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_263));
  __pyx_k_codeobj_264 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_263, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_265, 912, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_264)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":926
 *     return out
 * 
 * def glGetIntegerv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetIntegerv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetIntegerv.xml>`_
 */
  __pyx_k_tuple_266 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params), ((PyObject *)__pyx_n_s__out), ((PyObject *)__pyx_n_s__i)); if (unlikely(!__pyx_k_tuple_266)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_266);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_266));
  __pyx_k_codeobj_267 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_266, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetIntegerv, 926, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_267)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":940
 *     return out
 * 
 * def glGetProgramiv(GLuint program, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetProgramiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramiv.xml>`_
 */
  __pyx_k_tuple_268 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params)); if (unlikely(!__pyx_k_tuple_268)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_268);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_268));
  __pyx_k_codeobj_269 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_268, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetProgramiv, 940, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_269)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":950
 *     return params
 * 
 * def glGetProgramInfoLog(GLuint program, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     '''See: `glGetProgramInfoLog() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramInfoLog.xml>`_
 */
  __pyx_k_tuple_270 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__bufsize), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__infolog), ((PyObject *)__pyx_n_s__p_infolog)); if (unlikely(!__pyx_k_tuple_270)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_270);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_270));
  __pyx_k_codeobj_271 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_270, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetProgramInfoLog, 950, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_271)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":967
 *     return p_infolog
 * 
 * def glGetRenderbufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetRenderbufferParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetRenderbufferParameteriv.xml>`_
 */
  __pyx_k_tuple_272 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params)); if (unlikely(!__pyx_k_tuple_272)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_272);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_272));
  __pyx_k_codeobj_273 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_272, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_274, 967, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_273)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":977
 *     return params
 * 
 * def glGetShaderiv(GLuint shader, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderiv.xml>`_
 */
  __pyx_k_tuple_275 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__shader), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params)); if (unlikely(!__pyx_k_tuple_275)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_275);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_275));
  __pyx_k_codeobj_276 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_275, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetShaderiv, 977, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_276)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":987
 *     return params
 * 
 * def glGetShaderInfoLog(GLuint shader, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderInfoLog() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderInfoLog.xml>`_
 */
  __pyx_k_tuple_277 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__shader), ((PyObject *)__pyx_n_s__bufsize), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__infolog), ((PyObject *)__pyx_n_s__p_infolog)); if (unlikely(!__pyx_k_tuple_277)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_277);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_277));
  __pyx_k_codeobj_278 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_277, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetShaderInfoLog, 987, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_278)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1004
 *     return p_infolog
 * 
 * def glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype): #, GLint* range, GLint* precision):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderPrecisionFormat() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderPrecisionFormat.xml>`_
 */
  __pyx_k_tuple_279 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__shadertype), ((PyObject *)__pyx_n_s__precisiontype)); if (unlikely(!__pyx_k_tuple_279)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_279);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_279));
  __pyx_k_codeobj_280 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_279, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_281, 1004, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_280)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1013
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 * 
 * def glGetShaderSource(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderSource() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderSource.xml>`_
 */
  __pyx_k_tuple_282 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__shader), ((PyObject *)__pyx_n_s__shader), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__source), ((PyObject *)__pyx_n_s__p_source)); if (unlikely(!__pyx_k_tuple_282)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_282);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_282));
  __pyx_k_codeobj_283 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_282, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetShaderSource, 1013, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_283)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1030
 *     return p_source
 * 
 * def glGetString(GLenum name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetString() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml>`_
 */
  __pyx_k_tuple_284 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__p_string)); if (unlikely(!__pyx_k_tuple_284)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_284);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_284));
  __pyx_k_codeobj_285 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_284, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetString, 1030, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_285)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1040
 *     return p_string
 * 
 * def glGetTexParameterfv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetTexParameterfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameterfv.xml>`_
 */
  __pyx_k_tuple_286 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params)); if (unlikely(!__pyx_k_tuple_286)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_286);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_286));
  __pyx_k_codeobj_287 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_286, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetTexParameterfv, 1040, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_287)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1048
 *     return params
 * 
 * def glGetTexParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetTexParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameteriv.xml>`_
 */
  __pyx_k_tuple_288 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params)); if (unlikely(!__pyx_k_tuple_288)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_288);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_288));
  __pyx_k_codeobj_289 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_288, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetTexParameteriv, 1048, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_289)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1056
 *     return params
 * 
 * def glGetUniformfv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformfv.xml>`_
 */
  __pyx_k_tuple_290 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__params)); if (unlikely(!__pyx_k_tuple_290)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1056; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_290);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_290));
  __pyx_k_codeobj_291 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_290, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetUniformfv, 1056, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_291)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1056; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1064
 *     return params
 * 
 * def glGetUniformiv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformiv.xml>`_
 */
  __pyx_k_tuple_292 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__params)); if (unlikely(!__pyx_k_tuple_292)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_292);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_292));
  __pyx_k_codeobj_293 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_292, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetUniformiv, 1064, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_293)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1072
 *     return params
 * 
 * def glGetUniformLocation(GLuint program, bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml>`_
 */
  __pyx_k_tuple_294 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__name)); if (unlikely(!__pyx_k_tuple_294)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_294);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_294));
  __pyx_k_codeobj_295 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_294, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_296, 1072, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_295)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1078
 *     return c_opengl.glGetUniformLocation(program, <char *>name)
 * 
 * def glGetVertexAttribfv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribfv.xml>`_
 */
  __pyx_k_tuple_297 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params)); if (unlikely(!__pyx_k_tuple_297)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_297);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_297));
  __pyx_k_codeobj_298 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_297, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetVertexAttribfv, 1078, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_298)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1086
 *     return params
 * 
 * def glGetVertexAttribiv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribiv.xml>`_
 */
  __pyx_k_tuple_299 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__params)); if (unlikely(!__pyx_k_tuple_299)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_299);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_299));
  __pyx_k_codeobj_300 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_299, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glGetVertexAttribiv, 1086, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_300)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1094
 *     return params
 * 
 * def glGetVertexAttribPointerv(GLuint index, GLenum pname):#, GLvoid** pointer):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribPointerv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribPointerv.xml>`_
 */
  __pyx_k_tuple_301 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__pname)); if (unlikely(!__pyx_k_tuple_301)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_301);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_301));
  __pyx_k_codeobj_302 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_301, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_303, 1094, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_302)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1103
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 * 
 * def glHint(GLenum target, GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glHint() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glHint.xml>`_
 */
  __pyx_k_tuple_304 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__mode)); if (unlikely(!__pyx_k_tuple_304)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_304);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_304));
  __pyx_k_codeobj_305 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_304, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glHint, 1103, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_305)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1109
 *     c_opengl.glHint(target, mode)
 * 
 * def glIsBuffer(GLuint buffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsBuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsBuffer.xml>`_
 */
  __pyx_k_tuple_306 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__buffer), ((PyObject *)__pyx_n_s__buffer)); if (unlikely(!__pyx_k_tuple_306)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_306);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_306));
  __pyx_k_codeobj_307 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_306, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glIsBuffer, 1109, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_307)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1115
 *     return c_opengl.glIsBuffer(buffer)
 * 
 * def glIsEnabled(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glIsEnabled() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsEnabled.xml>`_
 */
  __pyx_k_tuple_308 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__cap), ((PyObject *)__pyx_n_s__cap)); if (unlikely(!__pyx_k_tuple_308)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_308);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_308));
  __pyx_k_codeobj_309 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_308, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glIsEnabled, 1115, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_309)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1121
 *     return c_opengl.glIsEnabled(cap)
 * 
 * def glIsFramebuffer(GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsFramebuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsFramebuffer.xml>`_
 */
  __pyx_k_tuple_310 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__framebuffer), ((PyObject *)__pyx_n_s__framebuffer)); if (unlikely(!__pyx_k_tuple_310)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_310);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_310));
  __pyx_k_codeobj_311 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_310, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glIsFramebuffer, 1121, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_311)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1127
 *     return c_opengl.glIsFramebuffer(framebuffer)
 * 
 * def glIsProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glIsProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsProgram.xml>`_
 */
  __pyx_k_tuple_312 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__program)); if (unlikely(!__pyx_k_tuple_312)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_312);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_312));
  __pyx_k_codeobj_313 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_312, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glIsProgram, 1127, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_313)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1133
 *     return c_opengl.glIsProgram(program)
 * 
 * def glIsRenderbuffer(GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsRenderbuffer.xml>`_
 */
  __pyx_k_tuple_314 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__renderbuffer), ((PyObject *)__pyx_n_s__renderbuffer)); if (unlikely(!__pyx_k_tuple_314)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_314);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_314));
  __pyx_k_codeobj_315 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_314, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glIsRenderbuffer, 1133, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_315)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1139
 *     return c_opengl.glIsRenderbuffer(renderbuffer)
 * 
 * def glIsShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glIsShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsShader.xml>`_
 */
  __pyx_k_tuple_316 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__shader), ((PyObject *)__pyx_n_s__shader)); if (unlikely(!__pyx_k_tuple_316)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_316);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_316));
  __pyx_k_codeobj_317 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_316, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glIsShader, 1139, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_317)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1145
 *     return c_opengl.glIsShader(shader)
 * 
 * def glIsTexture(GLuint texture):             # <<<<<<<<<<<<<<
 *     '''See: `glIsTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsTexture.xml>`_
 */
  __pyx_k_tuple_318 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__texture), ((PyObject *)__pyx_n_s__texture)); if (unlikely(!__pyx_k_tuple_318)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_318);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_318));
  __pyx_k_codeobj_319 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_318, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glIsTexture, 1145, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_319)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1151
 *     return c_opengl.glIsTexture(texture)
 * 
 * def glLineWidth(GLfloat width):             # <<<<<<<<<<<<<<
 *     '''See: `glLineWidth() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLineWidth.xml>`_
 */
  __pyx_k_tuple_320 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__width)); if (unlikely(!__pyx_k_tuple_320)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_320);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_320));
  __pyx_k_codeobj_321 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_320, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glLineWidth, 1151, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_321)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1157
 *     c_opengl.glLineWidth(width)
 * 
 * def glLinkProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glLinkProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLinkProgram.xml>`_
 */
  __pyx_k_tuple_322 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__program)); if (unlikely(!__pyx_k_tuple_322)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_322);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_322));
  __pyx_k_codeobj_323 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_322, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glLinkProgram, 1157, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_323)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1163
 *     c_opengl.glLinkProgram(program)
 * 
 * def glPixelStorei(GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     '''See: `glPixelStorei() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml>`_
 */
  __pyx_k_tuple_324 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__param)); if (unlikely(!__pyx_k_tuple_324)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_324);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_324));
  __pyx_k_codeobj_325 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_324, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glPixelStorei, 1163, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_325)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1169
 *     c_opengl.glPixelStorei(pname, param)
 * 
 * def glPolygonOffset(GLfloat factor, GLfloat units):             # <<<<<<<<<<<<<<
 *     '''See: `glPolygonOffset() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml>`_
 */
  __pyx_k_tuple_326 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__factor), ((PyObject *)__pyx_n_s__units)); if (unlikely(!__pyx_k_tuple_326)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_326);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_326));
  __pyx_k_codeobj_327 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_326, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glPolygonOffset, 1169, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_327)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1175
 *     c_opengl.glPolygonOffset(factor, units)
 * 
 * def glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,             # <<<<<<<<<<<<<<
 *                  GLenum type): #, GLvoid* pixels):
 *     '''See: `glReadPixels() on Kronos website
 */
  __pyx_k_tuple_328 = PyTuple_Pack(9, ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height), ((PyObject *)__pyx_n_s__format), ((PyObject *)__pyx_n_s__type), ((PyObject *)__pyx_n_s__py_pixels), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__data)); if (unlikely(!__pyx_k_tuple_328)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_328);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_328));
  __pyx_k_codeobj_329 = (PyObject*)__Pyx_PyCode_New(6, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_328, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glReadPixels, 1175, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_329)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1206
 * # XXX This one is commented out because a) it's not necessary and
 * #	    				b) it's breaking on OSX for some reason
 * def glReleaseShaderCompiler():             # <<<<<<<<<<<<<<
 *     '''See: `glReleaseShaderCompiler() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReleaseShaderCompiler.xml>`_
 */
  __pyx_k_codeobj_330 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_331, 1206, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_330)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1215
 * #    c_opengl.glReleaseShaderCompiler()
 * 
 * def glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glRenderbufferStorage() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glRenderbufferStorage.xml>`_
 */
  __pyx_k_tuple_332 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__internalformat), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height)); if (unlikely(!__pyx_k_tuple_332)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_332);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_332));
  __pyx_k_codeobj_333 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_332, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_334, 1215, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_333)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1221
 *     c_opengl.glRenderbufferStorage(target, internalformat, width, height)
 * 
 * def glSampleCoverage(GLclampf value, GLboolean invert):             # <<<<<<<<<<<<<<
 *     '''See: `glSampleCoverage() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glSampleCoverage.xml>`_
 */
  __pyx_k_tuple_335 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__value), ((PyObject *)__pyx_n_s__invert)); if (unlikely(!__pyx_k_tuple_335)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_335);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_335));
  __pyx_k_codeobj_336 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_335, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glSampleCoverage, 1221, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_336)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1227
 *     c_opengl.glSampleCoverage(value, invert)
 * 
 * def glScissor(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glScissor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glScissor.xml>`_
 */
  __pyx_k_tuple_337 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height)); if (unlikely(!__pyx_k_tuple_337)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_337);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_337));
  __pyx_k_codeobj_338 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_337, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glScissor, 1227, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_338)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1233
 *     c_opengl.glScissor(x, y, width, height)
 * 
 * def glShaderBinary():#GLsizei n,  GLuint* shaders, GLenum binaryformat,  bytes GLvoid* binary, GLsizei length):             # <<<<<<<<<<<<<<
 *     '''See: `glShaderBinary() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderBinary.xml>`_
 */
  __pyx_k_codeobj_339 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glShaderBinary, 1233, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_339)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1242
 *     raise NotImplemented()
 * 
 * def glShaderSource(GLuint shader, bytes source):             # <<<<<<<<<<<<<<
 *     '''See: `glShaderSource() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml>`_
 */
  __pyx_k_tuple_340 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__shader), ((PyObject *)__pyx_n_s__source), ((PyObject *)__pyx_n_s__c_source)); if (unlikely(!__pyx_k_tuple_340)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_340);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_340));
  __pyx_k_codeobj_341 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_340, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glShaderSource, 1242, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_341)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1249
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)
 * 
 * def glStencilFunc(GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFunc.xml>`_
 */
  __pyx_k_tuple_342 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__func), ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_n_s__mask)); if (unlikely(!__pyx_k_tuple_342)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_342);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_342));
  __pyx_k_codeobj_343 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_342, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glStencilFunc, 1249, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_343)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1255
 *     c_opengl.glStencilFunc(func, ref, mask)
 * 
 * def glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilFuncSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFuncSeparate.xml>`_
 */
  __pyx_k_tuple_344 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__face), ((PyObject *)__pyx_n_s__func), ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_n_s__mask)); if (unlikely(!__pyx_k_tuple_344)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_344);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_344));
  __pyx_k_codeobj_345 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_344, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_346, 1255, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_345)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1261
 *     c_opengl.glStencilFuncSeparate(face, func, ref, mask)
 * 
 * def glStencilMask(GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMask.xml>`_
 */
  __pyx_k_tuple_347 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__mask), ((PyObject *)__pyx_n_s__mask)); if (unlikely(!__pyx_k_tuple_347)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_347);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_347));
  __pyx_k_codeobj_348 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_347, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glStencilMask, 1261, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_348)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1267
 *     c_opengl.glStencilMask(mask)
 * 
 * def glStencilMaskSeparate(GLenum face, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilMaskSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMaskSeparate.xml>`_
 */
  __pyx_k_tuple_349 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__face), ((PyObject *)__pyx_n_s__mask)); if (unlikely(!__pyx_k_tuple_349)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_349);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_349));
  __pyx_k_codeobj_350 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_349, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_351, 1267, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_350)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1273
 *     c_opengl.glStencilMaskSeparate(face, mask)
 * 
 * def glStencilOp(GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilOp() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOp.xml>`_
 */
  __pyx_k_tuple_352 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__fail), ((PyObject *)__pyx_n_s__zfail), ((PyObject *)__pyx_n_s__zpass)); if (unlikely(!__pyx_k_tuple_352)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_352);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_352));
  __pyx_k_codeobj_353 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_352, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glStencilOp, 1273, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_353)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1279
 *     c_opengl.glStencilOp(fail, zfail, zpass)
 * 
 * def glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilOpSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOpSeparate.xml>`_
 */
  __pyx_k_tuple_354 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__face), ((PyObject *)__pyx_n_s__fail), ((PyObject *)__pyx_n_s__zfail), ((PyObject *)__pyx_n_s__zpass)); if (unlikely(!__pyx_k_tuple_354)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_354);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_354));
  __pyx_k_codeobj_355 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_354, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glStencilOpSeparate, 1279, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_355)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1285
 *     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_k_tuple_356 = PyTuple_Pack(9, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__level), ((PyObject *)__pyx_n_s__internalformat), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height), ((PyObject *)__pyx_n_s__border), ((PyObject *)__pyx_n_s__format), ((PyObject *)__pyx_n_s__type), ((PyObject *)__pyx_n_s__pixels)); if (unlikely(!__pyx_k_tuple_356)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_356);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_356));
  __pyx_k_codeobj_357 = (PyObject*)__Pyx_PyCode_New(9, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_356, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glTexImage2D, 1285, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_357)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1294
 *                           format, type, <GLvoid *><char *>pixels)
 * 
 * def glTexParameterf(GLenum target, GLenum pname, GLfloat param):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameterf() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterf.xml>`_
 */
  __pyx_k_tuple_358 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__param)); if (unlikely(!__pyx_k_tuple_358)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_358);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_358));
  __pyx_k_codeobj_359 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_358, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glTexParameterf, 1294, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_359)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1300
 *     c_opengl.glTexParameterf(target, pname, param)
 * 
 * def glTexParameterfv(GLenum target, GLenum pname):#,  GLfloat* params):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameterfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterfv.xml>`_
 */
  __pyx_k_tuple_360 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__pname)); if (unlikely(!__pyx_k_tuple_360)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_360);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_360));
  __pyx_k_codeobj_361 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_360, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glTexParameterfv, 1300, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_361)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1309
 *     raise NotImplemented()
 * 
 * def glTexParameteri(GLenum target, GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameteri() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteri.xml>`_
 */
  __pyx_k_tuple_362 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__pname), ((PyObject *)__pyx_n_s__param)); if (unlikely(!__pyx_k_tuple_362)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_362);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_362));
  __pyx_k_codeobj_363 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_362, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glTexParameteri, 1309, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_363)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1315
 *     c_opengl.glTexParameteri(target, pname, param)
 * 
 * def glTexParameteriv(GLenum target, GLenum pname):#,  GLint* params):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteriv.xml>`_
 */
  __pyx_k_tuple_364 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__pname)); if (unlikely(!__pyx_k_tuple_364)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_364);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_364));
  __pyx_k_codeobj_365 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_364, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glTexParameteriv, 1315, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_365)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1324
 *     raise NotImplemented()
 * 
 * def glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,             # <<<<<<<<<<<<<<
 *                     GLsizei width, GLsizei height, GLenum format, GLenum type,
 *                     bytes pixels):
 */
  __pyx_k_tuple_366 = PyTuple_Pack(9, ((PyObject *)__pyx_n_s__target), ((PyObject *)__pyx_n_s__level), ((PyObject *)__pyx_n_s__xoffset), ((PyObject *)__pyx_n_s__yoffset), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height), ((PyObject *)__pyx_n_s__format), ((PyObject *)__pyx_n_s__type), ((PyObject *)__pyx_n_s__pixels)); if (unlikely(!__pyx_k_tuple_366)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_366);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_366));
  __pyx_k_codeobj_367 = (PyObject*)__Pyx_PyCode_New(9, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_366, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glTexSubImage2D, 1324, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_367)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1333
 *                              format, type, <GLvoid *><char *>pixels)
 * 
 * def glUniform1f(GLint location, GLfloat x):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1f.xml>`_
 */
  __pyx_k_tuple_368 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__x)); if (unlikely(!__pyx_k_tuple_368)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_368);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_368));
  __pyx_k_codeobj_369 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_368, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform1f, 1333, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_369)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1339
 *     c_opengl.glUniform1f(location, x)
 * 
 * def glUniform1fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1fv.xml>`_
 */
  __pyx_k_tuple_370 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_370)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_370);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_370));
  __pyx_k_codeobj_371 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_370, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform1fv, 1339, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_371)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1348
 *     raise NotImplemented()
 * 
 * def glUniform1i(GLint location, GLint x):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1i.xml>`_
 */
  __pyx_k_tuple_372 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__x)); if (unlikely(!__pyx_k_tuple_372)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_372);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_372));
  __pyx_k_codeobj_373 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_372, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform1i, 1348, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_373)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1354
 *     c_opengl.glUniform1i(location, x)
 * 
 * def glUniform1iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1iv.xml>`_
 */
  __pyx_k_tuple_374 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_374)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_374);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_374));
  __pyx_k_codeobj_375 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_374, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform1iv, 1354, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_375)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1363
 *     raise NotImplemented()
 * 
 * def glUniform2f(GLint location, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2f.xml>`_
 */
  __pyx_k_tuple_376 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y)); if (unlikely(!__pyx_k_tuple_376)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_376);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_376));
  __pyx_k_codeobj_377 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_376, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform2f, 1363, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_377)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1369
 *     c_opengl.glUniform2f(location, x, y)
 * 
 * def glUniform2fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2fv.xml>`_
 */
  __pyx_k_tuple_378 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_378)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_378);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_378));
  __pyx_k_codeobj_379 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_378, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform2fv, 1369, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_379)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1378
 *     raise NotImplemented()
 * 
 * def glUniform2i(GLint location, GLint x, GLint y):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2i.xml>`_
 */
  __pyx_k_tuple_380 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y)); if (unlikely(!__pyx_k_tuple_380)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_380);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_380));
  __pyx_k_codeobj_381 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_380, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform2i, 1378, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_381)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1384
 *     c_opengl.glUniform2i(location, x, y)
 * 
 * def glUniform2iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2iv.xml>`_
 */
  __pyx_k_tuple_382 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_382)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_382);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_382));
  __pyx_k_codeobj_383 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_382, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform2iv, 1384, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_383)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1393
 *     raise NotImplemented()
 * 
 * def glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3f.xml>`_
 */
  __pyx_k_tuple_384 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__z)); if (unlikely(!__pyx_k_tuple_384)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_384);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_384));
  __pyx_k_codeobj_385 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_384, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform3f, 1393, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_385)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1399
 *     c_opengl.glUniform3f(location, x, y, z)
 * 
 * def glUniform3fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3fv.xml>`_
 */
  __pyx_k_tuple_386 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_386)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_386);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_386));
  __pyx_k_codeobj_387 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_386, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform3fv, 1399, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_387)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1408
 *     raise NotImplemented()
 * 
 * def glUniform3i(GLint location, GLint x, GLint y, GLint z):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3i.xml>`_
 */
  __pyx_k_tuple_388 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__z)); if (unlikely(!__pyx_k_tuple_388)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_388);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_388));
  __pyx_k_codeobj_389 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_388, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform3i, 1408, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_389)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1414
 *     c_opengl.glUniform3i(location, x, y, z)
 * 
 * def glUniform3iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3iv.xml>`_
 */
  __pyx_k_tuple_390 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_390)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_390);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_390));
  __pyx_k_codeobj_391 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_390, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform3iv, 1414, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_391)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1423
 *     raise NotImplemented()
 * 
 * def glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4f.xml>`_
 */
  __pyx_k_tuple_392 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__z), ((PyObject *)__pyx_n_s__w)); if (unlikely(!__pyx_k_tuple_392)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_392);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_392));
  __pyx_k_codeobj_393 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_392, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform4f, 1423, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_393)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1431
 *     c_opengl.glUniform4f(location, x, y, z, w)
 * 
 * def glUniform4fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4fv.xml>`_
 */
  __pyx_k_tuple_394 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_394)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_394);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_394));
  __pyx_k_codeobj_395 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_394, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform4fv, 1431, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_395)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1440
 *     raise NotImplemented()
 * 
 * def glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4i.xml>`_
 */
  __pyx_k_tuple_396 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__z), ((PyObject *)__pyx_n_s__w)); if (unlikely(!__pyx_k_tuple_396)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_396);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_396));
  __pyx_k_codeobj_397 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_396, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform4i, 1440, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_397)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1446
 *     c_opengl.glUniform4i(location, x, y, z, w)
 * 
 * def glUniform4iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4iv.xml>`_
 */
  __pyx_k_tuple_398 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_398)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_398);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_398));
  __pyx_k_codeobj_399 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_398, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniform4iv, 1446, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_399)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1455
 *     raise NotImplemented()
 * 
 * def glUniformMatrix2fv(GLint location, GLsizei count):#, GLboolean transpose, bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix2fv.xml>`_
 */
  __pyx_k_tuple_400 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_400)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_400);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_400));
  __pyx_k_codeobj_401 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_400, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniformMatrix2fv, 1455, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_401)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1464
 *     raise NotImplemented()
 * 
 * def glUniformMatrix3fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix3fv.xml>`_
 */
  __pyx_k_tuple_402 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_402)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_402);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_402));
  __pyx_k_codeobj_403 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_402, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniformMatrix3fv, 1464, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_403)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1473
 *     raise NotImplemented()
 * 
 * def glUniformMatrix4fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix4fv.xml>`_
 */
  __pyx_k_tuple_404 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__location), ((PyObject *)__pyx_n_s__count)); if (unlikely(!__pyx_k_tuple_404)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_404);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_404));
  __pyx_k_codeobj_405 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_404, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUniformMatrix4fv, 1473, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_405)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1482
 *     raise NotImplemented()
 * 
 * def glUseProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glUseProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUseProgram.xml>`_
 */
  __pyx_k_tuple_406 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__program)); if (unlikely(!__pyx_k_tuple_406)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_406);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_406));
  __pyx_k_codeobj_407 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_406, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glUseProgram, 1482, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_407)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1488
 *     c_opengl.glUseProgram(program)
 * 
 * def glValidateProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glValidateProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glValidateProgram.xml>`_
 */
  __pyx_k_tuple_408 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__program), ((PyObject *)__pyx_n_s__program)); if (unlikely(!__pyx_k_tuple_408)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_408);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_408));
  __pyx_k_codeobj_409 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_408, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glValidateProgram, 1488, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_409)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1494
 *     c_opengl.glValidateProgram(program)
 * 
 * def glVertexAttrib1f(GLuint indx, GLfloat x):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib1f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1f.xml>`_
 */
  __pyx_k_tuple_410 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__indx), ((PyObject *)__pyx_n_s__x)); if (unlikely(!__pyx_k_tuple_410)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_410);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_410));
  __pyx_k_codeobj_411 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_410, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glVertexAttrib1f, 1494, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_411)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1500
 *     c_opengl.glVertexAttrib1f(indx, x)
 * 
 * def glVertexAttrib1fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib1fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1fv.xml>`_
 */
  __pyx_k_tuple_412 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__indx), ((PyObject *)__pyx_n_s__values)); if (unlikely(!__pyx_k_tuple_412)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_412);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_412));
  __pyx_k_codeobj_413 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_412, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glVertexAttrib1fv, 1500, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_413)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1509
 *     raise NotImplemented()
 * 
 * def glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib2f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2f.xml>`_
 */
  __pyx_k_tuple_414 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__indx), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y)); if (unlikely(!__pyx_k_tuple_414)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_414);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_414));
  __pyx_k_codeobj_415 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_414, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glVertexAttrib2f, 1509, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_415)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1515
 *     c_opengl.glVertexAttrib2f(indx, x, y)
 * 
 * def glVertexAttrib2fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2fv.xml>`_
 */
  __pyx_k_tuple_416 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__indx), ((PyObject *)__pyx_n_s__values)); if (unlikely(!__pyx_k_tuple_416)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_416);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_416));
  __pyx_k_codeobj_417 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_416, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glVertexAttrib2fv, 1515, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_417)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1524
 *     raise NotImplemented()
 * 
 * def glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib3f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3f.xml>`_
 */
  __pyx_k_tuple_418 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__indx), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__z)); if (unlikely(!__pyx_k_tuple_418)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_418);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_418));
  __pyx_k_codeobj_419 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_418, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glVertexAttrib3f, 1524, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_419)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1530
 *     c_opengl.glVertexAttrib3f(indx, x, y, z)
 * 
 * def glVertexAttrib3fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3fv.xml>`_
 */
  __pyx_k_tuple_420 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__indx), ((PyObject *)__pyx_n_s__values)); if (unlikely(!__pyx_k_tuple_420)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_420);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_420));
  __pyx_k_codeobj_421 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_420, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glVertexAttrib3fv, 1530, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_421)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1539
 *     raise NotImplemented()
 * 
 * def glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib4f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4f.xml>`_
 */
  __pyx_k_tuple_422 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__indx), ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__z), ((PyObject *)__pyx_n_s__w)); if (unlikely(!__pyx_k_tuple_422)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_422);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_422));
  __pyx_k_codeobj_423 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_422, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glVertexAttrib4f, 1539, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_423)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1545
 *     c_opengl.glVertexAttrib4f(indx, x, y, z, w)
 * 
 * def glVertexAttrib4fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4fv.xml>`_
 */
  __pyx_k_tuple_424 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__indx), ((PyObject *)__pyx_n_s__values)); if (unlikely(!__pyx_k_tuple_424)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_424);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_424));
  __pyx_k_codeobj_425 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_424, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glVertexAttrib4fv, 1545, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_425)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1554
 *     raise NotImplemented()
 * 
 * def glVertexAttribPointer(GLuint indx, GLint size):#, GLenum type, GLboolean normalized, GLsizei stride,  GLvoid* ptr):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttribPointer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttribPointer.xml>`_
 */
  __pyx_k_tuple_426 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__indx), ((PyObject *)__pyx_n_s__size)); if (unlikely(!__pyx_k_tuple_426)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_426);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_426));
  __pyx_k_codeobj_427 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_426, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s_428, 1554, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_427)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1563
 *     raise NotImplemented()
 * 
 * def glViewport(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glViewport() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glViewport.xml>`_
 */
  __pyx_k_tuple_429 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__x), ((PyObject *)__pyx_n_s__y), ((PyObject *)__pyx_n_s__width), ((PyObject *)__pyx_n_s__height)); if (unlikely(!__pyx_k_tuple_429)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_429);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_429));
  __pyx_k_codeobj_430 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_429, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__glViewport, 1563, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_430)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}

  /* "kivy\graphics\opengl.pyx":1575
 *         char *glewGetErrorString(int)
 *         void glew_dynamic_binding()
 *     def gl_init_symbols():             # <<<<<<<<<<<<<<
 *         cdef int result
 *         cdef bytes error
 */
  __pyx_k_tuple_431 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__result), ((PyObject *)__pyx_n_s__error)); if (unlikely(!__pyx_k_tuple_431)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_k_tuple_431);
  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_431));
  __pyx_k_codeobj_432 = (PyObject*)__Pyx_PyCode_New(0, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_431, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_133, __pyx_n_s__gl_init_symbols, 1575, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_432)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __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;
  int __pyx_lineno = 0;
  const char *__pyx_filename = NULL;
  int __pyx_clineno = 0;
  __Pyx_RefNannyDeclarations
  #if CYTHON_REFNANNY
  __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");
  }
  #endif
  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_opengl(void)", 0);
  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __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_CyFunction_USED
  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  #ifdef __Pyx_FusedFunction_USED
  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  #ifdef __Pyx_Generator_USED
  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  /*--- Library function declarations ---*/
  /*--- Threads initialization code ---*/
  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
  #ifdef WITH_THREAD /* Python build with threading support? */
  PyEval_InitThreads();
  #endif
  #endif
  /*--- Module creation code ---*/
  #if PY_MAJOR_VERSION < 3
  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("opengl"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_25), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
  #else
  __pyx_m = PyModule_Create(&__pyx_moduledef);
  #endif
  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  Py_INCREF(__pyx_d);
  #if PY_MAJOR_VERSION >= 3
  {
    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    if (!PyDict_GetItemString(modules, "kivy.graphics.opengl")) {
      if (unlikely(PyDict_SetItemString(modules, "kivy.graphics.opengl", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    }
  }
  #endif
  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #if CYTHON_COMPILING_IN_PYPY
  Py_INCREF(__pyx_b);
  #endif
  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 PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
  if (__Pyx_init_sys_getdefaultencoding_params() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  #endif
  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 ---*/
  /*--- Variable export code ---*/
  /*--- Function export code ---*/
  /*--- Type init code ---*/
  /*--- Type import code ---*/
  /*--- Variable import code ---*/
  /*--- Function import code ---*/
  /*--- Execution code ---*/

  /* "c:\Users\tito\Desktop\Kivy-dev\kivy\Kivy-1.7.2-w32\Kivy-1.7.2\kivy\graphics\common.pxi":11
 *     ctypedef char* const_char_ptr "const char*"
 * 
 * cdef double pi = PI             # <<<<<<<<<<<<<<
 * cdef extern from "math.h":
 *     double cos(double) nogil
 */
  __pyx_v_4kivy_8graphics_6opengl_pi = 3.141592653589793;

  /* "kivy\graphics\opengl.pyx":55
 * 
 * #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 = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DEPTH_BUFFER_BIT, __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;

  /* "kivy\graphics\opengl.pyx":56
 * #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 = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_26, __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;

  /* "kivy\graphics\opengl.pyx":57
 * 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 = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_COLOR_BUFFER_BIT, __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;

  /* "kivy\graphics\opengl.pyx":58
 * 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 = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FALSE, __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;

  /* "kivy\graphics\opengl.pyx":59
 * 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 = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TRUE, __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;

  /* "kivy\graphics\opengl.pyx":60
 * 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 = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_POINTS, __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;

  /* "kivy\graphics\opengl.pyx":61
 * 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 = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LINES, __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;

  /* "kivy\graphics\opengl.pyx":62
 * 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 = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LINE_LOOP, __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;

  /* "kivy\graphics\opengl.pyx":63
 * 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 = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LINE_STRIP, __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;

  /* "kivy\graphics\opengl.pyx":64
 * 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 = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TRIANGLES, __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;

  /* "kivy\graphics\opengl.pyx":65
 * 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 = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TRIANGLE_STRIP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":66
 * GL_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 = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TRIANGLE_FAN, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":67
 * GL_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 = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_ZERO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":68
 * GL_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 = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_ONE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":69
 * GL_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 = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SRC_COLOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":70
 * GL_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 = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_27, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":71
 * GL_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 = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SRC_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":72
 * GL_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 = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_28, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":73
 * GL_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 = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DST_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":74
 * GL_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 = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_29, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":75
 * GL_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 = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DST_COLOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":76
 * GL_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 = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_30, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":77
 * GL_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 = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_31, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":78
 * GL_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 = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FUNC_ADD, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":79
 * GL_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 = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BLEND_EQUATION, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":80
 * GL_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 = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_32, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":81
 * GL_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 = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_33, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":82
 * GL_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 = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FUNC_SUBTRACT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":83
 * GL_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 = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_34, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":84
 * GL_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 = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BLEND_DST_RGB, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":85
 * GL_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 = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BLEND_SRC_RGB, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":86
 * GL_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 = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BLEND_DST_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":87
 * GL_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 = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BLEND_SRC_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":88
 * GL_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 = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SRC_COLOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":89
 * GL_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 = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_27, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":90
 * GL_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 = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SRC_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":91
 * GL_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 = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_28, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":92
 * GL_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 = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BLEND_COLOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":93
 * GL_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 = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_ARRAY_BUFFER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":94
 * GL_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 = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_35, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":95
 * GL_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 = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_36, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":96
 * GL_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 = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_37, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":97
 * GL_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 = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_STREAM_DRAW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":98
 * GL_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 = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_STATIC_DRAW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":99
 * GL_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 = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DYNAMIC_DRAW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":100
 * GL_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 = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BUFFER_SIZE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":101
 * GL_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 = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BUFFER_USAGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":102
 * GL_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 = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_38, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":103
 * GL_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 = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FRONT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":104
 * GL_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 = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BACK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":105
 * GL_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 = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FRONT_AND_BACK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":106
 * GL_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 = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE_2D, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":107
 * GL_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 = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_CULL_FACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":108
 * GL_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 = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BLEND, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":109
 * GL_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 = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DITHER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":110
 * GL_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 = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_STENCIL_TEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":111
 * GL_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 = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DEPTH_TEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":112
 * GL_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 = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SCISSOR_TEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":113
 * GL_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 = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_39, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":114
 * GL_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 = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_40, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":115
 * GL_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 = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SAMPLE_COVERAGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":116
 * GL_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 = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_NO_ERROR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":117
 * GL_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 = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INVALID_ENUM, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":118
 * GL_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 = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INVALID_VALUE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":119
 * GL_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 = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_41, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":120
 * GL_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 = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_OUT_OF_MEMORY, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":121
 * GL_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 = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_CW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":122
 * GL_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 = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_CCW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":123
 * GL_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 = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LINE_WIDTH, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":124
 * GL_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 = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_42, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":125
 * GL_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 = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_43, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":126
 * GL_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 = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_CULL_FACE_MODE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":127
 * GL_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 = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FRONT_FACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":128
 * GL_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 = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DEPTH_RANGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":129
 * GL_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 = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DEPTH_WRITEMASK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":130
 * GL_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 = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_44, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":131
 * GL_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 = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DEPTH_FUNC, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":132
 * GL_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 = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_45, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":133
 * GL_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 = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_STENCIL_FUNC, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":134
 * GL_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 = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_STENCIL_FAIL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":135
 * GL_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 = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_46, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":136
 * GL_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 = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_47, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":137
 * GL_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 = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_STENCIL_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;

  /* "kivy\graphics\opengl.pyx":138
 * 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 = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_48, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":139
 * GL_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 = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_49, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":140
 * GL_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 = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_50, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":141
 * GL_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 = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_51, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":142
 * GL_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 = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_52, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":143
 * GL_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 = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_53, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":144
 * GL_STENCIL_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 = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_STENCIL_BACK_REF, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":145
 * GL_STENCIL_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 = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_54, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":146
 * GL_STENCIL_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 = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_55, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":147
 * GL_STENCIL_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 = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_VIEWPORT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":148
 * GL_STENCIL_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 = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SCISSOR_BOX, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":149
 * GL_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 = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_56, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":150
 * GL_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 = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_COLOR_WRITEMASK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":151
 * GL_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 = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_UNPACK_ALIGNMENT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":152
 * GL_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 = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_PACK_ALIGNMENT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":153
 * GL_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 = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_MAX_TEXTURE_SIZE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":154
 * GL_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 = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_57, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":155
 * GL_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 = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SUBPIXEL_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":156
 * GL_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 = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_RED_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":157
 * GL_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 = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_GREEN_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":158
 * GL_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 = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BLUE_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":159
 * GL_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 = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_ALPHA_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":160
 * GL_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 = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DEPTH_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":161
 * GL_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 = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_STENCIL_BITS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":162
 * GL_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 = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_58, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":163
 * GL_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 = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_59, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":164
 * GL_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 = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_60, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":165
 * GL_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 = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SAMPLE_BUFFERS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":166
 * GL_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 = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SAMPLES, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":167
 * GL_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 = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_61, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":168
 * GL_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 = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_62, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":169
 * GL_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 = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_63, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":170
 * GL_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 = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_64, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":171
 * GL_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 = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DONT_CARE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":172
 * GL_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 = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FASTEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":173
 * GL_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 = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_NICEST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":174
 * GL_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 = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_65, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":175
 * GL_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 = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BYTE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":176
 * GL_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 = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_UNSIGNED_BYTE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":177
 * GL_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 = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SHORT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":178
 * GL_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 = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_UNSIGNED_SHORT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":179
 * GL_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 = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":180
 * GL_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 = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_UNSIGNED_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":181
 * GL_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 = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FLOAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":182
 * GL_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 = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DEPTH_COMPONENT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":183
 * GL_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 = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":184
 * GL_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 = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_RGB, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":185
 * GL_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 = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_RGBA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":186
 * GL_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 = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LUMINANCE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":187
 * GL_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 = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LUMINANCE_ALPHA, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":188
 * GL_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 = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_66, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":189
 * GL_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 = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_67, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":190
 * GL_UNSIGNED_SHORT_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 = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_68, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":191
 * GL_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 = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FRAGMENT_SHADER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":192
 * GL_UNSIGNED_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 = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_VERTEX_SHADER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":193
 * GL_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 = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_69, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":194
 * GL_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 = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_70, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":195
 * GL_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 = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_71, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":196
 * GL_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 = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_72, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":197
 * GL_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 = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SHADER_TYPE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":198
 * GL_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 = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DELETE_STATUS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":199
 * GL_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 = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LINK_STATUS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":200
 * GL_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 = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_VALIDATE_STATUS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":201
 * GL_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 = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_ATTACHED_SHADERS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":202
 * GL_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 = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_ACTIVE_UNIFORMS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":203
 * GL_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 = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_73, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":204
 * GL_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 = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_74, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":205
 * GL_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 = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_75, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":206
 * GL_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 = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_76, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":207
 * GL_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 = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_CURRENT_PROGRAM, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":208
 * GL_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 = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_NEVER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":209
 * GL_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 = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LESS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":210
 * GL_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 = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_EQUAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":211
 * GL_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 = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LEQUAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":212
 * GL_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 = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_GREATER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":213
 * GL_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 = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_NOTEQUAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":214
 * GL_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 = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_GEQUAL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":215
 * GL_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 = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_ALWAYS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":216
 * GL_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 = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_KEEP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":217
 * GL_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 = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_REPLACE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":218
 * GL_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 = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INCR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":219
 * GL_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 = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DECR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":220
 * GL_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 = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INVERT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":221
 * GL_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 = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INCR_WRAP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":222
 * GL_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 = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DECR_WRAP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":223
 * GL_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 = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_VENDOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":224
 * GL_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 = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_RENDERER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":225
 * GL_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 = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_VERSION, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":226
 * GL_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 = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_EXTENSIONS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":227
 * GL_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 = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_NEAREST, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":228
 * GL_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 = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LINEAR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":229
 * GL_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 = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_77, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":230
 * GL_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 = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_78, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":231
 * GL_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 = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_79, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":232
 * GL_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 = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __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;

  /* "kivy\graphics\opengl.pyx":233
 * 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 = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __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;

  /* "kivy\graphics\opengl.pyx":234
 * 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 = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __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;

  /* "kivy\graphics\opengl.pyx":235
 * 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 = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE_WRAP_S, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":236
 * GL_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 = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE_WRAP_T, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":237
 * GL_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 = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":238
 * GL_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 = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE_CUBE_MAP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":239
 * GL_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 = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_83, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":240
 * GL_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 = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_84, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":241
 * GL_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 = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_85, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":242
 * GL_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 = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_86, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":243
 * GL_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 = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_87, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":244
 * GL_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 = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_88, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":245
 * GL_TEXTURE_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 = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_89, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":246
 * GL_TEXTURE_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 = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_90, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":247
 * GL_TEXTURE_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 = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE0, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":248
 * GL_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 = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE1, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":249
 * GL_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 = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":250
 * GL_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 = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":251
 * GL_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 = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":252
 * GL_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 = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE5, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":253
 * GL_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 = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE6, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":254
 * GL_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 = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE7, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":255
 * GL_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 = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE8, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":256
 * GL_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 = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE9, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":257
 * GL_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 = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE10, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":258
 * GL_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 = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE11, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":259
 * GL_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 = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE12, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":260
 * GL_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 = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE13, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":261
 * GL_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 = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE14, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":262
 * GL_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 = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE15, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":263
 * GL_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 = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE16, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":264
 * GL_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 = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE17, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":265
 * GL_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 = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE18, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":266
 * GL_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 = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE19, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":267
 * GL_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 = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE20, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":268
 * GL_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 = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE21, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":269
 * GL_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 = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE22, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":270
 * GL_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 = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE23, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":271
 * GL_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 = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE24, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":272
 * GL_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 = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE25, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":273
 * GL_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 = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE26, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":274
 * GL_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 = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE27, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":275
 * GL_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 = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE28, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":276
 * GL_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 = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE29, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":277
 * GL_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 = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE30, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":278
 * GL_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 = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_TEXTURE31, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":279
 * GL_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 = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_ACTIVE_TEXTURE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":280
 * GL_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 = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_REPEAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":281
 * GL_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 = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_CLAMP_TO_EDGE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":282
 * GL_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 = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_MIRRORED_REPEAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":283
 * GL_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 = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FLOAT_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;

  /* "kivy\graphics\opengl.pyx":284
 * 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 = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FLOAT_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;

  /* "kivy\graphics\opengl.pyx":285
 * 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 = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FLOAT_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;

  /* "kivy\graphics\opengl.pyx":286
 * 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 = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INT_VEC2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":287
 * GL_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 = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INT_VEC3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":288
 * GL_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 = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INT_VEC4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":289
 * GL_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 = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BOOL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":290
 * GL_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 = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BOOL_VEC2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":291
 * GL_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 = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BOOL_VEC3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":292
 * GL_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 = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_BOOL_VEC4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":293
 * GL_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 = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FLOAT_MAT2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":294
 * GL_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 = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FLOAT_MAT3, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":295
 * GL_FLOAT_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 = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FLOAT_MAT4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":296
 * GL_FLOAT_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 = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SAMPLER_2D, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":297
 * GL_FLOAT_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 = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SAMPLER_CUBE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 297; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":298
 * GL_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 = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_91, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":299
 * GL_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 = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_92, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 299; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":300
 * GL_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 = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_93, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":301
 * GL_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 = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_94, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":302
 * GL_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 = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_95, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":303
 * GL_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 = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_96, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":304
 * GL_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 = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_97, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":305
 * GL_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 = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_COMPILE_STATUS, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":306
 * GL_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 = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_INFO_LOG_LENGTH, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":307
 * GL_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 = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_98, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":308
 * GL_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 = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FRAMEBUFFER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":309
 * GL_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 = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_RENDERBUFFER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":310
 * GL_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 = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_RGBA4, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":311
 * GL_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_INDEX8 = c_opengl.GL_STENCIL_INDEX8
 */
  __pyx_t_1 = PyInt_FromLong(GL_RGB5_A1); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_RGB5_A1, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":312
 * GL_RGBA4 = c_opengl.GL_RGBA4
 * GL_RGB5_A1 = c_opengl.GL_RGB5_A1
 * GL_DEPTH_COMPONENT16 = c_opengl.GL_DEPTH_COMPONENT16             # <<<<<<<<<<<<<<
 * GL_STENCIL_INDEX8 = c_opengl.GL_STENCIL_INDEX8
 * GL_RENDERBUFFER_WIDTH = c_opengl.GL_RENDERBUFFER_WIDTH
 */
  __pyx_t_1 = PyInt_FromLong(GL_DEPTH_COMPONENT16); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s_99, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":313
 * GL_RGB5_A1 = c_opengl.GL_RGB5_A1
 * GL_DEPTH_COMPONENT16 = c_opengl.GL_DEPTH_COMPONENT16
 * 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 = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_STENCIL_INDEX8, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":314
 * GL_DEPTH_COMPONENT16 = c_opengl.GL_DEPTH_COMPONENT16
 * 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 = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_100, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":315
 * GL_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 = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_101, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":316
 * GL_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 = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_102, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":317
 * GL_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 = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_103, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":318
 * GL_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 = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_104, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":319
 * GL_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 = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_105, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":320
 * GL_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 = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_106, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":321
 * GL_RENDERBUFFER_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 = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_107, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":322
 * GL_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 = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_108, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":323
 * GL_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 = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_109, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":324
 * GL_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 = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_110, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":325
 * GL_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 = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_111, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":326
 * GL_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 = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_112, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":327
 * GL_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 = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_113, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":328
 * GL_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 = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_DEPTH_ATTACHMENT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":329
 * GL_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 = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_114, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":330
 * GL_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 = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_NONE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":331
 * GL_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 = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_115, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":332
 * GL_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 = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_116, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":333
 * GL_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 = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_117, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":334
 * GL_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 = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_118, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":335
 * GL_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 = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_119, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":336
 * GL_FRAMEBUFFER_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 = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_120, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":337
 * GL_FRAMEBUFFER_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 = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __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;

  /* "kivy\graphics\opengl.pyx":338
 * 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 = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_122, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":341
 * 
 * # 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 = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_123, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":342
 * # 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 = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_RGB565, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":343
 * GL_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 = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_124, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":347
 * # 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_1));

  /* "kivy\graphics\opengl.pyx":348
 * # 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_GetModuleGlobalName(__pyx_n_s__GL_ACTIVE_TEXTURE); 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_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":349
 * _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_GetModuleGlobalName(__pyx_n_s_43); 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_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":350
 *     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_GetModuleGlobalName(__pyx_n_s_42); 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_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":351
 *     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_GetModuleGlobalName(__pyx_n_s__GL_ALPHA_BITS); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":352
 *     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_GetModuleGlobalName(__pyx_n_s_36); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":353
 *     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_GetModuleGlobalName(__pyx_n_s__GL_BLEND); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":354
 *     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_GetModuleGlobalName(__pyx_n_s__GL_BLEND_COLOR); 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_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":355
 *     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_GetModuleGlobalName(__pyx_n_s__GL_BLEND_DST_ALPHA); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":356
 *     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_GetModuleGlobalName(__pyx_n_s__GL_BLEND_DST_RGB); 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_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":357
 *     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_GetModuleGlobalName(__pyx_n_s_33); 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_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":358
 *     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_GetModuleGlobalName(__pyx_n_s_32); 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);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":359
 *     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_GetModuleGlobalName(__pyx_n_s__GL_BLEND_SRC_ALPHA); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":360
 *     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_GetModuleGlobalName(__pyx_n_s__GL_BLEND_SRC_RGB); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 360; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":361
 *     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_GetModuleGlobalName(__pyx_n_s__GL_BLUE_BITS); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":362
 *     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_GetModuleGlobalName(__pyx_n_s_56); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":363
 *     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_GetModuleGlobalName(__pyx_n_s__GL_COLOR_WRITEMASK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

  /* "kivy\graphics\opengl.pyx":364
 *     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_GetModuleGlobalName(__pyx_n_s_64); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __pyx_t_3 = PyInt_FromLong(GL_NUM_COMPRESSED_TEXTURE_FORMATS); 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_2, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":365
 *     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_GetModuleGlobalName(__pyx_n_s__GL_CULL_FACE); 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_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":366
 *     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_GetModuleGlobalName(__pyx_n_s__GL_CULL_FACE_MODE); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":367
 *     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_GetModuleGlobalName(__pyx_n_s__GL_CURRENT_PROGRAM); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":368
 *     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_GetModuleGlobalName(__pyx_n_s__GL_DEPTH_BITS); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":369
 *     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_GetModuleGlobalName(__pyx_n_s_44); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":370
 *     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_GetModuleGlobalName(__pyx_n_s__GL_DEPTH_FUNC); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":371
 *     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_GetModuleGlobalName(__pyx_n_s__GL_DEPTH_RANGE); 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_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":372
 *     GL_DEPTH_FUNC: 1,
 *     GL_DEPTH_RANGE: 2,
 *     GL_DEPTH_TEST: 1,             # <<<<<<<<<<<<<<
 *     GL_DEPTH_WRITEMASK: 1,
 *     GL_DITHER: 1,
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s__GL_DEPTH_TEST); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":373
 *     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_GetModuleGlobalName(__pyx_n_s__GL_DEPTH_WRITEMASK); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":374
 *     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_GetModuleGlobalName(__pyx_n_s__GL_DITHER); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":375
 *     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_GetModuleGlobalName(__pyx_n_s_37); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":376
 *     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_GetModuleGlobalName(__pyx_n_s_119); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":377
 *     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_GetModuleGlobalName(__pyx_n_s__GL_FRONT_FACE); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":378
 *     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_GetModuleGlobalName(__pyx_n_s_65); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":379
 *     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_GetModuleGlobalName(__pyx_n_s__GL_GREEN_BITS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":380
 *     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_GetModuleGlobalName(__pyx_n_s__GL_LINE_WIDTH); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":381
 *     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_GetModuleGlobalName(__pyx_n_s_70); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":382
 *     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_GetModuleGlobalName(__pyx_n_s_90); 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_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":383
 *     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_GetModuleGlobalName(__pyx_n_s_121); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":384
 *     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_GetModuleGlobalName(__pyx_n_s_72); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":385
 *     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_GetModuleGlobalName(__pyx_n_s__GL_MAX_TEXTURE_SIZE); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":386
 *     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_GetModuleGlobalName(__pyx_n_s_69); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":387
 *     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_GetModuleGlobalName(__pyx_n_s_71); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":388
 *     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_GetModuleGlobalName(__pyx_n_s_57); 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_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":389
 *     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_GetModuleGlobalName(__pyx_n_s_63); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":390
 *     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_GetModuleGlobalName(__pyx_n_s__GL_PACK_ALIGNMENT); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":391
 *     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_GetModuleGlobalName(__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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":392
 *     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_GetModuleGlobalName(__pyx_n_s_39); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":393
 *     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_GetModuleGlobalName(__pyx_n_s_58); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":394
 *     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_GetModuleGlobalName(__pyx_n_s__GL_RED_BITS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":395
 *     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_GetModuleGlobalName(__pyx_n_s_120); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":396
 *     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_GetModuleGlobalName(__pyx_n_s__GL_SAMPLE_BUFFERS); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":397
 *     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_GetModuleGlobalName(__pyx_n_s_62); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":398
 *     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_GetModuleGlobalName(__pyx_n_s_61); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":399
 *     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_GetModuleGlobalName(__pyx_n_s__GL_SAMPLES); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":400
 *     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_GetModuleGlobalName(__pyx_n_s__GL_SCISSOR_BOX); 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_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":401
 *     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_GetModuleGlobalName(__pyx_n_s__GL_SCISSOR_TEST); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":402
 *     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_GetModuleGlobalName(__pyx_n_s_51); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":403
 *     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_GetModuleGlobalName(__pyx_n_s_50); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":404
 *     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_GetModuleGlobalName(__pyx_n_s_52); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":405
 *     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_GetModuleGlobalName(__pyx_n_s_53); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":406
 *     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_GetModuleGlobalName(__pyx_n_s__GL_STENCIL_BACK_REF); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":407
 *     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_GetModuleGlobalName(__pyx_n_s_54); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":408
 *     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_GetModuleGlobalName(__pyx_n_s_55); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":409
 *     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_GetModuleGlobalName(__pyx_n_s__GL_STENCIL_BITS); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":410
 *     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_GetModuleGlobalName(__pyx_n_s_45); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":411
 *     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_GetModuleGlobalName(__pyx_n_s__GL_STENCIL_FAIL); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":412
 *     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_GetModuleGlobalName(__pyx_n_s__GL_STENCIL_FUNC); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":413
 *     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_GetModuleGlobalName(__pyx_n_s_46); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":414
 *     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_GetModuleGlobalName(__pyx_n_s_47); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":415
 *     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_GetModuleGlobalName(__pyx_n_s__GL_STENCIL_REF); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":416
 *     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_GetModuleGlobalName(__pyx_n_s__GL_STENCIL_TEST); 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 = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":417
 *     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_GetModuleGlobalName(__pyx_n_s_48); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":418
 *     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_GetModuleGlobalName(__pyx_n_s_49); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":419
 *     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_GetModuleGlobalName(__pyx_n_s__GL_SUBPIXEL_BITS); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":420
 *     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_GetModuleGlobalName(__pyx_n_s_60); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":421
 *     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_GetModuleGlobalName(__pyx_n_s_83); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":422
 *     GL_TEXTURE_BINDING_2D: 1,
 *     GL_TEXTURE_BINDING_CUBE_MAP: 1,
 *     GL_UNPACK_ALIGNMENT: 1,             # <<<<<<<<<<<<<<
 *     GL_VIEWPORT: 4,
 * }
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s__GL_UNPACK_ALIGNMENT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":423
 *     GL_TEXTURE_BINDING_CUBE_MAP: 1,
 *     GL_UNPACK_ALIGNMENT: 1,
 *     GL_VIEWPORT: 4,             # <<<<<<<<<<<<<<
 * }
 * 
 */
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s__GL_VIEWPORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  if (PyDict_SetItem(__pyx_d, __pyx_n_s___GL_GET_SIZE, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":428
 * # 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 = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_FIXED, __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;

  /* "kivy\graphics\opengl.pyx":429
 * 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 = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_125, __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;

  /* "kivy\graphics\opengl.pyx":430
 *     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 = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_126, __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;

  /* "kivy\graphics\opengl.pyx":431
 *     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 = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_127, __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;

  /* "kivy\graphics\opengl.pyx":432
 *     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 = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_128, __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;

  /* "kivy\graphics\opengl.pyx":433
 *     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 = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_129, __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;

  /* "kivy\graphics\opengl.pyx":434
 *     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 = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_SHADER_COMPILER, __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;

  /* "kivy\graphics\opengl.pyx":435
 *     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 = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_130, __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;

  /* "kivy\graphics\opengl.pyx":436
 *     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 = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LOW_FLOAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":437
 *     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 = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_MEDIUM_FLOAT, __pyx_t_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;

  /* "kivy\graphics\opengl.pyx":438
 *     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 = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_HIGH_FLOAT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":439
 *     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 = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_LOW_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":440
 *     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 = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_MEDIUM_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":441
 *     GL_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 = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__GL_HIGH_INT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":443
 *     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_GetModuleGlobalName(__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_GetModuleGlobalName(__pyx_n_s_125); 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;

  /* "kivy\graphics\opengl.pyx":444
 *     # 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_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); 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_GetModuleGlobalName(__pyx_n_s_126); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetItem(__pyx_t_3, __pyx_t_1, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":445
 *     _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_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_127); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __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 = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":446
 *     _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_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); 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);
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_129); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetItem(__pyx_t_3, __pyx_t_1, __pyx_int_1) < 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;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":447
 *     _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_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_128); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __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 = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":448
 *     _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_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s__GL_SHADER_COMPILER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetItem(__pyx_t_3, __pyx_t_1, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

  /* "kivy\graphics\opengl.pyx":449
 *     _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_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_130); 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_SetItem(__pyx_t_1, __pyx_t_3, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":450
 *     _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_GetModuleGlobalName(__pyx_n_s_130); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s___GL_GET_SIZE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_123); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __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 = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":453
 * 
 * 
 * def glActiveTexture(GLenum texture):             # <<<<<<<<<<<<<<
 *     '''See: `glActiveTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glActiveTexture.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_1glActiveTexture, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glActiveTexture, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":459
 *     c_opengl.glActiveTexture(texture)
 * 
 * def glAttachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glAttachShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glAttachShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_3glAttachShader, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glAttachShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":465
 *     c_opengl.glAttachShader(program, shader)
 * 
 * def glBindAttribLocation(GLuint program, GLuint index, bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glBindAttribLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindAttribLocation.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_5glBindAttribLocation, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_139, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":471
 *     c_opengl.glBindAttribLocation(program, index, <char *>name)
 * 
 * def glBindBuffer(GLenum target, GLuint buffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindBuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindBuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_7glBindBuffer, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBindBuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":477
 *     c_opengl.glBindBuffer(target, buffer)
 * 
 * def glBindFramebuffer(GLenum target, GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindFramebuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindFramebuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_9glBindFramebuffer, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBindFramebuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 477; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":483
 *     c_opengl.glBindFramebuffer(target, framebuffer)
 * 
 * def glBindRenderbuffer(GLenum target, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glBindRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_11glBindRenderbuffer, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBindRenderbuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":489
 *     c_opengl.glBindRenderbuffer(target, renderbuffer)
 * 
 * def glBindTexture(GLenum target, GLuint texture):             # <<<<<<<<<<<<<<
 *     '''See: `glBindTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindTexture.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_13glBindTexture, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBindTexture, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":495
 *     c_opengl.glBindTexture(target, texture)
 * 
 * def glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendColor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendColor.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_15glBlendColor, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBlendColor, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":501
 *     c_opengl.glBlendColor(red, green, blue, alpha)
 * 
 * def glBlendEquation(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendEquation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquation.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_17glBlendEquation, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBlendEquation, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":507
 *     c_opengl.glBlendEquation(mode)
 * 
 * def glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendEquationSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendEquationSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_19glBlendEquationSeparate, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_154, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":513
 *     c_opengl.glBlendEquationSeparate(modeRGB, modeAlpha)
 * 
 * def glBlendFunc(GLenum sfactor, GLenum dfactor):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFunc.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_21glBlendFunc, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBlendFunc, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":519
 *     c_opengl.glBlendFunc(sfactor, dfactor)
 * 
 * def glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha):             # <<<<<<<<<<<<<<
 *     '''See: `glBlendFuncSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBlendFuncSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_23glBlendFuncSeparate, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBlendFuncSeparate, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":525
 *     c_opengl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)
 * 
 * def glBufferData(GLenum target, GLsizeiptr size, bytes data, GLenum usage):             # <<<<<<<<<<<<<<
 *     '''See: `glBufferData() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferData.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_25glBufferData, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBufferData, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":531
 *     c_opengl.glBufferData(target, size, <char *>data, usage)
 * 
 * def glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, bytes data):             # <<<<<<<<<<<<<<
 *     '''See: `glBufferSubData() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glBufferSubData.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_27glBufferSubData, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glBufferSubData, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":537
 *     c_opengl.glBufferSubData(target, offset, size, <char *>data)
 * 
 * def glCheckFramebufferStatus(GLenum target):             # <<<<<<<<<<<<<<
 *     '''See: `glCheckFramebufferStatus() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCheckFramebufferStatus.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_29glCheckFramebufferStatus, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_165, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":545
 *     return result
 * 
 * def glClear(GLbitfield mask):             # <<<<<<<<<<<<<<
 *     '''See: `glClear() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClear.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_31glClear, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s__glClear, __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;

  /* "kivy\graphics\opengl.pyx":551
 *     c_opengl.glClear(mask)
 * 
 * def glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glClearColor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearColor.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_33glClearColor, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s__glClearColor, __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;

  /* "kivy\graphics\opengl.pyx":565
 * #    c_opengl.glClearDepthf(depth)
 * 
 * def glClearStencil(GLint s):             # <<<<<<<<<<<<<<
 *     '''See: `glClearStencil() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glClearStencil.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_35glClearStencil, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glClearStencil, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":571
 *     c_opengl.glClearStencil(s)
 * 
 * def glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha):             # <<<<<<<<<<<<<<
 *     '''See: `glColorMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glColorMask.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_37glColorMask, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glColorMask, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":577
 *     c_opengl.glColorMask(red, green, blue, alpha)
 * 
 * def glCompileShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glCompileShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCompileShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_39glCompileShader, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glCompileShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 577; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":583
 *     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_41glCompressedTexImage2D, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_178, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 583; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":592
 *                                     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_43glCompressedTexSubImage2D, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_181, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 592; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":601
 *                                        height, format, imageSize, <char *>data)
 * 
 * def glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border):             # <<<<<<<<<<<<<<
 *     '''See: `glCopyTexImage2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexImage2D.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_45glCopyTexImage2D, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glCopyTexImage2D, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":607
 *     c_opengl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border)
 * 
 * def glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glCopyTexSubImage2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_47glCopyTexSubImage2D, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glCopyTexSubImage2D, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":613
 *     c_opengl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
 * 
 * def glCreateProgram():             # <<<<<<<<<<<<<<
 *     '''See: `glCreateProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_49glCreateProgram, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s__glCreateProgram, __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;

  /* "kivy\graphics\opengl.pyx":621
 *     return id
 * 
 * def glCreateShader(GLenum type):             # <<<<<<<<<<<<<<
 *     '''See: `glCreateShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCreateShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_51glCreateShader, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glCreateShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":629
 *     return id
 * 
 * def glCullFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glCullFace() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glCullFace.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_53glCullFace, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glCullFace, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":635
 *     c_opengl.glCullFace(mode)
 * 
 * def glDeleteBuffers(GLsizei n, bytes buffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteBuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteBuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_55glDeleteBuffers, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDeleteBuffers, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":641
 *     c_opengl.glDeleteBuffers(n, <GLuint *><char *>buffers)
 * 
 * def glDeleteFramebuffers(GLsizei n, bytes framebuffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteFramebuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteFramebuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_57glDeleteFramebuffers, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s_196, __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;

  /* "kivy\graphics\opengl.pyx":647
 *     c_opengl.glDeleteFramebuffers(n, <GLuint *><char *>framebuffers)
 * 
 * def glDeleteProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_59glDeleteProgram, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDeleteProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":653
 *     c_opengl.glDeleteProgram(program)
 * 
 * def glDeleteRenderbuffers(GLsizei n, bytes renderbuffers):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteRenderbuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteRenderbuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_61glDeleteRenderbuffers, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_201, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":659
 *     c_opengl.glDeleteRenderbuffers(n, <GLuint *><char *>renderbuffers)
 * 
 * def glDeleteShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_63glDeleteShader, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDeleteShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":665
 *     c_opengl.glDeleteShader(shader)
 * 
 * def glDeleteTextures(GLsizei n, bytes textures):             # <<<<<<<<<<<<<<
 *     '''See: `glDeleteTextures() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDeleteTextures.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_65glDeleteTextures, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDeleteTextures, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":671
 *     c_opengl.glDeleteTextures(n, <GLuint *><char *>textures)
 * 
 * def glDepthFunc(GLenum func):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthFunc.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_67glDepthFunc, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDepthFunc, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":677
 *     c_opengl.glDepthFunc(func)
 * 
 * def glDepthMask(GLboolean flag):             # <<<<<<<<<<<<<<
 *     '''See: `glDepthMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDepthMask.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_69glDepthMask, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDepthMask, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 677; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":689
 * #    c_opengl.glDepthRangef(zNear, zFar)
 * 
 * def glDetachShader(GLuint program, GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glDetachShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDetachShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_71glDetachShader, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDetachShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":695
 *     c_opengl.glDetachShader(program, shader)
 * 
 * def glDisable(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glDisable() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisable.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_73glDisable, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDisable, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 695; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":701
 *     c_opengl.glDisable(cap)
 * 
 * def glDisableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glDisableVertexAttribArray() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDisableVertexAttribArray.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_75glDisableVertexAttribArray, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_216, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":707
 *     c_opengl.glDisableVertexAttribArray(index)
 * 
 * def glDrawArrays(GLenum mode, GLint first, GLsizei count):             # <<<<<<<<<<<<<<
 *     '''See: `glDrawArrays() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawArrays.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_77glDrawArrays, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDrawArrays, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":713
 *     c_opengl.glDrawArrays(mode, first, count)
 * 
 * def glDrawElements(GLenum mode, GLsizei count, GLenum type, bytes indices):             # <<<<<<<<<<<<<<
 *     '''See: `glDrawElements() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glDrawElements.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_79glDrawElements, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glDrawElements, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":719
 *     c_opengl.glDrawElements(mode, count, type, <void *>indices)
 * 
 * def glEnable(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glEnable() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_81glEnable, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glEnable, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":725
 *     c_opengl.glEnable(cap)
 * 
 * def glEnableVertexAttribArray(GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glEnableVertexAttribArray() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_83glEnableVertexAttribArray, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_225, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":731
 *     c_opengl.glEnableVertexAttribArray(index)
 * 
 * def glFinish():             # <<<<<<<<<<<<<<
 *     '''See: `glFinish() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFinish.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_85glFinish, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glFinish, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 731; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":737
 *     c_opengl.glFinish()
 * 
 * def glFlush():             # <<<<<<<<<<<<<<
 *     '''See: `glFlush() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFlush.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_87glFlush, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glFlush, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":743
 *     c_opengl.glFlush()
 * 
 * def glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glFramebufferRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferRenderbuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_89glFramebufferRenderbuffer, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_230, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":749
 *     c_opengl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)
 * 
 * def glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level):             # <<<<<<<<<<<<<<
 *     '''See: `glFramebufferTexture2D() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFramebufferTexture2D.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_91glFramebufferTexture2D, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_233, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":755
 *     c_opengl.glFramebufferTexture2D(target, attachment, textarget, texture, level)
 * 
 * def glFrontFace(GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glFrontFace() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glFrontFace.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_93glFrontFace, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glFrontFace, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":761
 *     c_opengl.glFrontFace(mode)
 * 
 * def glGenBuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenBuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenBuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_95glGenBuffers, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGenBuffers, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":771
 *     return _genEnd(n, d)
 * 
 * def glGenerateMipmap(GLenum target):             # <<<<<<<<<<<<<<
 *     '''See: `glGenerateMipmap() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenerateMipmap.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_97glGenerateMipmap, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s__glGenerateMipmap, __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;

  /* "kivy\graphics\opengl.pyx":777
 *     c_opengl.glGenerateMipmap(target)
 * 
 * def glGenFramebuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenFramebuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenFramebuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_99glGenFramebuffers, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGenFramebuffers, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":787
 *     return _genEnd(n, d)
 * 
 * def glGenRenderbuffers(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenRenderbuffers() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenRenderbuffers.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_101glGenRenderbuffers, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGenRenderbuffers, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":797
 *     return _genEnd(n, d)
 * 
 * def glGenTextures(GLsizei n):             # <<<<<<<<<<<<<<
 *     '''See: `glGenTextures() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGenTextures.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_103glGenTextures, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGenTextures, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":807
 *     return _genEnd(n, d)
 * 
 * def glGetActiveAttrib(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glGetActiveAttrib() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveAttrib.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_105glGetActiveAttrib, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetActiveAttrib, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":825
 *     return p_name, size, gl_type
 * 
 * def glGetActiveUniform(GLuint program, GLuint index):             # <<<<<<<<<<<<<<
 *     '''See: `glGetActiveUniform() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetActiveUniform.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_107glGetActiveUniform, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetActiveUniform, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":843
 *     return p_name, size, gl_type
 * 
 * def glGetAttachedShaders(GLuint program, GLsizei maxcount):             # <<<<<<<<<<<<<<
 *     '''See: `glGetAttachedShaders() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttachedShaders.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_109glGetAttachedShaders, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_252, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":854
 *     return _genEnd(count, shaders)
 * 
 * def glGetAttribLocation(GLuint program,  bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetAttribLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttribLocation.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_111glGetAttribLocation, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetAttribLocation, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":862
 *     return c_opengl.glGetAttribLocation(program, <char *>name)
 * 
 * def glGetBooleanv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetBooleanv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBooleanv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_113glGetBooleanv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetBooleanv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":876
 *     return out
 * 
 * def glGetBufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetBufferParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetBufferParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_115glGetBufferParameteriv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_259, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":890
 *     return out
 * 
 * def glGetError():             # <<<<<<<<<<<<<<
 *     '''See: `glGetError() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetError.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_117glGetError, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetError, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":898
 *     return c_opengl.glGetError()
 * 
 * def glGetFloatv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetFloatv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFloatv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_119glGetFloatv, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetFloatv, __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;

  /* "kivy\graphics\opengl.pyx":912
 *     return out
 * 
 * def glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetFramebufferAttachmentParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetFramebufferAttachmentParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_121glGetFramebufferAttachmentParameteriv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_265, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":926
 *     return out
 * 
 * def glGetIntegerv(GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetIntegerv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetIntegerv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_123glGetIntegerv, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetIntegerv, __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;

  /* "kivy\graphics\opengl.pyx":940
 *     return out
 * 
 * def glGetProgramiv(GLuint program, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetProgramiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramiv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_125glGetProgramiv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetProgramiv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":950
 *     return params
 * 
 * def glGetProgramInfoLog(GLuint program, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     '''See: `glGetProgramInfoLog() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetProgramInfoLog.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_127glGetProgramInfoLog, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetProgramInfoLog, __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;

  /* "kivy\graphics\opengl.pyx":967
 *     return p_infolog
 * 
 * def glGetRenderbufferParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetRenderbufferParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetRenderbufferParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_129glGetRenderbufferParameteriv, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s_274, __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;

  /* "kivy\graphics\opengl.pyx":977
 *     return params
 * 
 * def glGetShaderiv(GLuint shader, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderiv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_131glGetShaderiv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetShaderiv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":987
 *     return params
 * 
 * def glGetShaderInfoLog(GLuint shader, GLsizei bufsize):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderInfoLog() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderInfoLog.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_133glGetShaderInfoLog, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetShaderInfoLog, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1004
 *     return p_infolog
 * 
 * def glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype): #, GLint* range, GLint* precision):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderPrecisionFormat() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderPrecisionFormat.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_135glGetShaderPrecisionFormat, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s_281, __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;

  /* "kivy\graphics\opengl.pyx":1013
 *     #c_opengl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision)
 * 
 * def glGetShaderSource(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glGetShaderSource() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetShaderSource.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_137glGetShaderSource, NULL, __pyx_n_s_134); 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 (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetShaderSource, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1030
 *     return p_source
 * 
 * def glGetString(GLenum name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetString() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetString.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_139glGetString, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetString, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1040
 *     return p_string
 * 
 * def glGetTexParameterfv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetTexParameterfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameterfv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_141glGetTexParameterfv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetTexParameterfv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1048
 *     return params
 * 
 * def glGetTexParameteriv(GLenum target, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetTexParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetTexParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_143glGetTexParameteriv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetTexParameteriv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1056
 *     return params
 * 
 * def glGetUniformfv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformfv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_145glGetUniformfv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1056; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetUniformfv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1056; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1064
 *     return params
 * 
 * def glGetUniformiv(GLuint program, GLint location):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformiv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_147glGetUniformiv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetUniformiv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1072
 *     return params
 * 
 * def glGetUniformLocation(GLuint program, bytes name):             # <<<<<<<<<<<<<<
 *     '''See: `glGetUniformLocation() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_149glGetUniformLocation, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_296, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1072; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1078
 *     return c_opengl.glGetUniformLocation(program, <char *>name)
 * 
 * def glGetVertexAttribfv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribfv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_151glGetVertexAttribfv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetVertexAttribfv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1086
 *     return params
 * 
 * def glGetVertexAttribiv(GLuint index, GLenum pname):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribiv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribiv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_153glGetVertexAttribiv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glGetVertexAttribiv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1094
 *     return params
 * 
 * def glGetVertexAttribPointerv(GLuint index, GLenum pname):#, GLvoid** pointer):             # <<<<<<<<<<<<<<
 *     '''See: `glGetVertexAttribPointerv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetVertexAttribPointerv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_155glGetVertexAttribPointerv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_303, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1103
 *     #c_opengl.glGetVertexAttribPointerv(index, pname, pointer)
 * 
 * def glHint(GLenum target, GLenum mode):             # <<<<<<<<<<<<<<
 *     '''See: `glHint() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glHint.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_157glHint, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glHint, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1109
 *     c_opengl.glHint(target, mode)
 * 
 * def glIsBuffer(GLuint buffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsBuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsBuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_159glIsBuffer, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glIsBuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1115
 *     return c_opengl.glIsBuffer(buffer)
 * 
 * def glIsEnabled(GLenum cap):             # <<<<<<<<<<<<<<
 *     '''See: `glIsEnabled() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsEnabled.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_161glIsEnabled, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glIsEnabled, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1121
 *     return c_opengl.glIsEnabled(cap)
 * 
 * def glIsFramebuffer(GLuint framebuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsFramebuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsFramebuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_163glIsFramebuffer, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glIsFramebuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1127
 *     return c_opengl.glIsFramebuffer(framebuffer)
 * 
 * def glIsProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glIsProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_165glIsProgram, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glIsProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1133
 *     return c_opengl.glIsProgram(program)
 * 
 * def glIsRenderbuffer(GLuint renderbuffer):             # <<<<<<<<<<<<<<
 *     '''See: `glIsRenderbuffer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsRenderbuffer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_167glIsRenderbuffer, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glIsRenderbuffer, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1139
 *     return c_opengl.glIsRenderbuffer(renderbuffer)
 * 
 * def glIsShader(GLuint shader):             # <<<<<<<<<<<<<<
 *     '''See: `glIsShader() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsShader.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_169glIsShader, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glIsShader, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1145
 *     return c_opengl.glIsShader(shader)
 * 
 * def glIsTexture(GLuint texture):             # <<<<<<<<<<<<<<
 *     '''See: `glIsTexture() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glIsTexture.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_171glIsTexture, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glIsTexture, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1151
 *     return c_opengl.glIsTexture(texture)
 * 
 * def glLineWidth(GLfloat width):             # <<<<<<<<<<<<<<
 *     '''See: `glLineWidth() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLineWidth.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_173glLineWidth, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glLineWidth, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1157
 *     c_opengl.glLineWidth(width)
 * 
 * def glLinkProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glLinkProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glLinkProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_175glLinkProgram, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glLinkProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1163
 *     c_opengl.glLinkProgram(program)
 * 
 * def glPixelStorei(GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     '''See: `glPixelStorei() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_177glPixelStorei, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glPixelStorei, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1169
 *     c_opengl.glPixelStorei(pname, param)
 * 
 * def glPolygonOffset(GLfloat factor, GLfloat units):             # <<<<<<<<<<<<<<
 *     '''See: `glPolygonOffset() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPolygonOffset.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_179glPolygonOffset, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glPolygonOffset, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1175
 *     c_opengl.glPolygonOffset(factor, units)
 * 
 * def glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,             # <<<<<<<<<<<<<<
 *                  GLenum type): #, GLvoid* pixels):
 *     '''See: `glReadPixels() on Kronos website
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_181glReadPixels, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glReadPixels, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1206
 * # XXX This one is commented out because a) it's not necessary and
 * #	    				b) it's breaking on OSX for some reason
 * def glReleaseShaderCompiler():             # <<<<<<<<<<<<<<
 *     '''See: `glReleaseShaderCompiler() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glReleaseShaderCompiler.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_183glReleaseShaderCompiler, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_331, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1215
 * #    c_opengl.glReleaseShaderCompiler()
 * 
 * def glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glRenderbufferStorage() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glRenderbufferStorage.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_185glRenderbufferStorage, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_334, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1221
 *     c_opengl.glRenderbufferStorage(target, internalformat, width, height)
 * 
 * def glSampleCoverage(GLclampf value, GLboolean invert):             # <<<<<<<<<<<<<<
 *     '''See: `glSampleCoverage() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glSampleCoverage.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_187glSampleCoverage, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glSampleCoverage, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1227
 *     c_opengl.glSampleCoverage(value, invert)
 * 
 * def glScissor(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glScissor() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glScissor.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_189glScissor, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glScissor, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1233
 *     c_opengl.glScissor(x, y, width, height)
 * 
 * def glShaderBinary():#GLsizei n,  GLuint* shaders, GLenum binaryformat,  bytes GLvoid* binary, GLsizei length):             # <<<<<<<<<<<<<<
 *     '''See: `glShaderBinary() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderBinary.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_191glShaderBinary, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glShaderBinary, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1242
 *     raise NotImplemented()
 * 
 * def glShaderSource(GLuint shader, bytes source):             # <<<<<<<<<<<<<<
 *     '''See: `glShaderSource() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glShaderSource.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_193glShaderSource, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glShaderSource, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1242; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1249
 *     c_opengl.glShaderSource(shader, 1, &c_source, NULL)
 * 
 * def glStencilFunc(GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilFunc() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFunc.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_195glStencilFunc, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glStencilFunc, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1255
 *     c_opengl.glStencilFunc(func, ref, mask)
 * 
 * def glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilFuncSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilFuncSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_197glStencilFuncSeparate, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_346, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1261
 *     c_opengl.glStencilFuncSeparate(face, func, ref, mask)
 * 
 * def glStencilMask(GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilMask() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMask.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_199glStencilMask, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glStencilMask, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1267
 *     c_opengl.glStencilMask(mask)
 * 
 * def glStencilMaskSeparate(GLenum face, GLuint mask):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilMaskSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilMaskSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_201glStencilMaskSeparate, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_351, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1273
 *     c_opengl.glStencilMaskSeparate(face, mask)
 * 
 * def glStencilOp(GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilOp() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOp.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_203glStencilOp, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glStencilOp, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1279
 *     c_opengl.glStencilOp(fail, zfail, zpass)
 * 
 * def glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass):             # <<<<<<<<<<<<<<
 *     '''See: `glStencilOpSeparate() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glStencilOpSeparate.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_205glStencilOpSeparate, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glStencilOpSeparate, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1285
 *     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_207glTexImage2D, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glTexImage2D, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1294
 *                           format, type, <GLvoid *><char *>pixels)
 * 
 * def glTexParameterf(GLenum target, GLenum pname, GLfloat param):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameterf() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterf.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_209glTexParameterf, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glTexParameterf, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1294; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1300
 *     c_opengl.glTexParameterf(target, pname, param)
 * 
 * def glTexParameterfv(GLenum target, GLenum pname):#,  GLfloat* params):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameterfv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameterfv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_211glTexParameterfv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glTexParameterfv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1309
 *     raise NotImplemented()
 * 
 * def glTexParameteri(GLenum target, GLenum pname, GLint param):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameteri() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteri.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_213glTexParameteri, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glTexParameteri, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1315
 *     c_opengl.glTexParameteri(target, pname, param)
 * 
 * def glTexParameteriv(GLenum target, GLenum pname):#,  GLint* params):             # <<<<<<<<<<<<<<
 *     '''See: `glTexParameteriv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameteriv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_215glTexParameteriv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glTexParameteriv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1315; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1324
 *     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_217glTexSubImage2D, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glTexSubImage2D, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1324; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1333
 *                              format, type, <GLvoid *><char *>pixels)
 * 
 * def glUniform1f(GLint location, GLfloat x):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_219glUniform1f, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform1f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1339
 *     c_opengl.glUniform1f(location, x)
 * 
 * def glUniform1fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_221glUniform1fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform1fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1339; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1348
 *     raise NotImplemented()
 * 
 * def glUniform1i(GLint location, GLint x):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1i.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_223glUniform1i, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform1i, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1354
 *     c_opengl.glUniform1i(location, x)
 * 
 * def glUniform1iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform1iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform1iv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_225glUniform1iv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform1iv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1363
 *     raise NotImplemented()
 * 
 * def glUniform2f(GLint location, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_227glUniform2f, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform2f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1369
 *     c_opengl.glUniform2f(location, x, y)
 * 
 * def glUniform2fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_229glUniform2fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform2fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1378
 *     raise NotImplemented()
 * 
 * def glUniform2i(GLint location, GLint x, GLint y):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2i.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_231glUniform2i, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform2i, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1384
 *     c_opengl.glUniform2i(location, x, y)
 * 
 * def glUniform2iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform2iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform2iv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_233glUniform2iv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform2iv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1393
 *     raise NotImplemented()
 * 
 * def glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_235glUniform3f, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform3f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1393; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1399
 *     c_opengl.glUniform3f(location, x, y, z)
 * 
 * def glUniform3fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_237glUniform3fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform3fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1408
 *     raise NotImplemented()
 * 
 * def glUniform3i(GLint location, GLint x, GLint y, GLint z):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3i.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_239glUniform3i, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform3i, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1414
 *     c_opengl.glUniform3i(location, x, y, z)
 * 
 * def glUniform3iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform3iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform3iv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_241glUniform3iv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform3iv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1414; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1423
 *     raise NotImplemented()
 * 
 * def glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_243glUniform4f, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform4f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1423; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1431
 *     c_opengl.glUniform4f(location, x, y, z, w)
 * 
 * def glUniform4fv(GLint location, GLsizei count):#,  GLfloat* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_245glUniform4fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform4fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1440
 *     raise NotImplemented()
 * 
 * def glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4i() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4i.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_247glUniform4i, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform4i, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1440; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1446
 *     c_opengl.glUniform4i(location, x, y, z, w)
 * 
 * def glUniform4iv(GLint location, GLsizei count):#,  GLint* v):             # <<<<<<<<<<<<<<
 *     '''See: `glUniform4iv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniform4iv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_249glUniform4iv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniform4iv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1455
 *     raise NotImplemented()
 * 
 * def glUniformMatrix2fv(GLint location, GLsizei count):#, GLboolean transpose, bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix2fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_251glUniformMatrix2fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniformMatrix2fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1464
 *     raise NotImplemented()
 * 
 * def glUniformMatrix3fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix3fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_253glUniformMatrix3fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniformMatrix3fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1473
 *     raise NotImplemented()
 * 
 * def glUniformMatrix4fv(GLint location, GLsizei count):#, GLboolean transpose,  bytes values):             # <<<<<<<<<<<<<<
 *     '''See: `glUniformMatrix4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUniformMatrix4fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_255glUniformMatrix4fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUniformMatrix4fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1482
 *     raise NotImplemented()
 * 
 * def glUseProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glUseProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glUseProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_257glUseProgram, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glUseProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1488
 *     c_opengl.glUseProgram(program)
 * 
 * def glValidateProgram(GLuint program):             # <<<<<<<<<<<<<<
 *     '''See: `glValidateProgram() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glValidateProgram.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_259glValidateProgram, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glValidateProgram, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1494
 *     c_opengl.glValidateProgram(program)
 * 
 * def glVertexAttrib1f(GLuint indx, GLfloat x):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib1f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_261glVertexAttrib1f, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glVertexAttrib1f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1500
 *     c_opengl.glVertexAttrib1f(indx, x)
 * 
 * def glVertexAttrib1fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib1fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib1fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_263glVertexAttrib1fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glVertexAttrib1fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1509
 *     raise NotImplemented()
 * 
 * def glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib2f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_265glVertexAttrib2f, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glVertexAttrib2f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1515
 *     c_opengl.glVertexAttrib2f(indx, x, y)
 * 
 * def glVertexAttrib2fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib2fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib2fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_267glVertexAttrib2fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glVertexAttrib2fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1515; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1524
 *     raise NotImplemented()
 * 
 * def glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib3f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_269glVertexAttrib3f, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glVertexAttrib3f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1530
 *     c_opengl.glVertexAttrib3f(indx, x, y, z)
 * 
 * def glVertexAttrib3fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib3fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib3fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_271glVertexAttrib3fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glVertexAttrib3fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1539
 *     raise NotImplemented()
 * 
 * def glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib4f() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4f.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_273glVertexAttrib4f, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glVertexAttrib4f, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1539; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1545
 *     c_opengl.glVertexAttrib4f(indx, x, y, z, w)
 * 
 * def glVertexAttrib4fv(GLuint indx, list values):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttrib4fv() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttrib4fv.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_275glVertexAttrib4fv, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glVertexAttrib4fv, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1554
 *     raise NotImplemented()
 * 
 * def glVertexAttribPointer(GLuint indx, GLint size):#, GLenum type, GLboolean normalized, GLsizei stride,  GLvoid* ptr):             # <<<<<<<<<<<<<<
 *     '''See: `glVertexAttribPointer() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glVertexAttribPointer.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_277glVertexAttribPointer, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_428, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1563
 *     raise NotImplemented()
 * 
 * def glViewport(GLint x, GLint y, GLsizei width, GLsizei height):             # <<<<<<<<<<<<<<
 *     '''See: `glViewport() on Kronos website
 *     <http://www.khronos.org/opengles/sdk/docs/man/xhtml/glViewport.xml>`_
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_279glViewport, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__glViewport, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1575
 *         char *glewGetErrorString(int)
 *         void glew_dynamic_binding()
 *     def gl_init_symbols():             # <<<<<<<<<<<<<<
 *         cdef int result
 *         cdef bytes error
 */
  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4kivy_8graphics_6opengl_281gl_init_symbols, NULL, __pyx_n_s_134); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s__gl_init_symbols, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

  /* "kivy\graphics\opengl.pyx":1
 * '''             # <<<<<<<<<<<<<<
 * OpenGL
 * ======
 */
  __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 (PyDict_SetItem(__pyx_d, __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", __pyx_clineno, __pyx_lineno, __pyx_filename);
    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 */
#if CYTHON_REFNANNY
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;
}
#endif /* CYTHON_REFNANNY */

static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
    PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
    if (unlikely(!result)) {
        PyErr_Format(PyExc_NameError,
#if PY_MAJOR_VERSION >= 3
            "name '%U' is not defined", name);
#else
            "name '%s' is not defined", PyString_AS_STRING(name));
#endif
    }
    return result;
}

static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
#if CYTHON_COMPILING_IN_CPYTHON
    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);
#else
    PyErr_Restore(type, value, tb);
#endif
}
static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
#if CYTHON_COMPILING_IN_CPYTHON
    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;
#else
    PyErr_Fetch(type, value, tb);
#endif
}

static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename) {
    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);
    }
}

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 *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";
    }
    PyErr_Format(PyExc_TypeError,
                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
                 func_name, more_or_less, num_expected,
                 (num_expected == 1) ? "" : "s", num_found);
}

static void __Pyx_RaiseDoubleKeywordsError(
    const char* func_name,
    PyObject* kw_name)
{
    PyErr_Format(PyExc_TypeError,
        #if PY_MAJOR_VERSION >= 3
        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
        #else
        "%s() got multiple values for keyword argument '%s'", func_name,
        PyString_AsString(kw_name));
        #endif
}

static int __Pyx_ParseOptionalKeywords(
    PyObject *kwds,
    PyObject **argnames[],
    PyObject *kwds2,
    PyObject *values[],
    Py_ssize_t num_pos_args,
    const char* function_name)
{
    PyObject *key = 0, *value = 0;
    Py_ssize_t pos = 0;
    PyObject*** name;
    PyObject*** first_kw_arg = argnames + num_pos_args;
    while (PyDict_Next(kwds, &pos, &key, &value)) {
        name = first_kw_arg;
        while (*name && (**name != key)) name++;
        if (*name) {
            values[name-argnames] = value;
            continue;
        }
        name = first_kw_arg;
        #if PY_MAJOR_VERSION < 3
        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
            while (*name) {
                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
                        && _PyString_Eq(**name, key)) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    if ((**argname == key) || (
                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
                             && _PyString_Eq(**argname, key))) {
                        goto arg_passed_twice;
                    }
                    argname++;
                }
            }
        } else
        #endif
        if (likely(PyUnicode_Check(key))) {
            while (*name) {
                int cmp = (**name == key) ? 0 :
                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                #endif
                    PyUnicode_Compare(**name, key);
                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                if (cmp == 0) {
                    values[name-argnames] = value;
                    break;
                }
                name++;
            }
            if (*name) continue;
            else {
                PyObject*** argname = argnames;
                while (argname != first_kw_arg) {
                    int cmp = (**argname == key) ? 0 :
                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                    #endif
                        PyUnicode_Compare(**argname, key);
                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
                    if (cmp == 0) goto arg_passed_twice;
                    argname++;
                }
            }
        } else
            goto invalid_keyword_type;
        if (kwds2) {
            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
        } else {
            goto invalid_keyword;
        }
    }
    return 0;
arg_passed_twice:
    __Pyx_RaiseDoubleKeywordsError(function_name, key);
    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 PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
    PyObject *result;
#if CYTHON_COMPILING_IN_CPYTHON
    result = PyDict_GetItem(__pyx_d, name);
    if (result) {
        Py_INCREF(result);
    } else {
#else
    result = PyObject_GetItem(__pyx_d, name);
    if (!result) {
        PyErr_Clear();
#endif
        result = __Pyx_GetBuiltinName(name);
    }
    return result;
}

#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
                        CYTHON_UNUSED PyObject *cause) {
    Py_XINCREF(type);
    if (!value || value == Py_None)
        value = NULL;
    else
        Py_INCREF(value);
    if (!tb || tb == Py_None)
        tb = NULL;
    else {
        Py_INCREF(tb);
        if (!PyTraceBack_Check(tb)) {
            PyErr_SetString(PyExc_TypeError,
                "raise: arg 3 must be a traceback or None");
            goto raise_error;
        }
    }
    #if PY_VERSION_HEX < 0x02050000
    if (PyClass_Check(type)) {
    #else
    if (PyType_Check(type)) {
    #endif
#if CYTHON_COMPILING_IN_PYPY
        if (!value) {
            Py_INCREF(Py_None);
            value = Py_None;
        }
#endif
        PyErr_NormalizeException(&type, &value, &tb);
    } else {
        if (value) {
            PyErr_SetString(PyExc_TypeError,
                "instance exception may not have a separate value");
            goto raise_error;
        }
        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, PyObject *cause) {
    PyObject* owned_instance = NULL;
    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)) {
        PyObject *args;
        if (!value)
            args = PyTuple_New(0);
        else if (PyTuple_Check(value)) {
            Py_INCREF(value);
            args = value;
        } else
            args = PyTuple_Pack(1, value);
        if (!args)
            goto bad;
        owned_instance = PyEval_CallObject(type, args);
        Py_DECREF(args);
        if (!owned_instance)
            goto bad;
        value = owned_instance;
        if (!PyExceptionInstance_Check(value)) {
            PyErr_Format(PyExc_TypeError,
                         "calling %R should have returned an instance of "
                         "BaseException, not %R",
                         type, Py_TYPE(value));
            goto bad;
        }
    } else {
        PyErr_SetString(PyExc_TypeError,
            "raise: exception class must be a subclass of BaseException");
        goto bad;
    }
#if PY_VERSION_HEX >= 0x03030000
    if (cause) {
#else
    if (cause && cause != Py_None) {
#endif
        PyObject *fixed_cause;
        if (cause == Py_None) {
            fixed_cause = NULL;
        } else if (PyExceptionClass_Check(cause)) {
            fixed_cause = PyObject_CallObject(cause, NULL);
            if (fixed_cause == NULL)
                goto bad;
        } else if (PyExceptionInstance_Check(cause)) {
            fixed_cause = cause;
            Py_INCREF(fixed_cause);
        } else {
            PyErr_SetString(PyExc_TypeError,
                            "exception causes must derive from "
                            "BaseException");
            goto bad;
        }
        PyException_SetCause(value, fixed_cause);
    }
    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:
    Py_XDECREF(owned_instance);
    return;
}
#endif

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;
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck) {
#if CYTHON_COMPILING_IN_CPYTHON
    if (wraparound & unlikely(i < 0)) i += PyList_GET_SIZE(o);
    if ((!boundscheck) || likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
        PyObject *r = PyList_GET_ITEM(o, i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                                              int wraparound, int boundscheck) {
#if CYTHON_COMPILING_IN_CPYTHON
    if (wraparound & unlikely(i < 0)) i += PyTuple_GET_SIZE(o);
    if ((!boundscheck) || likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
        PyObject *r = PyTuple_GET_ITEM(o, i);
        Py_INCREF(r);
        return r;
    }
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
#else
    return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
                                                     int is_list, int wraparound, int boundscheck) {
#if CYTHON_COMPILING_IN_CPYTHON
    if (is_list || PyList_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
        if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
            PyObject *r = PyList_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    }
    else if (PyTuple_CheckExact(o)) {
        Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
        if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
            PyObject *r = PyTuple_GET_ITEM(o, n);
            Py_INCREF(r);
            return r;
        }
    } else {
        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
        if (likely(m && m->sq_item)) {
            if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
                Py_ssize_t l = m->sq_length(o);
                if (likely(l >= 0)) {
                    i += l;
                } else {
                    if (PyErr_ExceptionMatches(PyExc_OverflowError))
                        PyErr_Clear();
                    else
                        return NULL;
                }
            }
            return m->sq_item(o, i);
        }
    }
#else
    if (is_list || PySequence_Check(o)) {
        return PySequence_GetItem(o, i);
    }
#endif
    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_GLenum(GLenum val) {
    const GLenum neg_one = (GLenum)-1, const_zero = (GLenum)0;
    const int is_unsigned = const_zero < neg_one;
    if ((sizeof(GLenum) == sizeof(char))  ||
        (sizeof(GLenum) == sizeof(short))) {
        return PyInt_FromLong((long)val);
    } else if ((sizeof(GLenum) == sizeof(int)) ||
               (sizeof(GLenum) == sizeof(long))) {
        if (is_unsigned)
            return PyLong_FromUnsignedLong((unsigned long)val);
        else
            return PyInt_FromLong((long)val);
    } else if (sizeof(GLenum) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
        else
            return PyLong_FromLongLong((PY_LONG_LONG)val);
    } else {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        return _PyLong_FromByteArray(bytes, sizeof(GLenum),
                                     little, !is_unsigned);
    }
}

static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_GLboolean(GLboolean val) {
    const GLboolean neg_one = (GLboolean)-1, const_zero = (GLboolean)0;
    const int is_unsigned = const_zero < neg_one;
    if ((sizeof(GLboolean) == sizeof(char))  ||
        (sizeof(GLboolean) == sizeof(short))) {
        return PyInt_FromLong((long)val);
    } else if ((sizeof(GLboolean) == sizeof(int)) ||
               (sizeof(GLboolean) == sizeof(long))) {
        if (is_unsigned)
            return PyLong_FromUnsignedLong((unsigned long)val);
        else
            return PyInt_FromLong((long)val);
    } else if (sizeof(GLboolean) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
        else
            return PyLong_FromLongLong((PY_LONG_LONG)val);
    } else {
        int one = 1; int little = (int)*(unsigned char *)&one;
        unsigned char *bytes = (unsigned char *)&val;
        return _PyLong_FromByteArray(bytes, sizeof(GLboolean),
                                     little, !is_unsigned);
    }
}

static CYTHON_INLINE GLenum __Pyx_PyInt_from_py_GLenum(PyObject* x) {
    const GLenum neg_one = (GLenum)-1, const_zero = (GLenum)0;
    const int is_unsigned = const_zero < neg_one;
    if (sizeof(GLenum) == sizeof(char)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedChar(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedChar(x);
    } else if (sizeof(GLenum) == sizeof(short)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedShort(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedShort(x);
    } else if (sizeof(GLenum) == sizeof(int)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedInt(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedInt(x);
    } else if (sizeof(GLenum) == sizeof(long)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedLong(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedLong(x);
    } else if (sizeof(GLenum) == sizeof(PY_LONG_LONG)) {
        if (is_unsigned)
            return (GLenum)__Pyx_PyInt_AsUnsignedLongLong(x);
        else
            return (GLenum)__Pyx_PyInt_AsSignedLongLong(x);
    }  else {
        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
        PyErr_SetString(PyExc_RuntimeError,
                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
        #else
        GLenum val;
        PyObject *v = __Pyx_PyNumber_Int(x);
        #if PY_MAJOR_VERSION < 3
        if (likely(v) && !PyLong_Check(v)) {
            PyObject *tmp = v;
            v = PyNumber_Long(tmp);
            Py_DECREF(tmp);
        }
        #endif
        if (likely(v)) {
            int one = 1; int is_little = (int)*(unsigned char *)&one;
            unsigned char *bytes = (unsigned char *)&val;
            int ret = _PyLong_AsByteArray((PyLongObject *)v,
                                          bytes, sizeof(val),
                                          is_little, !is_unsigned);
            Py_DECREF(v);
            if (likely(!ret))
                return val;
        }
        #endif
        return (GLenum)-1;
    }
}

#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
static PyObject *__Pyx_GetStdout(void) {
    PyObject *f = PySys_GetObject((char *)"stdout");
    if (!f) {
        PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
    }
    return f;
}
static int __Pyx_Print(PyObject* f, PyObject *arg_tuple, int newline) {
    int i;
    if (!f) {
        if (!(f = __Pyx_GetStdout()))
            return -1;
    }
    Py_INCREF(f);
    for (i=0; i < PyTuple_GET_SIZE(arg_tuple); i++) {
        PyObject* v;
        if (PyFile_SoftSpace(f, 1)) {
            if (PyFile_WriteString(" ", f) < 0)
                goto error;
        }
        v = PyTuple_GET_ITEM(arg_tuple, i);
        if (PyFile_WriteObject(v, f, Py_PRINT_RAW) < 0)
            goto error;
        if (PyString_Check(v)) {
            char *s = PyString_AsString(v);
            Py_ssize_t len = PyString_Size(v);
            if (len > 0 &&
                isspace(Py_CHARMASK(s[len-1])) &&
                s[len-1] != ' ')
                    PyFile_SoftSpace(f, 0);
        }
    }
    if (newline) {
        if (PyFile_WriteString("\n", f) < 0)
            goto error;
        PyFile_SoftSpace(f, 0);
    }
    Py_DECREF(f);
    return 0;
error:
    Py_DECREF(f);
    return -1;
}
#else /* Python 3 has a print function */
static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {
    PyObject* kwargs = 0;
    PyObject* result = 0;
    PyObject* end_string;
    if (unlikely(!__pyx_print)) {
        __pyx_print = PyObject_GetAttr(__pyx_b, __pyx_n_s__print);
        if (!__pyx_print)
            return -1;
    }
    if (stream) {
        kwargs = PyDict_New();
        if (unlikely(!kwargs))
            return -1;
        if (unlikely(PyDict_SetItem(kwargs, __pyx_n_s__file, stream) < 0))
            goto bad;
        if (!newline) {
            end_string = PyUnicode_FromStringAndSize(" ", 1);
            if (unlikely(!end_string))
                goto bad;
            if (PyDict_SetItem(kwargs, __pyx_n_s__end, end_string) < 0) {
                Py_DECREF(end_string);
                goto bad;
            }
            Py_DECREF(end_string);
        }
    } else if (!newline) {
        if (unlikely(!__pyx_print_kwargs)) {
            __pyx_print_kwargs = PyDict_New();
            if (unlikely(!__pyx_print_kwargs))
                return -1;
            end_string = PyUnicode_FromStringAndSize(" ", 1);
            if (unlikely(!end_string))
                return -1;
            if (PyDict_SetItem(__pyx_print_kwargs, __pyx_n_s__end, end_string) < 0) {
                Py_DECREF(end_string);
                return -1;
            }
            Py_DECREF(end_string);
        }
        kwargs = __pyx_print_kwargs;
    }
    result = PyObject_Call(__pyx_print, arg_tuple, kwargs);
    if (unlikely(kwargs) && (kwargs != __pyx_print_kwargs))
        Py_DECREF(kwargs);
    if (!result)
        return -1;
    Py_DECREF(result);
    return 0;
bad:
    if (kwargs != __pyx_print_kwargs)
        Py_XDECREF(kwargs);
    return -1;
}
#endif

#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
static int __Pyx_PrintOne(PyObject* f, PyObject *o) {
    if (!f) {
        if (!(f = __Pyx_GetStdout()))
            return -1;
    }
    Py_INCREF(f);
    if (PyFile_SoftSpace(f, 0)) {
        if (PyFile_WriteString(" ", f) < 0)
            goto error;
    }
    if (PyFile_WriteObject(o, f, Py_PRINT_RAW) < 0)
        goto error;
    if (PyFile_WriteString("\n", f) < 0)
        goto error;
    Py_DECREF(f);
    return 0;
error:
    Py_DECREF(f);
    return -1;
    /* the line below is just to avoid C compiler
     * warnings about unused functions */
    return __Pyx_Print(f, NULL, 0);
}
#else /* Python 3 has a print function */
static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {
    int res;
    PyObject* arg_tuple = PyTuple_Pack(1, o);
    if (unlikely(!arg_tuple))
        return -1;
    res = __Pyx_Print(stream, arg_tuple, 1);
    Py_DECREF(arg_tuple);
    return res;
}
#endif

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);
}

#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
#include "longintrepr.h"
#endif
#endif
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_MAJOR_VERSION < 3
    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 CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(unsigned long)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return (unsigned long) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to unsigned long");
                return (unsigned long)-1;
            }
            return (unsigned long)PyLong_AsUnsignedLong(x);
        } else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(unsigned long)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return +(unsigned long) ((PyLongObject*)x)->ob_digit[0];
                    case -1: return -(unsigned long) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            return (unsigned long)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;
    }
}

#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
#include "longintrepr.h"
#endif
#endif
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_MAJOR_VERSION < 3
    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 CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(unsigned PY_LONG_LONG)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return (unsigned PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            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 (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
        } else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(unsigned PY_LONG_LONG)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return +(unsigned PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0];
                    case -1: return -(unsigned PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            return (unsigned PY_LONG_LONG)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;
    }
}

#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
#include "longintrepr.h"
#endif
#endif
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_MAJOR_VERSION < 3
    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 CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(long)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return (long) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to long");
                return (long)-1;
            }
            return (long)PyLong_AsUnsignedLong(x);
        } else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(long)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return +(long) ((PyLongObject*)x)->ob_digit[0];
                    case -1: return -(long) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            return (long)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;
    }
}

#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
#include "longintrepr.h"
#endif
#endif
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_MAJOR_VERSION < 3
    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 CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(PY_LONG_LONG)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return (PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            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 (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
        } else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(PY_LONG_LONG)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return +(PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0];
                    case -1: return -(PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            return (PY_LONG_LONG)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;
    }
}

#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
#include "longintrepr.h"
#endif
#endif
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_MAJOR_VERSION < 3
    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 CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(signed long)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return (signed long) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            if (unlikely(Py_SIZE(x) < 0)) {
                PyErr_SetString(PyExc_OverflowError,
                                "can't convert negative value to signed long");
                return (signed long)-1;
            }
            return (signed long)PyLong_AsUnsignedLong(x);
        } else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(signed long)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return +(signed long) ((PyLongObject*)x)->ob_digit[0];
                    case -1: return -(signed long) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            return (signed long)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;
    }
}

#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
#include "longintrepr.h"
#endif
#endif
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_MAJOR_VERSION < 3
    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 CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(signed PY_LONG_LONG)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return (signed PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            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 (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
        } else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_MAJOR_VERSION >= 3
#if CYTHON_USE_PYLONG_INTERNALS
            if (sizeof(digit) <= sizeof(signed PY_LONG_LONG)) {
                switch (Py_SIZE(x)) {
                    case  0: return 0;
                    case  1: return +(signed PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0];
                    case -1: return -(signed PY_LONG_LONG) ((PyLongObject*)x)->ob_digit[0];
                }
            }
#endif
#endif
            return (signed PY_LONG_LONG)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 int __Pyx_check_binary_version(void) {
    char ctversion[4], rtversion[4];
    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
        char message[200];
        PyOS_snprintf(message, sizeof(message),
                      "compiletime version %s of module '%.100s' "
                      "does not match runtime version %s",
                      ctversion, __Pyx_MODULE_NAME, rtversion);
        #if PY_VERSION_HEX < 0x02050000
        return PyErr_Warn(NULL, message);
        #else
        return PyErr_WarnEx(NULL, message, 1);
        #endif
    }
    return 0;
}

static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
    int start = 0, mid = 0, end = count - 1;
    if (end >= 0 && code_line > entries[end].code_line) {
        return count;
    }
    while (start < end) {
        mid = (start + end) / 2;
        if (code_line < entries[mid].code_line) {
            end = mid;
        } else if (code_line > entries[mid].code_line) {
             start = mid + 1;
        } else {
            return mid;
        }
    }
    if (code_line <= entries[mid].code_line) {
        return mid;
    } else {
        return mid + 1;
    }
}
static PyCodeObject *__pyx_find_code_object(int code_line) {
    PyCodeObject* code_object;
    int pos;
    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
        return NULL;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
        return NULL;
    }
    code_object = __pyx_code_cache.entries[pos].code_object;
    Py_INCREF(code_object);
    return code_object;
}
static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
    int pos, i;
    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
    if (unlikely(!code_line)) {
        return;
    }
    if (unlikely(!entries)) {
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
        if (likely(entries)) {
            __pyx_code_cache.entries = entries;
            __pyx_code_cache.max_count = 64;
            __pyx_code_cache.count = 1;
            entries[0].code_line = code_line;
            entries[0].code_object = code_object;
            Py_INCREF(code_object);
        }
        return;
    }
    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
        PyCodeObject* tmp = entries[pos].code_object;
        entries[pos].code_object = code_object;
        Py_DECREF(tmp);
        return;
    }
    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
        int new_max = __pyx_code_cache.max_count + 64;
        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
        if (unlikely(!entries)) {
            return;
        }
        __pyx_code_cache.entries = entries;
        __pyx_code_cache.max_count = new_max;
    }
    for (i=__pyx_code_cache.count; i>pos; i--) {
        entries[i] = entries[i-1];
    }
    entries[pos].code_line = code_line;
    entries[pos].code_object = code_object;
    __pyx_code_cache.count++;
    Py_INCREF(code_object);
}

#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
            const char *funcname, int c_line,
            int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyObject *py_srcfile = 0;
    PyObject *py_funcname = 0;
    #if PY_MAJOR_VERSION < 3
    py_srcfile = PyString_FromString(filename);
    #else
    py_srcfile = PyUnicode_FromString(filename);
    #endif
    if (!py_srcfile) goto bad;
    if (c_line) {
        #if PY_MAJOR_VERSION < 3
        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #else
        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
        #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_code = __Pyx_PyCode_New(
        0,            /*int argcount,*/
        0,            /*int kwonlyargcount,*/
        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,*/
        py_line,      /*int firstlineno,*/
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    Py_DECREF(py_funcname);
    return py_code;
bad:
    Py_XDECREF(py_srcfile);
    Py_XDECREF(py_funcname);
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyObject *py_globals = 0;
    PyFrameObject *py_frame = 0;
    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
    if (!py_code) {
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) goto bad;
        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
    }
    py_globals = PyModule_GetDict(__pyx_m);
    if (!py_globals) 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 = py_line;
    PyTraceBack_Here(py_frame);
bad:
    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;
}

static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(char* c_str) {
    return __Pyx_PyUnicode_FromStringAndSize(c_str, strlen(c_str));
}
static CYTHON_INLINE char* __Pyx_PyObject_AsString(PyObject* o) {
    Py_ssize_t ignore;
    return __Pyx_PyObject_AsStringAndSize(o, &ignore);
}
static CYTHON_INLINE char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
    if (
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
            __Pyx_sys_getdefaultencoding_not_ascii &&
#endif
            PyUnicode_Check(o)) {
#if PY_VERSION_HEX < 0x03030000
        char* defenc_c;
        PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL);
        if (!defenc) return NULL;
        defenc_c = PyBytes_AS_STRING(defenc);
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        {
            char* end = defenc_c + PyBytes_GET_SIZE(defenc);
            char* c;
            for (c = defenc_c; c < end; c++) {
                if ((unsigned char) (*c) >= 128) {
                    PyUnicode_AsASCIIString(o);
                    return NULL;
                }
            }
        }
#endif /*__PYX_DEFAULT_STRING_ENCODING_IS_ASCII*/
        *length = PyBytes_GET_SIZE(defenc);
        return defenc_c;
#else /* PY_VERSION_HEX < 0x03030000 */
        if (PyUnicode_READY(o) == -1) return NULL;
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
        if (PyUnicode_IS_ASCII(o)) {
            *length = PyUnicode_GET_DATA_SIZE(o);
            return PyUnicode_AsUTF8(o);
        } else {
            PyUnicode_AsASCIIString(o);
            return NULL;
        }
#else /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */
        return PyUnicode_AsUTF8AndSize(o, length);
#endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII */
#endif /* PY_VERSION_HEX < 0x03030000 */
    } else
#endif /* __PYX_DEFAULT_STRING_ENCODING_IS_ASCII  || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT */
    {
        char* result;
        int r = PyBytes_AsStringAndSize(o, &result, length);
        if (r < 0) {
            return NULL;
        } else {
            return result;
        }
    }
}
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_MAJOR_VERSION < 3
  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_MAJOR_VERSION < 3
  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_MAJOR_VERSION < 3
    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)(size_t)val)) {
       if ((val != (unsigned PY_LONG_LONG)-1) || !PyErr_Occurred())
           PyErr_SetString(PyExc_OverflowError,
                           "value too large to convert to size_t");
       return (size_t)-1;
   }
   return (size_t)val;
}


#endif /* Py_PYTHON_H */
