Merge branch 'debug'

This commit is contained in:
Ben Vanik 2015-05-09 18:01:40 -07:00
commit 5954d23438
97 changed files with 4039 additions and 1643 deletions

5
.gitignore vendored
View File

@ -39,6 +39,8 @@ tmtags
# VS
.vs
*.user
*.sdf
*.opensdf
bin/
obj/
@ -74,7 +76,8 @@ scratch/
.anvil-cache
.build-cache/
build/
build/bin/
build/obj/
build-out/
build-gen/
build-bin/

9
.gitmodules vendored
View File

@ -1,18 +1,12 @@
[submodule "third_party/gflags"]
path = third_party/gflags
url = https://github.com/benvanik/gflags.git
[submodule "third_party/sparsehash"]
path = third_party/sparsehash
url = https://github.com/benvanik/sparsehash.git
[submodule "third_party/beaengine"]
path = third_party/beaengine
url = https://github.com/benvanik/beaengine.git
[submodule "third_party/xbyak"]
path = third_party/xbyak
url = https://github.com/herumi/xbyak.git
[submodule "third_party/gyp"]
path = third_party/gyp
url = https://chromium.googlesource.com/external/gyp
[submodule "third_party/catch"]
path = third_party/catch
url = https://github.com/philsquared/Catch.git
@ -22,3 +16,6 @@
[submodule "third_party/dockpanelsuite"]
path = third_party/dockpanelsuite
url = https://github.com/dockpanelsuite/dockpanelsuite.git
[submodule "third_party/flatbuffers"]
path = third_party/flatbuffers
url = https://github.com/google/flatbuffers.git

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<MinimalRebuild>false</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
<ControlFlowGuard>Guard</ControlFlowGuard>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<PreprocessorDefinitions>CHECKED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />
</Project>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir>$(SolutionDir)build\bin\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)build\obj\$(Configuration)\$(MSBuildProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GLEW_STATIC=1;GLEW_MX=1;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32;_WIN64=1;_AMD64=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(SolutionDir)build\bin\$(Configuration)\</AdditionalLibraryDirectories>
<AdditionalDependencies>ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib>
<AdditionalLibraryDirectories>$(SolutionDir)build\bin\$(Configuration)\</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemGroup />
</Project>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<MinimalRebuild>false</MinimalRebuild>
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
<PreprocessorDefinitions>_NO_DEBUG_HEAP=1;DEBUG;XE_DEBUG=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>
</BasicRuntimeChecks>
<BufferSecurityCheck>false</BufferSecurityCheck>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />
</Project>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup>
<ClCompile>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup>
<ClCompile>
<IntrinsicFunctions>true</IntrinsicFunctions>
<BufferSecurityCheck>false</BufferSecurityCheck>
<ControlFlowGuard>false</ControlFlowGuard>
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
<PreprocessorDefinitions>NDEBUG;_STATIC_CPPLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>

621
libxenia.vcxproj Normal file
View File

@ -0,0 +1,621 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\xenia\apu\apu.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_audio_system.cc" />
<ClCompile Include="src\xenia\apu\xaudio2\xaudio2_apu.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\base\arena.cc" />
<ClCompile Include="src\xenia\base\debugging_win.cc" />
<ClCompile Include="src\xenia\base\fs.cc" />
<ClCompile Include="src\xenia\base\fs_win.cc" />
<ClCompile Include="src\xenia\base\logging.cc" />
<ClCompile Include="src\xenia\base\mapped_memory_win.cc" />
<ClCompile Include="src\xenia\base\math.cc" />
<ClCompile Include="src\xenia\base\memory_generic.cc" />
<ClCompile Include="src\xenia\base\string.cc" />
<ClCompile Include="src\xenia\base\string_buffer.cc" />
<ClCompile Include="src\xenia\base\threading_win.cc" />
<ClCompile Include="src\xenia\cpu\backend\assembler.cc" />
<ClCompile Include="src\xenia\cpu\backend\backend.cc" />
<ClCompile Include="src\xenia\cpu\backend\x64\x64_assembler.cc" />
<ClCompile Include="src\xenia\cpu\backend\x64\x64_backend.cc" />
<ClCompile Include="src\xenia\cpu\backend\x64\x64_code_cache_win.cc" />
<ClCompile Include="src\xenia\cpu\backend\x64\x64_emitter.cc" />
<ClCompile Include="src\xenia\cpu\backend\x64\x64_function.cc" />
<ClCompile Include="src\xenia\cpu\backend\x64\x64_sequences.cc" />
<ClCompile Include="src\xenia\cpu\backend\x64\x64_thunk_emitter.cc" />
<ClCompile Include="src\xenia\cpu\backend\x64\x64_tracers.cc" />
<ClCompile Include="src\xenia\cpu\compiler\compiler.cc" />
<ClCompile Include="src\xenia\cpu\compiler\compiler_pass.cc" />
<ClCompile Include="src\xenia\cpu\compiler\passes\constant_propagation_pass.cc" />
<ClCompile Include="src\xenia\cpu\compiler\passes\context_promotion_pass.cc" />
<ClCompile Include="src\xenia\cpu\compiler\passes\control_flow_analysis_pass.cc" />
<ClCompile Include="src\xenia\cpu\compiler\passes\control_flow_simplification_pass.cc" />
<ClCompile Include="src\xenia\cpu\compiler\passes\data_flow_analysis_pass.cc" />
<ClCompile Include="src\xenia\cpu\compiler\passes\dead_code_elimination_pass.cc" />
<ClCompile Include="src\xenia\cpu\compiler\passes\finalization_pass.cc" />
<ClCompile Include="src\xenia\cpu\compiler\passes\register_allocation_pass.cc" />
<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\debug_info.cc" />
<ClCompile Include="src\xenia\cpu\entry_table.cc" />
<ClCompile Include="src\xenia\cpu\export_resolver.cc" />
<ClCompile Include="src\xenia\cpu\frontend\context_info.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_context.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_disasm.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_emit_altivec.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_emit_alu.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_emit_control.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_emit_fpu.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_emit_memory.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_frontend.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_hir_builder.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_instr.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_scanner.cc" />
<ClCompile Include="src\xenia\cpu\frontend\ppc_translator.cc" />
<ClCompile Include="src\xenia\cpu\function.cc" />
<ClCompile Include="src\xenia\cpu\hir\block.cc" />
<ClCompile Include="src\xenia\cpu\hir\hir_builder.cc" />
<ClCompile Include="src\xenia\cpu\hir\instr.cc" />
<ClCompile Include="src\xenia\cpu\hir\opcodes.cc" />
<ClCompile Include="src\xenia\cpu\hir\value.cc" />
<ClCompile Include="src\xenia\cpu\instrument.cc" />
<ClCompile Include="src\xenia\cpu\mmio_handler.cc" />
<ClCompile Include="src\xenia\cpu\mmio_handler_win.cc" />
<ClCompile Include="src\xenia\cpu\module.cc" />
<ClCompile Include="src\xenia\cpu\processor.cc" />
<ClCompile Include="src\xenia\cpu\raw_module.cc" />
<ClCompile Include="src\xenia\cpu\symbol_info.cc" />
<ClCompile Include="src\xenia\cpu\test_module.cc" />
<ClCompile Include="src\xenia\cpu\thread_state.cc" />
<ClCompile Include="src\xenia\cpu\xex_module.cc" />
<ClCompile Include="src\xenia\debug\debugger.cc" />
<ClCompile Include="src\xenia\debug\debug_server.cc" />
<ClCompile Include="src\xenia\emulator.cc" />
<ClCompile Include="src\xenia\gpu\gl4\blitter.cc" />
<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_graphics_system.cc" />
<ClCompile Include="src\xenia\gpu\gl4\gl4_profiler_display.cc" />
<ClCompile Include="src\xenia\gpu\gl4\gl4_shader.cc" />
<ClCompile Include="src\xenia\gpu\gl4\gl4_shader_translator.cc" />
<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\graphics_system.cc" />
<ClCompile Include="src\xenia\gpu\register_file.cc" />
<ClCompile Include="src\xenia\gpu\sampler_info.cc" />
<ClCompile Include="src\xenia\gpu\shader.cc" />
<ClCompile Include="src\xenia\gpu\texture_info.cc" />
<ClCompile Include="src\xenia\gpu\ucode_disassembler.cc" />
<ClCompile Include="src\xenia\hid\hid.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" />
<ClCompile Include="src\xenia\hid\nop\nop_input_driver.cc" />
<ClCompile Include="src\xenia\hid\winkey\winkey_hid.cc" />
<ClCompile Include="src\xenia\hid\winkey\winkey_input_driver.cc" />
<ClCompile Include="src\xenia\hid\xinput\xinput_hid.cc" />
<ClCompile Include="src\xenia\hid\xinput\xinput_input_driver.cc" />
<ClCompile Include="src\xenia\kernel\app.cc" />
<ClCompile Include="src\xenia\kernel\apps\apps.cc" />
<ClCompile Include="src\xenia\kernel\apps\xgi_app.cc" />
<ClCompile Include="src\xenia\kernel\apps\xlivebase_app.cc" />
<ClCompile Include="src\xenia\kernel\apps\xmp_app.cc" />
<ClCompile Include="src\xenia\kernel\async_request.cc" />
<ClCompile Include="src\xenia\kernel\content_manager.cc" />
<ClCompile Include="src\xenia\kernel\dispatcher.cc" />
<ClCompile Include="src\xenia\kernel\fs\device.cc" />
<ClCompile Include="src\xenia\kernel\fs\devices\disc_image_device.cc" />
<ClCompile Include="src\xenia\kernel\fs\devices\disc_image_entry.cc" />
<ClCompile Include="src\xenia\kernel\fs\devices\disc_image_file.cc" />
<ClCompile Include="src\xenia\kernel\fs\devices\host_path_device.cc" />
<ClCompile Include="src\xenia\kernel\fs\devices\host_path_entry.cc" />
<ClCompile Include="src\xenia\kernel\fs\devices\host_path_file.cc" />
<ClCompile Include="src\xenia\kernel\fs\devices\stfs_container_device.cc" />
<ClCompile Include="src\xenia\kernel\fs\devices\stfs_container_entry.cc" />
<ClCompile Include="src\xenia\kernel\fs\devices\stfs_container_file.cc" />
<ClCompile Include="src\xenia\kernel\fs\entry.cc" />
<ClCompile Include="src\xenia\kernel\fs\filesystem.cc" />
<ClCompile Include="src\xenia\kernel\fs\gdfx.cc" />
<ClCompile Include="src\xenia\kernel\fs\stfs.cc" />
<ClCompile Include="src\xenia\kernel\kernel_state.cc" />
<ClCompile Include="src\xenia\kernel\native_list.cc" />
<ClCompile Include="src\xenia\kernel\objects\xenumerator.cc" />
<ClCompile Include="src\xenia\kernel\objects\xevent.cc" />
<ClCompile Include="src\xenia\kernel\objects\xfile.cc" />
<ClCompile Include="src\xenia\kernel\objects\xkernel_module.cc" />
<ClCompile Include="src\xenia\kernel\objects\xmodule.cc" />
<ClCompile Include="src\xenia\kernel\objects\xmutant.cc" />
<ClCompile Include="src\xenia\kernel\objects\xnotify_listener.cc" />
<ClCompile Include="src\xenia\kernel\objects\xsemaphore.cc" />
<ClCompile Include="src\xenia\kernel\objects\xthread.cc" />
<ClCompile Include="src\xenia\kernel\objects\xtimer.cc" />
<ClCompile Include="src\xenia\kernel\objects\xuser_module.cc" />
<ClCompile Include="src\xenia\kernel\object_table.cc" />
<ClCompile Include="src\xenia\kernel\user_profile.cc" />
<ClCompile Include="src\xenia\kernel\util\xex2.cc" />
<ClCompile Include="src\xenia\kernel\xam_content.cc" />
<ClCompile Include="src\xenia\kernel\xam_info.cc" />
<ClCompile Include="src\xenia\kernel\xam_input.cc" />
<ClCompile Include="src\xenia\kernel\xam_module.cc" />
<ClCompile Include="src\xenia\kernel\xam_msg.cc" />
<ClCompile Include="src\xenia\kernel\xam_net.cc" />
<ClCompile Include="src\xenia\kernel\xam_notify.cc" />
<ClCompile Include="src\xenia\kernel\xam_ui.cc" />
<ClCompile Include="src\xenia\kernel\xam_user.cc" />
<ClCompile Include="src\xenia\kernel\xam_video.cc" />
<ClCompile Include="src\xenia\kernel\xam_voice.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_audio.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_audio_xma.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_debug.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_hal.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_io.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_memory.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_misc.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_module.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_modules.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_ob.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_rtl.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_strings.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_threading.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_usbcam.cc" />
<ClCompile Include="src\xenia\kernel\xboxkrnl_video.cc" />
<ClCompile Include="src\xenia\kernel\xobject.cc" />
<ClCompile Include="src\xenia\memory.cc" />
<ClCompile Include="src\xenia\profiling.cc" />
<ClCompile Include="src\xenia\ui\control.cc" />
<ClCompile Include="src\xenia\ui\main_window.cc" />
<ClCompile Include="src\xenia\ui\menu_item.cc" />
<ClCompile Include="src\xenia\ui\win32\win32_control.cc" />
<ClCompile Include="src\xenia\ui\win32\win32_loop.cc" />
<ClCompile Include="src\xenia\ui\win32\win32_menu_item.cc" />
<ClCompile Include="src\xenia\ui\win32\win32_window.cc" />
<ClCompile Include="third_party\beaengine\beaengineSources\BeaEngine.c" />
<ClCompile Include="third_party\mspack\lzxd.c" />
<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\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_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_audio_driver.h" />
<ClInclude Include="src\xenia\apu\xaudio2\xaudio2_audio_system.h" />
<ClInclude Include="src\xenia\base\arena.h" />
<ClInclude Include="src\xenia\base\assert.h" />
<ClInclude Include="src\xenia\base\atomic.h" />
<ClInclude Include="src\xenia\base\byte_order.h" />
<ClInclude Include="src\xenia\base\debugging.h" />
<ClInclude Include="src\xenia\base\delegate.h" />
<ClInclude Include="src\xenia\base\fs.h" />
<ClInclude Include="src\xenia\base\logging.h" />
<ClInclude Include="src\xenia\base\mapped_memory.h" />
<ClInclude Include="src\xenia\base\math.h" />
<ClInclude Include="src\xenia\base\memory.h" />
<ClInclude Include="src\xenia\base\platform.h" />
<ClInclude Include="src\xenia\base\reset_scope.h" />
<ClInclude Include="src\xenia\base\string.h" />
<ClInclude Include="src\xenia\base\string_buffer.h" />
<ClInclude Include="src\xenia\base\threading.h" />
<ClInclude Include="src\xenia\base\type_pool.h" />
<ClInclude Include="src\xenia\base\vec128.h" />
<ClInclude Include="src\xenia\cpu\backend\assembler.h" />
<ClInclude Include="src\xenia\cpu\backend\backend.h" />
<ClInclude Include="src\xenia\cpu\backend\machine_info.h" />
<ClInclude Include="src\xenia\cpu\backend\x64\x64_assembler.h" />
<ClInclude Include="src\xenia\cpu\backend\x64\x64_backend.h" />
<ClInclude Include="src\xenia\cpu\backend\x64\x64_code_cache.h" />
<ClInclude Include="src\xenia\cpu\backend\x64\x64_emitter.h" />
<ClInclude Include="src\xenia\cpu\backend\x64\x64_function.h" />
<ClInclude Include="src\xenia\cpu\backend\x64\x64_sequences.h" />
<ClInclude Include="src\xenia\cpu\backend\x64\x64_thunk_emitter.h" />
<ClInclude Include="src\xenia\cpu\backend\x64\x64_tracers.h" />
<ClInclude Include="src\xenia\cpu\compiler\compiler.h" />
<ClInclude Include="src\xenia\cpu\compiler\compiler_pass.h" />
<ClInclude Include="src\xenia\cpu\compiler\compiler_passes.h" />
<ClInclude Include="src\xenia\cpu\compiler\passes\constant_propagation_pass.h" />
<ClInclude Include="src\xenia\cpu\compiler\passes\context_promotion_pass.h" />
<ClInclude Include="src\xenia\cpu\compiler\passes\control_flow_analysis_pass.h" />
<ClInclude Include="src\xenia\cpu\compiler\passes\control_flow_simplification_pass.h" />
<ClInclude Include="src\xenia\cpu\compiler\passes\data_flow_analysis_pass.h" />
<ClInclude Include="src\xenia\cpu\compiler\passes\dead_code_elimination_pass.h" />
<ClInclude Include="src\xenia\cpu\compiler\passes\finalization_pass.h" />
<ClInclude Include="src\xenia\cpu\compiler\passes\register_allocation_pass.h" />
<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.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" />
<ClInclude Include="src\xenia\cpu\frontend\context_info.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_context.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_disasm.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_emit-private.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_emit.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_frontend.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_hir_builder.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_instr.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_instr_tables.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_scanner.h" />
<ClInclude Include="src\xenia\cpu\frontend\ppc_translator.h" />
<ClInclude Include="src\xenia\cpu\function.h" />
<ClInclude Include="src\xenia\cpu\hir\block.h" />
<ClInclude Include="src\xenia\cpu\hir\hir_builder.h" />
<ClInclude Include="src\xenia\cpu\hir\instr.h" />
<ClInclude Include="src\xenia\cpu\hir\label.h" />
<ClInclude Include="src\xenia\cpu\hir\opcodes.h" />
<ClInclude Include="src\xenia\cpu\hir\value.h" />
<ClInclude Include="src\xenia\cpu\instrument.h" />
<ClInclude Include="src\xenia\cpu\mmio_handler.h" />
<ClInclude Include="src\xenia\cpu\module.h" />
<ClInclude Include="src\xenia\cpu\processor.h" />
<ClInclude Include="src\xenia\cpu\raw_module.h" />
<ClInclude Include="src\xenia\cpu\symbol_info.h" />
<ClInclude Include="src\xenia\cpu\test_module.h" />
<ClInclude Include="src\xenia\cpu\thread_state.h" />
<ClInclude Include="src\xenia\cpu\xex_module.h" />
<ClInclude Include="src\xenia\debug\breakpoint.h" />
<ClInclude Include="src\xenia\debug\debugger.h" />
<ClInclude Include="src\xenia\debug\debug_server.h" />
<ClInclude Include="src\xenia\debug\function_data.h" />
<ClInclude Include="src\xenia\debug\function_trace_data.h" />
<ClInclude Include="src\xenia\emulator.h" />
<ClInclude Include="src\xenia\gpu\gl4\blitter.h" />
<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.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" />
<ClInclude Include="src\xenia\gpu\gl4\gl4_shader_translator.h" />
<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.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" />
<ClInclude Include="src\xenia\gpu\shader.h" />
<ClInclude Include="src\xenia\gpu\texture_info.h" />
<ClInclude Include="src\xenia\gpu\tracing.h" />
<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.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" />
<ClInclude Include="src\xenia\kernel\apps\apps.h" />
<ClInclude Include="src\xenia\kernel\apps\xgi_app.h" />
<ClInclude Include="src\xenia\kernel\apps\xlivebase_app.h" />
<ClInclude Include="src\xenia\kernel\apps\xmp_app.h" />
<ClInclude Include="src\xenia\kernel\async_request.h" />
<ClInclude Include="src\xenia\kernel\content_manager.h" />
<ClInclude Include="src\xenia\kernel\dispatcher.h" />
<ClInclude Include="src\xenia\kernel\fs\device.h" />
<ClInclude Include="src\xenia\kernel\fs\devices\disc_image_device.h" />
<ClInclude Include="src\xenia\kernel\fs\devices\disc_image_entry.h" />
<ClInclude Include="src\xenia\kernel\fs\devices\disc_image_file.h" />
<ClInclude Include="src\xenia\kernel\fs\devices\host_path_device.h" />
<ClInclude Include="src\xenia\kernel\fs\devices\host_path_entry.h" />
<ClInclude Include="src\xenia\kernel\fs\devices\host_path_file.h" />
<ClInclude Include="src\xenia\kernel\fs\devices\stfs_container_device.h" />
<ClInclude Include="src\xenia\kernel\fs\devices\stfs_container_entry.h" />
<ClInclude Include="src\xenia\kernel\fs\devices\stfs_container_file.h" />
<ClInclude Include="src\xenia\kernel\fs\entry.h" />
<ClInclude Include="src\xenia\kernel\fs\filesystem.h" />
<ClInclude Include="src\xenia\kernel\fs\gdfx.h" />
<ClInclude Include="src\xenia\kernel\fs\stfs.h" />
<ClInclude Include="src\xenia\kernel\kernel.h" />
<ClInclude Include="src\xenia\kernel\kernel_state.h" />
<ClInclude Include="src\xenia\kernel\modules.h" />
<ClInclude Include="src\xenia\kernel\native_list.h" />
<ClInclude Include="src\xenia\kernel\objects\xenumerator.h" />
<ClInclude Include="src\xenia\kernel\objects\xevent.h" />
<ClInclude Include="src\xenia\kernel\objects\xfile.h" />
<ClInclude Include="src\xenia\kernel\objects\xkernel_module.h" />
<ClInclude Include="src\xenia\kernel\objects\xmodule.h" />
<ClInclude Include="src\xenia\kernel\objects\xmutant.h" />
<ClInclude Include="src\xenia\kernel\objects\xnotify_listener.h" />
<ClInclude Include="src\xenia\kernel\objects\xsemaphore.h" />
<ClInclude Include="src\xenia\kernel\objects\xthread.h" />
<ClInclude Include="src\xenia\kernel\objects\xtimer.h" />
<ClInclude Include="src\xenia\kernel\objects\xuser_module.h" />
<ClInclude Include="src\xenia\kernel\object_table.h" />
<ClInclude Include="src\xenia\kernel\user_profile.h" />
<ClInclude Include="src\xenia\kernel\util\shim_utils.h" />
<ClInclude Include="src\xenia\kernel\util\xex2.h" />
<ClInclude Include="src\xenia\kernel\util\xex2_info.h" />
<ClInclude Include="src\xenia\kernel\xam_module.h" />
<ClInclude Include="src\xenia\kernel\xam_ordinals.h" />
<ClInclude Include="src\xenia\kernel\xam_private.h" />
<ClInclude Include="src\xenia\kernel\xboxkrnl_module.h" />
<ClInclude Include="src\xenia\kernel\xboxkrnl_ordinals.h" />
<ClInclude Include="src\xenia\kernel\xboxkrnl_private.h" />
<ClInclude Include="src\xenia\kernel\xboxkrnl_rtl.h" />
<ClInclude Include="src\xenia\kernel\xobject.h" />
<ClInclude Include="src\xenia\memory.h" />
<ClInclude Include="src\xenia\profiling.h" />
<ClInclude Include="src\xenia\ui\control.h" />
<ClInclude Include="src\xenia\ui\loop.h" />
<ClInclude Include="src\xenia\ui\main_window.h" />
<ClInclude Include="src\xenia\ui\menu_item.h" />
<ClInclude Include="src\xenia\ui\ui_event.h" />
<ClInclude Include="src\xenia\ui\win32\win32_control.h" />
<ClInclude Include="src\xenia\ui\win32\win32_loop.h" />
<ClInclude Include="src\xenia\ui\win32\win32_menu_item.h" />
<ClInclude Include="src\xenia\ui\win32\win32_window.h" />
<ClInclude Include="src\xenia\ui\window.h" />
<ClInclude Include="src\xenia\xbox.h" />
<ClInclude Include="third_party\beaengine\include\beaengine\basic_types.h" />
<ClInclude Include="third_party\beaengine\include\beaengine\BeaEngine.h" />
<ClInclude Include="third_party\beaengine\include\beaengine\export.h" />
<ClInclude Include="third_party\beaengine\include\beaengine\macros.h" />
<ClInclude Include="third_party\flatbuffers\include\flatbuffers\flatbuffers.h" />
<ClInclude Include="third_party\llvm\include\llvm\ADT\BitVector.h" />
<ClInclude Include="third_party\llvm\include\llvm\Support\Compiler.h" />
<ClInclude Include="third_party\llvm\include\llvm\Support\MathExtras.h" />
<ClInclude Include="third_party\llvm\include\llvm\Support\type_traits.h" />
<ClInclude Include="third_party\microprofile\microprofile.h" />
<ClInclude Include="third_party\microprofile\microprofileui.h" />
<ClInclude Include="third_party\mspack\lzx.h" />
<ClInclude Include="third_party\mspack\mspack.h" />
<ClInclude Include="third_party\pe\pe_image.h" />
<ClInclude Include="third_party\xbyak\xbyak\xbyak.h" />
<ClInclude Include="third_party\xbyak\xbyak\xbyak_bin2hex.h" />
<ClInclude Include="third_party\xbyak\xbyak\xbyak_mnemonic.h" />
<ClInclude Include="third_party\xbyak\xbyak\xbyak_util.h" />
<ClInclude Include="third_party\xxhash\xxhash.h" />
</ItemGroup>
<ItemGroup>
<None Include="src\xenia\cpu\backend\x64\x64_sequence.inl" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_add.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_addc.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_adde.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_addic.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_addme.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_addze.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_cntlzd.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_cntlzw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_divd.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_divdu.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_divw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_divwu.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_eqv.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_fabs.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_fsel.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_lvexx.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_lvl.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_lvr.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_lvsl.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_lvsr.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_mulhd.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_mulhdu.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_mulhw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_mulhwu.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_mulld.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_mulli.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_mullw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_neg.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_nor.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_ori.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_rldicl.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_rldicr.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_rlwimi.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_rlwinm.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_rlwnm.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_sld.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_slw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_srad.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_sradi.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_sraw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_srawi.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_srd.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_srw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_stvew.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_stvl.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_stvr.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_subf.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_subfc.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_subfe.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_subfic.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_subfme.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_subfze.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vaddshs.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vadduhm.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vcfsx.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vcmpxxfp.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vctsxs.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vmrghb.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vmrghh.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vmrghw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vmrglb.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vmrglh.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vmrglw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vperm.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vpermwi128.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vpkd3d128.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vpkshss.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vpkswss.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vrfin.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vrlimi128.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vsel.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vslb.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vsldoi.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vslh.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vslw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vspltb.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vsplth.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vspltisb.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vspltish.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vspltisw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vspltw.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vsubshs.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vsubuhm.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vupkd3d128.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vupkhsh.bin" />
<None Include="src\xenia\cpu\frontend\test\bin\instr_vupklsh.bin" />
<None Include="src\xenia\cpu\hir\opcodes.inl" />
<None Include="src\xenia\gpu\register_table.inc" />
<None Include="src\xenia\kernel\util\export_table_post.inc" />
<None Include="src\xenia\kernel\util\export_table_pre.inc" />
<None Include="src\xenia\kernel\util\ordinal_table_post.inc" />
<None Include="src\xenia\kernel\util\ordinal_table_pre.inc" />
<None Include="src\xenia\kernel\xam_table.inc" />
<None Include="src\xenia\kernel\xboxkrnl_table.inc" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0CE149F6-41C3-4224-9E57-C02E8C7CD312}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>libxenia</RootNamespace>
<TargetPlatformVersion>8.1</TargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="build\Xenia.Cpp.$(Platform).Common.props" />
<Import Project="build\Xenia.Cpp.$(Platform).$(Configuration).props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="build\Xenia.Cpp.$(Platform).Common.props" />
<Import Project="build\Xenia.Cpp.x64.Debug.props" />
<Import Project="build\Xenia.Cpp.$(Platform).$(Configuration).props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="build\Xenia.Cpp.$(Platform).Common.props" />
<Import Project="build\Xenia.Cpp.$(Platform).$(Configuration).props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>BEA_ENGINE_STATIC=1;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\beaengine\include\;$(SolutionDir)\third_party\llvm\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<AdditionalDependencies>libgflags.lib;libglew.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>BEA_ENGINE_STATIC=1;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\beaengine\include\;$(SolutionDir)\third_party\llvm\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<AdditionalDependencies>libgflags.lib;libglew.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>BEA_ENGINE_STATIC=1;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\beaengine\include\;$(SolutionDir)\third_party\llvm\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<AdditionalDependencies>libgflags.lib;libglew.lib</AdditionalDependencies>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

