diff options
author | bunnei <bunneidev@gmail.com> | 2023-03-17 22:14:29 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-17 22:14:29 -0700 |
commit | 889454f9bff3cb9b2034bba7f5961f77235eac82 (patch) | |
tree | 44d2568ae2ed7e9d667b62b216b66da04bd80e56 | |
parent | 8bcaa8c2e4c7135994884992e6cc64082f571240 (diff) | |
parent | 44518b225cfeeeaab182592e7751874c46d18b82 (diff) |
Merge pull request #9778 from behunin/my-box-chevy
gpu_thread: Use bounded queue
-rw-r--r-- | src/video_core/gpu_thread.cpp | 3 | ||||
-rw-r--r-- | src/video_core/gpu_thread.h | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/gpu_thread.cpp b/src/video_core/gpu_thread.cpp index 050b11874..f52f9e28f 100644 --- a/src/video_core/gpu_thread.cpp +++ b/src/video_core/gpu_thread.cpp @@ -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; } diff --git a/src/video_core/gpu_thread.h b/src/video_core/gpu_thread.h index 90bcb5958..43940bd6d 100644 --- a/src/video_core/gpu_thread.h +++ b/src/video_core/gpu_thread.h @@ -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{}; |