diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake index 55be49cb98..3b8e996751 100644 --- a/CMakeModules/GenerateSCMRev.cmake +++ b/CMakeModules/GenerateSCMRev.cmake @@ -31,7 +31,7 @@ endif() # Generate cpp with Git revision from template # Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well -set(REPO_NAME "eden") +set(REPO_NAME "Eden") set(BUILD_ID ${GIT_BRANCH}) set(BUILD_FULLNAME "${REPO_NAME} ${BUILD_VERSION} ") diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 5a65a28baf..8fc4a82088 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -116,7 +116,7 @@ android { // Attaches 'debug' suffix to version and package name, allowing installation alongside the release build. register("relWithDebInfo") { isDefault = true - resValue("string", "app_name_suffixed", "eden Debug Release") + resValue("string", "app_name_suffixed", "Eden Debug Release") signingConfig = signingConfigs.getByName("default") isDebuggable = true proguardFiles( @@ -132,7 +132,7 @@ android { // Attaches 'debug' suffix to version and package name, allowing installation alongside the release build. debug { signingConfig = signingConfigs.getByName("default") - resValue("string", "app_name_suffixed", "eden Debug") + resValue("string", "app_name_suffixed", "Eden Debug") isDebuggable = true isJniDebuggable = true versionNameSuffix = "-debug" @@ -150,7 +150,7 @@ android { create("genshinSpoof") { dimension = "version" - applicationId = "com.miHoYo.Yuanshen" // Correct use of applicationId inside the flavor block + applicationId = "com.miHoYo.Yuanshen" } } } diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt index ec56362f77..ab35a9180c 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt @@ -130,12 +130,12 @@ abstract class SettingsItem( ) ) put( - SliderSetting( + SingleChoiceSetting( ByteSetting.RENDERER_DYNA_STATE, titleId = R.string.dyna_state, descriptionId = R.string.dyna_state_description, - min = 0, - max = 3, + choicesId = R.array.dynaStateEntries, + valuesId = R.array.dynaStateValues ) ) put( diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt index b54958c110..e50ebe50f4 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsDialogFragment.kt @@ -154,6 +154,8 @@ class SettingsDialogFragment : DialogFragment(), DialogInterface.OnClickListener stringInputBinding.generate.setOnClickListener { stringInputBinding.editText.setText(onGenerate()) } + } else { + stringInputBinding.generate.isVisible = false } val validator = item.validator diff --git a/src/android/app/src/main/res/values-ar/strings.xml b/src/android/app/src/main/res/values-ar/strings.xml index a71ef92fe8..5bf0dec83e 100644 --- a/src/android/app/src/main/res/values-ar/strings.xml +++ b/src/android/app/src/main/res/values-ar/strings.xml @@ -141,9 +141,9 @@ خلفية Shader اختيار طريقة ترجمة Shaders - عام - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> محاكاة NVDEC @@ -152,8 +152,8 @@ وحدة المعالجة الرسومية لا شيء - - تحسين SPIRV + + تحسين Spir-V يحسن الشادر المترجم لزيادة كفاءة GPU. أبداً عند التحميل diff --git a/src/android/app/src/main/res/values-ckb/strings.xml b/src/android/app/src/main/res/values-ckb/strings.xml index c9a1c57f3f..784521cb8d 100644 --- a/src/android/app/src/main/res/values-ckb/strings.xml +++ b/src/android/app/src/main/res/values-ckb/strings.xml @@ -138,9 +138,9 @@ شادەر باکند هەڵبژاردنی ڕێگای پێکهێنانی شادەر - گشتی - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> ئیمولەیشنی NVDEC @@ -149,8 +149,8 @@ GPU هیچ - - باشترکردنی دەرچوونی SPIRV + + باشترکردنی دەرچوونی Spir-V شێیدەرە کۆمپایلکراوەکان باش دەکات بۆ باشترکردنی کارایی GPU. هەرگیز لەسەر بارکردن diff --git a/src/android/app/src/main/res/values-cs/strings.xml b/src/android/app/src/main/res/values-cs/strings.xml index d18c56755b..bded4c4c39 100644 --- a/src/android/app/src/main/res/values-cs/strings.xml +++ b/src/android/app/src/main/res/values-cs/strings.xml @@ -137,9 +137,9 @@ Backend shaderů Způsob kompilace shaderů - Univerzální - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Emulace NVDEC @@ -148,8 +148,8 @@ GPU Žádné - - Optimalizovat SPIRV výstup + + Optimalizovat Spir-V výstup Optimalizuje zkompilovaný shader pro zvýšení efektivity GPU. Nikdy Při načtení diff --git a/src/android/app/src/main/res/values-de/strings.xml b/src/android/app/src/main/res/values-de/strings.xml index e030369d8f..370a27243c 100644 --- a/src/android/app/src/main/res/values-de/strings.xml +++ b/src/android/app/src/main/res/values-de/strings.xml @@ -137,9 +137,9 @@ Shader-Backend Methode zur Shader-Kompilierung - Universal - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> NVDEC-Emulation @@ -148,8 +148,8 @@ GPU Keine - - SPIRV-Optimierung + + Spir-V-Optimierung Optimiert den kompilierten Shader, um die GPU-Effizienz zu verbessern. Nie Beim Laden diff --git a/src/android/app/src/main/res/values-es/strings.xml b/src/android/app/src/main/res/values-es/strings.xml index 6a1ccbff26..59278440e2 100644 --- a/src/android/app/src/main/res/values-es/strings.xml +++ b/src/android/app/src/main/res/values-es/strings.xml @@ -137,9 +137,9 @@ Backend de shaders Elegir cómo se compilan shaders - Universal - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Emulación NVDEC @@ -148,8 +148,8 @@ GPU Ninguno - - Optimizar salida SPIRV + + Optimizar salida Spir-V Optimiza el sombreador compilado para mejorar la eficiencia de la GPU. Nunca Al cargar diff --git a/src/android/app/src/main/res/values-fa/strings.xml b/src/android/app/src/main/res/values-fa/strings.xml index f445d28356..327b7ee5bf 100644 --- a/src/android/app/src/main/res/values-fa/strings.xml +++ b/src/android/app/src/main/res/values-fa/strings.xml @@ -137,9 +137,9 @@ بک‌اند شیدر انتخاب روش کامپایل و ترجمه شیدرها - همه‌کاره - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> شبیه‌سازی NVDEC @@ -148,8 +148,8 @@ GPU هیچ‌کدام - - بهینه‌سازی خروجی SPIRV + + بهینه‌سازی خروجی Spir-V شیدر کامپایل شده را برای بهبود کارایی GPU بهینه‌سازی می‌کند. هرگز در هنگام بارگذاری diff --git a/src/android/app/src/main/res/values-fr/strings.xml b/src/android/app/src/main/res/values-fr/strings.xml index d3bec19dd9..e3c4b1d060 100644 --- a/src/android/app/src/main/res/values-fr/strings.xml +++ b/src/android/app/src/main/res/values-fr/strings.xml @@ -137,9 +137,9 @@ Backend shader Méthode de compilation - Universel - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Émulation NVDEC @@ -148,8 +148,8 @@ GPU Aucun - - Optimiser SPIRV + + Optimiser Spir-V Optimise le shader compilé pour améliorer l\'efficacité du GPU. Jamais Au chargement diff --git a/src/android/app/src/main/res/values-he/strings.xml b/src/android/app/src/main/res/values-he/strings.xml index 3be619cac8..3ce7d1e2c3 100644 --- a/src/android/app/src/main/res/values-he/strings.xml +++ b/src/android/app/src/main/res/values-he/strings.xml @@ -138,9 +138,9 @@ מנוע שיידרים בחר כיצד לקמפל שיידרים - אוניברסלי - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> אמולציית NVDEC @@ -149,8 +149,8 @@ כרטיס מסך ללא - - אופטימיזציית SPIRV + + אופטימיזציית Spir-V משפר את השאדר המהודר כדי להגביר את יעילות ה-GPU. לעולם לא בטעינה diff --git a/src/android/app/src/main/res/values-hu/strings.xml b/src/android/app/src/main/res/values-hu/strings.xml index 65ed9248c8..0153baa3e8 100644 --- a/src/android/app/src/main/res/values-hu/strings.xml +++ b/src/android/app/src/main/res/values-hu/strings.xml @@ -137,9 +137,9 @@ Shader backend Shaderek fordításának módja - Univerzális - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> NVDEC emuláció @@ -148,8 +148,8 @@ GPU Nincs - - SPIRV optimalizálás + + Spir-V optimalizálás Optimalizálja a lefordított shadert a GPU hatékonyságának javításáért. Soha Betöltéskor diff --git a/src/android/app/src/main/res/values-id/strings.xml b/src/android/app/src/main/res/values-id/strings.xml index 71f974a767..48293ea6ba 100644 --- a/src/android/app/src/main/res/values-id/strings.xml +++ b/src/android/app/src/main/res/values-id/strings.xml @@ -137,9 +137,9 @@ Backend Shader Pilih cara shader dikompilasi dan diterjemahkan untuk GPU Anda. - Universal - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Emulasi NVDEC @@ -148,8 +148,8 @@ GPU Tidak Ada - - Optimalkan Output SPIRV + + Optimalkan Output Spir-V Mengoptimalkan shader yang dikompilasi untuk meningkatkan efisiensi GPU. Tidak Pernah Saat Memuat diff --git a/src/android/app/src/main/res/values-it/strings.xml b/src/android/app/src/main/res/values-it/strings.xml index a81e41adf0..6881b75d60 100644 --- a/src/android/app/src/main/res/values-it/strings.xml +++ b/src/android/app/src/main/res/values-it/strings.xml @@ -137,9 +137,9 @@ Backend shader Scegli come compilare gli shader - Universale - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Emulazione NVDEC @@ -148,8 +148,8 @@ GPU Nessuna - - Ottimizza output SPIRV + + Ottimizza output Spir-V Ottimizza lo shader compilato per migliorare l\'efficienza della GPU. Mai Al caricamento diff --git a/src/android/app/src/main/res/values-ja/strings.xml b/src/android/app/src/main/res/values-ja/strings.xml index b5d28599a8..c884cfca9e 100644 --- a/src/android/app/src/main/res/values-ja/strings.xml +++ b/src/android/app/src/main/res/values-ja/strings.xml @@ -137,9 +137,9 @@ シェーダーバックエンド シェーダーのコンパイル方法 - ユニバーサル - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> NVDECエミュレーション @@ -148,8 +148,8 @@ GPU 無効 - - SPIRV最適化 + + Spir-V最適化 コンパイル済みシェーダーを最適化し、GPUの効率を向上させます。 無効 ロード時 diff --git a/src/android/app/src/main/res/values-ko/strings.xml b/src/android/app/src/main/res/values-ko/strings.xml index 7843a9200b..a22130e57d 100644 --- a/src/android/app/src/main/res/values-ko/strings.xml +++ b/src/android/app/src/main/res/values-ko/strings.xml @@ -137,9 +137,9 @@ 셰이더 백엔드 셰이더 컴파일 방식 선택 - 범용 - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> NVDEC 에뮬레이션 비디오 디코딩 처리 방식 선택 @@ -147,8 +147,8 @@ GPU 없음 - - SPIRV 출력 최적화 + + Spir-V 출력 최적화 컴파일된 셰이더를 최적화하여 GPU 효율성을 향상시킵니다. 안 함 로드 시 diff --git a/src/android/app/src/main/res/values-nb/strings.xml b/src/android/app/src/main/res/values-nb/strings.xml index 93ebb5013b..59eea7fc41 100644 --- a/src/android/app/src/main/res/values-nb/strings.xml +++ b/src/android/app/src/main/res/values-nb/strings.xml @@ -137,9 +137,9 @@ Shader-backend Velg hvordan shadere kompileres - Universell - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> NVDEC-emulering @@ -148,8 +148,8 @@ GPU Ingen - - Optimaliser SPIRV + + Optimaliser Spir-V Optimaliserer den kompilerte shaderen for å forbedre GPU-effektiviteten. Aldri Ved lasting diff --git a/src/android/app/src/main/res/values-pl/strings.xml b/src/android/app/src/main/res/values-pl/strings.xml index f87d1a411e..e1cba87585 100644 --- a/src/android/app/src/main/res/values-pl/strings.xml +++ b/src/android/app/src/main/res/values-pl/strings.xml @@ -137,9 +137,9 @@ Backend shaderów Wybierz metodę kompilacji shaderów. - Uniwersalny - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Emulacja NVDEC @@ -148,8 +148,8 @@ GPU Brak - - Optymalizuj SPIRV + + Optymalizuj Spir-V Optymalizuje skompilowany shader w celu poprawy wydajności GPU. Nigdy Podczas ładowania diff --git a/src/android/app/src/main/res/values-pt-rBR/strings.xml b/src/android/app/src/main/res/values-pt-rBR/strings.xml index d602afb92a..cd6537ecb3 100644 --- a/src/android/app/src/main/res/values-pt-rBR/strings.xml +++ b/src/android/app/src/main/res/values-pt-rBR/strings.xml @@ -137,9 +137,9 @@ Backend de shader Define como shaders são compilados - Universal - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Emulação NVDEC @@ -148,8 +148,8 @@ GPU Nenhum - - Otimizar saída SPIRV + + Otimizar saída Spir-V Otimiza o shader compilado para melhorar a eficiência da GPU. Nunca Ao carregar diff --git a/src/android/app/src/main/res/values-pt-rPT/strings.xml b/src/android/app/src/main/res/values-pt-rPT/strings.xml index dc46c1b68e..201257a5ad 100644 --- a/src/android/app/src/main/res/values-pt-rPT/strings.xml +++ b/src/android/app/src/main/res/values-pt-rPT/strings.xml @@ -137,9 +137,9 @@ Backend de Shader Método de compilação de shaders. - Universal - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Emulação NVDEC @@ -148,8 +148,8 @@ GPU Nenhum - - Otimizar SPIRV + + Otimizar Spir-V Otimiza o shader compilado para melhorar a eficiência da GPU. Nunca Ao Carregar diff --git a/src/android/app/src/main/res/values-ru/strings.xml b/src/android/app/src/main/res/values-ru/strings.xml index 02ceb48943..605338bd2b 100644 --- a/src/android/app/src/main/res/values-ru/strings.xml +++ b/src/android/app/src/main/res/values-ru/strings.xml @@ -137,9 +137,9 @@ Шейдерный бэкенд Метод компиляции шейдеров - Универсальный - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Эмуляция NVDEC @@ -148,8 +148,8 @@ GPU Отключено - - Оптимизация SPIRV + + Оптимизация Spir-V Оптимизирует скомпилированный шейдер для повышения эффективности GPU. Никогда При загрузке diff --git a/src/android/app/src/main/res/values-sr/strings.xml b/src/android/app/src/main/res/values-sr/strings.xml index d0cb8d5d14..51c17b3896 100644 --- a/src/android/app/src/main/res/values-sr/strings.xml +++ b/src/android/app/src/main/res/values-sr/strings.xml @@ -112,9 +112,9 @@ Схадер Бацкенд Изаберите како се сјеначици саставе и преведете за ваш ГПУ. - Универзалан - Мали - Адрено / Ксцлипсе + GLSL + GLASMstring> + Spir-Vstring> НВДЕЦ Емулација @@ -123,7 +123,7 @@ ГПУ Ниједан - + Невер На оптерећење Увек diff --git a/src/android/app/src/main/res/values-uk/strings.xml b/src/android/app/src/main/res/values-uk/strings.xml index 3a1366e975..044c980e35 100644 --- a/src/android/app/src/main/res/values-uk/strings.xml +++ b/src/android/app/src/main/res/values-uk/strings.xml @@ -137,9 +137,9 @@ Система обробки шейдерів Спосіб компіляції шейдерів - Універсальний - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Емуляція NVDEC @@ -148,8 +148,8 @@ GPU Вимкнено - - Оптимізація SPIRV + + Оптимізація Spir-V Оптимізує скомпільований шейдер для покращення ефективності GPU. Ніколи При завантаженні diff --git a/src/android/app/src/main/res/values-vi/strings.xml b/src/android/app/src/main/res/values-vi/strings.xml index 8f6ea3ffa5..0b731fe8bf 100644 --- a/src/android/app/src/main/res/values-vi/strings.xml +++ b/src/android/app/src/main/res/values-vi/strings.xml @@ -137,9 +137,9 @@ Backend Shader Chọn cách biên dịch shader - Đa năng - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> Giả lập NVDEC @@ -148,8 +148,8 @@ GPU Tắt - - Tối ưu SPIRV + + Tối ưu Spir-V Tối ưu hóa shader đã biên dịch để cải thiện hiệu suất GPU. Không Khi tải diff --git a/src/android/app/src/main/res/values-zh-rCN/strings.xml b/src/android/app/src/main/res/values-zh-rCN/strings.xml index 8f25344789..4e16c73c6d 100644 --- a/src/android/app/src/main/res/values-zh-rCN/strings.xml +++ b/src/android/app/src/main/res/values-zh-rCN/strings.xml @@ -137,9 +137,9 @@ 着色器后端 选择着色器编译方式 - 通用 - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> NVDEC模拟 @@ -148,8 +148,8 @@ GPU解码 禁用 - - SPIRV优化 + + Spir-V优化 优化编译后的着色器以提高GPU效率。 从不 加载时 diff --git a/src/android/app/src/main/res/values-zh-rTW/strings.xml b/src/android/app/src/main/res/values-zh-rTW/strings.xml index 5e4ed21c35..d619288994 100644 --- a/src/android/app/src/main/res/values-zh-rTW/strings.xml +++ b/src/android/app/src/main/res/values-zh-rTW/strings.xml @@ -142,9 +142,9 @@ 著色器後端 選擇著色器的編譯與轉譯方式 - 通用 - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> NVDEC模擬 @@ -153,8 +153,8 @@ GPU - - 優化SPIRV輸出 + + 優化Spir-V輸出 最佳化編譯後的著色器以提高GPU效率。 永不 載入時 diff --git a/src/android/app/src/main/res/values/arrays.xml b/src/android/app/src/main/res/values/arrays.xml index 42dcfbc68b..d037d2680a 100644 --- a/src/android/app/src/main/res/values/arrays.xml +++ b/src/android/app/src/main/res/values/arrays.xml @@ -481,4 +481,19 @@ 0 1 + + + @string/disabled + 1 + 2 + 3 + + + + 0 + 1 + 2 + 3 + + diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 6f446758b5..0f88ae7c71 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -75,6 +75,7 @@ GPU Extensions Extended Dynamic State Enables Vulkan features to improve performance, rendering, and save resources on pipeline creation while maintaining lower CPU/GPU usage. These extensions may increase device temperature, and GPUs belonging to the older A6XX line may not react properly. Set to 0 to use Legacy emulated formats. + Disabled Provoking Vertex Improves lighting and vertex handling in certain games. Only supported on Vulkan 1.0+ GPUs. Descriptor Indexing @@ -105,7 +106,7 @@ Set a custom value of CPU ticks. Higher values can increase performance, but may also cause the game to freeze. A range of 77–21000 is recommended. Ticks Skip CPU Inner Invalidation - Skips certain CPU-side cache invalidations during memory updates, reducing CPU usage and improving it's performance. This may cause glitches or crashes on some games. + Skips certain CPU-side cache invalidations during memory updates, reducing CPU usage and improving its performance. This may cause glitches or crashes on some games. CPU Clock Use Boost (1700MHz) to run at the Switch\'s highest native clock, or Fast (2000MHz) to run at 2x clock. Memory Layout @@ -114,9 +115,9 @@ Shader Backend Choose how shaders are compiled and translated for your GPU. - Universal - Mali - Adreno/Xclipse + GLSL + GLASMstring> + Spir-Vstring> NVDEC Emulation @@ -125,7 +126,7 @@ GPU None - + Never On Load Always @@ -484,8 +485,8 @@ Anti-aliasing method Force maximum clocks (Adreno only) Forces the GPU to run at the maximum possible clocks (thermal constraints will still be applied). - Optimize SPIRV output - Optimizes compiled shader to improve GPU efficiency. + Optimize Spir-V output + Optimizes compiled shaders to improve GPU efficiency, but may introduce longer loading times and initial slowdowns. Use asynchronous shaders Compiles shaders asynchronously. This may reduce stutters but may also introduce glitches. Use Fast GPU Time diff --git a/src/common/microprofile.h b/src/common/microprofile.h index 25bf362500..56ef0a2dcf 100644 --- a/src/common/microprofile.h +++ b/src/common/microprofile.h @@ -1,21 +1,11 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project -// SPDX-License-Identifier: GPL-3.0-or-later - // SPDX-FileCopyrightText: 2015 Citra Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once -// Use this to disable microprofile. This will get you cleaner profiles when using +// Uncomment this to disable microprofile. This will get you cleaner profiles when using // external sampling profilers like "Very Sleepy", and will improve performance somewhat. -#ifdef ANDROID -#define MICROPROFILE_ENABLED 0 -#define MICROPROFILEUI_ENABLED 0 -#define MicroProfileOnThreadExit() do{}while(0) -#define MICROPROFILE_TOKEN(x) 0 -#define MicroProfileEnter(x) 0 -#define MicroProfileLeave(x, y) ignore_all(x, y) -#endif +// #define MICROPROFILE_ENABLED 0 // Customized Citra settings. // This file wraps the MicroProfile header so that these are consistent everywhere. @@ -29,12 +19,6 @@ typedef void* HANDLE; #endif -#include -template -void ignore_all(Args&&... args) { - (static_cast(std::ignore = args), ...); -} - #include #define MP_RGB(r, g, b) ((r) << 16 | (g) << 8 | (b) << 0) diff --git a/src/common/settings.h b/src/common/settings.h index 941a4513e6..0cadd22459 100644 --- a/src/common/settings.h +++ b/src/common/settings.h @@ -151,7 +151,7 @@ struct Values { Category::LibraryApplet}; Setting player_select_applet_mode{ linkage, AppletMode::LLE, "player_select_applet_mode", Category::LibraryApplet}; - Setting swkbd_applet_mode{linkage, AppletMode::LLE, "swkbd_applet_mode", + Setting swkbd_applet_mode{linkage, AppletMode::HLE, "swkbd_applet_mode", Category::LibraryApplet}; Setting mii_edit_applet_mode{linkage, AppletMode::LLE, "mii_edit_applet_mode", Category::LibraryApplet}; @@ -220,9 +220,9 @@ struct Values { SwitchableSetting sync_core_speed{linkage, false, "sync_core_speed", Category::Core, Specialization::Default}; // Memory - #ifdef ANDROID +#ifdef HAS_NCE SwitchableSetting lru_cache_enabled{linkage, false, "use_lru_cache", Category::System}; - #endif +#endif // Cpu SwitchableSetting cpu_backend{linkage, @@ -317,7 +317,7 @@ struct Values { linkage, RendererBackend::Vulkan, RendererBackend::OpenGL, RendererBackend::Null, "backend", Category::Renderer}; SwitchableSetting shader_backend{ - linkage, ShaderBackend::Glsl, ShaderBackend::Glsl, ShaderBackend::SpirV, + linkage, ShaderBackend::SpirV, ShaderBackend::Glsl, ShaderBackend::SpirV, "shader_backend", Category::Renderer, Specialization::RuntimeList}; SwitchableSetting vulkan_device{linkage, 0, "vulkan_device", Category::Renderer, Specialization::RuntimeList}; @@ -477,7 +477,7 @@ struct Values { SwitchableSetting use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders", Category::RendererAdvanced}; SwitchableSetting use_fast_gpu_time{linkage, - true, + false, "use_fast_gpu_time", Category::RendererAdvanced, Specialization::Paired, diff --git a/src/core/arm/nce/arm_nce.cpp b/src/core/arm/nce/arm_nce.cpp index 0e0d72fc8a..877e8ac3c7 100644 --- a/src/core/arm/nce/arm_nce.cpp +++ b/src/core/arm/nce/arm_nce.cpp @@ -227,7 +227,7 @@ HaltReason ArmNce::RunThread(Kernel::KThread* thread) { if (auto it = post_handlers.find(m_guest_ctx.pc); it != post_handlers.end()) { hr = ReturnToRunCodeByTrampoline(thread_params, &m_guest_ctx, it->second); } else { - hr = ReturnToRunCodeByExceptionLevelChange(m_thread_id, thread_params); // Android: Use "process handle SIGUSR2 -n true -p true -s false" (and SIGURG) in LLDB when debugging + hr = ReturnToRunCodeByExceptionLevelChange(m_thread_id, thread_params); } // Critical section for thread cleanup diff --git a/src/core/hle/service/sockets/sfdnsres.cpp b/src/core/hle/service/sockets/sfdnsres.cpp index d9f01a65b8..b07bd3e58e 100644 --- a/src/core/hle/service/sockets/sfdnsres.cpp +++ b/src/core/hle/service/sockets/sfdnsres.cpp @@ -53,16 +53,6 @@ enum class NetDbError : s32 { NoData = 4, }; -const std::vector blockedDomains = {"srv.nintendo.net", "battle.net", - "microsoft.com", "mojang.com", - "xboxlive.com", "minecraftservices.com"}; - -static bool IsBlockedHost(const std::string& host) { - return std::any_of( - blockedDomains.begin(), blockedDomains.end(), - [&host](const std::string& domain) { return host.find(domain) != std::string::npos; }); -} - static NetDbError GetAddrInfoErrorToNetDbError(GetAddrInfoError result) { // These combinations have been verified on console (but are not // exhaustive). @@ -164,7 +154,7 @@ static std::pair GetHostByNameRequestImpl(HLERequestConte // For now, ignore options, which are in input buffer 1 for GetHostByNameRequestWithOptions. // Prevent resolution of Nintendo servers - if (IsBlockedHost(host)) { + if (host.find("srv.nintendo.net") != std::string::npos) { LOG_WARNING(Network, "Resolution of hostname {} requested, returning EAI_AGAIN", host); return {0, GetAddrInfoError::AGAIN}; } @@ -281,7 +271,7 @@ static std::pair GetAddrInfoRequestImpl(HLERequestContext const std::string host = Common::StringFromBuffer(host_buffer); // Prevent resolution of Nintendo servers - if (IsBlockedHost(host)) { + if (host.find("srv.nintendo.net") != std::string::npos) { LOG_WARNING(Network, "Resolution of hostname {} requested, returning EAI_AGAIN", host); return {0, GetAddrInfoError::AGAIN}; } @@ -369,4 +359,5 @@ void SFDNSRES::ResolverSetOptionRequest(HLERequestContext& ctx) { rb.Push(ResultSuccess); rb.Push(0); // bsd errno } + } // namespace Service::Sockets diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/warp_shuffle.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/warp_shuffle.cpp index b904821619..972eec8276 100644 --- a/src/shader_recompiler/frontend/maxwell/translate/impl/warp_shuffle.cpp +++ b/src/shader_recompiler/frontend/maxwell/translate/impl/warp_shuffle.cpp @@ -7,7 +7,6 @@ #include "common/bit_field.h" #include "common/common_types.h" #include "shader_recompiler/frontend/maxwell/translate/impl/impl.h" -#include namespace Shader::Maxwell { namespace { @@ -37,17 +36,6 @@ enum class ShuffleMode : u64 { } } -bool IsKONA() { - std::ifstream machineFile("/sys/devices/soc0/machine"); - if (machineFile.is_open()) { - std::string line; - std::getline(machineFile, line); - if (line == "KONA") - return true; - } - return false; -} - void Shuffle(TranslatorVisitor& v, u64 insn, const IR::U32& index, const IR::U32& mask) { union { u64 insn; @@ -59,10 +47,7 @@ void Shuffle(TranslatorVisitor& v, u64 insn, const IR::U32& index, const IR::U32 const IR::U32 result{ShuffleOperation(v.ir, v.X(shfl.src_reg), index, mask, shfl.mode)}; v.ir.SetPred(shfl.pred, v.ir.GetInBoundsFromOp(result)); - if (IsKONA()) - v.X(shfl.dest_reg, v.ir.Imm32(0xffffffff)); // This fixes the freeze for Retroid / Snapdragon SD865 - else - v.X(shfl.dest_reg, result); + v.X(shfl.dest_reg, result); } } // Anonymous namespace diff --git a/src/video_core/buffer_cache/buffer_cache.h b/src/video_core/buffer_cache/buffer_cache.h index e134e26e66..97b6ba9e36 100644 --- a/src/video_core/buffer_cache/buffer_cache.h +++ b/src/video_core/buffer_cache/buffer_cache.h @@ -26,9 +26,11 @@ BufferCache

::BufferCache(Tegra::MaxwellDeviceMemoryManager& device_memory_, R void(slot_buffers.insert(runtime, NullBufferParams{})); gpu_modified_ranges.Clear(); inline_buffer_id = NULL_BUFFER_ID; + #ifdef ANDROID immediately_free = (Settings::values.vram_usage_mode.GetValue() == Settings::VramUsageMode::Aggressive); #endif + if (!runtime.CanReportMemoryUsage()) { minimum_memory = DEFAULT_EXPECTED_MEMORY; critical_memory = DEFAULT_CRITICAL_MEMORY; @@ -1385,8 +1387,9 @@ void BufferCache

::JoinOverlap(BufferId new_buffer_id, BufferId overlap_id, }); new_buffer.MarkUsage(copies[0].dst_offset, copies[0].size); runtime.CopyBuffer(new_buffer, overlap, copies, true); - if (immediately_free) + if (immediately_free) { runtime.Finish(); + } DeleteBuffer(overlap_id, true); } @@ -1678,9 +1681,7 @@ void BufferCache

::DeleteBuffer(BufferId buffer_id, bool do_not_mark) { } Unregister(buffer_id); - - if (!do_not_mark || !immediately_free) - delayed_destruction_ring.Push(std::move(slot_buffers[buffer_id])); + delayed_destruction_ring.Push(std::move(slot_buffers[buffer_id])); slot_buffers.erase(buffer_id); if constexpr (HAS_PERSISTENT_UNIFORM_BUFFER_BINDINGS) { diff --git a/src/video_core/buffer_cache/buffer_cache_base.h b/src/video_core/buffer_cache/buffer_cache_base.h index dbe44c875f..8c94c0cf72 100644 --- a/src/video_core/buffer_cache/buffer_cache_base.h +++ b/src/video_core/buffer_cache/buffer_cache_base.h @@ -159,11 +159,7 @@ template class BufferCache : public VideoCommon::ChannelSetupCaches { // Page size for caching purposes. // This is unrelated to the CPU page size and it can be changed as it seems optimal. -#ifdef ANDROID - static constexpr u32 CACHING_PAGEBITS = 12; -#else static constexpr u32 CACHING_PAGEBITS = 16; -#endif static constexpr u64 CACHING_PAGESIZE = u64{1} << CACHING_PAGEBITS; static constexpr bool IS_OPENGL = P::IS_OPENGL; @@ -177,15 +173,9 @@ class BufferCache : public VideoCommon::ChannelSetupCaches slot_buffers; -#ifdef ANDROID - static constexpr size_t TICKS_TO_DESTROY = 6; -#else - static constexpr size_t TICKS_TO_DESTROY = 8; -#endif - DelayedDestructionRing delayed_destruction_ring; + DelayedDestructionRing delayed_destruction_ring; const Tegra::Engines::DrawManager::IndirectParams* current_draw_indirect{}; diff --git a/src/video_core/host1x/host1x.cpp b/src/video_core/host1x/host1x.cpp index 652d387031..293bca6d79 100644 --- a/src/video_core/host1x/host1x.cpp +++ b/src/video_core/host1x/host1x.cpp @@ -1,6 +1,3 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project -// SPDX-License-Identifier: GPL-3.0-or-later - // SPDX-FileCopyrightText: 2021 yuzu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later @@ -21,11 +18,9 @@ Host1x::~Host1x() = default; void Host1x::StartDevice(s32 fd, ChannelType type, u32 syncpt) { switch (type) { case ChannelType::NvDec: - std::call_once(nvdec_first_init, []() {std::this_thread::sleep_for(std::chrono::milliseconds{500});}); // HACK: For Astroneer devices[fd] = std::make_unique(*this, fd, syncpt, frame_queue); break; case ChannelType::VIC: - std::call_once(vic_first_init, []() {std::this_thread::sleep_for(std::chrono::milliseconds{500});}); // HACK: For Astroneer devices[fd] = std::make_unique(*this, fd, syncpt, frame_queue); break; default: diff --git a/src/video_core/host1x/host1x.h b/src/video_core/host1x/host1x.h index 5ecffa442c..8debac93dd 100644 --- a/src/video_core/host1x/host1x.h +++ b/src/video_core/host1x/host1x.h @@ -1,6 +1,3 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project -// SPDX-License-Identifier: GPL-3.0-or-later - // SPDX-FileCopyrightText: 2021 yuzu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later @@ -204,8 +201,6 @@ private: std::unique_ptr> allocator; FrameQueue frame_queue; std::unordered_map> devices; - std::once_flag nvdec_first_init; - std::once_flag vic_first_init; }; } // namespace Tegra::Host1x diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h index 3f67828b86..cbc27344b0 100644 --- a/src/video_core/texture_cache/texture_cache_base.h +++ b/src/video_core/texture_cache/texture_cache_base.h @@ -110,17 +110,10 @@ class TextureCache : public VideoCommon::ChannelSetupCaches::max()}; - #ifdef ANDROID - static constexpr s64 TARGET_THRESHOLD = 3_GiB; - static constexpr s64 DEFAULT_EXPECTED_MEMORY = 1_GiB + 125_MiB; - static constexpr s64 DEFAULT_CRITICAL_MEMORY = 1_GiB + 625_MiB; - static constexpr size_t GC_EMERGENCY_COUNTS = 2; - #else static constexpr s64 TARGET_THRESHOLD = 4_GiB; static constexpr s64 DEFAULT_EXPECTED_MEMORY = 1_GiB + 125_MiB; static constexpr s64 DEFAULT_CRITICAL_MEMORY = 1_GiB + 625_MiB; static constexpr size_t GC_EMERGENCY_COUNTS = 2; - #endif using Runtime = typename P::Runtime; using Image = typename P::Image; @@ -486,11 +479,7 @@ private: }; Common::LeastRecentlyUsedCache lru_cache; - #ifdef ANDROID - static constexpr size_t TICKS_TO_DESTROY = 6; - #else static constexpr size_t TICKS_TO_DESTROY = 8; -#endif DelayedDestructionRing sentenced_images; DelayedDestructionRing sentenced_image_view; DelayedDestructionRing sentenced_framebuffers; diff --git a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp index 04b362f9b0..3ab09b57c8 100644 --- a/src/video_core/vulkan_common/vulkan_memory_allocator.cpp +++ b/src/video_core/vulkan_common/vulkan_memory_allocator.cpp @@ -275,6 +275,7 @@ vk::Buffer MemoryAllocator::CreateBuffer(const VkBufferCreateInfo& ci, MemoryUsa if (result == VK_ERROR_OUT_OF_DEVICE_MEMORY) { LOG_ERROR(Render_Vulkan, "Out of memory creating buffer (size: {})", ci.size); } + vmaGetAllocationMemoryProperties(allocator, allocation, &property_flags); u8* data = reinterpret_cast(alloc_info.pMappedData);