code: def _patch():
      """Monkey-patch pyopengl to fix a bug in glBufferSubData."""
      import sys
      from OpenGL import GL
  
      if sys.version_info > (3,):
          buffersubdatafunc = GL.glBufferSubData
          if hasattr(buffersubdatafunc, "wrapperFunction"):
              buffersubdatafunc = buffersubdatafunc.wrapperFunction
          _m = sys.modules[buffersubdatafunc.__module__]
          _m.long = int
  
      # Fix missing enum
      try:
          from OpenGL.GL.VERSION import GL_2_0
  
          GL_2_0.GL_OBJECT_SHADER_SOURCE_LENGTH = (
              GL_2_0.GL_SHADER_SOURCE_LENGTH
          )
      except Exception:
          pass
  
file_path: vispy/vispy/gloo/gl/pyopengl2.py
imports: from OpenGL import GL
  import OpenGL.GL.framebufferobjects
  from ...util import logger
  from .None import _copy_gl_functions
  from ._constants import *
  from .None import _pyopengl2
label_desc: Use image node_id 1 for calling a global function with example usage: _patch() without return types