summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2022-07-27 21:55:28 +0200
committerGitHub <noreply@github.com>2022-07-27 21:55:28 +0200
commitea861cc1c43e3c4079e80b6cbf3e81f992996574 (patch)
treef1d119249bbfbdcd7ee643cdcfef0ed1023c7366
parentMerge pull request #8636 from german77/irs_cluster_release (diff)
parentgpu_thread: Use the previous MPSCQueue implementation (diff)
downloadyuzu-ea861cc1c43e3c4079e80b6cbf3e81f992996574.tar
yuzu-ea861cc1c43e3c4079e80b6cbf3e81f992996574.tar.gz
yuzu-ea861cc1c43e3c4079e80b6cbf3e81f992996574.tar.bz2
yuzu-ea861cc1c43e3c4079e80b6cbf3e81f992996574.tar.lz
yuzu-ea861cc1c43e3c4079e80b6cbf3e81f992996574.tar.xz
yuzu-ea861cc1c43e3c4079e80b6cbf3e81f992996574.tar.zst
yuzu-ea861cc1c43e3c4079e80b6cbf3e81f992996574.zip
-rw-r--r--src/video_core/gpu_thread.cpp3
-rw-r--r--src/video_core/gpu_thread.h4
2 files changed, 3 insertions, 4 deletions
diff --git a/src/video_core/gpu_thread.cpp b/src/video_core/gpu_thread.cpp
index b0ce9f000..d43f7175a 100644
--- a/src/video_core/gpu_thread.cpp
+++ b/src/video_core/gpu_thread.cpp
@@ -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;
}
diff --git a/src/video_core/gpu_thread.h b/src/video_core/gpu_thread.h
index be0ac2214..2f8210cb9 100644
--- a/src/video_core/gpu_thread.h
+++ b/src/video_core/gpu_thread.h
@@ -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{};