From 9bcef148bf8ff97b7fe78522d3edee2aa8e8f720 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Sun, 15 Oct 2023 15:23:23 +0200 Subject: [PATCH] Minor menu tweaks and display the vulkan device name in the menus --- src/common/engine/namedef.h | 2 ++ src/common/menu/menudef.cpp | 7 ++++++- src/common/rendering/vulkan/vk_renderdevice.cpp | 11 +++++++++++ wadsrc/static/language.0 | 2 +- wadsrc/static/menudef.txt | 14 ++++++-------- 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/common/engine/namedef.h b/src/common/engine/namedef.h index 800667c06..a9e1fe683 100644 --- a/src/common/engine/namedef.h +++ b/src/common/engine/namedef.h @@ -260,6 +260,8 @@ xx(Mididevices) xx(Aldevices) xx(Alresamplers) +xx(Vkdevices) + // Decorate compatibility functions xx(BuiltinRandom) xx(BuiltinRandom2) diff --git a/src/common/menu/menudef.cpp b/src/common/menu/menudef.cpp index e81bda2d2..da6dba249 100644 --- a/src/common/menu/menudef.cpp +++ b/src/common/menu/menudef.cpp @@ -66,7 +66,7 @@ PClass *DefaultOptionMenuClass; void I_BuildALDeviceList(FOptionValues *opt); void I_BuildALResamplersList(FOptionValues *opt); - +void I_BuildVKDeviceList(FOptionValues *opt); DEFINE_GLOBAL_NAMED(OptionSettings, OptionMenuSettings) @@ -1682,6 +1682,11 @@ void M_CreateMenus() { I_BuildALResamplersList(*opt); } + opt = OptionValues.CheckKey(NAME_Vkdevices); + if (opt != nullptr) + { + I_BuildVKDeviceList(*opt); + } } diff --git a/src/common/rendering/vulkan/vk_renderdevice.cpp b/src/common/rendering/vulkan/vk_renderdevice.cpp index 3d06592b4..57419cbe1 100644 --- a/src/common/rendering/vulkan/vk_renderdevice.cpp +++ b/src/common/rendering/vulkan/vk_renderdevice.cpp @@ -62,6 +62,7 @@ #include #include "engineerrors.h" #include "c_dispatch.h" +#include "menu.h" FString JitCaptureStackTrace(int framesToSkip, bool includeNativeFrames, int maxFrames = -1); @@ -97,6 +98,16 @@ CCMD(vk_listdevices) } } +void I_BuildVKDeviceList(FOptionValues* opt) +{ + for (size_t i = 0; i < SupportedDevices.size(); i++) + { + unsigned int idx = opt->mValues.Reserve(1); + opt->mValues[idx].Value = (double)i; + opt->mValues[idx].Text = SupportedDevices[i].Device->Properties.Properties.deviceName; + } +} + void VulkanError(const char* text) { throw CVulkanError(text); diff --git a/wadsrc/static/language.0 b/wadsrc/static/language.0 index 549283172..2496af608 100644 --- a/wadsrc/static/language.0 +++ b/wadsrc/static/language.0 @@ -773,7 +773,7 @@ Environments to save,REVMNU_Environments_to_save,,,,Prostředí k uložení,"Mil Vulkan Options (Experimental),DSPLYMNU_VKOPT,,,,Nastavení Vulkanu (Experimentální),Vulkan-indstillinger (eksperimentelt),Vulkan Optionen (Experimentell),Vulka Ρυθμίσεις (Πειραματικές),Agordoj por Vulkan (Eksperimenta),Opciones de Vulkan (Experimental),,Vulkan-asetukset (kokeellinen),Options Vulkan (Expérimental),Vulkan Beállítások (Kísérleti),Opzioni Vulkan (Sperimentale),Vulkan機能オプション(実験的),벌칸 설정(실험적),Vulkan-opties (Experimenteel),Vulkan Alternativer (Eksperimentell),Opcje Vulkan (Eksperymentalne),Opções de Vulkan (experimental),,Setări Mod Vulkan (În curs de testare),Настройки Vulkan (экспериментальные),Vulkan подешавања (експериментална),Vulkan Seçenekleri (Deneysel),Налаштування Vulkan (експериментальні), Vulkan Options,VK_TITLE,,,,Nastavení Vulkanu,Vulkan-indstillinger,Vulkan Optionen,Vulkan Ρυθμίσεις,Agordoj por Vulkan,Opciones de Vulkan,,Vulkan-asetukset,Options Vulkan,Vulkan Beállítások,Opzioni Vulkan,Vulkan機能オプション,벌칸 설정,Vulkan-opties,Vulkan-alternativer,Opcje Vulkan,Opções de Vulkan,,Setări Mod Vulkan,Настройки Vulkan,Vulkan подешавања,Vulkan Seçenekleri,Налаштування Vulkan, Enable Vulkan,VKMNU_ENABLE,,,,Povolit Vulkan,Aktiver Vulkan,Aktiviere Vulkan,Ενεργοποιηση του Vulkan,Ŝalti Vulkan,Activar Vulkan,,Ota käyttöön Vulkan,Activer Vulkan,Vulkan Engedélyezése,Abilita Vulkan,Vulkanを有効化,벌칸 렌더러 사용,Vulkan inschakelen,Aktiver Vulkan,Włącz Vulkan,Ativar Vulkan,,Activează modul video Vulkan,Использовать Vulkan,Омогући Vulkan,Vulkan'ı Etkinleştir,Увімкнути Vulkan, -Vulkan Device ID,VKMNU_DEVICE,,,,ID zařízení Vulkanu,Vulkan-enheds-id,Vulkan Geräte ID,Vulkan ID Συσκευής,Identigo de Vulkan-aparato,ID de dispositivo Vulkan,,Vulkan-laitetunniste,ID du périphérique Vulkan,Vulkan Eszköz ID,Dispositivo ID Vulkan,Vulkanデバイス ID,벌칸 장치 아이디,Vulkan apparaat-ID,Vulkan Enhets-ID,ID urządzenia Vulkan,ID do dispositivo Vulkan,,ID Dispozitiv Vulkan,ИД устройства Vulkan,Vulkan ID уређаја,Vulkan Cihaz Kimliği,ID пристрою Vulkan, +Vulkan Device,VKMNU_DEVICE,,,,ID zařízení Vulkanu,Vulkan-enheds-id,Vulkan Geräte ID,Vulkan ID Συσκευής,Identigo de Vulkan-aparato,ID de dispositivo Vulkan,,Vulkan-laitetunniste,ID du périphérique Vulkan,Vulkan Eszköz ID,Dispositivo ID Vulkan,Vulkanデバイス ID,벌칸 장치 아이디,Vulkan apparaat-ID,Vulkan Enhets-ID,ID urządzenia Vulkan,ID do dispositivo Vulkan,,ID Dispozitiv Vulkan,ИД устройства Vulkan,Vulkan ID уређаја,Vulkan Cihaz Kimliği,ID пристрою Vulkan, High Dynamic Range,VKMNU_HDR,,,,Vysoký dynamický rozsah (HDR),Høj dynamisk rækkevidde,,Υψηλό Δυναμική Εμβέλεια,Alta dinamika intervalo,Alto rango dinámico,,Korkea dynamiikka-alue (HDR),,,,ハイダイナミックレンジ,하이 다이나믹 레인지,Hoog dynamisch bereik,Høyt dynamisk område,Obraz HDR,Alto alcance dinâmico (HDR),,HDR,Расширенный динамический диапазон (HDR),HDR,Yüksek Dinamik Aralık,HDR, Warning: The Vulkan renderer is highly experimental!,VK_WARNING,,,,Varování: Vulkan renderer je velmi experimentální!,Advarsel: Vulkan-rendereren er meget eksperimentel!,Achtung: Der Vulkan Renderer ist noch sehr experimentell!,Προειδοποίηση: Ο Vulkan renderer είναι υψηλά πειραματικός!,Averto: La bildigilo de Vulkan estas alte eksperimenta!,Advertencia: ¡El renderizado por Vulkan es altamente experimental!,,Varoitus: Vulkan-hahmonnin on hyvin kokeellinen!,Attention: Le moteur de rendu Vulkan est très expérimental!,Vigyázat: A Vulkan renderer még teljesen kísérleti!,Attenzione: il motore grafico Vulkan è altamente sperimentale!,警告:Vulkanレンダラーは実験段階です!,경고: 벌칸 렌더러는 매우 실험적입니다!,Waarschuwing: De Vulkan renderer is zeer experimenteel!,Advarsel: Vulkan-rendereren er svært eksperimentell!,Uwaga: Renderer Vulkan jest bardzo eksperymentalny!,Atenção: o renderizador Vulkan é altamente experimental!,,Atenție: Modul Vulkan este încă în curs de testare!,Внимание: рендерер Vulkan в стадии тестирования!,УПОЗОРЕЊЕ: Vulkan рендерер је врло експерименталан!,Uyarı: Vulkan işleyici son derece deneyseldir!,Увага: рендер Vulkan на стадії тестування!, These options will require a restart to take effect.,VK_RESTART,,,,Tato nastavení vyžadují restart hry.,Disse indstillinger kræver en genstart for at få effekt.,Diese Option erfordert einen Neustart!,Αυτές η ρυθμίσεις θα χρειαστούνε επανεκκίνηση για να ισχύσουν,Ĉi tiuj agordoj bezonos relanĉon por efikiĝi.,Estas opciones requieren reiniciar para tener efecto.,,Nämä asetukset vaativat uudelleenkäynnistyksen astuakseen voimaan.,Ces options nécessitent un redémarrage.,Ezen beállítások életbelépéséhez újraindítás szükséges.,Queste opzioni richiedono il riavvio per avere effetto.,これらのオプションを有効にするには再起動が必要です。,이 설정을 적용하려면 게임을 재시작해야 합니다.,Deze opties vereisen een herstart om van kracht te worden.,Disse alternativene krever en omstart for å tre i kraft.,"Te opcje będą wymagały ponownego włączenia, aby miały efekt.",É necessário reiniciar para que essas configurações surtam efeito.,É necessário reiniciar para estas configurações fazerem efeito.,Aceste setări necesită o repornire pentru a putea fi aplicate,Для применения этих изменений требуется перезапуск игры.,Морате поново покренути GZDoom да би промене ступиле на снагу.,Bu seçeneklerin etkili olması için yeniden başlatılması gerekecektir.,Для застосування змін протрібно перезапустити гру., diff --git a/wadsrc/static/menudef.txt b/wadsrc/static/menudef.txt index e320e6912..092f00fc4 100644 --- a/wadsrc/static/menudef.txt +++ b/wadsrc/static/menudef.txt @@ -2388,6 +2388,10 @@ OptionValue MaxFps 200, "$OPTVAL_200FPS" } +OptionString VKDevices +{ + // filled in by the display code +} OptionMenu VideoModeMenu protected { @@ -2405,10 +2409,8 @@ OptionMenu VideoModeMenu protected StaticText " " Option "$DSPLYMNU_CAPFPS", "cl_capfps", "OffOn" - - - StaticText " " -// Option "$VKMNU_HDR", "vk_hdr", "OnOff" + Option "$VKMNU_HDR", "vk_hdr", "OnOff" + Option "$VKMNU_DEVICE", "vk_device", "VKDevices" StaticText "" StaticText "$VIDMNU_CUSTOMRES" @@ -2421,10 +2423,6 @@ OptionMenu VideoModeMenu protected StaticText "" SubMenu "$VIDMNU_RESPRESET", CustomResolutionMenu - - StaticText "" - Option "$VIDMNU_PREFERBACKEND", "vid_preferbackend", "PreferBackend" - TextField "$VKMNU_DEVICE", vk_device } OptionMenu CustomResolutionMenu protected