parent
0d2d07e8e6
commit
8c69a4df09
|
@ -15,12 +15,12 @@
|
|||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\xenia\apu\apu.cc" />
|
||||
<ClCompile Include="src\xenia\apu\apu_flags.cc" />
|
||||
<ClCompile Include="src\xenia\apu\audio_driver.cc" />
|
||||
<ClCompile Include="src\xenia\apu\audio_system.cc" />
|
||||
<ClCompile Include="src\xenia\apu\nop\nop_apu.cc" />
|
||||
<ClCompile Include="src\xenia\apu\nop\nop_apu_flags.cc" />
|
||||
<ClCompile Include="src\xenia\apu\nop\nop_audio_system.cc" />
|
||||
<ClCompile Include="src\xenia\apu\xaudio2\xaudio2_apu.cc" />
|
||||
<ClCompile Include="src\xenia\apu\xaudio2\xaudio2_apu_flags.cc" />
|
||||
<ClCompile Include="src\xenia\apu\xaudio2\xaudio2_audio_driver.cc" />
|
||||
<ClCompile Include="src\xenia\apu\xaudio2\xaudio2_audio_system.cc" />
|
||||
<ClCompile Include="src\xenia\apu\xma_context.cc" />
|
||||
|
@ -63,7 +63,7 @@
|
|||
<ClCompile Include="src\xenia\cpu\compiler\passes\simplification_pass.cc" />
|
||||
<ClCompile Include="src\xenia\cpu\compiler\passes\validation_pass.cc" />
|
||||
<ClCompile Include="src\xenia\cpu\compiler\passes\value_reduction_pass.cc" />
|
||||
<ClCompile Include="src\xenia\cpu\cpu.cc" />
|
||||
<ClCompile Include="src\xenia\cpu\cpu_flags.cc" />
|
||||
<ClCompile Include="src\xenia\cpu\debug_info.cc" />
|
||||
<ClCompile Include="src\xenia\cpu\entry_table.cc" />
|
||||
<ClCompile Include="src\xenia\cpu\export_resolver.cc" />
|
||||
|
@ -102,7 +102,7 @@
|
|||
<ClCompile Include="src\xenia\gpu\gl4\circular_buffer.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gl4\command_processor.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gl4\draw_batcher.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gl4\gl4_gpu.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gl4\gl4_gpu_flags.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gl4\gl4_graphics_system.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gl4\gl4_profiler_display.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gl4\gl4_shader.cc" />
|
||||
|
@ -110,7 +110,7 @@
|
|||
<ClCompile Include="src\xenia\gpu\gl4\gl_context.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gl4\texture_cache.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gl4\wgl_control.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gpu.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\gpu_flags.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\graphics_system.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\register_file.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\sampler_info.cc" />
|
||||
|
@ -118,7 +118,7 @@
|
|||
<ClCompile Include="src\xenia\gpu\texture_info.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\tracing.cc" />
|
||||
<ClCompile Include="src\xenia\gpu\ucode_disassembler.cc" />
|
||||
<ClCompile Include="src\xenia\hid\hid.cc" />
|
||||
<ClCompile Include="src\xenia\hid\hid_flags.cc" />
|
||||
<ClCompile Include="src\xenia\hid\input_driver.cc" />
|
||||
<ClCompile Include="src\xenia\hid\input_system.cc" />
|
||||
<ClCompile Include="src\xenia\hid\nop\nop_hid.cc" />
|
||||
|
@ -267,15 +267,12 @@
|
|||
<ClCompile Include="third_party\xxhash\xxhash.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\xenia\apu\apu-private.h" />
|
||||
<ClInclude Include="src\xenia\apu\apu.h" />
|
||||
<ClInclude Include="src\xenia\apu\apu_flags.h" />
|
||||
<ClInclude Include="src\xenia\apu\audio_driver.h" />
|
||||
<ClInclude Include="src\xenia\apu\audio_system.h" />
|
||||
<ClInclude Include="src\xenia\apu\nop\nop_apu-private.h" />
|
||||
<ClInclude Include="src\xenia\apu\nop\nop_apu.h" />
|
||||
<ClInclude Include="src\xenia\apu\nop\nop_apu_flags.h" />
|
||||
<ClInclude Include="src\xenia\apu\nop\nop_audio_system.h" />
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_apu-private.h" />
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_apu.h" />
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_apu_flags.h" />
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_audio_driver.h" />
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_audio_system.h" />
|
||||
<ClInclude Include="src\xenia\apu\xma_context.h" />
|
||||
|
@ -328,7 +325,7 @@
|
|||
<ClInclude Include="src\xenia\cpu\compiler\passes\simplification_pass.h" />
|
||||
<ClInclude Include="src\xenia\cpu\compiler\passes\validation_pass.h" />
|
||||
<ClInclude Include="src\xenia\cpu\compiler\passes\value_reduction_pass.h" />
|
||||
<ClInclude Include="src\xenia\cpu\cpu-private.h" />
|
||||
<ClInclude Include="src\xenia\cpu\cpu_flags.h" />
|
||||
<ClInclude Include="src\xenia\cpu\debug_info.h" />
|
||||
<ClInclude Include="src\xenia\cpu\entry_table.h" />
|
||||
<ClInclude Include="src\xenia\cpu\export_resolver.h" />
|
||||
|
@ -373,7 +370,7 @@
|
|||
<ClInclude Include="src\xenia\gpu\gl4\circular_buffer.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gl4\command_processor.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gl4\draw_batcher.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gl4\gl4_gpu-private.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gl4\gl4_gpu_flags.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gl4\gl4_graphics_system.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gl4\gl4_profiler_display.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gl4\gl4_shader.h" />
|
||||
|
@ -381,7 +378,7 @@
|
|||
<ClInclude Include="src\xenia\gpu\gl4\gl_context.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gl4\texture_cache.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gl4\wgl_control.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gpu-private.h" />
|
||||
<ClInclude Include="src\xenia\gpu\gpu_flags.h" />
|
||||
<ClInclude Include="src\xenia\gpu\graphics_system.h" />
|
||||
<ClInclude Include="src\xenia\gpu\register_file.h" />
|
||||
<ClInclude Include="src\xenia\gpu\sampler_info.h" />
|
||||
|
@ -391,16 +388,13 @@
|
|||
<ClInclude Include="src\xenia\gpu\ucode.h" />
|
||||
<ClInclude Include="src\xenia\gpu\ucode_disassembler.h" />
|
||||
<ClInclude Include="src\xenia\gpu\xenos.h" />
|
||||
<ClInclude Include="src\xenia\hid\hid-private.h" />
|
||||
<ClInclude Include="src\xenia\hid\hid_flags.h" />
|
||||
<ClInclude Include="src\xenia\hid\input_driver.h" />
|
||||
<ClInclude Include="src\xenia\hid\input_system.h" />
|
||||
<ClInclude Include="src\xenia\hid\nop\nop_hid-private.h" />
|
||||
<ClInclude Include="src\xenia\hid\nop\nop_hid.h" />
|
||||
<ClInclude Include="src\xenia\hid\nop\nop_input_driver.h" />
|
||||
<ClInclude Include="src\xenia\hid\winkey\winkey_hid-private.h" />
|
||||
<ClInclude Include="src\xenia\hid\winkey\winkey_hid.h" />
|
||||
<ClInclude Include="src\xenia\hid\winkey\winkey_input_driver.h" />
|
||||
<ClInclude Include="src\xenia\hid\xinput\xinput_hid-private.h" />
|
||||
<ClInclude Include="src\xenia\hid\xinput\xinput_hid.h" />
|
||||
<ClInclude Include="src\xenia\hid\xinput\xinput_input_driver.h" />
|
||||
<ClInclude Include="src\xenia\kernel\app.h" />
|
||||
|
|
|
@ -172,24 +172,15 @@
|
|||
<ClCompile Include="src\xenia\profiling.cc">
|
||||
<Filter>src\xenia</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\apu.cc">
|
||||
<Filter>src\xenia\apu</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\audio_driver.cc">
|
||||
<Filter>src\xenia\apu</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\audio_system.cc">
|
||||
<Filter>src\xenia\apu</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\nop\nop_apu.cc">
|
||||
<Filter>src\xenia\apu\nop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\nop\nop_audio_system.cc">
|
||||
<Filter>src\xenia\apu\nop</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\xaudio2\xaudio2_apu.cc">
|
||||
<Filter>src\xenia\apu\xaudio2</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\xaudio2\xaudio2_audio_driver.cc">
|
||||
<Filter>src\xenia\apu\xaudio2</Filter>
|
||||
</ClCompile>
|
||||
|
@ -199,9 +190,6 @@
|
|||
<ClCompile Include="src\xenia\base\arena.cc">
|
||||
<Filter>src\xenia\base</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\cpu\cpu.cc">
|
||||
<Filter>src\xenia\cpu</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\base\debugging_win.cc">
|
||||
<Filter>src\xenia\base</Filter>
|
||||
</ClCompile>
|
||||
|
@ -397,9 +385,6 @@
|
|||
<ClCompile Include="src\xenia\cpu\compiler\passes\finalization_pass.cc">
|
||||
<Filter>src\xenia\cpu\compiler\passes</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\gpu\gpu.cc">
|
||||
<Filter>src\xenia\gpu</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\gpu\graphics_system.cc">
|
||||
<Filter>src\xenia\gpu</Filter>
|
||||
</ClCompile>
|
||||
|
@ -439,9 +424,6 @@
|
|||
<ClCompile Include="src\xenia\gpu\gl4\wgl_control.cc">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\gpu\gl4\gl4_gpu.cc">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\gpu\gl4\gl4_graphics_system.cc">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClCompile>
|
||||
|
@ -454,9 +436,6 @@
|
|||
<ClCompile Include="src\xenia\gpu\gl4\gl4_shader_translator.cc">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\hid\hid.cc">
|
||||
<Filter>src\xenia\hid</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\hid\input_system.cc">
|
||||
<Filter>src\xenia\hid</Filter>
|
||||
</ClCompile>
|
||||
|
@ -781,6 +760,27 @@
|
|||
<ClCompile Include="src\xenia\ui\win32\win32_file_picker.cc">
|
||||
<Filter>src\xenia\ui\win32</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\hid\hid_flags.cc">
|
||||
<Filter>src\xenia\hid</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\gpu\gpu_flags.cc">
|
||||
<Filter>src\xenia\gpu</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\gpu\gl4\gl4_gpu_flags.cc">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\cpu\cpu_flags.cc">
|
||||
<Filter>src\xenia\cpu</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\apu_flags.cc">
|
||||
<Filter>src\xenia\apu</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\xaudio2\xaudio2_apu_flags.cc">
|
||||
<Filter>src\xenia\apu\xaudio2</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\xenia\apu\nop\nop_apu_flags.cc">
|
||||
<Filter>src\xenia\apu\nop</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="src\xenia\emulator.h">
|
||||
|
@ -795,36 +795,18 @@
|
|||
<ClInclude Include="src\xenia\memory.h">
|
||||
<Filter>src\xenia</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\apu.h">
|
||||
<Filter>src\xenia\apu</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\apu-private.h">
|
||||
<Filter>src\xenia\apu</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\audio_driver.h">
|
||||
<Filter>src\xenia\apu</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\audio_system.h">
|
||||
<Filter>src\xenia\apu</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\nop\nop_apu.h">
|
||||
<Filter>src\xenia\apu\nop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\nop\nop_apu-private.h">
|
||||
<Filter>src\xenia\apu\nop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\nop\nop_audio_system.h">
|
||||
<Filter>src\xenia\apu\nop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_audio_system.h">
|
||||
<Filter>src\xenia\apu\xaudio2</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_apu.h">
|
||||
<Filter>src\xenia\apu\xaudio2</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_apu-private.h">
|
||||
<Filter>src\xenia\apu\xaudio2</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_audio_driver.h">
|
||||
<Filter>src\xenia\apu\xaudio2</Filter>
|
||||
</ClInclude>
|
||||
|
@ -840,9 +822,6 @@
|
|||
<ClInclude Include="src\xenia\base\byte_order.h">
|
||||
<Filter>src\xenia\base</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\cpu\cpu-private.h">
|
||||
<Filter>src\xenia\cpu</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\base\debugging.h">
|
||||
<Filter>src\xenia\base</Filter>
|
||||
</ClInclude>
|
||||
|
@ -1059,9 +1038,6 @@
|
|||
<ClInclude Include="src\xenia\cpu\compiler\passes\finalization_pass.h">
|
||||
<Filter>src\xenia\cpu\compiler\passes</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\gpu\gpu-private.h">
|
||||
<Filter>src\xenia\gpu</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\gpu\graphics_system.h">
|
||||
<Filter>src\xenia\gpu</Filter>
|
||||
</ClInclude>
|
||||
|
@ -1110,9 +1086,6 @@
|
|||
<ClInclude Include="src\xenia\gpu\gl4\wgl_control.h">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\gpu\gl4\gl4_gpu-private.h">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\gpu\gl4\gl4_graphics_system.h">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClInclude>
|
||||
|
@ -1125,9 +1098,6 @@
|
|||
<ClInclude Include="src\xenia\gpu\gl4\gl4_shader_translator.h">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\hid\hid-private.h">
|
||||
<Filter>src\xenia\hid</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\hid\input_driver.h">
|
||||
<Filter>src\xenia\hid</Filter>
|
||||
</ClInclude>
|
||||
|
@ -1137,9 +1107,6 @@
|
|||
<ClInclude Include="src\xenia\hid\nop\nop_hid.h">
|
||||
<Filter>src\xenia\hid\nop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\hid\nop\nop_hid-private.h">
|
||||
<Filter>src\xenia\hid\nop</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\hid\nop\nop_input_driver.h">
|
||||
<Filter>src\xenia\hid\nop</Filter>
|
||||
</ClInclude>
|
||||
|
@ -1149,15 +1116,9 @@
|
|||
<ClInclude Include="src\xenia\hid\winkey\winkey_hid.h">
|
||||
<Filter>src\xenia\hid\winkey</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\hid\winkey\winkey_hid-private.h">
|
||||
<Filter>src\xenia\hid\winkey</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\hid\xinput\xinput_hid.h">
|
||||
<Filter>src\xenia\hid\xinput</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\hid\xinput\xinput_hid-private.h">
|
||||
<Filter>src\xenia\hid\xinput</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\hid\xinput\xinput_input_driver.h">
|
||||
<Filter>src\xenia\hid\xinput</Filter>
|
||||
</ClInclude>
|
||||
|
@ -1503,6 +1464,27 @@
|
|||
<ClInclude Include="src\xenia\ui\win32\win32_file_picker.h">
|
||||
<Filter>src\xenia\ui\win32</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\hid\hid_flags.h">
|
||||
<Filter>src\xenia\hid</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\gpu\gpu_flags.h">
|
||||
<Filter>src\xenia\gpu</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\gpu\gl4\gl4_gpu_flags.h">
|
||||
<Filter>src\xenia\gpu\gl4</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\cpu\cpu_flags.h">
|
||||
<Filter>src\xenia\cpu</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\apu_flags.h">
|
||||
<Filter>src\xenia\apu</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_apu_flags.h">
|
||||
<Filter>src\xenia\apu\xaudio2</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\xenia\apu\nop\nop_apu_flags.h">
|
||||
<Filter>src\xenia\apu\nop</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="src\xenia\cpu\backend\x64\x64_sequence.inl">
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/apu/apu.h"
|
||||
#include "xenia/apu/apu-private.h"
|
||||
|
||||
using namespace xe;
|
||||
using namespace xe::apu;
|
||||
|
||||
DEFINE_string(apu, "any", "Audio system. Use: [any, nop, xaudio2]");
|
||||
|
||||
DEFINE_bool(mute, false, "Mutes all audio output.");
|
||||
|
||||
#include "xenia/apu/nop/nop_apu.h"
|
||||
std::unique_ptr<AudioSystem> xe::apu::CreateNop(Emulator* emulator) {
|
||||
return xe::apu::nop::Create(emulator);
|
||||
}
|
||||
|
||||
#if XE_PLATFORM_WIN32
|
||||
#include "xenia/apu/xaudio2/xaudio2_apu.h"
|
||||
std::unique_ptr<AudioSystem> xe::apu::CreateXAudio2(Emulator* emulator) {
|
||||
return xe::apu::xaudio2::Create(emulator);
|
||||
}
|
||||
#endif // WIN32
|
||||
|
||||
std::unique_ptr<AudioSystem> xe::apu::Create(Emulator* emulator) {
|
||||
if (FLAGS_apu.compare("nop") == 0) {
|
||||
return CreateNop(emulator);
|
||||
#if XE_PLATFORM_WIN32
|
||||
} else if (FLAGS_apu.compare("xaudio2") == 0) {
|
||||
return CreateXAudio2(emulator);
|
||||
#endif // WIN32
|
||||
} else {
|
||||
// Create best available.
|
||||
std::unique_ptr<AudioSystem> best;
|
||||
|
||||
#if XE_PLATFORM_WIN32
|
||||
best = CreateXAudio2(emulator);
|
||||
if (best) {
|
||||
return best;
|
||||
}
|
||||
#endif // WIN32
|
||||
|
||||
// Fallback to nop.
|
||||
return CreateNop(emulator);
|
||||
}
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_APU_APU_H_
|
||||
#define XENIA_APU_APU_H_
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "xenia/apu/audio_system.h"
|
||||
#include "xenia/apu/xma_decoder.h"
|
||||
|
||||
namespace xe {
|
||||
class Emulator;
|
||||
} // namespace xe
|
||||
|
||||
namespace xe {
|
||||
namespace apu {
|
||||
|
||||
std::unique_ptr<AudioSystem> Create(Emulator* emulator);
|
||||
|
||||
std::unique_ptr<AudioSystem> CreateNop(Emulator* emulator);
|
||||
|
||||
#if XE_PLATFORM_WIN32
|
||||
std::unique_ptr<AudioSystem> CreateXAudio2(Emulator* emulator);
|
||||
#endif // WIN32
|
||||
|
||||
} // namespace apu
|
||||
} // namespace xe
|
||||
|
||||
#endif // XENIA_APU_APU_H_
|
|
@ -0,0 +1,14 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/apu/apu_flags.h"
|
||||
|
||||
DEFINE_string(apu, "any", "Audio system. Use: [any, nop, xaudio2]");
|
||||
|
||||
DEFINE_bool(mute, false, "Mutes all audio output.");
|
|
@ -7,8 +7,8 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_APU_APU_PRIVATE_H_
|
||||
#define XENIA_APU_APU_PRIVATE_H_
|
||||
#ifndef XENIA_APU_APU_FLAGS_H_
|
||||
#define XENIA_APU_APU_FLAGS_H_
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
|
@ -16,4 +16,4 @@ DECLARE_string(apu);
|
|||
|
||||
DECLARE_bool(mute);
|
||||
|
||||
#endif // XENIA_APU_APU_PRIVATE_H_
|
||||
#endif // XENIA_APU_APU_FLAGS_H_
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include "xenia/apu/audio_system.h"
|
||||
|
||||
#include "xenia/apu/apu_flags.h"
|
||||
#include "xenia/apu/audio_driver.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/math.h"
|
||||
|
@ -20,6 +21,11 @@
|
|||
#include "xenia/kernel/objects/xthread.h"
|
||||
#include "xenia/profiling.h"
|
||||
|
||||
#include "xenia/apu/nop/nop_audio_system.h"
|
||||
#if XE_PLATFORM_WIN32
|
||||
#include "xenia/apu/xaudio2/xaudio2_audio_system.h"
|
||||
#endif // XE_PLATFORM_WIN32
|
||||
|
||||
// As with normal Microsoft, there are like twelve different ways to access
|
||||
// the audio APIs. Early games use XMA*() methods almost exclusively to touch
|
||||
// decoders. Later games use XAudio*() and direct memory writes to the XMA
|
||||
|
@ -35,7 +41,28 @@
|
|||
namespace xe {
|
||||
namespace apu {
|
||||
|
||||
using namespace xe::cpu;
|
||||
std::unique_ptr<AudioSystem> AudioSystem::Create(Emulator* emulator) {
|
||||
if (FLAGS_apu.compare("nop") == 0) {
|
||||
return nop::NopAudioSystem::Create(emulator);
|
||||
#if XE_PLATFORM_WIN32
|
||||
} else if (FLAGS_apu.compare("xaudio2") == 0) {
|
||||
return xaudio2::XAudio2AudioSystem::Create(emulator);
|
||||
#endif // WIN32
|
||||
} else {
|
||||
// Create best available.
|
||||
std::unique_ptr<AudioSystem> best;
|
||||
|
||||
#if XE_PLATFORM_WIN32
|
||||
best = xaudio2::XAudio2AudioSystem::Create(emulator);
|
||||
if (best) {
|
||||
return best;
|
||||
}
|
||||
#endif // XE_PLATFORM_WIN32
|
||||
|
||||
// Fallback to nop.
|
||||
return nop::NopAudioSystem::Create(emulator);
|
||||
}
|
||||
}
|
||||
|
||||
AudioSystem::AudioSystem(Emulator* emulator)
|
||||
: emulator_(emulator), memory_(emulator->memory()), worker_running_(false) {
|
||||
|
|
|
@ -32,6 +32,8 @@ class AudioSystem {
|
|||
public:
|
||||
virtual ~AudioSystem();
|
||||
|
||||
static std::unique_ptr<AudioSystem> Create(Emulator* emulator);
|
||||
|
||||
Emulator* emulator() const { return emulator_; }
|
||||
Memory* memory() const { return memory_; }
|
||||
cpu::Processor* processor() const { return processor_; }
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_APU_NOP_NOP_APU_PRIVATE_H_
|
||||
#define XENIA_APU_NOP_NOP_APU_PRIVATE_H_
|
||||
|
||||
#include "xenia/apu/nop/nop_apu.h"
|
||||
|
||||
namespace xe {
|
||||
namespace apu {
|
||||
namespace nop {
|
||||
|
||||
//
|
||||
|
||||
} // namespace nop
|
||||
} // namespace apu
|
||||
} // namespace xe
|
||||
|
||||
#endif // XENIA_APU_NOP_NOP_APU_PRIVATE_H_
|
|
@ -1,40 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/apu/nop/nop_apu.h"
|
||||
|
||||
#include "xenia/apu/nop/nop_audio_system.h"
|
||||
|
||||
using namespace xe;
|
||||
using namespace xe::apu;
|
||||
using namespace xe::apu::nop;
|
||||
|
||||
namespace {
|
||||
void InitializeIfNeeded();
|
||||
void CleanupOnShutdown();
|
||||
|
||||
void InitializeIfNeeded() {
|
||||
static bool has_initialized = false;
|
||||
if (has_initialized) {
|
||||
return;
|
||||
}
|
||||
has_initialized = true;
|
||||
|
||||
//
|
||||
|
||||
atexit(CleanupOnShutdown);
|
||||
}
|
||||
|
||||
void CleanupOnShutdown() {}
|
||||
}
|
||||
|
||||
std::unique_ptr<AudioSystem> xe::apu::nop::Create(Emulator* emulator) {
|
||||
InitializeIfNeeded();
|
||||
return std::make_unique<NopAudioSystem>(emulator);
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/apu/nop/nop_apu_flags.h"
|
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_APU_NOP_NOP_APU_FLAGS_H_
|
||||
#define XENIA_APU_NOP_NOP_APU_FLAGS_H_
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
#endif // XENIA_APU_NOP_NOP_APU_FLAGS_H_
|
|
@ -9,15 +9,19 @@
|
|||
|
||||
#include "xenia/apu/nop/nop_audio_system.h"
|
||||
|
||||
#include "xenia/apu/apu-private.h"
|
||||
#include "xenia/apu/apu_flags.h"
|
||||
|
||||
using namespace xe;
|
||||
using namespace xe::apu;
|
||||
using namespace xe::apu::nop;
|
||||
namespace xe {
|
||||
namespace apu {
|
||||
namespace nop {
|
||||
|
||||
std::unique_ptr<AudioSystem> NopAudioSystem::Create(Emulator* emulator) {
|
||||
return std::make_unique<NopAudioSystem>(emulator);
|
||||
}
|
||||
|
||||
NopAudioSystem::NopAudioSystem(Emulator* emulator) : AudioSystem(emulator) {}
|
||||
|
||||
NopAudioSystem::~NopAudioSystem() {}
|
||||
NopAudioSystem::~NopAudioSystem() = default;
|
||||
|
||||
X_STATUS NopAudioSystem::CreateDriver(size_t index, HANDLE wait_handle,
|
||||
AudioDriver** out_driver) {
|
||||
|
@ -25,3 +29,7 @@ X_STATUS NopAudioSystem::CreateDriver(size_t index, HANDLE wait_handle,
|
|||
}
|
||||
|
||||
void NopAudioSystem::DestroyDriver(AudioDriver* driver) { assert_always(); }
|
||||
|
||||
} // namespace nop
|
||||
} // namespace apu
|
||||
} // namespace xe
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#define XENIA_APU_NOP_NOP_AUDIO_SYSTEM_H_
|
||||
|
||||
#include "xenia/apu/audio_system.h"
|
||||
#include "xenia/apu/nop/nop_apu-private.h"
|
||||
|
||||
namespace xe {
|
||||
namespace apu {
|
||||
|
@ -20,11 +19,13 @@ namespace nop {
|
|||
class NopAudioSystem : public AudioSystem {
|
||||
public:
|
||||
NopAudioSystem(Emulator* emulator);
|
||||
virtual ~NopAudioSystem();
|
||||
~NopAudioSystem() override;
|
||||
|
||||
virtual X_STATUS CreateDriver(size_t index, HANDLE wait_handle,
|
||||
AudioDriver** out_driver);
|
||||
virtual void DestroyDriver(AudioDriver* driver);
|
||||
static std::unique_ptr<AudioSystem> Create(Emulator* emulator);
|
||||
|
||||
X_STATUS CreateDriver(size_t index, HANDLE wait_handle,
|
||||
AudioDriver** out_driver) override;
|
||||
void DestroyDriver(AudioDriver* driver) override;
|
||||
};
|
||||
|
||||
} // namespace nop
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_APU_XAUDIO2_XAUDIO2_APU_PRIVATE_H_
|
||||
#define XENIA_APU_XAUDIO2_XAUDIO2_APU_PRIVATE_H_
|
||||
|
||||
#include "xenia/apu/xaudio2/xaudio2_apu.h"
|
||||
|
||||
namespace xe {
|
||||
namespace apu {
|
||||
namespace xaudio2 {
|
||||
|
||||
//
|
||||
|
||||
} // namespace xaudio2
|
||||
} // namespace apu
|
||||
} // namespace xe
|
||||
|
||||
#endif // XENIA_APU_XAUDIO2_XAUDIO2_APU_PRIVATE_H_
|
|
@ -1,40 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/apu/xaudio2/xaudio2_apu.h"
|
||||
|
||||
#include "xenia/apu/xaudio2/xaudio2_audio_system.h"
|
||||
|
||||
using namespace xe;
|
||||
using namespace xe::apu;
|
||||
using namespace xe::apu::xaudio2;
|
||||
|
||||
namespace {
|
||||
void InitializeIfNeeded();
|
||||
void CleanupOnShutdown();
|
||||
|
||||
void InitializeIfNeeded() {
|
||||
static bool has_initialized = false;
|
||||
if (has_initialized) {
|
||||
return;
|
||||
}
|
||||
has_initialized = true;
|
||||
|
||||
//
|
||||
|
||||
atexit(CleanupOnShutdown);
|
||||
}
|
||||
|
||||
void CleanupOnShutdown() {}
|
||||
}
|
||||
|
||||
std::unique_ptr<AudioSystem> xe::apu::xaudio2::Create(Emulator* emulator) {
|
||||
InitializeIfNeeded();
|
||||
return std::make_unique<XAudio2AudioSystem>(emulator);
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_APU_XAUDIO2_XAUDIO2_APU_H_
|
||||
#define XENIA_APU_XAUDIO2_XAUDIO2_APU_H_
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "xenia/apu/audio_system.h"
|
||||
#include "xenia/emulator.h"
|
||||
|
||||
namespace xe {
|
||||
namespace apu {
|
||||
namespace xaudio2 {
|
||||
|
||||
std::unique_ptr<AudioSystem> Create(Emulator* emulator);
|
||||
|
||||
} // namespace xaudio2
|
||||
} // namespace apu
|
||||
} // namespace xe
|
||||
|
||||
#endif // XENIA_APU_XAUDIO2_XAUDIO2_APU_H_
|
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/apu/xaudio2/xaudio2_apu_flags.h"
|
|
@ -0,0 +1,15 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_APU_XAUDIO2_XAUDIO2_APU_FLAGS_H_
|
||||
#define XENIA_APU_XAUDIO2_XAUDIO2_APU_FLAGS_H_
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
#endif // XENIA_APU_XAUDIO2_XAUDIO2_APU_FLAGS_H_
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include "xenia/apu/xaudio2/xaudio2_audio_driver.h"
|
||||
|
||||
#include "xenia/apu/apu-private.h"
|
||||
#include "xenia/apu/apu_flags.h"
|
||||
#include "xenia/base/clock.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/emulator.h"
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include <xaudio2.h>
|
||||
|
||||
#include "xenia/apu/audio_driver.h"
|
||||
#include "xenia/apu/xaudio2/xaudio2_apu-private.h"
|
||||
|
||||
namespace xe {
|
||||
namespace apu {
|
||||
|
@ -22,11 +21,11 @@ namespace xaudio2 {
|
|||
class XAudio2AudioDriver : public AudioDriver {
|
||||
public:
|
||||
XAudio2AudioDriver(Emulator* emulator, HANDLE semaphore);
|
||||
virtual ~XAudio2AudioDriver();
|
||||
~XAudio2AudioDriver() override;
|
||||
|
||||
virtual void Initialize();
|
||||
virtual void SubmitFrame(uint32_t frame_ptr);
|
||||
virtual void Shutdown();
|
||||
void Initialize();
|
||||
void SubmitFrame(uint32_t frame_ptr) override;
|
||||
void Shutdown();
|
||||
|
||||
private:
|
||||
IXAudio2* audio_;
|
||||
|
|
|
@ -8,15 +8,20 @@
|
|||
*/
|
||||
|
||||
#include "xenia/apu/xaudio2/xaudio2_audio_system.h"
|
||||
|
||||
#include <xaudio2.h>
|
||||
|
||||
#include "xenia/apu/apu_flags.h"
|
||||
#include "xenia/apu/xaudio2/xaudio2_audio_driver.h"
|
||||
|
||||
#include "xenia/apu/apu-private.h"
|
||||
|
||||
#include "xenia/emulator.h"
|
||||
|
||||
using namespace xe;
|
||||
using namespace xe::apu;
|
||||
using namespace xe::apu::xaudio2;
|
||||
namespace xe {
|
||||
namespace apu {
|
||||
namespace xaudio2 {
|
||||
|
||||
std::unique_ptr<AudioSystem> XAudio2AudioSystem::Create(Emulator* emulator) {
|
||||
return std::make_unique<XAudio2AudioSystem>(emulator);
|
||||
}
|
||||
|
||||
XAudio2AudioSystem::XAudio2AudioSystem(Emulator* emulator)
|
||||
: AudioSystem(emulator) {}
|
||||
|
@ -41,3 +46,7 @@ void XAudio2AudioSystem::DestroyDriver(AudioDriver* driver) {
|
|||
assert_not_null(xdriver);
|
||||
delete xdriver;
|
||||
}
|
||||
|
||||
} // namespace xaudio2
|
||||
} // namespace apu
|
||||
} // namespace xe
|
||||
|
|
|
@ -10,10 +10,7 @@
|
|||
#ifndef XENIA_APU_XAUDIO2_XAUDIO2_AUDIO_SYSTEM_H_
|
||||
#define XENIA_APU_XAUDIO2_XAUDIO2_AUDIO_SYSTEM_H_
|
||||
|
||||
#include <xaudio2.h>
|
||||
|
||||
#include "xenia/apu/audio_system.h"
|
||||
#include "xenia/apu/xaudio2/xaudio2_apu-private.h"
|
||||
|
||||
namespace xe {
|
||||
namespace apu {
|
||||
|
@ -22,11 +19,13 @@ namespace xaudio2 {
|
|||
class XAudio2AudioSystem : public AudioSystem {
|
||||
public:
|
||||
XAudio2AudioSystem(Emulator* emulator);
|
||||
virtual ~XAudio2AudioSystem();
|
||||
~XAudio2AudioSystem() override;
|
||||
|
||||
virtual X_RESULT CreateDriver(size_t index, HANDLE semaphore,
|
||||
AudioDriver** out_driver);
|
||||
virtual void DestroyDriver(AudioDriver* driver);
|
||||
static std::unique_ptr<AudioSystem> Create(Emulator* emulator);
|
||||
|
||||
X_RESULT CreateDriver(size_t index, HANDLE semaphore,
|
||||
AudioDriver** out_driver) override;
|
||||
void DestroyDriver(AudioDriver* driver) override;
|
||||
|
||||
protected:
|
||||
virtual void Initialize();
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include "xenia/cpu/backend/x64/x64_backend.h"
|
||||
#include "xenia/cpu/backend/x64/x64_emitter.h"
|
||||
#include "xenia/cpu/backend/x64/x64_function.h"
|
||||
#include "xenia/cpu/cpu-private.h"
|
||||
#include "xenia/cpu/cpu_flags.h"
|
||||
#include "xenia/cpu/hir/hir_builder.h"
|
||||
#include "xenia/cpu/hir/label.h"
|
||||
#include "xenia/cpu/processor.h"
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include "xenia/cpu/backend/x64/x64_function.h"
|
||||
#include "xenia/cpu/backend/x64/x64_sequences.h"
|
||||
#include "xenia/cpu/backend/x64/x64_thunk_emitter.h"
|
||||
#include "xenia/cpu/cpu-private.h"
|
||||
#include "xenia/cpu/cpu_flags.h"
|
||||
#include "xenia/cpu/debug_info.h"
|
||||
#include "xenia/cpu/hir/hir_builder.h"
|
||||
#include "xenia/cpu/processor.h"
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/cpu/cpu-private.h"
|
||||
#include "xenia/cpu/cpu_flags.h"
|
||||
|
||||
DEFINE_string(cpu, "any", "CPU backend [any, x64].");
|
||||
|
|
@ -7,8 +7,8 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_CPU_CPU_PRIVATE_H_
|
||||
#define XENIA_CPU_CPU_PRIVATE_H_
|
||||
#ifndef XENIA_CPU_CPU_FLAGS_H_
|
||||
#define XENIA_CPU_CPU_FLAGS_H_
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
|
@ -33,4 +33,4 @@ DECLARE_bool(break_condition_truncate);
|
|||
|
||||
DECLARE_bool(break_on_debugbreak);
|
||||
|
||||
#endif // XENIA_CPU_CPU_PRIVATE_H_
|
||||
#endif // XENIA_CPU_CPU_FLAGS_H_
|
|
@ -14,7 +14,7 @@
|
|||
#include "xenia/base/byte_order.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/memory.h"
|
||||
#include "xenia/cpu/cpu-private.h"
|
||||
#include "xenia/cpu/cpu_flags.h"
|
||||
#include "xenia/cpu/frontend/ppc_context.h"
|
||||
#include "xenia/cpu/frontend/ppc_disasm.h"
|
||||
#include "xenia/cpu/frontend/ppc_frontend.h"
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include "xenia/base/memory.h"
|
||||
#include "xenia/base/reset_scope.h"
|
||||
#include "xenia/cpu/compiler/compiler_passes.h"
|
||||
#include "xenia/cpu/cpu-private.h"
|
||||
#include "xenia/cpu/cpu_flags.h"
|
||||
#include "xenia/cpu/frontend/ppc_disasm.h"
|
||||
#include "xenia/cpu/frontend/ppc_frontend.h"
|
||||
#include "xenia/cpu/frontend/ppc_hir_builder.h"
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
#include "xenia/base/byte_order.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/memory.h"
|
||||
#include "xenia/cpu/cpu-private.h"
|
||||
#include "xenia/cpu/cpu_flags.h"
|
||||
#include "xenia/cpu/export_resolver.h"
|
||||
#include "xenia/cpu/frontend/ppc_frontend.h"
|
||||
#include "xenia/cpu/module.h"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/base/memory.h"
|
||||
#include "xenia/cpu/cpu-private.h"
|
||||
#include "xenia/cpu/cpu_flags.h"
|
||||
#include "xenia/cpu/export_resolver.h"
|
||||
#include "xenia/cpu/processor.h"
|
||||
#include "xenia/kernel/kernel_state.h"
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
#include "xenia/apu/apu.h"
|
||||
#include "xenia/apu/audio_system.h"
|
||||
#include "xenia/apu/xma_decoder.h"
|
||||
#include "xenia/base/assert.h"
|
||||
#include "xenia/base/clock.h"
|
||||
#include "xenia/base/string.h"
|
||||
|
@ -113,15 +114,15 @@ X_STATUS Emulator::Setup() {
|
|||
memory_.get(), export_resolver_.get(), debugger_.get());
|
||||
|
||||
// Initialize the APU.
|
||||
audio_system_ = std::move(xe::apu::Create(this));
|
||||
audio_system_ = xe::apu::AudioSystem::Create(this);
|
||||
if (!audio_system_) {
|
||||
return X_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
xma_decoder_ = std::move(std::make_unique<XmaDecoder>(this));
|
||||
xma_decoder_ = std::make_unique<XmaDecoder>(this);
|
||||
|
||||
// Initialize the GPU.
|
||||
graphics_system_ = std::move(xe::gpu::GraphicsSystem::Create(this));
|
||||
graphics_system_ = xe::gpu::GraphicsSystem::Create(this);
|
||||
if (!graphics_system_) {
|
||||
return X_STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
#include "xenia/base/assert.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu-private.h"
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu_flags.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
|
||||
namespace xe {
|
||||
namespace gpu {
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu-private.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu_flags.h"
|
||||
#include "xenia/gpu/gl4/gl4_graphics_system.h"
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
#include "xenia/gpu/sampler_info.h"
|
||||
#include "xenia/gpu/texture_info.h"
|
||||
#include "xenia/gpu/xenos.h"
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu-private.h"
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu_flags.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
|
||||
namespace xe {
|
||||
namespace gpu {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/gpu/gl4/gl4_gpu-private.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu_flags.h"
|
||||
|
||||
DEFINE_bool(thread_safe_gl, false,
|
||||
"Only allow one GL context to be active at a time.");
|
|
@ -7,8 +7,8 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_GPU_GL4_GL4_GPU_PRIVATE_H_
|
||||
#define XENIA_GPU_GL4_GL4_GPU_PRIVATE_H_
|
||||
#ifndef XENIA_GPU_GL4_GL4_GPU_FLAGS_H_
|
||||
#define XENIA_GPU_GL4_GL4_GPU_FLAGS_H_
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
|
@ -26,4 +26,4 @@ DECLARE_bool(disable_textures);
|
|||
|
||||
#define FINE_GRAINED_DRAW_SCOPES 0
|
||||
|
||||
#endif // XENIA_GPU_GL4_GL4_GPU_PRIVATE_H_
|
||||
#endif // XENIA_GPU_GL4_GL4_GPU_FLAGS_H_
|
|
@ -16,9 +16,9 @@
|
|||
#include "xenia/base/threading.h"
|
||||
#include "xenia/cpu/processor.h"
|
||||
#include "xenia/emulator.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu-private.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu_flags.h"
|
||||
#include "xenia/gpu/gl4/gl4_profiler_display.h"
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
#include "xenia/gpu/tracing.h"
|
||||
|
||||
namespace xe {
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "xenia/base/assert.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
|
||||
namespace xe {
|
||||
namespace gpu {
|
||||
|
|
|
@ -12,9 +12,9 @@
|
|||
#include "xenia/base/fs.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu-private.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu_flags.h"
|
||||
#include "xenia/gpu/gl4/gl4_shader_translator.h"
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
|
||||
namespace xe {
|
||||
namespace gpu {
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include "xenia/base/assert.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
|
||||
namespace xe {
|
||||
namespace gpu {
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include "xenia/base/assert.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu-private.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu_flags.h"
|
||||
#include "xenia/profiling.h"
|
||||
|
||||
namespace xe {
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/base/memory.h"
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
#include "xenia/profiling.h"
|
||||
|
||||
namespace xe {
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
#include "xenia/base/assert.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu-private.h"
|
||||
#include "xenia/gpu/gl4/gl4_gpu_flags.h"
|
||||
#include "xenia/profiling.h"
|
||||
|
||||
namespace xe {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
|
||||
DEFINE_string(gpu, "any", "Graphics system. Use: [any, gl4]");
|
||||
|
|
@ -7,8 +7,8 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_GPU_GPU_PRIVATE_H_
|
||||
#define XENIA_GPU_GPU_PRIVATE_H_
|
||||
#ifndef XENIA_GPU_GPU_FLAGS_H_
|
||||
#define XENIA_GPU_GPU_FLAGS_H_
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
|
@ -21,4 +21,4 @@ DECLARE_string(dump_shaders);
|
|||
|
||||
DECLARE_bool(vsync);
|
||||
|
||||
#endif // XENIA_GPU_GPU_PRIVATE_H_
|
||||
#endif // XENIA_GPU_GPU_FLAGS_H_
|
|
@ -12,7 +12,7 @@
|
|||
#include "xenia/base/logging.h"
|
||||
#include "xenia/base/math.h"
|
||||
#include "xenia/cpu/processor.h"
|
||||
#include "xenia/gpu/gpu-private.h"
|
||||
#include "xenia/gpu/gpu_flags.h"
|
||||
#include "xenia/kernel/objects/xthread.h"
|
||||
|
||||
// TODO(benvanik): based on platform/build support.
|
||||
|
|
|
@ -7,6 +7,6 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/hid/hid-private.h"
|
||||
#include "xenia/hid/hid_flags.h"
|
||||
|
||||
DEFINE_string(hid, "any", "Input system. Use: [any, nop, winkey, xinput]");
|
|
@ -7,11 +7,11 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_HID_HID_PRIVATE_H_
|
||||
#define XENIA_HID_HID_PRIVATE_H_
|
||||
#ifndef XENIA_HID_HID_FLAGS_H_
|
||||
#define XENIA_HID_HID_FLAGS_H_
|
||||
|
||||
#include <gflags/gflags.h>
|
||||
|
||||
DECLARE_string(hid);
|
||||
|
||||
#endif // XENIA_HID_HID_PRIVATE_H_
|
||||
#endif // XENIA_HID_HID_FLAGS_H_
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
#include "xenia/emulator.h"
|
||||
#include "xenia/cpu/processor.h"
|
||||
#include "xenia/hid/hid_flags.h"
|
||||
#include "xenia/hid/input_driver.h"
|
||||
#include "xenia/hid/hid-private.h"
|
||||
#include "xenia/profiling.h"
|
||||
|
||||
#include "xenia/hid/nop/nop_hid.h"
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_HID_NOP_NOP_HID_PRIVATE_H_
|
||||
#define XENIA_HID_NOP_NOP_HID_PRIVATE_H_
|
||||
|
||||
#include "xenia/hid/nop/nop_hid.h"
|
||||
|
||||
namespace xe {
|
||||
namespace hid {
|
||||
namespace nop {
|
||||
|
||||
//
|
||||
|
||||
} // namespace nop
|
||||
} // namespace hid
|
||||
} // namespace xe
|
||||
|
||||
#endif // XENIA_HID_NOP_NOP_HID_PRIVATE_H_
|
|
@ -15,25 +15,7 @@ namespace xe {
|
|||
namespace hid {
|
||||
namespace nop {
|
||||
|
||||
void InitializeIfNeeded();
|
||||
void CleanupOnShutdown();
|
||||
|
||||
void InitializeIfNeeded() {
|
||||
static bool has_initialized = false;
|
||||
if (has_initialized) {
|
||||
return;
|
||||
}
|
||||
has_initialized = true;
|
||||
|
||||
//
|
||||
|
||||
atexit(CleanupOnShutdown);
|
||||
}
|
||||
|
||||
void CleanupOnShutdown() {}
|
||||
|
||||
std::unique_ptr<InputDriver> Create(InputSystem* input_system) {
|
||||
InitializeIfNeeded();
|
||||
return std::make_unique<NopInputDriver>(input_system);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include "xenia/hid/nop/nop_input_driver.h"
|
||||
|
||||
#include "xenia/hid/hid-private.h"
|
||||
#include "xenia/hid/hid_flags.h"
|
||||
|
||||
namespace xe {
|
||||
namespace hid {
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#define XENIA_HID_NOP_NOP_INPUT_DRIVER_H_
|
||||
|
||||
#include "xenia/hid/input_driver.h"
|
||||
#include "xenia/hid/nop/nop_hid-private.h"
|
||||
|
||||
namespace xe {
|
||||
namespace hid {
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2014 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_HID_WINKEY_WINKEY_HID_PRIVATE_H_
|
||||
#define XENIA_HID_WINKEY_WINKEY_HID_PRIVATE_H_
|
||||
|
||||
#include "xenia/hid/winkey/winkey_hid.h"
|
||||
|
||||
namespace xe {
|
||||
namespace hid {
|
||||
namespace winkey {
|
||||
|
||||
//
|
||||
|
||||
} // namespace winkey
|
||||
} // namespace hid
|
||||
} // namespace xe
|
||||
|
||||
#endif // XENIA_HID_WINKEY_WINKEY_HID_PRIVATE_H_
|
|
@ -15,25 +15,7 @@ namespace xe {
|
|||
namespace hid {
|
||||
namespace winkey {
|
||||
|
||||
void InitializeIfNeeded();
|
||||
void CleanupOnShutdown();
|
||||
|
||||
void InitializeIfNeeded() {
|
||||
static bool has_initialized = false;
|
||||
if (has_initialized) {
|
||||
return;
|
||||
}
|
||||
has_initialized = true;
|
||||
|
||||
//
|
||||
|
||||
atexit(CleanupOnShutdown);
|
||||
}
|
||||
|
||||
void CleanupOnShutdown() {}
|
||||
|
||||
std::unique_ptr<InputDriver> Create(InputSystem* input_system) {
|
||||
InitializeIfNeeded();
|
||||
return std::make_unique<WinKeyInputDriver>(input_system);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include "xenia/hid/winkey/winkey_input_driver.h"
|
||||
|
||||
#include "xenia/hid/hid-private.h"
|
||||
#include "xenia/hid/hid_flags.h"
|
||||
|
||||
namespace xe {
|
||||
namespace hid {
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#define XENIA_HID_WINKEY_WINKEY_DRIVER_H_
|
||||
|
||||
#include "xenia/hid/input_driver.h"
|
||||
#include "xenia/hid/nop/nop_hid-private.h"
|
||||
|
||||
namespace xe {
|
||||
namespace hid {
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* Xenia : Xbox 360 Emulator Research Project *
|
||||
******************************************************************************
|
||||
* Copyright 2013 Ben Vanik. All rights reserved. *
|
||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef XENIA_HID_XINPUT_XINPUT_HID_PRIVATE_H_
|
||||
#define XENIA_HID_XINPUT_XINPUT_HID_PRIVATE_H_
|
||||
|
||||
#include "xenia/hid/xinput/xinput_hid.h"
|
||||
|
||||
namespace xe {
|
||||
namespace hid {
|
||||
namespace xinput {
|
||||
|
||||
//
|
||||
|
||||
} // namespace xinput
|
||||
} // namespace hid
|
||||
} // namespace xe
|
||||
|
||||
#endif // XENIA_HID_XINPUT_XINPUT_HID_PRIVATE_H_
|
|
@ -15,25 +15,7 @@ namespace xe {
|
|||
namespace hid {
|
||||
namespace xinput {
|
||||
|
||||
void InitializeIfNeeded();
|
||||
void CleanupOnShutdown();
|
||||
|
||||
void InitializeIfNeeded() {
|
||||
static bool has_initialized = false;
|
||||
if (has_initialized) {
|
||||
return;
|
||||
}
|
||||
has_initialized = true;
|
||||
|
||||
//
|
||||
|
||||
atexit(CleanupOnShutdown);
|
||||
}
|
||||
|
||||
void CleanupOnShutdown() {}
|
||||
|
||||
std::unique_ptr<InputDriver> Create(InputSystem* input_system) {
|
||||
InitializeIfNeeded();
|
||||
return std::make_unique<XInputInputDriver>(input_system);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
|
||||
#include "xenia/hid/xinput/xinput_input_driver.h"
|
||||
|
||||
#include "xenia/hid/hid-private.h"
|
||||
#include <xinput.h>
|
||||
|
||||
#include <Xinput.h>
|
||||
#include "xenia/hid/hid_flags.h"
|
||||
|
||||
namespace xe {
|
||||
namespace hid {
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#define XENIA_HID_XINPUT_XINPUT_DRIVER_H_
|
||||
|
||||
#include "xenia/hid/input_driver.h"
|
||||
#include "xenia/hid/nop/nop_hid-private.h"
|
||||
|
||||
namespace xe {
|
||||
namespace hid {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "xenia/apu/apu.h"
|
||||
#include "xenia/apu/audio_system.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/emulator.h"
|
||||
#include "xenia/kernel/kernel_state.h"
|
||||
|
|
|
@ -9,7 +9,8 @@
|
|||
|
||||
#include <cstring>
|
||||
|
||||
#include "xenia/apu/apu.h"
|
||||
#include "xenia/apu/audio_system.h"
|
||||
#include "xenia/apu/xma_decoder.h"
|
||||
#include "xenia/base/logging.h"
|
||||
#include "xenia/emulator.h"
|
||||
#include "xenia/kernel/kernel_state.h"
|
||||
|
|
Loading…
Reference in New Issue