1626
libxenia.vcxproj.filters Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
namespace Xenia.Debugger {
namespace Xenia.Debug.UI {
partial class Form1 {
/// <summary>
/// Required designer variable.

View File

@ -8,13 +8,10 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Xenia.Debugger
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
namespace Xenia.Debug.UI {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
}
}

View File

@ -1,16 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Xenia.Debugger {
namespace Xenia.Debug.UI {
static class Program {
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main() {
[STAThread] static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());

View File

@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Xenia.Debugger")]
[assembly: AssemblyTitle("Xenia.Debug.UI")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Xenia.Debugger")]
[assembly: AssemblyCopyright("Copyright © Ben Vanik 2015")]
[assembly: AssemblyProduct("Xenia.Debug.UI")]
[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@ -20,7 +20,7 @@ using System.Runtime.InteropServices;
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f3714614-7970-4dd3-acb7-ca0c122dd073")]
[assembly: Guid("75a94ceb-442c-45b6-aeec-a5f16d4543f3")]
// Version information for an assembly consists of the following four values:
//

View File

@ -8,7 +8,9 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace Xenia.Debugger.Properties {
namespace Xenia.Debug.UI.Properties {
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
@ -36,7 +38,7 @@ namespace Xenia.Debugger.Properties {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if ((resourceMan == null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Xenia.Debugger.Properties.Resources", typeof(Resources).Assembly);
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Xenia.Debug.UI.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;

View File

@ -8,7 +8,9 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace Xenia.Debugger.Properties {
namespace Xenia.Debug.UI.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {

View File

@ -4,17 +4,18 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F3714614-7970-4DD3-ACB7-CA0C122DD073}</ProjectGuid>
<ProjectGuid>{75A94CEB-442C-45B6-AEEC-A5F16D4543F3}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Xenia.Debugger</RootNamespace>
<AssemblyName>Xenia.Debugger</AssemblyName>
<RootNamespace>Xenia.Debug.UI</RootNamespace>
<AssemblyName>Xenia.Debug.UI</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\..\build\xenia\Debug\</OutputPath>
<OutputPath>..\..\build\bin\Debug\</OutputPath>
<IntermediateOutputPath>..\..\build\obj\Debug\</IntermediateOutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
@ -23,7 +24,8 @@
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>..\..\build\xenia\Release\</OutputPath>
<OutputPath>..\..\build\bin\Release\</OutputPath>
<IntermediateOutputPath>..\..\build\obj\Release\</IntermediateOutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
@ -33,7 +35,7 @@
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<StartupObject>Xenia.Debugger.Program</StartupObject>
<StartupObject>Xenia.Debug.UI.Program</StartupObject>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@ -84,6 +86,10 @@
<Project>{c75532c4-765b-418e-b09b-46d36b2abdb1}</Project>
<Name>WinFormsUI</Name>
</ProjectReference>
<ProjectReference Include="..\Xenia.Debug\Xenia.Debug.csproj">
<Project>{58348c66-1b0d-497c-b51a-28e99df1ef74}</Project>
<Name>Xenia.Debug</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Xenia.Debug")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Xenia.Debug")]
[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("58348c66-1b0d-497c-b51a-28e99df1ef74")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{58348C66-1B0D-497C-B51A-28E99DF1EF74}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Xenia.Debug</RootNamespace>
<AssemblyName>Xenia.Debug</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\..\build\bin\Debug\</OutputPath>
<IntermediateOutputPath>..\..\build\obj\Debug\</IntermediateOutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>..\..\build\bin\Release\</OutputPath>
<IntermediateOutputPath>..\..\build\obj\Release\</IntermediateOutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@ -1,28 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.22823.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xenia.Debugger", "Xenia.Debugger.csproj", "{F3714614-7970-4DD3-ACB7-CA0C122DD073}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "..\..\third_party\dockpanelsuite\WinFormsUI\WinFormsUI.csproj", "{C75532C4-765B-418E-B09B-46D36B2ABDB1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F3714614-7970-4DD3-ACB7-CA0C122DD073}.Debug|x64.ActiveCfg = Debug|x64
{F3714614-7970-4DD3-ACB7-CA0C122DD073}.Debug|x64.Build.0 = Debug|x64
{F3714614-7970-4DD3-ACB7-CA0C122DD073}.Release|x64.ActiveCfg = Release|x64
{F3714614-7970-4DD3-ACB7-CA0C122DD073}.Release|x64.Build.0 = Release|x64
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Debug|x64.ActiveCfg = Debug|Any CPU
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Debug|x64.Build.0 = Debug|Any CPU
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Release|x64.ActiveCfg = Release|Any CPU
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,10 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'nop_apu-private.h',
'nop_apu.cc',
'nop_apu.h',
'nop_audio_system.cc',
'nop_audio_system.h',
],
}

View File

@ -1,24 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'apu-private.h',
'apu.cc',
'apu.h',
'audio_driver.cc',
'audio_driver.h',
'audio_system.cc',
'audio_system.h',
],
'includes': [
'nop/sources.gypi',
],
'conditions': [
['OS == "win"', {
'includes': [
'xaudio2/sources.gypi',
],
}],
],
}

View File

@ -1,12 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'xaudio2_apu-private.h',
'xaudio2_apu.cc',
'xaudio2_apu.h',
'xaudio2_audio_driver.cc',
'xaudio2_audio_driver.h',
'xaudio2_audio_system.cc',
'xaudio2_audio_system.h',
],
}

View File

@ -1,64 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'sources': [
'arena.cc',
'arena.h',
'assert.h',
'atomic.h',
'byte_order.h',
'debugging.h',
'delegate.h',
'fs.h',
'fs.cc',
'logging.cc',
'logging.h',
'main.h',
'mapped_memory.h',
'math.cc',
'math.h',
'memory_generic.cc',
'memory.h',
'platform.h',
'reset_scope.h',
'string.cc',
'string.h',
'string_buffer.cc',
'string_buffer.h',
'threading.cc',
'threading.h',
'type_pool.h',
'vec128.h',
],
'conditions': [
['OS == "mac" or OS == "linux"', {
'sources': [
'main_posix.cc',
'mapped_memory_posix.cc',
],
}],
['OS == "linux"', {
'sources': [
'threading_posix.cc',
],
}],
['OS == "mac"', {
'sources': [
'debugging_mac.cc',
'threading_mac.cc',
],
}],
['OS == "win"', {
'sources': [
'debugging_win.cc',
'fs_win.cc',
'main_win.cc',
'mapped_memory_win.cc',
'threading_win.cc',
],
}],
],
'includes': [
],
}

View File

@ -47,17 +47,19 @@ void StringBuffer::AppendVarargs(const char* format, va_list args) {
int length = vsnprintf(nullptr, 0, format, args);
auto offset = buffer_.size();
Grow(length + 1);
buffer_.resize(buffer_.size() + length);
buffer_.resize(buffer_.size() + length + 1);
vsnprintf(buffer_.data() + offset, buffer_.capacity(), format, args);
buffer_[buffer_.size()] = 0;
buffer_[buffer_.size() - 1] = 0;
buffer_.resize(buffer_.size() - 1);
}
void StringBuffer::AppendBytes(const uint8_t* buffer, size_t length) {
auto offset = buffer_.size();
Grow(length + 1);
buffer_.resize(buffer_.size() + length);
buffer_.resize(buffer_.size() + length + 1);
memcpy(buffer_.data() + offset, buffer, length);
buffer_[buffer_.size()] = 0;
buffer_[buffer_.size() - 1] = 0;
buffer_.resize(buffer_.size() - 1);
}
const char* StringBuffer::GetString() const { return buffer_.data(); }

View File

@ -1,18 +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. *
******************************************************************************
*/
#include "xenia/base/threading.h"
namespace xe {
namespace threading {
//
} // namespace threading
} // namespace xe

View File

@ -1,14 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'assembler.cc',
'assembler.h',
'backend.cc',
'backend.h',
'machine_info.h',
],
'includes': [
'x64/sources.gypi',
],
}

View File

@ -1,34 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'x64_assembler.cc',
'x64_assembler.h',
'x64_backend.cc',
'x64_backend.h',
'x64_code_cache.h',
'x64_emitter.cc',
'x64_emitter.h',
'x64_function.cc',
'x64_function.h',
'x64_sequence.inl',
'x64_sequences.cc',
'x64_sequences.h',
'x64_thunk_emitter.cc',
'x64_thunk_emitter.h',
'x64_tracers.cc',
'x64_tracers.h',
],
'conditions': [
['OS == "mac" or OS == "linux"', {
'sources': [
'x64_code_cache_posix.cc',
],
}],
['OS == "win"', {
'sources': [
'x64_code_cache_win.cc',
],
}],
],
}

View File

@ -13,6 +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/hir/hir_builder.h"
#include "xenia/cpu/hir/label.h"
#include "xenia/cpu/processor.h"
@ -81,6 +82,14 @@ bool X64Assembler::Assemble(FunctionInfo* symbol_info, HIRBuilder* builder,
string_buffer_.Reset();
}
// Dump debug data.
//auto fn_data = backend_->processor()->debugger()->
if (FLAGS_disassemble_functions) {
if (debug_info_flags & DebugInfoFlags::kDebugInfoDisasmSource) {
//
}
}
{
X64Function* fn = new X64Function(symbol_info);
fn->set_debug_info(std::move(debug_info));

View File

@ -15,7 +15,7 @@
#include "xenia/base/arena.h"
#include "xenia/cpu/hir/value.h"
#include "xenia/debug/trace_data.h"
#include "xenia/debug/function_trace_data.h"
namespace xe {
namespace cpu {

View File

@ -210,8 +210,9 @@ void RegisterAllocationPass::AdvanceUses(Instr* instr) {
if (!usage_set) {
break;
}
std::vector<RegisterUsage> to_add;
auto& upcoming_uses = usage_set->upcoming_uses;
for (auto it = upcoming_uses.begin(); it != upcoming_uses.end();) {
for (auto& it = upcoming_uses.begin(); it != upcoming_uses.end();) {
if (!it->use) {
// No uses at all - we can remove right away.
// This comes up from instructions where the dest is never used,
@ -243,9 +244,12 @@ void RegisterAllocationPass::AdvanceUses(Instr* instr) {
it = upcoming_uses.erase(it);
assert_true(next_use->instr->block == instr->block);
assert_true(value->def->block == instr->block);
upcoming_uses.emplace_back(value, next_use);
to_add.emplace_back(value, next_use);
}
}
for (auto& use : to_add) {
upcoming_uses.emplace_back(use);
}
}
DumpUsage("AdvanceUses");
}

View File

@ -1,29 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'constant_propagation_pass.cc',
'constant_propagation_pass.h',
'context_promotion_pass.cc',
'context_promotion_pass.h',
'control_flow_analysis_pass.cc',
'control_flow_analysis_pass.h',
'control_flow_simplification_pass.cc',
'control_flow_simplification_pass.h',
'data_flow_analysis_pass.cc',
'data_flow_analysis_pass.h',
'dead_code_elimination_pass.cc',
'dead_code_elimination_pass.h',
'finalization_pass.cc',
'finalization_pass.h',
#'dead_store_elimination_pass.cc',
#'dead_store_elimination_pass.h',
'register_allocation_pass.cc',
'register_allocation_pass.h',
'simplification_pass.cc',
'simplification_pass.h',
'validation_pass.cc',
'validation_pass.h',
'value_reduction_pass.cc',
'value_reduction_pass.h',
],
}

View File

@ -1,14 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'compiler.cc',
'compiler.h',
'compiler_pass.cc',
'compiler_pass.h',
'compiler_passes.h',
],
'includes': [
'passes/sources.gypi',
],
}

View File

@ -21,6 +21,7 @@ DECLARE_bool(dump_module_map);
DECLARE_bool(debug);
DECLARE_bool(always_disasm);
DECLARE_bool(disassemble_functions);
DECLARE_bool(trace_functions);
DECLARE_bool(trace_function_coverage);

View File

@ -35,6 +35,8 @@ DEFINE_bool(debug, DEFAULT_DEBUG_FLAG,
DEFINE_bool(
always_disasm, false,
"Always add debug info to functions, even when no debugger is attached.");
DEFINE_bool(disassemble_functions, false,
"Disassemble functions during generation.");
DEFINE_bool(trace_functions, false,
"Generate tracing for function statistics.");

View File

@ -13,7 +13,8 @@
#include <cstddef>
#include <cstdint>
#include "xenia/debug/trace_data.h"
#include "xenia/debug/function_data.h"
#include "xenia/debug/function_trace_data.h"
namespace xe {
namespace cpu {

View File

@ -134,11 +134,13 @@ bool PPCTranslator::Translate(FunctionInfo* symbol_info,
symbol_info->address(), symbol_info->end_address());
}
uint8_t* trace_data =
frontend_->processor()->debugger()->AllocateTraceFunctionData(
frontend_->processor()->debugger()->AllocateFunctionTraceData(
trace_data_size);
debug_info->trace_data().Reset(trace_data, trace_data_size,
symbol_info->address(),
symbol_info->end_address());
if (trace_data) {
debug_info->trace_data().Reset(trace_data, trace_data_size,
symbol_info->address(),
symbol_info->end_address());
}
}
// Stash source.

View File

@ -1,32 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'context_info.cc',
'context_info.h',
'ppc_context.cc',
'ppc_context.h',
'ppc_disasm.cc',
'ppc_disasm.h',
'ppc_emit-private.h',
'ppc_emit.h',
'ppc_emit_altivec.cc',
'ppc_emit_alu.cc',
'ppc_emit_control.cc',
'ppc_emit_fpu.cc',
'ppc_emit_memory.cc',
'ppc_frontend.cc',
'ppc_frontend.h',
'ppc_hir_builder.cc',
'ppc_hir_builder.h',
'ppc_instr.cc',
'ppc_instr.h',
'ppc_instr_tables.h',
'ppc_scanner.cc',
'ppc_scanner.h',
'ppc_translator.cc',
'ppc_translator.h',
],
'includes': [
],
}

View File

@ -1,27 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'xe-cpu-ppc-test',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '1',
},
},
'dependencies': [
'libxenia',
],
'include_dirs': [
'.',
],
'sources': [
'xe-cpu-ppc-test.cc',
],
},
],
}

