gpu_thread: Use bounded queue
This commit is contained in:
		| @@ -32,7 +32,8 @@ 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.PopWait(stop_token); | ||||
|         CommandDataContainer next; | ||||
|         state.queue.Pop(next, stop_token); | ||||
|         if (stop_token.stop_requested()) { | ||||
|             break; | ||||
|         } | ||||
|   | ||||
| @@ -10,8 +10,8 @@ | ||||
| #include <thread> | ||||
| #include <variant> | ||||
|  | ||||
| #include "common/bounded_threadsafe_queue.h" | ||||
| #include "common/polyfill_thread.h" | ||||
| #include "common/threadsafe_queue.h" | ||||
| #include "video_core/framebuffer_config.h" | ||||
|  | ||||
| namespace Tegra { | ||||
| @@ -97,7 +97,7 @@ struct CommandDataContainer { | ||||
|  | ||||
| /// Struct used to synchronize the GPU thread | ||||
| struct SynchState final { | ||||
|     using CommandQueue = Common::MPSCQueue<CommandDataContainer, true>; | ||||
|     using CommandQueue = Common::MPSCQueue<CommandDataContainer>; | ||||
|     std::mutex write_lock; | ||||
|     CommandQueue queue; | ||||
|     u64 last_fence{}; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Behunin
					Behunin