1
1
Fork 0
forked from suyu/suyu

core/hle: Standardize scoped_lock initializers

This commit is contained in:
Merry 2022-04-07 19:36:31 +01:00
parent 4778656110
commit d79274a5d9
5 changed files with 23 additions and 23 deletions

View file

@ -21,7 +21,7 @@ Status BufferItemConsumer::AcquireBuffer(BufferItem* item, std::chrono::nanoseco
return Status::BadValue; return Status::BadValue;
} }
std::scoped_lock lock(mutex); std::scoped_lock lock{mutex};
if (const auto status = AcquireBufferLocked(item, present_when); status != Status::NoError) { if (const auto status = AcquireBufferLocked(item, present_when); status != Status::NoError) {
if (status != Status::NoBufferAvailable) { if (status != Status::NoBufferAvailable) {
@ -40,7 +40,7 @@ Status BufferItemConsumer::AcquireBuffer(BufferItem* item, std::chrono::nanoseco
} }
Status BufferItemConsumer::ReleaseBuffer(const BufferItem& item, Fence& release_fence) { Status BufferItemConsumer::ReleaseBuffer(const BufferItem& item, Fence& release_fence) {
std::scoped_lock lock(mutex); std::scoped_lock lock{mutex};
if (const auto status = AddReleaseFenceLocked(item.buf, item.graphic_buffer, release_fence); if (const auto status = AddReleaseFenceLocked(item.buf, item.graphic_buffer, release_fence);
status != Status::NoError) { status != Status::NoError) {

View file

@ -19,7 +19,7 @@ BufferQueueConsumer::~BufferQueueConsumer() = default;
Status BufferQueueConsumer::AcquireBuffer(BufferItem* out_buffer, Status BufferQueueConsumer::AcquireBuffer(BufferItem* out_buffer,
std::chrono::nanoseconds expected_present) { std::chrono::nanoseconds expected_present) {
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
// Check that the consumer doesn't currently have the maximum number of buffers acquired. // Check that the consumer doesn't currently have the maximum number of buffers acquired.
const s32 num_acquired_buffers{ const s32 num_acquired_buffers{
@ -120,7 +120,7 @@ Status BufferQueueConsumer::ReleaseBuffer(s32 slot, u64 frame_number, const Fenc
std::shared_ptr<IProducerListener> listener; std::shared_ptr<IProducerListener> listener;
{ {
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
// If the frame number has changed because the buffer has been reallocated, we can ignore // If the frame number has changed because the buffer has been reallocated, we can ignore
// this ReleaseBuffer for the old buffer. // this ReleaseBuffer for the old buffer.
@ -180,7 +180,7 @@ Status BufferQueueConsumer::Connect(std::shared_ptr<IConsumerListener> consumer_
LOG_DEBUG(Service_NVFlinger, "controlled_by_app={}", controlled_by_app); LOG_DEBUG(Service_NVFlinger, "controlled_by_app={}", controlled_by_app);
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
if (core->is_abandoned) { if (core->is_abandoned) {
LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned"); LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned");
@ -199,7 +199,7 @@ Status BufferQueueConsumer::GetReleasedBuffers(u64* out_slot_mask) {
return Status::BadValue; return Status::BadValue;
} }
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
if (core->is_abandoned) { if (core->is_abandoned) {
LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned"); LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned");

View file

@ -15,7 +15,7 @@ BufferQueueCore::BufferQueueCore() = default;
BufferQueueCore::~BufferQueueCore() = default; BufferQueueCore::~BufferQueueCore() = default;
void BufferQueueCore::NotifyShutdown() { void BufferQueueCore::NotifyShutdown() {
std::scoped_lock lock(mutex); std::scoped_lock lock{mutex};
is_shutting_down = true; is_shutting_down = true;

View file

@ -38,7 +38,7 @@ BufferQueueProducer::~BufferQueueProducer() {
Status BufferQueueProducer::RequestBuffer(s32 slot, std::shared_ptr<GraphicBuffer>* buf) { Status BufferQueueProducer::RequestBuffer(s32 slot, std::shared_ptr<GraphicBuffer>* buf) {
LOG_DEBUG(Service_NVFlinger, "slot {}", slot); LOG_DEBUG(Service_NVFlinger, "slot {}", slot);
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
if (core->is_abandoned) { if (core->is_abandoned) {
LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned"); LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned");
@ -65,7 +65,7 @@ Status BufferQueueProducer::SetBufferCount(s32 buffer_count) {
std::shared_ptr<IConsumerListener> listener; std::shared_ptr<IConsumerListener> listener;
{ {
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
core->WaitWhileAllocatingLocked(); core->WaitWhileAllocatingLocked();
if (core->is_abandoned) { if (core->is_abandoned) {
@ -236,7 +236,7 @@ Status BufferQueueProducer::DequeueBuffer(s32* out_slot, Fence* out_fence, bool
Status return_flags = Status::NoError; Status return_flags = Status::NoError;
bool attached_by_consumer = false; bool attached_by_consumer = false;
{ {
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
core->WaitWhileAllocatingLocked(); core->WaitWhileAllocatingLocked();
if (format == PixelFormat::NoFormat) { if (format == PixelFormat::NoFormat) {
@ -295,7 +295,7 @@ Status BufferQueueProducer::DequeueBuffer(s32* out_slot, Fence* out_fence, bool
} }
{ {
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
if (core->is_abandoned) { if (core->is_abandoned) {
LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned"); LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned");
@ -320,7 +320,7 @@ Status BufferQueueProducer::DequeueBuffer(s32* out_slot, Fence* out_fence, bool
Status BufferQueueProducer::DetachBuffer(s32 slot) { Status BufferQueueProducer::DetachBuffer(s32 slot) {
LOG_DEBUG(Service_NVFlinger, "slot {}", slot); LOG_DEBUG(Service_NVFlinger, "slot {}", slot);
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
if (core->is_abandoned) { if (core->is_abandoned) {
LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned"); LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned");
@ -356,7 +356,7 @@ Status BufferQueueProducer::DetachNextBuffer(std::shared_ptr<GraphicBuffer>* out
return Status::BadValue; return Status::BadValue;
} }
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
core->WaitWhileAllocatingLocked(); core->WaitWhileAllocatingLocked();
if (core->is_abandoned) { if (core->is_abandoned) {
@ -399,7 +399,7 @@ Status BufferQueueProducer::AttachBuffer(s32* out_slot,
return Status::BadValue; return Status::BadValue;
} }
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
core->WaitWhileAllocatingLocked(); core->WaitWhileAllocatingLocked();
Status return_flags = Status::NoError; Status return_flags = Status::NoError;
@ -460,7 +460,7 @@ Status BufferQueueProducer::QueueBuffer(s32 slot, const QueueBufferInput& input,
BufferItem item; BufferItem item;
{ {
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
if (core->is_abandoned) { if (core->is_abandoned) {
LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned"); LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned");
@ -576,7 +576,7 @@ Status BufferQueueProducer::QueueBuffer(s32 slot, const QueueBufferInput& input,
// Call back without the main BufferQueue lock held, but with the callback lock held so we can // Call back without the main BufferQueue lock held, but with the callback lock held so we can
// ensure that callbacks occur in order // ensure that callbacks occur in order
{ {
std::scoped_lock lock(callback_mutex); std::scoped_lock lock{callback_mutex};
while (callback_ticket != current_callback_ticket) { while (callback_ticket != current_callback_ticket) {
callback_condition.wait(callback_mutex); callback_condition.wait(callback_mutex);
} }
@ -597,7 +597,7 @@ Status BufferQueueProducer::QueueBuffer(s32 slot, const QueueBufferInput& input,
void BufferQueueProducer::CancelBuffer(s32 slot, const Fence& fence) { void BufferQueueProducer::CancelBuffer(s32 slot, const Fence& fence) {
LOG_DEBUG(Service_NVFlinger, "slot {}", slot); LOG_DEBUG(Service_NVFlinger, "slot {}", slot);
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
if (core->is_abandoned) { if (core->is_abandoned) {
LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned"); LOG_ERROR(Service_NVFlinger, "BufferQueue has been abandoned");
@ -623,7 +623,7 @@ void BufferQueueProducer::CancelBuffer(s32 slot, const Fence& fence) {
} }
Status BufferQueueProducer::Query(NativeWindow what, s32* out_value) { Status BufferQueueProducer::Query(NativeWindow what, s32* out_value) {
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
if (out_value == nullptr) { if (out_value == nullptr) {
LOG_ERROR(Service_NVFlinger, "outValue was nullptr"); LOG_ERROR(Service_NVFlinger, "outValue was nullptr");
@ -673,7 +673,7 @@ Status BufferQueueProducer::Query(NativeWindow what, s32* out_value) {
Status BufferQueueProducer::Connect(const std::shared_ptr<IProducerListener>& listener, Status BufferQueueProducer::Connect(const std::shared_ptr<IProducerListener>& listener,
NativeWindowApi api, bool producer_controlled_by_app, NativeWindowApi api, bool producer_controlled_by_app,
QueueBufferOutput* output) { QueueBufferOutput* output) {
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
LOG_DEBUG(Service_NVFlinger, "api = {} producer_controlled_by_app = {}", api, LOG_DEBUG(Service_NVFlinger, "api = {} producer_controlled_by_app = {}", api,
producer_controlled_by_app); producer_controlled_by_app);
@ -730,7 +730,7 @@ Status BufferQueueProducer::Disconnect(NativeWindowApi api) {
std::shared_ptr<IConsumerListener> listener; std::shared_ptr<IConsumerListener> listener;
{ {
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
core->WaitWhileAllocatingLocked(); core->WaitWhileAllocatingLocked();
@ -780,7 +780,7 @@ Status BufferQueueProducer::SetPreallocatedBuffer(s32 slot,
return Status::BadValue; return Status::BadValue;
} }
std::scoped_lock lock(core->mutex); std::scoped_lock lock{core->mutex};
slots[slot] = {}; slots[slot] = {};
slots[slot].graphic_buffer = buffer; slots[slot].graphic_buffer = buffer;

View file

@ -18,7 +18,7 @@ ConsumerBase::ConsumerBase(std::unique_ptr<BufferQueueConsumer> consumer_)
: consumer{std::move(consumer_)} {} : consumer{std::move(consumer_)} {}
ConsumerBase::~ConsumerBase() { ConsumerBase::~ConsumerBase() {
std::scoped_lock lock(mutex); std::scoped_lock lock{mutex};
ASSERT_MSG(is_abandoned, "consumer is not abandoned!"); ASSERT_MSG(is_abandoned, "consumer is not abandoned!");
} }
@ -44,7 +44,7 @@ void ConsumerBase::OnFrameReplaced(const BufferItem& item) {
} }
void ConsumerBase::OnBuffersReleased() { void ConsumerBase::OnBuffersReleased() {
std::scoped_lock lock(mutex); std::scoped_lock lock{mutex};
LOG_DEBUG(Service_NVFlinger, "called"); LOG_DEBUG(Service_NVFlinger, "called");