mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Merge pull request #3927 from jroweboy/fix-bug
Frontend: Remove tracking for context wrapper
This commit is contained in:
		
						commit
						024c84d2db
					
				| @ -150,18 +150,19 @@ public: | ||||
|     } | ||||
| 
 | ||||
|     void MakeCurrent() override { | ||||
|         if (is_current) { | ||||
|             return; | ||||
|         // We can't track the current state of the underlying context in this wrapper class because
 | ||||
|         // Qt may make the underlying context not current for one reason or another. In particular,
 | ||||
|         // the WebBrowser uses GL, so it seems to conflict if we aren't careful.
 | ||||
|         // Instead of always just making the context current (which does not have any caching to
 | ||||
|         // check if the underlying context is already current) we can check for the current context
 | ||||
|         // in the thread local data by calling `currentContext()` and checking if its ours.
 | ||||
|         if (QOpenGLContext::currentContext() != context.get()) { | ||||
|             context->makeCurrent(surface); | ||||
|         } | ||||
|         is_current = context->makeCurrent(surface); | ||||
|     } | ||||
| 
 | ||||
|     void DoneCurrent() override { | ||||
|         if (!is_current) { | ||||
|             return; | ||||
|         } | ||||
|         context->doneCurrent(); | ||||
|         is_current = false; | ||||
|     } | ||||
| 
 | ||||
|     QOpenGLContext* GetShareContext() { | ||||
| @ -178,7 +179,6 @@ private: | ||||
|     std::unique_ptr<QOpenGLContext> context; | ||||
|     std::unique_ptr<QOffscreenSurface> offscreen_surface{}; | ||||
|     QSurface* surface; | ||||
|     bool is_current = false; | ||||
| }; | ||||
| 
 | ||||
| class DummyContext : public Core::Frontend::GraphicsContext {}; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 bunnei
						bunnei