mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-09 22:58:54 +02:00
Compare commits
9 commits
83a0991c17
...
5e9bb1169c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e9bb1169c | ||
|
|
e489363ed7 | ||
|
|
7820d8083b | ||
|
|
fc83061241 | ||
|
|
135a6adc1a | ||
|
|
f4c2a3c13d | ||
|
|
5e7543aed7 | ||
|
|
9b2fba1275 | ||
|
|
19eab4d7aa |
69 changed files with 11037 additions and 12042 deletions
54
.forgejo/workflows/update-deps.yml
Normal file
54
.forgejo/workflows/update-deps.yml
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
name: update-deps
|
||||
|
||||
on:
|
||||
# saturday at noon
|
||||
schedule:
|
||||
- cron: '0 12 * * 6'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
tx-update:
|
||||
runs-on: source
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Update deps
|
||||
run: |
|
||||
git config --local user.name "Eden CI"
|
||||
git config --local user.email "ci@eden-emu.dev"
|
||||
git config --local user.signingkey "D57652791BB25D2A"
|
||||
git config --local push.autoSetupRemote true
|
||||
|
||||
git remote set-url origin ci:eden-emu/eden.git
|
||||
|
||||
DATE=$(date +"%b %d")
|
||||
echo "DATE=$DATE" >> "$GITHUB_ENV"
|
||||
|
||||
git switch -c update-deps-$DATE
|
||||
tools/cpmutil.sh package update -ac
|
||||
git push
|
||||
|
||||
- name: Create PR
|
||||
run: |
|
||||
TITLE="[externals] Dependency update for $DATE"
|
||||
BODY="$(git show -s --format='%b')"
|
||||
BASE=master
|
||||
HEAD=update-deps-$DATE
|
||||
|
||||
cat << EOF > data.json
|
||||
{
|
||||
"base": "$BASE",
|
||||
"body": "$BODY",
|
||||
"head": "$HEAD",
|
||||
"title": "$TITLE"
|
||||
}
|
||||
EOF
|
||||
|
||||
curl -X 'POST' \
|
||||
'https://git.eden-emu.dev/api/v1/repos/eden-emu/eden/pulls' \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Authorization: Bearer ${{ secrets.CI_FJ_TOKEN }}' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d "@data.json" --fail
|
||||
832
dist/languages/ar.ts
vendored
832
dist/languages/ar.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/ca.ts
vendored
810
dist/languages/ca.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/cs.ts
vendored
810
dist/languages/cs.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/da.ts
vendored
810
dist/languages/da.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/de.ts
vendored
810
dist/languages/de.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/el.ts
vendored
810
dist/languages/el.ts
vendored
File diff suppressed because it is too large
Load diff
960
dist/languages/es.ts
vendored
960
dist/languages/es.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/fi.ts
vendored
810
dist/languages/fi.ts
vendored
File diff suppressed because it is too large
Load diff
812
dist/languages/fr.ts
vendored
812
dist/languages/fr.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/hu.ts
vendored
810
dist/languages/hu.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/id.ts
vendored
810
dist/languages/id.ts
vendored
File diff suppressed because it is too large
Load diff
1116
dist/languages/it.ts
vendored
1116
dist/languages/it.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/ja_JP.ts
vendored
810
dist/languages/ja_JP.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/ko_KR.ts
vendored
810
dist/languages/ko_KR.ts
vendored
File diff suppressed because it is too large
Load diff
820
dist/languages/nb.ts
vendored
820
dist/languages/nb.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/nl.ts
vendored
810
dist/languages/nl.ts
vendored
File diff suppressed because it is too large
Load diff
812
dist/languages/pl.ts
vendored
812
dist/languages/pl.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/pt_BR.ts
vendored
810
dist/languages/pt_BR.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/pt_PT.ts
vendored
810
dist/languages/pt_PT.ts
vendored
File diff suppressed because it is too large
Load diff
812
dist/languages/ru_RU.ts
vendored
812
dist/languages/ru_RU.ts
vendored
File diff suppressed because it is too large
Load diff
812
dist/languages/sv.ts
vendored
812
dist/languages/sv.ts
vendored
File diff suppressed because it is too large
Load diff
820
dist/languages/tr_TR.ts
vendored
820
dist/languages/tr_TR.ts
vendored
File diff suppressed because it is too large
Load diff
816
dist/languages/uk.ts
vendored
816
dist/languages/uk.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/vi.ts
vendored
810
dist/languages/vi.ts
vendored
File diff suppressed because it is too large
Load diff
811
dist/languages/vi_VN.ts
vendored
811
dist/languages/vi_VN.ts
vendored
File diff suppressed because it is too large
Load diff
819
dist/languages/zh_CN.ts
vendored
819
dist/languages/zh_CN.ts
vendored
File diff suppressed because it is too large
Load diff
810
dist/languages/zh_TW.ts
vendored
810
dist/languages/zh_TW.ts
vendored
File diff suppressed because it is too large
Load diff
|
|
@ -31,8 +31,6 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
|
|||
RENDERER_DEBUG("debug"),
|
||||
RENDERER_PATCH_OLD_QCOM_DRIVERS("patch_old_qcom_drivers"),
|
||||
RENDERER_VERTEX_INPUT_DYNAMIC_STATE("vertex_input_dynamic_state"),
|
||||
RENDERER_PROVOKING_VERTEX("provoking_vertex"),
|
||||
RENDERER_DESCRIPTOR_INDEXING("descriptor_indexing"),
|
||||
RENDERER_SAMPLE_SHADING("sample_shading"),
|
||||
GPU_UNSWIZZLE_ENABLED("gpu_unswizzle_enabled"),
|
||||
PICTURE_IN_PICTURE("picture_in_picture"),
|
||||
|
|
|
|||
|
|
@ -141,13 +141,6 @@ abstract class SettingsItem(
|
|||
valuesId = R.array.dynaStateValues
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.RENDERER_PROVOKING_VERTEX,
|
||||
titleId = R.string.provoking_vertex,
|
||||
descriptionId = R.string.provoking_vertex_description
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.RENDERER_VERTEX_INPUT_DYNAMIC_STATE,
|
||||
|
|
@ -155,13 +148,6 @@ abstract class SettingsItem(
|
|||
descriptionId = R.string.vertex_input_dynamic_state_description
|
||||
)
|
||||
)
|
||||
put(
|
||||
SwitchSetting(
|
||||
BooleanSetting.RENDERER_DESCRIPTOR_INDEXING,
|
||||
titleId = R.string.descriptor_indexing,
|
||||
descriptionId = R.string.descriptor_indexing_description
|
||||
)
|
||||
)
|
||||
put(
|
||||
SliderSetting(
|
||||
IntSetting.RENDERER_SAMPLE_SHADING,
|
||||
|
|
|
|||
|
|
@ -280,8 +280,6 @@ class SettingsFragmentPresenter(
|
|||
|
||||
add(IntSetting.RENDERER_DYNA_STATE.key)
|
||||
add(BooleanSetting.RENDERER_VERTEX_INPUT_DYNAMIC_STATE.key)
|
||||
add(BooleanSetting.RENDERER_PROVOKING_VERTEX.key)
|
||||
add(BooleanSetting.RENDERER_DESCRIPTOR_INDEXING.key)
|
||||
add(IntSetting.RENDERER_SAMPLE_SHADING.key)
|
||||
|
||||
add(HeaderSetting(R.string.display))
|
||||
|
|
|
|||
|
|
@ -525,10 +525,6 @@
|
|||
<string name="disabled">معطل</string>
|
||||
<string name="vertex_input_dynamic_state">حالة ديناميكية لإدخال الرأس</string>
|
||||
<string name="vertex_input_dynamic_state_description">يتيح ميزة الحالة الديناميكية لإدخال الرأس لتحسين الجودة والأداء.</string>
|
||||
<string name="provoking_vertex">الرأس المثير</string>
|
||||
<string name="provoking_vertex_description">يحسن الإضاءة ومعالجة الرؤوس في بعض الألعاب. مدعوم فقط على وحدات معالجة الرسومات Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">فهرسة الوصف</string>
|
||||
<string name="descriptor_indexing_description">يحسن معالجة النسيج والمخزن المؤقت، بالإضافة إلى طبقة الترجمة Maxwell. مدعوم من بعض وحدات معالجة الرسومات Vulkan 1.1 وجميع وحدات معالجة الرسومات Vulkan 1.2+.</string>
|
||||
<string name="sample_shading_fraction">تظليل العينة</string>
|
||||
<string name="sample_shading_fraction_description">يسمح هذا الخيار بتنفيذ مُظلل الأجزاء لكل عينة في جزء متعدد العينات بدلاً من تنفيذه مرة واحدة لكل جزء. يُحسّن هذا من جودة الرسومات على حساب بعض الأداء.</string>
|
||||
|
||||
|
|
@ -1066,6 +1062,8 @@
|
|||
<string name="theme_material_you">ألوان ديناميكية</string>
|
||||
<string name="app_settings">إعدادات التطبيق</string>
|
||||
<string name="theme_and_color">السمة واللون</string>
|
||||
<string name="fullscreen_mode">وضع ملء الشاشة</string>
|
||||
<string name="fullscreen_mode_description">إخفاء أشرطة نظام Android عبر شاشات التطبيق. اسحب من أحد الحواف لإظهارها مؤقتًا.</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">تغيير وضع السمة</string>
|
||||
|
|
@ -1096,7 +1094,7 @@
|
|||
<string name="blue">أزرق</string>
|
||||
<string name="cyan">سماوي</string>
|
||||
<string name="red">أحمر</string>
|
||||
<string name="green">أخضر (افتراضي)</string>
|
||||
<string name="green">أخضر</string>
|
||||
<string name="yellow">أصفر</string>
|
||||
<string name="orange">برتقالي</string>
|
||||
<string name="pink">وردي</string>
|
||||
|
|
|
|||
|
|
@ -360,10 +360,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">کۆمپایلکردنی شادەرەکان بەشێوەی ناڕێک. ئەمە ڕەنگە کەمکردنەوەی ستەتەر بکات بەڵام لەوانەیە هەڵەش دروست بکات.</string>
|
||||
<string name="dyna_state">الحالة الديناميكية الممتدة</string>
|
||||
<string name="disabled">ناچالاک</string>
|
||||
<string name="provoking_vertex">الرأس المثير</string>
|
||||
<string name="provoking_vertex_description">يحسن الإضاءة ومعالجة الرؤوس في بعض الألعاب. مدعوم فقط على وحدات معالجة الرسومات التي تدعم فولكان 1.0+.</string>
|
||||
<string name="descriptor_indexing">فهرسة الواصفات</string>
|
||||
<string name="descriptor_indexing_description">يحسن معالجة القوام والمخازن المؤقتة، بالإضافة إلى طبقة ترجمة ماكسويل. مدعوم من قبل بعض وحدات معالجة الرسومات التي تدعم فولكان 1.1 وجميع وحدات معالجة الرسومات التي تدعم فولكان 1.2+.</string>
|
||||
<string name="display">پیشاندان</string>
|
||||
|
||||
<string name="renderer_screen_layout">ڕێکخستنی شاشە</string>
|
||||
|
|
|
|||
|
|
@ -486,10 +486,6 @@
|
|||
<string name="disabled">Vypnuto</string>
|
||||
<string name="vertex_input_dynamic_state">Dynamický stav vstupu vrcholů (Vertex Input)</string>
|
||||
<string name="vertex_input_dynamic_state_description">Aktivuje funkci dynamického stavu vstupu vrcholů (Vertex Input Dynamic State) pro lepší kvalitu a výkon.</string>
|
||||
<string name="provoking_vertex">Určující vrchol</string>
|
||||
<string name="provoking_vertex_description">Zlepšuje osvětlení a zpracování vrcholů v některých hrách. Podporováno pouze na GPU s API Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Indexování deskriptorů</string>
|
||||
<string name="descriptor_indexing_description">Zlepšuje zpracování textur a bufferů, stejně jako překladovou vrstvu architektury Maxwell. Podporováno některými GPU s API Vulkan 1.1 a všemi GPU s API Vulkan 1.2+.</string>
|
||||
<string name="display">Zobrazení</string>
|
||||
|
||||
<string name="renderer_screen_layout">Orientace</string>
|
||||
|
|
|
|||
|
|
@ -484,10 +484,6 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
|
|||
<string name="disabled">Deaktiviert</string>
|
||||
<string name="vertex_input_dynamic_state">Vertex Input Dynamic State</string>
|
||||
<string name="vertex_input_dynamic_state_description">Aktiviert die Funktion \"Vertex Input Dynamic State\" für bessere Qualität und Leistung.</string>
|
||||
<string name="provoking_vertex">Provokanter Vertex</string>
|
||||
<string name="provoking_vertex_description">Verbessert die Beleuchtung und die Vertex-Verarbeitung in einigen Spielen. Wird nur von GPUs mit Vulkan 1.0+ unterstützt.</string>
|
||||
<string name="descriptor_indexing">Deskriptor-Indizierung</string>
|
||||
<string name="descriptor_indexing_description">Verbessert die Textur- und Puffer-Verarbeitung sowie die Maxwell-Übersetzungsschicht. Wird von einigen Vulkan 1.1-GPUs und allen Vulkan 1.2+-GPUs unterstützt.</string>
|
||||
<string name="sample_shading_fraction">Sample Shading</string>
|
||||
<string name="sample_shading_fraction_description">Ermöglicht es dem Fragment-Shader, in einem Multisample-Fragment pro Sample anstatt einmal pro Fragment ausgeführt zu werden. Verbessert die Grafikqualität auf Kosten der Leistung.</string>
|
||||
|
||||
|
|
@ -1004,7 +1000,6 @@ Wirklich fortfahren?</string>
|
|||
<string name="theme_material_you">Material You</string>
|
||||
<string name="app_settings">App-Einstellungen</string>
|
||||
<string name="theme_and_color">Theme und Farben</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Design</string>
|
||||
<string name="theme_mode_follow_system">System folgen</string>
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@
|
|||
<string name="manage_save_data">Administrar datos de guardado</string>
|
||||
<string name="manage_save_data_description">Guardar los datos encontrados. Por favor, seleccione una opción de abajo.</string>
|
||||
<string name="import_save_warning">Importar datos de guardado</string>
|
||||
<string name="import_save_warning_description">Ésto sobreescribirá todos los datos de guardado existentes con el archivo proporcionado. ¿Está seguro de querer continuar?</string>
|
||||
<string name="import_save_warning_description">Esto sobreescribirá todos los datos de guardado existentes con el archivo proporcionado. ¿Está seguro de querer continuar\?</string>
|
||||
<string name="save_files_importing">Importando archivos de guardado...</string>
|
||||
<string name="save_files_exporting">Exportando archivos de guardado...</string>
|
||||
<string name="save_file_imported_success">Importado correctamente</string>
|
||||
|
|
@ -333,8 +333,8 @@
|
|||
<string name="install_game_content_help_link">https://yuzu-mirror.github.io/help/quickstart/#dumping-installed-updates</string>
|
||||
<string name="custom_driver_not_supported">Controladores personalizados no soportados</string>
|
||||
<string name="custom_driver_not_supported_description">La carga de controladores personalizados no está disponible para este dispositivo.\n¡Compruebe más adelante si se añadió el soporte a esta opción!</string>
|
||||
<string name="manage_yuzu_data">Administrar datos de Eden</string>
|
||||
<string name="manage_yuzu_data_description">Importa/exporta el firmware, las claves, los datos de usuario, ¡y más!</string>
|
||||
<string name="manage_yuzu_data">Gestionar datos de Eden</string>
|
||||
<string name="manage_yuzu_data_description">Importar/exportar el firmware, las claves, los datos de usuario, ¡y más!</string>
|
||||
<string name="game_folders">Carpetas de juegos</string>
|
||||
<string name="deep_scan">Escaneo recursivo </string>
|
||||
<string name="add_game_folder">Añadir carpeta con juegos</string>
|
||||
|
|
@ -350,8 +350,8 @@
|
|||
<item quantity="many">%d archivos de guardado importados con éxito.</item>
|
||||
<item quantity="other">%d archivos de guardado importados con éxito.</item>
|
||||
</plurals>
|
||||
<string name="no_save_data_found">No hay archivos de guardado</string>
|
||||
<string name="verify_installed_content">Verificar contenidos instalados</string>
|
||||
<string name="no_save_data_found">No se encontraron datos de guardado</string>
|
||||
<string name="verify_installed_content">Verificar contenido instalado</string>
|
||||
<string name="verify_installed_content_description">Comprueba todo el contenido instalado por si hubiese alguno corrupto</string>
|
||||
|
||||
<string name="keys_missing">Faltan las claves de encriptación</string>
|
||||
|
|
@ -519,10 +519,6 @@
|
|||
<string name="disabled">Desactivado</string>
|
||||
<string name="vertex_input_dynamic_state">Estado dinámico de entrada de vértices</string>
|
||||
<string name="vertex_input_dynamic_state_description">Activa la función de estado dinámico de entrada de vértices para una mejor calidad y rendimiento.</string>
|
||||
<string name="provoking_vertex">Vértice provocante</string>
|
||||
<string name="provoking_vertex_description">Mejora la iluminación y el manejo de vértices en ciertos juegos. Solo es compatible con las GPU Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Indexación del descriptor</string>
|
||||
<string name="descriptor_indexing_description">Mejora la textura y el manejo del búfer, así como la capa de traducción Maxwell. Compatible con algunas GPU Vulkan 1.1 y todas las GPU Vulkan 1.2+.</string>
|
||||
<string name="sample_shading_fraction">Muestreo de sombreado</string>
|
||||
<string name="sample_shading_fraction_description">Permite que el sombreador de fragmentos se ejecute por muestra en un fragmento multimuestreado, en lugar de una sola vez por fragmento. Mejora la calidad de los gráficos a coste de algo de rendimiento.</string>
|
||||
|
||||
|
|
@ -768,7 +764,7 @@
|
|||
<string name="developer">Desarrollador</string>
|
||||
<string name="version">Versión</string>
|
||||
<string name="copy_details">Copiar detalles</string>
|
||||
<string name="add_ons">Extras/Add-ons</string>
|
||||
<string name="add_ons">Complementos</string>
|
||||
<string name="add_ons_description">Activa/desactiva mods, actualizaciones y contenidos descargables</string>
|
||||
<string name="playtime">Tiempo jugado:</string>
|
||||
<string name="reset_playtime">Borrar tiempo de juego</string>
|
||||
|
|
@ -791,28 +787,28 @@
|
|||
<string name="cleared_shaders_successfully">Sombreadores limpiados con éxito</string>
|
||||
<string name="driver_shader_wipe_dialog_title">Sombreadores limpiados</string>
|
||||
<string name="driver_shader_wipe_dialog_message">Eden ha limpiado automáticamente todos los sombreadores guardados para mantener la canalización de Vulkan válida. Esto es esencial al cambiar o actualizar los controladores de la GPU para prevenir errores y fallos gráficos. Es posible que experimente algunas interrupciones durante la reconstrucción de los sombreadores.</string>
|
||||
<string name="addons_game">Addons: %1$s</string>
|
||||
<string name="addons_game">Complementos: %1$s</string>
|
||||
<string name="save_data">Datos de guardado</string>
|
||||
<string name="save_data_description">Controla los datos de guardado de este juego</string>
|
||||
<string name="save_data_description">Gestiona los datos de guardado de este juego</string>
|
||||
<string name="delete_save_data">Borrar datos de guardado</string>
|
||||
<string name="delete_save_data_description">Elimina todos los datos de guardado de este juego</string>
|
||||
<string name="delete_save_data_warning_description">Ésto elimina de manera permanente todos los datos de guardado de este juego. ¿Seguro que quieres continuar?</string>
|
||||
<string name="delete_save_data_description">Elimina todos los datos de guardado especificos de este juego</string>
|
||||
<string name="delete_save_data_warning_description">Esto eliminará de manera permanente todos los datos de guardado de este juego. ¿Está seguro de que quiere continuar\?</string>
|
||||
<string name="save_data_deleted_successfully">Datos de guardado eliminados con éxito</string>
|
||||
<string name="select_content_type">Tipo de contenido</string>
|
||||
<string name="updates_and_dlc">Actualizaciones y contenido descargable</string>
|
||||
<string name="mods_and_cheats">Mods y trucos</string>
|
||||
<string name="addon_notice">Aviso importante de addons</string>
|
||||
<string name="addon_notice">Aviso importante de complementos</string>
|
||||
<!-- \"cheats/" "romfs/" and \"exefs/ should not be translated -->
|
||||
<string name="addon_notice_description">Para instalar mods y trucos, debe seleccionar una carpeta que contenga los directorios cheats/, romfs/, o exefs/ . ¡No podemos confirmar si éstos serán compatibles con su juego, así que tenga cuidado!</string>
|
||||
<string name="invalid_directory">Directorio no válido</string>
|
||||
<!-- \"cheats/" "romfs/" and \"exefs/ should not be translated -->
|
||||
<string name="invalid_directory_description">Por favor, asegúrese de que el directorio que ha selecionado incluye las carpetas cheats/, romfs/, o exefs/ e inténtelo de nuevo.</string>
|
||||
<string name="addon_installed_successfully">Addon instalado con éxito</string>
|
||||
<string name="addon_installed_successfully">Complemento instalado con éxito</string>
|
||||
<string name="verifying_content">Verificando contenido...</string>
|
||||
<string name="content_install_notice">Aviso importante de contenido</string>
|
||||
<string name="content_install_notice_description">El contenido seleccionado no es de este juego.\n¿Instalar aun que\?</string>
|
||||
<string name="confirm_uninstall">Confirmar desinstalación</string>
|
||||
<string name="confirm_uninstall_description">¿De verdad quieres desinstalar este addon?</string>
|
||||
<string name="confirm_uninstall_description">¿Está seguro de que quiere desinstalar este complemento\?</string>
|
||||
<string name="verify_integrity">Verificar integridad</string>
|
||||
<string name="verifying">Verificando...</string>
|
||||
<string name="verify_success">¡La verificación de integridad ha sido un éxito!</string>
|
||||
|
|
@ -828,14 +824,14 @@
|
|||
|
||||
<!-- ROM loading errors -->
|
||||
<string name="loader_error_encrypted">Su ROM está encriptada</string>
|
||||
<string name="loader_error_encrypted_roms_description"><![CDATA[Siga las guías para volver a volcar sus <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-physical-titles-game-cards\">tarjetas de juego</a> o <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-digital-titles-eshop\">títulos digitales</a>.]]></string>
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[Por favor, compruebe que su archivo <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado, para que los juegos sean descifrados.]]></string>
|
||||
<string name="loader_error_encrypted_roms_description"><![CDATA[Siga las guías para volver a volcar sus <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-physical-titles-game-cards\">tarjetas de juego</a> o <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-digital-titles-eshop\">títulos instalados</a>.]]></string>
|
||||
<string name="loader_error_encrypted_keys_description"><![CDATA[Por favor, compruebe que su archivo <a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> está instalado, para que los juegos sean desencriptados.]]></string>
|
||||
<string name="loader_error_video_core">Ocurrió un error al inicializar el núcleo de video, posiblemente debido a una incompatibilidad con el driver seleccionado</string>
|
||||
<string name="loader_error_video_core_description">Esto suele deberse a un controlador de la GPU incompatible. La instalación de un controlador de la GPU personalizado puede resolver este problema.</string>
|
||||
<string name="loader_error_file_not_found">Archivo ROM no existe</string>
|
||||
|
||||
<string name="loader_requires_firmware">El juego requiere firmware</string>
|
||||
<string name="loader_requires_firmware_description"><![CDATA[El juego que intentas iniciar requiere firmware para arrancar o pasar el menú de inicio. Por favor <a href=\"https://yuzu-mirror.github.io/help/quickstart\"> vuelca e instala el firmware</a>, o pulsa \"Aceptar\" para continuar de todos modos.]]></string>
|
||||
<string name="loader_requires_firmware_description"><![CDATA[El juego que intenta iniciar requiere el firmware para arrancar o pasar el menú de inicio. Por favor <a href=\"https://yuzu-mirror.github.io/help/quickstart\"> vuelque e instale el firmware</a>, o pulse \"Aceptar\" para continuar de todos modos.]]></string>
|
||||
|
||||
<!-- Intent Launch strings -->
|
||||
<string name="searching_for_game">Buscando juego...</string>
|
||||
|
|
@ -1060,6 +1056,8 @@
|
|||
<string name="theme_material_you">Material You</string>
|
||||
<string name="app_settings">Configuración de la aplicación</string>
|
||||
<string name="theme_and_color">Tema y color</string>
|
||||
<string name="fullscreen_mode">Modo pantalla completa</string>
|
||||
<string name="fullscreen_mode_description">Ocultar las barras del sistema de Android. Desliza la pantalla desde una esquina para mostrarlas temporalmente.</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Cambiar modo del tema</string>
|
||||
|
|
@ -1090,7 +1088,7 @@
|
|||
<string name="blue">Azul</string>
|
||||
<string name="cyan">Cian</string>
|
||||
<string name="red">Rojo</string>
|
||||
<string name="green">Verde (Predeterminado)</string>
|
||||
<string name="green">Verde</string>
|
||||
<string name="yellow">Amarillo</string>
|
||||
<string name="orange">Naranja</string>
|
||||
<string name="pink">Rosa</string>
|
||||
|
|
@ -1119,7 +1117,7 @@
|
|||
<string name="airplane_mode">Modo avión</string>
|
||||
<string name="airplane_mode_description">Pasa el modo avión al sistema operativo Switch</string>
|
||||
|
||||
<string name="enable_overlay">Habilitar el Applet de superposición</string>
|
||||
<string name="enable_overlay">Habilitar el applet de superposición</string>
|
||||
<string name="enable_overlay_description">Activa el applet integrado superpuesto de Horizon. Mantenga pulsado el botón de inicio durante 1 segundo para que aparezca.</string>
|
||||
|
||||
<!-- Profile Management -->
|
||||
|
|
|
|||
|
|
@ -71,10 +71,6 @@
|
|||
<string name="uninstall_firmware_description">حذف فرمور آن را از دستگاه پاک میکند و ممکن است بر سازگاری بازیها تأثیر بگذارد</string>
|
||||
<string name="firmware_uninstalling">در حال حذف فرمور</string>
|
||||
<string name="firmware_uninstalled_success">فرمور با موفقیت حذف شد</string>
|
||||
<string name="provoking_vertex">رأس تحریککننده</string>
|
||||
<string name="provoking_vertex_description">نورپردازی و مدیریت رأس را در برخی بازیها بهبود میبخشد. فقط در کارتهای گرافیک با پشتیبانی از ولکان 1.0+ قابل استفاده است</string>
|
||||
<string name="descriptor_indexing">نمایهسازی توصیفگر</string>
|
||||
<string name="descriptor_indexing_description">مدیریت بافتها و بافرها و همچنین لایه ترجمه ماکسول را بهبود میبخشد. توسط برخی کارتهای گرافیک ولکان 1.1 و تمام کارتهای گرافیک ولکان 1.2+ پشتیبانی میشود</string>
|
||||
<string name="fast_gpu_time">فاکتور اورکلاک GPU</string>
|
||||
<string name="fast_gpu_time_description">برای حداکثر عملکرد از 128 و برای حداکثر وفاداری گرافیکی از 512 استفاده کنید.</string>
|
||||
<string name="fast_gpu_medium">متوسط (256)</string>
|
||||
|
|
|
|||
|
|
@ -275,8 +275,11 @@
|
|||
<string name="cpu_info">Informations sur le processeur central</string>
|
||||
<string name="gpu_information">Informations sur le processeur graphique</string>
|
||||
<string name="vulkan_driver_version">Version du pilote Vulkan</string>
|
||||
<string name="error_getting_emulator_info">Impossible d’obtenir les infos de l’émulateur</string>
|
||||
<string name="memory_info">Informations sur la mémoire</string>
|
||||
<string name="total_memory">Capacité totale de mémoire</string>
|
||||
<string name="soc">SOC:</string>
|
||||
|
||||
<string name="warning_help">Aide</string>
|
||||
<string name="warning">Avertissement</string>
|
||||
<string name="warning_skip">Sauter</string>
|
||||
|
|
@ -314,6 +317,9 @@
|
|||
<string name="share_log">Partager les logs de débogage</string>
|
||||
<string name="share_log_description">Partagez le fichier de log de Eden pour déboguer les problèmes.</string>
|
||||
<string name="share_log_missing">Aucun fichier de log trouvé</string>
|
||||
<string name="share_gpu_log">Partager les logs du GPU</string>
|
||||
<string name="share_gpu_log_description">Partage les logs du GPU générés par Eden afin de déboguer les problèmes graphiques.</string>
|
||||
<string name="share_gpu_log_missing">Aucun fichier de log du GPU trouvé,</string>
|
||||
<string name="install_game_content">Installer le contenu du jeu</string>
|
||||
<string name="install_game_content_description">Installer une mise à jour ou un DLC</string>
|
||||
<string name="installing_game_content">Installation du contenu en cours...</string>
|
||||
|
|
@ -369,7 +375,9 @@
|
|||
<string name="qlaunch_description">Lancer des applications depuis l\'écran d\'accueil du système</string>
|
||||
<string name="applets">Lanceur d\'applets</string>
|
||||
<string name="applets_description">Lancer des applets système en utilisant le firmware installé</string>
|
||||
<string name="applets_error_firmware">Aucun firmware installé</string>
|
||||
<string name="applets_error_applet">Applet non disponible</string>
|
||||
<string name="applets_error_description"><![CDATA[Veuillez vérifier que votre fichier<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-prodkeys-and-titlekeys\">prod.keys</a> et le<a href=\"https://yuzu-mirror.github.io/help/quickstart/#dumping-system-firmware\">firmware</a>sont installés et réessayez.]]></string>
|
||||
<string name="album_applet">Album</string>
|
||||
<string name="album_applet_description">Afficher les images stockées dans le dossier de captures d\'écran de l\'utilisateur avec le visualiseur de photos système.</string>
|
||||
<string name="mii_edit_applet">Éditeur Mii</string>
|
||||
|
|
@ -387,6 +395,7 @@
|
|||
<string name="copied_to_clipboard">Copié dans le presse-papier</string>
|
||||
<string name="about_app_description">Un émulateur Switch open source</string>
|
||||
<string name="contributors">Contributeurs</string>
|
||||
<string name="contributors_description">Les gens qui ont rendu possible Eden pour Android</string>
|
||||
<string name="licenses_description">Des projets qui rendent possible Eden pour Android</string>
|
||||
<string name="build">Build</string>
|
||||
<string name="user_data">Données utilisateur</string>
|
||||
|
|
@ -403,6 +412,8 @@
|
|||
<string name="frame_limit_enable_description">Limiter la vitesse d\'émulation à un pourcentage spécifié de la vitesse normale</string>
|
||||
<string name="frame_limit_slider">Limiter le pourcentage de vitesse</string>
|
||||
<string name="frame_limit_slider_description">Spécifier le pourcentage pour limiter la vitesse d\'émulation. 100% correspond à la vitesse normale. Des valeurs plus élevées ou plus basses augmenteront ou diminueront la limite de vitesse.</string>
|
||||
<string name="turbo_speed_limit">Vitesse turbo</string>
|
||||
<string name="slow_speed_limit">Vitesse lente</string>
|
||||
<string name="cpu_backend">Backend du CPU</string>
|
||||
<string name="cpu_accuracy">Précision du CPU</string>
|
||||
<string name="value_with_units">%1$s%2$s</string>
|
||||
|
|
@ -419,6 +430,9 @@
|
|||
<string name="use_custom_rtc_description">Vous permet de définir une horloge en temps réel personnalisée distincte de l\'heure actuelle de votre système.</string>
|
||||
<string name="set_custom_rtc">Définir l\'horloge RTC personnalisée</string>
|
||||
|
||||
<!-- CPU -->
|
||||
<string name="fast_cpu_time">Overclock du CPU</string>
|
||||
<string name="fast_cpu_time_description">Force le CPU émulé à fonctionner à une fréquence plus élevée, en contournant certaines limitations de FPS. Utilisez Boost (1700 MHz) pour atteindre la fréquence native maximale de la Nintendo Switch, ou Fast (2000 MHz) pour doubler la fréquence. C’est un “hack”. Certains chipsets moins puissants peuvent voir leurs performances réduites et les jeux peuvent se comporter différemment.</string>
|
||||
<string name="custom_cpu_ticks">Ticks CPU personnalisés</string>
|
||||
<string name="custom_cpu_ticks_description">Définissez une valeur personnalisée de ticks CPU. Des valeurs plus élevées peuvent améliorer les performances, mais peuvent aussi provoquer des gels du jeu. Une plage de 77 à 21000 est recommandée.</string>
|
||||
<string name="cpu_ticks">Ticks</string>
|
||||
|
|
@ -471,10 +485,6 @@
|
|||
<string name="disabled">Désactivé</string>
|
||||
<string name="vertex_input_dynamic_state">État dynamique d\'entrée de sommet</string>
|
||||
<string name="vertex_input_dynamic_state_description">Active la fonctionnalité d\'état dynamique des entrées de sommets pour une meilleure qualité et de meilleures performances.</string>
|
||||
<string name="provoking_vertex">Provoque des Vertex</string>
|
||||
<string name="provoking_vertex_description">Améliore l`éclairage et la gestion des vertex dans certains jeux. Pris en charge uniquement par les GPU Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Indexation des descripteurs</string>
|
||||
<string name="descriptor_indexing_description">Améliore la gestion des textures et des tampons, ainsi que la couche de traduction Maxwell. Pris en charge par certains GPU Vulkan 1.1 et tous les GPU Vulkan 1.2+.</string>
|
||||
<string name="display">Affichage</string>
|
||||
|
||||
<string name="renderer_screen_layout">Orientation</string>
|
||||
|
|
@ -897,7 +907,6 @@
|
|||
<string name="theme_material_you">Material You</string>
|
||||
<string name="app_settings">Paramètres de l’App</string>
|
||||
<string name="theme_and_color">Thème et Couleur</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Changer le mode de thème</string>
|
||||
<string name="theme_mode_follow_system">Automatique</string>
|
||||
|
|
|
|||
|
|
@ -390,10 +390,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">מקמפל שיידרים באופן אסינכרוני. זה עשוי להפחית קפיצות אך גם עלול לגרום לתקלות גרפיות.</string>
|
||||
<string name="dyna_state">מצב דינמי מורחב</string>
|
||||
<string name="disabled">מושבת</string>
|
||||
<string name="provoking_vertex">קודקוד מעורר</string>
|
||||
<string name="provoking_vertex_description">משפר תאורה וטיפול בקודקודים במשחקים מסוימים. נתמך רק בכרטיסי מסך עם Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">אינדוקס תיאורים</string>
|
||||
<string name="descriptor_indexing_description">משפר טיפול במרקמים ומאגרים, כמו גם בשכבת התרגום של Maxwell. נתמך בחלק מכרטיסי ה-Vulkan 1.1 ובכל כרטיסי ה-Vulkan 1.2+.</string>
|
||||
<string name="display">תצוגה</string>
|
||||
|
||||
<string name="renderer_screen_layout">כיוון</string>
|
||||
|
|
|
|||
|
|
@ -379,10 +379,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">A shaderek aszinkron fordítása. Csökkentheti a belassulásokat, de hibákat is okozhat.</string>
|
||||
<string name="dyna_state">Kiterjesztett Dinamikus Állapot</string>
|
||||
<string name="disabled">Letiltva</string>
|
||||
<string name="provoking_vertex">Provokáló csúcs</string>
|
||||
<string name="provoking_vertex_description">Javítja a világítást és a csúcskezelést bizonyos játékokban. Csak Vulkan 1.0+ GPU-kon támogatott.</string>
|
||||
<string name="descriptor_indexing">Deskriptor Indexelés</string>
|
||||
<string name="descriptor_indexing_description">Javítja a textúrák és pufferek kezelését, valamint a Maxwell fordítási réteget. Néhány Vulkan 1.1 GPU és minden Vulkan 1.2+ GPU támogatja.</string>
|
||||
<string name="display">Kijelző</string>
|
||||
|
||||
<string name="renderer_screen_layout">Orientáció</string>
|
||||
|
|
|
|||
|
|
@ -411,10 +411,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">Kompilasi shader secara asinkron. Ini dapat mengurangi lag tetapi juga dapat menyebabkan glitch.</string>
|
||||
<string name="dyna_state">Status Dinamis Ekstensi</string>
|
||||
<string name="disabled">Dinonaktifkan</string>
|
||||
<string name="provoking_vertex">Vertex Provokasi</string>
|
||||
<string name="provoking_vertex_description">Meningkatkan pencahayaan dan penanganan vertex di beberapa game. Hanya didukung di GPU Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Pengindeks Deskriptor</string>
|
||||
<string name="descriptor_indexing_description">Meningkatkan penanganan tekstur dan buffer, serta lapisan terjemahan Maxwell. Didukung oleh beberapa GPU Vulkan 1.1 dan semua GPU Vulkan 1.2+.</string>
|
||||
<string name="display">Tampilan</string>
|
||||
|
||||
<string name="renderer_screen_layout">Orientasi</string>
|
||||
|
|
|
|||
|
|
@ -418,10 +418,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">Compila gli shader in modo asincrono. Può ridurre gli scatti, ma può anche causare glitch grafici.</string>
|
||||
<string name="dyna_state">Stato dinamico esteso</string>
|
||||
<string name="disabled">Disabilitato</string>
|
||||
<string name="provoking_vertex">Vertice provocante</string>
|
||||
<string name="provoking_vertex_description">Migliora illuminazione e gestione dei vertici in alcuni giochi. Supportato solo su GPU Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Indicizzazione descrittori</string>
|
||||
<string name="descriptor_indexing_description">Migliora la gestione di texture e buffer, nonché il livello di traduzione Maxwell. Supportato da alcune GPU Vulkan 1.1 e tutte le GPU Vulkan 1.2+.</string>
|
||||
<string name="display">Schermo</string>
|
||||
|
||||
<string name="renderer_screen_layout">Orientamento</string>
|
||||
|
|
@ -844,7 +840,6 @@
|
|||
<string name="theme_material_you">Material You</string>
|
||||
<string name="app_settings">Impostazioni app</string>
|
||||
<string name="theme_and_color">Tema e colore</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Cambia la modalità del tema</string>
|
||||
<string name="theme_mode_follow_system">Segue il Sistema</string>
|
||||
|
|
|
|||
|
|
@ -377,10 +377,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">シェーダーを非同期でコンパイルします。これによりカクつきが減る可能性がありますが、グラフィックの不具合が発生する場合もあります。</string>
|
||||
<string name="dyna_state">拡張ダイナミックステート</string>
|
||||
<string name="disabled">無効</string>
|
||||
<string name="provoking_vertex">プロボーキング頂点</string>
|
||||
<string name="provoking_vertex_description">特定のゲームで照明と頂点処理を改善します。Vulkan 1.0+ GPUでのみサポートされています。</string>
|
||||
<string name="descriptor_indexing">ディスクリプタインデキシング</string>
|
||||
<string name="descriptor_indexing_description">テクスチャとバッファの処理、およびMaxwell翻訳レイヤーを改善します。一部のVulkan 1.1 GPUとすべてのVulkan 1.2+ GPUでサポートされています。</string>
|
||||
<string name="display">ディスプレイ</string>
|
||||
|
||||
<string name="renderer_screen_layout">画面の向き</string>
|
||||
|
|
|
|||
|
|
@ -377,10 +377,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">셰이더를 비동기적으로 컴파일합니다. 이로 인해 끊김 현상이 줄어들 수 있지만 그래픽 오류가 발생할 수도 있습니다.</string>
|
||||
<string name="dyna_state">확장 동적 상태</string>
|
||||
<string name="disabled">비활성화됨</string>
|
||||
<string name="provoking_vertex">프로보킹 버텍스</string>
|
||||
<string name="provoking_vertex_description">일부 게임에서 조명과 버텍스 처리를 개선합니다. Vulkan 1.0+ GPU에서만 지원됩니다.</string>
|
||||
<string name="descriptor_indexing">디스크립터 인덱싱</string>
|
||||
<string name="descriptor_indexing_description">텍스처 및 버퍼 처리와 Maxwell 변환 레이어를 개선합니다. 일부 Vulkan 1.1 GPU 및 모든 Vulkan 1.2+ GPU에서 지원됩니다.</string>
|
||||
<string name="display">디스플레이</string>
|
||||
|
||||
<string name="renderer_screen_layout">화면 방향</string>
|
||||
|
|
|
|||
|
|
@ -360,10 +360,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">Kompilerer shadere asynkront. Dette kan redusere rykk, men kan også forårsake grafiske feil.</string>
|
||||
<string name="dyna_state">Utvidet dynamisk tilstand</string>
|
||||
<string name="disabled">Deaktivert</string>
|
||||
<string name="provoking_vertex">Provoserende vertex</string>
|
||||
<string name="provoking_vertex_description">Forbedrer belysning og vertexhåndtering i enkelte spill. Støttes kun på Vulkan 1.0+ GPU-er.</string>
|
||||
<string name="descriptor_indexing">Beskrivelsesindeksering</string>
|
||||
<string name="descriptor_indexing_description">Forbedrer tekstur- og bufferhåndtering, samt Maxwell-oversettelseslaget. Støttes av noen Vulkan 1.1 GPU-er og alle Vulkan 1.2+ GPU-er.</string>
|
||||
<string name="display">Skjerm</string>
|
||||
|
||||
<string name="renderer_screen_layout">Orientering</string>
|
||||
|
|
|
|||
|
|
@ -484,10 +484,6 @@
|
|||
<string name="disabled">Wyłączone</string>
|
||||
<string name="vertex_input_dynamic_state">Dynamiczny stan wejścia wierzchołków</string>
|
||||
<string name="vertex_input_dynamic_state_description">Włącza funkcję dynamicznego stanu wejścia wierzchołków, poprawiając jakość i wydajność.</string>
|
||||
<string name="provoking_vertex">Wierzchołek prowokujący</string>
|
||||
<string name="provoking_vertex_description">Poprawia oświetlenie i obsługę wierzchołków w niektórych grach. Obsługiwane tylko przez GPU Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Indeksowanie deskryptorów</string>
|
||||
<string name="descriptor_indexing_description">Poprawia obsługę tekstur i buforów oraz warstwę tłumaczenia Maxwell. Obsługiwane przez niektóre GPU Vulkan 1.1 i wszystkie GPU Vulkan 1.2+.</string>
|
||||
<string name="sample_shading_fraction">Cieniowanie próbkowane</string>
|
||||
<string name="sample_shading_fraction_description">Pozwala uruchamiać shader fragmentów dla każdej próbki w wielopróbkowanym fragmencie zamiast raz na fragment. Poprawia jakość grafiki kosztem części wydajności.</string>
|
||||
|
||||
|
|
@ -960,7 +956,6 @@
|
|||
<string name="theme_material_you">Material You</string>
|
||||
<string name="app_settings">Ustawienia aplikacji</string>
|
||||
<string name="theme_and_color">Motyw i kolor</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Zmień tryb motywu</string>
|
||||
<string name="theme_mode_follow_system">Podążaj za systemowym</string>
|
||||
|
|
|
|||
|
|
@ -467,10 +467,6 @@
|
|||
<string name="disabled">Desativado</string>
|
||||
<string name="vertex_input_dynamic_state">Vertex Input Dynamic State</string>
|
||||
<string name="vertex_input_dynamic_state_description">Ativa o recurso de vertex input dynamic state para melhor qualidade e desempenho.</string>
|
||||
<string name="provoking_vertex">Provoking Vertex</string>
|
||||
<string name="provoking_vertex_description">Vértice Provocante: Melhora a iluminação e o processamento de vértices em certos jogos. Suportado apenas em GPUs com Vulkan 1.0 ou superior.</string>
|
||||
<string name="descriptor_indexing">Descriptor Indexing</string>
|
||||
<string name="descriptor_indexing_description">Indexação de Descritores: Melhora o processamento de texturas e buffers, assim como a camada de tradução Maxwell. Suportado por algumas GPUs Vulkan 1.1 e todas as GPUs Vulkan 1.2 ou superiores.</string>
|
||||
<string name="display">Tela</string>
|
||||
|
||||
<string name="renderer_screen_layout">Orientação</string>
|
||||
|
|
@ -905,7 +901,6 @@
|
|||
<string name="theme_material_you">Material You</string>
|
||||
<string name="app_settings">Configurações do App</string>
|
||||
<string name="theme_and_color">Tema e Cores</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Alterar o tema</string>
|
||||
<string name="theme_mode_follow_system">Igual ao Sistema</string>
|
||||
|
|
|
|||
|
|
@ -383,10 +383,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">Compila shaders de forma assíncrona. Isto pode reduzir engasgadelas, mas também pode introduzir falhas gráficas.</string>
|
||||
<string name="dyna_state">Estado Dinâmico Estendido</string>
|
||||
<string name="disabled">Desativado</string>
|
||||
<string name="provoking_vertex">Vértice provocante</string>
|
||||
<string name="provoking_vertex_description">Melhora a iluminação e o tratamento de vértices em certos jogos. Suportado apenas em GPUs Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Indexação de descritores</string>
|
||||
<string name="descriptor_indexing_description">Melhora o tratamento de texturas e buffers, assim como a camada de tradução Maxwell. Suportado por algumas GPUs Vulkan 1.1 e todas Vulkan 1.2+.</string>
|
||||
<string name="display">Ecrã</string>
|
||||
|
||||
<string name="renderer_screen_layout">Oriantação</string>
|
||||
|
|
|
|||
|
|
@ -352,7 +352,7 @@
|
|||
<item quantity="many">Импортировано %d сохранений</item>
|
||||
<item quantity="other">Импортировано %d сохранений</item>
|
||||
</plurals>
|
||||
<string name="no_save_data_found">Не найдены сохраненмия</string>
|
||||
<string name="no_save_data_found">Файлы сохранений не найдены</string>
|
||||
<string name="verify_installed_content">Подтвердить установленный контент</string>
|
||||
<string name="verify_installed_content_description">Проверяет весь установленный контент на наличие повреждений</string>
|
||||
|
||||
|
|
@ -361,7 +361,7 @@
|
|||
<string name="keys_missing_help">https://yuzu-mirror.github.io/help/quickstart/#dumping-decryption-keys</string>
|
||||
|
||||
<string name="uninstall_firmware">Удалить прошивку</string>
|
||||
<string name="uninstall_firmware_description">Удаление прошивки сотрет ее с устройства и может повлиять на совместимость игр.</string>
|
||||
<string name="uninstall_firmware_description">Удаление прошивки сотрёт её с устройства и может повлиять на совместимость игр.</string>
|
||||
<string name="firmware_uninstalling">Удаление прошивки...</string>
|
||||
<string name="firmware_uninstalled_success">Прошивка успешно удалена</string>
|
||||
|
||||
|
|
@ -397,6 +397,7 @@
|
|||
<string name="copied_to_clipboard">Скопировано в буфер обмена</string>
|
||||
<string name="about_app_description">Эмулятор Switch с открытым исходным кодом</string>
|
||||
<string name="contributors">Контрибьюторы</string>
|
||||
<string name="contributors_description">Люди, благодаря которым появился Eden для Android</string>
|
||||
<string name="licenses_description">Проекты, которые сделали Eden для Android возможным</string>
|
||||
<string name="build">Сборка</string>
|
||||
<string name="user_data">Данные пользователя</string>
|
||||
|
|
@ -481,7 +482,7 @@
|
|||
<string name="sync_memory_operations_description">Обеспечивает согласованность данных между вычислительными операциями и операциями с памятью. Эта опция должна исправлять проблемы в некоторых играх, но может снижать производительность в некоторых случаях. Наиболее сильно это затрагивает игры на Unreal Engine 4.</string>
|
||||
<string name="use_disk_shader_cache">Кэш шейдеров на диске</string>
|
||||
<string name="use_disk_shader_cache_description">Уменьшение зависаний за счет хранения и загрузки сгенерированных шейдеров.</string>
|
||||
<string name="renderer_force_max_clock">Принудительно заставить максимальную тактовую частоту (только для Adreno)</string>
|
||||
<string name="renderer_force_max_clock">Принудительная максимальная тактовая частота (только для Adreno)</string>
|
||||
<string name="renderer_force_max_clock_description">Заставляет ГПУ работать на максимально возможных тактовых частотах (тепловые ограничения все равно будут применяться).</string>
|
||||
<string name="renderer_reactive_flushing">Реактивная очистка</string>
|
||||
<string name="renderer_reactive_flushing_description">Повышение точности рендеринга в некоторых играх за счет снижения производительности.</string>
|
||||
|
|
@ -520,10 +521,6 @@
|
|||
<string name="disabled">Отключено</string>
|
||||
<string name="vertex_input_dynamic_state">Динамическое состояние ввода вершин</string>
|
||||
<string name="vertex_input_dynamic_state_description">Включает функцию динамического состояния ввода вершин для повышения качества и производительности</string>
|
||||
<string name="provoking_vertex">Определяющая вершина</string>
|
||||
<string name="provoking_vertex_description">Улучшает освещение и обработку вершин в некоторых играх. Поддерживается только ГПУ с Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Индексирование дескрипторов</string>
|
||||
<string name="descriptor_indexing_description">Улучшает обработку текстур и буферов, а также слой перевода Maxwell. Поддерживается некоторыми ГПУ Vulkan 1.1 и всеми ГПУ Vulkan 1.2+.</string>
|
||||
<string name="sample_shading_fraction">Сэмпловое затенение</string>
|
||||
<string name="sample_shading_fraction_description">Позволяет шейдеру фрагментов выполняться для каждого сэмпла в многосэмпловом фрагменте, а не один раз на фрагмент. Улучшает качество графики ценой некоторого падения производительности.</string>
|
||||
|
||||
|
|
@ -1061,6 +1058,8 @@
|
|||
<string name="theme_material_you">Material You</string>
|
||||
<string name="app_settings">Настройки приложения</string>
|
||||
<string name="theme_and_color">Тема и цвет</string>
|
||||
<string name="fullscreen_mode">Полноэкранный режим</string>
|
||||
<string name="fullscreen_mode_description">Скрывать системные панели Android на всех экранах приложения. Проведите от края экрана, чтобы временно отобразить их</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Сменить режим темы</string>
|
||||
|
|
@ -1090,7 +1089,7 @@
|
|||
<string name="blue">Синий</string>
|
||||
<string name="cyan">Циановый</string>
|
||||
<string name="red">Красный</string>
|
||||
<string name="green">Зелёный (По умолчанию)</string>
|
||||
<string name="green">Зелёный</string>
|
||||
<string name="yellow">Жёлтый</string>
|
||||
<string name="orange">Оранжевый</string>
|
||||
<string name="pink">Розовый</string>
|
||||
|
|
@ -1116,8 +1115,8 @@
|
|||
|
||||
<string name="swkbd_applet">Программная клавиатура</string>
|
||||
|
||||
<string name="airplane_mode">Режим полета</string>
|
||||
<string name="airplane_mode_description">Передает режим полета в ОС Switch</string>
|
||||
<string name="airplane_mode">Режим полёта</string>
|
||||
<string name="airplane_mode_description">Передаёт режим полёта в ОС Switch</string>
|
||||
|
||||
<string name="enable_overlay">Включить апплет-оверлей</string>
|
||||
<string name="enable_overlay_description">Активирует встроенный в Horizon оверлейный апплет. Для его отображения нажмите и удерживайте кнопку «HOME» в течение одной секунды.</string>
|
||||
|
|
|
|||
|
|
@ -382,10 +382,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">Саставља схадера асинхроно. Ово може умањити затезаче, али могу такође да уведе пропусте.</string>
|
||||
<string name="dyna_state">Проширена динамичка држава</string>
|
||||
<string name="disabled">Искључено</string>
|
||||
<string name="provoking_vertex">Провоцирајући врх</string>
|
||||
<string name="provoking_vertex_description">Побољшава осветљење и вертификат руковања у одређеним играма. Подржан само на Вулкану 1.0+ ГПУ-у.</string>
|
||||
<string name="descriptor_indexing">Индексирање дескриптора</string>
|
||||
<string name="descriptor_indexing_description">Побољшава текстуру и руковање међуспремника, као и преводилачки слој Маквелл. Подржани од стране неких Вулкана 1.1 ГПУ-а и сви Вулкан 1.2+ ГПУ.</string>
|
||||
<string name="display">Приказ</string>
|
||||
|
||||
<string name="renderer_screen_layout">Оријентација</string>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<!-- Spinbox strings -->
|
||||
<string name="increment">Збільшення</string>
|
||||
<string name="decrement">Зменшення</string>
|
||||
<string name="value_too_low">Значення повинно бути щонайменше %1$d</string>
|
||||
<string name="value_too_low">Значення повинно бути не менше %1$d</string>
|
||||
<string name="value_too_high">Значення повинно бути не більше %1$d</string>
|
||||
<string name="invalid_value">Неправильне значення</string>
|
||||
|
||||
|
|
@ -521,10 +521,6 @@
|
|||
<string name="disabled">Вимкнено</string>
|
||||
<string name="vertex_input_dynamic_state">Динамічний стан введення вершин</string>
|
||||
<string name="vertex_input_dynamic_state_description">Вмикає можливість динамічного стану введення вершин для кращих якості й продуктивності.</string>
|
||||
<string name="provoking_vertex">Провокативна вершина</string>
|
||||
<string name="provoking_vertex_description">Покращує освітлення та взаємодію з вершинами у деяких іграх. Лише для ГП з підтримкою Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Індексація дескрипторів</string>
|
||||
<string name="descriptor_indexing_description">Покращує обробку текстур та буферів, а також шар перекладу Maxwell. Підтримується деякими GPU Vulkan 1.1 та всіма GPU Vulkan 1.2+.</string>
|
||||
<string name="sample_shading_fraction">Простий шейдинг</string>
|
||||
<string name="sample_shading_fraction_description">Дозволяє виконувати фрагмент шейдера для кожного зразка в багатозразковому фрагменті замість одного разу для кожного фрагмента. Покращує якість графікі ціною втрати продуктивності.</string>
|
||||
|
||||
|
|
@ -1062,6 +1058,8 @@
|
|||
<string name="theme_material_you">Material You</string>
|
||||
<string name="app_settings">Налаштування застосунку</string>
|
||||
<string name="theme_and_color">Тема і колір</string>
|
||||
<string name="fullscreen_mode">Повноекранний режим</string>
|
||||
<string name="fullscreen_mode_description">Приховати системні панелі Android у застосунку. Проведіть пальцем від краю екрана, щоб показати їх на короткий час.</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">Змінити режим теми</string>
|
||||
|
|
@ -1092,7 +1090,7 @@
|
|||
<string name="blue">Синій</string>
|
||||
<string name="cyan">Блакитний</string>
|
||||
<string name="red">Червоний</string>
|
||||
<string name="green">Зелений (стандартний)</string>
|
||||
<string name="green">Зелений</string>
|
||||
<string name="yellow">Жовтий</string>
|
||||
<string name="orange">Помаранчевий</string>
|
||||
<string name="pink">Рожевий</string>
|
||||
|
|
|
|||
|
|
@ -358,10 +358,6 @@
|
|||
<string name="renderer_asynchronous_shaders_description">Biên dịch shader không đồng bộ. Điều này có thể giảm giật lag nhưng cũng có thể gây ra lỗi đồ họa.</string>
|
||||
<string name="dyna_state">Trạng thái động mở rộng</string>
|
||||
<string name="disabled">Đã tắt</string>
|
||||
<string name="provoking_vertex">Đỉnh kích hoạt</string>
|
||||
<string name="provoking_vertex_description">Cải thiện ánh sáng và xử lý đỉnh trong một số trò chơi. Chỉ được hỗ trợ trên GPU Vulkan 1.0+.</string>
|
||||
<string name="descriptor_indexing">Lập chỉ mục bộ mô tả</string>
|
||||
<string name="descriptor_indexing_description">Cải thiện xử lý kết cấu và bộ đệm, cũng như lớp dịch Maxwell. Được hỗ trợ bởi một số GPU Vulkan 1.1 và tất cả GPU Vulkan 1.2+.</string>
|
||||
<string name="display">Hiển thị</string>
|
||||
|
||||
<string name="renderer_screen_layout">Hướng màn hình</string>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
|
||||
<string name="app_disclaimer">此软件可以运行Nintendo Switch游戏机的游戏,但本身并不自带任何游戏或密钥。<br /><br />开始之前,请先选择<![CDATA[<b>密钥文件(prod.keys)</b>]]>。<br /><br /><![CDATA[<a href=\"https://yuzu-mirror.github.io/help/quickstart\">详情</a>]]></string>
|
||||
<string name="notice_notification_channel_name">通知及错误提醒</string>
|
||||
<string name="app_disclaimer">本软件可以运行Nintendo Switch游戏主机的游戏,但自身并不包含任何游戏或密钥。<br /><br />请于开始之前选定位于你的设备存储空间中的<![CDATA[<b>prod.keys</b>]]>。<br /><br /><![CDATA[<a href=\"https://yuzu-mirror.github.io/help/quickstart\">了解更多</a>]]></string>
|
||||
<string name="notice_notification_channel_name">错误与注意事项</string>
|
||||
<string name="notice_notification_channel_description">当发生错误时显示通知。</string>
|
||||
<string name="notification_permission_not_granted">未授予通知权限!</string>
|
||||
<string name="app_notification_channel_description">Eden模拟器通知</string>
|
||||
|
|
@ -12,36 +12,36 @@
|
|||
<!-- Spinbox strings -->
|
||||
<string name="increment">增加</string>
|
||||
<string name="decrement">减少</string>
|
||||
<string name="value_too_low">值必须最小为 %1$d</string>
|
||||
<string name="value_too_high">值最大必须为 %1$d</string>
|
||||
<string name="value_too_low">此值至少应为 %1$d</string>
|
||||
<string name="value_too_high">此值至多应为 %1$d</string>
|
||||
<string name="invalid_value">无效的值</string>
|
||||
|
||||
<string name="using_per_game_config">使用针对特定游戏的配置</string>
|
||||
<string name="using_per_game_config">使用各别游戏配置</string>
|
||||
|
||||
<!-- Input Overlay -->
|
||||
<string name="show_input_overlay">虚拟按键输入</string>
|
||||
<string name="show_input_overlay_description">在模拟过程中显示触摸控制覆盖</string>
|
||||
<string name="overlay_snap_to_grid">截图到网格</string>
|
||||
<string name="overlay_snap_to_grid_description">编辑时将叠加控件吸附到网格</string>
|
||||
<string name="overlay_grid_size">网格大小</string>
|
||||
<string name="overlay_grid_size_description">网格单元的大小(以像素为单位)</string>
|
||||
<string name="input_overlay_behavior">平衡</string>
|
||||
<string name="overlay_auto_hide">自动隐藏虚拟按键</string>
|
||||
<string name="overlay_auto_hide_description">在指定的时间间隔后自动隐藏触摸控制覆盖层。</string>
|
||||
<string name="enable_input_overlay_auto_hide">开启自动隐藏虚拟按键</string>
|
||||
<string name="hide_overlay_on_controller_input">使用控制器时自动隐藏虚拟输入</string>
|
||||
<string name="hide_overlay_on_controller_input_description">在使用控制器自动隐藏虚拟输入,当控制器断开会自动再现。</string>
|
||||
<string name="invert_confirm_back_controller_buttons">反转 确认/返回 手柄按钮</string>
|
||||
<string name="invert_confirm_back_controller_buttons_description">在使用应用界面时,将安卓确认和返回按钮的作切换到 Switch 和 Xbox 的样式。</string>
|
||||
<string name="show_input_overlay">显示输入叠加层</string>
|
||||
<string name="show_input_overlay_description">在游戏模拟期间显示触控叠加层</string>
|
||||
<string name="overlay_snap_to_grid">对齐到网格</string>
|
||||
<string name="overlay_snap_to_grid_description">在编辑时将叠加层控件对齐到网格</string>
|
||||
<string name="overlay_grid_size">网格尺寸</string>
|
||||
<string name="overlay_grid_size_description">网格单元像素单位尺寸</string>
|
||||
<string name="input_overlay_behavior">行为</string>
|
||||
<string name="overlay_auto_hide">触控叠加层自动隐藏</string>
|
||||
<string name="overlay_auto_hide_description">在指定时间内未进行任何操作后,自动隐藏触控叠加层。</string>
|
||||
<string name="enable_input_overlay_auto_hide">启用触控叠加层自动隐藏</string>
|
||||
<string name="hide_overlay_on_controller_input">使用控制器时隐藏触控叠加层</string>
|
||||
<string name="hide_overlay_on_controller_input_description">在使用实体控制器时自动隐藏触控叠加层,而当控制器断开时触控叠加层则会重新显现。</string>
|
||||
<string name="invert_confirm_back_controller_buttons">切换“确认/返回”控制器按钮功能</string>
|
||||
<string name="invert_confirm_back_controller_buttons_description">在与本应用的界面交互时,交换 Android 的“确认”与“返回”按钮的处理方式,以匹配 Switch 和 Xbox 的风格。</string>
|
||||
|
||||
<string name="input_overlay_options">虚拟按键输入</string>
|
||||
<string name="input_overlay_options_description">配置虚拟按键</string>
|
||||
<string name="edit_overlay_layout">编辑虚拟按键</string>
|
||||
<string name="edit_overlay_layout_description">调整屏幕控件的的位置和大小</string>
|
||||
<string name="input_overlay_options">输入叠加层</string>
|
||||
<string name="input_overlay_options_description">配置屏上控件</string>
|
||||
<string name="edit_overlay_layout">编辑触控叠加层布局</string>
|
||||
<string name="edit_overlay_layout_description">调整屏上控件的的位置和大小</string>
|
||||
|
||||
|
||||
<!-- Stats Overlay settings -->
|
||||
<string name="process_ram">进程内存: %1$d MB</string>
|
||||
<string name="process_ram">进程内存占用: %1$d MB</string>
|
||||
<string name="shaders_prefix">正在编译</string>
|
||||
<string name="shaders_suffix">着色器</string>
|
||||
<string name="charging">(充电中)</string>
|
||||
|
|
@ -51,31 +51,31 @@
|
|||
<string name="stats_overlay_customization">自定义</string>
|
||||
<string name="stats_overlay_items">显示项</string>
|
||||
<string name="stats_overlay_options">悬浮窗</string>
|
||||
<string name="enable_stats_overlay_">启用性能统计悬浮窗</string>
|
||||
<string name="stats_overlay_options_description">配置悬浮窗中显示的性能信息</string>
|
||||
<string name="enable_stats_overlay_">启用性能统计叠加层</string>
|
||||
<string name="stats_overlay_options_description">配置性能统计叠加层中显示的信息</string>
|
||||
<string name="show_fps">显示帧率</string>
|
||||
<string name="show_fps_description">显示当前帧率(FPS)</string>
|
||||
<string name="show_fps_description">显示当前帧率</string>
|
||||
<string name="show_frametime">显示帧时间</string>
|
||||
<string name="show_app_ram_usage">显示应用内存占用</string>
|
||||
<string name="show_app_ram_usage_description">显示模拟器正在使用的内存量</string>
|
||||
<string name="show_system_ram_usage">显示系统内存占用</string>
|
||||
<string name="show_system_ram_usage_description">显示系统使用的内存量</string>
|
||||
<string name="show_app_ram_usage">显示应用内存使用情况</string>
|
||||
<string name="show_app_ram_usage_description">显示模拟器内存用量</string>
|
||||
<string name="show_system_ram_usage">显示系统内存使用情况</string>
|
||||
<string name="show_system_ram_usage_description">显示系统内存用量</string>
|
||||
<string name="show_bat_temperature">显示电池温度</string>
|
||||
<string name="bat_temperature_unit">电池温度单位</string>
|
||||
<string name="show_power_info">显示电池信息</string>
|
||||
<string name="show_power_info_description">显示当前功耗和电池剩余容量</string>
|
||||
<string name="show_shaders_building">显示着色器构建</string>
|
||||
<string name="show_shaders_building_description">显示当前正在构建的着色器数量</string>
|
||||
<string name="overlay_position">悬浮窗位置</string>
|
||||
<string name="overlay_position_description">选择悬浮窗在屏幕上的显示位置</string>
|
||||
<string name="show_shaders_building">显示着色器编译信息</string>
|
||||
<string name="show_shaders_building_description">显示当前正在编译的着色器数量</string>
|
||||
<string name="overlay_position">叠加层位置</string>
|
||||
<string name="overlay_position_description">选择叠加层在屏幕上显示的位置</string>
|
||||
<string name="overlay_position_top_left">左上</string>
|
||||
<string name="overlay_position_top_right">右上</string>
|
||||
<string name="overlay_position_bottom_left">左下</string>
|
||||
<string name="overlay_position_bottom_right">右下</string>
|
||||
<string name="overlay_position_center_top">顶部居中</string>
|
||||
<string name="overlay_position_center_bottom">底部居中</string>
|
||||
<string name="perf_overlay_background">悬浮窗背景</string>
|
||||
<string name="perf_overlay_background_description">为悬浮窗添加背景以提高可读性</string>
|
||||
<string name="perf_overlay_background">叠加层背景</string>
|
||||
<string name="perf_overlay_background_description">为叠加层添加背景以提高可读性</string>
|
||||
|
||||
<!-- Device Overlay settings -->
|
||||
<string name="show_soc_overlay">显示设备信息叠加层</string>
|
||||
|
|
@ -391,6 +391,7 @@
|
|||
<string name="copied_to_clipboard">已复制到剪贴板</string>
|
||||
<string name="about_app_description">一款开源的 Switch 模拟器</string>
|
||||
<string name="contributors">贡献者</string>
|
||||
<string name="contributors_description">Eden Android 版的诞生离不开这些人的支持</string>
|
||||
<string name="licenses_description">Android 版 Eden 离不开这些项目的支持</string>
|
||||
<string name="build">构建版本</string>
|
||||
<string name="user_data">用户数据</string>
|
||||
|
|
@ -514,10 +515,6 @@
|
|||
<string name="disabled">已禁用</string>
|
||||
<string name="vertex_input_dynamic_state">顶点输入动态状态</string>
|
||||
<string name="vertex_input_dynamic_state_description">开启顶点输入动态状态功能来获得更好的质量和性能。</string>
|
||||
<string name="provoking_vertex">引发顶点</string>
|
||||
<string name="provoking_vertex_description">改善某些游戏中的光照和顶点处理。仅支持Vulkan 1.0+ GPU。</string>
|
||||
<string name="descriptor_indexing">描述符索引</string>
|
||||
<string name="descriptor_indexing_description">改进纹理和缓冲区处理以及Maxwell转换层。部分Vulkan 1.1 GPU和所有Vulkan 1.2+ GPU支持。</string>
|
||||
<string name="sample_shading_fraction">采样着色</string>
|
||||
<string name="sample_shading_fraction_description">允许片段着色器在多采样片段中每个样本执行一次,而不是每个片段执行一次。以提高性能为代价改善图形质量。</string>
|
||||
|
||||
|
|
@ -628,7 +625,7 @@
|
|||
<string name="toggle_axis">切换轴</string>
|
||||
<string name="connected">已连接</string>
|
||||
<string name="use_system_vibrator">使用系统马达</string>
|
||||
<string name="input_overlay">虚拟按键输入</string>
|
||||
<string name="input_overlay">输入叠加层</string>
|
||||
<string name="vibration">震动</string>
|
||||
<string name="vibration_strength">震动强度</string>
|
||||
<string name="profile">用户配置</string>
|
||||
|
|
@ -876,19 +873,19 @@
|
|||
<string name="emulation_show_overlay">显示控制器</string>
|
||||
<string name="emulation_hide_overlay">隐藏控制器</string>
|
||||
<string name="emulation_toggle_all">全部切换</string>
|
||||
<string name="emulation_control_adjust">调整虚拟按键</string>
|
||||
<string name="emulation_control_adjust">调整触控叠加层</string>
|
||||
<string name="emulation_control_scale">缩放</string>
|
||||
<string name="emulation_control_opacity">不透明度</string>
|
||||
<string name="emulation_touch_overlay_reset">重置虚拟按键</string>
|
||||
<string name="emulation_touch_overlay_edit">编辑虚拟按键</string>
|
||||
<string name="emulation_touch_overlay_reset">重置触控叠加层</string>
|
||||
<string name="emulation_touch_overlay_edit">编辑触控叠加层</string>
|
||||
<string name="emulation_snap_to_grid">截图到网格</string>
|
||||
<string name="emulation_pause">暂停模拟</string>
|
||||
<string name="emulation_unpause">继续模拟</string>
|
||||
<string name="emulation_input_overlay">虚拟按键选项</string>
|
||||
<string name="emulation_input_overlay">触控叠加层选项</string>
|
||||
<string name="load_amiibo">加载 Amiibo</string>
|
||||
<string name="touchscreen">触摸屏</string>
|
||||
<string name="lock_drawer">锁定侧边菜单</string>
|
||||
<string name="unlock_drawer">解锁侧边菜单</string>
|
||||
<string name="lock_drawer">锁定侧边栏</string>
|
||||
<string name="unlock_drawer">解锁侧边栏</string>
|
||||
<string name="reset">重置</string>
|
||||
|
||||
<!-- Amiibo -->
|
||||
|
|
@ -902,7 +899,7 @@
|
|||
|
||||
|
||||
<!-- Software keyboard -->
|
||||
<string name="software_keyboard">软件键盘</string>
|
||||
<string name="software_keyboard">软键盘</string>
|
||||
|
||||
<!-- Errors and warnings -->
|
||||
<string name="abort_button">中止</string>
|
||||
|
|
@ -913,7 +910,7 @@
|
|||
<string name="save_load_error">保存/载入发生错误</string>
|
||||
<string name="fatal_error">致命错误</string>
|
||||
<string name="fatal_error_message">发生致命错误。请查阅日志获取详细信息。\n继续模拟可能会导致崩溃。</string>
|
||||
<string name="device_memory_inadequate">设备RAM:%1$s\n建议:%2$s</string>
|
||||
<string name="device_memory_inadequate">设备内存:%1$s\n建议:%2$s</string>
|
||||
<string name="memory_formatted">%1$s%2$s</string>
|
||||
<string name="no_game_present">当前没有可启动的游戏!</string>
|
||||
|
||||
|
|
@ -924,7 +921,7 @@
|
|||
<string name="region_australia">澳大利亚</string>
|
||||
<string name="region_china">中国</string>
|
||||
<string name="region_korea">韩国</string>
|
||||
<string name="region_taiwan">台湾地区</string>
|
||||
<string name="region_taiwan">台湾</string>
|
||||
|
||||
<!-- Memory Layouts -->
|
||||
<string name="memory_4gb">4GB (推荐)</string>
|
||||
|
|
@ -941,21 +938,21 @@
|
|||
<string name="fast_gpu_high">高 (512)</string>
|
||||
|
||||
<!-- GPU swizzle texture size -->
|
||||
<string name="gpu_texturesizeswizzle_verysmall">很小 (16 MB)</string>
|
||||
<string name="gpu_texturesizeswizzle_verysmall">极小 (16 MB)</string>
|
||||
<string name="gpu_texturesizeswizzle_small">较小 (32 MB)</string>
|
||||
<string name="gpu_texturesizeswizzle_normal">正常 (128 MB)</string>
|
||||
<string name="gpu_texturesizeswizzle_large">较大 (256 MB)</string>
|
||||
<string name="gpu_texturesizeswizzle_verylarge">很大 (512 MB)</string>
|
||||
<string name="gpu_texturesizeswizzle_verylarge">极大 (512 MB)</string>
|
||||
|
||||
<!-- GPU swizzle streams -->
|
||||
<string name="gpu_swizzle_verylow">很低 (4 MB)</string>
|
||||
<string name="gpu_swizzle_verylow">极低 (4 MB)</string>
|
||||
<string name="gpu_swizzle_low">低 (8 MB)</string>
|
||||
<string name="gpu_swizzle_normal">正常 (16 MB)</string>
|
||||
<string name="gpu_swizzle_medium">中 (32 MB)</string>
|
||||
<string name="gpu_swizzle_high">高 (64 MB)</string>
|
||||
|
||||
<!-- GPU swizzle chunks -->
|
||||
<string name="gpu_swizzlechunk_verylow">很低 (32)</string>
|
||||
<string name="gpu_swizzlechunk_verylow">极低 (32)</string>
|
||||
<string name="gpu_swizzlechunk_low">低 (64)</string>
|
||||
<string name="gpu_swizzlechunk_normal">正常 (128)</string>
|
||||
<string name="gpu_swizzlechunk_medium">中 (256)</string>
|
||||
|
|
@ -1053,8 +1050,10 @@
|
|||
<string name="change_app_theme">切换主题</string>
|
||||
<string name="theme_default">系统默认</string>
|
||||
<string name="theme_material_you">Material You</string>
|
||||
<string name="app_settings">App 设置</string>
|
||||
<string name="app_settings">应用设置</string>
|
||||
<string name="theme_and_color">主题与颜色</string>
|
||||
<string name="fullscreen_mode">全屏模式</string>
|
||||
<string name="fullscreen_mode_description">于应用中隐藏 Android 系统栏,若要短暂显示只需从屏幕边缘向内滑动即可。</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">更改主题模式</string>
|
||||
|
|
@ -1075,16 +1074,17 @@
|
|||
<string name="enable_qlaunch_button_description">显示启动 QLaunch 的按钮</string>
|
||||
|
||||
<!-- App Language -->
|
||||
<string name="app_language">App 语言</string>
|
||||
<string name="app_language_description">更改 app 界面的语言</string>
|
||||
<string name="app_language">应用使用的语言</string>
|
||||
<string name="app_language_description">更改应用界面语言</string>
|
||||
<string name="app_language_system">跟随系统</string>
|
||||
<!-- Static Themes -->
|
||||
<string name="static_theme_color">主题颜色</string>
|
||||
<string name="eden_theme">Eden</string>
|
||||
<string name="violet">紫色(默认)</string>
|
||||
<string name="violet">紫色</string>
|
||||
<string name="blue">蓝色</string>
|
||||
<string name="cyan">青色</string>
|
||||
<string name="red">红色</string>
|
||||
<string name="green">绿色</string>
|
||||
<string name="yellow">黄色</string>
|
||||
<string name="orange">橙色</string>
|
||||
<string name="pink">粉色</string>
|
||||
|
|
@ -1108,13 +1108,13 @@
|
|||
<string name="applet_hle">自定义前端</string>
|
||||
<string name="applet_lle">真实小程序</string>
|
||||
|
||||
<string name="swkbd_applet">软件键盘</string>
|
||||
<string name="swkbd_applet">软键盘</string>
|
||||
|
||||
<string name="airplane_mode">飞行模式</string>
|
||||
<string name="airplane_mode_description">将飞行模式传递给Switch操作系统</string>
|
||||
|
||||
<string name="enable_overlay">开启覆盖层小程序</string>
|
||||
<string name="enable_overlay_description">开启 Horizon 内置的覆盖层小程序。请按住 home 键 1 秒来显示它。</string>
|
||||
<string name="enable_overlay">启用叠加层小程序</string>
|
||||
<string name="enable_overlay_description">开启 Horizon 内建的叠加层小程序,要显示它请按压 home 键 1 秒</string>
|
||||
|
||||
<!-- Profile Management -->
|
||||
<string name="profile_manager">用户配置管理</string>
|
||||
|
|
@ -1147,7 +1147,7 @@
|
|||
|
||||
<!-- Licenses screen strings -->
|
||||
<string name="licenses">许可证</string>
|
||||
<string name="license_fidelityfx_fsr_description">来自 AMD 的高品质画质升级技术</string>
|
||||
<string name="license_fidelityfx_fsr_description">AMD 的高品质画面增强技术</string>
|
||||
<string name="external_content">外部内容</string>
|
||||
<string name="add_folders">添加文件夹</string>
|
||||
|
||||
|
|
|
|||
|
|
@ -470,10 +470,6 @@
|
|||
<string name="disabled">已停用</string>
|
||||
<string name="vertex_input_dynamic_state">頂點輸入動態狀態</string>
|
||||
<string name="vertex_input_dynamic_state_description">啟用頂點輸入動態狀態以取得更佳的品質及性能</string>
|
||||
<string name="provoking_vertex">引發頂點</string>
|
||||
<string name="provoking_vertex_description">改善某些遊戲中的光照和頂點處理。僅支援Vulkan 1.0+ GPU。</string>
|
||||
<string name="descriptor_indexing">描述符索引</string>
|
||||
<string name="descriptor_indexing_description">改進紋理和緩衝區處理以及Maxwell轉換層。部分Vulkan 1.1 GPU和所有Vulkan 1.2+ GPU支援。</string>
|
||||
<string name="display">顯示</string>
|
||||
|
||||
<string name="renderer_screen_layout">方向</string>
|
||||
|
|
@ -908,7 +904,6 @@
|
|||
<string name="theme_material_you">質感設計3</string>
|
||||
<string name="app_settings">Eden介面設定</string>
|
||||
<string name="theme_and_color">主題和顏色</string>
|
||||
|
||||
<!-- Theme Modes -->
|
||||
<string name="change_theme_mode">變更主題模式</string>
|
||||
<string name="theme_mode_follow_system">跟隨系統</string>
|
||||
|
|
|
|||
|
|
@ -531,10 +531,6 @@
|
|||
<string name="disabled">Disabled</string>
|
||||
<string name="vertex_input_dynamic_state">Vertex Input Dynamic State</string>
|
||||
<string name="vertex_input_dynamic_state_description">Enables vertex input dynamic state feature for better quality and performance.</string>
|
||||
<string name="provoking_vertex">Provoking Vertex</string>
|
||||
<string name="provoking_vertex_description">Improves lighting and vertex handling in certain games. Only supported on Vulkan 1.0+ GPUs.</string>
|
||||
<string name="descriptor_indexing">Descriptor Indexing</string>
|
||||
<string name="descriptor_indexing_description">Improves texture and buffer handling, as well as the Maxwell translation layer. Supported by some Vulkan 1.1 GPUs and all Vulkan 1.2+ GPUs.</string>
|
||||
<string name="sample_shading_fraction">Sample Shading</string>
|
||||
<string name="sample_shading_fraction_description">Allows the fragment shader to execute per sample in a multi-sampled fragment instead once per fragment. Improves graphics quality at the cost of some performance.</string>
|
||||
|
||||
|
|
|
|||
|
|
@ -606,8 +606,6 @@ struct Values {
|
|||
true,
|
||||
#endif
|
||||
"vertex_input_dynamic_state", Category::RendererExtensions};
|
||||
SwitchableSetting<bool> provoking_vertex{linkage, false, "provoking_vertex", Category::RendererExtensions};
|
||||
SwitchableSetting<bool> descriptor_indexing{linkage, false, "descriptor_indexing", Category::RendererExtensions};
|
||||
|
||||
Setting<bool> renderer_debug{linkage, false, "debug", Category::RendererDebug};
|
||||
Setting<bool> renderer_shader_feedback{linkage, false, "shader_feedback",
|
||||
|
|
|
|||
|
|
@ -286,14 +286,6 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QObject* parent) {
|
|||
INSERT(Settings, vertex_input_dynamic_state, tr("Vertex Input Dynamic State"),
|
||||
tr("Enables vertex input dynamic state feature for better quality and performance."));
|
||||
|
||||
INSERT(Settings, provoking_vertex, tr("Provoking Vertex"),
|
||||
tr("Improves lighting and vertex handling in some games.\n"
|
||||
"Only Vulkan 1.0+ devices support this extension."));
|
||||
|
||||
INSERT(Settings, descriptor_indexing, tr("Descriptor Indexing"),
|
||||
tr("Improves texture & buffer handling and the Maxwell translation layer.\n"
|
||||
"Some Vulkan 1.1+ and all 1.2+ devices support this extension."));
|
||||
|
||||
INSERT(
|
||||
Settings, sample_shading, tr("Sample Shading"),
|
||||
tr("Allows the fragment shader to execute per sample in a multi-sampled fragment "
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
||||
|
|
@ -83,7 +83,29 @@ void FixedPipelineState::Refresh(Tegra::Engines::Maxwell3D& maxwell3d, DynamicFe
|
|||
depth_enabled.Assign(regs.zeta_enable != 0 ? 1 : 0);
|
||||
depth_format.Assign(static_cast<u32>(regs.zeta.format));
|
||||
y_negate.Assign(regs.window_origin.mode != Maxwell::WindowOrigin::Mode::UpperLeft ? 1 : 0);
|
||||
provoking_vertex_last.Assign(regs.provoking_vertex == Maxwell::ProvokingVertex::Last ? 1 : 0);
|
||||
|
||||
bool use_last_provoking_vertex = false;
|
||||
const bool provoking_vertex_available = features.has_provoking_vertex;
|
||||
const bool supports_first_mode = features.has_provoking_vertex_first_mode;
|
||||
const bool supports_last_mode = features.has_provoking_vertex_last_mode;
|
||||
const bool transform_feedback_active = regs.transform_feedback_enabled != 0;
|
||||
const bool tf_preserves_provoking_vertex = features.has_provoking_vertex_tf_preserve;
|
||||
|
||||
if (provoking_vertex_available && (supports_first_mode || supports_last_mode)) {
|
||||
use_last_provoking_vertex = regs.provoking_vertex == Maxwell::ProvokingVertex::Last;
|
||||
|
||||
if (transform_feedback_active && !tf_preserves_provoking_vertex) {
|
||||
use_last_provoking_vertex = false;
|
||||
}
|
||||
|
||||
if (use_last_provoking_vertex && !supports_last_mode) {
|
||||
use_last_provoking_vertex = false;
|
||||
} else if (!use_last_provoking_vertex && !supports_first_mode) {
|
||||
use_last_provoking_vertex = true;
|
||||
}
|
||||
}
|
||||
|
||||
provoking_vertex_last.Assign(use_last_provoking_vertex ? 1 : 0);
|
||||
conservative_raster_enable.Assign(regs.conservative_raster_enable != 0 ? 1 : 0);
|
||||
smooth_lines.Assign(regs.line_anti_alias_enable != 0 ? 1 : 0);
|
||||
alpha_to_coverage_enabled.Assign(regs.anti_alias_alpha_control.alpha_to_coverage != 0 ? 1 : 0);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
||||
|
|
@ -28,6 +28,10 @@ struct DynamicFeatures {
|
|||
bool has_extended_dynamic_state_3_blend;
|
||||
bool has_extended_dynamic_state_3_enables;
|
||||
bool has_dynamic_vertex_input;
|
||||
bool has_provoking_vertex;
|
||||
bool has_provoking_vertex_first_mode;
|
||||
bool has_provoking_vertex_last_mode;
|
||||
bool has_provoking_vertex_tf_preserve;
|
||||
};
|
||||
|
||||
struct FixedPipelineState {
|
||||
|
|
|
|||
|
|
@ -749,12 +749,19 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
|
|||
: VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT,
|
||||
.extraPrimitiveOverestimationSize = 0.0f,
|
||||
};
|
||||
const bool supports_provoking_first_mode = device.SupportsProvokingVertexFirstMode();
|
||||
const bool supports_provoking_last_mode = device.SupportsProvokingVertexLastMode();
|
||||
const bool requested_provoking_last_mode = key.state.provoking_vertex_last != 0;
|
||||
const VkProvokingVertexModeEXT provoking_vertex_mode =
|
||||
requested_provoking_last_mode
|
||||
? (supports_provoking_last_mode ? VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT
|
||||
: VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT)
|
||||
: (supports_provoking_first_mode ? VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT
|
||||
: VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT);
|
||||
VkPipelineRasterizationProvokingVertexStateCreateInfoEXT provoking_vertex{
|
||||
.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT,
|
||||
.pNext = nullptr,
|
||||
.provokingVertexMode = key.state.provoking_vertex_last != 0
|
||||
? VK_PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT
|
||||
: VK_PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT,
|
||||
.provokingVertexMode = provoking_vertex_mode,
|
||||
};
|
||||
|
||||
if (IsLine(input_assembly_topology) && device.IsExtLineRasterizationSupported()) {
|
||||
|
|
@ -763,7 +770,7 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
|
|||
if (device.IsExtConservativeRasterizationSupported()) {
|
||||
conservative_raster.pNext = std::exchange(rasterization_ci.pNext, &conservative_raster);
|
||||
}
|
||||
if (device.IsExtProvokingVertexSupported() && Settings::values.provoking_vertex.GetValue()) {
|
||||
if (device.IsExtProvokingVertexSupported()) {
|
||||
provoking_vertex.pNext = std::exchange(rasterization_ci.pNext, &provoking_vertex);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -490,6 +490,14 @@ PipelineCache::PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_,
|
|||
dynamic_features.has_dynamic_vertex_input =
|
||||
device.IsExtVertexInputDynamicStateSupported() &&
|
||||
Settings::values.vertex_input_dynamic_state.GetValue();
|
||||
|
||||
dynamic_features.has_provoking_vertex = device.IsExtProvokingVertexSupported();
|
||||
dynamic_features.has_provoking_vertex_first_mode =
|
||||
device.SupportsProvokingVertexFirstMode();
|
||||
dynamic_features.has_provoking_vertex_last_mode =
|
||||
device.SupportsProvokingVertexLastMode();
|
||||
dynamic_features.has_provoking_vertex_tf_preserve =
|
||||
device.SupportsTransformFeedbackProvokingVertexPreservation();
|
||||
}
|
||||
|
||||
PipelineCache::~PipelineCache() {
|
||||
|
|
@ -603,6 +611,18 @@ void PipelineCache::LoadDiskResources(u64 title_id, std::stop_token stop_loading
|
|||
(key.state.dynamic_vertex_input != 0) != dynamic_features.has_dynamic_vertex_input) {
|
||||
return;
|
||||
}
|
||||
|
||||
const bool key_requests_provoking_last = key.state.provoking_vertex_last != 0;
|
||||
if (key_requests_provoking_last && !dynamic_features.has_provoking_vertex_last_mode) {
|
||||
return;
|
||||
}
|
||||
|
||||
const bool key_uses_transform_feedback = key.state.xfb_enabled != 0;
|
||||
if (key_uses_transform_feedback && key_requests_provoking_last &&
|
||||
!dynamic_features.has_provoking_vertex_tf_preserve) {
|
||||
return;
|
||||
}
|
||||
|
||||
workers.QueueWork([this, key, envs_ = std::move(envs), &state, &callback]() mutable {
|
||||
ShaderPools pools;
|
||||
boost::container::static_vector<Shader::Environment*, 5> env_ptrs;
|
||||
|
|
|
|||
|
|
@ -200,11 +200,6 @@ RasterizerVulkan::RasterizerVulkan(Core::Frontend::EmuWindow& emu_window_, Tegra
|
|||
fence_manager(*this, gpu, texture_cache, buffer_cache, query_cache, device, scheduler),
|
||||
wfi_event(device.GetLogical().CreateEvent()) {
|
||||
scheduler.SetQueryCache(query_cache);
|
||||
|
||||
// Log multi-draw support
|
||||
if (device.IsExtMultiDrawSupported()) {
|
||||
LOG_INFO(Render_Vulkan, "VK_EXT_multi_draw is enabled for optimized draw calls");
|
||||
}
|
||||
}
|
||||
|
||||
RasterizerVulkan::~RasterizerVulkan() = default;
|
||||
|
|
@ -243,43 +238,16 @@ void RasterizerVulkan::Draw(bool is_indexed, u32 instance_count) {
|
|||
const u32 num_instances{instance_count};
|
||||
const DrawParams draw_params{MakeDrawParams(draw_state, num_instances, is_indexed)};
|
||||
|
||||
// Use VK_EXT_multi_draw if available (single draw becomes multi-draw with count=1)
|
||||
if (device.IsExtMultiDrawSupported()) {
|
||||
scheduler.Record([draw_params](vk::CommandBuffer cmdbuf) {
|
||||
if (draw_params.is_indexed) {
|
||||
// Use multi-draw indexed with single draw
|
||||
const VkMultiDrawIndexedInfoEXT multi_draw_info{
|
||||
.firstIndex = draw_params.first_index,
|
||||
.indexCount = draw_params.num_vertices,
|
||||
};
|
||||
const int32_t vertex_offset = static_cast<int32_t>(draw_params.base_vertex);
|
||||
cmdbuf.DrawMultiIndexedEXT(1, &multi_draw_info, draw_params.num_instances,
|
||||
draw_params.base_instance,
|
||||
sizeof(VkMultiDrawIndexedInfoEXT), &vertex_offset);
|
||||
} else {
|
||||
// Use multi-draw with single draw
|
||||
const VkMultiDrawInfoEXT multi_draw_info{
|
||||
.firstVertex = draw_params.base_vertex,
|
||||
.vertexCount = draw_params.num_vertices,
|
||||
};
|
||||
cmdbuf.DrawMultiEXT(1, &multi_draw_info, draw_params.num_instances,
|
||||
draw_params.base_instance,
|
||||
sizeof(VkMultiDrawInfoEXT));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Fallback to standard draw calls
|
||||
scheduler.Record([draw_params](vk::CommandBuffer cmdbuf) {
|
||||
if (draw_params.is_indexed) {
|
||||
cmdbuf.DrawIndexed(draw_params.num_vertices, draw_params.num_instances,
|
||||
draw_params.first_index, draw_params.base_vertex,
|
||||
draw_params.base_instance);
|
||||
} else {
|
||||
cmdbuf.Draw(draw_params.num_vertices, draw_params.num_instances,
|
||||
draw_params.base_vertex, draw_params.base_instance);
|
||||
}
|
||||
});
|
||||
}
|
||||
scheduler.Record([draw_params](vk::CommandBuffer cmdbuf) {
|
||||
if (draw_params.is_indexed) {
|
||||
cmdbuf.DrawIndexed(draw_params.num_vertices, draw_params.num_instances,
|
||||
draw_params.first_index, draw_params.base_vertex,
|
||||
draw_params.base_instance);
|
||||
} else {
|
||||
cmdbuf.Draw(draw_params.num_vertices, draw_params.num_instances,
|
||||
draw_params.base_vertex, draw_params.base_instance);
|
||||
}
|
||||
});
|
||||
|
||||
// Log draw call
|
||||
if (Settings::values.gpu_logging_enabled.GetValue() &&
|
||||
|
|
|
|||
|
|
@ -275,6 +275,19 @@ constexpr VkBorderColor ConvertBorderColor(const std::array<float, 4>& color) {
|
|||
return VK_COMPONENT_SWIZZLE_ZERO;
|
||||
}
|
||||
|
||||
void SanitizeDepthStencilSwizzle(std::array<SwizzleSource, 4>& swizzle,
|
||||
bool supports_depth_stencil_swizzle_one) {
|
||||
if (supports_depth_stencil_swizzle_one) {
|
||||
return;
|
||||
}
|
||||
std::replace_if(swizzle.begin(), swizzle.end(),
|
||||
[](SwizzleSource value) {
|
||||
return value == SwizzleSource::OneFloat ||
|
||||
value == SwizzleSource::OneInt;
|
||||
},
|
||||
SwizzleSource::Zero);
|
||||
}
|
||||
|
||||
[[nodiscard]] VkImageViewType ImageViewType(Shader::TextureType type) {
|
||||
switch (type) {
|
||||
case Shader::TextureType::Color1D:
|
||||
|
|
@ -2109,6 +2122,7 @@ ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewI
|
|||
!device->IsExt4444FormatsSupported());
|
||||
if ((aspect_mask & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) != 0) {
|
||||
std::ranges::transform(swizzle, swizzle.begin(), ConvertGreenRed);
|
||||
SanitizeDepthStencilSwizzle(swizzle, device->SupportsDepthStencilSwizzleOne());
|
||||
}
|
||||
}
|
||||
const auto format_info = MaxwellToVK::SurfaceFormat(*device, FormatType::Optimal, true, format);
|
||||
|
|
|
|||
|
|
@ -22,16 +22,13 @@
|
|||
|
||||
#include <vulkan/vulkan.h>
|
||||
|
||||
// Define maintenance 7-9 extension names (not yet in official Vulkan headers)
|
||||
// Define maintenance 7-8 extension names (not yet in official Vulkan headers)
|
||||
#ifndef VK_KHR_MAINTENANCE_7_EXTENSION_NAME
|
||||
#define VK_KHR_MAINTENANCE_7_EXTENSION_NAME "VK_KHR_maintenance7"
|
||||
#endif
|
||||
#ifndef VK_KHR_MAINTENANCE_8_EXTENSION_NAME
|
||||
#define VK_KHR_MAINTENANCE_8_EXTENSION_NAME "VK_KHR_maintenance8"
|
||||
#endif
|
||||
#ifndef VK_KHR_MAINTENANCE_9_EXTENSION_NAME
|
||||
#define VK_KHR_MAINTENANCE_9_EXTENSION_NAME "VK_KHR_maintenance9"
|
||||
#endif
|
||||
|
||||
// Sanitize macros
|
||||
#undef CreateEvent
|
||||
|
|
|
|||
|
|
@ -465,18 +465,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
|||
first_next = &diagnostics_nv;
|
||||
}
|
||||
|
||||
VkPhysicalDeviceDescriptorIndexingFeaturesEXT descriptor_indexing{
|
||||
.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT,
|
||||
.pNext = use_diagnostics_nv ? static_cast<void*>(&diagnostics_nv) : static_cast<void*>(&features2),
|
||||
.shaderSampledImageArrayNonUniformIndexing = VK_TRUE,
|
||||
.descriptorBindingPartiallyBound = VK_TRUE,
|
||||
.descriptorBindingVariableDescriptorCount = VK_TRUE,
|
||||
};
|
||||
|
||||
if (extensions.descriptor_indexing && Settings::values.descriptor_indexing.GetValue()) {
|
||||
first_next = &descriptor_indexing;
|
||||
}
|
||||
|
||||
is_blit_depth24_stencil8_supported = TestDepthStencilBlits(VK_FORMAT_D24_UNORM_S8_UINT);
|
||||
is_blit_depth32_stencil8_supported = TestDepthStencilBlits(VK_FORMAT_D32_SFLOAT_S8_UINT);
|
||||
is_optimal_astc_supported = ComputeIsOptimalAstcSupported();
|
||||
|
|
@ -1078,11 +1066,6 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR;
|
||||
SetNext(next, properties.maintenance5);
|
||||
}
|
||||
if (extensions.multi_draw) {
|
||||
properties.multi_draw.sType =
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT;
|
||||
SetNext(next, properties.multi_draw);
|
||||
}
|
||||
|
||||
// Perform the property fetch.
|
||||
physical.GetProperties2(properties2);
|
||||
|
|
@ -1196,7 +1179,7 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
RemoveExtensionFeatureIfUnsuitable(extensions.depth_clip_control, features.depth_clip_control,
|
||||
VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME);
|
||||
|
||||
/* */ // VK_EXT_extended_dynamic_state
|
||||
// VK_EXT_extended_dynamic_state
|
||||
extensions.extended_dynamic_state = features.extended_dynamic_state.extendedDynamicState;
|
||||
RemoveExtensionFeatureIfUnsuitable(extensions.extended_dynamic_state,
|
||||
features.extended_dynamic_state,
|
||||
|
|
@ -1268,7 +1251,6 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_robustness2
|
||||
// Enable if at least one robustness2 feature is available
|
||||
extensions.robustness_2 = features.robustness2.robustBufferAccess2 ||
|
||||
features.robustness2.robustImageAccess2 ||
|
||||
features.robustness2.nullDescriptor;
|
||||
|
|
@ -1277,25 +1259,10 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
VK_EXT_ROBUSTNESS_2_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_image_robustness
|
||||
// Enable if robustImageAccess is available
|
||||
extensions.image_robustness = features.image_robustness.robustImageAccess;
|
||||
RemoveExtensionFeatureIfUnsuitable(extensions.image_robustness, features.image_robustness,
|
||||
VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_provoking_vertex
|
||||
if (Settings::values.provoking_vertex.GetValue()) {
|
||||
extensions.provoking_vertex = features.provoking_vertex.provokingVertexLast
|
||||
&& features.provoking_vertex
|
||||
.transformFeedbackPreservesProvokingVertex;
|
||||
RemoveExtensionFeatureIfUnsuitable(extensions.provoking_vertex,
|
||||
features.provoking_vertex,
|
||||
VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME);
|
||||
} else {
|
||||
RemoveExtensionFeature(extensions.provoking_vertex,
|
||||
features.provoking_vertex,
|
||||
VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME);
|
||||
}
|
||||
|
||||
// VK_KHR_shader_atomic_int64
|
||||
extensions.shader_atomic_int64 = features.shader_atomic_int64.shaderBufferInt64Atomics &&
|
||||
features.shader_atomic_int64.shaderSharedInt64Atomics;
|
||||
|
|
@ -1319,21 +1286,12 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_transform_feedback
|
||||
// We only require the basic transformFeedback feature and at least
|
||||
// one transform feedback buffer. We keep transformFeedbackQueries as it's used by
|
||||
// the streaming byte count implementation. GeometryStreams and multiple streams
|
||||
// are not strictly required since we currently support only stream 0.
|
||||
extensions.transform_feedback =
|
||||
features.transform_feedback.transformFeedback &&
|
||||
properties.transform_feedback.maxTransformFeedbackBuffers > 0 &&
|
||||
properties.transform_feedback.transformFeedbackQueries;
|
||||
RemoveExtensionFeatureIfUnsuitable(extensions.transform_feedback, features.transform_feedback,
|
||||
VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME);
|
||||
if (extensions.transform_feedback) {
|
||||
LOG_INFO(Render_Vulkan, "VK_EXT_transform_feedback enabled (buffers={}, queries={})",
|
||||
properties.transform_feedback.maxTransformFeedbackBuffers,
|
||||
properties.transform_feedback.transformFeedbackQueries);
|
||||
}
|
||||
|
||||
// VK_EXT_vertex_input_dynamic_state
|
||||
extensions.vertex_input_dynamic_state =
|
||||
|
|
@ -1342,17 +1300,6 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
features.vertex_input_dynamic_state,
|
||||
VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_multi_draw
|
||||
extensions.multi_draw = features.multi_draw.multiDraw;
|
||||
|
||||
if (extensions.multi_draw) {
|
||||
LOG_INFO(Render_Vulkan, "VK_EXT_multi_draw: maxMultiDrawCount={}",
|
||||
properties.multi_draw.maxMultiDrawCount);
|
||||
}
|
||||
|
||||
RemoveExtensionFeatureIfUnsuitable(extensions.multi_draw, features.multi_draw,
|
||||
VK_EXT_MULTI_DRAW_EXTENSION_NAME);
|
||||
|
||||
// VK_KHR_pipeline_executable_properties
|
||||
if (Settings::values.renderer_shader_feedback.GetValue()) {
|
||||
extensions.pipeline_executable_properties =
|
||||
|
|
@ -1377,35 +1324,15 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
features.workgroup_memory_explicit_layout,
|
||||
VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME);
|
||||
|
||||
// VK_EXT_swapchain_maintenance1 (extension only, has features)
|
||||
// Requires VK_EXT_surface_maintenance1 instance extension
|
||||
extensions.swapchain_maintenance1 = features.swapchain_maintenance1.swapchainMaintenance1;
|
||||
if (extensions.swapchain_maintenance1) {
|
||||
// Check if VK_EXT_surface_maintenance1 instance extension is available
|
||||
const auto instance_extensions = vk::EnumerateInstanceExtensionProperties(dld);
|
||||
const bool has_surface_maintenance1 = instance_extensions && std::ranges::any_of(*instance_extensions,
|
||||
[](const VkExtensionProperties& prop) {
|
||||
return std::strcmp(prop.extensionName, VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME) == 0;
|
||||
});
|
||||
if (!has_surface_maintenance1) {
|
||||
LOG_WARNING(Render_Vulkan,
|
||||
"VK_EXT_swapchain_maintenance1 requires VK_EXT_surface_maintenance1, disabling");
|
||||
extensions.swapchain_maintenance1 = false;
|
||||
features.swapchain_maintenance1.swapchainMaintenance1 = false;
|
||||
}
|
||||
}
|
||||
RemoveExtensionFeatureIfUnsuitable(extensions.swapchain_maintenance1, features.swapchain_maintenance1,
|
||||
VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME);
|
||||
|
||||
// VK_KHR_maintenance1 (core in Vulkan 1.1, no features)
|
||||
// VK_KHR_maintenance1
|
||||
extensions.maintenance1 = loaded_extensions.contains(VK_KHR_MAINTENANCE_1_EXTENSION_NAME);
|
||||
RemoveExtensionIfUnsuitable(extensions.maintenance1, VK_KHR_MAINTENANCE_1_EXTENSION_NAME);
|
||||
|
||||
// VK_KHR_maintenance2 (core in Vulkan 1.1, no features)
|
||||
// VK_KHR_maintenance2
|
||||
extensions.maintenance2 = loaded_extensions.contains(VK_KHR_MAINTENANCE_2_EXTENSION_NAME);
|
||||
RemoveExtensionIfUnsuitable(extensions.maintenance2, VK_KHR_MAINTENANCE_2_EXTENSION_NAME);
|
||||
|
||||
// VK_KHR_maintenance3 (core in Vulkan 1.1, no features)
|
||||
// VK_KHR_maintenance3
|
||||
extensions.maintenance3 = loaded_extensions.contains(VK_KHR_MAINTENANCE_3_EXTENSION_NAME);
|
||||
RemoveExtensionIfUnsuitable(extensions.maintenance3, VK_KHR_MAINTENANCE_3_EXTENSION_NAME);
|
||||
|
||||
|
|
@ -1416,17 +1343,6 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
|
||||
// VK_KHR_maintenance5
|
||||
extensions.maintenance5 = features.maintenance5.maintenance5;
|
||||
|
||||
if (extensions.maintenance5) {
|
||||
LOG_INFO(Render_Vulkan, "VK_KHR_maintenance5 properties: polygonModePointSize={} "
|
||||
"depthStencilSwizzleOne={} earlyFragmentTests={} nonStrictWideLines={}",
|
||||
properties.maintenance5.polygonModePointSize,
|
||||
properties.maintenance5.depthStencilSwizzleOneSupport,
|
||||
properties.maintenance5.earlyFragmentMultisampleCoverageAfterSampleCounting &&
|
||||
properties.maintenance5.earlyFragmentSampleMaskTestBeforeSampleCounting,
|
||||
properties.maintenance5.nonStrictWideLinesUseParallelogram);
|
||||
}
|
||||
|
||||
RemoveExtensionFeatureIfUnsuitable(extensions.maintenance5, features.maintenance5,
|
||||
VK_KHR_MAINTENANCE_5_EXTENSION_NAME);
|
||||
|
||||
|
|
@ -1435,17 +1351,13 @@ void Device::RemoveUnsuitableExtensions() {
|
|||
RemoveExtensionFeatureIfUnsuitable(extensions.maintenance6, features.maintenance6,
|
||||
VK_KHR_MAINTENANCE_6_EXTENSION_NAME);
|
||||
|
||||
// VK_KHR_maintenance7 (proposed for Vulkan 1.4, no features)
|
||||
// VK_KHR_maintenance7
|
||||
extensions.maintenance7 = loaded_extensions.contains(VK_KHR_MAINTENANCE_7_EXTENSION_NAME);
|
||||
RemoveExtensionIfUnsuitable(extensions.maintenance7, VK_KHR_MAINTENANCE_7_EXTENSION_NAME);
|
||||
|
||||
// VK_KHR_maintenance8 (proposed for Vulkan 1.4, no features)
|
||||
// VK_KHR_maintenance8
|
||||
extensions.maintenance8 = loaded_extensions.contains(VK_KHR_MAINTENANCE_8_EXTENSION_NAME);
|
||||
RemoveExtensionIfUnsuitable(extensions.maintenance8, VK_KHR_MAINTENANCE_8_EXTENSION_NAME);
|
||||
|
||||
// VK_KHR_maintenance9 (proposed for Vulkan 1.4, no features)
|
||||
extensions.maintenance9 = loaded_extensions.contains(VK_KHR_MAINTENANCE_9_EXTENSION_NAME);
|
||||
RemoveExtensionIfUnsuitable(extensions.maintenance9, VK_KHR_MAINTENANCE_9_EXTENSION_NAME);
|
||||
}
|
||||
|
||||
void Device::SetupFamilies(VkSurfaceKHR surface) {
|
||||
|
|
|
|||
|
|
@ -57,14 +57,12 @@ VK_DEFINE_HANDLE(VmaAllocator)
|
|||
FEATURE(EXT, 4444Formats, 4444_FORMATS, format_a4b4g4r4) \
|
||||
FEATURE(EXT, IndexTypeUint8, INDEX_TYPE_UINT8, index_type_uint8) \
|
||||
FEATURE(EXT, LineRasterization, LINE_RASTERIZATION, line_rasterization) \
|
||||
FEATURE(EXT, MultiDraw, MULTI_DRAW, multi_draw) \
|
||||
FEATURE(EXT, PrimitiveTopologyListRestart, PRIMITIVE_TOPOLOGY_LIST_RESTART, \
|
||||
primitive_topology_list_restart) \
|
||||
FEATURE(EXT, ProvokingVertex, PROVOKING_VERTEX, provoking_vertex) \
|
||||
FEATURE(EXT, Robustness2, ROBUSTNESS_2, robustness2) \
|
||||
FEATURE(EXT, TransformFeedback, TRANSFORM_FEEDBACK, transform_feedback) \
|
||||
FEATURE(EXT, VertexInputDynamicState, VERTEX_INPUT_DYNAMIC_STATE, vertex_input_dynamic_state) \
|
||||
FEATURE(EXT, SwapchainMaintenance1, SWAPCHAIN_MAINTENANCE_1, swapchain_maintenance1) \
|
||||
FEATURE(KHR, Maintenance5, MAINTENANCE_5, maintenance5) \
|
||||
FEATURE(KHR, Maintenance6, MAINTENANCE_6, maintenance6) \
|
||||
FEATURE(KHR, PipelineExecutableProperties, PIPELINE_EXECUTABLE_PROPERTIES, \
|
||||
|
|
@ -100,12 +98,10 @@ VK_DEFINE_HANDLE(VmaAllocator)
|
|||
EXTENSION(KHR, MAINTENANCE_3, maintenance3) \
|
||||
EXTENSION(KHR, MAINTENANCE_7, maintenance7) \
|
||||
EXTENSION(KHR, MAINTENANCE_8, maintenance8) \
|
||||
EXTENSION(KHR, MAINTENANCE_9, maintenance9) \
|
||||
EXTENSION(NV, DEVICE_DIAGNOSTICS_CONFIG, device_diagnostics_config) \
|
||||
EXTENSION(NV, GEOMETRY_SHADER_PASSTHROUGH, geometry_shader_passthrough) \
|
||||
EXTENSION(NV, VIEWPORT_ARRAY2, viewport_array2) \
|
||||
EXTENSION(NV, VIEWPORT_SWIZZLE, viewport_swizzle) \
|
||||
EXTENSION(EXT, DESCRIPTOR_INDEXING, descriptor_indexing) \
|
||||
EXTENSION(EXT, FILTER_CUBIC, filter_cubic) \
|
||||
EXTENSION(IMG, FILTER_CUBIC, filter_cubic_img) \
|
||||
EXTENSION(QCOM, FILTER_CUBIC_WEIGHTS, filter_cubic_weights)
|
||||
|
|
@ -443,11 +439,6 @@ public:
|
|||
return extensions.viewport_array2;
|
||||
}
|
||||
|
||||
/// Returns true if the device supporst VK_EXT_DESCRIPTOR_INDEXING
|
||||
bool isExtDescriptorIndexingSupported() const {
|
||||
return extensions.descriptor_indexing;
|
||||
}
|
||||
|
||||
/// Returns true if the device supports VK_NV_geometry_shader_passthrough.
|
||||
bool IsNvGeometryShaderPassthroughSupported() const {
|
||||
return extensions.geometry_shader_passthrough;
|
||||
|
|
@ -473,11 +464,6 @@ public:
|
|||
return extensions.swapchain_mutable_format;
|
||||
}
|
||||
|
||||
/// Returns true if VK_EXT_swapchain_maintenance1 is enabled.
|
||||
bool IsExtSwapchainMaintenance1Enabled() const {
|
||||
return extensions.swapchain_maintenance1;
|
||||
}
|
||||
|
||||
/// Returns true if VK_KHR_shader_float_controls is enabled.
|
||||
bool IsKhrShaderFloatControlsSupported() const {
|
||||
return extensions.shader_float_controls;
|
||||
|
|
@ -719,6 +705,22 @@ public:
|
|||
return extensions.provoking_vertex;
|
||||
}
|
||||
|
||||
/// Returns true if first vertex provoking mode can be used.
|
||||
bool SupportsProvokingVertexFirstMode() const {
|
||||
return extensions.provoking_vertex;
|
||||
}
|
||||
|
||||
/// Returns true if last vertex provoking mode can be used.
|
||||
bool SupportsProvokingVertexLastMode() const {
|
||||
return extensions.provoking_vertex && features.provoking_vertex.provokingVertexLast;
|
||||
}
|
||||
|
||||
/// Returns true if transform feedback preserves provoking vertex mode semantics.
|
||||
bool SupportsTransformFeedbackProvokingVertexPreservation() const {
|
||||
return extensions.provoking_vertex &&
|
||||
features.provoking_vertex.transformFeedbackPreservesProvokingVertex;
|
||||
}
|
||||
|
||||
/// Returns true if the device supports VK_KHR_shader_atomic_int64.
|
||||
bool IsExtShaderAtomicInt64Supported() const {
|
||||
return extensions.shader_atomic_int64;
|
||||
|
|
@ -878,11 +880,6 @@ public:
|
|||
return extensions.maintenance6;
|
||||
}
|
||||
|
||||
/// Returns true if the device supports VK_EXT_multi_draw.
|
||||
bool IsExtMultiDrawSupported() const {
|
||||
return extensions.multi_draw;
|
||||
}
|
||||
|
||||
/// Returns true if the device supports VK_KHR_maintenance7.
|
||||
bool IsKhrMaintenance7Supported() const {
|
||||
return extensions.maintenance7;
|
||||
|
|
@ -893,11 +890,6 @@ public:
|
|||
return extensions.maintenance8;
|
||||
}
|
||||
|
||||
/// Returns true if the device supports VK_KHR_maintenance9.
|
||||
bool IsKhrMaintenance9Supported() const {
|
||||
return extensions.maintenance9;
|
||||
}
|
||||
|
||||
/// Returns true if the device supports UINT8 index buffer conversion via compute shader.
|
||||
bool SupportsUint8Indices() const {
|
||||
return features.bit8_storage.storageBuffer8BitAccess &&
|
||||
|
|
@ -1025,7 +1017,6 @@ private:
|
|||
VkPhysicalDeviceSubgroupSizeControlProperties subgroup_size_control{};
|
||||
VkPhysicalDeviceTransformFeedbackPropertiesEXT transform_feedback{};
|
||||
VkPhysicalDeviceMaintenance5PropertiesKHR maintenance5{};
|
||||
VkPhysicalDeviceMultiDrawPropertiesEXT multi_draw{};
|
||||
|
||||
VkPhysicalDeviceProperties properties{};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -81,14 +81,6 @@ namespace {
|
|||
#endif
|
||||
if (enable_validation && AreExtensionsSupported(dld, *properties, std::array{VK_EXT_DEBUG_UTILS_EXTENSION_NAME}))
|
||||
extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME);
|
||||
// VK_EXT_surface_maintenance1 is required for VK_EXT_swapchain_maintenance1
|
||||
if (window_type != Core::Frontend::WindowSystemType::Headless && AreExtensionsSupported(dld, *properties, std::array{VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME})) {
|
||||
extensions.push_back(VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME);
|
||||
// Some(which?) drivers dont like being told to load this extension(why?)
|
||||
// NVIDIA on FreeBSD is totally fine with this through
|
||||
if (AreExtensionsSupported(dld, *properties, std::array{VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME}))
|
||||
extensions.push_back(VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME);
|
||||
}
|
||||
}
|
||||
return extensions;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -116,8 +116,6 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
|
|||
X(vkCmdDrawIndirectCount);
|
||||
X(vkCmdDrawIndexedIndirectCount);
|
||||
X(vkCmdDrawIndirectByteCountEXT);
|
||||
X(vkCmdDrawMultiEXT);
|
||||
X(vkCmdDrawMultiIndexedEXT);
|
||||
X(vkCmdEndConditionalRenderingEXT);
|
||||
X(vkCmdEndQuery);
|
||||
X(vkCmdEndRenderPass);
|
||||
|
|
|
|||
|
|
@ -218,8 +218,6 @@ struct DeviceDispatch : InstanceDispatch {
|
|||
PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount{};
|
||||
PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount{};
|
||||
PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT{};
|
||||
PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT{};
|
||||
PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT{};
|
||||
PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT{};
|
||||
PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT{};
|
||||
PFN_vkCmdEndQuery vkCmdEndQuery{};
|
||||
|
|
@ -1241,19 +1239,6 @@ public:
|
|||
counter_buffer_offset, counter_offset, stride);
|
||||
}
|
||||
|
||||
void DrawMultiEXT(u32 draw_count, const VkMultiDrawInfoEXT* vertex_info,
|
||||
u32 instance_count, u32 first_instance, u32 stride) const noexcept {
|
||||
dld->vkCmdDrawMultiEXT(handle, draw_count, vertex_info, instance_count, first_instance,
|
||||
stride);
|
||||
}
|
||||
|
||||
void DrawMultiIndexedEXT(u32 draw_count, const VkMultiDrawIndexedInfoEXT* index_info,
|
||||
u32 instance_count, u32 first_instance, u32 stride,
|
||||
const int32_t* vertex_offset) const noexcept {
|
||||
dld->vkCmdDrawMultiIndexedEXT(handle, draw_count, index_info, instance_count,
|
||||
first_instance, stride, vertex_offset);
|
||||
}
|
||||
|
||||
void ClearAttachments(Span<VkClearAttachment> attachments,
|
||||
Span<VkClearRect> rects) const noexcept {
|
||||
dld->vkCmdClearAttachments(handle, attachments.size(), attachments.data(), rects.size(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue