class_docstr: A class representing an EGL context. In short, EGL allows us to render OpenGL con-
  tent in a headless mode, that is without an actual display to render to. This capa-
  bility enables MeshRasterizerOpenGL to render on the GPU and then transfer the re-
  sults to PyTorch3D.
class_docstr_tok: ["A","class","representing","an","EGL","context",".","In","short",",","EGL","allows","us","to","render","OpenGL","con-","tent","in","a","headless","mode",",","that","is","without","an","actual","display","to","render","to",".","This","capa-","bility","enables","MeshRasterizerOpenGL","to","render","on","the","GPU","and","then","transfer","the","re-","sults","to","PyTorch3D","."]
docstr: Return context info. Useful for debugging.
  
  Returns:
      A dict of keys and ints, representing the context's display, surface,
      the context itself, and the current thread.
docstr_tok: ["Return","context","info",".","Useful","for","debugging",".","Returns",":","A","dict","of","keys","and","ints",",","representing","the","context","'s","display",",","surface",",","the","context","itself",",","and","the","current","thread","."]
code: def get_context_info(self) -> Dict[str, Any]:
      """
      Return context info. Useful for debugging.
  
      Returns:
          A dict of keys and ints, representing the context's display, surface,
          the context itself, and the current thread.
      """
      return {
          "dpy": self.dpy,
          "surface": self.surface,
          "context": self.context,
          "thread": threading.get_ident(),
      }
  
imports: import contextlib
  import ctypes
  import os
  import threading
  from typing import Any, Dict
  import OpenGL.EGL
  import pycuda.driver
  from OpenGL._opaque import opaque_pointer_cls
  from OpenGL.raw.EGL._errors import EGLError
label_desc: Use image node_id 3 for calling the EGLContext obj's underlying member method code with example usage: obj.get_context_info() and returns: dict