From c0c4f6dfa6f45d3ab0b4f7b7d243fa9fc3fe973a Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 28 Nov 2022 19:09:41 -0500 Subject: consumer_base: Pass shared_ptr by const reference Avoids churning atomic reference count increments and decrements. --- src/core/hle/service/nvflinger/consumer_base.cpp | 6 +++--- src/core/hle/service/nvflinger/consumer_base.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/core/hle/service/nvflinger/consumer_base.cpp b/src/core/hle/service/nvflinger/consumer_base.cpp index 5b9995854..982531e2d 100644 --- a/src/core/hle/service/nvflinger/consumer_base.cpp +++ b/src/core/hle/service/nvflinger/consumer_base.cpp @@ -83,7 +83,7 @@ Status ConsumerBase::AcquireBufferLocked(BufferItem* item, std::chrono::nanoseco } Status ConsumerBase::AddReleaseFenceLocked(s32 slot, - const std::shared_ptr graphic_buffer, + const std::shared_ptr& graphic_buffer, const Fence& fence) { LOG_DEBUG(Service_NVFlinger, "slot={}", slot); @@ -100,7 +100,7 @@ Status ConsumerBase::AddReleaseFenceLocked(s32 slot, } Status ConsumerBase::ReleaseBufferLocked(s32 slot, - const std::shared_ptr graphic_buffer) { + const std::shared_ptr& graphic_buffer) { // If consumer no longer tracks this graphic_buffer (we received a new // buffer on the same slot), the buffer producer is definitely no longer // tracking it. @@ -121,7 +121,7 @@ Status ConsumerBase::ReleaseBufferLocked(s32 slot, } bool ConsumerBase::StillTracking(s32 slot, - const std::shared_ptr graphic_buffer) const { + const std::shared_ptr& graphic_buffer) const { if (slot < 0 || slot >= BufferQueueDefs::NUM_BUFFER_SLOTS) { return false; } diff --git a/src/core/hle/service/nvflinger/consumer_base.h b/src/core/hle/service/nvflinger/consumer_base.h index 7be477c43..9a8a5f6bb 100644 --- a/src/core/hle/service/nvflinger/consumer_base.h +++ b/src/core/hle/service/nvflinger/consumer_base.h @@ -36,9 +36,9 @@ protected: void FreeBufferLocked(s32 slot_index); Status AcquireBufferLocked(BufferItem* item, std::chrono::nanoseconds present_when); - Status ReleaseBufferLocked(s32 slot, const std::shared_ptr graphic_buffer); - bool StillTracking(s32 slot, const std::shared_ptr graphic_buffer) const; - Status AddReleaseFenceLocked(s32 slot, const std::shared_ptr graphic_buffer, + Status ReleaseBufferLocked(s32 slot, const std::shared_ptr& graphic_buffer); + bool StillTracking(s32 slot, const std::shared_ptr& graphic_buffer) const; + Status AddReleaseFenceLocked(s32 slot, const std::shared_ptr& graphic_buffer, const Fence& fence); struct Slot final { -- cgit v1.2.3