early-access version 3539

This commit is contained in:
pineappleEA 2023-05-01 17:51:43 +02:00
parent 3f64a97d8a
commit 0a133dc6ea
48 changed files with 1328 additions and 1199 deletions

View file

@ -1,7 +1,7 @@
yuzu emulator early access
=============
This is the source code for early-access 3537.
This is the source code for early-access 3539.
## Legal Notice

View file

@ -1372,8 +1372,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Interfície de memòria ampliada (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1364,7 +1364,7 @@ Tato možnost zlepšuje rychlost díky závislosti na sémantice cmpxchg pro zaj
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>

View file

@ -1380,8 +1380,8 @@ Dette vil bandlyse både vedkommendes forum-brugernavn og IP-adresse.</translati
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Udvidet hukommelsesopsætning (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1360,8 +1360,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Erweitertes Speicherlayout (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1364,8 +1364,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Διάταξη εκτεταμένης μνήμης (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

94
dist/languages/es.ts vendored
View file

@ -381,17 +381,17 @@ Esto banearía su nombre del foro y su dirección IP.</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_audio.ui" line="42"/>
<source>Output Device:</source>
<translation type="unfinished"/>
<translation>Dispositivo de salida:</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_audio.ui" line="56"/>
<source>Input Device:</source>
<translation type="unfinished"/>
<translation>Dispositivo de entrada:</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_audio.ui" line="70"/>
<source>Sound Output Mode:</source>
<translation type="unfinished"/>
<translation>Método de salida de sonido:</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_audio.ui" line="78"/>
@ -1383,8 +1383,8 @@ Esto banearía su nombre del foro y su dirección IP.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Interfaz de memoria extendida (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation>Interfaz de memoria extendida (8GB DRAM)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>
@ -1638,7 +1638,7 @@ Esto banearía su nombre del foro y su dirección IP.</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_graphics.ui" line="463"/>
<source>AMD FidelityFX Super Resolution</source>
<translation type="unfinished"/>
<translation>AMD FidelityFX Super Resolution</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_graphics.ui" line="489"/>
@ -1753,12 +1753,12 @@ Esto banearía su nombre del foro y su dirección IP.</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="95"/>
<source>Enables asynchronous ASTC texture decoding, which may reduce load time stutter. This feature is experimental.</source>
<translation type="unfinished"/>
<translation>Activa la decodificación de texturas asíncrona de ASTC, lo cuál podría reducir la duración de los parones. Esta función es experimental.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="98"/>
<source>Decode ASTC textures asynchronously (Hack)</source>
<translation type="unfinished"/>
<translation>Decodificar texturas ASTC de manera asíncrona (Hack)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="105"/>
@ -2268,12 +2268,12 @@ Esto banearía su nombre del foro y su dirección IP.</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2710"/>
<source>Enable direct JoyCon driver</source>
<translation type="unfinished"/>
<translation>Activar driver directo JoyCon</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2726"/>
<source>Enable direct Pro Controller driver [EXPERIMENTAL]</source>
<translation type="unfinished"/>
<translation>Activar driver directo Pro Controller [EXPERIMENTAL]</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2739"/>
@ -2637,7 +2637,7 @@ Esto banearía su nombre del foro y su dirección IP.</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="399"/>
<source>Turbo button</source>
<translation type="unfinished"/>
<translation>Botón Turbo</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="407"/>
@ -3339,7 +3339,7 @@ UUID: %2</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="52"/>
<source>Virtual Ring Sensor Parameters</source>
<translation type="unfinished"/>
<translation>Parámetros del sensor Ring virtual</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="84"/>
@ -3361,29 +3361,29 @@ UUID: %2</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="233"/>
<source>Direct Joycon Driver</source>
<translation type="unfinished"/>
<translation>Driver directo del JoyCon</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="293"/>
<source>Enable Ring Input</source>
<translation type="unfinished"/>
<translation>Activar entrada del Ring</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="300"/>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="314"/>
<source>Enable</source>
<translation type="unfinished"/>
<translation>Activar</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="307"/>
<source>Ring Sensor Value</source>
<translation type="unfinished"/>
<translation>Valor del sensor Ring</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="314"/>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="282"/>
<source>Not connected</source>
<translation type="unfinished"/>
<translation>No conectado</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="344"/>
@ -3414,12 +3414,12 @@ UUID: %2</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="279"/>
<source>Error enabling ring input</source>
<translation type="unfinished"/>
<translation>Error al activar la entrada del Ring</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="285"/>
<source>Direct Joycon driver is not enabled</source>
<translation type="unfinished"/>
<translation>El driver directo JoyCon no está activo.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="290"/>
@ -3429,17 +3429,17 @@ UUID: %2</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="302"/>
<source>The current mapped device doesn&apos;t support the ring controller</source>
<translation type="unfinished"/>
<translation>El dispositivo de entrada actual no soporta el control Ring.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="306"/>
<source>The current mapped device doesn&apos;t have a ring attached</source>
<translation type="unfinished"/>
<translation>El dispositivo de entrada actual no tiene puesto el Ring</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="310"/>
<source>Unexpected driver result %1</source>
<translation type="unfinished"/>
<translation>Resultado inesperado del driver %1</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="333"/>
@ -4498,12 +4498,12 @@ Arrastra los puntos para cambiar de posición, o haz doble clic en las celdas de
<message>
<location filename="../../src/yuzu/multiplayer/direct_connect.ui" line="47"/>
<source>Server Address</source>
<translation type="unfinished"/>
<translation>Dirección del Servidor</translation>
</message>
<message>
<location filename="../../src/yuzu/multiplayer/direct_connect.ui" line="54"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Server address of the host&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Dirección del servidor del anfitrión&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../../src/yuzu/multiplayer/direct_connect.ui" line="64"/>
@ -4617,12 +4617,12 @@ Arrastra los puntos para cambiar de posición, o haz doble clic en las celdas de
<message>
<location filename="../../src/yuzu/main.cpp" line="1230"/>
<source>Emulated mouse is enabled</source>
<translation type="unfinished"/>
<translation>El ratón emulado está activado</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="1231"/>
<source>Real mouse input and mouse panning are incompatible. Please disable the emulated mouse in input advanced settings to allow mouse panning.</source>
<translation type="unfinished"/>
<translation>La entrada de un ratón real y la panoramización del ratón son incompatibles. Por favor, desactive el ratón emulado en la configuración avanzada de entrada para permitir así la panoramización del ratón.</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="1453"/>
@ -5489,13 +5489,13 @@ Por favor, utiliza esta función sólo para instalar actualizaciones y DLCs.</tr
<message>
<location filename="../../src/yuzu/main.cpp" line="4069"/>
<source>VOLUME: MUTE</source>
<translation type="unfinished"/>
<translation>VOLUMEN: SILENCIO</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="4072"/>
<source>VOLUME: %1%</source>
<comment>Volume percentage (e.g. 50%)</comment>
<translation type="unfinished"/>
<translation>VOLUMEN: %1%</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="4153"/>
@ -6227,7 +6227,7 @@ Mensaje de depuración: </translation>
<message>
<location filename="../../src/yuzu/multiplayer/lobby.ui" line="83"/>
<source>Hide Empty Rooms</source>
<translation type="unfinished"/>
<translation>Ocultar salas vacías</translation>
</message>
<message>
<location filename="../../src/yuzu/multiplayer/lobby.ui" line="90"/>
@ -7152,12 +7152,12 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="78"/>
<source>Stick L</source>
<translation type="unfinished"/>
<translation>Palanca L</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="80"/>
<source>Stick R</source>
<translation type="unfinished"/>
<translation>Palanca R</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="92"/>
@ -7214,19 +7214,19 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="191"/>
<source>%1%2%3%4</source>
<translation type="unfinished"/>
<translation>%1%2%3%4</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="205"/>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="229"/>
<source>%1%2%3Hat %4</source>
<translation type="unfinished"/>
<translation>%1%2%3Rotación %4</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="223"/>
<location filename="../../src/yuzu/configuration/configure_input_player.cpp" line="238"/>
<source>%1%2%3Button %4</source>
<translation type="unfinished"/>
<translation>%1%2%3Botón %4</translation>
</message>
</context>
<context>
@ -7647,7 +7647,7 @@ Por favor, inténtalo de nuevo o contacta con el desarrollador del software.</tr
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="166"/>
<source>Profile Creator</source>
<translation type="unfinished"/>
<translation>Creador de perfil</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="169"/>
@ -7658,57 +7658,57 @@ Por favor, inténtalo de nuevo o contacta con el desarrollador del software.</tr
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="172"/>
<source>Profile Icon Editor</source>
<translation type="unfinished"/>
<translation>Editor de icono de perfil</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="175"/>
<source>Profile Nickname Editor</source>
<translation type="unfinished"/>
<translation>Editor de nombre de perfil</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="197"/>
<source>Who will receive the points?</source>
<translation type="unfinished"/>
<translation>¿Quién recibirá los puntos?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="200"/>
<source>Who is using Nintendo eShop?</source>
<translation type="unfinished"/>
<translation>¿Quién va a utilizar Nintendo eShop?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="203"/>
<source>Who is making this purchase?</source>
<translation type="unfinished"/>
<translation>¿Quién está haciendo la compra?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="206"/>
<source>Who is posting?</source>
<translation type="unfinished"/>
<translation>¿Quién está publicando esto?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="209"/>
<source>Select a user to link to a Nintendo Account.</source>
<translation type="unfinished"/>
<translation>Elige un usuario para vincularlo a una Cuenta Nintendo.</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="212"/>
<source>Change settings for which user?</source>
<translation type="unfinished"/>
<translation>¿Para qué usuario desea cambiar la configuración?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="215"/>
<source>Format data for which user?</source>
<translation type="unfinished"/>
<translation>¿Para qué usuario se borrarán sus datos?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="218"/>
<source>Which user will be transferred to another console?</source>
<translation type="unfinished"/>
<translation>¿Qué usuario será transferido a otra consola?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="221"/>
<source>Send save data for which user?</source>
<translation type="unfinished"/>
<translation>¿A qué usuario se le enviarán los datos de guardado?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="225"/>
@ -7774,7 +7774,7 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="158"/>
<source>[%1] %2</source>
<translation type="unfinished"/>
<translation>[%1] %2</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="184"/>

28
dist/languages/fr.ts vendored
View file

@ -1382,8 +1382,8 @@ Cette option améliore la vitesse en réduisant la précision des instructions f
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Disposition de la mémoire étendue (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation>Disposition de la mémoire étendue (8 Go de DRAM)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>
@ -7637,7 +7637,7 @@ Veuillez essayer à nouveau ou contactez le développeur du logiciel.</translati
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="166"/>
<source>Profile Creator</source>
<translation type="unfinished"/>
<translation>Créateur de profil</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="169"/>
@ -7648,57 +7648,57 @@ Veuillez essayer à nouveau ou contactez le développeur du logiciel.</translati
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="172"/>
<source>Profile Icon Editor</source>
<translation type="unfinished"/>
<translation>Éditeur d&apos;icônes de profil</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="175"/>
<source>Profile Nickname Editor</source>
<translation type="unfinished"/>
<translation>Éditeur de surnom de profil</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="197"/>
<source>Who will receive the points?</source>
<translation type="unfinished"/>
<translation>Qui recevra les points ?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="200"/>
<source>Who is using Nintendo eShop?</source>
<translation type="unfinished"/>
<translation>Qui utilise le Nintendo eShop ?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="203"/>
<source>Who is making this purchase?</source>
<translation type="unfinished"/>
<translation>Qui effectue cet achat ?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="206"/>
<source>Who is posting?</source>
<translation type="unfinished"/>
<translation>Qui publie ?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="209"/>
<source>Select a user to link to a Nintendo Account.</source>
<translation type="unfinished"/>
<translation>Sélectionnez un utilisateur à associer à un compte Nintendo.</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="212"/>
<source>Change settings for which user?</source>
<translation type="unfinished"/>
<translation>Modifier les paramètres pour quel utilisateur ?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="215"/>
<source>Format data for which user?</source>
<translation type="unfinished"/>
<translation>Formater les données pour quel utilisateur ?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="218"/>
<source>Which user will be transferred to another console?</source>
<translation type="unfinished"/>
<translation>Quel utilisateur sera transféré sur une autre console ?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="221"/>
<source>Send save data for which user?</source>
<translation type="unfinished"/>
<translation>Envoyer les données de sauvegarde pour quel utilisateur ?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="225"/>

View file

@ -1339,8 +1339,8 @@ Memungkinkan berbagai macam optimasi IR.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Tata letak memori yang diperluas (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

14
dist/languages/it.ts vendored
View file

@ -1368,8 +1368,8 @@ Questo bannerà sia il suo nome utente del forum che il suo indirizzo IP.</trans
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Layout di memoria esteso (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>
@ -1846,7 +1846,7 @@ Questo bannerà sia il suo nome utente del forum che il suo indirizzo IP.</trans
<message>
<location filename="../../src/yuzu/configuration/configure_hotkeys.ui" line="52"/>
<source>Restore Defaults</source>
<translation>Ripristina predefiniti</translation>
<translation>Ripristina predefinite</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="98"/>
@ -1894,7 +1894,7 @@ Questo bannerà sia il suo nome utente del forum che il suo indirizzo IP.</trans
<message>
<location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="343"/>
<source>Restore Default</source>
<translation>Ripristina predefinito</translation>
<translation>Ripristina predefinita</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_hotkeys.cpp" line="344"/>
@ -3886,7 +3886,7 @@ UUID: %2</translation>
<message>
<location filename="../../src/yuzu/configuration/configure_tas.ui" line="77"/>
<source>Pause execution during loads</source>
<translation type="unfinished"/>
<translation>Metti in pausa l&apos;esecuzione durante i caricamenti</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_tas.ui" line="91"/>
@ -5352,7 +5352,7 @@ Configurazione &amp;gt; Web.</translation>
<location filename="../../src/yuzu/main.cpp" line="3949"/>
<source>Scale: %1x</source>
<comment>%1 is the resolution scaling factor</comment>
<translation type="unfinished"/>
<translation>Risoluzione: %1x</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3952"/>
@ -5601,7 +5601,7 @@ Desideri uscire comunque?</translation>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="992"/>
<source>yuzu has not been compiled with OpenGL support.</source>
<translation>yuzu non è stato compilato con il supporto OpenGL.</translation>
<translation>yuzu è stato compilato senza il supporto a OpenGL.</translation>
</message>
<message>
<location filename="../../src/yuzu/bootmanager.cpp" line="1016"/>

View file

@ -1383,8 +1383,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>6GB DRAM</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1384,8 +1384,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation> (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1355,8 +1355,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Utvidet minneutforming (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

1900
dist/languages/nl.ts vendored

File diff suppressed because it is too large Load diff

View file

@ -1377,8 +1377,8 @@ Gdy ta opcja jest włączona, niedopasowanie jest uruchamiane tylko wtedy, gdy d
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Rozszerzony układ pamięci (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1383,8 +1383,8 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.</translatio
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Layout de memória extendida (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1373,8 +1373,8 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.</translatio
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Layout de memória extendida (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -381,17 +381,17 @@ This would ban both their forum username and their IP address.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_audio.ui" line="42"/>
<source>Output Device:</source>
<translation type="unfinished"/>
<translation>Устройство вывода:</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_audio.ui" line="56"/>
<source>Input Device:</source>
<translation type="unfinished"/>
<translation>Устройство ввода:</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_audio.ui" line="70"/>
<source>Sound Output Mode:</source>
<translation type="unfinished"/>
<translation>Режим вывода звука:</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_audio.ui" line="78"/>
@ -551,13 +551,13 @@ This would ban both their forum username and their IP address.</source>
&lt;div&gt;This option improves speed by reducing accuracy of fused-multiply-add instructions on CPUs without native FMA support.&lt;/div&gt;
</source>
<translation>
&lt;div&gt;Эта опция повышает скорость, уменьшая точность сложенных умноженных инструкций на ЦП без поддержки FMA.&lt;/div&gt;
&lt;div&gt;Эта опция повышает скорость за счет снижения точности инструкций fused-multiply-add на ЦП без встроенной поддержки FMA.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="106"/>
<source>Unfuse FMA (improve performance on CPUs without FMA)</source>
<translation>Не использовать FMA (улучшает производительность на ЦП без FMA)</translation>
<translation>Отключить FMA (улучшает производительность на ЦП без FMA)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="113"/>
@ -565,7 +565,7 @@ This would ban both their forum username and their IP address.</source>
&lt;div&gt;This option improves the speed of some approximate floating-point functions by using less accurate native approximations.&lt;/div&gt;
</source>
<translation>
&lt;div&gt;Эта опция повышает скорость некоторых аппроксимирующих функций с плавающей точкой за счет использования менее точных нативных приближений.&lt;/div&gt;
&lt;div&gt;Эта опция повышает скорость некоторых приближенных функций с плавающей точкой за счет использования менее точных нативных приближений&lt;/div&gt;
</translation>
</message>
<message>
@ -579,13 +579,13 @@ This would ban both their forum username and their IP address.</source>
&lt;div&gt;This option improves the speed of 32 bits ASIMD floating-point functions by running with incorrect rounding modes.&lt;/div&gt;
</source>
<translation>
&lt;div&gt;Эта опция улучшает скорость 32-битных ASIMD-функций с плавающей запятой путём работы с некорректными режимами округления.&lt;/div&gt;
&lt;div&gt;Эта опция повышает скорость работы 32-битных ASIMD-функций с плавающей запятой, работая с неправильными режимами округления.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="130"/>
<source>Faster ASIMD instructions (32 bits only)</source>
<translation>Более быстрые инструкции ASIMD (только 32 бит)</translation>
<translation>Ускоренные инструкции ASIMD (только 32 бит)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="137"/>
@ -593,20 +593,22 @@ This would ban both their forum username and their IP address.</source>
&lt;div&gt;This option improves speed by removing NaN checking. Please note this also reduces accuracy of certain floating-point instructions.&lt;/div&gt;
</source>
<translation>
&lt;div&gt;Эта опция повышает скорость, убирая проверку на NaN. Обратите внимание, что это также снижает точность некоторых инструкций с плавающей точкой.&lt;/div&gt;
&lt;div&gt;Эта опция повышает скорость, удаляя проверку NaN. Обратите внимание, что это также снижает точность некоторых инструкций с плавающей точкой.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="142"/>
<source>Inaccurate NaN handling</source>
<translation>Неправильная обработка NaN</translation>
<translation>Неточная обработка NaN</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="149"/>
<source>
&lt;div&gt;This option improves speed by eliminating a safety check before every memory read/write in guest. Disabling it may allow a game to read/write the emulator's memory.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div&gt;Эта опция повышает скорость за счет исключения проверки безопасности перед каждым чтением/записью памяти в гостевом режиме. Отключение этой опции может позволить игре читать/записывать память эмулятора.
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="154"/>
@ -618,12 +620,14 @@ This would ban both their forum username and their IP address.</source>
<source>
&lt;div&gt;This option improves speed by relying only on the semantics of cmpxchg to ensure safety of exclusive access instructions. Please note this may result in deadlocks and other race conditions.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div&gt;Эта опция повышает скорость, полагаясь только на семантику cmpxchg для обеспечения безопасности инструкций исключительного доступа. Обратите внимание, что это может привести к полным зависаниям и другим условиям гонки.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="166"/>
<source>Ignore global monitor</source>
<translation type="unfinished"/>
<translation>Игнорировать глобальный мониторинг</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu.ui" line="191"/>
@ -660,7 +664,11 @@ This would ban both their forum username and their IP address.</source>
&lt;div style=&quot;white-space: nowrap&quot;&gt;Enabling it inlines accesses to PageTable::pointers into emitted code.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Disabling this forces all memory accesses to go through the Memory::Read/Memory::Write functions.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div style=&quot;white-space: nowrap&quot;&gt;Эта оптимизация ускоряет доступ гостевой программы к памяти.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt; Включение этой оптимизации встраивает доступ к указателям PageTable::pointers в эмулируемый код.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Отключение этой функции заставляет все обращения к памяти проходить через функции Memory::Read/Memory::Write.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="48"/>
@ -672,7 +680,9 @@ This would ban both their forum username and their IP address.</source>
<source>
&lt;div&gt;This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump directly to other basic blocks if the destination PC is static.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div&gt;Эта оптимизация позволяет избежать поиска диспетчера, позволяя эмитированным базовым блокам переходить непосредственно к другим базовым блокам, если конечный ПК статичен.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="60"/>
@ -684,7 +694,9 @@ This would ban both their forum username and their IP address.</source>
<source>
&lt;div&gt;This optimization avoids dispatcher lookups by keeping track potential return addresses of BL instructions. This approximates what happens with a return stack buffer on a real CPU.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div&gt;Эта оптимизация позволяет избежать поиска диспетчера, отслеживая потенциальные адреса возврата инструкций BL. Это приближено к тому, что происходит с буфером стека возврата на реальном ЦП.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="72"/>
@ -696,7 +708,9 @@ This would ban both their forum username and their IP address.</source>
<source>
&lt;div&gt;Enable a two-tiered dispatch system. A faster dispatcher written in assembly has a small MRU cache of jump destinations is used first. If that fails, dispatch falls back to the slower C++ dispatcher.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div&gt;Включите двухуровневую систему диспетчеризации. Сначала используется более быстрый диспетчер, написанный на ассемблере и имеющий небольшой кэш MRU для мест назначения переходов. Если он не справляется, диспетчеризация возвращается к более медленному диспетчеру на C++.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="84"/>
@ -708,7 +722,9 @@ This would ban both their forum username and their IP address.</source>
<source>
&lt;div&gt;Enables an IR optimization that reduces unnecessary accesses to the CPU context structure.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div&gt;Включает IR-оптимизацию, которая уменьшает ненужные обращения к структуре контекста ЦП.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="96"/>
@ -720,19 +736,23 @@ This would ban both their forum username and their IP address.</source>
<source>
&lt;div&gt;Enables IR optimizations that involve constant propagation.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div&gt;Включает IR-оптимизацию, которая включает распространение констант.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="108"/>
<source>Enable constant propagation</source>
<translation>Включить постоянное распространение</translation>
<translation>Включить распространение констант</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="115"/>
<source>
&lt;div&gt;Enables miscellaneous IR optimizations.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div&gt;Включает различные IR-оптимизации.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="120"/>
@ -745,12 +765,15 @@ This would ban both their forum username and their IP address.</source>
&lt;div style=&quot;white-space: nowrap&quot;&gt;When enabled, a misalignment is only triggered when an access crosses a page boundary.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;When disabled, a misalignment is triggered on all misaligned accesses.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div style=&quot;white-space: nowrap&quot;&gt;Если функция включена, смещение срабатывает только тогда, когда доступ пересекает границу страницы.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Если отключено, смещение срабатывает при всех смещенных доступах.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="133"/>
<source>Enable misalignment check reduction</source>
<translation type="unfinished"/>
<translation>Включить уменьшение проверки несоосности</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="140"/>
@ -759,12 +782,16 @@ This would ban both their forum username and their IP address.</source>
&lt;div style=&quot;white-space: nowrap&quot;&gt;Enabling it causes guest memory reads/writes to be done directly into memory and make use of Host's MMU.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Disabling this forces all memory accesses to use Software MMU Emulation.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div style=&quot;white-space: nowrap&quot;&gt;Эта оптимизация ускоряет доступ гостевой программы к памяти.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt; Включение этой оптимизации приводит к тому, что чтение/запись гостевой памяти производится непосредственно в память и использует MMU хоста.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Отключение этой функции заставляет все обращения к памяти использовать программную эмуляцию MMU.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="147"/>
<source>Enable Host MMU Emulation (general memory instructions)</source>
<translation type="unfinished"/>
<translation>Включить эмуляцию MMU хоста (инструкции общей памяти)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="154"/>
@ -773,12 +800,16 @@ This would ban both their forum username and their IP address.</source>
&lt;div style=&quot;white-space: nowrap&quot;&gt;Enabling it causes guest exclusive memory reads/writes to be done directly into memory and make use of Host's MMU.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Disabling this forces all exclusive memory accesses to use Software MMU Emulation.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div style=&quot;white-space: nowrap&quot;&gt;Эта оптимизация ускоряет доступ гостевой программы к эксклюзивной памяти.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Включение этой оптимизации приводит к тому, что чтение/запись в эксклюзивную память гостя выполняется непосредственно в память и использует MMU хоста.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt; Отключение этой функции заставляет все эксклюзивные доступы к памяти использовать эмуляцию программного MMU.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="161"/>
<source>Enable Host MMU Emulation (exclusive memory instructions)</source>
<translation type="unfinished"/>
<translation>Включить эмуляцию MMU хоста (инструкции исключительной памяти)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="168"/>
@ -786,12 +817,15 @@ This would ban both their forum username and their IP address.</source>
&lt;div style=&quot;white-space: nowrap&quot;&gt;This optimization speeds up exclusive memory accesses by the guest program.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Enabling it reduces the overhead of fastmem failure of exclusive memory accesses.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div style=&quot;white-space: nowrap&quot;&gt;Эта оптимизация ускоряет обращение гостевой программы к исключительной памяти.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Ее включение снижает накладные расходы, связанные с отказом fastmem при доступе к исключительной памяти.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="174"/>
<source>Enable recompilation of exclusive memory instructions</source>
<translation type="unfinished"/>
<translation>Разрешить перекомпиляцию инструкций исключительной памяти</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="181"/>
@ -799,7 +833,10 @@ This would ban both their forum username and their IP address.</source>
&lt;div style=&quot;white-space: nowrap&quot;&gt;This optimization speeds up memory accesses by allowing invalid memory accesses to succeed.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Enabling it reduces the overhead of all memory accesses and has no impact on programs that don't access invalid memory.&lt;/div&gt;
</source>
<translation type="unfinished"/>
<translation>
&lt;div style=&quot;white-space: nowrap&quot;&gt;Эта оптимизация ускоряет обращение к памяти, позволяя успешное обращение к недопустимой памяти.&lt;/div&gt;
&lt;div style=&quot;white-space: nowrap&quot;&gt;Включение этой оптимизации снижает накладные расходы на все обращения к памяти и не влияет на программы, которые не обращаются к недопустимой памяти.&lt;/div&gt;
</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_cpu_debug.ui" line="187"/>
@ -917,17 +954,17 @@ This would ban both their forum username and their IP address.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="198"/>
<source>When checked, it disables the macro Just In Time compiler. Enabling this makes games run slower</source>
<translation>Если включено, отключает компилятор макроса Just In Time. Включение опции делает игры медленнее</translation>
<translation>Если включено, отключает компилятор макроса Just In Time. Включение этого параметра замедляет работу игр</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="201"/>
<source>Disable Macro JIT</source>
<translation>Отключить Macro JIT</translation>
<translation>Отключить макрос JIT</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="211"/>
<source>When checked, it disables the macro HLE functions. Enabling this makes games run slower</source>
<translation type="unfinished"/>
<translation>Если флажок установлен, он отключает функции макроса HLE. Включение этого параметра замедляет работу игр</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="214"/>
@ -947,12 +984,12 @@ This would ban both their forum username and their IP address.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="231"/>
<source>When checked, it executes shaders without loop logic changes</source>
<translation type="unfinished"/>
<translation>Если включено, шейдеры выполняются без изменения логики цикла</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="234"/>
<source>Disable Loop safety checks</source>
<translation type="unfinished"/>
<translation>Отключить проверку безопасности цикла</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="244"/>
@ -967,12 +1004,12 @@ This would ban both their forum username and their IP address.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="257"/>
<source>Enable FS Access Log</source>
<translation type="unfinished"/>
<translation>Включить журнал доступа к ФС</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="264"/>
<source>Enable this to output the latest generated audio command list to the console. Only affects games using the audio renderer.</source>
<translation type="unfinished"/>
<translation>Включите эту опцию, чтобы вывести на консоль последний сгенерированный список аудиокоманд. Влияет только на игры, использующие аудио рендерер.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="267"/>
@ -1007,7 +1044,7 @@ This would ban both their forum username and their IP address.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="311"/>
<source>Enable Auto-Stub**</source>
<translation type="unfinished"/>
<translation>Включить автоподставку**</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="318"/>
@ -1346,8 +1383,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Расширенная компоновка памяти (6 ГБ DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation>Расширенная компоновка памяти (8 ГБ DRAM)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>
@ -1716,12 +1753,12 @@ This would ban both their forum username and their IP address.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="95"/>
<source>Enables asynchronous ASTC texture decoding, which may reduce load time stutter. This feature is experimental.</source>
<translation type="unfinished"/>
<translation>Включает асинхронное декодирование текстур ASTC, что может уменьшить фризы при загрузке. Эта функция является экспериментальной.</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="98"/>
<source>Decode ASTC textures asynchronously (Hack)</source>
<translation type="unfinished"/>
<translation>Асинхронное декодирование текстур ASTC (Хак)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_graphics_advanced.ui" line="105"/>
@ -2236,7 +2273,7 @@ This would ban both their forum username and their IP address.</source>
<message>
<location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2726"/>
<source>Enable direct Pro Controller driver [EXPERIMENTAL]</source>
<translation type="unfinished"/>
<translation>Включить прямой драйвер Pro Controller [ЭКСПЕРИМЕНТАЛЬНО]</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_input_advanced.ui" line="2739"/>
@ -4580,12 +4617,12 @@ Drag points to change position, or double-click table cells to edit values.</sou
<message>
<location filename="../../src/yuzu/main.cpp" line="1230"/>
<source>Emulated mouse is enabled</source>
<translation type="unfinished"/>
<translation>Эмулированная мышь включена</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="1231"/>
<source>Real mouse input and mouse panning are incompatible. Please disable the emulated mouse in input advanced settings to allow mouse panning.</source>
<translation type="unfinished"/>
<translation>Ввод реальной мыши и панорамирование мышью несовместимы. Пожалуйста, отключите эмулированную мышь в расширенных настройках ввода, чтобы разрешить панорамирование мышью.</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="1453"/>
@ -7613,7 +7650,7 @@ Please try again or contact the developer of the software.</source>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="166"/>
<source>Profile Creator</source>
<translation type="unfinished"/>
<translation>Создатель профиля</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="169"/>
@ -7624,57 +7661,57 @@ Please try again or contact the developer of the software.</source>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="172"/>
<source>Profile Icon Editor</source>
<translation type="unfinished"/>
<translation>Редактор иконки профиля</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="175"/>
<source>Profile Nickname Editor</source>
<translation type="unfinished"/>
<translation>Редактор никнейма профиля</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="197"/>
<source>Who will receive the points?</source>
<translation type="unfinished"/>
<translation>Кто будет получать очки?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="200"/>
<source>Who is using Nintendo eShop?</source>
<translation type="unfinished"/>
<translation>Кто использует Nintendo eShop?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="203"/>
<source>Who is making this purchase?</source>
<translation type="unfinished"/>
<translation>Кто совершает эту покупку?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="206"/>
<source>Who is posting?</source>
<translation type="unfinished"/>
<translation>Кто публикует?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="209"/>
<source>Select a user to link to a Nintendo Account.</source>
<translation type="unfinished"/>
<translation>Выберите пользователя для привязки к учетной записи Nintendo.</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="212"/>
<source>Change settings for which user?</source>
<translation type="unfinished"/>
<translation>Изменить настройки для какого пользователя?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="215"/>
<source>Format data for which user?</source>
<translation type="unfinished"/>
<translation>Форматировать данные для какого пользователя?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="218"/>
<source>Which user will be transferred to another console?</source>
<translation type="unfinished"/>
<translation>Какой пользователь будет переходить на другую консоль?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="221"/>
<source>Send save data for which user?</source>
<translation type="unfinished"/>
<translation>Отправить сохранение какому пользователю?</translation>
</message>
<message>
<location filename="../../src/yuzu/applets/qt_profile_select.cpp" line="225"/>
@ -7740,7 +7777,7 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="158"/>
<source>[%1] %2</source>
<translation type="unfinished"/>
<translation>[%1] %2</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="184"/>
@ -7753,17 +7790,17 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="202"/>
<source>runnable</source>
<translation type="unfinished"/>
<translation>runnable</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="204"/>
<source>paused</source>
<translation type="unfinished"/>
<translation>paused</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="210"/>
<source>sleeping</source>
<translation type="unfinished"/>
<translation>sleeping</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="213"/>
@ -7778,32 +7815,32 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="219"/>
<source>waiting for condition variable</source>
<translation type="unfinished"/>
<translation>waiting for condition variable</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="222"/>
<source>waiting for address arbiter</source>
<translation type="unfinished"/>
<translation>waiting for address arbiter</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="225"/>
<source>waiting for suspend resume</source>
<translation type="unfinished"/>
<translation>waiting for suspend resume</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="228"/>
<source>waiting</source>
<translation type="unfinished"/>
<translation>waiting</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="233"/>
<source>initialized</source>
<translation type="unfinished"/>
<translation>initialized</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="236"/>
<source>terminated</source>
<translation type="unfinished"/>
<translation>terminated</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="239"/>
@ -7818,7 +7855,7 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="294"/>
<source>ideal</source>
<translation type="unfinished"/>
<translation>ideal</translation>
</message>
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="297"/>
@ -7848,7 +7885,7 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../src/yuzu/debugger/wait_tree.cpp" line="309"/>
<source>last running ticks = %1</source>
<translation type="unfinished"/>
<translation>last running ticks = %1</translation>
</message>
</context>
<context>

70
dist/languages/sv.ts vendored
View file

@ -122,7 +122,7 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../src/yuzu/multiplayer/chat_room.cpp" line="330"/>
<source>%1 has been unbanned</source>
<translation type="unfinished"/>
<translation>%1 har haft dess bannlysning upphävd.</translation>
</message>
<message>
<location filename="../../src/yuzu/multiplayer/chat_room.cpp" line="446"/>
@ -242,22 +242,22 @@ Detta kommer bannlysa både dennes användarnamn på forum samt IP-adress.</tran
<message>
<location filename="../../src/yuzu/compatdb.ui" line="77"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Does the game boot?&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Startar Spelet? &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../../src/yuzu/compatdb.ui" line="100"/>
<source>Yes The game starts to output video or audio</source>
<translation type="unfinished"/>
<translation>Ja Spelet öppnar till utmatning av video eller audio</translation>
</message>
<message>
<location filename="../../src/yuzu/compatdb.ui" line="107"/>
<source>No The game doesn&apos;t get past the &quot;Launching...&quot; screen</source>
<translation type="unfinished"/>
<translation>Nej Spelet öppnar ej förbi &quot;Startar...&quot; skärmen</translation>
</message>
<message>
<location filename="../../src/yuzu/compatdb.ui" line="124"/>
<source>Yes The game gets past the intro/menu and into gameplay</source>
<translation type="unfinished"/>
<translation>Ja Spelet öppnar förbi introt/menyn och in i själva spelandet</translation>
</message>
<message>
<location filename="../../src/yuzu/compatdb.ui" line="131"/>
@ -1031,7 +1031,7 @@ avgjord kod.&lt;/div&gt;
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="325"/>
<source>Disable Web Applet</source>
<translation type="unfinished"/>
<translation>Avaktivera Webbappletten</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_debug.ui" line="332"/>
@ -1360,8 +1360,8 @@ avgjord kod.&lt;/div&gt;
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Utökad minnesöversikt (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>
@ -3320,13 +3320,13 @@ UUID: %2</source>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="84"/>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="123"/>
<source>Pull</source>
<translation type="unfinished"/>
<translation>Dra</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="133"/>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="172"/>
<source>Push</source>
<translation type="unfinished"/>
<translation>Knuff</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="206"/>
@ -3347,7 +3347,7 @@ UUID: %2</source>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="300"/>
<location filename="../../src/yuzu/configuration/configure_ringcon.cpp" line="314"/>
<source>Enable</source>
<translation type="unfinished"/>
<translation>Aktivera</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_ringcon.ui" line="307"/>
@ -4493,17 +4493,17 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r
<message>
<location filename="../../src/yuzu/multiplayer/direct_connect.ui" line="97"/>
<source>Nickname</source>
<translation type="unfinished"/>
<translation>Smeknamn</translation>
</message>
<message>
<location filename="../../src/yuzu/multiplayer/direct_connect.ui" line="111"/>
<source>Password</source>
<translation type="unfinished"/>
<translation>Lösenord</translation>
</message>
<message>
<location filename="../../src/yuzu/multiplayer/direct_connect.ui" line="153"/>
<source>Connect</source>
<translation type="unfinished"/>
<translation>Anslut</translation>
</message>
</context>
<context>
@ -4511,12 +4511,12 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r
<message>
<location filename="../../src/yuzu/multiplayer/direct_connect.cpp" line="120"/>
<source>Connecting</source>
<translation type="unfinished"/>
<translation>Ansluter</translation>
</message>
<message>
<location filename="../../src/yuzu/multiplayer/direct_connect.cpp" line="125"/>
<source>Connect</source>
<translation type="unfinished"/>
<translation>Anslut</translation>
</message>
</context>
<context>
@ -4534,7 +4534,7 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r
<message>
<location filename="../../src/yuzu/main.cpp" line="432"/>
<source>Broken Vulkan Installation Detected</source>
<translation type="unfinished"/>
<translation>Felaktig Vulkaninstallation Upptäckt</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="433"/>
@ -4550,7 +4550,7 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r
<location filename="../../src/yuzu/main.cpp" line="874"/>
<location filename="../../src/yuzu/main.cpp" line="877"/>
<source>Disable Web Applet</source>
<translation type="unfinished"/>
<translation>Avaktivera Webbappletten</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="878"/>
@ -4591,7 +4591,7 @@ Dra punkter för att ändra position, eller dubbelklicka tabellceller för att r
<message>
<location filename="../../src/yuzu/main.cpp" line="1230"/>
<source>Emulated mouse is enabled</source>
<translation type="unfinished"/>
<translation>Emulerad datormus är aktiverad</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="1231"/>
@ -5171,7 +5171,7 @@ Please, only use this feature to install updates and DLC.</source>
<location filename="../../src/yuzu/main.cpp" line="3182"/>
<location filename="../../src/yuzu/main.cpp" line="3201"/>
<source>Hardware requirements not met</source>
<translation type="unfinished"/>
<translation> Hårdvarukraven uppfylls ej</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3183"/>
@ -5202,17 +5202,17 @@ Please, only use this feature to install updates and DLC.</source>
<message>
<location filename="../../src/yuzu/main.cpp" line="3514"/>
<source>TAS Recording</source>
<translation type="unfinished"/>
<translation>TAS Inspelning</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3515"/>
<source>Overwrite file of player 1?</source>
<translation type="unfinished"/>
<translation>Överskriv spelare 1:s fil?</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3541"/>
<source>Invalid config detected</source>
<translation type="unfinished"/>
<translation>Ogiltig konfiguration upptäckt</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3542"/>
@ -5223,13 +5223,13 @@ Please, only use this feature to install updates and DLC.</source>
<location filename="../../src/yuzu/main.cpp" line="3712"/>
<location filename="../../src/yuzu/main.cpp" line="3740"/>
<source>Amiibo</source>
<translation type="unfinished"/>
<translation>Amiibo</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3712"/>
<location filename="../../src/yuzu/main.cpp" line="3740"/>
<source>The current amiibo has been removed</source>
<translation type="unfinished"/>
<translation>Den aktuella amiibon har avlägsnats</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3717"/>
@ -5240,7 +5240,7 @@ Please, only use this feature to install updates and DLC.</source>
<location filename="../../src/yuzu/main.cpp" line="3717"/>
<location filename="../../src/yuzu/main.cpp" line="3752"/>
<source>The current game is not looking for amiibos</source>
<translation type="unfinished"/>
<translation>Det aktuella spelet letar ej efter amiibos</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3723"/>
@ -5260,17 +5260,17 @@ Please, only use this feature to install updates and DLC.</source>
<message>
<location filename="../../src/yuzu/main.cpp" line="3746"/>
<source>The selected file is not a valid amiibo</source>
<translation type="unfinished"/>
<translation>Den valda filen är inte en giltig amiibo</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3749"/>
<source>The selected file is already on use</source>
<translation type="unfinished"/>
<translation>Den valda filen är redan använd</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3755"/>
<source>An unknown error occurred</source>
<translation type="unfinished"/>
<translation>Ett okänt fel har inträffat</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3807"/>
@ -5285,22 +5285,22 @@ Please, only use this feature to install updates and DLC.</source>
<message>
<location filename="../../src/yuzu/main.cpp" line="3891"/>
<source>TAS state: Running %1/%2</source>
<translation type="unfinished"/>
<translation>TAStillstånd: pågående %1/%2</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3895"/>
<source>TAS state: Recording %1</source>
<translation type="unfinished"/>
<translation>TAStillstånd: spelar in %1</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3897"/>
<source>TAS state: Idle %1/%2</source>
<translation type="unfinished"/>
<translation>TAStillstånd: inaktiv %1/%2</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3901"/>
<source>TAS State: Invalid</source>
<translation type="unfinished"/>
<translation>TAStillstånd: ogiltigt</translation>
</message>
<message>
<location filename="../../src/yuzu/main.cpp" line="3915"/>
@ -5902,7 +5902,7 @@ Vill du strunta i detta och avsluta ändå?</translation>
<message>
<location filename="../../src/yuzu/multiplayer/host_room.ui" line="118"/>
<source>Password</source>
<translation type="unfinished"/>
<translation>Lösenord</translation>
</message>
<message>
<location filename="../../src/yuzu/multiplayer/host_room.ui" line="125"/>
@ -6169,7 +6169,7 @@ Debug Message: </source>
<location filename="../../src/yuzu/multiplayer/lobby.ui" line="32"/>
<location filename="../../src/yuzu/multiplayer/lobby.ui" line="39"/>
<source>Nickname</source>
<translation type="unfinished"/>
<translation>Smeknamn</translation>
</message>
<message>
<location filename="../../src/yuzu/multiplayer/lobby.ui" line="59"/>

View file

@ -1368,8 +1368,8 @@ Bu seçenek belleğe yazma/okuma işlemlerindeki güvenlik kontrolünü kaldıra
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Artırılmış hafıza düzeni (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1346,8 +1346,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation>Розширене компонування пам&apos;яті (6 ГБ DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation type="unfinished"/>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1380,8 +1380,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation> (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation> (8GB DRAM)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -1382,8 +1382,8 @@ This would ban both their forum username and their IP address.</source>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="67"/>
<source>Extended memory layout (6GB DRAM)</source>
<translation> (6GB DRAM)</translation>
<source>Extended memory layout (8GB DRAM)</source>
<translation> (8GB DRAM)</translation>
</message>
<message>
<location filename="../../src/yuzu/configuration/configure_general.ui" line="74"/>

View file

@ -45,6 +45,7 @@ void LogSettings() {
log_setting("System_LanguageIndex", values.language_index.GetValue());
log_setting("System_RegionIndex", values.region_index.GetValue());
log_setting("System_TimeZoneIndex", values.time_zone_index.GetValue());
log_setting("System_UnsafeMemoryLayout", values.use_unsafe_extended_memory_layout.GetValue());
log_setting("Core_UseMultiCore", values.use_multi_core.GetValue());
log_setting("CPU_Accuracy", values.cpu_accuracy.GetValue());
log_setting("Renderer_UseResolutionScaling", values.resolution_setup.GetValue());
@ -191,7 +192,7 @@ void RestoreGlobalState(bool is_powered_on) {
// Core
values.use_multi_core.SetGlobal(true);
values.use_extended_memory_layout.SetGlobal(true);
values.use_unsafe_extended_memory_layout.SetGlobal(true);
// CPU
values.cpu_accuracy.SetGlobal(true);

View file

@ -388,7 +388,8 @@ struct Values {
// Core
SwitchableSetting<bool> use_multi_core{true, "use_multi_core"};
SwitchableSetting<bool> use_extended_memory_layout{false, "use_extended_memory_layout"};
SwitchableSetting<bool> use_unsafe_extended_memory_layout{false,
"use_unsafe_extended_memory_layout"};
// Cpu
SwitchableSetting<CPUAccuracy, true> cpu_accuracy{CPUAccuracy::Auto, CPUAccuracy::Auto,

View file

@ -137,7 +137,7 @@ struct System::Impl {
device_memory = std::make_unique<Core::DeviceMemory>();
is_multicore = Settings::values.use_multi_core.GetValue();
extended_memory_layout = Settings::values.use_extended_memory_layout.GetValue();
extended_memory_layout = Settings::values.use_unsafe_extended_memory_layout.GetValue();
core_timing.SetMulticore(is_multicore);
core_timing.Initialize([&system]() { system.RegisterHostThread(); });
@ -169,7 +169,7 @@ struct System::Impl {
void ReinitializeIfNecessary(System& system) {
const bool must_reinitialize =
is_multicore != Settings::values.use_multi_core.GetValue() ||
extended_memory_layout != Settings::values.use_extended_memory_layout.GetValue();
extended_memory_layout != Settings::values.use_unsafe_extended_memory_layout.GetValue();
if (!must_reinitialize) {
return;
@ -178,7 +178,7 @@ struct System::Impl {
LOG_DEBUG(Kernel, "Re-initializing");
is_multicore = Settings::values.use_multi_core.GetValue();
extended_memory_layout = Settings::values.use_extended_memory_layout.GetValue();
extended_memory_layout = Settings::values.use_unsafe_extended_memory_layout.GetValue();
Initialize(system);
}
@ -293,6 +293,7 @@ struct System::Impl {
ASSERT(Kernel::KProcess::Initialize(main_process, system, "main",
Kernel::KProcess::ProcessType::Userland, resource_limit)
.IsSuccess());
Kernel::KProcess::Register(system.Kernel(), main_process);
kernel.MakeApplicationProcess(main_process);
const auto [load_result, load_parameters] = app_loader->Load(*main_process, system);
if (load_result != Loader::ResultStatus::Success) {

View file

@ -35,11 +35,12 @@ namespace {
using namespace Common::Literals;
u32 GetMemorySizeForInit() {
return Settings::values.use_extended_memory_layout ? Smc::MemorySize_8GB : Smc::MemorySize_4GB;
return Settings::values.use_unsafe_extended_memory_layout ? Smc::MemorySize_8GB
: Smc::MemorySize_4GB;
}
Smc::MemoryArrangement GetMemoryArrangeForInit() {
return Settings::values.use_extended_memory_layout ? Smc::MemoryArrangement_8GB
return Settings::values.use_unsafe_extended_memory_layout ? Smc::MemoryArrangement_8GB
: Smc::MemoryArrangement_4GB;
}
} // namespace

View file

@ -182,8 +182,8 @@ public:
explicit KAutoObjectWithList(KernelCore& kernel) : KAutoObject(kernel) {}
static int Compare(const KAutoObjectWithList& lhs, const KAutoObjectWithList& rhs) {
const u64 lid = lhs.GetId();
const u64 rid = rhs.GetId();
const uintptr_t lid = reinterpret_cast<uintptr_t>(std::addressof(lhs));
const uintptr_t rid = reinterpret_cast<uintptr_t>(std::addressof(rhs));
if (lid < rid) {
return -1;

View file

@ -95,7 +95,7 @@ struct KernelCore::Impl {
pt_heap_region.GetSize());
}
InitializeHackSharedMemory();
InitializeHackSharedMemory(kernel);
RegisterHostThread(nullptr);
}
@ -216,10 +216,12 @@ struct KernelCore::Impl {
auto* main_thread{Kernel::KThread::Create(system.Kernel())};
main_thread->SetCurrentCore(core);
ASSERT(Kernel::KThread::InitializeMainThread(system, main_thread, core).IsSuccess());
KThread::Register(system.Kernel(), main_thread);
auto* idle_thread{Kernel::KThread::Create(system.Kernel())};
idle_thread->SetCurrentCore(core);
ASSERT(Kernel::KThread::InitializeIdleThread(system, idle_thread, core).IsSuccess());
KThread::Register(system.Kernel(), idle_thread);
schedulers[i]->Initialize(main_thread, idle_thread, core);
}
@ -230,6 +232,7 @@ struct KernelCore::Impl {
const Core::Timing::CoreTiming& core_timing) {
system_resource_limit = KResourceLimit::Create(system.Kernel());
system_resource_limit->Initialize(&core_timing);
KResourceLimit::Register(kernel, system_resource_limit);
const auto sizes{memory_layout->GetTotalAndKernelMemorySizes()};
const auto total_size{sizes.first};
@ -355,6 +358,7 @@ struct KernelCore::Impl {
ASSERT(KThread::InitializeHighPriorityThread(system, shutdown_threads[core_id], {}, {},
core_id)
.IsSuccess());
KThread::Register(system.Kernel(), shutdown_threads[core_id]);
}
}
@ -729,7 +733,7 @@ struct KernelCore::Impl {
memory_manager->Initialize(management_region.GetAddress(), management_region.GetSize());
}
void InitializeHackSharedMemory() {
void InitializeHackSharedMemory(KernelCore& kernel) {
// Setup memory regions for emulated processes
// TODO(bunnei): These should not be hardcoded regions initialized within the kernel
constexpr std::size_t hid_size{0x40000};
@ -746,14 +750,23 @@ struct KernelCore::Impl {
hid_shared_mem->Initialize(system.DeviceMemory(), nullptr, Svc::MemoryPermission::None,
Svc::MemoryPermission::Read, hid_size);
KSharedMemory::Register(kernel, hid_shared_mem);
font_shared_mem->Initialize(system.DeviceMemory(), nullptr, Svc::MemoryPermission::None,
Svc::MemoryPermission::Read, font_size);
KSharedMemory::Register(kernel, font_shared_mem);
irs_shared_mem->Initialize(system.DeviceMemory(), nullptr, Svc::MemoryPermission::None,
Svc::MemoryPermission::Read, irs_size);
KSharedMemory::Register(kernel, irs_shared_mem);
time_shared_mem->Initialize(system.DeviceMemory(), nullptr, Svc::MemoryPermission::None,
Svc::MemoryPermission::Read, time_size);
KSharedMemory::Register(kernel, time_shared_mem);
hidbus_shared_mem->Initialize(system.DeviceMemory(), nullptr, Svc::MemoryPermission::None,
Svc::MemoryPermission::Read, hidbus_size);
KSharedMemory::Register(kernel, hidbus_shared_mem);
}
std::mutex registered_objects_lock;
@ -1072,12 +1085,15 @@ static std::jthread RunHostThreadFunc(KernelCore& kernel, KProcess* process,
// Commit the thread reservation.
thread_reservation.Commit();
// Register the thread.
KThread::Register(kernel, thread);
return std::jthread(
[&kernel, thread, thread_name{std::move(thread_name)}, func{std::move(func)}] {
// Set the thread name.
Common::SetCurrentThreadName(thread_name.c_str());
// Register the thread.
// Set the thread as current.
kernel.RegisterHostThread(thread);
// Run the callback.
@ -1099,6 +1115,9 @@ std::jthread KernelCore::RunOnHostCoreProcess(std::string&& process_name,
// Ensure that we don't hold onto any extra references.
SCOPE_EXIT({ process->Close(); });
// Register the new process.
KProcess::Register(*this, process);
// Run the host thread.
return RunHostThreadFunc(*this, process, std::move(process_name), std::move(func));
}
@ -1124,6 +1143,9 @@ void KernelCore::RunOnGuestCoreProcess(std::string&& process_name, std::function
// Ensure that we don't hold onto any extra references.
SCOPE_EXIT({ process->Close(); });
// Register the new process.
KProcess::Register(*this, process);
// Reserve a new thread from the process resource limit.
KScopedResourceReservation thread_reservation(process, LimitableResource::ThreadCountMax);
ASSERT(thread_reservation.Succeeded());
@ -1136,6 +1158,9 @@ void KernelCore::RunOnGuestCoreProcess(std::string&& process_name, std::function
// Commit the thread reservation.
thread_reservation.Commit();
// Register the new thread.
KThread::Register(*this, thread);
// Begin running the thread.
ASSERT(R_SUCCEEDED(thread->Run()));
}

View file

@ -156,6 +156,7 @@ public:
auto* session = Kernel::KSession::Create(kernel);
session->Initialize(nullptr, 0);
Kernel::KSession::Register(kernel, session);
auto next_manager = std::make_shared<Service::SessionRequestManager>(
kernel, manager->GetServerManager());

View file

@ -25,6 +25,9 @@ ServiceContext::ServiceContext(Core::System& system_, std::string name_)
Kernel::KProcess::ProcessType::KernelInternal,
kernel.GetSystemResourceLimit())
.IsSuccess());
// Register the process.
Kernel::KProcess::Register(kernel, process);
process_created = true;
}

View file

@ -12,6 +12,9 @@ Mutex::Mutex(Core::System& system) : m_system(system) {
m_event = Kernel::KEvent::Create(system.Kernel());
m_event->Initialize(nullptr);
// Register the event.
Kernel::KEvent::Register(system.Kernel(), m_event);
ASSERT(R_SUCCEEDED(m_event->Signal()));
}

View file

@ -33,6 +33,9 @@ ServerManager::ServerManager(Core::System& system) : m_system{system}, m_serve_m
// Initialize event.
m_event = Kernel::KEvent::Create(system.Kernel());
m_event->Initialize(nullptr);
// Register event.
Kernel::KEvent::Register(system.Kernel(), m_event);
}
ServerManager::~ServerManager() {
@ -160,6 +163,9 @@ Result ServerManager::ManageDeferral(Kernel::KEvent** out_event) {
// Initialize the event.
m_deferral_event->Initialize(nullptr);
// Register the event.
Kernel::KEvent::Register(m_system.Kernel(), m_deferral_event);
// Set the output.
*out_event = m_deferral_event;

View file

@ -64,6 +64,9 @@ Result ServiceManager::RegisterService(std::string name, u32 max_sessions,
auto* port = Kernel::KPort::Create(kernel);
port->Initialize(ServerSessionCountMax, false, 0);
// Register the port.
Kernel::KPort::Register(kernel, port);
service_ports.emplace(name, port);
registered_services.emplace(name, handler);
if (deferral_event) {

View file

@ -49,6 +49,9 @@ void Controller::CloneCurrentObject(HLERequestContext& ctx) {
// Commit the session reservation.
session_reservation.Commit();
// Register the session.
Kernel::KSession::Register(system.Kernel(), session);
// Register with server manager.
session_manager->GetServerManager().RegisterSession(&session->GetServerSession(),
session_manager);

View file

@ -473,7 +473,8 @@ void EmitSetFragColor(EmitContext& ctx, u32 index, u32 component, Id value) {
}
void EmitSetSampleMask(EmitContext& ctx, Id value) {
ctx.OpStore(ctx.sample_mask, value);
const Id pointer{ctx.OpAccessChain(ctx.output_u32, ctx.sample_mask, ctx.u32_zero_value)};
ctx.OpStore(pointer, value);
}
void EmitSetFragDepth(EmitContext& ctx, Id value) {

View file

@ -1572,7 +1572,8 @@ void EmitContext::DefineOutputs(const IR::Program& program) {
Decorate(frag_depth, spv::Decoration::BuiltIn, spv::BuiltIn::FragDepth);
}
if (info.stores_sample_mask) {
sample_mask = DefineOutput(*this, U32[1], std::nullopt);
const Id array_type{TypeArray(U32[1], Const(1U))};
sample_mask = DefineOutput(*this, array_type, std::nullopt);
Decorate(sample_mask, spv::Decoration::BuiltIn, spv::BuiltIn::SampleMask);
}
break;

View file

@ -657,8 +657,8 @@ bool BufferCache<P>::IsRegionGpuModified(VAddr addr, size_t size) {
template <class P>
bool BufferCache<P>::IsRegionRegistered(VAddr addr, size_t size) {
const VAddr end_addr = addr + size;
const u64 page_end = Common::DivCeil(end_addr, PAGE_SIZE);
for (u64 page = addr >> PAGE_BITS; page < page_end;) {
const u64 page_end = Common::DivCeil(end_addr, CACHING_PAGESIZE);
for (u64 page = addr >> CACHING_PAGEBITS; page < page_end;) {
const BufferId buffer_id = page_table[page];
if (!buffer_id) {
++page;
@ -670,7 +670,7 @@ bool BufferCache<P>::IsRegionRegistered(VAddr addr, size_t size) {
if (buf_start_addr < end_addr && addr < buf_end_addr) {
return true;
}
page = Common::DivCeil(end_addr, PAGE_SIZE);
page = Common::DivCeil(end_addr, CACHING_PAGESIZE);
}
return false;
}
@ -1001,7 +1001,7 @@ void BufferCache<P>::UpdateIndexBuffer() {
flags[Dirty::IndexBuffer] = false;
if (!draw_state.inline_index_draw_indexes.empty()) [[unlikely]] {
auto inline_index_size = static_cast<u32>(draw_state.inline_index_draw_indexes.size());
u32 buffer_size = Common::AlignUp(inline_index_size, PAGE_SIZE);
u32 buffer_size = Common::AlignUp(inline_index_size, CACHING_PAGESIZE);
if (inline_buffer_id == NULL_BUFFER_ID) [[unlikely]] {
inline_buffer_id = CreateBuffer(0, buffer_size);
}
@ -1230,7 +1230,7 @@ BufferId BufferCache<P>::FindBuffer(VAddr cpu_addr, u32 size) {
if (cpu_addr == 0) {
return NULL_BUFFER_ID;
}
const u64 page = cpu_addr >> PAGE_BITS;
const u64 page = cpu_addr >> CACHING_PAGEBITS;
const BufferId buffer_id = page_table[page];
if (!buffer_id) {
return CreateBuffer(cpu_addr, size);
@ -1259,8 +1259,9 @@ typename BufferCache<P>::OverlapResult BufferCache<P>::ResolveOverlaps(VAddr cpu
.has_stream_leap = has_stream_leap,
};
}
for (; cpu_addr >> PAGE_BITS < Common::DivCeil(end, PAGE_SIZE); cpu_addr += PAGE_SIZE) {
const BufferId overlap_id = page_table[cpu_addr >> PAGE_BITS];
for (; cpu_addr >> CACHING_PAGEBITS < Common::DivCeil(end, CACHING_PAGESIZE);
cpu_addr += CACHING_PAGESIZE) {
const BufferId overlap_id = page_table[cpu_addr >> CACHING_PAGEBITS];
if (!overlap_id) {
continue;
}
@ -1286,11 +1287,11 @@ typename BufferCache<P>::OverlapResult BufferCache<P>::ResolveOverlaps(VAddr cpu
// as a stream buffer. Increase the size to skip constantly recreating buffers.
has_stream_leap = true;
if (expands_right) {
begin -= PAGE_SIZE * 256;
begin -= CACHING_PAGESIZE * 256;
cpu_addr = begin;
}
if (expands_left) {
end += PAGE_SIZE * 256;
end += CACHING_PAGESIZE * 256;
}
}
}
@ -1323,8 +1324,8 @@ void BufferCache<P>::JoinOverlap(BufferId new_buffer_id, BufferId overlap_id,
template <class P>
BufferId BufferCache<P>::CreateBuffer(VAddr cpu_addr, u32 wanted_size) {
VAddr cpu_addr_end = Common::AlignUp(cpu_addr + wanted_size, PAGE_SIZE);
cpu_addr = Common::AlignDown(cpu_addr, PAGE_SIZE);
VAddr cpu_addr_end = Common::AlignUp(cpu_addr + wanted_size, CACHING_PAGESIZE);
cpu_addr = Common::AlignDown(cpu_addr, CACHING_PAGESIZE);
wanted_size = static_cast<u32>(cpu_addr_end - cpu_addr);
const OverlapResult overlap = ResolveOverlaps(cpu_addr, wanted_size);
const u32 size = static_cast<u32>(overlap.end - overlap.begin);
@ -1363,8 +1364,8 @@ void BufferCache<P>::ChangeRegister(BufferId buffer_id) {
}
const VAddr cpu_addr_begin = buffer.CpuAddr();
const VAddr cpu_addr_end = cpu_addr_begin + size;
const u64 page_begin = cpu_addr_begin / PAGE_SIZE;
const u64 page_end = Common::DivCeil(cpu_addr_end, PAGE_SIZE);
const u64 page_begin = cpu_addr_begin / CACHING_PAGESIZE;
const u64 page_end = Common::DivCeil(cpu_addr_end, CACHING_PAGESIZE);
for (u64 page = page_begin; page != page_end; ++page) {
if constexpr (insert) {
page_table[page] = buffer_id;

View file

@ -90,10 +90,8 @@ template <typename P>
class BufferCache : public VideoCommon::ChannelSetupCaches<VideoCommon::ChannelInfo> {
// Page size for caching purposes.
// This is unrelated to the CPU page size and it can be changed as it seems optimal.
static constexpr u32 PAGE_BITS = 16;
static constexpr u64 PAGE_SIZE = u64{1} << PAGE_BITS;
static constexpr u32 CPU_PAGE_BITS = 12;
static constexpr u64 CPU_PAGE_SIZE = u64{1} << CPU_PAGE_BITS;
static constexpr u32 CACHING_PAGEBITS = 16;
static constexpr u64 CACHING_PAGESIZE = u64{1} << CACHING_PAGEBITS;
static constexpr bool IS_OPENGL = P::IS_OPENGL;
static constexpr bool HAS_PERSISTENT_UNIFORM_BUFFER_BINDINGS =
@ -290,8 +288,8 @@ private:
template <typename Func>
void ForEachBufferInRange(VAddr cpu_addr, u64 size, Func&& func) {
const u64 page_end = Common::DivCeil(cpu_addr + size, PAGE_SIZE);
for (u64 page = cpu_addr >> PAGE_BITS; page < page_end;) {
const u64 page_end = Common::DivCeil(cpu_addr + size, CACHING_PAGESIZE);
for (u64 page = cpu_addr >> CACHING_PAGEBITS; page < page_end;) {
const BufferId buffer_id = page_table[page];
if (!buffer_id) {
++page;
@ -301,7 +299,7 @@ private:
func(buffer_id, buffer);
const VAddr end_addr = buffer.CpuAddr() + buffer.SizeBytes();
page = Common::DivCeil(end_addr, PAGE_SIZE);
page = Common::DivCeil(end_addr, CACHING_PAGESIZE);
}
}
@ -576,7 +574,7 @@ private:
bool active_async_buffers = false;
std::array<BufferId, ((1ULL << 39) >> PAGE_BITS)> page_table;
std::array<BufferId, ((1ULL << 39) >> CACHING_PAGEBITS)> page_table;
};
} // namespace VideoCommon

View file

@ -497,7 +497,7 @@ void Config::ReadCoreValues() {
qt_config->beginGroup(QStringLiteral("Core"));
ReadGlobalSetting(Settings::values.use_multi_core);
ReadGlobalSetting(Settings::values.use_extended_memory_layout);
ReadGlobalSetting(Settings::values.use_unsafe_extended_memory_layout);
qt_config->endGroup();
}
@ -1161,7 +1161,7 @@ void Config::SaveCoreValues() {
qt_config->beginGroup(QStringLiteral("Core"));
WriteGlobalSetting(Settings::values.use_multi_core);
WriteGlobalSetting(Settings::values.use_extended_memory_layout);
WriteGlobalSetting(Settings::values.use_unsafe_extended_memory_layout);
qt_config->endGroup();
}

View file

@ -35,9 +35,6 @@ void ConfigureGeneral::SetConfiguration() {
ui->use_multi_core->setEnabled(runtime_lock);
ui->use_multi_core->setChecked(Settings::values.use_multi_core.GetValue());
ui->use_extended_memory_layout->setEnabled(runtime_lock);
ui->use_extended_memory_layout->setChecked(
Settings::values.use_extended_memory_layout.GetValue());
ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing.GetValue());
ui->toggle_user_on_boot->setChecked(UISettings::values.select_user_on_boot.GetValue());
@ -79,9 +76,6 @@ void ConfigureGeneral::ResetDefaults() {
void ConfigureGeneral::ApplyConfiguration() {
ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_multi_core, ui->use_multi_core,
use_multi_core);
ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_extended_memory_layout,
ui->use_extended_memory_layout,
use_extended_memory_layout);
if (Settings::IsConfiguringGlobal()) {
UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked();
@ -141,9 +135,6 @@ void ConfigureGeneral::SetupPerGameUI() {
Settings::values.use_speed_limit, use_speed_limit);
ConfigurationShared::SetColoredTristate(ui->use_multi_core, Settings::values.use_multi_core,
use_multi_core);
ConfigurationShared::SetColoredTristate(ui->use_extended_memory_layout,
Settings::values.use_extended_memory_layout,
use_extended_memory_layout);
connect(ui->toggle_speed_limit, &QCheckBox::clicked, ui->speed_limit, [this]() {
ui->speed_limit->setEnabled(ui->toggle_speed_limit->isChecked() &&

View file

@ -47,7 +47,6 @@ private:
ConfigurationShared::CheckState use_speed_limit;
ConfigurationShared::CheckState use_multi_core;
ConfigurationShared::CheckState use_extended_memory_layout;
const Core::System& system;
};

View file

@ -61,13 +61,6 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="use_extended_memory_layout">
<property name="text">
<string>Extended memory layout (8GB DRAM)</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="toggle_check_exit">
<property name="text">

View file

@ -111,6 +111,9 @@ void ConfigureSystem::SetConfiguration() {
ui->custom_rtc_edit->setDateTime(QDateTime::fromSecsSinceEpoch(rtc_time));
ui->device_name_edit->setText(
QString::fromUtf8(Settings::values.device_name.GetValue().c_str()));
ui->use_unsafe_extended_memory_layout->setEnabled(enabled);
ui->use_unsafe_extended_memory_layout->setChecked(
Settings::values.use_unsafe_extended_memory_layout.GetValue());
if (Settings::IsConfiguringGlobal()) {
ui->combo_language->setCurrentIndex(Settings::values.language_index.GetValue());
@ -160,6 +163,9 @@ void ConfigureSystem::ApplyConfiguration() {
ConfigurationShared::ApplyPerGameSetting(&Settings::values.region_index, ui->combo_region);
ConfigurationShared::ApplyPerGameSetting(&Settings::values.time_zone_index,
ui->combo_time_zone);
ConfigurationShared::ApplyPerGameSetting(&Settings::values.use_unsafe_extended_memory_layout,
ui->use_unsafe_extended_memory_layout,
use_unsafe_extended_memory_layout);
if (Settings::IsConfiguringGlobal()) {
// Guard if during game and set to game-specific value
@ -215,6 +221,10 @@ void ConfigureSystem::SetupPerGameUI() {
Settings::values.rng_seed.GetValue().has_value(),
Settings::values.rng_seed.GetValue(true).has_value(), use_rng_seed);
ConfigurationShared::SetColoredTristate(ui->use_unsafe_extended_memory_layout,
Settings::values.use_unsafe_extended_memory_layout,
use_unsafe_extended_memory_layout);
ui->custom_rtc_checkbox->setVisible(false);
ui->custom_rtc_edit->setVisible(false);
}

View file

@ -41,6 +41,7 @@ private:
bool enabled = false;
ConfigurationShared::CheckState use_rng_seed;
ConfigurationShared::CheckState use_unsafe_extended_memory_layout;
Core::System& system;
};

View file

@ -478,6 +478,13 @@
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QCheckBox" name="use_unsafe_extended_memory_layout">
<property name="text">
<string>Unsafe extended memory layout (8GB DRAM)</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>

View file

@ -274,7 +274,7 @@ void Config::ReadValues() {
// Core
ReadSetting("Core", Settings::values.use_multi_core);
ReadSetting("Core", Settings::values.use_extended_memory_layout);
ReadSetting("Core", Settings::values.use_unsafe_extended_memory_layout);
// Cpu
ReadSetting("Cpu", Settings::values.cpu_accuracy);

View file

@ -163,9 +163,9 @@ keyboard_enabled =
# 0: Disabled, 1 (default): Enabled
use_multi_core =
# Enable extended guest system memory layout (8GB DRAM)
# Enable unsafe extended guest system memory layout (8GB DRAM)
# 0 (default): Disabled, 1: Enabled
use_extended_memory_layout =
use_unsafe_extended_memory_layout =
[Cpu]
# Adjusts various optimizations.