View File

@ -0,0 +1,217 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9B8AC22F-9147-490F-BE03-3B8BA31990A8}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>xecpuppctest</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Debug.props" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Checked.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\..\build\Xenia.Cpp.x64.Release.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\base\main_win.cc" />
<ClCompile Include="xe-cpu-ppc-test.cc" />
</ItemGroup>
<ItemGroup>
<None Include="instr_add.s" />
<None Include="instr_addc.s" />
<None Include="instr_adde.s" />
<None Include="instr_addic.s" />
<None Include="instr_addme.s" />
<None Include="instr_addze.s" />
<None Include="instr_cntlzd.s" />
<None Include="instr_cntlzw.s" />
<None Include="instr_divd.s" />
<None Include="instr_divdu.s" />
<None Include="instr_divw.s" />
<None Include="instr_divwu.s" />
<None Include="instr_eqv.s" />
<None Include="instr_fabs.s" />
<None Include="instr_fsel.s" />
<None Include="instr_lvexx.s" />
<None Include="instr_lvl.s" />
<None Include="instr_lvr.s" />
<None Include="instr_lvsl.s" />
<None Include="instr_lvsr.s" />
<None Include="instr_mulhd.s" />
<None Include="instr_mulhdu.s" />
<None Include="instr_mulhw.s" />
<None Include="instr_mulhwu.s" />
<None Include="instr_mulld.s" />
<None Include="instr_mulli.s" />
<None Include="instr_mullw.s" />
<None Include="instr_neg.s" />
<None Include="instr_nor.s" />
<None Include="instr_ori.s" />
<None Include="instr_rldicl.s" />
<None Include="instr_rldicr.s" />
<None Include="instr_rlwimi.s" />
<None Include="instr_rlwinm.s" />
<None Include="instr_rlwnm.s" />
<None Include="instr_sld.s" />
<None Include="instr_slw.s" />
<None Include="instr_srad.s" />
<None Include="instr_sradi.s" />
<None Include="instr_sraw.s" />
<None Include="instr_srawi.s" />
<None Include="instr_srd.s" />
<None Include="instr_srw.s" />
<None Include="instr_stvew.s" />
<None Include="instr_stvl.s" />
<None Include="instr_stvr.s" />
<None Include="instr_subf.s" />
<None Include="instr_subfc.s" />
<None Include="instr_subfe.s" />
<None Include="instr_subfic.s" />
<None Include="instr_subfme.s" />
<None Include="instr_subfze.s" />
<None Include="instr_vaddshs.s" />
<None Include="instr_vadduhm.s" />
<None Include="instr_vcfsx.s" />
<None Include="instr_vcmpxxfp.s" />
<None Include="instr_vctsxs.s" />
<None Include="instr_vmrghb.s" />
<None Include="instr_vmrghh.s" />
<None Include="instr_vmrghw.s" />
<None Include="instr_vmrglb.s" />
<None Include="instr_vmrglh.s" />
<None Include="instr_vmrglw.s" />
<None Include="instr_vperm.s" />
<None Include="instr_vpermwi128.s" />
<None Include="instr_vpkd3d128.s" />
<None Include="instr_vpkshss.s" />
<None Include="instr_vpkswss.s" />
<None Include="instr_vrfin.s" />
<None Include="instr_vrlimi128.s" />
<None Include="instr_vsel.s" />
<None Include="instr_vslb.s" />
<None Include="instr_vsldoi.s" />
<None Include="instr_vslh.s" />
<None Include="instr_vslw.s" />
<None Include="instr_vspltb.s" />
<None Include="instr_vsplth.s" />
<None Include="instr_vspltisb.s" />
<None Include="instr_vspltish.s" />
<None Include="instr_vspltisw.s" />
<None Include="instr_vspltw.s" />
<None Include="instr_vsubshs.s" />
<None Include="instr_vsubuhm.s" />
<None Include="instr_vupkd3d128.s" />
<None Include="instr_vupkhsh.s" />
<None Include="instr_vupklsh.s" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\base\main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="xe-cpu-ppc-test.cc" />
<ClCompile Include="..\..\..\base\main_win.cc">
<Filter>src\xenia\base</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="instr_vupklsh.s" />
<None Include="instr_add.s" />
<None Include="instr_addc.s" />
<None Include="instr_adde.s" />
<None Include="instr_addic.s" />
<None Include="instr_addme.s" />
<None Include="instr_addze.s" />
<None Include="instr_cntlzd.s" />
<None Include="instr_cntlzw.s" />
<None Include="instr_divd.s" />
<None Include="instr_divdu.s" />
<None Include="instr_divw.s" />
<None Include="instr_divwu.s" />
<None Include="instr_eqv.s" />
<None Include="instr_fabs.s" />
<None Include="instr_fsel.s" />
<None Include="instr_lvexx.s" />
<None Include="instr_lvl.s" />
<None Include="instr_lvr.s" />
<None Include="instr_lvsl.s" />
<None Include="instr_lvsr.s" />
<None Include="instr_mulhd.s" />
<None Include="instr_mulhdu.s" />
<None Include="instr_mulhw.s" />
<None Include="instr_mulhwu.s" />
<None Include="instr_mulld.s" />
<None Include="instr_mulli.s" />
<None Include="instr_mullw.s" />
<None Include="instr_neg.s" />
<None Include="instr_nor.s" />
<None Include="instr_ori.s" />
<None Include="instr_rldicl.s" />
<None Include="instr_rldicr.s" />
<None Include="instr_rlwimi.s" />
<None Include="instr_rlwinm.s" />
<None Include="instr_rlwnm.s" />
<None Include="instr_sld.s" />
<None Include="instr_slw.s" />
<None Include="instr_srad.s" />
<None Include="instr_sradi.s" />
<None Include="instr_sraw.s" />
<None Include="instr_srawi.s" />
<None Include="instr_srd.s" />
<None Include="instr_srw.s" />
<None Include="instr_stvew.s" />
<None Include="instr_stvl.s" />
<None Include="instr_stvr.s" />
<None Include="instr_subf.s" />
<None Include="instr_subfc.s" />
<None Include="instr_subfe.s" />
<None Include="instr_subfic.s" />
<None Include="instr_subfme.s" />
<None Include="instr_subfze.s" />
<None Include="instr_vaddshs.s" />
<None Include="instr_vadduhm.s" />
<None Include="instr_vcfsx.s" />
<None Include="instr_vcmpxxfp.s" />
<None Include="instr_vctsxs.s" />
<None Include="instr_vmrghb.s" />
<None Include="instr_vmrghh.s" />
<None Include="instr_vmrghw.s" />
<None Include="instr_vmrglb.s" />
<None Include="instr_vmrglh.s" />
<None Include="instr_vmrglw.s" />
<None Include="instr_vperm.s" />
<None Include="instr_vpermwi128.s" />
<None Include="instr_vpkd3d128.s" />
<None Include="instr_vpkshss.s" />
<None Include="instr_vpkswss.s" />
<None Include="instr_vrfin.s" />
<None Include="instr_vrlimi128.s" />
<None Include="instr_vsel.s" />
<None Include="instr_vslb.s" />
<None Include="instr_vsldoi.s" />
<None Include="instr_vslh.s" />
<None Include="instr_vslw.s" />
<None Include="instr_vspltb.s" />
<None Include="instr_vsplth.s" />
<None Include="instr_vspltisb.s" />
<None Include="instr_vspltish.s" />
<None Include="instr_vspltisw.s" />
<None Include="instr_vspltw.s" />
<None Include="instr_vsubshs.s" />
<None Include="instr_vsubuhm.s" />
<None Include="instr_vupkd3d128.s" />
<None Include="instr_vupkhsh.s" />
</ItemGroup>
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{3beca96a-ec9a-4570-8873-3de8c124862f}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia">
<UniqueIdentifier>{eeea8b16-cc79-4e53-80a4-6db3089e6db9}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia\base">
<UniqueIdentifier>{459f7c23-b556-4300-b16d-8f86063c8e1a}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\base\main.h">
<Filter>src\xenia\base</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -1,17 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'block.cc',
'block.h',
'hir_builder.cc',
'hir_builder.h',
'instr.cc',
'instr.h',
'label.h',
'opcodes.cc',
'opcodes.h',
'opcodes.inl',
'value.cc',
'value.h',
],
}

View File

@ -1,62 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'cpu-private.h',
'cpu.cc',
'cpu.h',
'debug_info.cc',
'debug_info.h',
'entry_table.cc',
'entry_table.h',
'export_resolver.cc',
'export_resolver.h',
'function.cc',
'function.h',
'instrument.cc',
'instrument.h',
'mmio_handler.cc',
'mmio_handler.h',
'module.cc',
'module.h',
'processor.cc',
'processor.h',
'raw_module.cc',
'raw_module.h',
'symbol_info.cc',
'symbol_info.h',
'test_module.cc',
'test_module.h',
'thread_state.cc',
'thread_state.h',
'xex_module.cc',
'xex_module.h',
],
'conditions': [
['OS == "mac" or OS == "linux"', {
'sources': [
],
}],
['OS == "linux"', {
'sources': [
],
}],
['OS == "mac"', {
'sources': [
'mmio_handler_mac.cc',
],
}],
['OS == "win"', {
'sources': [
'mmio_handler_win.cc',
],
}],
],
'includes': [
'backend/sources.gypi',
'compiler/sources.gypi',
'frontend/sources.gypi',
'hir/sources.gypi',
],
}

View File

@ -1,117 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'xe-cpu-sandbox',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '1'
},
},
'dependencies': [
'libxenia',
],
'include_dirs': [
'.',
],
'sources': [
'xe-cpu-sandbox.cc',
],
},
],
'targets': [
{
'target_name': 'xe-cpu-hir-test',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '1'
},
},
'dependencies': [
'libxenia',
],
'include_dirs': [
'.',
],
'sources': [
'xe-cpu-hir-test.cc',
'util.h',
#'test_abs.cc',
'test_add.cc',
#'test_add_carry.cc',
#'test_and.cc',
#'test_assign.cc',
#'test_atomic_add.cc',
#'test_atomic_exchange.cc',
#'test_atomic_sub.cc',
#'test_branch.cc',
'test_byte_swap.cc',
#'test_cast.cc',
#'test_cntlz.cc',
#'test_compare.cc',
#'test_compare_exchange.cc',
#'test_convert.cc',
#'test_did_carry.cc',
#'test_div.cc',
#'test_dot_product_3.cc',
#'test_dot_product_4.cc',
'test_extract.cc',
'test_insert.cc',
#'test_is_true_false.cc',
#'test_load_clock.cc',
'test_load_vector_shl_shr.cc',
#'test_log2.cc',
#'test_max.cc',
#'test_min.cc',
#'test_mul.cc',
#'test_mul_add.cc',
#'test_mul_hi.cc',
#'test_mul_sub.cc',
#'test_neg.cc',
#'test_not.cc',
#'test_or.cc',
'test_pack.cc',
'test_permute.cc',
#'test_pow2.cc',
#'test_rotate_left.cc',
#'test_round.cc',
#'test_rsqrt.cc',
#'test_select.cc',
'test_sha.cc',
'test_shl.cc',
'test_shr.cc',
#'test_sign_extend.cc',
#'test_splat.cc',
#'test_sqrt.cc',
#'test_sub.cc',
'test_swizzle.cc',
#'test_truncate.cc',
'test_unpack.cc',
'test_vector_add.cc',
#'test_vector_compare.cc',
#'test_vector_convert.cc',
'test_vector_max.cc',
'test_vector_min.cc',
'test_vector_rotate_left.cc',
'test_vector_sha.cc',
'test_vector_shl.cc',
'test_vector_shr.cc',
#'test_vector_sub.cc',
#'test_xor.cc',
#'test_zero_extend.cc',
],
},
],
}

