diff --git a/dist/languages/ar.ts b/dist/languages/ar.ts
index 2f2cb0a061..84837d724f 100644
--- a/dist/languages/ar.ts
+++ b/dist/languages/ar.ts
@@ -1146,6 +1146,18 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.يتيح ميزة الحالة الديناميكية لإدخال الرأس لتحسين الجودة والأداء.
+
+
+ Descriptor Indexing
+ فهرسة الوصف
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ يُحسّن معالجة الملمس والذاكرة المؤقتة وطبقة ترجمة ماكسويل.
+تدعم بعض أجهزة Vulkan الإصدار 1.1+ وجميع أجهزة 1.2+ هذه الإضافة.
+ Sample Shading
diff --git a/dist/languages/ca.ts b/dist/languages/ca.ts
index 2cfc8992f1..678889f164 100644
--- a/dist/languages/ca.ts
+++ b/dist/languages/ca.ts
@@ -1094,6 +1094,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/cs.ts b/dist/languages/cs.ts
index d1e79cf328..f6baf19268 100644
--- a/dist/languages/cs.ts
+++ b/dist/languages/cs.ts
@@ -1094,6 +1094,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/da.ts b/dist/languages/da.ts
index 9e2adfa4ba..91bd8137bd 100644
--- a/dist/languages/da.ts
+++ b/dist/languages/da.ts
@@ -1096,6 +1096,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/de.ts b/dist/languages/de.ts
index ad6a0bce19..7821afe05a 100644
--- a/dist/languages/de.ts
+++ b/dist/languages/de.ts
@@ -1104,6 +1104,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/el.ts b/dist/languages/el.ts
index 573f05f6e0..cad37e6915 100644
--- a/dist/languages/el.ts
+++ b/dist/languages/el.ts
@@ -1096,6 +1096,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/es.ts b/dist/languages/es.ts
index 1c98b6645d..f0604b087f 100644
--- a/dist/languages/es.ts
+++ b/dist/languages/es.ts
@@ -1151,6 +1151,18 @@ Números más altos permiten úsar más funciones y pueden aumentar el rendimien
Enables vertex input dynamic state feature for better quality and performance.Activa la función de estado dinámico de entrada de vértices para una mejor calidad y rendimiento.
+
+
+ Descriptor Indexing
+ Indexación del descriptor
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ Mejora el manejo de texturas, búferes y la capa de traducción de Maxwell.
+Algunos dispositivos Vulkan 1.1+ y todos los 1.2+ son compatibles con esta extensión.
+ Sample Shading
diff --git a/dist/languages/fi.ts b/dist/languages/fi.ts
index e95d883178..6a688b5ced 100644
--- a/dist/languages/fi.ts
+++ b/dist/languages/fi.ts
@@ -1094,6 +1094,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/fr.ts b/dist/languages/fr.ts
index c86fcc4858..b7a3196d79 100644
--- a/dist/languages/fr.ts
+++ b/dist/languages/fr.ts
@@ -1142,6 +1142,18 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+ Indexation des descripteurs
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ Améliore la gestion des textures et des tampons ainsi que la couche de traduction Maxwell.
+Certains appareils compatibles Vulkan 1.1+ et tous ceux en 1.2+ prennent en charge cette extension.
+ Sample Shading
diff --git a/dist/languages/hu.ts b/dist/languages/hu.ts
index a90f827e5e..953f4c6ee3 100644
--- a/dist/languages/hu.ts
+++ b/dist/languages/hu.ts
@@ -1102,6 +1102,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/id.ts b/dist/languages/id.ts
index c63e341d88..2873e64ef8 100644
--- a/dist/languages/id.ts
+++ b/dist/languages/id.ts
@@ -1117,6 +1117,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/it.ts b/dist/languages/it.ts
index 4b42d4c825..74af128d08 100644
--- a/dist/languages/it.ts
+++ b/dist/languages/it.ts
@@ -1146,6 +1146,18 @@ Gli stati più alti consentono più funzionalità e possono migliorare le presta
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+ Indicizzazione descrittori
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ Migliora la gestione di texture e buffer, ma anche il layer di traduzione Maxwell.
+Alcuni dispositivi con Vulkan 1.1+ e tutti quelli con 1.2+ supportano quest'estensione.
+ Sample Shading
diff --git a/dist/languages/ja_JP.ts b/dist/languages/ja_JP.ts
index fb597d7734..f13c44baee 100644
--- a/dist/languages/ja_JP.ts
+++ b/dist/languages/ja_JP.ts
@@ -1099,6 +1099,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/ko_KR.ts b/dist/languages/ko_KR.ts
index 66a689c714..ed5f42ca0f 100644
--- a/dist/languages/ko_KR.ts
+++ b/dist/languages/ko_KR.ts
@@ -1096,6 +1096,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/nb.ts b/dist/languages/nb.ts
index cf528f4df4..9f4c650464 100644
--- a/dist/languages/nb.ts
+++ b/dist/languages/nb.ts
@@ -1096,6 +1096,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/nl.ts b/dist/languages/nl.ts
index 2dec838b0b..1ad246f948 100644
--- a/dist/languages/nl.ts
+++ b/dist/languages/nl.ts
@@ -1105,6 +1105,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/pl.ts b/dist/languages/pl.ts
index 70c84d9f09..3546a478b9 100644
--- a/dist/languages/pl.ts
+++ b/dist/languages/pl.ts
@@ -1145,6 +1145,18 @@ Wyższe poziomy pozwalają na użycie większej liczby funkcji i mogą zwiększy
Enables vertex input dynamic state feature for better quality and performance.Włącza funkcję dynamicznego stanu wejścia wierzchołków, poprawiając jakość i wydajność.
+
+
+ Descriptor Indexing
+ Indeksowanie deskryptorów
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ Poprawia obsługę tekstur i buforów oraz warstwę translacji Maxwell.
+Niektóre urządzenia z Vulkanem 1.1+ i wszystkie z 1.2+ obsługują to rozszerzenie.
+ Sample Shading
diff --git a/dist/languages/pt_BR.ts b/dist/languages/pt_BR.ts
index e53e8fc254..a4e3366123 100644
--- a/dist/languages/pt_BR.ts
+++ b/dist/languages/pt_BR.ts
@@ -1129,6 +1129,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/pt_PT.ts b/dist/languages/pt_PT.ts
index 2c7560e77d..f7bce87a41 100644
--- a/dist/languages/pt_PT.ts
+++ b/dist/languages/pt_PT.ts
@@ -1104,6 +1104,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/ru_RU.ts b/dist/languages/ru_RU.ts
index b1263a6f8d..bda0794261 100644
--- a/dist/languages/ru_RU.ts
+++ b/dist/languages/ru_RU.ts
@@ -1151,6 +1151,18 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.Включает функцию динамического состояния вершинного ввода для повышения качества и производительности.
+
+
+ Descriptor Indexing
+ Индексирование дескрипторов
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ Улучшает текстуру и обработку буфера и уровень трансляции Maxwell.
+Некоторые устройства Vulkan 1.1+ и все 1.2+ поддерживают это расширение.
+ Sample Shading
diff --git a/dist/languages/sv.ts b/dist/languages/sv.ts
index 57c4b5a21b..cfb5f38904 100644
--- a/dist/languages/sv.ts
+++ b/dist/languages/sv.ts
@@ -1159,6 +1159,18 @@ Högre tillstånd möjliggör fler funktioner och kan öka prestandan, men kan o
Enables vertex input dynamic state feature for better quality and performance.Aktiverar funktionen för dynamiskt tillstånd för vertexinmatning för bättre kvalitet och prestanda.
+
+
+ Descriptor Indexing
+ Indexering av deskriptorer
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ Förbättrar textur- och bufferthantering samt Maxwell-översättningslagret.
+Vissa Vulkan 1.1+ och alla 1.2+ enheter stöder detta tillägg.
+ Sample Shading
diff --git a/dist/languages/tr_TR.ts b/dist/languages/tr_TR.ts
index d6994d84ea..ab77e524a9 100644
--- a/dist/languages/tr_TR.ts
+++ b/dist/languages/tr_TR.ts
@@ -1113,6 +1113,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.Daha iyi kalite ve performans için Vertex dinamik durum özelliğini etkinleştirir.
+
+
+ Descriptor Indexing
+ Tanımlayıcı İndeksleme
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ Doku ve arabellek işlemeyi ve Maxwell çeviri katmanını iyileştirir. Bazı Vulkan 1.1 ve üzeri ile tüm 1.2 ve üzeri cihazlar bu uzantıyı destekler.
+ Sample Shading
diff --git a/dist/languages/uk.ts b/dist/languages/uk.ts
index a270cff802..7862915790 100644
--- a/dist/languages/uk.ts
+++ b/dist/languages/uk.ts
@@ -1154,6 +1154,18 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.Вмикає можливість динамічного стану введення вершин для кращих якості й продуктивності.
+
+
+ Descriptor Indexing
+ Індексування дескрипторів
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ Покращує взаємодію з текстурами й буфером, а також шар перетворення Maxwell.
+Це розширення підтримують деякі пристрої з Vulkan 1.1+ та всі з 1.2+.
+ Sample Shading
diff --git a/dist/languages/vi.ts b/dist/languages/vi.ts
index acf78ca01a..13f3690e85 100644
--- a/dist/languages/vi.ts
+++ b/dist/languages/vi.ts
@@ -1096,6 +1096,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/dist/languages/vi_VN.ts b/dist/languages/vi_VN.ts
index 692654ed70..c9e5c1f6c0 100644
--- a/dist/languages/vi_VN.ts
+++ b/dist/languages/vi_VN.ts
@@ -1096,6 +1096,18 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ Cải thiện việc xử lý texture và bộ đệm buffer, cũng như lớp dịch Maxwell.
+Một số thiết bị hỗ trợ Vulkan 1.1+ và tất cả thiết bị Vulkan 1.2+ đều hỗ trợ tiện ích mở rộng này.
+ Sample Shading
diff --git a/dist/languages/zh_CN.ts b/dist/languages/zh_CN.ts
index 510a0f97fb..6076354268 100644
--- a/dist/languages/zh_CN.ts
+++ b/dist/languages/zh_CN.ts
@@ -1152,6 +1152,18 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.开启顶点输入动态状态功能来获得更好的质量和性能。
+
+
+ Descriptor Indexing
+ 描述符索引
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+ 改进了纹理和缓冲处理以及 Maxwell 翻译层。
+部分 Vulkan 1.1 设备和所有 1.2 设备支持此扩展。
+ Sample Shading
diff --git a/dist/languages/zh_TW.ts b/dist/languages/zh_TW.ts
index b067fc50d8..a2bb3d29a2 100644
--- a/dist/languages/zh_TW.ts
+++ b/dist/languages/zh_TW.ts
@@ -1126,6 +1126,17 @@ Higher states allow for more features and can increase performance, but may caus
Enables vertex input dynamic state feature for better quality and performance.
+
+
+ Descriptor Indexing
+
+
+
+
+ Improves texture & buffer handling and the Maxwell translation layer.
+Some Vulkan 1.1+ and all 1.2+ devices support this extension.
+
+ Sample Shading
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
index 260df40f2f..d03a90e2a8 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/BooleanSetting.kt
@@ -31,6 +31,7 @@ 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_DESCRIPTOR_INDEXING("descriptor_indexing"),
RENDERER_SAMPLE_SHADING("sample_shading"),
GPU_UNSWIZZLE_ENABLED("gpu_unswizzle_enabled"),
PICTURE_IN_PICTURE("picture_in_picture"),
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
index 0408711449..95d6d52b5e 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/view/SettingsItem.kt
@@ -148,6 +148,13 @@ 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,
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
index 87cee32323..53ea56c08a 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/ui/SettingsFragmentPresenter.kt
@@ -280,6 +280,7 @@ class SettingsFragmentPresenter(
add(IntSetting.RENDERER_DYNA_STATE.key)
add(BooleanSetting.RENDERER_VERTEX_INPUT_DYNAMIC_STATE.key)
+ add(BooleanSetting.RENDERER_DESCRIPTOR_INDEXING.key)
add(IntSetting.RENDERER_SAMPLE_SHADING.key)
add(HeaderSetting(R.string.display))
diff --git a/src/android/app/src/main/res/values-ar/strings.xml b/src/android/app/src/main/res/values-ar/strings.xml
index b258480c9f..b9037fedab 100644
--- a/src/android/app/src/main/res/values-ar/strings.xml
+++ b/src/android/app/src/main/res/values-ar/strings.xml
@@ -525,6 +525,8 @@
معطلحالة ديناميكية لإدخال الرأسيتيح ميزة الحالة الديناميكية لإدخال الرأس لتحسين الجودة والأداء.
+ فهرسة الوصف
+ يحسن معالجة النسيج والمخزن المؤقت، بالإضافة إلى طبقة الترجمة Maxwell. مدعوم من بعض وحدات معالجة الرسومات Vulkan 1.1 وجميع وحدات معالجة الرسومات Vulkan 1.2+.تظليل العينةيسمح هذا الخيار بتنفيذ مُظلل الأجزاء لكل عينة في جزء متعدد العينات بدلاً من تنفيذه مرة واحدة لكل جزء. يُحسّن هذا من جودة الرسومات على حساب بعض الأداء.
diff --git a/src/android/app/src/main/res/values-ckb/strings.xml b/src/android/app/src/main/res/values-ckb/strings.xml
index a2d61d6fb5..80f511af2b 100644
--- a/src/android/app/src/main/res/values-ckb/strings.xml
+++ b/src/android/app/src/main/res/values-ckb/strings.xml
@@ -360,6 +360,8 @@
کۆمپایلکردنی شادەرەکان بەشێوەی ناڕێک. ئەمە ڕەنگە کەمکردنەوەی ستەتەر بکات بەڵام لەوانەیە هەڵەش دروست بکات.الحالة الديناميكية الممتدةناچالاک
+ فهرسة الواصفات
+ يحسن معالجة القوام والمخازن المؤقتة، بالإضافة إلى طبقة ترجمة ماكسويل. مدعوم من قبل بعض وحدات معالجة الرسومات التي تدعم فولكان 1.1 وجميع وحدات معالجة الرسومات التي تدعم فولكان 1.2+.پیشاندانڕێکخستنی شاشە
diff --git a/src/android/app/src/main/res/values-cs/strings.xml b/src/android/app/src/main/res/values-cs/strings.xml
index 40996e26f9..ad5530d3d2 100644
--- a/src/android/app/src/main/res/values-cs/strings.xml
+++ b/src/android/app/src/main/res/values-cs/strings.xml
@@ -486,6 +486,8 @@
VypnutoDynamický stav vstupu vrcholů (Vertex Input)Aktivuje funkci dynamického stavu vstupu vrcholů (Vertex Input Dynamic State) pro lepší kvalitu a výkon.
+ Indexování deskriptorů
+ 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+.ZobrazeníOrientace
diff --git a/src/android/app/src/main/res/values-de/strings.xml b/src/android/app/src/main/res/values-de/strings.xml
index 5105783815..4c5c912094 100644
--- a/src/android/app/src/main/res/values-de/strings.xml
+++ b/src/android/app/src/main/res/values-de/strings.xml
@@ -484,6 +484,8 @@ Wird der Handheld-Modus verwendet, verringert es die Auflösung und erhöht die
DeaktiviertVertex Input Dynamic StateAktiviert die Funktion \"Vertex Input Dynamic State\" für bessere Qualität und Leistung.
+ Deskriptor-Indizierung
+ 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.Sample ShadingErmö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.
diff --git a/src/android/app/src/main/res/values-es/strings.xml b/src/android/app/src/main/res/values-es/strings.xml
index f5a8f1dfd4..1dc1724889 100644
--- a/src/android/app/src/main/res/values-es/strings.xml
+++ b/src/android/app/src/main/res/values-es/strings.xml
@@ -519,6 +519,8 @@
DesactivadoEstado dinámico de entrada de vérticesActiva la función de estado dinámico de entrada de vértices para una mejor calidad y rendimiento.
+ Indexación del descriptor
+ 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+.Muestreo de sombreadoPermite 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.
diff --git a/src/android/app/src/main/res/values-fa/strings.xml b/src/android/app/src/main/res/values-fa/strings.xml
index e5c6c33225..9412b13f67 100644
--- a/src/android/app/src/main/res/values-fa/strings.xml
+++ b/src/android/app/src/main/res/values-fa/strings.xml
@@ -71,6 +71,8 @@
حذف فرمور آن را از دستگاه پاک میکند و ممکن است بر سازگاری بازیها تأثیر بگذارددر حال حذف فرمورفرمور با موفقیت حذف شد
+ نمایهسازی توصیفگر
+ مدیریت بافتها و بافرها و همچنین لایه ترجمه ماکسول را بهبود میبخشد. توسط برخی کارتهای گرافیک ولکان 1.1 و تمام کارتهای گرافیک ولکان 1.2+ پشتیبانی میشودفاکتور اورکلاک GPUبرای حداکثر عملکرد از 128 و برای حداکثر وفاداری گرافیکی از 512 استفاده کنید.متوسط (256)
diff --git a/src/android/app/src/main/res/values-fr/strings.xml b/src/android/app/src/main/res/values-fr/strings.xml
index b2abd184e5..b99e6f1613 100644
--- a/src/android/app/src/main/res/values-fr/strings.xml
+++ b/src/android/app/src/main/res/values-fr/strings.xml
@@ -471,6 +471,8 @@
DésactivéÉtat dynamique d\'entrée de sommetActive la fonctionnalité d\'état dynamique des entrées de sommets pour une meilleure qualité et de meilleures performances.
+ Indexation des descripteurs
+ 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+.AffichageOrientation
diff --git a/src/android/app/src/main/res/values-he/strings.xml b/src/android/app/src/main/res/values-he/strings.xml
index 8995c5c1eb..0bb25bff20 100644
--- a/src/android/app/src/main/res/values-he/strings.xml
+++ b/src/android/app/src/main/res/values-he/strings.xml
@@ -390,6 +390,8 @@
מקמפל שיידרים באופן אסינכרוני. זה עשוי להפחית קפיצות אך גם עלול לגרום לתקלות גרפיות.מצב דינמי מורחבמושבת
+ אינדוקס תיאורים
+ משפר טיפול במרקמים ומאגרים, כמו גם בשכבת התרגום של Maxwell. נתמך בחלק מכרטיסי ה-Vulkan 1.1 ובכל כרטיסי ה-Vulkan 1.2+.תצוגהכיוון
diff --git a/src/android/app/src/main/res/values-hu/strings.xml b/src/android/app/src/main/res/values-hu/strings.xml
index f1d52b7026..5a3eeeb40e 100644
--- a/src/android/app/src/main/res/values-hu/strings.xml
+++ b/src/android/app/src/main/res/values-hu/strings.xml
@@ -379,6 +379,8 @@
A shaderek aszinkron fordítása. Csökkentheti a belassulásokat, de hibákat is okozhat.Kiterjesztett Dinamikus ÁllapotLetiltva
+ Deskriptor Indexelés
+ 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.KijelzőOrientáció
diff --git a/src/android/app/src/main/res/values-id/strings.xml b/src/android/app/src/main/res/values-id/strings.xml
index 61c361a86a..64bf270bbb 100644
--- a/src/android/app/src/main/res/values-id/strings.xml
+++ b/src/android/app/src/main/res/values-id/strings.xml
@@ -411,6 +411,8 @@
Kompilasi shader secara asinkron. Ini dapat mengurangi lag tetapi juga dapat menyebabkan glitch.Status Dinamis EkstensiDinonaktifkan
+ Pengindeks Deskriptor
+ Meningkatkan penanganan tekstur dan buffer, serta lapisan terjemahan Maxwell. Didukung oleh beberapa GPU Vulkan 1.1 dan semua GPU Vulkan 1.2+.TampilanOrientasi
diff --git a/src/android/app/src/main/res/values-it/strings.xml b/src/android/app/src/main/res/values-it/strings.xml
index 15ad312407..8d5203954d 100644
--- a/src/android/app/src/main/res/values-it/strings.xml
+++ b/src/android/app/src/main/res/values-it/strings.xml
@@ -418,6 +418,8 @@
Compila gli shader in modo asincrono. Può ridurre gli scatti, ma può anche causare glitch grafici.Stato dinamico estesoDisabilitato
+ Indicizzazione descrittori
+ 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+.SchermoOrientamento
diff --git a/src/android/app/src/main/res/values-ja/strings.xml b/src/android/app/src/main/res/values-ja/strings.xml
index 944db6a097..3a89b40bf6 100644
--- a/src/android/app/src/main/res/values-ja/strings.xml
+++ b/src/android/app/src/main/res/values-ja/strings.xml
@@ -377,6 +377,8 @@
シェーダーを非同期でコンパイルします。これによりカクつきが減る可能性がありますが、グラフィックの不具合が発生する場合もあります。拡張ダイナミックステート無効
+ ディスクリプタインデキシング
+ テクスチャとバッファの処理、およびMaxwell翻訳レイヤーを改善します。一部のVulkan 1.1 GPUとすべてのVulkan 1.2+ GPUでサポートされています。ディスプレイ画面の向き
diff --git a/src/android/app/src/main/res/values-ko/strings.xml b/src/android/app/src/main/res/values-ko/strings.xml
index 4ee731205b..d01401d073 100644
--- a/src/android/app/src/main/res/values-ko/strings.xml
+++ b/src/android/app/src/main/res/values-ko/strings.xml
@@ -377,6 +377,8 @@
셰이더를 비동기적으로 컴파일합니다. 이로 인해 끊김 현상이 줄어들 수 있지만 그래픽 오류가 발생할 수도 있습니다.확장 동적 상태비활성화됨
+ 디스크립터 인덱싱
+ 텍스처 및 버퍼 처리와 Maxwell 변환 레이어를 개선합니다. 일부 Vulkan 1.1 GPU 및 모든 Vulkan 1.2+ GPU에서 지원됩니다.디스플레이화면 방향
diff --git a/src/android/app/src/main/res/values-nb/strings.xml b/src/android/app/src/main/res/values-nb/strings.xml
index 100525ec8f..f33b0422f3 100644
--- a/src/android/app/src/main/res/values-nb/strings.xml
+++ b/src/android/app/src/main/res/values-nb/strings.xml
@@ -360,6 +360,8 @@
Kompilerer shadere asynkront. Dette kan redusere rykk, men kan også forårsake grafiske feil.Utvidet dynamisk tilstandDeaktivert
+ Beskrivelsesindeksering
+ Forbedrer tekstur- og bufferhåndtering, samt Maxwell-oversettelseslaget. Støttes av noen Vulkan 1.1 GPU-er og alle Vulkan 1.2+ GPU-er.SkjermOrientering
diff --git a/src/android/app/src/main/res/values-pl/strings.xml b/src/android/app/src/main/res/values-pl/strings.xml
index 700ae6464e..69db651a60 100644
--- a/src/android/app/src/main/res/values-pl/strings.xml
+++ b/src/android/app/src/main/res/values-pl/strings.xml
@@ -484,6 +484,8 @@
WyłączoneDynamiczny stan wejścia wierzchołkówWłącza funkcję dynamicznego stanu wejścia wierzchołków, poprawiając jakość i wydajność.
+ Indeksowanie deskryptorów
+ 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+.Cieniowanie próbkowanePozwala 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.
diff --git a/src/android/app/src/main/res/values-pt-rBR/strings.xml b/src/android/app/src/main/res/values-pt-rBR/strings.xml
index 61ed535eeb..480b2c953a 100644
--- a/src/android/app/src/main/res/values-pt-rBR/strings.xml
+++ b/src/android/app/src/main/res/values-pt-rBR/strings.xml
@@ -467,6 +467,8 @@
DesativadoVertex Input Dynamic StateAtiva o recurso de vertex input dynamic state para melhor qualidade e desempenho.
+ Descriptor Indexing
+ 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.TelaOrientação
diff --git a/src/android/app/src/main/res/values-pt-rPT/strings.xml b/src/android/app/src/main/res/values-pt-rPT/strings.xml
index 049568108c..5b66555953 100644
--- a/src/android/app/src/main/res/values-pt-rPT/strings.xml
+++ b/src/android/app/src/main/res/values-pt-rPT/strings.xml
@@ -383,6 +383,8 @@
Compila shaders de forma assíncrona. Isto pode reduzir engasgadelas, mas também pode introduzir falhas gráficas.Estado Dinâmico EstendidoDesativado
+ Indexação de descritores
+ 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+.EcrãOriantação
diff --git a/src/android/app/src/main/res/values-ru/strings.xml b/src/android/app/src/main/res/values-ru/strings.xml
index ae7a425eb7..9627bcd6a0 100644
--- a/src/android/app/src/main/res/values-ru/strings.xml
+++ b/src/android/app/src/main/res/values-ru/strings.xml
@@ -520,6 +520,8 @@
ОтключеноДинамическое состояние ввода вершинВключает функцию динамического состояния ввода вершин для повышения качества и производительности
+ Индексирование дескрипторов
+ Улучшает обработку текстур и буферов, а также слой перевода Maxwell. Поддерживается некоторыми ГПУ Vulkan 1.1 и всеми ГПУ Vulkan 1.2+.Сэмпловое затенениеПозволяет шейдеру фрагментов выполняться для каждого сэмпла в многосэмпловом фрагменте, а не один раз на фрагмент. Улучшает качество графики ценой некоторого падения производительности.
diff --git a/src/android/app/src/main/res/values-sr/strings.xml b/src/android/app/src/main/res/values-sr/strings.xml
index 69c2994e21..daa9c99cea 100644
--- a/src/android/app/src/main/res/values-sr/strings.xml
+++ b/src/android/app/src/main/res/values-sr/strings.xml
@@ -382,6 +382,8 @@
Саставља схадера асинхроно. Ово може умањити затезаче, али могу такође да уведе пропусте.Проширена динамичка државаИскључено
+ Индексирање дескриптора
+ Побољшава текстуру и руковање међуспремника, као и преводилачки слој Маквелл. Подржани од стране неких Вулкана 1.1 ГПУ-а и сви Вулкан 1.2+ ГПУ.ПриказОријентација
diff --git a/src/android/app/src/main/res/values-uk/strings.xml b/src/android/app/src/main/res/values-uk/strings.xml
index b27de2b36c..6ba5adced2 100644
--- a/src/android/app/src/main/res/values-uk/strings.xml
+++ b/src/android/app/src/main/res/values-uk/strings.xml
@@ -521,6 +521,8 @@
ВимкненоДинамічний стан введення вершинВмикає можливість динамічного стану введення вершин для кращих якості й продуктивності.
+ Індексація дескрипторів
+ Покращує обробку текстур та буферів, а також шар перекладу Maxwell. Підтримується деякими GPU Vulkan 1.1 та всіма GPU Vulkan 1.2+.Простий шейдингДозволяє виконувати фрагмент шейдера для кожного зразка в багатозразковому фрагменті замість одного разу для кожного фрагмента. Покращує якість графікі ціною втрати продуктивності.
diff --git a/src/android/app/src/main/res/values-vi/strings.xml b/src/android/app/src/main/res/values-vi/strings.xml
index b919eca7d5..35c67a5d79 100644
--- a/src/android/app/src/main/res/values-vi/strings.xml
+++ b/src/android/app/src/main/res/values-vi/strings.xml
@@ -358,6 +358,8 @@
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.Trạng thái động mở rộngĐã tắt
+ Lập chỉ mục bộ mô tả
+ 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+.Hiển thịHướng màn hình
diff --git a/src/android/app/src/main/res/values-zh-rCN/strings.xml b/src/android/app/src/main/res/values-zh-rCN/strings.xml
index eb20f3079b..61f335d51c 100644
--- a/src/android/app/src/main/res/values-zh-rCN/strings.xml
+++ b/src/android/app/src/main/res/values-zh-rCN/strings.xml
@@ -514,6 +514,8 @@
已禁用顶点输入动态状态开启顶点输入动态状态功能来获得更好的质量和性能。
+ 描述符索引
+ 改进纹理和缓冲区处理以及Maxwell转换层。部分Vulkan 1.1 GPU和所有Vulkan 1.2+ GPU支持。采样着色允许片段着色器在多采样片段中每个样本执行一次,而不是每个片段执行一次。以提高性能为代价改善图形质量。
diff --git a/src/android/app/src/main/res/values-zh-rTW/strings.xml b/src/android/app/src/main/res/values-zh-rTW/strings.xml
index f1f7cf4166..a336d5b66a 100644
--- a/src/android/app/src/main/res/values-zh-rTW/strings.xml
+++ b/src/android/app/src/main/res/values-zh-rTW/strings.xml
@@ -470,6 +470,8 @@
已停用頂點輸入動態狀態啟用頂點輸入動態狀態以取得更佳的品質及性能
+ 描述符索引
+ 改進紋理和緩衝區處理以及Maxwell轉換層。部分Vulkan 1.1 GPU和所有Vulkan 1.2+ GPU支援。顯示方向
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index d571436180..119b942efe 100644
--- a/src/android/app/src/main/res/values/strings.xml
+++ b/src/android/app/src/main/res/values/strings.xml
@@ -531,6 +531,8 @@
DisabledVertex Input Dynamic StateEnables vertex input dynamic state feature for better quality and performance.
+ Descriptor Indexing
+ 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.Sample ShadingAllows 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.
diff --git a/src/common/settings.h b/src/common/settings.h
index b5aee24757..8b70a82470 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -606,6 +606,7 @@ struct Values {
true,
#endif
"vertex_input_dynamic_state", Category::RendererExtensions};
+ SwitchableSetting descriptor_indexing{linkage, false, "descriptor_indexing", Category::RendererExtensions};
Setting renderer_debug{linkage, false, "debug", Category::RendererDebug};
Setting renderer_shader_feedback{linkage, false, "shader_feedback",
diff --git a/src/qt_common/config/shared_translation.cpp b/src/qt_common/config/shared_translation.cpp
index 5e0c0d8b44..0f1ff1965c 100644
--- a/src/qt_common/config/shared_translation.cpp
+++ b/src/qt_common/config/shared_translation.cpp
@@ -286,6 +286,10 @@ std::unique_ptr 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, 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 "
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
index 5f86506961..0235c53ea1 100644
--- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp
@@ -611,18 +611,6 @@ 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 env_ptrs;
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp
index 5075a79bcd..ec6f54da22 100644
--- a/src/video_core/vulkan_common/vulkan_device.cpp
+++ b/src/video_core/vulkan_common/vulkan_device.cpp
@@ -465,6 +465,18 @@ 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(&diagnostics_nv) : static_cast(&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();
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h
index ad9d53ce16..fd189b19b6 100644
--- a/src/video_core/vulkan_common/vulkan_device.h
+++ b/src/video_core/vulkan_common/vulkan_device.h
@@ -102,6 +102,7 @@ VK_DEFINE_HANDLE(VmaAllocator)
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)
@@ -439,6 +440,11 @@ 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;