Compare commits
8 Commits
android-24
...
android-24
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d578451e34 | ||
|
|
b6a27686a9 | ||
|
|
89667fb87c | ||
|
|
41893990c0 | ||
|
|
20c4af3cee | ||
|
|
657b772e42 | ||
|
|
becbeba19d | ||
|
|
22f8b0ca51 |
@@ -5,7 +5,8 @@
|
||||
| [12756](https://github.com/yuzu-emu/yuzu//pull/12756) | [`13fd37ef6`](https://github.com/yuzu-emu/yuzu//pull/12756/files) | general: applet multiprocess | [liamwhite](https://github.com/liamwhite/) | Yes |
|
||||
| [12949](https://github.com/yuzu-emu/yuzu//pull/12949) | [`5a64a77df`](https://github.com/yuzu-emu/yuzu//pull/12949/files) | service: add os types and multi wait API | [liamwhite](https://github.com/liamwhite/) | Yes |
|
||||
| [12955](https://github.com/yuzu-emu/yuzu//pull/12955) | [`8d2ad3d8f`](https://github.com/yuzu-emu/yuzu//pull/12955/files) | dmnt: cheat: Avoid invalidating cache on 32bit | [german77](https://github.com/german77/) | Yes |
|
||||
| [12969](https://github.com/yuzu-emu/yuzu//pull/12969) | [`5bf64e874`](https://github.com/yuzu-emu/yuzu//pull/12969/files) | service: bcat: Migrate and refractor service to new IPC | [german77](https://github.com/german77/) | Yes |
|
||||
| [12969](https://github.com/yuzu-emu/yuzu//pull/12969) | [`816d03f7d`](https://github.com/yuzu-emu/yuzu//pull/12969/files) | service: bcat: Migrate and refractor service to new IPC | [german77](https://github.com/german77/) | Yes |
|
||||
| [12975](https://github.com/yuzu-emu/yuzu//pull/12975) | [`9ce43ee67`](https://github.com/yuzu-emu/yuzu//pull/12975/files) | Texture Cache: Fix untracking on GPU remap | [FernandoS27](https://github.com/FernandoS27/) | Yes |
|
||||
|
||||
|
||||
End of merge log. You can find the original README.md below the break.
|
||||
|
||||
@@ -29,8 +29,8 @@ IBcatService::IBcatService(Core::System& system_, BcatBackend& backend_)
|
||||
}} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{10100, C<&IBcatService::RequestSyncDeliveryCache>, "RequestSyncDeliveryCache"},
|
||||
{10101, C<&IBcatService::RequestSyncDeliveryCacheWithDirectoryName>, "RequestSyncDeliveryCacheWithDirectoryName"},
|
||||
{10100, D<&IBcatService::RequestSyncDeliveryCache>, "RequestSyncDeliveryCache"},
|
||||
{10101, D<&IBcatService::RequestSyncDeliveryCacheWithDirectoryName>, "RequestSyncDeliveryCacheWithDirectoryName"},
|
||||
{10200, nullptr, "CancelSyncDeliveryCacheRequest"},
|
||||
{20100, nullptr, "RequestSyncDeliveryCacheWithApplicationId"},
|
||||
{20101, nullptr, "RequestSyncDeliveryCacheWithApplicationIdAndDirectoryName"},
|
||||
@@ -39,7 +39,7 @@ IBcatService::IBcatService(Core::System& system_, BcatBackend& backend_)
|
||||
{20400, nullptr, "RegisterSystemApplicationDeliveryTask"},
|
||||
{20401, nullptr, "UnregisterSystemApplicationDeliveryTask"},
|
||||
{20410, nullptr, "SetSystemApplicationDeliveryTaskTimer"},
|
||||
{30100, C<&IBcatService::SetPassphrase>, "SetPassphrase"},
|
||||
{30100, D<&IBcatService::SetPassphrase>, "SetPassphrase"},
|
||||
{30101, nullptr, "Unknown30101"},
|
||||
{30102, nullptr, "Unknown30102"},
|
||||
{30200, nullptr, "RegisterBackgroundDeliveryTask"},
|
||||
@@ -47,11 +47,11 @@ IBcatService::IBcatService(Core::System& system_, BcatBackend& backend_)
|
||||
{30202, nullptr, "BlockDeliveryTask"},
|
||||
{30203, nullptr, "UnblockDeliveryTask"},
|
||||
{30210, nullptr, "SetDeliveryTaskTimer"},
|
||||
{30300, C<&IBcatService::RegisterSystemApplicationDeliveryTasks>, "RegisterSystemApplicationDeliveryTasks"},
|
||||
{30300, D<&IBcatService::RegisterSystemApplicationDeliveryTasks>, "RegisterSystemApplicationDeliveryTasks"},
|
||||
{90100, nullptr, "EnumerateBackgroundDeliveryTask"},
|
||||
{90101, nullptr, "Unknown90101"},
|
||||
{90200, nullptr, "GetDeliveryList"},
|
||||
{90201, C<&IBcatService::ClearDeliveryCacheStorage>, "ClearDeliveryCacheStorage"},
|
||||
{90201, D<&IBcatService::ClearDeliveryCacheStorage>, "ClearDeliveryCacheStorage"},
|
||||
{90202, nullptr, "ClearDeliveryTaskSubscriptionStatus"},
|
||||
{90300, nullptr, "GetPushNotificationLog"},
|
||||
{90301, nullptr, "Unknown90301"},
|
||||
|
||||
@@ -24,9 +24,9 @@ IDeliveryCacheDirectoryService::IDeliveryCacheDirectoryService(Core::System& sys
|
||||
: ServiceFramework{system_, "IDeliveryCacheDirectoryService"}, root(std::move(root_)) {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, C<&IDeliveryCacheDirectoryService::Open>, "Open"},
|
||||
{1, C<&IDeliveryCacheDirectoryService::Read>, "Read"},
|
||||
{2, C<&IDeliveryCacheDirectoryService::GetCount>, "GetCount"},
|
||||
{0, D<&IDeliveryCacheDirectoryService::Open>, "Open"},
|
||||
{1, D<&IDeliveryCacheDirectoryService::Read>, "Read"},
|
||||
{2, D<&IDeliveryCacheDirectoryService::GetCount>, "GetCount"},
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
||||
@@ -14,10 +14,10 @@ IDeliveryCacheFileService::IDeliveryCacheFileService(Core::System& system_,
|
||||
: ServiceFramework{system_, "IDeliveryCacheFileService"}, root(std::move(root_)) {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, C<&IDeliveryCacheFileService::Open>, "Open"},
|
||||
{1, C<&IDeliveryCacheFileService::Read>, "Read"},
|
||||
{2, C<&IDeliveryCacheFileService::GetSize>, "GetSize"},
|
||||
{3, C<&IDeliveryCacheFileService::GetDigest>, "GetDigest"},
|
||||
{0, D<&IDeliveryCacheFileService::Open>, "Open"},
|
||||
{1, D<&IDeliveryCacheFileService::Read>, "Read"},
|
||||
{2, D<&IDeliveryCacheFileService::GetSize>, "GetSize"},
|
||||
{3, D<&IDeliveryCacheFileService::GetDigest>, "GetDigest"},
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ IDeliveryCacheProgressService::IDeliveryCacheProgressService(Core::System& syste
|
||||
: ServiceFramework{system_, "IDeliveryCacheProgressService"}, event{event_}, impl{impl_} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, C<&IDeliveryCacheProgressService::GetEvent>, "Get"},
|
||||
{0, C<&IDeliveryCacheProgressService::GetImpl>, "Get"},
|
||||
{0, D<&IDeliveryCacheProgressService::GetEvent>, "Get"},
|
||||
{1, D<&IDeliveryCacheProgressService::GetImpl>, "Get"},
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
||||
@@ -14,9 +14,9 @@ IDeliveryCacheStorageService::IDeliveryCacheStorageService(Core::System& system_
|
||||
: ServiceFramework{system_, "IDeliveryCacheStorageService"}, root(std::move(root_)) {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, C<&IDeliveryCacheStorageService::CreateFileService>, "CreateFileService"},
|
||||
{1, C<&IDeliveryCacheStorageService::CreateDirectoryService>, "CreateDirectoryService"},
|
||||
{2, C<&IDeliveryCacheStorageService::EnumerateDeliveryCacheDirectory>, "EnumerateDeliveryCacheDirectory"},
|
||||
{0, D<&IDeliveryCacheStorageService::CreateFileService>, "CreateFileService"},
|
||||
{1, D<&IDeliveryCacheStorageService::CreateDirectoryService>, "CreateDirectoryService"},
|
||||
{10, D<&IDeliveryCacheStorageService::EnumerateDeliveryCacheDirectory>, "EnumerateDeliveryCacheDirectory"},
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
|
||||
@@ -18,9 +18,9 @@ IServiceCreator::IServiceCreator(Core::System& system_, const char* name_)
|
||||
: ServiceFramework{system_, name_}, fsc{system.GetFileSystemController()} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, C<&IServiceCreator::CreateBcatService>, "CreateBcatService"},
|
||||
{1, C<&IServiceCreator::CreateDeliveryCacheStorageService>, "CreateDeliveryCacheStorageService"},
|
||||
{2, C<&IServiceCreator::CreateDeliveryCacheStorageServiceWithApplicationId>, "CreateDeliveryCacheStorageServiceWithApplicationId"},
|
||||
{0, D<&IServiceCreator::CreateBcatService>, "CreateBcatService"},
|
||||
{1, D<&IServiceCreator::CreateDeliveryCacheStorageService>, "CreateDeliveryCacheStorageService"},
|
||||
{2, D<&IServiceCreator::CreateDeliveryCacheStorageServiceWithApplicationId>, "CreateDeliveryCacheStorageServiceWithApplicationId"},
|
||||
{3, nullptr, "CreateDeliveryCacheProgressService"},
|
||||
{4, nullptr, "CreateDeliveryCacheProgressServiceWithApplicationId"},
|
||||
};
|
||||
|
||||
@@ -42,6 +42,7 @@ ImageInfo::ImageInfo(const TICEntry& config) noexcept {
|
||||
};
|
||||
}
|
||||
rescaleable = false;
|
||||
is_sparse = config.is_sparse != 0;
|
||||
tile_width_spacing = config.tile_width_spacing;
|
||||
if (config.texture_type != TextureType::Texture2D &&
|
||||
config.texture_type != TextureType::Texture2DNoMipmap) {
|
||||
|
||||
@@ -41,6 +41,7 @@ struct ImageInfo {
|
||||
bool downscaleable = false;
|
||||
bool forced_flushed = false;
|
||||
bool dma_downloaded = false;
|
||||
bool is_sparse = false;
|
||||
};
|
||||
|
||||
} // namespace VideoCommon
|
||||
|
||||
@@ -600,17 +600,17 @@ void TextureCache<P>::UnmapGPUMemory(size_t as_id, GPUVAddr gpu_addr, size_t siz
|
||||
[&](ImageId id, Image&) { deleted_images.push_back(id); });
|
||||
for (const ImageId id : deleted_images) {
|
||||
Image& image = slot_images[id];
|
||||
if (True(image.flags & ImageFlagBits::CpuModified)) {
|
||||
continue;
|
||||
if (False(image.flags & ImageFlagBits::CpuModified)) {
|
||||
image.flags |= ImageFlagBits::CpuModified;
|
||||
if (True(image.flags & ImageFlagBits::Tracked)) {
|
||||
UntrackImage(image, id);
|
||||
}
|
||||
}
|
||||
image.flags |= ImageFlagBits::CpuModified;
|
||||
|
||||
if (True(image.flags & ImageFlagBits::Remapped)) {
|
||||
continue;
|
||||
}
|
||||
image.flags |= ImageFlagBits::Remapped;
|
||||
if (True(image.flags & ImageFlagBits::Tracked)) {
|
||||
UntrackImage(image, id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1469,7 +1469,8 @@ ImageId TextureCache<P>::JoinImages(const ImageInfo& info, GPUVAddr gpu_addr, DA
|
||||
const ImageId new_image_id = slot_images.insert(runtime, new_info, gpu_addr, cpu_addr);
|
||||
Image& new_image = slot_images[new_image_id];
|
||||
|
||||
if (!gpu_memory->IsContinuousRange(new_image.gpu_addr, new_image.guest_size_bytes)) {
|
||||
if (!gpu_memory->IsContinuousRange(new_image.gpu_addr, new_image.guest_size_bytes) &&
|
||||
new_info.is_sparse) {
|
||||
new_image.flags |= ImageFlagBits::Sparse;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user