Refactor all std::lock_guard usages to std::scoped_lock

This commit is contained in:
Billy Laws
2022-04-25 15:00:30 +01:00
parent 94e6f3cfa0
commit 1dd230afde
22 changed files with 87 additions and 87 deletions

View File

@ -21,11 +21,11 @@ namespace skyline::gpu {
mirror = alignedMirror.subspan(static_cast<size_t>(guest->data() - alignedData), guest->size());
trapHandle = gpu.state.nce->TrapRegions(*guest, true, [this] {
std::lock_guard lock(*this);
std::scoped_lock lock{*this};
SynchronizeGuest(true); // We can skip trapping since the caller will do it
WaitOnFence();
}, [this] {
std::lock_guard lock(*this);
std::scoped_lock lock{*this};
SynchronizeGuest(true);
dirtyState = DirtyState::CpuDirty; // We need to assume the buffer is dirty since we don't know what the guest is writing
WaitOnFence();
@ -95,7 +95,7 @@ namespace skyline::gpu {
}
Buffer::~Buffer() {
std::lock_guard lock(*this);
std::scoped_lock lock{*this};
if (trapHandle)
gpu.state.nce->DeleteTrap(*trapHandle);
SynchronizeGuest(true);

View File

@ -514,7 +514,7 @@ namespace skyline::gpu::interconnect {
}
void ClearColorRt(TextureView *renderTarget, vk::Rect2D scissor, u32 layerIndex) {
std::lock_guard lock(*renderTarget);
std::scoped_lock lock{*renderTarget};
executor.AttachTexture(renderTarget);
scissor.extent.width = static_cast<u32>(std::min(static_cast<i32>(renderTarget->texture->dimensions.width) - scissor.offset.x,
@ -546,7 +546,7 @@ namespace skyline::gpu::interconnect {
}
void ClearDepthStencilRt(TextureView *renderTarget, vk::ImageAspectFlags aspect, u32 layerIndex) {
std::lock_guard lock(*renderTarget);
std::scoped_lock lock{*renderTarget};
executor.AttachTexture(renderTarget);
if (renderTarget->range.layerCount == 1 && layerIndex == 0) {

View File

@ -172,7 +172,7 @@ namespace skyline::gpu {
}
void PresentationEngine::UpdateSurface(jobject newSurface) {
std::lock_guard guard(mutex);
std::scoped_lock guard{mutex};
auto env{state.jvm->GetEnv()};
if (!env->IsSameObject(jSurface, nullptr)) {
@ -295,7 +295,7 @@ namespace skyline::gpu {
throw exception("Retrieving the next frame's ID failed with {}", result);
{
std::lock_guard queueLock(gpu.queueMutex);
std::scoped_lock queueLock{gpu.queueMutex};
std::ignore = gpu.vkQueue.presentKHR(vk::PresentInfoKHR{
.swapchainCount = 1,
.pSwapchains = &**vkSwapchain,

View File

@ -106,11 +106,11 @@ namespace skyline::gpu {
}
trapHandle = gpu.state.nce->TrapRegions(mappings, true, [this] {
std::lock_guard lock(*this);
std::scoped_lock lock{*this};
SynchronizeGuest(true); // We can skip trapping since the caller will do it
WaitOnFence();
}, [this] {
std::lock_guard lock(*this);
std::scoped_lock lock{*this};
SynchronizeGuest(true);
dirtyState = DirtyState::CpuDirty; // We need to assume the texture is dirty since we don't know what the guest is writing
WaitOnFence();
@ -339,7 +339,7 @@ namespace skyline::gpu {
}
Texture::~Texture() {
std::lock_guard lock(*this);
std::scoped_lock lock{*this};
if (trapHandle)
gpu.state.nce->DeleteTrap(*trapHandle);
SynchronizeGuest(true);