summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/file_sys/patch_manager.cpp6
-rw-r--r--src/core/hle/service/friend/friend.cpp11
-rw-r--r--src/video_core/texture_cache/texture_cache.h4
3 files changed, 19 insertions, 2 deletions
diff --git a/src/core/file_sys/patch_manager.cpp b/src/core/file_sys/patch_manager.cpp
index e226e9711..e77e82b8d 100644
--- a/src/core/file_sys/patch_manager.cpp
+++ b/src/core/file_sys/patch_manager.cpp
@@ -348,6 +348,12 @@ static void ApplyLayeredFS(VirtualFile& romfs, u64 title_id, ContentRecordType t
348 if (ext_dir != nullptr) 348 if (ext_dir != nullptr)
349 layers_ext.push_back(std::move(ext_dir)); 349 layers_ext.push_back(std::move(ext_dir));
350 } 350 }
351
352 // When there are no layers to apply, return early as there is no need to rebuild the RomFS
353 if (layers.empty() && layers_ext.empty()) {
354 return;
355 }
356
351 layers.push_back(std::move(extracted)); 357 layers.push_back(std::move(extracted));
352 358
353 auto layered = LayeredVfsDirectory::MakeLayeredDirectory(std::move(layers)); 359 auto layered = LayeredVfsDirectory::MakeLayeredDirectory(std::move(layers));
diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp
index 6aadb3ea8..7938b4b80 100644
--- a/src/core/hle/service/friend/friend.cpp
+++ b/src/core/hle/service/friend/friend.cpp
@@ -27,7 +27,7 @@ public:
27 {10110, nullptr, "GetFriendProfileImage"}, 27 {10110, nullptr, "GetFriendProfileImage"},
28 {10200, nullptr, "SendFriendRequestForApplication"}, 28 {10200, nullptr, "SendFriendRequestForApplication"},
29 {10211, nullptr, "AddFacedFriendRequestForApplication"}, 29 {10211, nullptr, "AddFacedFriendRequestForApplication"},
30 {10400, nullptr, "GetBlockedUserListIds"}, 30 {10400, &IFriendService::GetBlockedUserListIds, "GetBlockedUserListIds"},
31 {10500, nullptr, "GetProfileList"}, 31 {10500, nullptr, "GetProfileList"},
32 {10600, nullptr, "DeclareOpenOnlinePlaySession"}, 32 {10600, nullptr, "DeclareOpenOnlinePlaySession"},
33 {10601, &IFriendService::DeclareCloseOnlinePlaySession, "DeclareCloseOnlinePlaySession"}, 33 {10601, &IFriendService::DeclareCloseOnlinePlaySession, "DeclareCloseOnlinePlaySession"},
@@ -121,6 +121,15 @@ private:
121 }; 121 };
122 static_assert(sizeof(SizedFriendFilter) == 0x10, "SizedFriendFilter is an invalid size"); 122 static_assert(sizeof(SizedFriendFilter) == 0x10, "SizedFriendFilter is an invalid size");
123 123
124 void GetBlockedUserListIds(Kernel::HLERequestContext& ctx) {
125 // This is safe to stub, as there should be no adverse consequences from reporting no
126 // blocked users.
127 LOG_WARNING(Service_ACC, "(STUBBED) called");
128 IPC::ResponseBuilder rb{ctx, 3};
129 rb.Push(RESULT_SUCCESS);
130 rb.Push<u32>(0); // Indicates there are no blocked users
131 }
132
124 void DeclareCloseOnlinePlaySession(Kernel::HLERequestContext& ctx) { 133 void DeclareCloseOnlinePlaySession(Kernel::HLERequestContext& ctx) {
125 // Stub used by Splatoon 2 134 // Stub used by Splatoon 2
126 LOG_WARNING(Service_ACC, "(STUBBED) called"); 135 LOG_WARNING(Service_ACC, "(STUBBED) called");
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index cfc7fe6e9..4edd4313b 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -509,7 +509,9 @@ private:
509 } 509 }
510 const auto& final_params = new_surface->GetSurfaceParams(); 510 const auto& final_params = new_surface->GetSurfaceParams();
511 if (cr_params.type != final_params.type) { 511 if (cr_params.type != final_params.type) {
512 BufferCopy(current_surface, new_surface); 512 if (Settings::values.use_accurate_gpu_emulation) {
513 BufferCopy(current_surface, new_surface);
514 }
513 } else { 515 } else {
514 std::vector<CopyParams> bricks = current_surface->BreakDown(final_params); 516 std::vector<CopyParams> bricks = current_surface->BreakDown(final_params);
515 for (auto& brick : bricks) { 517 for (auto& brick : bricks) {