diff --git a/src/xenia/apu/alsa/alsa_audio_system.h b/src/xenia/apu/alsa/alsa_audio_system.h index e97719e37..93ff523d6 100644 --- a/src/xenia/apu/alsa/alsa_audio_system.h +++ b/src/xenia/apu/alsa/alsa_audio_system.h @@ -25,6 +25,8 @@ class ALSAAudioSystem : public AudioSystem { static std::unique_ptr Create(cpu::Processor* processor); + std::string name() const override { return "ALSA"; } + X_RESULT CreateDriver(size_t index, xe::threading::Semaphore* semaphore, AudioDriver** out_driver) override; AudioDriver* CreateDriver(xe::threading::Semaphore* semaphore, diff --git a/src/xenia/apu/audio_system.h b/src/xenia/apu/audio_system.h index ad9414b48..86bdca5b0 100644 --- a/src/xenia/apu/audio_system.h +++ b/src/xenia/apu/audio_system.h @@ -36,6 +36,8 @@ class AudioSystem { virtual ~AudioSystem(); + virtual std::string name() const = 0; + Memory* memory() const { return memory_; } cpu::Processor* processor() const { return processor_; } XmaDecoder* xma_decoder() const { return xma_decoder_.get(); } diff --git a/src/xenia/apu/nop/nop_audio_system.h b/src/xenia/apu/nop/nop_audio_system.h index 3d101bc94..6a313e7d7 100644 --- a/src/xenia/apu/nop/nop_audio_system.h +++ b/src/xenia/apu/nop/nop_audio_system.h @@ -25,6 +25,8 @@ class NopAudioSystem : public AudioSystem { static std::unique_ptr Create(cpu::Processor* processor); + std::string name() const override { return "NOP"; } + X_STATUS CreateDriver(size_t index, xe::threading::Semaphore* semaphore, AudioDriver** out_driver) override; AudioDriver* CreateDriver(xe::threading::Semaphore* semaphore, diff --git a/src/xenia/apu/sdl/sdl_audio_system.h b/src/xenia/apu/sdl/sdl_audio_system.h index 16ef6d329..50f372eee 100644 --- a/src/xenia/apu/sdl/sdl_audio_system.h +++ b/src/xenia/apu/sdl/sdl_audio_system.h @@ -25,6 +25,8 @@ class SDLAudioSystem : public AudioSystem { static std::unique_ptr Create(cpu::Processor* processor); + std::string name() const override { return "SDL"; } + X_RESULT CreateDriver(size_t index, xe::threading::Semaphore* semaphore, AudioDriver** out_driver) override; AudioDriver* CreateDriver(xe::threading::Semaphore* semaphore, diff --git a/src/xenia/apu/xaudio2/xaudio2_audio_system.h b/src/xenia/apu/xaudio2/xaudio2_audio_system.h index 6df42106a..b70fadd6a 100644 --- a/src/xenia/apu/xaudio2/xaudio2_audio_system.h +++ b/src/xenia/apu/xaudio2/xaudio2_audio_system.h @@ -25,6 +25,8 @@ class XAudio2AudioSystem : public AudioSystem { static std::unique_ptr Create(cpu::Processor* processor); + std::string name() const override { return "XAudio2"; } + X_RESULT CreateDriver(size_t index, xe::threading::Semaphore* semaphore, AudioDriver** out_driver) override; AudioDriver* CreateDriver(xe::threading::Semaphore* semaphore, diff --git a/src/xenia/gpu/d3d12/d3d12_command_processor.cc b/src/xenia/gpu/d3d12/d3d12_command_processor.cc index 3af412e80..0a08debf2 100644 --- a/src/xenia/gpu/d3d12/d3d12_command_processor.cc +++ b/src/xenia/gpu/d3d12/d3d12_command_processor.cc @@ -9,12 +9,14 @@ #include "xenia/gpu/d3d12/d3d12_command_processor.h" #include +#include "xenia/apu/audio_system.h" #include "xenia/base/assert.h" #include "xenia/base/byte_order.h" #include "xenia/base/cvar.h" #include "xenia/base/logging.h" #include "xenia/base/math.h" #include "xenia/base/profiling.h" +#include "xenia/emulator.h" #include "xenia/gpu/d3d12/d3d12_graphics_system.h" #include "xenia/gpu/d3d12/d3d12_shader.h" #include "xenia/gpu/draw_util.h" @@ -22,6 +24,7 @@ #include "xenia/gpu/packet_disassembler.h" #include "xenia/gpu/registers.h" #include "xenia/gpu/xenos.h" +#include "xenia/kernel/kernel_state.h" #include "xenia/ui/d3d12/d3d12_presenter.h" #include "xenia/ui/d3d12/d3d12_util.h" @@ -795,6 +798,10 @@ std::string D3D12CommandProcessor::GetWindowTitleText() const { title << ' ' << draw_resolution_scale_x << 'x' << draw_resolution_scale_y; } } + auto* audio_system = kernel_state_->emulator()->audio_system(); + if (audio_system) { + title << " - " << audio_system->name(); + } return title.str(); } diff --git a/src/xenia/gpu/vulkan/vulkan_command_processor.cc b/src/xenia/gpu/vulkan/vulkan_command_processor.cc index 4050a66ef..adf47c24f 100644 --- a/src/xenia/gpu/vulkan/vulkan_command_processor.cc +++ b/src/xenia/gpu/vulkan/vulkan_command_processor.cc @@ -12,11 +12,13 @@ #include #include +#include "xenia/apu/audio_system.h" #include "xenia/base/assert.h" #include "xenia/base/byte_order.h" #include "xenia/base/logging.h" #include "xenia/base/math.h" #include "xenia/base/profiling.h" +#include "xenia/emulator.h" #include "xenia/gpu/draw_util.h" #include "xenia/gpu/gpu_flags.h" #include "xenia/gpu/packet_disassembler.h" @@ -130,7 +132,10 @@ std::string VulkanCommandProcessor::GetWindowTitleText() const { title << ' ' << draw_resolution_scale_x << 'x' << draw_resolution_scale_y; } } - title << " - HEAVILY INCOMPLETE, early development"; + auto* audio_system = kernel_state_->emulator()->audio_system(); + if (audio_system) { + title << " - " << audio_system->name(); + } return title.str(); } diff --git a/src/xenia/gpu/vulkan/vulkan_graphics_system.cc b/src/xenia/gpu/vulkan/vulkan_graphics_system.cc index b7c9ef92e..3c80d766a 100644 --- a/src/xenia/gpu/vulkan/vulkan_graphics_system.cc +++ b/src/xenia/gpu/vulkan/vulkan_graphics_system.cc @@ -27,7 +27,7 @@ std::string VulkanGraphicsSystem::name() const { if (vulkan_command_processor != nullptr) { return vulkan_command_processor->GetWindowTitleText(); } - return "Vulkan - HEAVILY INCOMPLETE, early development"; + return "Vulkan"; } X_STATUS VulkanGraphicsSystem::Setup(cpu::Processor* processor,