diff --git a/app/src/main/cpp/skyline/gpu/interconnect/blit_context.h b/app/src/main/cpp/skyline/gpu/interconnect/blit_context.h index 143c6282..314a1def 100644 --- a/app/src/main/cpp/skyline/gpu/interconnect/blit_context.h +++ b/app/src/main/cpp/skyline/gpu/interconnect/blit_context.h @@ -123,8 +123,12 @@ namespace skyline::gpu::interconnect { auto srcTextureView{gpu.texture.FindOrCreate(srcGuestTexture)}; auto dstTextureView{gpu.texture.FindOrCreate(dstGuestTexture)}; - executor.AttachTexture(&*srcTextureView); - executor.AttachTexture(&*dstTextureView); + { + std::scoped_lock lock{*srcTextureView, *dstTextureView}; + + executor.AttachTexture(&*srcTextureView); + executor.AttachTexture(&*dstTextureView); + } auto getSubresourceLayers{[](const vk::ImageSubresourceRange &range, vk::ImageAspectFlags aspect) { return vk::ImageSubresourceLayers{