mirror of
				https://github.com/facebookresearch/pytorch3d.git
				synced 2025-11-04 18:02:14 +08:00 
			
		
		
		
	Fix ogl test hang
Summary: See https://github.com/facebookresearch/pytorch3d/issues/1908 Reviewed By: MichaelRamamonjisoa Differential Revision: D65280253 fbshipit-source-id: ec05902c5f2f7eb9ddd92bda0045cc3564b8c091
This commit is contained in:
		
							parent
							
								
									8fe6934885
								
							
						
					
					
						commit
						81d82980bc
					
				@ -184,7 +184,7 @@ class EGLContext:
 | 
			
		||||
        """
 | 
			
		||||
        # Lock used to prevent multiple threads from rendering on the same device
 | 
			
		||||
        # at the same time, creating/destroying contexts at the same time, etc.
 | 
			
		||||
        self.lock = threading.Lock()
 | 
			
		||||
        self.lock = threading.RLock()
 | 
			
		||||
        self.cuda_device_id = cuda_device_id
 | 
			
		||||
        self.device = _get_cuda_device(self.cuda_device_id)
 | 
			
		||||
        self.width = width
 | 
			
		||||
@ -224,15 +224,14 @@ class EGLContext:
 | 
			
		||||
        Throws:
 | 
			
		||||
            EGLError when the context cannot be made current or make non-current.
 | 
			
		||||
        """
 | 
			
		||||
        self.lock.acquire()
 | 
			
		||||
        egl.eglMakeCurrent(self.dpy, self.surface, self.surface, self.context)
 | 
			
		||||
        try:
 | 
			
		||||
            yield
 | 
			
		||||
        finally:
 | 
			
		||||
            egl.eglMakeCurrent(
 | 
			
		||||
                self.dpy, egl.EGL_NO_SURFACE, egl.EGL_NO_SURFACE, egl.EGL_NO_CONTEXT
 | 
			
		||||
            )
 | 
			
		||||
            self.lock.release()
 | 
			
		||||
        with self.lock:
 | 
			
		||||
            egl.eglMakeCurrent(self.dpy, self.surface, self.surface, self.context)
 | 
			
		||||
            try:
 | 
			
		||||
                yield
 | 
			
		||||
            finally:
 | 
			
		||||
                egl.eglMakeCurrent(
 | 
			
		||||
                    self.dpy, egl.EGL_NO_SURFACE, egl.EGL_NO_SURFACE, egl.EGL_NO_CONTEXT
 | 
			
		||||
                )
 | 
			
		||||
 | 
			
		||||
    def get_context_info(self) -> Dict[str, Any]:
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user