mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-31 10:44:49 +01:00 
			
		
		
		
	gpu_thread: Use the previous MPSCQueue implementation
The bounded MPSCQueue implementation causes crashes in Fire Emblem Three Houses, use the previous implementation for now.
This commit is contained in:
		
							parent
							
								
									770611fdf3
								
							
						
					
					
						commit
						fa09f7aa6c
					
				| @ -31,8 +31,7 @@ static void RunThread(std::stop_token stop_token, Core::System& system, | ||||
|     VideoCore::RasterizerInterface* const rasterizer = renderer.ReadRasterizer(); | ||||
| 
 | ||||
|     while (!stop_token.stop_requested()) { | ||||
|         CommandDataContainer next; | ||||
|         state.queue.Pop(next, stop_token); | ||||
|         CommandDataContainer next = state.queue.PopWait(stop_token); | ||||
|         if (stop_token.stop_requested()) { | ||||
|             break; | ||||
|         } | ||||
|  | ||||
| @ -10,7 +10,7 @@ | ||||
| #include <thread> | ||||
| #include <variant> | ||||
| 
 | ||||
| #include "common/bounded_threadsafe_queue.h" | ||||
| #include "common/threadsafe_queue.h" | ||||
| #include "video_core/framebuffer_config.h" | ||||
| 
 | ||||
| namespace Tegra { | ||||
| @ -96,7 +96,7 @@ struct CommandDataContainer { | ||||
| 
 | ||||
| /// Struct used to synchronize the GPU thread
 | ||||
| struct SynchState final { | ||||
|     using CommandQueue = Common::MPSCQueue<CommandDataContainer>; | ||||
|     using CommandQueue = Common::MPSCQueue<CommandDataContainer, true>; | ||||
|     std::mutex write_lock; | ||||
|     CommandQueue queue; | ||||
|     u64 last_fence{}; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user