View File

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>xecpuhirtest</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Debug.props" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Checked.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\..\..\..\build\Xenia.Cpp.x64.Release.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\base\main_win.cc" />
<ClCompile Include="test_add.cc" />
<ClCompile Include="test_byte_swap.cc" />
<ClCompile Include="test_extract.cc" />
<ClCompile Include="test_insert.cc" />
<ClCompile Include="test_load_vector_shl_shr.cc" />
<ClCompile Include="test_pack.cc" />
<ClCompile Include="test_permute.cc" />
<ClCompile Include="test_sha.cc" />
<ClCompile Include="test_shl.cc" />
<ClCompile Include="test_shr.cc" />
<ClCompile Include="test_swizzle.cc" />
<ClCompile Include="test_unpack.cc" />
<ClCompile Include="test_vector_add.cc" />
<ClCompile Include="test_vector_max.cc" />
<ClCompile Include="test_vector_min.cc" />
<ClCompile Include="test_vector_rotate_left.cc" />
<ClCompile Include="test_vector_sha.cc" />
<ClCompile Include="test_vector_shl.cc" />
<ClCompile Include="test_vector_shr.cc" />
<ClCompile Include="xe-cpu-hir-test.cc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\base\main.h" />
<ClInclude Include="util.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="test_add.cc" />
<ClCompile Include="test_byte_swap.cc" />
<ClCompile Include="test_extract.cc" />
<ClCompile Include="test_insert.cc" />
<ClCompile Include="test_load_vector_shl_shr.cc" />
<ClCompile Include="test_pack.cc" />
<ClCompile Include="test_permute.cc" />
<ClCompile Include="test_sha.cc" />
<ClCompile Include="test_shl.cc" />
<ClCompile Include="test_shr.cc" />
<ClCompile Include="test_swizzle.cc" />
<ClCompile Include="test_unpack.cc" />
<ClCompile Include="test_vector_add.cc" />
<ClCompile Include="test_vector_max.cc" />
<ClCompile Include="test_vector_min.cc" />
<ClCompile Include="test_vector_rotate_left.cc" />
<ClCompile Include="test_vector_sha.cc" />
<ClCompile Include="test_vector_shl.cc" />
<ClCompile Include="test_vector_shr.cc" />
<ClCompile Include="xe-cpu-hir-test.cc" />
<ClCompile Include="..\..\base\main_win.cc">
<Filter>src\xenia\base</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="util.h" />
<ClInclude Include="..\..\base\main.h">
<Filter>src\xenia\base</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{cd58f445-4d2f-452b-a5a0-1dd29a620341}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia">
<UniqueIdentifier>{a43f8164-d83a-4ff6-83a4-1915664abbf9}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia\base">
<UniqueIdentifier>{1bdcf344-57a7-4b58-93d6-3e860f50ad1b}</UniqueIdentifier>
</Filter>
</ItemGroup>
</Project>

View File

@ -36,29 +36,44 @@ Debugger::~Debugger() = default;
bool Debugger::StartSession() {
std::wstring session_path = xe::to_wstring(FLAGS_debug_session_path);
std::wstring trace_functions_path =
xe::join_paths(session_path, L"trace.functions");
trace_functions_ = ChunkedMappedMemoryWriter::Open(trace_functions_path,
32 * 1024 * 1024, true);
std::wstring functions_path = xe::join_paths(session_path, L"functions");
functions_file_ =
ChunkedMappedMemoryWriter::Open(functions_path, 32 * 1024 * 1024, false);
std::wstring functions_trace_path =
xe::join_paths(session_path, L"functions.trace");
functions_trace_file_ = ChunkedMappedMemoryWriter::Open(
functions_trace_path, 32 * 1024 * 1024, true);
return true;
}
void Debugger::StopSession() {
FlushSession();
trace_functions_.reset();
functions_file_.reset();
functions_trace_file_.reset();
}
void Debugger::FlushSession() {
if (trace_functions_) {
trace_functions_->Flush();
if (functions_file_) {
functions_file_->Flush();
}
if (functions_trace_file_) {
functions_trace_file_->Flush();
}
}
uint8_t* Debugger::AllocateTraceFunctionData(size_t size) {
if (!trace_functions_) {
uint8_t* Debugger::AllocateFunctionData(size_t size) {
if (!functions_file_) {
return nullptr;
}
return trace_functions_->Allocate(size);
return functions_file_->Allocate(size);
}
uint8_t* Debugger::AllocateFunctionTraceData(size_t size) {
if (!functions_trace_file_) {
return nullptr;
}
return functions_trace_file_->Allocate(size);
}
int Debugger::SuspendAllThreads(uint32_t timeout_ms) {

View File

@ -71,7 +71,8 @@ class Debugger {
void StopSession();
void FlushSession();
uint8_t* AllocateTraceFunctionData(size_t size);
uint8_t* AllocateFunctionData(size_t size);
uint8_t* AllocateFunctionTraceData(size_t size);
int SuspendAllThreads(uint32_t timeout_ms = UINT_MAX);
int ResumeThread(uint32_t thread_id);
@ -100,7 +101,8 @@ class Debugger {
private:
cpu::Processor* processor_;
std::unique_ptr<ChunkedMappedMemoryWriter> trace_functions_;
std::unique_ptr<ChunkedMappedMemoryWriter> functions_file_;
std::unique_ptr<ChunkedMappedMemoryWriter> functions_trace_file_;
std::mutex threads_lock_;
std::unordered_map<uint32_t, cpu::ThreadState*> threads_;

View File

@ -0,0 +1,81 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2015 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#ifndef XENIA_DEBUG_FUNCTION_DATA_H_
#define XENIA_DEBUG_FUNCTION_DATA_H_
#include <cstdint>
#include "xenia/base/memory.h"
namespace xe {
namespace debug {
class FunctionData {
public:
struct Header {
// Format is used by tooling, changes must be made across all targets.
// + 0 4b (data size)
// + 4 4b start_address
// + 8 4b end_address
// +12 4b type (user, external, etc)
// +16 4b source_map_entry_count
//
// +20 4b source_disasm_length
// +20 4b raw_hir_disasm_length
// +20 4b hir_disasm_length
// +20 4b machine_code_disasm_length
// +20 12b* source_map_entries
uint32_t data_size;
uint32_t start_address;
uint32_t end_address;
uint32_t type;
/*
source_map_count
source_map[] : {ppc_address, hir_offset, code_offset}
raw_hir_disasm_ (len + chars)
hir_disasm_ (len + chars)
machine_code_ (len + bytes) (without tracing? regen?)
*/
};
FunctionData() : header_(nullptr) {}
void Reset(uint8_t* trace_data, size_t trace_data_size,
uint32_t start_address, uint32_t end_address) {
header_ = reinterpret_cast<Header*>(trace_data);
header_->data_size = uint32_t(trace_data_size);
header_->start_address = start_address;
header_->end_address = end_address;
header_->type = 0;
// Clear any remaining.
std::memset(trace_data + sizeof(Header), 0,
trace_data_size - sizeof(Header));
}
bool is_valid() const { return header_ != nullptr; }
uint32_t start_address() const { return header_->start_address; }
uint32_t end_address() const { return header_->end_address; }
uint32_t instruction_count() const {
return (header_->end_address - header_->start_address) / 4 + 1;
}
Header* header() const { return header_; }
static size_t SizeOfHeader() { return sizeof(Header); }
private:
Header* header_;
};
} // namespace debug
} // namespace xe
#endif // XENIA_DEBUG_FUNCTION_DATA_H_

View File

@ -7,8 +7,8 @@
******************************************************************************
*/
#ifndef XENIA_DEBUG_TRACE_DATA_H_
#define XENIA_DEBUG_TRACE_DATA_H_
#ifndef XENIA_DEBUG_FUNCTION_TRACE_DATA_H_
#define XENIA_DEBUG_FUNCTION_TRACE_DATA_H_
#include <cstdint>
@ -89,4 +89,4 @@ class FunctionTraceData {
} // namespace debug
} // namespace xe
#endif // XENIA_DEBUG_TRACE_DATA_H_
#endif // XENIA_DEBUG_FUNCTION_TRACE_DATA_H_

View File

@ -1,10 +0,0 @@
# Copyright 2015 Ben Vanik. All Rights Reserved.
{
'sources': [
'debug_server.cc',
'debug_server.h',
'debugger.cc',
'debugger.h',
'trace_data.h',
],
}

View File

@ -1,37 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'sources': [
'blitter.cc',
'blitter.h',
'circular_buffer.cc',
'circular_buffer.h',
'command_processor.cc',
'command_processor.h',
'draw_batcher.cc',
'draw_batcher.h',
'gl4_gpu-private.h',
'gl4_gpu.cc',
'gl4_gpu.h',
'gl4_graphics_system.cc',
'gl4_graphics_system.h',
'gl4_profiler_display.cc',
'gl4_profiler_display.h',
'gl4_shader.cc',
'gl4_shader.h',
'gl4_shader_translator.cc',
'gl4_shader_translator.h',
'gl_context.cc',
'gl_context.h',
'texture_cache.cc',
'texture_cache.h',
],
'conditions': [
['OS == "win"', {
'sources': [
'wgl_control.cc',
'wgl_control.h',
],
}],
],
}

View File

@ -1,28 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'gpu-private.h',
'gpu.cc',
'gpu.h',
'graphics_system.cc',
'graphics_system.h',
'register_file.cc',
'register_file.h',
'register_table.inc',
'sampler_info.cc',
'sampler_info.h',
'shader.cc',
'shader.h',
'texture_info.cc',
'texture_info.h',
'tracing.h',
'ucode.h',
'ucode_disassembler.cc',
'ucode_disassembler.h',
'xenos.h',
],
'includes': [
'gl4/sources.gypi',
],
}

View File

@ -1,10 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'nop_hid-private.h',
'nop_hid.cc',
'nop_hid.h',
'nop_input_driver.cc',
'nop_input_driver.h',
],
}

View File

@ -1,25 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'hid-private.h',
'hid.cc',
'hid.h',
'input_driver.cc',
'input_driver.h',
'input_system.cc',
'input_system.h',
],
'includes': [
'nop/sources.gypi',
],
'conditions': [
['OS == "win"', {
'includes': [
'winkey/sources.gypi',
'xinput/sources.gypi',
],
}],
],
}

View File

@ -1,10 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'winkey_hid-private.h',
'winkey_hid.cc',
'winkey_hid.h',
'winkey_input_driver.cc',
'winkey_input_driver.h',
],
}

View File

@ -1,10 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'xinput_hid-private.h',
'xinput_hid.cc',
'xinput_hid.h',
'xinput_input_driver.cc',
'xinput_input_driver.h',
],
}

View File

@ -1,13 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'apps.cc',
'apps.h',
'xgi_app.cc',
'xgi_app.h',
'xlivebase_app.cc',
'xlivebase_app.h',
'xmp_app.cc',
'xmp_app.h',
],
}

View File

@ -1,23 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'disc_image_device.cc',
'disc_image_device.h',
'disc_image_entry.cc',
'disc_image_entry.h',
'disc_image_file.cc',
'disc_image_file.h',
'host_path_device.cc',
'host_path_device.h',
'host_path_entry.cc',
'host_path_entry.h',
'host_path_file.cc',
'host_path_file.h',
'stfs_container_device.cc',
'stfs_container_device.h',
'stfs_container_entry.cc',
'stfs_container_entry.h',
'stfs_container_file.cc',
'stfs_container_file.h',
],
}

View File

@ -1,19 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'device.cc',
'device.h',
'entry.cc',
'entry.h',
'filesystem.cc',
'filesystem.h',
'gdfx.cc',
'gdfx.h',
'stfs.cc',
'stfs.h',
],
'includes': [
'devices/sources.gypi',
],
}

View File

@ -1,27 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'xenumerator.cc',
'xenumerator.h',
'xevent.cc',
'xevent.h',
'xfile.cc',
'xfile.h',
'xkernel_module.cc',
'xkernel_module.h',
'xmodule.cc',
'xmodule.h',
'xmutant.cc',
'xmutant.h',
'xnotify_listener.cc',
'xnotify_listener.h',
'xsemaphore.cc',
'xsemaphore.h',
'xthread.cc',
'xthread.h',
'xtimer.cc',
'xtimer.h',
'xuser_module.cc',
'xuser_module.h',
],
}

View File

@ -1,67 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'app.cc',
'app.h',
'async_request.cc',
'async_request.h',
'content_manager.cc',
'content_manager.h',
'dispatcher.cc',
'dispatcher.h',
'kernel.h',
'kernel_state.cc',
'kernel_state.h',
'modules.h',
'native_list.cc',
'native_list.h',
'object_table.cc',
'object_table.h',
'user_profile.cc',
'user_profile.h',
'xam_content.cc',
'xam_info.cc',
'xam_input.cc',
'xam_module.cc',
'xam_module.h',
'xam_msg.cc',
'xam_net.cc',
'xam_notify.cc',
'xam_ordinals.h',
'xam_private.h',
'xam_table.inc',
'xam_ui.cc',
'xam_user.cc',
'xam_video.cc',
'xam_voice.cc',
'xboxkrnl_audio.cc',
'xboxkrnl_audio_xma.cc',
'xboxkrnl_debug.cc',
'xboxkrnl_hal.cc',
'xboxkrnl_io.cc',
'xboxkrnl_memory.cc',
'xboxkrnl_misc.cc',
'xboxkrnl_module.cc',
'xboxkrnl_module.h',
'xboxkrnl_modules.cc',
'xboxkrnl_ob.cc',
'xboxkrnl_ordinals.h',
'xboxkrnl_private.h',
'xboxkrnl_rtl.cc',
'xboxkrnl_rtl.h',
'xboxkrnl_strings.cc',
'xboxkrnl_table.inc',
'xboxkrnl_threading.cc',
'xboxkrnl_usbcam.cc',
'xboxkrnl_video.cc',
'xobject.cc',
'xobject.h',
],
'includes': [
'apps/sources.gypi',
'fs/sources.gypi',
'objects/sources.gypi',
'util/sources.gypi',
],
}

View File

@ -1,13 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'export_table_post.inc',
'export_table_pre.inc',
'ordinal_table_post.inc',
'ordinal_table_pre.inc',
'shim_utils.h',
'xex2.cc',
'xex2.h',
'xex2_info.h',
],
}

View File

@ -16,7 +16,6 @@
#include "xenia/base/platform.h"
#include "xenia/cpu/mmio_handler.h"
#include "xenia/memory.h"
namespace xe {

View File

@ -1,24 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'sources': [
'emulator.cc',
'emulator.h',
'memory.cc',
'memory.h',
'profiling.cc',
'profiling.h',
'xbox.h',
# xenia_main.cc is purposefully omitted as it's used in another target.
],
'includes': [
'apu/sources.gypi',
'base/sources.gypi',
'cpu/sources.gypi',
'debug/sources.gypi',
'gpu/sources.gypi',
'hid/sources.gypi',
'kernel/sources.gypi',
'ui/sources.gypi',
],
}

