3
0
Fork 0
forked from suyu/suyu

nvflinger: Use return value of Lock()

comex reported in #4424 that we were incorrectly discarding the return
value of Lock() which is correct.
This commit is contained in:
Lioncash 2020-07-25 18:53:25 -04:00
parent a2e1810287
commit 5dab23e017
3 changed files with 4 additions and 4 deletions

View file

@ -68,7 +68,7 @@ NVFlinger::NVFlinger(Core::System& system) : system(system) {
// Schedule the screen composition events
composition_event = Core::Timing::CreateEvent(
"ScreenComposition", [this](u64, std::chrono::nanoseconds ns_late) {
Lock();
const auto guard = Lock();
Compose();
const auto ticks = std::chrono::nanoseconds{GetNextTicks()};

View file

@ -86,7 +86,7 @@ public:
s64 GetNextTicks() const;
std::unique_lock<std::mutex> Lock() {
std::unique_lock<std::mutex> Lock() const {
return std::unique_lock{*guard};
}

View file

@ -511,7 +511,7 @@ private:
LOG_DEBUG(Service_VI, "called. id=0x{:08X} transaction={:X}, flags=0x{:08X}", id,
static_cast<u32>(transaction), flags);
nv_flinger->Lock();
const auto guard = nv_flinger->Lock();
auto& buffer_queue = nv_flinger->FindBufferQueue(id);
switch (transaction) {
@ -551,7 +551,7 @@ private:
[=](std::shared_ptr<Kernel::Thread> thread, Kernel::HLERequestContext& ctx,
Kernel::ThreadWakeupReason reason) {
// Repeat TransactParcel DequeueBuffer when a buffer is available
nv_flinger->Lock();
const auto guard = nv_flinger->Lock();
auto& buffer_queue = nv_flinger->FindBufferQueue(id);
auto result = buffer_queue.DequeueBuffer(width, height);
ASSERT_MSG(result != std::nullopt, "Could not dequeue buffer.");