From c13433aee4032ce654de1db31a93e4aed578596f Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Sat, 8 Jun 2019 16:45:25 -0400 Subject: [PATCH] Gpu: use an std mutex instead of a spin_lock to guard syncpoints --- src/video_core/gpu.cpp | 4 ++-- src/video_core/gpu.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp index ee976f81f9..c71f0f9bf4 100644 --- a/src/video_core/gpu.cpp +++ b/src/video_core/gpu.cpp @@ -69,7 +69,7 @@ const DmaPusher& GPU::DmaPusher() const { void GPU::IncrementSyncPoint(const u32 syncpoint_id) { syncpoints[syncpoint_id]++; - sync_guard.lock(); + sync_mutex.lock(); if (!events[syncpoint_id].empty()) { u32 value = syncpoints[syncpoint_id].load(); auto it = events[syncpoint_id].begin(); @@ -82,7 +82,7 @@ void GPU::IncrementSyncPoint(const u32 syncpoint_id) { it++; } } - sync_guard.unlock(); + sync_mutex.unlock(); } u32 GPU::GetSyncpointValue(const u32 syncpoint_id) const { diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index bc63920f2e..ab1a4bdd45 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h @@ -8,11 +8,11 @@ #include #include #include +#include #include "common/common_types.h" #include "core/hle/service/nvdrv/nvdata.h" #include "core/hle/service/nvflinger/buffer_queue.h" #include "video_core/dma_pusher.h" -#include "common/spin_lock.h" using CacheAddr = std::uintptr_t; inline CacheAddr ToCacheAddr(const void* host_ptr) { @@ -178,9 +178,9 @@ public: void Guard(bool guard_set) { if (guard_set) { - sync_guard.lock(); + sync_mutex.lock(); } else { - sync_guard.unlock(); + sync_mutex.unlock(); } } @@ -297,7 +297,7 @@ private: std::array, Service::Nvidia::MaxSyncPoints> events; - Common::SpinLock sync_guard{}; + std::mutex sync_mutex; }; #define ASSERT_REG_POSITION(field_name, position) \