View File

@ -1,8 +0,0 @@
# Copyright 2015 x1nixmzeng. All Rights Reserved.
{
'sources': [
'api_scanner_loader.cc',
'api_scanner_loader.h',
'api_scanner_main.cc'
]
}

View File

@ -1,22 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'sources': [
'control.cc',
'control.h',
'loop.h',
'main_window.cc',
'main_window.h',
'menu_item.cc',
'menu_item.h',
'ui_event.h',
'window.h',
],
'conditions': [
['OS == "win"', {
'includes': [
'win32/sources.gypi',
],
}],
],
}

View File

@ -1,13 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'sources': [
'win32_control.cc',
'win32_control.h',
'win32_loop.cc',
'win32_loop.h',
'win32_menu_item.cc',
'win32_menu_item.h',
'win32_window.cc',
'win32_window.h',
],
}

View File

@ -1,36 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'beaengine',
'type': '<(library)',
'direct_dependent_settings': {
'include_dirs': [
'beaengine/include/',
],
'defines': [
'BEA_ENGINE_STATIC=1',
],
},
'sources': [
'beaengine/beaengineSources/BeaEngine.c',
'beaengine/include/beaengine/basic_types.h',
'beaengine/include/beaengine/BeaEngine.h',
'beaengine/include/beaengine/export.h',
'beaengine/include/beaengine/macros.h',
],
'include_dirs': [
'beaengine/beaengineSources/',
'beaengine/include/',
],
'defines': [
'BEA_ENGINE_STATIC=1',
#'BEA_LIGHT_DISASSEMBLY=1',
],
}
]
}

View File

@ -62,4 +62,4 @@ cd ..
echo ""
echo "Cleaning up binutils build temp"
rm -rf ./binutils-$SNAPSHOT_VERSION
#rm -rf ./binutils-$SNAPSHOT_VERSION

1
third_party/flatbuffers vendored Submodule

@ -0,0 +1 @@
Subproject commit ecb27817cab429925f311832cffb277df30a9908

137
third_party/flatc.vcxproj vendored Normal file
View File

@ -0,0 +1,137 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{D3069A06-62FC-479F-9F5C-23B4377481B0}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>flatc</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Debug.props" />
<Import Project="..\build\Xenia.Cpp.x64.Checked.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Release.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\flatbuffers\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\flatbuffers\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\flatbuffers\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="flatbuffers\include\flatbuffers\flatbuffers.h" />
<ClInclude Include="flatbuffers\include\flatbuffers\hash.h" />
<ClInclude Include="flatbuffers\include\flatbuffers\idl.h" />
<ClInclude Include="flatbuffers\include\flatbuffers\util.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="flatbuffers\src\flatc.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_cpp.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_fbs.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_general.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_go.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_text.cpp" />
<ClCompile Include="flatbuffers\src\idl_parser.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

18
third_party/flatc.vcxproj.filters vendored Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClInclude Include="flatbuffers\include\flatbuffers\flatbuffers.h" />
<ClInclude Include="flatbuffers\include\flatbuffers\hash.h" />
<ClInclude Include="flatbuffers\include\flatbuffers\idl.h" />
<ClInclude Include="flatbuffers\include\flatbuffers\util.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="flatbuffers\src\flatc.cpp" />
<ClCompile Include="flatbuffers\src\idl_parser.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_text.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_general.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_go.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_fbs.cpp" />
<ClCompile Include="flatbuffers\src\idl_gen_cpp.cpp" />
</ItemGroup>
</Project>

View File

@ -1,59 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'gflags',
'type': '<(library)',
'direct_dependent_settings': {
'conditions': [
['OS != "win"', {
'include_dirs': [
'gflags/src/',
],
}],
['OS == "win"', {
'include_dirs': [
'gflags/src/windows/',
],
'defines': [
'GFLAGS_DLL_DECL=',
'GFLAGS_DLL_DEFINE_FLAG=',
'GFLAGS_DLL_DECLARE_FLAG=',
],
}],
],
},
'sources': [
'gflags/src/gflags.cc',
'gflags/src/gflags_completions.cc',
'gflags/src/gflags_nc.cc',
'gflags/src/gflags_reporting.cc',
],
'conditions': [
['OS != "win"', {
'include_dirs': [
'gflags/src/',
],
}],
['OS == "win"', {
'include_dirs': [
'gflags/src/windows/',
'gflags/src/',
],
'sources+': [
'gflags/src/windows/port.cc',
],
'defines': [
'PATH_SEPARATOR=\'\\\\\'',
'GFLAGS_DLL_DECL=',
'GFLAGS_DLL_DEFINE_FLAG=',
'GFLAGS_DLL_DECLARE_FLAG=',
],
}],
],
}
]
}

41
third_party/glew.gypi vendored
View File

@ -1,41 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'glew',
'type': '<(library)',
'direct_dependent_settings': {
'include_dirs': [
'GL/',
],
'defines': [
'GLEW_STATIC=1',
'GLEW_MX=1',
],
},
'include_dirs': [
'GL/',
],
'defines': [
'GLEW_STATIC=1',
'GLEW_MX=1',
],
'sources': [
# Khronos sources:
'GL/glcorearb.h',
'GL/glext.h',
'GL/glxext.h',
'GL/wglext.h',
# GLEW sources:
'GL/glew.c',
'GL/glew.h',
'GL/glxew.h',
'GL/wglew.h',
],
}
]
}

1
third_party/gyp vendored

@ -1 +0,0 @@
Subproject commit 6194e32f7fcbf42e625b04373adfa3c3d483c962

26
third_party/gyp.patch vendored
View File

@ -1,26 +0,0 @@
diff --git a/pylib/gyp/generator/msvs.py b/pylib/gyp/generator/msvs.py
index 05783d6..539614c 100644
--- a/pylib/gyp/generator/msvs.py
+++ b/pylib/gyp/generator/msvs.py
@@ -1963,13 +1963,17 @@ def _AppendFiltersForMSBuild(parent_filter_name, sources,
if isinstance(source, MSVSProject.Filter):
# We have a sub-filter. Create the name of that sub-filter.
if not parent_filter_name:
- filter_name = source.name
+ if source.name == '..':
+ filter_name = ''
+ else:
+ filter_name = source.name
else:
filter_name = '%s\\%s' % (parent_filter_name, source.name)
# Add the filter to the group.
- filter_group.append(
- ['Filter', {'Include': filter_name},
- ['UniqueIdentifier', MSVSNew.MakeGuid(source.name)]])
+ if filter_name:
+ filter_group.append(
+ ['Filter', {'Include': filter_name},
+ ['UniqueIdentifier', MSVSNew.MakeGuid(source.name)]])
# Recurse and add its dependents.
_AppendFiltersForMSBuild(filter_name, source.contents,
extension_to_rule_name,

View File

@ -1,28 +0,0 @@
# Copyright 2015 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'imgui',
'type': '<(library)',
'direct_dependent_settings': {
'include_dirs': [
'imgui/',
],
},
'include_dirs': [
'imgui/',
],
'sources': [
'imgui/imconfig.h',
'imgui/imgui.cpp',
'imgui/imgui.h',
'imgui/stb_rect_pack.h',
'imgui/stb_textedit.h',
'imgui/stb_truetype.h',
],
}
]
}

132
third_party/libgflags.vcxproj vendored Normal file
View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="gflags\src\mutex.h" />
<ClInclude Include="gflags\src\util.h" />
<ClInclude Include="gflags\src\windows\config.h" />
<ClInclude Include="gflags\src\windows\gflags\gflags.h" />
<ClInclude Include="gflags\src\windows\gflags\gflags_completions.h" />
<ClInclude Include="gflags\src\windows\gflags\gflags_declare.h" />
<ClInclude Include="gflags\src\windows\port.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="gflags\src\gflags.cc" />
<ClCompile Include="gflags\src\gflags_completions.cc" />
<ClCompile Include="gflags\src\gflags_reporting.cc" />
<ClCompile Include="gflags\src\windows\port.cc" />
</ItemGroup>
<ItemGroup>
<None Include="gflags\src\gflags_completions.sh" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{838020F9-94AA-4314-996D-69B923C45D39}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>libgflags</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Debug.props" />
<Import Project="..\build\Xenia.Cpp.x64.Checked.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Release.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>PATH_SEPARATOR=%27\\%27;GFLAGS_DLL_DECL=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECLARE_FLAG=;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\gflags\src\windows\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>PATH_SEPARATOR=%27\\%27;GFLAGS_DLL_DECL=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECLARE_FLAG=;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\gflags\src\windows\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PATH_SEPARATOR=%27\\%27;GFLAGS_DLL_DECL=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECLARE_FLAG=;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(SolutionDir)\third_party\gflags\src\windows\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

21
third_party/libgflags.vcxproj.filters vendored Normal file
View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClInclude Include="gflags\src\windows\gflags\gflags.h" />
<ClInclude Include="gflags\src\windows\gflags\gflags_completions.h" />
<ClInclude Include="gflags\src\windows\gflags\gflags_declare.h" />
<ClInclude Include="gflags\src\windows\config.h" />
<ClInclude Include="gflags\src\windows\port.h" />
<ClInclude Include="gflags\src\mutex.h" />
<ClInclude Include="gflags\src\util.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="gflags\src\windows\port.cc" />
<ClCompile Include="gflags\src\gflags.cc" />
<ClCompile Include="gflags\src\gflags_completions.cc" />
<ClCompile Include="gflags\src\gflags_reporting.cc" />
</ItemGroup>
<ItemGroup>
<None Include="gflags\src\gflags_completions.sh" />
</ItemGroup>
</Project>

123
third_party/libglew.vcxproj vendored Normal file
View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="GL\glcorearb.h" />
<ClInclude Include="GL\glew.h" />
<ClInclude Include="GL\glext.h" />
<ClInclude Include="GL\glxew.h" />
<ClInclude Include="GL\glxext.h" />
<ClInclude Include="GL\wglew.h" />
<ClInclude Include="GL\wglext.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="GL\glew.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{AE4AF147-715A-4C24-8BFA-136332DED28F}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>libglew</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Debug.props" />
<Import Project="..\build\Xenia.Cpp.x64.Checked.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Release.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

15
third_party/libglew.vcxproj.filters vendored Normal file
View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClInclude Include="GL\glcorearb.h" />
<ClInclude Include="GL\glew.h" />
<ClInclude Include="GL\glext.h" />
<ClInclude Include="GL\glxew.h" />
<ClInclude Include="GL\glxext.h" />
<ClInclude Include="GL\wglew.h" />
<ClInclude Include="GL\wglext.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="GL\glew.c" />
</ItemGroup>
</Project>

121
third_party/libimgui.vcxproj vendored Normal file
View File

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="imgui\imconfig.h" />
<ClInclude Include="imgui\imgui.h" />
<ClInclude Include="imgui\stb_rect_pack.h" />
<ClInclude Include="imgui\stb_textedit.h" />
<ClInclude Include="imgui\stb_truetype.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="imgui\imgui.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{CE3A80D4-12DB-4164-A050-67E5796A019B}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>libimgui</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Debug.props" />
<Import Project="..\build\Xenia.Cpp.x64.Checked.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\build\Xenia.Cpp.x64.Common.props" />
<Import Project="..\build\Xenia.Cpp.x64.Release.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

13
third_party/libimgui.vcxproj.filters vendored Normal file
View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClInclude Include="imgui\imconfig.h" />
<ClInclude Include="imgui\imgui.h" />
<ClInclude Include="imgui\stb_textedit.h" />
<ClInclude Include="imgui\stb_rect_pack.h" />
<ClInclude Include="imgui\stb_truetype.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="imgui\imgui.cpp" />
</ItemGroup>
</Project>

35
third_party/llvm.gypi vendored
View File

@ -1,35 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'llvm',
'type': '<(library)',
'direct_dependent_settings': {
'include_dirs': [
'llvm/include/',
],
'defines': [
],
},
'msvs_disabled_warnings': [4267],
'defines': [
],
'include_dirs': [
'llvm/include/',
],
'sources': [
'llvm/dummy.cc',
'llvm/include/llvm/ADT/BitVector.h',
'llvm/include/llvm/Support/Compiler.h',
'llvm/include/llvm/Support/MathExtras.h',
'llvm/include/llvm/Support/type_traits.h',
],
}
]
}

View File

@ -1666,7 +1666,7 @@ uint32_t MicroProfileWebServerPort()
void MicroProfileDumpHtml(const char* pFile)
{
uint32_t nLen = strlen(pFile);
uint32_t nLen = uint32_t(strlen(pFile));
if(nLen > sizeof(S.HtmlDumpPath)-1)
{
return;
@ -1914,7 +1914,7 @@ static uint64_t g_nMicroProfileDataSent = 0;
void MicroProfileWriteSocket(void* Handle, size_t nSize, const char* pData)
{
g_nMicroProfileDataSent += nSize;
send(*(MpSocket*)Handle, pData, nSize, 0);
send(*(MpSocket*)Handle, pData, int(nSize), 0);
}

View File

@ -49,6 +49,8 @@
#define MicroProfileSetDisplayMode(f) do{}while(0)
#else
#pragma warning(disable: 4244) // implicit conversion from float -> int
#ifndef MICROPROFILE_DRAWCURSOR
#define MICROPROFILE_DRAWCURSOR 0
#endif

@ -1 +0,0 @@
Subproject commit 09af64be1e18018f5d7a1ff337bed0f32e8067f2

View File

@ -1,30 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'sparsehash',
'type': '<(library)',
'direct_dependent_settings': {
'include_dirs': [
'sparsehash/src/',
],
},
'include_dirs': [
'sparsehash/src/',
],
'sources': [
],
'conditions': [
['OS == "win"', {
'sources!': [
'sparsehash/src/windows/port.cc',
],
}],
],
}
]
}

