From 7a00b76a6ea70ddb3891215c417f3e69e34628e3 Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Sat, 9 May 2015 17:48:12 -0700 Subject: [PATCH] Debugger stuff, and changing to vcproj's/sln. --- .gitignore | 5 +- .gitmodules | 9 +- build/Xenia.Cpp.x64.Checked.props | 16 + build/Xenia.Cpp.x64.Common.props | 28 + build/Xenia.Cpp.x64.Debug.props | 16 + build/Xenia.Cpp.x64.Release.props | 28 + libxenia.vcxproj | 621 +++++++ libxenia.vcxproj.filters | 1626 +++++++++++++++++ .../App.config | 0 .../Form1.Designer.cs | 2 +- .../Form1.cs | 13 +- .../Program.cs | 8 +- .../Properties/AssemblyInfo.cs | 8 +- .../Properties/Resources.Designer.cs | 6 +- .../Properties/Resources.resx | 0 .../Properties/Settings.Designer.cs | 4 +- .../Properties/Settings.settings | 0 .../Xenia.Debug.UI.csproj} | 18 +- src/Xenia.Debug/Properties/AssemblyInfo.cs | 36 + src/Xenia.Debug/Xenia.Debug.csproj | 56 + src/Xenia.Debugger/Xenia.Debugger.sln | 28 - src/xenia/apu/nop/sources.gypi | 10 - src/xenia/apu/sources.gypi | 24 - src/xenia/apu/xaudio2/sources.gypi | 12 - src/xenia/base/sources.gypi | 64 - src/xenia/base/string_buffer.cc | 10 +- src/xenia/base/threading.cc | 18 - src/xenia/cpu/backend/sources.gypi | 14 - src/xenia/cpu/backend/x64/sources.gypi | 34 - src/xenia/cpu/backend/x64/x64_assembler.cc | 9 + src/xenia/cpu/backend/x64/x64_emitter.h | 2 +- .../passes/register_allocation_pass.cc | 8 +- src/xenia/cpu/compiler/passes/sources.gypi | 29 - src/xenia/cpu/compiler/sources.gypi | 14 - src/xenia/cpu/cpu-private.h | 1 + src/xenia/cpu/cpu.cc | 2 + src/xenia/cpu/debug_info.h | 3 +- src/xenia/cpu/frontend/ppc_translator.cc | 10 +- src/xenia/cpu/frontend/sources.gypi | 32 - src/xenia/cpu/frontend/test/test.gypi | 27 - .../cpu/frontend/test/xe-cpu-ppc-test.vcxproj | 217 +++ .../test/xe-cpu-ppc-test.vcxproj.filters | 113 ++ src/xenia/cpu/hir/sources.gypi | 17 - src/xenia/cpu/sources.gypi | 62 - src/xenia/cpu/test/test.gypi | 117 -- src/xenia/cpu/test/xe-cpu-hir-test.vcxproj | 149 ++ .../cpu/test/xe-cpu-hir-test.vcxproj.filters | 45 + src/xenia/debug/debugger.cc | 35 +- src/xenia/debug/debugger.h | 6 +- src/xenia/debug/function_data.h | 81 + .../{trace_data.h => function_trace_data.h} | 6 +- src/xenia/debug/sources.gypi | 10 - src/xenia/gpu/gl4/sources.gypi | 37 - src/xenia/gpu/sources.gypi | 28 - src/xenia/hid/nop/sources.gypi | 10 - src/xenia/hid/sources.gypi | 25 - src/xenia/hid/winkey/sources.gypi | 10 - src/xenia/hid/xinput/sources.gypi | 10 - src/xenia/kernel/apps/sources.gypi | 13 - src/xenia/kernel/fs/devices/sources.gypi | 23 - src/xenia/kernel/fs/sources.gypi | 19 - src/xenia/kernel/objects/sources.gypi | 27 - src/xenia/kernel/sources.gypi | 67 - src/xenia/kernel/util/sources.gypi | 13 - src/xenia/memory.h | 1 - src/xenia/sources.gypi | 24 - src/xenia/tools/api-scanner/sources.gypi | 8 - src/xenia/ui/sources.gypi | 22 - src/xenia/ui/win32/sources.gypi | 13 - third_party/beaengine.gypi | 36 - third_party/binutils/build.sh | 2 +- third_party/flatbuffers | 1 + third_party/flatc.vcxproj | 137 ++ third_party/flatc.vcxproj.filters | 18 + third_party/gflags.gypi | 59 - third_party/glew.gypi | 41 - third_party/gyp | 1 - third_party/gyp.patch | 26 - third_party/imgui.gypi | 28 - third_party/libgflags.vcxproj | 132 ++ third_party/libgflags.vcxproj.filters | 21 + third_party/libglew.vcxproj | 123 ++ third_party/libglew.vcxproj.filters | 15 + third_party/libimgui.vcxproj | 121 ++ third_party/libimgui.vcxproj.filters | 13 + third_party/llvm.gypi | 35 - third_party/microprofile/microprofile.h | 4 +- third_party/microprofile/microprofileui.h | 2 + third_party/sparsehash | 1 - third_party/sparsehash.gypi | 30 - third_party/xxhash.gypi | 18 - tools/tools.gypi | 5 - xb.bat | 81 +- xenia.gyp | 371 ---- xenia.sln | 142 ++ xenia.vcxproj | 129 ++ xenia.vcxproj.filters | 31 + 97 files changed, 4039 insertions(+), 1643 deletions(-) create mode 100644 build/Xenia.Cpp.x64.Checked.props create mode 100644 build/Xenia.Cpp.x64.Common.props create mode 100644 build/Xenia.Cpp.x64.Debug.props create mode 100644 build/Xenia.Cpp.x64.Release.props create mode 100644 libxenia.vcxproj create mode 100644 libxenia.vcxproj.filters rename src/{Xenia.Debugger => Xenia.Debug.UI}/App.config (100%) rename src/{Xenia.Debugger => Xenia.Debug.UI}/Form1.Designer.cs (96%) rename src/{Xenia.Debugger => Xenia.Debug.UI}/Form1.cs (60%) rename src/{Xenia.Debugger => Xenia.Debug.UI}/Program.cs (66%) rename src/{Xenia.Debugger => Xenia.Debug.UI}/Properties/AssemblyInfo.cs (85%) rename src/{Xenia.Debugger => Xenia.Debug.UI}/Properties/Resources.Designer.cs (95%) rename src/{Xenia.Debugger => Xenia.Debug.UI}/Properties/Resources.resx (100%) rename src/{Xenia.Debugger => Xenia.Debug.UI}/Properties/Settings.Designer.cs (96%) rename src/{Xenia.Debugger => Xenia.Debug.UI}/Properties/Settings.settings (100%) rename src/{Xenia.Debugger/Xenia.Debugger.csproj => Xenia.Debug.UI/Xenia.Debug.UI.csproj} (84%) create mode 100644 src/Xenia.Debug/Properties/AssemblyInfo.cs create mode 100644 src/Xenia.Debug/Xenia.Debug.csproj delete mode 100644 src/Xenia.Debugger/Xenia.Debugger.sln delete mode 100644 src/xenia/apu/nop/sources.gypi delete mode 100644 src/xenia/apu/sources.gypi delete mode 100644 src/xenia/apu/xaudio2/sources.gypi delete mode 100644 src/xenia/base/sources.gypi delete mode 100644 src/xenia/base/threading.cc delete mode 100644 src/xenia/cpu/backend/sources.gypi delete mode 100644 src/xenia/cpu/backend/x64/sources.gypi delete mode 100644 src/xenia/cpu/compiler/passes/sources.gypi delete mode 100644 src/xenia/cpu/compiler/sources.gypi delete mode 100644 src/xenia/cpu/frontend/sources.gypi delete mode 100644 src/xenia/cpu/frontend/test/test.gypi create mode 100644 src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj create mode 100644 src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj.filters delete mode 100644 src/xenia/cpu/hir/sources.gypi delete mode 100644 src/xenia/cpu/sources.gypi delete mode 100644 src/xenia/cpu/test/test.gypi create mode 100644 src/xenia/cpu/test/xe-cpu-hir-test.vcxproj create mode 100644 src/xenia/cpu/test/xe-cpu-hir-test.vcxproj.filters create mode 100644 src/xenia/debug/function_data.h rename src/xenia/debug/{trace_data.h => function_trace_data.h} (95%) delete mode 100644 src/xenia/debug/sources.gypi delete mode 100644 src/xenia/gpu/gl4/sources.gypi delete mode 100644 src/xenia/gpu/sources.gypi delete mode 100644 src/xenia/hid/nop/sources.gypi delete mode 100644 src/xenia/hid/sources.gypi delete mode 100644 src/xenia/hid/winkey/sources.gypi delete mode 100644 src/xenia/hid/xinput/sources.gypi delete mode 100644 src/xenia/kernel/apps/sources.gypi delete mode 100644 src/xenia/kernel/fs/devices/sources.gypi delete mode 100644 src/xenia/kernel/fs/sources.gypi delete mode 100644 src/xenia/kernel/objects/sources.gypi delete mode 100644 src/xenia/kernel/sources.gypi delete mode 100644 src/xenia/kernel/util/sources.gypi delete mode 100644 src/xenia/sources.gypi delete mode 100644 src/xenia/tools/api-scanner/sources.gypi delete mode 100644 src/xenia/ui/sources.gypi delete mode 100644 src/xenia/ui/win32/sources.gypi delete mode 100644 third_party/beaengine.gypi create mode 160000 third_party/flatbuffers create mode 100644 third_party/flatc.vcxproj create mode 100644 third_party/flatc.vcxproj.filters delete mode 100644 third_party/gflags.gypi delete mode 100644 third_party/glew.gypi delete mode 160000 third_party/gyp delete mode 100644 third_party/gyp.patch delete mode 100644 third_party/imgui.gypi create mode 100644 third_party/libgflags.vcxproj create mode 100644 third_party/libgflags.vcxproj.filters create mode 100644 third_party/libglew.vcxproj create mode 100644 third_party/libglew.vcxproj.filters create mode 100644 third_party/libimgui.vcxproj create mode 100644 third_party/libimgui.vcxproj.filters delete mode 100644 third_party/llvm.gypi delete mode 160000 third_party/sparsehash delete mode 100644 third_party/sparsehash.gypi delete mode 100644 third_party/xxhash.gypi delete mode 100644 tools/tools.gypi delete mode 100644 xenia.gyp create mode 100644 xenia.sln create mode 100644 xenia.vcxproj create mode 100644 xenia.vcxproj.filters diff --git a/.gitignore b/.gitignore index 5734b7437..4a0ad784a 100644 --- a/.gitignore +++ b/.gitignore @@ -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/ diff --git a/.gitmodules b/.gitmodules index 5fb97f325..793bc7d74 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/build/Xenia.Cpp.x64.Checked.props b/build/Xenia.Cpp.x64.Checked.props new file mode 100644 index 000000000..3e642196c --- /dev/null +++ b/build/Xenia.Cpp.x64.Checked.props @@ -0,0 +1,16 @@ + + + + + + + false + MultiThreadedDebugDLL + AdvancedVectorExtensions + Guard + ProgramDatabase + CHECKED;%(PreprocessorDefinitions) + + + + \ No newline at end of file diff --git a/build/Xenia.Cpp.x64.Common.props b/build/Xenia.Cpp.x64.Common.props new file mode 100644 index 000000000..9e9369b10 --- /dev/null +++ b/build/Xenia.Cpp.x64.Common.props @@ -0,0 +1,28 @@ + + + + + + $(SolutionDir)build\bin\$(Configuration)\ + $(SolutionDir)build\obj\$(Configuration)\$(MSBuildProjectName)\ + + + + true + $(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\ + GLEW_STATIC=1;GLEW_MX=1;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32;_WIN64=1;_AMD64=1;%(PreprocessorDefinitions) + Level4 + true + MultiThreadedDLL + false + + + $(SolutionDir)build\bin\$(Configuration)\ + ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies) + + + $(SolutionDir)build\bin\$(Configuration)\ + + + + \ No newline at end of file diff --git a/build/Xenia.Cpp.x64.Debug.props b/build/Xenia.Cpp.x64.Debug.props new file mode 100644 index 000000000..2c2712ee0 --- /dev/null +++ b/build/Xenia.Cpp.x64.Debug.props @@ -0,0 +1,16 @@ + + + + + + + false + AdvancedVectorExtensions + _NO_DEBUG_HEAP=1;DEBUG;XE_DEBUG=1;%(PreprocessorDefinitions) + + + false + + + + \ No newline at end of file diff --git a/build/Xenia.Cpp.x64.Release.props b/build/Xenia.Cpp.x64.Release.props new file mode 100644 index 000000000..fed1ffb46 --- /dev/null +++ b/build/Xenia.Cpp.x64.Release.props @@ -0,0 +1,28 @@ + + + + + + + AnySuitable + + + + + true + false + false + AdvancedVectorExtensions + NDEBUG;_STATIC_CPPLIB;%(PreprocessorDefinitions) + MultiThreaded + true + + + true + + + true + + + + \ No newline at end of file diff --git a/libxenia.vcxproj b/libxenia.vcxproj new file mode 100644 index 000000000..16f14fcc8 --- /dev/null +++ b/libxenia.vcxproj @@ -0,0 +1,621 @@ + + + + + Checked + x64 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {0CE149F6-41C3-4224-9E57-C02E8C7CD312} + Win32Proj + libxenia + 8.1 + + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + BEA_ENGINE_STATIC=1;_LIB;%(PreprocessorDefinitions) + $(SolutionDir)\third_party\beaengine\include\;$(SolutionDir)\third_party\llvm\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\ + + + Windows + true + + + libgflags.lib;libglew.lib + + + + + + + Level3 + Disabled + BEA_ENGINE_STATIC=1;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + $(SolutionDir)\third_party\beaengine\include\;$(SolutionDir)\third_party\llvm\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\ + + + Windows + true + + + libgflags.lib;libglew.lib + + + + + Level3 + + + MaxSpeed + true + true + BEA_ENGINE_STATIC=1;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + $(SolutionDir)\third_party\beaengine\include\;$(SolutionDir)\third_party\llvm\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\ + + + Windows + true + true + true + + + libgflags.lib;libglew.lib + + + + + + \ No newline at end of file diff --git a/libxenia.vcxproj.filters b/libxenia.vcxproj.filters new file mode 100644 index 000000000..9485e5527 --- /dev/null +++ b/libxenia.vcxproj.filters @@ -0,0 +1,1626 @@ + + + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {ac2ed3f3-54e5-4039-a771-dce7f1afb317} + + + {95c5da4e-5624-45cb-acd7-f3ea42f7f35f} + + + {b996d1c8-9a7a-4bf0-8c55-786c15a9a615} + + + {c3b64a9c-babd-4ed7-a495-b720522b9572} + + + {ea01c27b-70c2-4527-b8c5-e3cc5cfc92e1} + + + {11c993f1-4ff9-4edb-b589-684bd863c173} + + + {db2ffaf9-4c33-40bd-a6f6-898d1ff1696e} + + + {5b320879-0064-4d8e-bb97-f2c4bb9e53f2} + + + {22342627-7b86-4d86-b46a-86ad0babe279} + + + {9a9b0a2d-3c03-4377-87ee-d4f3d27fbff3} + + + {39b164c9-8888-40b3-9cc1-cf58e5fdd2f1} + + + {d208b57a-e9d9-44cd-84be-365a3992806e} + + + {1cdd538c-c1a8-4667-9f7c-dc1dcbdd2934} + + + {531deabc-1284-48f6-87b6-8a4537960b7a} + + + {b3e55480-f727-470f-a1d6-f602e477f6d5} + + + {7430583f-5bb5-4901-8ca7-a325978d517f} + + + {c205c825-d8a3-4c6d-b2c1-730517c4d62d} + + + {786f142c-5cff-4562-8237-b114650fc3bf} + + + {2a8239c3-db27-4eda-82d9-2e837c8c5ba6} + + + {c2844d0d-a762-4887-bfd1-46ec3c51585b} + + + {7621c4d6-7cf6-495e-b4c9-950deba29a01} + + + {42d47a43-1af4-4e1a-9ed7-afa7f7d18e9f} + + + {268545c9-fbdf-46d2-96f6-35188cec09d6} + + + {c1ac0db1-2f4b-4376-b1dc-e6355c99b395} + + + {4e0349c4-b0bd-4595-9e83-cb3cbe11a172} + + + {65927db3-9314-4d02-a392-702b09fca341} + + + {bb86c40a-ad91-482e-a7c8-ef0a84280c8d} + + + {447ef539-2dab-4969-a5b0-57c8d6f4c6ec} + + + {cceab7bd-2f0a-4a27-a297-2f89170b8f6b} + + + {9194a1f4-9934-465e-adcb-3ac0e337dfe3} + + + {119b6173-c3a2-491b-b1eb-dc9248a7ae50} + + + {23815560-d0dc-451d-acad-832ac6c2d634} + + + {fab30014-dd55-4ae2-b2b0-b5f9955fb90d} + + + {23bf3e93-569a-4432-b265-6bbfccf0e7ca} + + + {1e52ba44-1bf6-425d-a2c8-a0744f34d348} + + + {1775ec47-fb64-43eb-be29-3fc356cbfdca} + + + {686bc832-94dd-44af-8f4f-f5e9a1f70341} + + + {36203590-1da4-4d59-a270-80dd7f8dc9c5} + + + {e339422e-722c-4a25-9865-bfb382c32a14} + + + {0c75741e-deec-4675-a7f3-dea54c449ff9} + + + {c007145f-e965-4fab-b9be-f957a63e1281} + + + {1963ff6f-5514-4c96-a66e-35a6e5cef776} + + + {c976eeb2-a3c2-4692-8397-2b503d928123} + + + {b9a45887-83a6-444f-94a9-6002a507da50} + + + {f8917264-c401-4b7f-8df7-08752ae0acad} + + + {818cdefa-9c17-402a-b427-68640bec3d4c} + + + {7eec808d-2cd4-4987-9eaf-abde1c86d579} + + + {d1405e1d-d9b0-4d8d-89ce-29d43698c415} + + + + + src\xenia + + + src\xenia + + + src\xenia + + + src\xenia\apu + + + src\xenia\apu + + + src\xenia\apu + + + src\xenia\apu\nop + + + src\xenia\apu\nop + + + src\xenia\apu\xaudio2 + + + src\xenia\apu\xaudio2 + + + src\xenia\apu\xaudio2 + + + src\xenia\base + + + src\xenia\cpu + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu\backend + + + src\xenia\cpu\backend + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\compiler + + + src\xenia\cpu\compiler + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\hir + + + src\xenia\cpu\hir + + + src\xenia\cpu\hir + + + src\xenia\cpu\hir + + + src\xenia\cpu\hir + + + src\xenia\debug + + + src\xenia\debug + + + src\xenia\cpu\compiler\passes + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\hid + + + src\xenia\hid + + + src\xenia\hid + + + src\xenia\hid\nop + + + src\xenia\hid\nop + + + src\xenia\hid\winkey + + + src\xenia\hid\winkey + + + src\xenia\hid\xinput + + + src\xenia\hid\xinput + + + src\xenia\ui\win32 + + + src\xenia\ui\win32 + + + src\xenia\ui\win32 + + + src\xenia\ui\win32 + + + src\xenia\ui + + + src\xenia\ui + + + src\xenia\ui + + + src\xenia\kernel\util + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\apps + + + src\xenia\kernel\apps + + + src\xenia\kernel\apps + + + src\xenia\kernel\apps + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + third_party\beaengine\beaengineSources + + + third_party\mspack + + + third_party\xxhash + + + + + src\xenia + + + src\xenia + + + src\xenia + + + src\xenia + + + src\xenia\apu + + + src\xenia\apu + + + src\xenia\apu + + + src\xenia\apu + + + src\xenia\apu\nop + + + src\xenia\apu\nop + + + src\xenia\apu\nop + + + src\xenia\apu\xaudio2 + + + src\xenia\apu\xaudio2 + + + src\xenia\apu\xaudio2 + + + src\xenia\apu\xaudio2 + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\base + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu + + + src\xenia\cpu\backend + + + src\xenia\cpu\backend + + + src\xenia\cpu\backend + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\compiler + + + src\xenia\cpu\compiler + + + src\xenia\cpu\compiler + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\compiler\passes + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\frontend + + + src\xenia\cpu\hir + + + src\xenia\cpu\hir + + + src\xenia\cpu\hir + + + src\xenia\cpu\hir + + + src\xenia\cpu\hir + + + src\xenia\cpu\hir + + + src\xenia\debug + + + src\xenia\debug + + + src\xenia\debug + + + src\xenia\debug + + + src\xenia\debug + + + src\xenia\cpu\compiler\passes + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\gpu\gl4 + + + src\xenia\hid + + + src\xenia\hid + + + src\xenia\hid + + + src\xenia\hid + + + src\xenia\hid\nop + + + src\xenia\hid\nop + + + src\xenia\hid\nop + + + src\xenia\hid\winkey + + + src\xenia\hid\winkey + + + src\xenia\hid\winkey + + + src\xenia\hid\xinput + + + src\xenia\hid\xinput + + + src\xenia\hid\xinput + + + src\xenia\ui\win32 + + + src\xenia\ui\win32 + + + src\xenia\ui\win32 + + + src\xenia\ui\win32 + + + src\xenia\ui + + + src\xenia\ui + + + src\xenia\ui + + + src\xenia\ui + + + src\xenia\ui + + + src\xenia\ui + + + src\xenia\kernel\util + + + src\xenia\kernel\util + + + src\xenia\kernel\util + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\objects + + + src\xenia\kernel\apps + + + src\xenia\kernel\apps + + + src\xenia\kernel\apps + + + src\xenia\kernel\apps + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel\fs\devices + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + src\xenia\kernel + + + third_party\beaengine\include\beaengine + + + third_party\beaengine\include\beaengine + + + third_party\beaengine\include\beaengine + + + third_party\beaengine\include\beaengine + + + third_party\flatbuffers\include\flatbuffers + + + third_party\llvm\include\llvm\ADT + + + third_party\llvm\include\llvm\Support + + + third_party\llvm\include\llvm\Support + + + third_party\llvm\include\llvm\Support + + + third_party\microprofile + + + third_party\microprofile + + + third_party\mspack + + + third_party\mspack + + + third_party\pe + + + third_party\xxhash + + + third_party\xbyak\xbyak + + + third_party\xbyak\xbyak + + + third_party\xbyak\xbyak + + + third_party\xbyak\xbyak + + + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + Resource Files + + + src\xenia\cpu\backend\x64 + + + src\xenia\cpu\hir + + + src\xenia\gpu + + + src\xenia\kernel\util + + + src\xenia\kernel\util + + + src\xenia\kernel\util + + + src\xenia\kernel\util + + + src\xenia\kernel + + + src\xenia\kernel + + + \ No newline at end of file diff --git a/src/Xenia.Debugger/App.config b/src/Xenia.Debug.UI/App.config similarity index 100% rename from src/Xenia.Debugger/App.config rename to src/Xenia.Debug.UI/App.config diff --git a/src/Xenia.Debugger/Form1.Designer.cs b/src/Xenia.Debug.UI/Form1.Designer.cs similarity index 96% rename from src/Xenia.Debugger/Form1.Designer.cs rename to src/Xenia.Debug.UI/Form1.Designer.cs index 9c0e8b6d7..f4307e9c6 100644 --- a/src/Xenia.Debugger/Form1.Designer.cs +++ b/src/Xenia.Debug.UI/Form1.Designer.cs @@ -1,4 +1,4 @@ -namespace Xenia.Debugger { +namespace Xenia.Debug.UI { partial class Form1 { /// /// Required designer variable. diff --git a/src/Xenia.Debugger/Form1.cs b/src/Xenia.Debug.UI/Form1.cs similarity index 60% rename from src/Xenia.Debugger/Form1.cs rename to src/Xenia.Debug.UI/Form1.cs index 2e9d3c61d..d1e76d532 100644 --- a/src/Xenia.Debugger/Form1.cs +++ b/src/Xenia.Debug.UI/Form1.cs @@ -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(); } + } } diff --git a/src/Xenia.Debugger/Program.cs b/src/Xenia.Debug.UI/Program.cs similarity index 66% rename from src/Xenia.Debugger/Program.cs rename to src/Xenia.Debug.UI/Program.cs index f77cbe624..30dc61c97 100644 --- a/src/Xenia.Debugger/Program.cs +++ b/src/Xenia.Debug.UI/Program.cs @@ -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 { /// /// The main entry point for the application. /// - [STAThread] - static void Main() { + [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); diff --git a/src/Xenia.Debugger/Properties/AssemblyInfo.cs b/src/Xenia.Debug.UI/Properties/AssemblyInfo.cs similarity index 85% rename from src/Xenia.Debugger/Properties/AssemblyInfo.cs rename to src/Xenia.Debug.UI/Properties/AssemblyInfo.cs index 5a00a5208..992434c2c 100644 --- a/src/Xenia.Debugger/Properties/AssemblyInfo.cs +++ b/src/Xenia.Debug.UI/Properties/AssemblyInfo.cs @@ -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: // diff --git a/src/Xenia.Debugger/Properties/Resources.Designer.cs b/src/Xenia.Debug.UI/Properties/Resources.Designer.cs similarity index 95% rename from src/Xenia.Debugger/Properties/Resources.Designer.cs rename to src/Xenia.Debug.UI/Properties/Resources.Designer.cs index 659977e74..5b9a6bc66 100644 --- a/src/Xenia.Debugger/Properties/Resources.Designer.cs +++ b/src/Xenia.Debug.UI/Properties/Resources.Designer.cs @@ -8,7 +8,9 @@ // //------------------------------------------------------------------------------ -namespace Xenia.Debugger.Properties { +namespace Xenia.Debug.UI.Properties { + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -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; diff --git a/src/Xenia.Debugger/Properties/Resources.resx b/src/Xenia.Debug.UI/Properties/Resources.resx similarity index 100% rename from src/Xenia.Debugger/Properties/Resources.resx rename to src/Xenia.Debug.UI/Properties/Resources.resx diff --git a/src/Xenia.Debugger/Properties/Settings.Designer.cs b/src/Xenia.Debug.UI/Properties/Settings.Designer.cs similarity index 96% rename from src/Xenia.Debugger/Properties/Settings.Designer.cs rename to src/Xenia.Debug.UI/Properties/Settings.Designer.cs index 0cde1e6ee..3d57573ac 100644 --- a/src/Xenia.Debugger/Properties/Settings.Designer.cs +++ b/src/Xenia.Debug.UI/Properties/Settings.Designer.cs @@ -8,7 +8,9 @@ // //------------------------------------------------------------------------------ -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 { diff --git a/src/Xenia.Debugger/Properties/Settings.settings b/src/Xenia.Debug.UI/Properties/Settings.settings similarity index 100% rename from src/Xenia.Debugger/Properties/Settings.settings rename to src/Xenia.Debug.UI/Properties/Settings.settings diff --git a/src/Xenia.Debugger/Xenia.Debugger.csproj b/src/Xenia.Debug.UI/Xenia.Debug.UI.csproj similarity index 84% rename from src/Xenia.Debugger/Xenia.Debugger.csproj rename to src/Xenia.Debug.UI/Xenia.Debug.UI.csproj index f5745d0b4..f8a2623b1 100644 --- a/src/Xenia.Debugger/Xenia.Debugger.csproj +++ b/src/Xenia.Debug.UI/Xenia.Debug.UI.csproj @@ -4,17 +4,18 @@ Debug AnyCPU - {F3714614-7970-4DD3-ACB7-CA0C122DD073} + {75A94CEB-442C-45B6-AEEC-A5F16D4543F3} WinExe Properties - Xenia.Debugger - Xenia.Debugger + Xenia.Debug.UI + Xenia.Debug.UI v4.5 512 true - ..\..\build\xenia\Debug\ + ..\..\build\bin\Debug\ + ..\..\build\obj\Debug\ DEBUG;TRACE full x64 @@ -23,7 +24,8 @@ true - ..\..\build\xenia\Release\ + ..\..\build\bin\Release\ + ..\..\build\obj\Release\ TRACE true pdbonly @@ -33,7 +35,7 @@ true - Xenia.Debugger.Program + Xenia.Debug.UI.Program @@ -84,6 +86,10 @@ {c75532c4-765b-418e-b09b-46d36b2abdb1} WinFormsUI + + {58348c66-1b0d-497c-b51a-28e99df1ef74} + Xenia.Debug + + \ No newline at end of file diff --git a/src/Xenia.Debugger/Xenia.Debugger.sln b/src/Xenia.Debugger/Xenia.Debugger.sln deleted file mode 100644 index e61345745..000000000 --- a/src/Xenia.Debugger/Xenia.Debugger.sln +++ /dev/null @@ -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 diff --git a/src/xenia/apu/nop/sources.gypi b/src/xenia/apu/nop/sources.gypi deleted file mode 100644 index 6675eff1e..000000000 --- a/src/xenia/apu/nop/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/apu/sources.gypi b/src/xenia/apu/sources.gypi deleted file mode 100644 index 92ea3258f..000000000 --- a/src/xenia/apu/sources.gypi +++ /dev/null @@ -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', - ], - }], - ], -} diff --git a/src/xenia/apu/xaudio2/sources.gypi b/src/xenia/apu/xaudio2/sources.gypi deleted file mode 100644 index 181c4f1c0..000000000 --- a/src/xenia/apu/xaudio2/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/base/sources.gypi b/src/xenia/base/sources.gypi deleted file mode 100644 index d17873840..000000000 --- a/src/xenia/base/sources.gypi +++ /dev/null @@ -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': [ - ], -} diff --git a/src/xenia/base/string_buffer.cc b/src/xenia/base/string_buffer.cc index 7b1b6e4f9..98a16878b 100644 --- a/src/xenia/base/string_buffer.cc +++ b/src/xenia/base/string_buffer.cc @@ -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(); } diff --git a/src/xenia/base/threading.cc b/src/xenia/base/threading.cc deleted file mode 100644 index bf9bdb755..000000000 --- a/src/xenia/base/threading.cc +++ /dev/null @@ -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 diff --git a/src/xenia/cpu/backend/sources.gypi b/src/xenia/cpu/backend/sources.gypi deleted file mode 100644 index 3cf3b826b..000000000 --- a/src/xenia/cpu/backend/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/cpu/backend/x64/sources.gypi b/src/xenia/cpu/backend/x64/sources.gypi deleted file mode 100644 index a3ade7eeb..000000000 --- a/src/xenia/cpu/backend/x64/sources.gypi +++ /dev/null @@ -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', - ], - }], - ], -} diff --git a/src/xenia/cpu/backend/x64/x64_assembler.cc b/src/xenia/cpu/backend/x64/x64_assembler.cc index 18e5dc088..e236cb53e 100644 --- a/src/xenia/cpu/backend/x64/x64_assembler.cc +++ b/src/xenia/cpu/backend/x64/x64_assembler.cc @@ -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)); diff --git a/src/xenia/cpu/backend/x64/x64_emitter.h b/src/xenia/cpu/backend/x64/x64_emitter.h index 3cc956232..e42670b95 100644 --- a/src/xenia/cpu/backend/x64/x64_emitter.h +++ b/src/xenia/cpu/backend/x64/x64_emitter.h @@ -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 { diff --git a/src/xenia/cpu/compiler/passes/register_allocation_pass.cc b/src/xenia/cpu/compiler/passes/register_allocation_pass.cc index ad576e60c..298faaed2 100644 --- a/src/xenia/cpu/compiler/passes/register_allocation_pass.cc +++ b/src/xenia/cpu/compiler/passes/register_allocation_pass.cc @@ -210,8 +210,9 @@ void RegisterAllocationPass::AdvanceUses(Instr* instr) { if (!usage_set) { break; } + std::vector 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"); } diff --git a/src/xenia/cpu/compiler/passes/sources.gypi b/src/xenia/cpu/compiler/passes/sources.gypi deleted file mode 100644 index 12f16e695..000000000 --- a/src/xenia/cpu/compiler/passes/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/cpu/compiler/sources.gypi b/src/xenia/cpu/compiler/sources.gypi deleted file mode 100644 index d9a7df71a..000000000 --- a/src/xenia/cpu/compiler/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/cpu/cpu-private.h b/src/xenia/cpu/cpu-private.h index 28520843a..65f7845dd 100644 --- a/src/xenia/cpu/cpu-private.h +++ b/src/xenia/cpu/cpu-private.h @@ -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); diff --git a/src/xenia/cpu/cpu.cc b/src/xenia/cpu/cpu.cc index 7dd87992d..bd3079517 100644 --- a/src/xenia/cpu/cpu.cc +++ b/src/xenia/cpu/cpu.cc @@ -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."); diff --git a/src/xenia/cpu/debug_info.h b/src/xenia/cpu/debug_info.h index 1ca37ce44..d15346135 100644 --- a/src/xenia/cpu/debug_info.h +++ b/src/xenia/cpu/debug_info.h @@ -13,7 +13,8 @@ #include #include -#include "xenia/debug/trace_data.h" +#include "xenia/debug/function_data.h" +#include "xenia/debug/function_trace_data.h" namespace xe { namespace cpu { diff --git a/src/xenia/cpu/frontend/ppc_translator.cc b/src/xenia/cpu/frontend/ppc_translator.cc index d293ab680..dde980294 100644 --- a/src/xenia/cpu/frontend/ppc_translator.cc +++ b/src/xenia/cpu/frontend/ppc_translator.cc @@ -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. diff --git a/src/xenia/cpu/frontend/sources.gypi b/src/xenia/cpu/frontend/sources.gypi deleted file mode 100644 index 67ea0774d..000000000 --- a/src/xenia/cpu/frontend/sources.gypi +++ /dev/null @@ -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': [ - ], -} diff --git a/src/xenia/cpu/frontend/test/test.gypi b/src/xenia/cpu/frontend/test/test.gypi deleted file mode 100644 index 5fb138813..000000000 --- a/src/xenia/cpu/frontend/test/test.gypi +++ /dev/null @@ -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', - ], - }, - ], -} diff --git a/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj b/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj new file mode 100644 index 000000000..3cc6ae5c9 --- /dev/null +++ b/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj @@ -0,0 +1,217 @@ + + + + + Checked + x64 + + + Debug + x64 + + + Release + x64 + + + + {9B8AC22F-9147-490F-BE03-3B8BA31990A8} + Win32Proj + xecpuppctest + + + + Application + true + v140 + Unicode + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + + + + Level3 + Disabled + _CONSOLE;%(PreprocessorDefinitions) + + + Console + true + libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CONSOLE;%(PreprocessorDefinitions) + + + Console + true + libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies) + + + + + Level3 + + + MaxSpeed + true + true + _CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj.filters b/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj.filters new file mode 100644 index 000000000..8d959dd5f --- /dev/null +++ b/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj.filters @@ -0,0 +1,113 @@ + + + + + + src\xenia\base + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {3beca96a-ec9a-4570-8873-3de8c124862f} + + + {eeea8b16-cc79-4e53-80a4-6db3089e6db9} + + + {459f7c23-b556-4300-b16d-8f86063c8e1a} + + + + + src\xenia\base + + + \ No newline at end of file diff --git a/src/xenia/cpu/hir/sources.gypi b/src/xenia/cpu/hir/sources.gypi deleted file mode 100644 index a0317ce2a..000000000 --- a/src/xenia/cpu/hir/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/cpu/sources.gypi b/src/xenia/cpu/sources.gypi deleted file mode 100644 index a8652e844..000000000 --- a/src/xenia/cpu/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/cpu/test/test.gypi b/src/xenia/cpu/test/test.gypi deleted file mode 100644 index 9c894bfd2..000000000 --- a/src/xenia/cpu/test/test.gypi +++ /dev/null @@ -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', - ], - }, - ], -} diff --git a/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj b/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj new file mode 100644 index 000000000..0c9dd0450 --- /dev/null +++ b/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj @@ -0,0 +1,149 @@ + + + + + Checked + x64 + + + Debug + x64 + + + Release + x64 + + + + {6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C} + Win32Proj + xecpuhirtest + + + + Application + true + v140 + Unicode + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + + + + Level3 + Disabled + _CONSOLE;%(PreprocessorDefinitions) + + + Console + true + libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _CONSOLE;%(PreprocessorDefinitions) + + + Console + true + libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies) + + + + + Level3 + + + MaxSpeed + true + true + _CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + libxenia.lib;ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj.filters b/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj.filters new file mode 100644 index 000000000..24280d22e --- /dev/null +++ b/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj.filters @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + src\xenia\base + + + + + + src\xenia\base + + + + + {cd58f445-4d2f-452b-a5a0-1dd29a620341} + + + {a43f8164-d83a-4ff6-83a4-1915664abbf9} + + + {1bdcf344-57a7-4b58-93d6-3e860f50ad1b} + + + \ No newline at end of file diff --git a/src/xenia/debug/debugger.cc b/src/xenia/debug/debugger.cc index 7752a31b0..632782415 100644 --- a/src/xenia/debug/debugger.cc +++ b/src/xenia/debug/debugger.cc @@ -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) { diff --git a/src/xenia/debug/debugger.h b/src/xenia/debug/debugger.h index 9e82950eb..e53182e49 100644 --- a/src/xenia/debug/debugger.h +++ b/src/xenia/debug/debugger.h @@ -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 trace_functions_; + std::unique_ptr functions_file_; + std::unique_ptr functions_trace_file_; std::mutex threads_lock_; std::unordered_map threads_; diff --git a/src/xenia/debug/function_data.h b/src/xenia/debug/function_data.h new file mode 100644 index 000000000..4fc95a17e --- /dev/null +++ b/src/xenia/debug/function_data.h @@ -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 + +#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(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_ diff --git a/src/xenia/debug/trace_data.h b/src/xenia/debug/function_trace_data.h similarity index 95% rename from src/xenia/debug/trace_data.h rename to src/xenia/debug/function_trace_data.h index 60d621d44..29e03bfce 100644 --- a/src/xenia/debug/trace_data.h +++ b/src/xenia/debug/function_trace_data.h @@ -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 @@ -89,4 +89,4 @@ class FunctionTraceData { } // namespace debug } // namespace xe -#endif // XENIA_DEBUG_TRACE_DATA_H_ +#endif // XENIA_DEBUG_FUNCTION_TRACE_DATA_H_ diff --git a/src/xenia/debug/sources.gypi b/src/xenia/debug/sources.gypi deleted file mode 100644 index 42751bd16..000000000 --- a/src/xenia/debug/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/gpu/gl4/sources.gypi b/src/xenia/gpu/gl4/sources.gypi deleted file mode 100644 index 18d991268..000000000 --- a/src/xenia/gpu/gl4/sources.gypi +++ /dev/null @@ -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', - ], - }], - ], -} diff --git a/src/xenia/gpu/sources.gypi b/src/xenia/gpu/sources.gypi deleted file mode 100644 index 02d227a31..000000000 --- a/src/xenia/gpu/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/hid/nop/sources.gypi b/src/xenia/hid/nop/sources.gypi deleted file mode 100644 index 92497b41d..000000000 --- a/src/xenia/hid/nop/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/hid/sources.gypi b/src/xenia/hid/sources.gypi deleted file mode 100644 index 079d059ca..000000000 --- a/src/xenia/hid/sources.gypi +++ /dev/null @@ -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', - ], - }], - ], -} diff --git a/src/xenia/hid/winkey/sources.gypi b/src/xenia/hid/winkey/sources.gypi deleted file mode 100644 index 792ac571d..000000000 --- a/src/xenia/hid/winkey/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/hid/xinput/sources.gypi b/src/xenia/hid/xinput/sources.gypi deleted file mode 100644 index e4801bdf0..000000000 --- a/src/xenia/hid/xinput/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/kernel/apps/sources.gypi b/src/xenia/kernel/apps/sources.gypi deleted file mode 100644 index a0f9d03b3..000000000 --- a/src/xenia/kernel/apps/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/kernel/fs/devices/sources.gypi b/src/xenia/kernel/fs/devices/sources.gypi deleted file mode 100644 index 964ce692c..000000000 --- a/src/xenia/kernel/fs/devices/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/kernel/fs/sources.gypi b/src/xenia/kernel/fs/sources.gypi deleted file mode 100644 index 4cc2107ce..000000000 --- a/src/xenia/kernel/fs/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/kernel/objects/sources.gypi b/src/xenia/kernel/objects/sources.gypi deleted file mode 100644 index 49c07754a..000000000 --- a/src/xenia/kernel/objects/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/kernel/sources.gypi b/src/xenia/kernel/sources.gypi deleted file mode 100644 index 8a8253b60..000000000 --- a/src/xenia/kernel/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/kernel/util/sources.gypi b/src/xenia/kernel/util/sources.gypi deleted file mode 100644 index eeeaae226..000000000 --- a/src/xenia/kernel/util/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/memory.h b/src/xenia/memory.h index e0dd9d899..c8c164939 100644 --- a/src/xenia/memory.h +++ b/src/xenia/memory.h @@ -16,7 +16,6 @@ #include "xenia/base/platform.h" #include "xenia/cpu/mmio_handler.h" -#include "xenia/memory.h" namespace xe { diff --git a/src/xenia/sources.gypi b/src/xenia/sources.gypi deleted file mode 100644 index a929237b5..000000000 --- a/src/xenia/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/src/xenia/tools/api-scanner/sources.gypi b/src/xenia/tools/api-scanner/sources.gypi deleted file mode 100644 index f2873b288..000000000 --- a/src/xenia/tools/api-scanner/sources.gypi +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2015 x1nixmzeng. All Rights Reserved. -{ - 'sources': [ - 'api_scanner_loader.cc', - 'api_scanner_loader.h', - 'api_scanner_main.cc' - ] -} diff --git a/src/xenia/ui/sources.gypi b/src/xenia/ui/sources.gypi deleted file mode 100644 index 70be615d7..000000000 --- a/src/xenia/ui/sources.gypi +++ /dev/null @@ -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', - ], - }], - ], -} diff --git a/src/xenia/ui/win32/sources.gypi b/src/xenia/ui/win32/sources.gypi deleted file mode 100644 index 184e94c3f..000000000 --- a/src/xenia/ui/win32/sources.gypi +++ /dev/null @@ -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', - ], -} diff --git a/third_party/beaengine.gypi b/third_party/beaengine.gypi deleted file mode 100644 index 911bfa45f..000000000 --- a/third_party/beaengine.gypi +++ /dev/null @@ -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', - ], - } - ] -} diff --git a/third_party/binutils/build.sh b/third_party/binutils/build.sh index 8e6f8818f..21a119ce5 100644 --- a/third_party/binutils/build.sh +++ b/third_party/binutils/build.sh @@ -62,4 +62,4 @@ cd .. echo "" echo "Cleaning up binutils build temp" -rm -rf ./binutils-$SNAPSHOT_VERSION +#rm -rf ./binutils-$SNAPSHOT_VERSION diff --git a/third_party/flatbuffers b/third_party/flatbuffers new file mode 160000 index 000000000..ecb27817c --- /dev/null +++ b/third_party/flatbuffers @@ -0,0 +1 @@ +Subproject commit ecb27817cab429925f311832cffb277df30a9908 diff --git a/third_party/flatc.vcxproj b/third_party/flatc.vcxproj new file mode 100644 index 000000000..0b9df77f1 --- /dev/null +++ b/third_party/flatc.vcxproj @@ -0,0 +1,137 @@ + + + + + Checked + x64 + + + Debug + x64 + + + Release + x64 + + + + {D3069A06-62FC-479F-9F5C-23B4377481B0} + Win32Proj + flatc + + + + Application + true + v140 + Unicode + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + + + + Level3 + Disabled + _CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)\third_party\flatbuffers\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\ + + + Console + true + + + + + + + Level3 + Disabled + _CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)\third_party\flatbuffers\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\ + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + _CONSOLE;%(PreprocessorDefinitions) + $(SolutionDir)\third_party\flatbuffers\include\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\third_party;$(SolutionDir)\ + + + Console + true + true + true + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/third_party/flatc.vcxproj.filters b/third_party/flatc.vcxproj.filters new file mode 100644 index 000000000..db06403aa --- /dev/null +++ b/third_party/flatc.vcxproj.filters @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/third_party/gflags.gypi b/third_party/gflags.gypi deleted file mode 100644 index 202d2f1e3..000000000 --- a/third_party/gflags.gypi +++ /dev/null @@ -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=', - ], - }], - ], - } - ] -} diff --git a/third_party/glew.gypi b/third_party/glew.gypi deleted file mode 100644 index c1d2cb7ca..000000000 --- a/third_party/glew.gypi +++ /dev/null @@ -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', - ], - } - ] -} diff --git a/third_party/gyp b/third_party/gyp deleted file mode 160000 index 6194e32f7..000000000 --- a/third_party/gyp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6194e32f7fcbf42e625b04373adfa3c3d483c962 diff --git a/third_party/gyp.patch b/third_party/gyp.patch deleted file mode 100644 index 5f10b609c..000000000 --- a/third_party/gyp.patch +++ /dev/null @@ -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, diff --git a/third_party/imgui.gypi b/third_party/imgui.gypi deleted file mode 100644 index 3e87ca450..000000000 --- a/third_party/imgui.gypi +++ /dev/null @@ -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', - ], - } - ] -} diff --git a/third_party/libgflags.vcxproj b/third_party/libgflags.vcxproj new file mode 100644 index 000000000..b6d17db51 --- /dev/null +++ b/third_party/libgflags.vcxproj @@ -0,0 +1,132 @@ + + + + + Checked + x64 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + {838020F9-94AA-4314-996D-69B923C45D39} + Win32Proj + libgflags + + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + PATH_SEPARATOR=%27\\%27;GFLAGS_DLL_DECL=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECLARE_FLAG=;_LIB;%(PreprocessorDefinitions) + $(SolutionDir)\third_party\gflags\src\windows\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\ + + + Windows + true + + + + + + + Level3 + Disabled + PATH_SEPARATOR=%27\\%27;GFLAGS_DLL_DECL=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECLARE_FLAG=;_LIB;%(PreprocessorDefinitions) + $(SolutionDir)\third_party\gflags\src\windows\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\ + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + PATH_SEPARATOR=%27\\%27;GFLAGS_DLL_DECL=;GFLAGS_DLL_DEFINE_FLAG=;GFLAGS_DLL_DECLARE_FLAG=;_LIB;%(PreprocessorDefinitions) + $(SolutionDir)\third_party\gflags\src\windows\;$(SolutionDir)\third_party\gflags\src\;$(SolutionDir)\src\;$(SolutionDir)\ + + + Windows + true + true + true + + + + + + \ No newline at end of file diff --git a/third_party/libgflags.vcxproj.filters b/third_party/libgflags.vcxproj.filters new file mode 100644 index 000000000..d4268afc1 --- /dev/null +++ b/third_party/libgflags.vcxproj.filters @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/third_party/libglew.vcxproj b/third_party/libglew.vcxproj new file mode 100644 index 000000000..2970f2725 --- /dev/null +++ b/third_party/libglew.vcxproj @@ -0,0 +1,123 @@ + + + + + Checked + x64 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + {AE4AF147-715A-4C24-8BFA-136332DED28F} + Win32Proj + libglew + + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + _LIB;%(PreprocessorDefinitions) + + + Windows + true + + + + + + + Level3 + Disabled + _LIB;%(PreprocessorDefinitions) + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + _LIB;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + + \ No newline at end of file diff --git a/third_party/libglew.vcxproj.filters b/third_party/libglew.vcxproj.filters new file mode 100644 index 000000000..72d16732c --- /dev/null +++ b/third_party/libglew.vcxproj.filters @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/third_party/libimgui.vcxproj b/third_party/libimgui.vcxproj new file mode 100644 index 000000000..bc454b5eb --- /dev/null +++ b/third_party/libimgui.vcxproj @@ -0,0 +1,121 @@ + + + + + Checked + x64 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + {CE3A80D4-12DB-4164-A050-67E5796A019B} + Win32Proj + libimgui + + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + true + v140 + Unicode + + + StaticLibrary + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Level3 + Disabled + _LIB;%(PreprocessorDefinitions) + + + Windows + true + + + + + + + Level3 + Disabled + _LIB;%(PreprocessorDefinitions) + + + Windows + true + + + + + Level3 + + + MaxSpeed + true + true + _LIB;%(PreprocessorDefinitions) + + + Windows + true + true + true + + + + + + \ No newline at end of file diff --git a/third_party/libimgui.vcxproj.filters b/third_party/libimgui.vcxproj.filters new file mode 100644 index 000000000..7a8251173 --- /dev/null +++ b/third_party/libimgui.vcxproj.filters @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/third_party/llvm.gypi b/third_party/llvm.gypi deleted file mode 100644 index 3b8449729..000000000 --- a/third_party/llvm.gypi +++ /dev/null @@ -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', - ], - } - ] -} diff --git a/third_party/microprofile/microprofile.h b/third_party/microprofile/microprofile.h index df21e4930..345358cc6 100644 --- a/third_party/microprofile/microprofile.h +++ b/third_party/microprofile/microprofile.h @@ -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); } diff --git a/third_party/microprofile/microprofileui.h b/third_party/microprofile/microprofileui.h index b84bf8c9c..a61dccdf5 100644 --- a/third_party/microprofile/microprofileui.h +++ b/third_party/microprofile/microprofileui.h @@ -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 diff --git a/third_party/sparsehash b/third_party/sparsehash deleted file mode 160000 index 09af64be1..000000000 --- a/third_party/sparsehash +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 09af64be1e18018f5d7a1ff337bed0f32e8067f2 diff --git a/third_party/sparsehash.gypi b/third_party/sparsehash.gypi deleted file mode 100644 index ec611db8e..000000000 --- a/third_party/sparsehash.gypi +++ /dev/null @@ -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', - ], - }], - ], - } - ] -} diff --git a/third_party/xxhash.gypi b/third_party/xxhash.gypi deleted file mode 100644 index b39b9f56b..000000000 --- a/third_party/xxhash.gypi +++ /dev/null @@ -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', - ], - } - ] -} diff --git a/tools/tools.gypi b/tools/tools.gypi deleted file mode 100644 index 7632461e1..000000000 --- a/tools/tools.gypi +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2013 Ben Vanik. All Rights Reserved. -{ - 'includes': [ - ], -} diff --git a/xb.bat b/xb.bat index 9b2186043..81f6d2515 100644 --- a/xb.bat +++ b/xb.bat @@ -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 diff --git a/xenia.gyp b/xenia.gyp deleted file mode 100644 index 9d32a9c32..000000000 --- a/xenia.gyp +++ /dev/null @@ -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', - ], - }, - ], -} diff --git a/xenia.sln b/xenia.sln new file mode 100644 index 000000000..1f3d9afd9 --- /dev/null +++ b/xenia.sln @@ -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 diff --git a/xenia.vcxproj b/xenia.vcxproj new file mode 100644 index 000000000..431e079fa --- /dev/null +++ b/xenia.vcxproj @@ -0,0 +1,129 @@ + + + + + Checked + x64 + + + Debug + x64 + + + Release + x64 + + + + {88F908AF-79A3-4ED4-87C7-A76368205264} + Win32Proj + xenia + + + + Application + true + v140 + Unicode + + + Application + true + v140 + Unicode + + + Application + false + v140 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + + + + Level3 + Disabled + _WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + libgflags.lib;libglew.lib;libxenia.lib;%(AdditionalDependencies) + + + + + + + Level3 + Disabled + _WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + libgflags.lib;libglew.lib;libxenia.lib;%(AdditionalDependencies) + + + + + Level3 + + + MaxSpeed + true + true + _WINDOWS;%(PreprocessorDefinitions) + + + Windows + true + true + true + libgflags.lib;libglew.lib;libxenia.lib;%(AdditionalDependencies) + + + + + + + + + + + + + \ No newline at end of file diff --git a/xenia.vcxproj.filters b/xenia.vcxproj.filters new file mode 100644 index 000000000..8f0eec36d --- /dev/null +++ b/xenia.vcxproj.filters @@ -0,0 +1,31 @@ + + + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {944458a3-c5a7-42f3-9330-1e24284524cc} + + + {1f48c4ec-0864-4f6f-bc46-51d57f0650a8} + + + {a3d918ab-c42b-469d-9950-ec4656b77b32} + + + + + src\xenia\base + + + src\xenia + + + + + src\xenia\base + + + \ No newline at end of file