View File

@ -1,18 +0,0 @@
# Copyright 2014 Ben Vanik. All Rights Reserved.
{
'targets': [
{
'target_name': 'xxhash',
'type': '<(library)',
'include_dirs': [
'xxhash/',
],
'sources': [
'xxhash/xxhash.c',
'xxhash/xxhash.h',
],
}
]
}

View File

@ -1,5 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'includes': [
],
}

81
xb.bat
View File

@ -3,7 +3,7 @@ REM Copyright 2015 Ben Vanik. All Rights Reserved.
SET DIR=%~dp0
SET XENIA_SLN=build\xenia\xenia.sln
SET XENIA_SLN=xenia.sln
REM ============================================================================
REM Environment Validation
@ -83,16 +83,16 @@ ECHO.
ECHO xb pull [--rebase]
ECHO Fetches latest changes from github and rebuilds dependencies.
ECHO.
ECHO xb gyp
ECHO Creates/updates xenia.sln and project files. Use after changing gypi.
ECHO xb proto
ECHO Regenerates protocol files (*.fbs).
ECHO.
ECHO xb edit
ECHO Opens Visual Studio with `xenia.sln`.
ECHO.
ECHO xb build [--debug OR --release] [--force]
ECHO xb build [--checked OR --debug OR --release] [--force]
ECHO Initializes dependencies and prepares build environment.
ECHO.
ECHO xb test [--debug OR --release] [--continue]
ECHO xb test [--checked OR --debug OR --release] [--continue]
ECHO Runs automated tests. Tests must have been built with `xb build`.
ECHO.
ECHO xb clean
@ -128,16 +128,6 @@ IF %ERRORLEVEL% NEQ 0 (
GOTO :eof
)
ECHO.
ECHO ^> generating projects...
CALL :generate_projects
IF %_RESULT% NEQ 0 (
ECHO.
ECHO ERROR: failed to generate projects
ENDLOCAL & SET _RESULT=1
GOTO :eof
)
ENDLOCAL & SET _RESULT=0
GOTO :eof
@ -193,36 +183,20 @@ IF %ERRORLEVEL% NEQ 0 (
GOTO :eof
)
ECHO.
ECHO ^> generating projects...
CALL :generate_projects
IF %_RESULT% NEQ 0 (
ECHO.
ECHO ERROR: failed to generate projects
ENDLOCAL & SET _RESULT=1
GOTO :eof
)
ENDLOCAL & SET _RESULT=0
GOTO :eof
REM ============================================================================
REM xb gyp
REM xb proto
REM ============================================================================
:perform_gyp
:perform_proto
SETLOCAL
ECHO Generating projects...
ECHO Generating proto files...
ECHO.
ECHO ^> generating projects...
CALL :generate_projects
IF %_RESULT% NEQ 0 (
ECHO.
ECHO ERROR: failed to generate projects
ENDLOCAL & SET _RESULT=1
GOTO :eof
)
ECHO ^> running flatc...
REM foo
ENDLOCAL & SET _RESULT=0
GOTO :eof
@ -235,16 +209,6 @@ REM ============================================================================
SETLOCAL
ECHO Launching Visual Studio...
ECHO.
ECHO ^> generating projects...
CALL :generate_projects
IF %_RESULT% NEQ 0 (
ECHO.
ECHO ERROR: failed to generate projects
ENDLOCAL & SET _RESULT=1
GOTO :eof
)
ECHO.
ECHO ^> devenv %XENIA_SLN%
START devenv %XENIA_SLN%
@ -264,6 +228,7 @@ SHIFT
:perform_build_args
IF "%~1"=="" GOTO :perform_build_parsed
IF "%~1"=="--" GOTO :perform_build_parsed
IF "%~1"=="--checked" (SET CONFIG="checked")
IF "%~1"=="--debug" (SET CONFIG="debug")
IF "%~1"=="--release" (SET CONFIG="release")
IF "%~1"=="--force" (SET FORCE=1)
@ -272,16 +237,6 @@ GOTO :perform_build_args
:perform_build_parsed
ECHO Building for config %CONFIG%...
ECHO.
ECHO ^> generating projects...
CALL :generate_projects
IF %_RESULT% NEQ 0 (
ECHO.
ECHO ERROR: failed to generate projects
ENDLOCAL & SET _RESULT=1
GOTO :eof
)
IF %FORCE% EQU 1 (
SET DEVENV_COMMAND=/rebuild
) ELSE (
@ -314,6 +269,7 @@ SHIFT
:perform_test_args
IF "%~1"=="" GOTO :perform_test_parsed
IF "%~1"=="--" GOTO :perform_test_parsed
IF "%~1"=="--checked" (SET CONFIG="checked")
IF "%~1"=="--debug" (SET CONFIG="debug")
IF "%~1"=="--release" (SET CONFIG="release")
IF "%~1"=="--continue" (SET CONTINUE=1)
@ -324,7 +280,7 @@ ECHO Running automated testing for config %CONFIG%...
SET TEST_NAMES=xe-cpu-hir-test xe-cpu-ppc-test
FOR %%G IN (%TEST_NAMES%) DO (
IF NOT EXIST build\xenia\%CONFIG%\%%G.exe (
IF NOT EXIST build\bin\%CONFIG%\%%G.exe (
ECHO.
ECHO ERROR: unable to find `%%G.exe` - ensure it is built.
ENDLOCAL & SET _RESULT=1
@ -335,8 +291,8 @@ FOR %%G IN (%TEST_NAMES%) DO (
SET ANY_FAILED=0
FOR %%G IN (%TEST_NAMES%) DO (
ECHO.
ECHO ^> build\xenia\%CONFIG%\%%G.exe
build\xenia\%CONFIG%\%%G.exe
ECHO ^> build\bin\%CONFIG%\%%G.exe
build\bin\%CONFIG%\%%G.exe
IF !ERRORLEVEL! NEQ 0 (
SET ANY_FAILED=1
IF %CONTINUE% EQU 0 (
@ -369,7 +325,7 @@ SETLOCAL
ECHO Cleaning normal build outputs...
ECHO (use nuke to kill all artifacts)
SET CONFIG_NAMES=Debug Release
SET CONFIG_NAMES=Checked Debug Release
FOR %%G IN (%CONFIG_NAMES%) DO (
ECHO.
ECHO ^> devenv %XENIA_SLN% /clean %%G
@ -536,8 +492,3 @@ IF "%VS150COMNTOOLS%" NEQ "" (
)
)
GOTO :eof
:generate_projects
CALL third_party\gyp\gyp.bat -f msvs -G output_dir=. --depth=. --toplevel-dir=. --generator-output=build/xenia/ -G msvs_version=2015 -D windows_sdk_dir="C:\Program Files (x86)\Windows Kits\8.1" xenia.gyp
SET _RESULT=%ERRORLEVEL%
GOTO :eof

371
xenia.gyp
View File

@ -1,371 +0,0 @@
# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'includes': [
'src/xenia/cpu/frontend/test/test.gypi',
'src/xenia/cpu/test/test.gypi',
'tools/tools.gypi',
'third_party/beaengine.gypi',
'third_party/gflags.gypi',
'third_party/glew.gypi',
'third_party/imgui.gypi',
'third_party/llvm.gypi',
'third_party/sparsehash.gypi',
'third_party/xxhash.gypi',
],
'default_configuration': 'release',
'variables': {
'configurations': {
'Debug': {
},
'Release': {
},
},
'library%': 'static_library',
'target_arch%': 'x64',
},
'conditions': [
['OS=="win"', {
'variables': {
'move_command%': 'move'
},
}, {
'variables': {
'move_command%': 'mv'
},
}]
],
'target_defaults': {
'include_dirs': [
'include/',
'third_party/',
'.',
],
'defines': [
'__STDC_LIMIT_MACROS=1',
'__STDC_CONSTANT_MACROS=1',
'_ISOC99_SOURCE=1',
'_CRT_NONSTDC_NO_DEPRECATE=1',
],
'conditions': [
['OS == "win"', {
'defines': [
'_WIN64=1',
'_AMD64_=1',
# HACK: it'd be nice to use the proper functions, when available.
'_CRT_SECURE_NO_WARNINGS=1',
],
}],
],
'cflags': [
'-std=c++11',
],
'configurations': {
'common_base': {
'abstract': 1,
'msvs_configuration_platform': 'x64',
'msvs_configuration_attributes': {
'OutputDirectory': '$(SolutionDir)$(ConfigurationName)',
'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
'CharacterSet': '1',
},
'msvs_disabled_warnings': [
4458, # warning C4458: declaration of 'x' hides class member
],
'msvs_configuration_platform': 'x64',
'msvs_cygwin_shell': '0',
'msvs_settings': {
'VCCLCompilerTool': {
#'MinimalRebuild': 'true',
'BufferSecurityCheck': 'true',
'EnableFunctionLevelLinking': 'true',
'RuntimeTypeInfo': 'false',
'WarningLevel': '3',
#'WarnAsError': 'true',
'DebugInformationFormat': '3',
'ExceptionHandling': '1', # /EHsc
'AdditionalOptions': [
#'/TP', # Compile as C++
'/EHsc', # C++ exception handling,
'/MP',
],
},
'VCLinkerTool': {
'GenerateDebugInformation': 'true',
#'LinkIncremental': '1', # 1 = NO, 2 = YES
'TargetMachine': '17', # x86 - 64
'AdditionalLibraryDirectories': [
],
'EntryPointSymbol': 'wWinMainCRTStartup',
},
},
'scons_settings': {
'sconsbuild_dir': '<(DEPTH)/build/xenia/',
},
'xcode_settings': {
'SYMROOT': '<(DEPTH)/build/xenia/',
'ALWAYS_SEARCH_USER_PATHS': 'NO',
'ARCHS': ['x86_64'],
'CLANG_CXX_LANGUAGE_STANDARD': 'c++1y',
'COMBINE_HIDPI_IMAGES': 'YES',
'GCC_C_LANGUAGE_STANDARD': 'gnu99',
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES',
#'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES',
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES',
'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
'WARNING_CFLAGS': ['-Wall', '-Wendif-labels'],
'LIBRARY_SEARCH_PATHS': [
],
},
'defines': [
],
},
'Debug': {
'inherit_from': ['common_base',],
'defines': [
'DEBUG',
'XE_DEBUG=1',
],
'msvs_configuration_attributes': {
'OutputDirectory': '<(DEPTH)\\build\\xenia\\Debug',
},
'msvs_settings': {
'VCCLCompilerTool': {
'Optimization': '0',
'BasicRuntimeChecks': '0', # disable /RTC1 when compiling /O2
'DebugInformationFormat': '3',
'ExceptionHandling': '0',
'RuntimeTypeInfo': 'false',
'OmitFramePointers': 'false',
},
'VCLinkerTool': {
'LinkIncremental': '2',
'GenerateDebugInformation': 'true',
'StackReserveSize': '2097152',
},
},
'xcode_settings': {
'GCC_OPTIMIZATION_LEVEL': '0',
},
},
'Debug_x64': {
'inherit_from': ['Debug',],
},
'Release': {
'inherit_from': ['common_base',],
'defines': [
'RELEASE',
'NDEBUG',
],
'msvs_configuration_attributes': {
'OutputDirectory': '<(DEPTH)\\build\\xenia\\release',
},
'msvs_settings': {
'VCCLCompilerTool': {
'Optimization': '2',
'InlineFunctionExpansion': '2',
'EnableIntrinsicFunctions': 'true',
'FavorSizeOrSpeed': '0',
'ExceptionHandling': '0',
'RuntimeTypeInfo': 'false',
'OmitFramePointers': 'false',
'StringPooling': 'true',
},
'VCLinkerTool': {
'LinkIncremental': '1',
'GenerateDebugInformation': 'true',
'OptimizeReferences': '2',
'EnableCOMDATFolding': '2',
'StackReserveSize': '2097152',
},
},
},
'Release_x64': {
'inherit_from': ['Release',],
},
},
},
'targets': [
{
'target_name': 'libxenia',
'product_name': 'libxenia',
'type': 'static_library',
'dependencies': [
'beaengine',
'gflags',
'glew',
'llvm',
'xxhash',
],
'export_dependent_settings': [
'beaengine',
'gflags',
'glew',
'llvm',
'xxhash',
],
'direct_dependent_settings': {
'include_dirs': [
'src/',
],
'target_conditions': [
['_type=="shared_library"', {
'cflags': [
],
}],
['_type=="executable"', {
'conditions': [
['OS == "win"', {
'libraries': [
'kernel32',
'user32',
'ole32',
'wsock32',
'Ws2_32',
'xinput',
'xaudio2',
'Shell32',
'advapi32',
'glu32',
'opengl32',
'gdi32',
'ntdll',
],
}],
['OS == "mac"', {
'xcode_settings': {
'OTHER_LDFLAGS': [
],
},
}],
['OS == "linux"', {
'libraries': [
'-lpthread',
'-ldl',
'-lGLU',
'-lGL',
],
}],
],
}],
],
},
'conditions': [
['OS == "mac"', {
'xcode_settings': {
'OTHER_CFLAGS': [
'-fno-operator-names',
],
},
}],
['OS == "linux"', {
'cflags': [
'-fno-operator-names',
],
}],
],
'cflags': [
],
'include_dirs': [
'.',
'src/',
],
'includes': [
'src/xenia/sources.gypi',
],
},
{
'target_name': 'xenia',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '2'
},
},
'dependencies': [
'libxenia',
],
'include_dirs': [
'.',
],
'sources': [
'src/xenia/xenia_main.cc',
],
},
{
'target_name': 'gpu-trace-viewer',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '2'
},
},
'dependencies': [
'imgui',
'libxenia',
],
'include_dirs': [
'.',
],
'sources': [
'src/xenia/gpu/trace_viewer_main.cc',
],
},
{
'target_name': 'api-scanner',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '1'
},
},
'dependencies': [
'libxenia',
],
'include_dirs': [
'.',
],
'includes': [
'src/xenia/tools/api-scanner/sources.gypi',
],
},
],
}

142
xenia.sln Normal file
View File

@ -0,0 +1,142 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.22823.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxenia", "libxenia.vcxproj", "{0CE149F6-41C3-4224-9E57-C02E8C7CD312}"
ProjectSection(ProjectDependencies) = postProject
{AE4AF147-715A-4C24-8BFA-136332DED28F} = {AE4AF147-715A-4C24-8BFA-136332DED28F}
{838020F9-94AA-4314-996D-69B923C45D39} = {838020F9-94AA-4314-996D-69B923C45D39}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenia", "xenia.vcxproj", "{88F908AF-79A3-4ED4-87C7-A76368205264}"
ProjectSection(ProjectDependencies) = postProject
{AE4AF147-715A-4C24-8BFA-136332DED28F} = {AE4AF147-715A-4C24-8BFA-136332DED28F}
{0CE149F6-41C3-4224-9E57-C02E8C7CD312} = {0CE149F6-41C3-4224-9E57-C02E8C7CD312}
{838020F9-94AA-4314-996D-69B923C45D39} = {838020F9-94AA-4314-996D-69B923C45D39}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "third_party", "third_party", "{FCCBE57F-ECAE-420A-8A82-4B85F722C272}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{FD0BCA5D-908D-4091-AC05-47C2A640BA72}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testing", "testing", "{9C5BDD9E-831B-4AEE-957F-0E88ADED79C6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libglew", "third_party\libglew.vcxproj", "{AE4AF147-715A-4C24-8BFA-136332DED28F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgflags", "third_party\libgflags.vcxproj", "{838020F9-94AA-4314-996D-69B923C45D39}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libimgui", "third_party\libimgui.vcxproj", "{CE3A80D4-12DB-4164-A050-67E5796A019B}"
ProjectSection(ProjectDependencies) = postProject
{AE4AF147-715A-4C24-8BFA-136332DED28F} = {AE4AF147-715A-4C24-8BFA-136332DED28F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flatc", "third_party\flatc.vcxproj", "{D3069A06-62FC-479F-9F5C-23B4377481B0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xe-cpu-hir-test", "src\xenia\cpu\test\xe-cpu-hir-test.vcxproj", "{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}"
ProjectSection(ProjectDependencies) = postProject
{0CE149F6-41C3-4224-9E57-C02E8C7CD312} = {0CE149F6-41C3-4224-9E57-C02E8C7CD312}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xe-cpu-ppc-test", "src\xenia\cpu\frontend\test\xe-cpu-ppc-test.vcxproj", "{9B8AC22F-9147-490F-BE03-3B8BA31990A8}"
ProjectSection(ProjectDependencies) = postProject
{0CE149F6-41C3-4224-9E57-C02E8C7CD312} = {0CE149F6-41C3-4224-9E57-C02E8C7CD312}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xenia.Debug", "src\Xenia.Debug\Xenia.Debug.csproj", "{58348C66-1B0D-497C-B51A-28E99DF1EF74}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "debugging", "debugging", "{345BD157-B21D-4989-9CE4-FA3C90FFC095}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xenia.Debug.UI", "src\Xenia.Debug.UI\Xenia.Debug.UI.csproj", "{75A94CEB-442C-45B6-AEEC-A5F16D4543F3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "third_party\dockpanelsuite\WinFormsUI\WinFormsUI.csproj", "{C75532C4-765B-418E-B09B-46D36B2ABDB1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Checked|x64 = Checked|x64
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0CE149F6-41C3-4224-9E57-C02E8C7CD312}.Checked|x64.ActiveCfg = Checked|x64
{0CE149F6-41C3-4224-9E57-C02E8C7CD312}.Checked|x64.Build.0 = Checked|x64
{0CE149F6-41C3-4224-9E57-C02E8C7CD312}.Debug|x64.ActiveCfg = Debug|x64
{0CE149F6-41C3-4224-9E57-C02E8C7CD312}.Debug|x64.Build.0 = Debug|x64
{0CE149F6-41C3-4224-9E57-C02E8C7CD312}.Release|x64.ActiveCfg = Release|x64
{0CE149F6-41C3-4224-9E57-C02E8C7CD312}.Release|x64.Build.0 = Release|x64
{88F908AF-79A3-4ED4-87C7-A76368205264}.Checked|x64.ActiveCfg = Checked|x64
{88F908AF-79A3-4ED4-87C7-A76368205264}.Checked|x64.Build.0 = Checked|x64
{88F908AF-79A3-4ED4-87C7-A76368205264}.Debug|x64.ActiveCfg = Debug|x64
{88F908AF-79A3-4ED4-87C7-A76368205264}.Debug|x64.Build.0 = Debug|x64
{88F908AF-79A3-4ED4-87C7-A76368205264}.Release|x64.ActiveCfg = Release|x64
{88F908AF-79A3-4ED4-87C7-A76368205264}.Release|x64.Build.0 = Release|x64
{AE4AF147-715A-4C24-8BFA-136332DED28F}.Checked|x64.ActiveCfg = Checked|x64
{AE4AF147-715A-4C24-8BFA-136332DED28F}.Checked|x64.Build.0 = Checked|x64
{AE4AF147-715A-4C24-8BFA-136332DED28F}.Debug|x64.ActiveCfg = Debug|x64
{AE4AF147-715A-4C24-8BFA-136332DED28F}.Debug|x64.Build.0 = Debug|x64
{AE4AF147-715A-4C24-8BFA-136332DED28F}.Release|x64.ActiveCfg = Release|x64
{AE4AF147-715A-4C24-8BFA-136332DED28F}.Release|x64.Build.0 = Release|x64
{838020F9-94AA-4314-996D-69B923C45D39}.Checked|x64.ActiveCfg = Checked|x64
{838020F9-94AA-4314-996D-69B923C45D39}.Checked|x64.Build.0 = Checked|x64
{838020F9-94AA-4314-996D-69B923C45D39}.Debug|x64.ActiveCfg = Debug|x64
{838020F9-94AA-4314-996D-69B923C45D39}.Debug|x64.Build.0 = Debug|x64
{838020F9-94AA-4314-996D-69B923C45D39}.Release|x64.ActiveCfg = Release|x64
{838020F9-94AA-4314-996D-69B923C45D39}.Release|x64.Build.0 = Release|x64
{CE3A80D4-12DB-4164-A050-67E5796A019B}.Checked|x64.ActiveCfg = Checked|x64
{CE3A80D4-12DB-4164-A050-67E5796A019B}.Checked|x64.Build.0 = Checked|x64
{CE3A80D4-12DB-4164-A050-67E5796A019B}.Debug|x64.ActiveCfg = Debug|x64
{CE3A80D4-12DB-4164-A050-67E5796A019B}.Debug|x64.Build.0 = Debug|x64
{CE3A80D4-12DB-4164-A050-67E5796A019B}.Release|x64.ActiveCfg = Release|x64
{CE3A80D4-12DB-4164-A050-67E5796A019B}.Release|x64.Build.0 = Release|x64
{D3069A06-62FC-479F-9F5C-23B4377481B0}.Checked|x64.ActiveCfg = Checked|x64
{D3069A06-62FC-479F-9F5C-23B4377481B0}.Checked|x64.Build.0 = Checked|x64
{D3069A06-62FC-479F-9F5C-23B4377481B0}.Debug|x64.ActiveCfg = Debug|x64
{D3069A06-62FC-479F-9F5C-23B4377481B0}.Debug|x64.Build.0 = Debug|x64
{D3069A06-62FC-479F-9F5C-23B4377481B0}.Release|x64.ActiveCfg = Release|x64
{D3069A06-62FC-479F-9F5C-23B4377481B0}.Release|x64.Build.0 = Release|x64
{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}.Checked|x64.ActiveCfg = Checked|x64
{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}.Checked|x64.Build.0 = Checked|x64
{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}.Debug|x64.ActiveCfg = Debug|x64
{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}.Debug|x64.Build.0 = Debug|x64
{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}.Release|x64.ActiveCfg = Release|x64
{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}.Release|x64.Build.0 = Release|x64
{9B8AC22F-9147-490F-BE03-3B8BA31990A8}.Checked|x64.ActiveCfg = Checked|x64
{9B8AC22F-9147-490F-BE03-3B8BA31990A8}.Checked|x64.Build.0 = Checked|x64
{9B8AC22F-9147-490F-BE03-3B8BA31990A8}.Debug|x64.ActiveCfg = Debug|x64
{9B8AC22F-9147-490F-BE03-3B8BA31990A8}.Debug|x64.Build.0 = Debug|x64
{9B8AC22F-9147-490F-BE03-3B8BA31990A8}.Release|x64.ActiveCfg = Release|x64
{9B8AC22F-9147-490F-BE03-3B8BA31990A8}.Release|x64.Build.0 = Release|x64
{58348C66-1B0D-497C-B51A-28E99DF1EF74}.Checked|x64.ActiveCfg = Debug|x64
{58348C66-1B0D-497C-B51A-28E99DF1EF74}.Checked|x64.Build.0 = Debug|x64
{58348C66-1B0D-497C-B51A-28E99DF1EF74}.Debug|x64.ActiveCfg = Debug|x64
{58348C66-1B0D-497C-B51A-28E99DF1EF74}.Debug|x64.Build.0 = Debug|x64
{58348C66-1B0D-497C-B51A-28E99DF1EF74}.Release|x64.ActiveCfg = Release|x64
{58348C66-1B0D-497C-B51A-28E99DF1EF74}.Release|x64.Build.0 = Release|x64
{75A94CEB-442C-45B6-AEEC-A5F16D4543F3}.Checked|x64.ActiveCfg = Debug|x64
{75A94CEB-442C-45B6-AEEC-A5F16D4543F3}.Checked|x64.Build.0 = Debug|x64
{75A94CEB-442C-45B6-AEEC-A5F16D4543F3}.Debug|x64.ActiveCfg = Debug|x64
{75A94CEB-442C-45B6-AEEC-A5F16D4543F3}.Debug|x64.Build.0 = Debug|x64
{75A94CEB-442C-45B6-AEEC-A5F16D4543F3}.Release|x64.ActiveCfg = Release|x64
{75A94CEB-442C-45B6-AEEC-A5F16D4543F3}.Release|x64.Build.0 = Release|x64
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Checked|x64.ActiveCfg = Debug|x64
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Checked|x64.Build.0 = Debug|x64
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Debug|x64.ActiveCfg = Debug|x64
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Debug|x64.Build.0 = Debug|x64
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Release|x64.ActiveCfg = Release|x64
{C75532C4-765B-418E-B09B-46D36B2ABDB1}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{AE4AF147-715A-4C24-8BFA-136332DED28F} = {FCCBE57F-ECAE-420A-8A82-4B85F722C272}
{838020F9-94AA-4314-996D-69B923C45D39} = {FCCBE57F-ECAE-420A-8A82-4B85F722C272}
{CE3A80D4-12DB-4164-A050-67E5796A019B} = {FCCBE57F-ECAE-420A-8A82-4B85F722C272}
{D3069A06-62FC-479F-9F5C-23B4377481B0} = {FCCBE57F-ECAE-420A-8A82-4B85F722C272}
{6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C} = {9C5BDD9E-831B-4AEE-957F-0E88ADED79C6}
{9B8AC22F-9147-490F-BE03-3B8BA31990A8} = {9C5BDD9E-831B-4AEE-957F-0E88ADED79C6}
{58348C66-1B0D-497C-B51A-28E99DF1EF74} = {345BD157-B21D-4989-9CE4-FA3C90FFC095}
{75A94CEB-442C-45B6-AEEC-A5F16D4543F3} = {345BD157-B21D-4989-9CE4-FA3C90FFC095}
{C75532C4-765B-418E-B09B-46D36B2ABDB1} = {FCCBE57F-ECAE-420A-8A82-4B85F722C272}
EndGlobalSection
EndGlobal

129
xenia.vcxproj Normal file
View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Checked|x64">
<Configuration>Checked</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{88F908AF-79A3-4ED4-87C7-A76368205264}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>xenia</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="build\Xenia.Cpp.x64.Common.props" />
<Import Project="build\Xenia.Cpp.x64.Debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="build\Xenia.Cpp.x64.Common.props" />
<Import Project="build\Xenia.Cpp.x64.Debug.props" />
<Import Project="build\Xenia.Cpp.x64.Checked.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="build\Xenia.Cpp.x64.Common.props" />
<Import Project="build\Xenia.Cpp.x64.Release.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libgflags.lib;libglew.lib;libxenia.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Checked|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>libgflags.lib;libglew.lib;libxenia.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>libgflags.lib;libglew.lib;libxenia.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\xenia\base\main_win.cc" />
<ClCompile Include="src\xenia\xenia_main.cc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\xenia\base\main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

31
xenia.vcxproj.filters Normal file
View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{944458a3-c5a7-42f3-9330-1e24284524cc}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia">
<UniqueIdentifier>{1f48c4ec-0864-4f6f-bc46-51d57f0650a8}</UniqueIdentifier>
</Filter>
<Filter Include="src\xenia\base">
<UniqueIdentifier>{a3d918ab-c42b-469d-9950-ec4656b77b32}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\xenia\base\main_win.cc">
<Filter>src\xenia\base</Filter>
</ClCompile>
<ClCompile Include="src\xenia\xenia_main.cc">
<Filter>src\xenia</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\xenia\base\main.h">
<Filter>src\xenia\base</Filter>
</ClInclude>
</ItemGroup>
</Project>