diff --git a/.gitignore b/.gitignore
index 07dcdca2e..de9fdb99a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -77,8 +77,7 @@ scratch/
.anvil-cache
.build-cache/
-build/bin/
-build/obj/
+build/
build-out/
build-gen/
build-bin/
diff --git a/.gitmodules b/.gitmodules
index aa8fa6ebd..225878c89 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,15 +1,9 @@
-[submodule "third_party/gflags"]
- path = third_party/gflags
- url = https://github.com/benvanik/gflags.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/xenia-project/xbyak.git
-[submodule "third_party/catch"]
- path = third_party/catch
- url = https://github.com/philsquared/Catch.git
[submodule "third_party/imgui"]
path = third_party/imgui
url = https://github.com/ocornut/imgui.git
@@ -28,3 +22,6 @@
[submodule "third_party/elemental-forms"]
path = third_party/elemental-forms
url = https://github.com/xenia-project/elemental-forms.git
+[submodule "build_tools"]
+ path = build_tools
+ url = https://github.com/xenia-project/build-tools.git
diff --git a/README.md b/README.md
index f05cbdbf8..3f0a9f3f3 100644
--- a/README.md
+++ b/README.md
@@ -44,11 +44,11 @@ Windows 8.1+ with Python 2.7 and Visual Studio 2015 installed:
> xb setup
# Build on command line:
> xb build
- # Open Visual Studio (run the 'xenia' project):
+ # Open Visual Studio (run the 'xenia-app' project):
> xb edit
When fetching updates use `xb pull` to automatically fetch everything and
-update gyp files/etc.
+run premake for project files/etc.
## Building
diff --git a/build/Xenia.Cpp.x64.Checked.props b/build/Xenia.Cpp.x64.Checked.props
deleted file mode 100644
index 09a3d665a..000000000
--- a/build/Xenia.Cpp.x64.Checked.props
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
- false
- MultiThreadedDebugDLL
- Guard
- ProgramDatabase
- CHECKED;%(PreprocessorDefinitions)
- true
- EnableFastChecks
- true
-
-
-
- $(SolutionDir)third_party\libav-xma-bin\lib\Debug;%(AdditionalLibraryDirectories)
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build/Xenia.Cpp.x64.Clang.props b/build/Xenia.Cpp.x64.Clang.props
deleted file mode 100644
index 7c3b4ede3..000000000
--- a/build/Xenia.Cpp.x64.Clang.props
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
- false
-
- false
-
-
-
-
\ No newline at end of file
diff --git a/build/Xenia.Cpp.x64.Common.props b/build/Xenia.Cpp.x64.Common.props
deleted file mode 100644
index 24ed4a356..000000000
--- a/build/Xenia.Cpp.x64.Common.props
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
- $(SolutionDir)build\bin\$(Configuration)\
- $(SolutionDir)build\obj\$(Configuration)\$(MSBuildProjectName)\
-
-
-
- true
- $(SolutionDir)third_party\flatbuffers\include;$(SolutionDir)third_party\turbobadger\src;$(SolutionDir)third_party\gflags\src;$(SolutionDir)third_party\elemental-forms\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;MICROPROFILE_MAX_THREADS=128;CAPSTONE_X86_ATT_DISABLE;CAPSTONE_DIET_NO;CAPSTONE_X86_REDUCE_NO;CAPSTONE_HAS_X86;CAPSTONE_USE_SYS_DYN_MEM;XBYAK_NO_OP_NAMES;%(PreprocessorDefinitions)
- Level4
- true
- MultiThreadedDLL
- false
- AdvancedVectorExtensions
-
-
- $(SolutionDir)build\bin\$(Configuration)\
- ntdll.lib;wsock32.lib;ws2_32.lib;xinput.lib;xaudio2.lib;glu32.lib;opengl32.lib;comctl32.lib;shlwapi.lib;%(AdditionalDependencies)
- /ignore:4006 /ignore:4221 %(AdditionalOptions)
- MSVCRTD
-
-
- $(SolutionDir)build\bin\$(Configuration)\;$(SolutionDir)third_party\libav-xma-bin\lib\$(Configuration)
- /ignore:4006 /ignore:4221 %(AdditionalOptions)
-
-
-
-
\ No newline at end of file
diff --git a/build/Xenia.Cpp.x64.Debug.props b/build/Xenia.Cpp.x64.Debug.props
deleted file mode 100644
index 5734acae2..000000000
--- a/build/Xenia.Cpp.x64.Debug.props
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
- false
- _NO_DEBUG_HEAP=1;DEBUG;XE_DEBUG=1;%(PreprocessorDefinitions)
-
-
- false
-
-
- Debug
-
-
-
- $(SolutionDir)third_party\libav-xma-bin\lib\Release;%(AdditionalLibraryDirectories)
-
-
-
-
\ No newline at end of file
diff --git a/build/Xenia.Cpp.x64.Release.props b/build/Xenia.Cpp.x64.Release.props
deleted file mode 100644
index e784ac2f9..000000000
--- a/build/Xenia.Cpp.x64.Release.props
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
- AnySuitable
-
-
-
-
- true
- false
- false
- NDEBUG;%(PreprocessorDefinitions)
- true
-
-
- true
-
-
- true
-
-
-
-
\ No newline at end of file
diff --git a/build_tools b/build_tools
new file mode 160000
index 000000000..b5ff34023
--- /dev/null
+++ b/build_tools
@@ -0,0 +1 @@
+Subproject commit b5ff34023b95625a9a7c9729bbf8ff1f0e9aab38
diff --git a/libxenia-base.vcxproj b/libxenia-base.vcxproj
deleted file mode 100644
index f0ac061d0..000000000
--- a/libxenia-base.vcxproj
+++ /dev/null
@@ -1,161 +0,0 @@
-
-
-
-
- Checked
- x64
-
-
- Clang
- x64
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {93533067-6449-4691-88A8-026EBCFDCA97}
- Win32Proj
- libxeniabase
- 8.1
-
-
-
- StaticLibrary
- true
- v140
- Unicode
-
-
- StaticLibrary
- true
- v140
- Unicode
-
-
- StaticLibrary
- false
- v140
- true
- Unicode
-
-
- LLVM-vs2014
- StaticLibrary
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Level3
-
-
- Windows
- true
-
-
-
-
-
-
- Level3
-
-
- Windows
- true
-
-
-
-
- Level3
-
-
- true
- true
-
-
- Windows
- true
- true
- true
-
-
-
-
-
-
\ No newline at end of file
diff --git a/libxenia-base.vcxproj.filters b/libxenia-base.vcxproj.filters
deleted file mode 100644
index 10b804bdd..000000000
--- a/libxenia-base.vcxproj.filters
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
- {f20e4edb-dc80-4fb0-a1bf-76d2699f6358}
-
-
- {2417e637-a3df-4149-8365-1e4f5424df45}
-
-
- {3382641c-71e8-422c-afbf-fe45cbeb0ca3}
-
-
-
-
- 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\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\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
-
-
-
\ No newline at end of file
diff --git a/libxenia.vcxproj b/libxenia.vcxproj
deleted file mode 100644
index f0ce68fb1..000000000
--- a/libxenia.vcxproj
+++ /dev/null
@@ -1,641 +0,0 @@
-
-
-
-
- Checked
- x64
-
-
- Clang
- x64
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
- CompileAsCpp
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {0CE149F6-41C3-4224-9E57-C02E8C7CD312}
- Win32Proj
- libxenia
- 8.1
-
-
-
- StaticLibrary
- true
- v140
- Unicode
-
-
- StaticLibrary
- true
- LLVM-vs2014
- Unicode
-
-
- StaticLibrary
- true
- v140
- Unicode
-
-
- StaticLibrary
- false
- v140
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Level3
- BEA_ENGINE_STATIC=1;_LIB;%(PreprocessorDefinitions)
- $(SolutionDir)\third_party\libav-xma-bin\include;$(SolutionDir)\third_party\beaengine\include;$(SolutionDir)\third_party\llvm\include;$(SolutionDir)\third_party\capstone\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
-
-
- libelemental.lib;libxenia-base.lib;libavcodec.a;libavutil.a;libgflags.lib;libglew.lib
- $(SolutionDir)third_party\libav-xma-bin\lib\Debug;%(AdditionalLibraryDirectories)
-
-
-
-
-
-
- Level3
- BEA_ENGINE_STATIC=1;_LIB;%(PreprocessorDefinitions)
- $(SolutionDir)\third_party\libav-xma-bin\include;$(SolutionDir)\third_party\beaengine\include;$(SolutionDir)\third_party\llvm\include;$(SolutionDir)\third_party\capstone\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
-
-
- libelemental.lib;libxenia-base.lib;libavcodec.a;libavutil.a;libgflags.lib;libglew.lib
- $(SolutionDir)third_party\libav-xma-bin\lib\Debug;%(AdditionalLibraryDirectories)
-
-
-
-
-
-
- Level3
- BEA_ENGINE_STATIC=1;_LIB;%(PreprocessorDefinitions)
- $(SolutionDir)\third_party\libav-xma-bin\include;$(SolutionDir)\third_party\beaengine\include;$(SolutionDir)\third_party\llvm\include;$(SolutionDir)\third_party\capstone\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
-
-
- libelemental.lib;libxenia-base.lib;libavcodec.a;libavutil.a;libgflags.lib;libglew.lib
-
-
-
-
- Level3
-
-
- true
- BEA_ENGINE_STATIC=1;_LIB;%(PreprocessorDefinitions)
- $(SolutionDir)\third_party\libav-xma-bin\include;$(SolutionDir)\third_party\beaengine\include;$(SolutionDir)\third_party\llvm\include;$(SolutionDir)\third_party\capstone\include;%(AdditionalIncludeDirectories)
-
-
- Windows
- true
- true
- true
-
-
- libelemental.lib;libxenia-base.lib;libavcodec.a;libavutil.a;libgflags.lib;libglew.lib
-
-
-
-
-
-
\ No newline at end of file
diff --git a/libxenia.vcxproj.filters b/libxenia.vcxproj.filters
deleted file mode 100644
index 314a1eb63..000000000
--- a/libxenia.vcxproj.filters
+++ /dev/null
@@ -1,1431 +0,0 @@
-
-
-
-
- {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}
-
-
- {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}
-
-
- {c1ac0db1-2f4b-4376-b1dc-e6355c99b395}
-
-
- {4e0349c4-b0bd-4595-9e83-cb3cbe11a172}
-
-
- {bb86c40a-ad91-482e-a7c8-ef0a84280c8d}
-
-
- {447ef539-2dab-4969-a5b0-57c8d6f4c6ec}
-
-
- {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}
-
-
- {49d9a353-9cc1-4ca3-95a1-9db2bd2d0eca}
-
-
- {56f75ad9-d903-475a-a68c-0f7892e24808}
-
-
- {23674cd7-7387-4947-baa5-5216f6a08830}
-
-
- {00596876-a323-4570-a5fb-71343024d429}
-
-
- {831bb630-c71e-43c7-abf0-bde923d10e9b}
-
-
- {82795389-e855-4cd6-a3b6-9580030cebf2}
-
-
- {f598eed5-11dc-4ef8-a7d4-28ec5e43009b}
-
-
-
-
- src\xenia
-
-
- src\xenia
-
-
- src\xenia
-
-
- src\xenia\apu
-
-
- src\xenia\apu
-
-
- src\xenia\apu\nop
-
-
- src\xenia\apu\xaudio2
-
-
- src\xenia\apu\xaudio2
-
-
- 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\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\cpu\compiler\passes
-
-
- 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\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
-
-
- 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
-
-
- 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\kernel
-
-
- src\xenia\cpu\backend\x64
-
-
- src\xenia\kernel\util
-
-
- src\xenia\kernel
-
-
- src\xenia\kernel
-
-
- src\xenia\kernel
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- src\xenia\gpu
-
-
- src\xenia\cpu\compiler\passes
-
-
- src\xenia\apu
-
-
- src\xenia\apu
-
-
- src\xenia\hid
-
-
- src\xenia\gpu
-
-
- src\xenia\gpu\gl4
-
-
- src\xenia\cpu
-
-
- src\xenia\apu
-
-
- src\xenia\apu\xaudio2
-
-
- src\xenia\apu\nop
-
-
- src\xenia\vfs
-
-
- src\xenia\vfs
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs
-
-
- src\xenia\ui
-
-
- src\xenia\ui
-
-
- src\xenia\ui
-
-
- src\xenia\ui
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui
-
-
- src\xenia\ui
-
-
-
-
- src\xenia
-
-
- src\xenia
-
-
- src\xenia
-
-
- src\xenia
-
-
- src\xenia\apu
-
-
- src\xenia\apu
-
-
- src\xenia\apu\nop
-
-
- src\xenia\apu\xaudio2
-
-
- src\xenia\apu\xaudio2
-
-
- 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\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\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\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\nop
-
-
- src\xenia\hid\nop
-
-
- src\xenia\hid\winkey
-
-
- src\xenia\hid\winkey
-
-
- src\xenia\hid\xinput
-
-
- src\xenia\hid\xinput
-
-
- 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
-
-
- 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
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- third_party\capstone\include
-
-
- third_party\capstone\include
-
-
- third_party\capstone\include
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- third_party\capstone
-
-
- src\xenia\cpu\compiler\passes
-
-
- src\xenia\cpu\backend
-
-
- src\xenia\apu
-
-
- src\xenia\apu
-
-
- src\xenia\ui
-
-
- src\xenia\hid
-
-
- src\xenia\gpu
-
-
- src\xenia\gpu\gl4
-
-
- src\xenia\cpu
-
-
- src\xenia\apu
-
-
- src\xenia\apu\xaudio2
-
-
- src\xenia\apu\nop
-
-
- src\xenia\hid
-
-
- src\xenia\vfs
-
-
- src\xenia\vfs
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs\devices
-
-
- src\xenia\vfs
-
-
- src\xenia\cpu\backend\x64
-
-
- src\xenia\ui
-
-
- src\xenia\ui
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui\gl
-
-
- src\xenia\ui
-
-
-
-
- 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
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- src\xenia\debug\proto
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
- third_party\capstone\arch\X86
-
-
-
-
-
-
\ No newline at end of file
diff --git a/premake5.lua b/premake5.lua
new file mode 100644
index 000000000..52670306d
--- /dev/null
+++ b/premake5.lua
@@ -0,0 +1,158 @@
+include("build_tools")
+
+location(build_root)
+targetdir(build_bin)
+objdir(build_obj)
+
+includedirs({
+ ".",
+ "src",
+ "third_party",
+ "build_tools/third_party/gflags/src",
+})
+
+defines({
+ "_UNICODE",
+ "UNICODE",
+ "MICROPROFILE_MAX_THREADS=128",
+})
+
+vectorextensions("AVX")
+flags({
+ --"ExtraWarnings", -- Sets the compiler's maximum warning level.
+ "FatalWarnings", -- Treat warnings as errors.
+ "Unicode",
+})
+
+filter("kind:StaticLib")
+ defines({
+ "_LIB",
+ })
+
+filter("configurations:Checked")
+ runtime("Debug")
+ defines({
+ "DEBUG",
+ })
+ flags({"Symbols"})
+ runtime("Debug")
+ buildoptions({
+ "/RTCsu", -- Full Run-Time Checks.
+ })
+
+filter("configurations:Debug")
+ runtime("Debug")
+ defines({
+ "DEBUG",
+ "_NO_DEBUG_HEAP=1",
+ })
+ flags({"Symbols"})
+ runtime("Release")
+ linkoptions({"/NODEFAULTLIB:MSVCRTD"})
+
+filter("configurations:Release")
+ runtime("Release")
+ defines({
+ "NDEBUG",
+ "_NO_DEBUG_HEAP=1",
+ })
+ optimize("On")
+ flags({
+ "LinkTimeOptimization",
+ })
+ runtime("Release")
+ linkoptions({"/NODEFAULTLIB:MSVCRTD"})
+
+filter("platforms:Windows")
+ system("windows")
+ toolset("msc")
+ -- Ignores complaints about empty obj files:
+ linkoptions({"/ignore:4006", "/ignore:4221"})
+ -- Enable multiprocessor compiles (requires Minimal Rebuild to be disabled).
+ buildoptions({"/MP"})
+ flags({
+ "NoMinimalRebuild",
+ })
+ defines({
+ "_CRT_NONSTDC_NO_DEPRECATE",
+ "_CRT_SECURE_NO_WARNINGS",
+ "WIN32",
+ "_WIN64=1",
+ "_AMD64=1",
+ })
+ links({
+ "ntdll",
+ "wsock32",
+ "ws2_32",
+ "xinput",
+ "xaudio2",
+ "glu32",
+ "opengl32",
+ "comctl32",
+ "shlwapi",
+ })
+
+-- Create scratch/ path and dummy flags file if needed.
+if not os.isdir("scratch") then
+ os.mkdir("scratch")
+ local flags_file = io.open("scratch1/flags.txt", "w")
+ flags_file:write("# Put flags, one on each line.\n")
+ flags_file:write("# Launch executables with --flags_file=scratch/flags.txt\n")
+ flags_file:write("\n")
+ flags_file:write("--cpu=x64\n")
+ flags_file:write("#--enable_haswell_instructions=false\n")
+ flags_file:write("\n")
+ flags_file:write("--debug\n")
+ flags_file:write("#--protect_zero=false\n")
+ flags_file:write("\n")
+ flags_file:write("#--mute\n")
+ flags_file:write("\n")
+ flags_file:write("--fast_stdout\n")
+ flags_file:write("#--flush_stdout=false\n")
+ flags_file:write("\n")
+ flags_file:write("#--vsync=false\n")
+ flags_file:write("#--gl_debug\n")
+ flags_file:write("#--gl_debug_output\n")
+ flags_file:write("#--gl_debug_output_synchronous\n")
+ flags_file:write("#--trace_gpu_prefix=scratch/gpu/gpu_trace_\n")
+ flags_file:write("#--trace_gpu_stream\n")
+ flags_file:write("#--disable_framebuffer_readback\n")
+ flags_file:write("\n")
+ flags_file:close()
+end
+
+solution("xenia")
+ uuid("931ef4b0-6170-4f7a-aaf2-0fece7632747")
+ startproject("xenia-app")
+ configurations({"Checked", "Debug", "Release"})
+ platforms({"Windows"})
+ architecture("x86_64")
+
+ include("src/xenia")
+ include("src/xenia/app")
+ include("src/xenia/apu")
+ include("src/xenia/apu/nop")
+ include("src/xenia/apu/xaudio2")
+ include("src/xenia/base")
+ include("src/xenia/cpu")
+ include("src/xenia/cpu/backend/x64")
+ include("src/xenia/debug")
+ include("src/xenia/debug/ui")
+ include("src/xenia/gpu")
+ include("src/xenia/gpu/gl4")
+ include("src/xenia/hid")
+ include("src/xenia/hid/nop")
+ include("src/xenia/hid/winkey")
+ include("src/xenia/hid/xinput")
+ include("src/xenia/kernel")
+ include("src/xenia/ui")
+ include("src/xenia/ui/gl")
+ include("src/xenia/vfs")
+
+ include("third_party/beaengine.lua")
+ include("third_party/capstone.lua")
+ include("third_party/elemental-forms")
+ include("third_party/glew.lua")
+ include("third_party/imgui.lua")
+ include("third_party/xxhash.lua")
+ include("build_tools/third_party/gflags.lua")
diff --git a/src/xenia/app/premake5.lua b/src/xenia/app/premake5.lua
new file mode 100644
index 000000000..867670312
--- /dev/null
+++ b/src/xenia/app/premake5.lua
@@ -0,0 +1,72 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-app")
+ uuid("d7e98620-d007-4ad8-9dbd-b47c8853a17f")
+ kind("WindowedApp")
+ targetname("xenia")
+ language("C++")
+ links({
+ "beaengine",
+ "elemental-forms",
+ "gflags",
+ "xenia-apu",
+ "xenia-apu-nop",
+ "xenia-apu-xaudio2",
+ "xenia-base",
+ "xenia-core",
+ "xenia-cpu",
+ "xenia-cpu-backend-x64",
+ "xenia-debug",
+ "xenia-gpu",
+ "xenia-gpu-gl4",
+ "xenia-hid-nop",
+ "xenia-hid-winkey",
+ "xenia-hid-xinput",
+ "xenia-kernel",
+ "xenia-ui",
+ "xenia-ui-gl",
+ "xenia-vfs",
+ })
+ flags({
+ "WinMain", -- Use WinMain instead of main.
+ })
+ defines({
+ })
+ includedirs({
+ project_root.."/third_party/elemental-forms/src",
+ })
+ local_platform_files()
+ files({
+ "xenia_main.cc",
+ "../base/main_"..platform_suffix..".cc",
+ })
+ files({
+ "main_resources.rc",
+ })
+ resincludedirs({
+ project_root,
+ project_root.."/third_party/elemental-forms",
+ })
+
+ filter("configurations:Checked")
+ local libav_root = "../third_party/libav-xma-bin/lib/Debug"
+ linkoptions({
+ libav_root.."/libavcodec.a",
+ libav_root.."/libavutil.a",
+ })
+ filter("configurations:Debug or Release")
+ local libav_root = "../third_party/libav-xma-bin/lib/Release"
+ linkoptions({
+ libav_root.."/libavcodec.a",
+ libav_root.."/libavutil.a",
+ })
+
+ filter("platforms:Windows")
+ debugdir(project_root)
+ debugargs({
+ "--flagfile=scratch/flags.txt",
+ "2>&1",
+ "1>scratch/stdout.txt",
+ })
diff --git a/src/xenia/apu/nop/premake5.lua b/src/xenia/apu/nop/premake5.lua
new file mode 100644
index 000000000..068234586
--- /dev/null
+++ b/src/xenia/apu/nop/premake5.lua
@@ -0,0 +1,17 @@
+project_root = "../../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-apu-nop")
+ uuid("f37dbf3a-d200-4cc0-83f0-f801b1bdd862")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "xenia-base",
+ "xenia-apu",
+ })
+ defines({
+ })
+ includedirs({
+ })
+ local_platform_files()
diff --git a/src/xenia/apu/premake5.lua b/src/xenia/apu/premake5.lua
new file mode 100644
index 000000000..68ed44140
--- /dev/null
+++ b/src/xenia/apu/premake5.lua
@@ -0,0 +1,20 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-apu")
+ uuid("f4df01f0-50e4-4c67-8f54-61660696cc79")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "libavcodec.a",
+ "libavutil.a",
+ "xenia-base",
+ })
+ defines({
+ })
+ includedirs({
+ project_root.."/third_party/libav-xma-bin/include/",
+ })
+ local_platform_files()
+
diff --git a/src/xenia/apu/xaudio2/premake5.lua b/src/xenia/apu/xaudio2/premake5.lua
new file mode 100644
index 000000000..7054e7419
--- /dev/null
+++ b/src/xenia/apu/xaudio2/premake5.lua
@@ -0,0 +1,16 @@
+project_root = "../../../.."
+include(project_root.."/build_tools")
+
+project("xenia-apu-xaudio2")
+ uuid("7a54a497-24d9-4c0e-a013-8507a04231f9")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "xenia-base",
+ "xenia-apu",
+ })
+ defines({
+ })
+ includedirs({
+ })
+ local_platform_files()
diff --git a/vsdebuggervis.natvis b/src/xenia/base/debug_visualizers.natvis
similarity index 85%
rename from vsdebuggervis.natvis
rename to src/xenia/base/debug_visualizers.natvis
index 7bf54d0d8..17e481c08 100644
--- a/vsdebuggervis.natvis
+++ b/src/xenia/base/debug_visualizers.natvis
@@ -1,6 +1,6 @@
-
+
@@ -18,7 +18,7 @@
((value & 0x000000FF) << 24))}
-
+
{(((value & 0xFF00) >> 8) |
@@ -43,12 +43,4 @@
-
-
-
- {host_ptr_}
-
- host_ptr_
-
-
-
\ No newline at end of file
+
diff --git a/src/xenia/base/main_win.cc b/src/xenia/base/main_win.cc
index 9227f2152..3d3333075 100644
--- a/src/xenia/base/main_win.cc
+++ b/src/xenia/base/main_win.cc
@@ -49,7 +49,7 @@ void AttachConsole() {
} // namespace xe
// Used in console mode apps; automatically picked based on subsystem.
-int wmain(int argc, wchar_t* argv[]) {
+int main(int argc, wchar_t* argv[]) {
auto entry_info = xe::GetEntryInfo();
google::SetUsageMessage(std::string("usage: ") +
@@ -102,7 +102,7 @@ int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR command_line, int) {
}
// Run normal entry point.
- int result = wmain(argc, argv);
+ int result = main(argc, argv);
LocalFree(argv);
return result;
diff --git a/src/xenia/base/memory_test.cc b/src/xenia/base/memory_test.cc
new file mode 100644
index 000000000..e0d936c9c
--- /dev/null
+++ b/src/xenia/base/memory_test.cc
@@ -0,0 +1,19 @@
+/**
+ ******************************************************************************
+ * 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. *
+ ******************************************************************************
+ */
+
+#include "third_party/catch/include/catch.hpp"
+#include "xenia/base/memory.h"
+
+using namespace xe;
+using namespace xe::memory;
+
+TEST_CASE("copy_and_swap_16_aligned", "Copy and Swap") {
+ // TODO(benvanik): tests.
+ REQUIRE(true == true);
+}
diff --git a/src/xenia/base/premake5.lua b/src/xenia/base/premake5.lua
new file mode 100644
index 000000000..155c68613
--- /dev/null
+++ b/src/xenia/base/premake5.lua
@@ -0,0 +1,24 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+project("xenia-base")
+ uuid("aeadaf22-2b20-4941-b05f-a802d5679c11")
+ kind("StaticLib")
+ language("C++")
+ defines({
+ })
+ includedirs({
+ })
+ local_platform_files()
+ removefiles({"main_*.cc"})
+ files({
+ "debug_visualizers.natvis",
+ })
+
+test_suite("xenia-base-tests", project_root, ".", {
+ includedirs = {
+ },
+ links = {
+ "xenia-base",
+ },
+})
diff --git a/src/xenia/cpu/backend/x64/premake5.lua b/src/xenia/cpu/backend/x64/premake5.lua
new file mode 100644
index 000000000..afda7d45a
--- /dev/null
+++ b/src/xenia/cpu/backend/x64/premake5.lua
@@ -0,0 +1,28 @@
+project_root = "../../../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-cpu-backend-x64")
+ uuid("7d8d5dce-4696-4197-952a-09506f725afe")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "beaengine",
+ "capstone",
+ "xenia-base",
+ "xenia-cpu",
+ })
+ defines({
+ "BEA_ENGINE_STATIC=1",
+ "CAPSTONE_X86_ATT_DISABLE",
+ "CAPSTONE_DIET_NO",
+ "CAPSTONE_X86_REDUCE_NO",
+ "CAPSTONE_HAS_X86",
+ "CAPSTONE_USE_SYS_DYN_MEM",
+ "XBYAK_NO_OP_NAMES",
+ })
+ includedirs({
+ project_root.."/third_party/beaengine/include",
+ project_root.."/third_party/capstone/include",
+ })
+ local_platform_files()
diff --git a/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj b/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj
deleted file mode 100644
index 4a51bd167..000000000
--- a/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj
+++ /dev/null
@@ -1,246 +0,0 @@
-
-
-
-
- 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
deleted file mode 100644
index 8572a8506..000000000
--- a/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.vcxproj.filters
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
-
-
- 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/frontend/test/README.md b/src/xenia/cpu/frontend/testing/README.md
similarity index 100%
rename from src/xenia/cpu/frontend/test/README.md
rename to src/xenia/cpu/frontend/testing/README.md
diff --git a/src/xenia/cpu/frontend/test/instr_add.s b/src/xenia/cpu/frontend/testing/instr_add.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_add.s
rename to src/xenia/cpu/frontend/testing/instr_add.s
diff --git a/src/xenia/cpu/frontend/test/instr_addc.s b/src/xenia/cpu/frontend/testing/instr_addc.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_addc.s
rename to src/xenia/cpu/frontend/testing/instr_addc.s
diff --git a/src/xenia/cpu/frontend/test/instr_adde.s b/src/xenia/cpu/frontend/testing/instr_adde.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_adde.s
rename to src/xenia/cpu/frontend/testing/instr_adde.s
diff --git a/src/xenia/cpu/frontend/test/instr_addic.s b/src/xenia/cpu/frontend/testing/instr_addic.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_addic.s
rename to src/xenia/cpu/frontend/testing/instr_addic.s
diff --git a/src/xenia/cpu/frontend/test/instr_addis.s b/src/xenia/cpu/frontend/testing/instr_addis.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_addis.s
rename to src/xenia/cpu/frontend/testing/instr_addis.s
diff --git a/src/xenia/cpu/frontend/test/instr_addme.s b/src/xenia/cpu/frontend/testing/instr_addme.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_addme.s
rename to src/xenia/cpu/frontend/testing/instr_addme.s
diff --git a/src/xenia/cpu/frontend/test/instr_addze.s b/src/xenia/cpu/frontend/testing/instr_addze.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_addze.s
rename to src/xenia/cpu/frontend/testing/instr_addze.s
diff --git a/src/xenia/cpu/frontend/test/instr_and.s b/src/xenia/cpu/frontend/testing/instr_and.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_and.s
rename to src/xenia/cpu/frontend/testing/instr_and.s
diff --git a/src/xenia/cpu/frontend/test/instr_andc.s b/src/xenia/cpu/frontend/testing/instr_andc.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_andc.s
rename to src/xenia/cpu/frontend/testing/instr_andc.s
diff --git a/src/xenia/cpu/frontend/test/instr_andi.s b/src/xenia/cpu/frontend/testing/instr_andi.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_andi.s
rename to src/xenia/cpu/frontend/testing/instr_andi.s
diff --git a/src/xenia/cpu/frontend/test/instr_andis.s b/src/xenia/cpu/frontend/testing/instr_andis.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_andis.s
rename to src/xenia/cpu/frontend/testing/instr_andis.s
diff --git a/src/xenia/cpu/frontend/test/instr_cmp.s b/src/xenia/cpu/frontend/testing/instr_cmp.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_cmp.s
rename to src/xenia/cpu/frontend/testing/instr_cmp.s
diff --git a/src/xenia/cpu/frontend/test/instr_cmpi.s b/src/xenia/cpu/frontend/testing/instr_cmpi.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_cmpi.s
rename to src/xenia/cpu/frontend/testing/instr_cmpi.s
diff --git a/src/xenia/cpu/frontend/test/instr_cmpl.s b/src/xenia/cpu/frontend/testing/instr_cmpl.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_cmpl.s
rename to src/xenia/cpu/frontend/testing/instr_cmpl.s
diff --git a/src/xenia/cpu/frontend/test/instr_cmpli.s b/src/xenia/cpu/frontend/testing/instr_cmpli.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_cmpli.s
rename to src/xenia/cpu/frontend/testing/instr_cmpli.s
diff --git a/src/xenia/cpu/frontend/test/instr_cntlzd.s b/src/xenia/cpu/frontend/testing/instr_cntlzd.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_cntlzd.s
rename to src/xenia/cpu/frontend/testing/instr_cntlzd.s
diff --git a/src/xenia/cpu/frontend/test/instr_cntlzw.s b/src/xenia/cpu/frontend/testing/instr_cntlzw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_cntlzw.s
rename to src/xenia/cpu/frontend/testing/instr_cntlzw.s
diff --git a/src/xenia/cpu/frontend/test/instr_divd.s b/src/xenia/cpu/frontend/testing/instr_divd.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_divd.s
rename to src/xenia/cpu/frontend/testing/instr_divd.s
diff --git a/src/xenia/cpu/frontend/test/instr_divdu.s b/src/xenia/cpu/frontend/testing/instr_divdu.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_divdu.s
rename to src/xenia/cpu/frontend/testing/instr_divdu.s
diff --git a/src/xenia/cpu/frontend/test/instr_divw.s b/src/xenia/cpu/frontend/testing/instr_divw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_divw.s
rename to src/xenia/cpu/frontend/testing/instr_divw.s
diff --git a/src/xenia/cpu/frontend/test/instr_divwu.s b/src/xenia/cpu/frontend/testing/instr_divwu.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_divwu.s
rename to src/xenia/cpu/frontend/testing/instr_divwu.s
diff --git a/src/xenia/cpu/frontend/test/instr_eqv.s b/src/xenia/cpu/frontend/testing/instr_eqv.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_eqv.s
rename to src/xenia/cpu/frontend/testing/instr_eqv.s
diff --git a/src/xenia/cpu/frontend/test/instr_extsb.s b/src/xenia/cpu/frontend/testing/instr_extsb.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_extsb.s
rename to src/xenia/cpu/frontend/testing/instr_extsb.s
diff --git a/src/xenia/cpu/frontend/test/instr_extsh.s b/src/xenia/cpu/frontend/testing/instr_extsh.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_extsh.s
rename to src/xenia/cpu/frontend/testing/instr_extsh.s
diff --git a/src/xenia/cpu/frontend/test/instr_extsw.s b/src/xenia/cpu/frontend/testing/instr_extsw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_extsw.s
rename to src/xenia/cpu/frontend/testing/instr_extsw.s
diff --git a/src/xenia/cpu/frontend/test/instr_fabs.s b/src/xenia/cpu/frontend/testing/instr_fabs.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_fabs.s
rename to src/xenia/cpu/frontend/testing/instr_fabs.s
diff --git a/src/xenia/cpu/frontend/test/instr_fadd.s b/src/xenia/cpu/frontend/testing/instr_fadd.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_fadd.s
rename to src/xenia/cpu/frontend/testing/instr_fadd.s
diff --git a/src/xenia/cpu/frontend/test/instr_fmadd.s b/src/xenia/cpu/frontend/testing/instr_fmadd.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_fmadd.s
rename to src/xenia/cpu/frontend/testing/instr_fmadd.s
diff --git a/src/xenia/cpu/frontend/test/instr_fmadds.s b/src/xenia/cpu/frontend/testing/instr_fmadds.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_fmadds.s
rename to src/xenia/cpu/frontend/testing/instr_fmadds.s
diff --git a/src/xenia/cpu/frontend/test/instr_fmul.s b/src/xenia/cpu/frontend/testing/instr_fmul.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_fmul.s
rename to src/xenia/cpu/frontend/testing/instr_fmul.s
diff --git a/src/xenia/cpu/frontend/test/instr_fnabs.s b/src/xenia/cpu/frontend/testing/instr_fnabs.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_fnabs.s
rename to src/xenia/cpu/frontend/testing/instr_fnabs.s
diff --git a/src/xenia/cpu/frontend/test/instr_frsqrte.s b/src/xenia/cpu/frontend/testing/instr_frsqrte.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_frsqrte.s
rename to src/xenia/cpu/frontend/testing/instr_frsqrte.s
diff --git a/src/xenia/cpu/frontend/test/instr_fsel.s b/src/xenia/cpu/frontend/testing/instr_fsel.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_fsel.s
rename to src/xenia/cpu/frontend/testing/instr_fsel.s
diff --git a/src/xenia/cpu/frontend/test/instr_fsqrt.s b/src/xenia/cpu/frontend/testing/instr_fsqrt.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_fsqrt.s
rename to src/xenia/cpu/frontend/testing/instr_fsqrt.s
diff --git a/src/xenia/cpu/frontend/test/instr_lvexx.s b/src/xenia/cpu/frontend/testing/instr_lvexx.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_lvexx.s
rename to src/xenia/cpu/frontend/testing/instr_lvexx.s
diff --git a/src/xenia/cpu/frontend/test/instr_lvl.s b/src/xenia/cpu/frontend/testing/instr_lvl.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_lvl.s
rename to src/xenia/cpu/frontend/testing/instr_lvl.s
diff --git a/src/xenia/cpu/frontend/test/instr_lvr.s b/src/xenia/cpu/frontend/testing/instr_lvr.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_lvr.s
rename to src/xenia/cpu/frontend/testing/instr_lvr.s
diff --git a/src/xenia/cpu/frontend/test/instr_lvsl.s b/src/xenia/cpu/frontend/testing/instr_lvsl.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_lvsl.s
rename to src/xenia/cpu/frontend/testing/instr_lvsl.s
diff --git a/src/xenia/cpu/frontend/test/instr_lvsr.s b/src/xenia/cpu/frontend/testing/instr_lvsr.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_lvsr.s
rename to src/xenia/cpu/frontend/testing/instr_lvsr.s
diff --git a/src/xenia/cpu/frontend/test/instr_mulhd.s b/src/xenia/cpu/frontend/testing/instr_mulhd.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_mulhd.s
rename to src/xenia/cpu/frontend/testing/instr_mulhd.s
diff --git a/src/xenia/cpu/frontend/test/instr_mulhdu.s b/src/xenia/cpu/frontend/testing/instr_mulhdu.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_mulhdu.s
rename to src/xenia/cpu/frontend/testing/instr_mulhdu.s
diff --git a/src/xenia/cpu/frontend/test/instr_mulhw.s b/src/xenia/cpu/frontend/testing/instr_mulhw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_mulhw.s
rename to src/xenia/cpu/frontend/testing/instr_mulhw.s
diff --git a/src/xenia/cpu/frontend/test/instr_mulhwu.s b/src/xenia/cpu/frontend/testing/instr_mulhwu.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_mulhwu.s
rename to src/xenia/cpu/frontend/testing/instr_mulhwu.s
diff --git a/src/xenia/cpu/frontend/test/instr_mulld.s b/src/xenia/cpu/frontend/testing/instr_mulld.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_mulld.s
rename to src/xenia/cpu/frontend/testing/instr_mulld.s
diff --git a/src/xenia/cpu/frontend/test/instr_mulli.s b/src/xenia/cpu/frontend/testing/instr_mulli.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_mulli.s
rename to src/xenia/cpu/frontend/testing/instr_mulli.s
diff --git a/src/xenia/cpu/frontend/test/instr_mullw.s b/src/xenia/cpu/frontend/testing/instr_mullw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_mullw.s
rename to src/xenia/cpu/frontend/testing/instr_mullw.s
diff --git a/src/xenia/cpu/frontend/test/instr_neg.s b/src/xenia/cpu/frontend/testing/instr_neg.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_neg.s
rename to src/xenia/cpu/frontend/testing/instr_neg.s
diff --git a/src/xenia/cpu/frontend/test/instr_nor.s b/src/xenia/cpu/frontend/testing/instr_nor.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_nor.s
rename to src/xenia/cpu/frontend/testing/instr_nor.s
diff --git a/src/xenia/cpu/frontend/test/instr_ori.s b/src/xenia/cpu/frontend/testing/instr_ori.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_ori.s
rename to src/xenia/cpu/frontend/testing/instr_ori.s
diff --git a/src/xenia/cpu/frontend/test/instr_rldicl.s b/src/xenia/cpu/frontend/testing/instr_rldicl.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_rldicl.s
rename to src/xenia/cpu/frontend/testing/instr_rldicl.s
diff --git a/src/xenia/cpu/frontend/test/instr_rldicr.s b/src/xenia/cpu/frontend/testing/instr_rldicr.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_rldicr.s
rename to src/xenia/cpu/frontend/testing/instr_rldicr.s
diff --git a/src/xenia/cpu/frontend/test/instr_rlwimi.s b/src/xenia/cpu/frontend/testing/instr_rlwimi.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_rlwimi.s
rename to src/xenia/cpu/frontend/testing/instr_rlwimi.s
diff --git a/src/xenia/cpu/frontend/test/instr_rlwinm.s b/src/xenia/cpu/frontend/testing/instr_rlwinm.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_rlwinm.s
rename to src/xenia/cpu/frontend/testing/instr_rlwinm.s
diff --git a/src/xenia/cpu/frontend/test/instr_rlwnm.s b/src/xenia/cpu/frontend/testing/instr_rlwnm.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_rlwnm.s
rename to src/xenia/cpu/frontend/testing/instr_rlwnm.s
diff --git a/src/xenia/cpu/frontend/test/instr_sld.s b/src/xenia/cpu/frontend/testing/instr_sld.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_sld.s
rename to src/xenia/cpu/frontend/testing/instr_sld.s
diff --git a/src/xenia/cpu/frontend/test/instr_slw.s b/src/xenia/cpu/frontend/testing/instr_slw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_slw.s
rename to src/xenia/cpu/frontend/testing/instr_slw.s
diff --git a/src/xenia/cpu/frontend/test/instr_srad.s b/src/xenia/cpu/frontend/testing/instr_srad.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_srad.s
rename to src/xenia/cpu/frontend/testing/instr_srad.s
diff --git a/src/xenia/cpu/frontend/test/instr_sradi.s b/src/xenia/cpu/frontend/testing/instr_sradi.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_sradi.s
rename to src/xenia/cpu/frontend/testing/instr_sradi.s
diff --git a/src/xenia/cpu/frontend/test/instr_sraw.s b/src/xenia/cpu/frontend/testing/instr_sraw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_sraw.s
rename to src/xenia/cpu/frontend/testing/instr_sraw.s
diff --git a/src/xenia/cpu/frontend/test/instr_srawi.s b/src/xenia/cpu/frontend/testing/instr_srawi.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_srawi.s
rename to src/xenia/cpu/frontend/testing/instr_srawi.s
diff --git a/src/xenia/cpu/frontend/test/instr_srd.s b/src/xenia/cpu/frontend/testing/instr_srd.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_srd.s
rename to src/xenia/cpu/frontend/testing/instr_srd.s
diff --git a/src/xenia/cpu/frontend/test/instr_srw.s b/src/xenia/cpu/frontend/testing/instr_srw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_srw.s
rename to src/xenia/cpu/frontend/testing/instr_srw.s
diff --git a/src/xenia/cpu/frontend/test/instr_stvew.s b/src/xenia/cpu/frontend/testing/instr_stvew.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_stvew.s
rename to src/xenia/cpu/frontend/testing/instr_stvew.s
diff --git a/src/xenia/cpu/frontend/test/instr_stvl.s b/src/xenia/cpu/frontend/testing/instr_stvl.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_stvl.s
rename to src/xenia/cpu/frontend/testing/instr_stvl.s
diff --git a/src/xenia/cpu/frontend/test/instr_stvr.s b/src/xenia/cpu/frontend/testing/instr_stvr.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_stvr.s
rename to src/xenia/cpu/frontend/testing/instr_stvr.s
diff --git a/src/xenia/cpu/frontend/test/instr_subf.s b/src/xenia/cpu/frontend/testing/instr_subf.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_subf.s
rename to src/xenia/cpu/frontend/testing/instr_subf.s
diff --git a/src/xenia/cpu/frontend/test/instr_subfc.s b/src/xenia/cpu/frontend/testing/instr_subfc.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_subfc.s
rename to src/xenia/cpu/frontend/testing/instr_subfc.s
diff --git a/src/xenia/cpu/frontend/test/instr_subfe.s b/src/xenia/cpu/frontend/testing/instr_subfe.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_subfe.s
rename to src/xenia/cpu/frontend/testing/instr_subfe.s
diff --git a/src/xenia/cpu/frontend/test/instr_subfic.s b/src/xenia/cpu/frontend/testing/instr_subfic.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_subfic.s
rename to src/xenia/cpu/frontend/testing/instr_subfic.s
diff --git a/src/xenia/cpu/frontend/test/instr_subfme.s b/src/xenia/cpu/frontend/testing/instr_subfme.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_subfme.s
rename to src/xenia/cpu/frontend/testing/instr_subfme.s
diff --git a/src/xenia/cpu/frontend/test/instr_subfze.s b/src/xenia/cpu/frontend/testing/instr_subfze.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_subfze.s
rename to src/xenia/cpu/frontend/testing/instr_subfze.s
diff --git a/src/xenia/cpu/frontend/test/instr_td.s b/src/xenia/cpu/frontend/testing/instr_td.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_td.s
rename to src/xenia/cpu/frontend/testing/instr_td.s
diff --git a/src/xenia/cpu/frontend/test/instr_tdi.s b/src/xenia/cpu/frontend/testing/instr_tdi.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_tdi.s
rename to src/xenia/cpu/frontend/testing/instr_tdi.s
diff --git a/src/xenia/cpu/frontend/test/instr_tw.s b/src/xenia/cpu/frontend/testing/instr_tw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_tw.s
rename to src/xenia/cpu/frontend/testing/instr_tw.s
diff --git a/src/xenia/cpu/frontend/test/instr_twi.s b/src/xenia/cpu/frontend/testing/instr_twi.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_twi.s
rename to src/xenia/cpu/frontend/testing/instr_twi.s
diff --git a/src/xenia/cpu/frontend/test/instr_vaddshs.s b/src/xenia/cpu/frontend/testing/instr_vaddshs.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vaddshs.s
rename to src/xenia/cpu/frontend/testing/instr_vaddshs.s
diff --git a/src/xenia/cpu/frontend/test/instr_vadduhm.s b/src/xenia/cpu/frontend/testing/instr_vadduhm.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vadduhm.s
rename to src/xenia/cpu/frontend/testing/instr_vadduhm.s
diff --git a/src/xenia/cpu/frontend/test/instr_vcfsx.s b/src/xenia/cpu/frontend/testing/instr_vcfsx.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vcfsx.s
rename to src/xenia/cpu/frontend/testing/instr_vcfsx.s
diff --git a/src/xenia/cpu/frontend/test/instr_vcmpxxfp.s b/src/xenia/cpu/frontend/testing/instr_vcmpxxfp.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vcmpxxfp.s
rename to src/xenia/cpu/frontend/testing/instr_vcmpxxfp.s
diff --git a/src/xenia/cpu/frontend/test/instr_vctsxs.s b/src/xenia/cpu/frontend/testing/instr_vctsxs.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vctsxs.s
rename to src/xenia/cpu/frontend/testing/instr_vctsxs.s
diff --git a/src/xenia/cpu/frontend/test/instr_vmaddfp.s b/src/xenia/cpu/frontend/testing/instr_vmaddfp.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vmaddfp.s
rename to src/xenia/cpu/frontend/testing/instr_vmaddfp.s
diff --git a/src/xenia/cpu/frontend/test/instr_vmrghb.s b/src/xenia/cpu/frontend/testing/instr_vmrghb.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vmrghb.s
rename to src/xenia/cpu/frontend/testing/instr_vmrghb.s
diff --git a/src/xenia/cpu/frontend/test/instr_vmrghh.s b/src/xenia/cpu/frontend/testing/instr_vmrghh.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vmrghh.s
rename to src/xenia/cpu/frontend/testing/instr_vmrghh.s
diff --git a/src/xenia/cpu/frontend/test/instr_vmrghw.s b/src/xenia/cpu/frontend/testing/instr_vmrghw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vmrghw.s
rename to src/xenia/cpu/frontend/testing/instr_vmrghw.s
diff --git a/src/xenia/cpu/frontend/test/instr_vmrglb.s b/src/xenia/cpu/frontend/testing/instr_vmrglb.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vmrglb.s
rename to src/xenia/cpu/frontend/testing/instr_vmrglb.s
diff --git a/src/xenia/cpu/frontend/test/instr_vmrglh.s b/src/xenia/cpu/frontend/testing/instr_vmrglh.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vmrglh.s
rename to src/xenia/cpu/frontend/testing/instr_vmrglh.s
diff --git a/src/xenia/cpu/frontend/test/instr_vmrglw.s b/src/xenia/cpu/frontend/testing/instr_vmrglw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vmrglw.s
rename to src/xenia/cpu/frontend/testing/instr_vmrglw.s
diff --git a/src/xenia/cpu/frontend/test/instr_vmsum4fp128.s b/src/xenia/cpu/frontend/testing/instr_vmsum4fp128.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vmsum4fp128.s
rename to src/xenia/cpu/frontend/testing/instr_vmsum4fp128.s
diff --git a/src/xenia/cpu/frontend/test/instr_vperm.s b/src/xenia/cpu/frontend/testing/instr_vperm.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vperm.s
rename to src/xenia/cpu/frontend/testing/instr_vperm.s
diff --git a/src/xenia/cpu/frontend/test/instr_vpermwi128.s b/src/xenia/cpu/frontend/testing/instr_vpermwi128.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vpermwi128.s
rename to src/xenia/cpu/frontend/testing/instr_vpermwi128.s
diff --git a/src/xenia/cpu/frontend/test/instr_vpkd3d128.s b/src/xenia/cpu/frontend/testing/instr_vpkd3d128.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vpkd3d128.s
rename to src/xenia/cpu/frontend/testing/instr_vpkd3d128.s
diff --git a/src/xenia/cpu/frontend/test/instr_vpkshss.s b/src/xenia/cpu/frontend/testing/instr_vpkshss.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vpkshss.s
rename to src/xenia/cpu/frontend/testing/instr_vpkshss.s
diff --git a/src/xenia/cpu/frontend/test/instr_vpkswss.s b/src/xenia/cpu/frontend/testing/instr_vpkswss.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vpkswss.s
rename to src/xenia/cpu/frontend/testing/instr_vpkswss.s
diff --git a/src/xenia/cpu/frontend/test/instr_vrfin.s b/src/xenia/cpu/frontend/testing/instr_vrfin.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vrfin.s
rename to src/xenia/cpu/frontend/testing/instr_vrfin.s
diff --git a/src/xenia/cpu/frontend/test/instr_vrlimi128.s b/src/xenia/cpu/frontend/testing/instr_vrlimi128.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vrlimi128.s
rename to src/xenia/cpu/frontend/testing/instr_vrlimi128.s
diff --git a/src/xenia/cpu/frontend/test/instr_vsel.s b/src/xenia/cpu/frontend/testing/instr_vsel.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vsel.s
rename to src/xenia/cpu/frontend/testing/instr_vsel.s
diff --git a/src/xenia/cpu/frontend/test/instr_vsl.s b/src/xenia/cpu/frontend/testing/instr_vsl.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vsl.s
rename to src/xenia/cpu/frontend/testing/instr_vsl.s
diff --git a/src/xenia/cpu/frontend/test/instr_vslb.s b/src/xenia/cpu/frontend/testing/instr_vslb.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vslb.s
rename to src/xenia/cpu/frontend/testing/instr_vslb.s
diff --git a/src/xenia/cpu/frontend/test/instr_vsldoi.s b/src/xenia/cpu/frontend/testing/instr_vsldoi.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vsldoi.s
rename to src/xenia/cpu/frontend/testing/instr_vsldoi.s
diff --git a/src/xenia/cpu/frontend/test/instr_vslh.s b/src/xenia/cpu/frontend/testing/instr_vslh.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vslh.s
rename to src/xenia/cpu/frontend/testing/instr_vslh.s
diff --git a/src/xenia/cpu/frontend/test/instr_vslw.s b/src/xenia/cpu/frontend/testing/instr_vslw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vslw.s
rename to src/xenia/cpu/frontend/testing/instr_vslw.s
diff --git a/src/xenia/cpu/frontend/test/instr_vspltb.s b/src/xenia/cpu/frontend/testing/instr_vspltb.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vspltb.s
rename to src/xenia/cpu/frontend/testing/instr_vspltb.s
diff --git a/src/xenia/cpu/frontend/test/instr_vsplth.s b/src/xenia/cpu/frontend/testing/instr_vsplth.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vsplth.s
rename to src/xenia/cpu/frontend/testing/instr_vsplth.s
diff --git a/src/xenia/cpu/frontend/test/instr_vspltisb.s b/src/xenia/cpu/frontend/testing/instr_vspltisb.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vspltisb.s
rename to src/xenia/cpu/frontend/testing/instr_vspltisb.s
diff --git a/src/xenia/cpu/frontend/test/instr_vspltish.s b/src/xenia/cpu/frontend/testing/instr_vspltish.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vspltish.s
rename to src/xenia/cpu/frontend/testing/instr_vspltish.s
diff --git a/src/xenia/cpu/frontend/test/instr_vspltisw.s b/src/xenia/cpu/frontend/testing/instr_vspltisw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vspltisw.s
rename to src/xenia/cpu/frontend/testing/instr_vspltisw.s
diff --git a/src/xenia/cpu/frontend/test/instr_vspltw.s b/src/xenia/cpu/frontend/testing/instr_vspltw.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vspltw.s
rename to src/xenia/cpu/frontend/testing/instr_vspltw.s
diff --git a/src/xenia/cpu/frontend/test/instr_vsr.s b/src/xenia/cpu/frontend/testing/instr_vsr.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vsr.s
rename to src/xenia/cpu/frontend/testing/instr_vsr.s
diff --git a/src/xenia/cpu/frontend/test/instr_vsubshs.s b/src/xenia/cpu/frontend/testing/instr_vsubshs.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vsubshs.s
rename to src/xenia/cpu/frontend/testing/instr_vsubshs.s
diff --git a/src/xenia/cpu/frontend/test/instr_vsubuhm.s b/src/xenia/cpu/frontend/testing/instr_vsubuhm.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vsubuhm.s
rename to src/xenia/cpu/frontend/testing/instr_vsubuhm.s
diff --git a/src/xenia/cpu/frontend/test/instr_vupkd3d128.s b/src/xenia/cpu/frontend/testing/instr_vupkd3d128.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vupkd3d128.s
rename to src/xenia/cpu/frontend/testing/instr_vupkd3d128.s
diff --git a/src/xenia/cpu/frontend/test/instr_vupkhsh.s b/src/xenia/cpu/frontend/testing/instr_vupkhsh.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vupkhsh.s
rename to src/xenia/cpu/frontend/testing/instr_vupkhsh.s
diff --git a/src/xenia/cpu/frontend/test/instr_vupklsh.s b/src/xenia/cpu/frontend/testing/instr_vupklsh.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/instr_vupklsh.s
rename to src/xenia/cpu/frontend/testing/instr_vupklsh.s
diff --git a/src/xenia/cpu/frontend/test/jumptable_constants.s b/src/xenia/cpu/frontend/testing/jumptable_constants.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/jumptable_constants.s
rename to src/xenia/cpu/frontend/testing/jumptable_constants.s
diff --git a/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.cc b/src/xenia/cpu/frontend/testing/ppc_testing_main.cc
similarity index 98%
rename from src/xenia/cpu/frontend/test/xe-cpu-ppc-test.cc
rename to src/xenia/cpu/frontend/testing/ppc_testing_main.cc
index 3f11e3a28..abcfbe1f2 100644
--- a/src/xenia/cpu/frontend/test/xe-cpu-ppc-test.cc
+++ b/src/xenia/cpu/frontend/testing/ppc_testing_main.cc
@@ -24,9 +24,9 @@
#include "xenia/base/platform_win.h"
#endif // XE_COMPILER_MSVC
-DEFINE_string(test_path, "src/xenia/cpu/frontend/test/",
+DEFINE_string(test_path, "src/xenia/cpu/frontend/testing/",
"Directory scanned for test files.");
-DEFINE_string(test_bin_path, "src/xenia/cpu/frontend/test/bin/",
+DEFINE_string(test_bin_path, "src/xenia/cpu/frontend/testing/bin/",
"Directory with binary outputs of the test files.");
namespace xe {
@@ -449,5 +449,5 @@ int main(std::vector& args) {
} // namespace cpu
} // namespace xe
-DEFINE_ENTRY_POINT(L"xe-cpu-ppc-test", L"xe-cpu-ppc-test [test name]",
+DEFINE_ENTRY_POINT(L"xenia-cpu-ppc-test", L"xenia-cpu-ppc-test [test name]",
xe::cpu::test::main);
diff --git a/src/xenia/cpu/frontend/testing/premake5.lua b/src/xenia/cpu/frontend/testing/premake5.lua
new file mode 100644
index 000000000..fe20118c7
--- /dev/null
+++ b/src/xenia/cpu/frontend/testing/premake5.lua
@@ -0,0 +1,36 @@
+project_root = "../../../../.."
+include(project_root.."/build_tools")
+
+group("tests")
+project("xenia-cpu-frontend-tests")
+ uuid("2a57d5ac-4024-4c49-9cd3-aa3a603c2ef8")
+ kind("ConsoleApp")
+ language("C++")
+ links({
+ "beaengine",
+ "gflags",
+ "xenia-base",
+ "xenia-core",
+ "xenia-cpu",
+ "xenia-cpu-backend-x64",
+
+ -- TODO(benvanik): remove these dependencies.
+ "xenia-debug",
+ "xenia-kernel"
+ })
+ files({
+ "ppc_testing_main.cc",
+ "../../../base/main_"..platform_suffix..".cc",
+ })
+ files({
+ "*.s",
+ })
+ filter("files:*.s")
+ flags({"ExcludeFromBuild"})
+ filter("platforms:Windows")
+ debugdir(project_root)
+ debugargs({
+ "--flagfile=scratch/flags.txt",
+ "2>&1",
+ "1>scratch/stdout-testing.txt",
+ })
diff --git a/src/xenia/cpu/frontend/test/sequence_branch_carry.s b/src/xenia/cpu/frontend/testing/sequence_branch_carry.s
similarity index 100%
rename from src/xenia/cpu/frontend/test/sequence_branch_carry.s
rename to src/xenia/cpu/frontend/testing/sequence_branch_carry.s
diff --git a/src/xenia/cpu/premake5.lua b/src/xenia/cpu/premake5.lua
new file mode 100644
index 000000000..b33d4d68e
--- /dev/null
+++ b/src/xenia/cpu/premake5.lua
@@ -0,0 +1,28 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-cpu")
+ uuid("0109c91e-5a04-41ab-9168-0d5187d11298")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "beaengine",
+ "xenia-base",
+ })
+ defines({
+ "BEA_ENGINE_STATIC=1",
+ })
+ includedirs({
+ project_root.."/third_party/beaengine/include",
+ project_root.."/third_party/llvm/include",
+ })
+ local_platform_files()
+ local_platform_files("backend")
+ local_platform_files("compiler")
+ local_platform_files("compiler/passes")
+ local_platform_files("frontend")
+ local_platform_files("hir")
+
+include("testing")
+include("frontend/testing")
diff --git a/src/xenia/cpu/test/xe-cpu-hir-test.cc b/src/xenia/cpu/test/xe-cpu-hir-test.cc
deleted file mode 100644
index 636405ad2..000000000
--- a/src/xenia/cpu/test/xe-cpu-hir-test.cc
+++ /dev/null
@@ -1,47 +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. *
- ******************************************************************************
- */
-
-#define CATCH_CONFIG_RUNNER
-#include "third_party/catch/single_include/catch.hpp"
-
-#include "xenia/base/debugging.h"
-#include "xenia/base/string.h"
-#include "xenia/cpu/test/util.h"
-
-namespace xe {
-namespace cpu {
-namespace test {
-
-using xe::cpu::frontend::PPCContext;
-
-int main(std::vector& args) {
- std::vector narrow_args;
- auto narrow_argv = new char*[args.size()];
- for (size_t i = 0; i < args.size(); ++i) {
- auto narrow_arg = xe::to_string(args[i]);
- narrow_argv[i] = const_cast(narrow_arg.data());
- narrow_args.push_back(std::move(narrow_arg));
- }
- int ret = Catch::Session().run(int(args.size()), narrow_argv);
- if (ret) {
-#if XE_PLATFORM_WIN32
- // Visual Studio kills the console on shutdown, so prevent that.
- if (xe::debugging::IsDebuggerAttached()) {
- xe::debugging::Break();
- }
-#endif // XE_PLATFORM_WIN32
- }
- return ret;
-}
-
-} // namespace test
-} // namespace cpu
-} // namespace xe
-
-DEFINE_ENTRY_POINT(L"xe-cpu-hir-test", L"?", xe::cpu::test::main);
diff --git a/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj b/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj
deleted file mode 100644
index 0c9dd0450..000000000
--- a/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
- 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
deleted file mode 100644
index 24280d22e..000000000
--- a/src/xenia/cpu/test/xe-cpu-hir-test.vcxproj.filters
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/cpu/test/test_add.cc b/src/xenia/cpu/testing/add_test.cc
similarity index 99%
rename from src/xenia/cpu/test/test_add.cc
rename to src/xenia/cpu/testing/add_test.cc
index fdf25adfd..f0a43d4bb 100644
--- a/src/xenia/cpu/test/test_add.cc
+++ b/src/xenia/cpu/testing/add_test.cc
@@ -7,13 +7,13 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
#include
using namespace xe::cpu::hir;
using namespace xe::cpu;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("ADD_I8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_byte_swap.cc b/src/xenia/cpu/testing/byte_swap_test.cc
similarity index 95%
rename from src/xenia/cpu/test/test_byte_swap.cc
rename to src/xenia/cpu/testing/byte_swap_test.cc
index d0cc4f18e..4a51961ea 100644
--- a/src/xenia/cpu/test/test_byte_swap.cc
+++ b/src/xenia/cpu/testing/byte_swap_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("BYTE_SWAP_V128", "[instr]") {
diff --git a/src/xenia/cpu/test/test_extract.cc b/src/xenia/cpu/testing/extract_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_extract.cc
rename to src/xenia/cpu/testing/extract_test.cc
index f90db2ace..94c1017a4 100644
--- a/src/xenia/cpu/test/test_extract.cc
+++ b/src/xenia/cpu/testing/extract_test.cc
@@ -7,14 +7,14 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
#include
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("EXTRACT_INT8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_insert.cc b/src/xenia/cpu/testing/insert_test.cc
similarity index 97%
rename from src/xenia/cpu/test/test_insert.cc
rename to src/xenia/cpu/testing/insert_test.cc
index 8ad5d6f81..8f0d7f904 100644
--- a/src/xenia/cpu/test/test_insert.cc
+++ b/src/xenia/cpu/testing/insert_test.cc
@@ -7,14 +7,14 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
#include
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("INSERT_INT8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_load_vector_shl_shr.cc b/src/xenia/cpu/testing/load_vector_shl_shr_test.cc
similarity index 97%
rename from src/xenia/cpu/test/test_load_vector_shl_shr.cc
rename to src/xenia/cpu/testing/load_vector_shl_shr_test.cc
index accc5d6d2..80dd08b75 100644
--- a/src/xenia/cpu/test/test_load_vector_shl_shr.cc
+++ b/src/xenia/cpu/testing/load_vector_shl_shr_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("LOAD_VECTOR_SHL", "[instr]") {
diff --git a/src/xenia/cpu/test/test_pack.cc b/src/xenia/cpu/testing/pack_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_pack.cc
rename to src/xenia/cpu/testing/pack_test.cc
index 5403a1917..f7f3bfd4a 100644
--- a/src/xenia/cpu/test/test_pack.cc
+++ b/src/xenia/cpu/testing/pack_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("PACK_D3DCOLOR", "[instr]") {
diff --git a/src/xenia/cpu/test/test_permute.cc b/src/xenia/cpu/testing/permute_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_permute.cc
rename to src/xenia/cpu/testing/permute_test.cc
index 0ca7262be..88fd848ab 100644
--- a/src/xenia/cpu/test/test_permute.cc
+++ b/src/xenia/cpu/testing/permute_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("PERMUTE_V128_BY_INT32_CONSTANT", "[instr]") {
diff --git a/src/xenia/cpu/testing/premake5.lua b/src/xenia/cpu/testing/premake5.lua
new file mode 100644
index 000000000..bbef37b84
--- /dev/null
+++ b/src/xenia/cpu/testing/premake5.lua
@@ -0,0 +1,17 @@
+project_root = "../../../.."
+include(project_root.."/build_tools")
+
+test_suite("xenia-cpu-tests", project_root, ".", {
+ includedirs = {
+ },
+ links = {
+ "xenia-base",
+ "xenia-core",
+ "xenia-cpu",
+ "xenia-cpu-backend-x64",
+
+ -- TODO(benvanik): cut these dependencies?
+ "xenia-debug",
+ "xenia-kernel",
+ },
+})
diff --git a/src/xenia/cpu/test/xe-cpu-sandbox.cc b/src/xenia/cpu/testing/sandbox_main.cc
similarity index 97%
rename from src/xenia/cpu/test/xe-cpu-sandbox.cc
rename to src/xenia/cpu/testing/sandbox_main.cc
index 5bd8f3375..f87f6833e 100644
--- a/src/xenia/cpu/test/xe-cpu-sandbox.cc
+++ b/src/xenia/cpu/testing/sandbox_main.cc
@@ -81,4 +81,4 @@ int main(std::vector& args) {
} // namespace cpu
} // namespace xe
-DEFINE_ENTRY_POINT(L"xe-cpu-sandbox", L"?", xe::cpu::sandbox::main);
+DEFINE_ENTRY_POINT(L"xenia-cpu-sandbox", L"?", xe::cpu::sandbox::main);
diff --git a/src/xenia/cpu/test/test_sha.cc b/src/xenia/cpu/testing/sha_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_sha.cc
rename to src/xenia/cpu/testing/sha_test.cc
index 1f0c74ba8..57aae27d4 100644
--- a/src/xenia/cpu/test/test_sha.cc
+++ b/src/xenia/cpu/testing/sha_test.cc
@@ -7,11 +7,11 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe::cpu::hir;
using namespace xe::cpu;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("SHA_I8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_shl.cc b/src/xenia/cpu/testing/shl_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_shl.cc
rename to src/xenia/cpu/testing/shl_test.cc
index 05551c1b8..7fc458b75 100644
--- a/src/xenia/cpu/test/test_shl.cc
+++ b/src/xenia/cpu/testing/shl_test.cc
@@ -7,11 +7,11 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe::cpu::hir;
using namespace xe::cpu;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("SHL_I8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_shr.cc b/src/xenia/cpu/testing/shr_test.cc
similarity index 99%
rename from src/xenia/cpu/test/test_shr.cc
rename to src/xenia/cpu/testing/shr_test.cc
index f40652b14..f02e8e6e0 100644
--- a/src/xenia/cpu/test/test_shr.cc
+++ b/src/xenia/cpu/testing/shr_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("SHR_I8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_swizzle.cc b/src/xenia/cpu/testing/swizzle_test.cc
similarity index 96%
rename from src/xenia/cpu/test/test_swizzle.cc
rename to src/xenia/cpu/testing/swizzle_test.cc
index 01941da1d..ae534939f 100644
--- a/src/xenia/cpu/test/test_swizzle.cc
+++ b/src/xenia/cpu/testing/swizzle_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("SWIZZLE_V128", "[instr]") {
diff --git a/src/xenia/cpu/test/test_unpack.cc b/src/xenia/cpu/testing/unpack_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_unpack.cc
rename to src/xenia/cpu/testing/unpack_test.cc
index 5507c5da9..2e1f04671 100644
--- a/src/xenia/cpu/test/test_unpack.cc
+++ b/src/xenia/cpu/testing/unpack_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("UNPACK_D3DCOLOR", "[instr]") {
diff --git a/src/xenia/cpu/test/util.h b/src/xenia/cpu/testing/util.h
similarity index 96%
rename from src/xenia/cpu/test/util.h
rename to src/xenia/cpu/testing/util.h
index beae944af..44b3eb11f 100644
--- a/src/xenia/cpu/test/util.h
+++ b/src/xenia/cpu/testing/util.h
@@ -7,8 +7,8 @@
******************************************************************************
*/
-#ifndef XENIA_TEST_UTIL_H_
-#define XENIA_TEST_UTIL_H_
+#ifndef XENIA_TESTING_UTIL_H_
+#define XENIA_TESTING_UTIL_H_
#include "xenia/base/main.h"
#include "xenia/cpu/backend/x64/x64_backend.h"
@@ -24,7 +24,7 @@
namespace xe {
namespace cpu {
-namespace test {
+namespace testing {
using xe::cpu::frontend::PPCContext;
@@ -111,8 +111,8 @@ inline void StoreVR(hir::HIRBuilder& b, int reg, hir::Value* value) {
b.StoreContext(offsetof(PPCContext, v) + reg * 16, value);
}
-} // namespace test
+} // namespace testing
} // namespace cpu
} // namespace xe
-#endif // XENIA_TEST_UTIL_H_
+#endif // XENIA_TESTING_UTIL_H_
diff --git a/src/xenia/cpu/test/test_vector_add.cc b/src/xenia/cpu/testing/vector_add_test.cc
similarity index 99%
rename from src/xenia/cpu/test/test_vector_add.cc
rename to src/xenia/cpu/testing/vector_add_test.cc
index 77d6791ad..6e0cc50e2 100644
--- a/src/xenia/cpu/test/test_vector_add.cc
+++ b/src/xenia/cpu/testing/vector_add_test.cc
@@ -7,14 +7,14 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
#include
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("VECTOR_ADD_I8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_vector_max.cc b/src/xenia/cpu/testing/vector_max_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_vector_max.cc
rename to src/xenia/cpu/testing/vector_max_test.cc
index 750036dbe..13c44d894 100644
--- a/src/xenia/cpu/test/test_vector_max.cc
+++ b/src/xenia/cpu/testing/vector_max_test.cc
@@ -7,14 +7,14 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
#include
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("VECTOR_MAX_I8_SIGNED", "[instr]") {
diff --git a/src/xenia/cpu/test/test_vector_min.cc b/src/xenia/cpu/testing/vector_min_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_vector_min.cc
rename to src/xenia/cpu/testing/vector_min_test.cc
index 5297d98ea..36e3eef9c 100644
--- a/src/xenia/cpu/test/test_vector_min.cc
+++ b/src/xenia/cpu/testing/vector_min_test.cc
@@ -7,14 +7,14 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
#include
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("VECTOR_MIN_I8_SIGNED", "[instr]") {
diff --git a/src/xenia/cpu/test/test_vector_rotate_left.cc b/src/xenia/cpu/testing/vector_rotate_left_test.cc
similarity index 97%
rename from src/xenia/cpu/test/test_vector_rotate_left.cc
rename to src/xenia/cpu/testing/vector_rotate_left_test.cc
index 17e0221d7..9d011c8b1 100644
--- a/src/xenia/cpu/test/test_vector_rotate_left.cc
+++ b/src/xenia/cpu/testing/vector_rotate_left_test.cc
@@ -8,12 +8,12 @@
*/
#include "third_party/xbyak/xbyak/xbyak_bin2hex.h"
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("VECTOR_ROTATE_LEFT_I8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_vector_sha.cc b/src/xenia/cpu/testing/vector_sha_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_vector_sha.cc
rename to src/xenia/cpu/testing/vector_sha_test.cc
index 19f8dd66e..638ac3d6d 100644
--- a/src/xenia/cpu/test/test_vector_sha.cc
+++ b/src/xenia/cpu/testing/vector_sha_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("VECTOR_SHA_I8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_vector_shl.cc b/src/xenia/cpu/testing/vector_shl_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_vector_shl.cc
rename to src/xenia/cpu/testing/vector_shl_test.cc
index c14397b76..5861e8343 100644
--- a/src/xenia/cpu/test/test_vector_shl.cc
+++ b/src/xenia/cpu/testing/vector_shl_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("VECTOR_SHL_I8", "[instr]") {
diff --git a/src/xenia/cpu/test/test_vector_shr.cc b/src/xenia/cpu/testing/vector_shr_test.cc
similarity index 98%
rename from src/xenia/cpu/test/test_vector_shr.cc
rename to src/xenia/cpu/testing/vector_shr_test.cc
index c2b8bdbc5..a513eb74f 100644
--- a/src/xenia/cpu/test/test_vector_shr.cc
+++ b/src/xenia/cpu/testing/vector_shr_test.cc
@@ -7,12 +7,12 @@
******************************************************************************
*/
-#include "xenia/cpu/test/util.h"
+#include "xenia/cpu/testing/util.h"
using namespace xe;
using namespace xe::cpu;
using namespace xe::cpu::hir;
-using namespace xe::cpu::test;
+using namespace xe::cpu::testing;
using xe::cpu::frontend::PPCContext;
TEST_CASE("VECTOR_SHR_I8", "[instr]") {
diff --git a/src/xenia/debug/premake5.lua b/src/xenia/debug/premake5.lua
new file mode 100644
index 000000000..1fb0bd135
--- /dev/null
+++ b/src/xenia/debug/premake5.lua
@@ -0,0 +1,18 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-debug")
+ uuid("1c33f25a-4bc0-4959-8092-4223ce749d9b")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "xenia-base",
+ "xenia-cpu",
+ })
+ defines({
+ })
+ includedirs({
+ project_root.."/third_party/flatbuffers/include"
+ })
+ local_platform_files()
diff --git a/src/xenia/debug/ui/xe-debug-ui.cc b/src/xenia/debug/ui/debugger_main.cc
similarity index 89%
rename from src/xenia/debug/ui/xe-debug-ui.cc
rename to src/xenia/debug/ui/debugger_main.cc
index de4e24266..8a657d1b7 100644
--- a/src/xenia/debug/ui/xe-debug-ui.cc
+++ b/src/xenia/debug/ui/debugger_main.cc
@@ -28,4 +28,5 @@ int main(std::vector& args) {
} // namespace debug
} // namespace xe
-DEFINE_ENTRY_POINT(L"xe-debug-ui", L"xe-debug-ui ??", xe::debug::ui::main);
+DEFINE_ENTRY_POINT(L"xenia-debug-ui", L"xenia-debug-ui ??",
+ xe::debug::ui::main);
diff --git a/src/xenia/debug/ui/resources.rc b/src/xenia/debug/ui/debugger_resources.rc
similarity index 100%
rename from src/xenia/debug/ui/resources.rc
rename to src/xenia/debug/ui/debugger_resources.rc
diff --git a/src/xenia/debug/ui/main_window.cc b/src/xenia/debug/ui/main_window.cc
index 3177f9f94..b4aa45ab9 100644
--- a/src/xenia/debug/ui/main_window.cc
+++ b/src/xenia/debug/ui/main_window.cc
@@ -26,7 +26,6 @@ using xe::ui::MenuItem;
const std::wstring kBaseTitle = L"xenia debugger";
MainWindow::MainWindow(Application* app) : app_(app) {}
-// main_menu_(MenuItem::Type::kNormal) {}
MainWindow::~MainWindow() = default;
diff --git a/src/xenia/debug/ui/premake5.lua b/src/xenia/debug/ui/premake5.lua
new file mode 100644
index 000000000..0a76d9bc5
--- /dev/null
+++ b/src/xenia/debug/ui/premake5.lua
@@ -0,0 +1,71 @@
+project_root = "../../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-debug-ui")
+ uuid("ed128630-8b4e-4dd7-afc9-ef00052fe3a7")
+ kind("WindowedApp")
+ language("C++")
+ links({
+ "beaengine",
+ "elemental-forms",
+ "gflags",
+ "xenia-apu",
+ "xenia-apu-nop",
+ "xenia-apu-xaudio2",
+ "xenia-base",
+ "xenia-core",
+ "xenia-cpu",
+ "xenia-cpu-backend-x64",
+ "xenia-debug",
+ "xenia-gpu",
+ "xenia-gpu-gl4",
+ "xenia-hid-nop",
+ "xenia-hid-winkey",
+ "xenia-hid-xinput",
+ "xenia-kernel",
+ "xenia-ui",
+ "xenia-ui-gl",
+ "xenia-vfs",
+ })
+ flags({
+ "WinMain", -- Use WinMain instead of main.
+ })
+ defines({
+ })
+ includedirs({
+ project_root.."/third_party/elemental-forms/src",
+ })
+ recursive_platform_files()
+ files({
+ "debugger_main.cc",
+ "../../base/main_"..platform_suffix..".cc",
+ })
+ files({
+ "debugger_resources.rc",
+ })
+ resincludedirs({
+ project_root,
+ project_root.."/third_party/elemental-forms",
+ })
+
+ filter("configurations:Checked")
+ local libav_root = "../third_party/libav-xma-bin/lib/Debug"
+ linkoptions({
+ libav_root.."/libavcodec.a",
+ libav_root.."/libavutil.a",
+ })
+ filter("configurations:Debug or Release")
+ local libav_root = "../third_party/libav-xma-bin/lib/Release"
+ linkoptions({
+ libav_root.."/libavcodec.a",
+ libav_root.."/libavutil.a",
+ })
+
+ filter("platforms:Windows")
+ debugdir(project_root)
+ debugargs({
+ "--flagfile=scratch/flags.txt",
+ "2>&1",
+ "1>scratch/stdout-debugger.txt",
+ })
diff --git a/src/xenia/gpu/gl4/premake5.lua b/src/xenia/gpu/gl4/premake5.lua
new file mode 100644
index 000000000..7f737c1dd
--- /dev/null
+++ b/src/xenia/gpu/gl4/premake5.lua
@@ -0,0 +1,91 @@
+project_root = "../../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-gpu-gl4")
+ uuid("da10149d-efb0-44aa-924c-a76a46e1f04d")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "elemental-forms",
+ "glew",
+ "xenia-base",
+ "xenia-gpu",
+ "xenia-ui",
+ "xenia-ui-gl",
+ "xxhash",
+ })
+ defines({
+ "GLEW_STATIC=1",
+ "GLEW_MX=1",
+ })
+ includedirs({
+ project_root.."/third_party/elemental-forms/src",
+ })
+ local_platform_files()
+
+-- TODO(benvanik): kill this and move to the debugger UI.
+group("src")
+project("xenia-gpu-gl4-trace-viewer")
+ uuid("450f965b-a019-4ba5-bc6f-99901e5a4c8d")
+ kind("WindowedApp")
+ language("C++")
+ links({
+ "beaengine",
+ "elemental-forms",
+ "gflags",
+ "glew",
+ "imgui",
+ "xenia-apu",
+ "xenia-apu-nop",
+ "xenia-apu-xaudio2",
+ "xenia-base",
+ "xenia-core",
+ "xenia-cpu",
+ "xenia-cpu-backend-x64",
+ "xenia-debug",
+ "xenia-gpu",
+ "xenia-gpu-gl4",
+ "xenia-hid-nop",
+ "xenia-hid-winkey",
+ "xenia-hid-xinput",
+ "xenia-kernel",
+ "xenia-ui",
+ "xenia-ui-gl",
+ "xenia-vfs",
+ })
+ flags({
+ "WinMain", -- Use WinMain instead of main.
+ })
+ defines({
+ "GLEW_STATIC=1",
+ "GLEW_MX=1",
+ })
+ includedirs({
+ project_root.."/third_party/elemental-forms/src",
+ })
+ files({
+ "trace_viewer_main.cc",
+ "../../base/main_"..platform_suffix..".cc",
+ })
+
+ filter("configurations:Checked")
+ local libav_root = "../third_party/libav-xma-bin/lib/Debug"
+ linkoptions({
+ libav_root.."/libavcodec.a",
+ libav_root.."/libavutil.a",
+ })
+ filter("configurations:Debug or Release")
+ local libav_root = "../third_party/libav-xma-bin/lib/Release"
+ linkoptions({
+ libav_root.."/libavcodec.a",
+ libav_root.."/libavutil.a",
+ })
+
+ filter("platforms:Windows")
+ debugdir(project_root)
+ debugargs({
+ "--flagfile=scratch/flags.txt",
+ "2>&1",
+ "1>scratch/stdout-trace-viewer.txt",
+ })
diff --git a/src/xenia/gpu/trace_viewer_main.cc b/src/xenia/gpu/gl4/trace_viewer_main.cc
similarity index 99%
rename from src/xenia/gpu/trace_viewer_main.cc
rename to src/xenia/gpu/gl4/trace_viewer_main.cc
index 271814c07..a889ef906 100644
--- a/src/xenia/gpu/trace_viewer_main.cc
+++ b/src/xenia/gpu/gl4/trace_viewer_main.cc
@@ -2193,7 +2193,7 @@ int trace_viewer_main(std::vector& args) {
// Main emulator display window.
auto loop = ui::Loop::Create();
- auto window = xe::ui::Window::Create(loop.get(), L"xe-gpu-trace-viewer");
+ auto window = xe::ui::Window::Create(loop.get(), L"xenia-gpu-trace-viewer");
loop->PostSynchronous([&window]() {
xe::threading::set_name("Win32 Loop");
if (!window->Initialize()) {
@@ -2593,5 +2593,6 @@ void ImImpl_RenderDrawLists(ImDrawList** const cmd_lists, int cmd_lists_count) {
} // namespace gpu
} // namespace xe
-DEFINE_ENTRY_POINT(L"xe-gpu-trace-viewer", L"xe-gpu-trace-viewer some.trace",
+DEFINE_ENTRY_POINT(L"xenia-gpu-gl4-trace-viewer",
+ L"xenia-gpu-gl4-trace-viewer some.trace",
xe::gpu::trace_viewer_main);
diff --git a/src/xenia/gpu/premake5.lua b/src/xenia/gpu/premake5.lua
new file mode 100644
index 000000000..66d919f30
--- /dev/null
+++ b/src/xenia/gpu/premake5.lua
@@ -0,0 +1,20 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-gpu")
+ uuid("0e8d3370-e4b1-4b05-a2e8-39ebbcdf9b17")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "elemental-forms",
+ "xenia-base",
+ "xenia-ui",
+ "xxhash",
+ })
+ defines({
+ })
+ includedirs({
+ project_root.."/third_party/elemental-forms/src",
+ })
+ local_platform_files()
diff --git a/src/xenia/hid/nop/premake5.lua b/src/xenia/hid/nop/premake5.lua
new file mode 100644
index 000000000..7fec94cc3
--- /dev/null
+++ b/src/xenia/hid/nop/premake5.lua
@@ -0,0 +1,17 @@
+project_root = "../../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-hid-nop")
+ uuid("887b6f26-b0c1-43c1-a013-a37e7b9634fd")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "xenia-base",
+ "xenia-hid",
+ })
+ defines({
+ })
+ includedirs({
+ })
+ local_platform_files()
diff --git a/src/xenia/hid/premake5.lua b/src/xenia/hid/premake5.lua
new file mode 100644
index 000000000..45f3f7bcd
--- /dev/null
+++ b/src/xenia/hid/premake5.lua
@@ -0,0 +1,16 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-hid")
+ uuid("88a4ef38-c550-430f-8c22-8ded4e4ef601")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "xenia-base",
+ })
+ defines({
+ })
+ includedirs({
+ })
+ local_platform_files()
diff --git a/src/xenia/hid/winkey/premake5.lua b/src/xenia/hid/winkey/premake5.lua
new file mode 100644
index 000000000..4097192a0
--- /dev/null
+++ b/src/xenia/hid/winkey/premake5.lua
@@ -0,0 +1,17 @@
+project_root = "../../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-hid-winkey")
+ uuid("fd16e19a-6219-4ab7-b95a-7c78523c50c3")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "xenia-base",
+ "xenia-hid",
+ })
+ defines({
+ })
+ includedirs({
+ })
+ local_platform_files()
diff --git a/src/xenia/hid/xinput/premake5.lua b/src/xenia/hid/xinput/premake5.lua
new file mode 100644
index 000000000..adb3f758c
--- /dev/null
+++ b/src/xenia/hid/xinput/premake5.lua
@@ -0,0 +1,17 @@
+project_root = "../../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-hid-xinput")
+ uuid("3d49e251-07a7-40ae-9bc6-aae984c85568")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "xenia-base",
+ "xenia-hid",
+ })
+ defines({
+ })
+ includedirs({
+ })
+ local_platform_files()
diff --git a/src/xenia/kernel/debug_visualizers.natvis b/src/xenia/kernel/debug_visualizers.natvis
new file mode 100644
index 000000000..a828f4e58
--- /dev/null
+++ b/src/xenia/kernel/debug_visualizers.natvis
@@ -0,0 +1,12 @@
+
+
+
+
+
+ {host_ptr_}
+
+ host_ptr_
+
+
+
+
diff --git a/src/xenia/kernel/premake5.lua b/src/xenia/kernel/premake5.lua
new file mode 100644
index 000000000..509d39a72
--- /dev/null
+++ b/src/xenia/kernel/premake5.lua
@@ -0,0 +1,27 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-kernel")
+ uuid("ae185c4a-1c4f-4503-9892-328e549e871a")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "elemental-forms",
+ "xenia-apu",
+ "xenia-base",
+ "xenia-cpu",
+ "xenia-gpu",
+ "xenia-hid",
+ "xenia-ui",
+ "xenia-vfs",
+ })
+ defines({
+ })
+ includedirs({
+ project_root.."/third_party/elemental-forms/src",
+ })
+ recursive_platform_files()
+ files({
+ "debug_visualizers.natvis",
+ })
diff --git a/src/xenia/premake5.lua b/src/xenia/premake5.lua
new file mode 100644
index 000000000..9fc178e71
--- /dev/null
+++ b/src/xenia/premake5.lua
@@ -0,0 +1,18 @@
+project_root = "../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-core")
+ uuid("970f7892-f19a-4bf5-8795-478c51757bec")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "elemental-forms",
+ "xenia-base",
+ })
+ defines({
+ })
+ includedirs({
+ project_root.."/third_party/elemental-forms/src",
+ })
+ files({"*.h", "*.cc"})
diff --git a/src/xenia/ui/gl/gl.h b/src/xenia/ui/gl/gl.h
index 549582153..0c60790e1 100644
--- a/src/xenia/ui/gl/gl.h
+++ b/src/xenia/ui/gl/gl.h
@@ -14,6 +14,7 @@
#include "third_party/GL/glew.h"
+typedef struct GLEWContextStruct GLEWContext;
extern "C" GLEWContext* glewGetContext();
#if XE_PLATFORM_WIN32
diff --git a/src/xenia/ui/gl/premake5.lua b/src/xenia/ui/gl/premake5.lua
new file mode 100644
index 000000000..4d773ce9a
--- /dev/null
+++ b/src/xenia/ui/gl/premake5.lua
@@ -0,0 +1,22 @@
+project_root = "../../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-ui-gl")
+ uuid("623300e3-0085-4ccc-af46-d60e88cb43aa")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "elemental-forms",
+ "glew",
+ "xenia-base",
+ "xenia-ui",
+ })
+ defines({
+ "GLEW_STATIC=1",
+ "GLEW_MX=1",
+ })
+ includedirs({
+ project_root.."/third_party/elemental-forms/src",
+ })
+ local_platform_files()
diff --git a/src/xenia/ui/premake5.lua b/src/xenia/ui/premake5.lua
new file mode 100644
index 000000000..9e4fed1ae
--- /dev/null
+++ b/src/xenia/ui/premake5.lua
@@ -0,0 +1,18 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-ui")
+ uuid("d0407c25-b0ea-40dc-846c-82c46fbd9fa2")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "elemental-forms",
+ "xenia-base",
+ })
+ defines({
+ })
+ includedirs({
+ project_root.."/third_party/elemental-forms/src",
+ })
+ local_platform_files()
diff --git a/src/xenia/vfs/premake5.lua b/src/xenia/vfs/premake5.lua
new file mode 100644
index 000000000..b5659dcf8
--- /dev/null
+++ b/src/xenia/vfs/premake5.lua
@@ -0,0 +1,16 @@
+project_root = "../../.."
+include(project_root.."/build_tools")
+
+group("src")
+project("xenia-vfs")
+ uuid("395c8abd-4dc9-46ed-af7a-c2b9b68a3a98")
+ kind("StaticLib")
+ language("C++")
+ links({
+ "xenia-base",
+ })
+ defines({
+ })
+ includedirs({
+ })
+ recursive_platform_files()
diff --git a/third_party/beaengine.lua b/third_party/beaengine.lua
new file mode 100644
index 000000000..ef5b6be32
--- /dev/null
+++ b/third_party/beaengine.lua
@@ -0,0 +1,20 @@
+group("third_party")
+project("beaengine")
+ uuid("56e7d457-9955-4217-aadf-52e5ab45afab")
+ kind("StaticLib")
+ language("C++")
+ links({
+ })
+ defines({
+ "BEA_ENGINE_STATIC=1",
+ "_LIB",
+ })
+ includedirs({
+ "beaengine/include",
+ "beaengine/beaengineSources",
+ })
+ files({
+ "beaengine/beaengineSources/*.h",
+ "beaengine/beaengineSources/*.c",
+ "beaengine/include/beaengine/**.h",
+ })
diff --git a/third_party/capstone.lua b/third_party/capstone.lua
new file mode 100644
index 000000000..f18d2fba9
--- /dev/null
+++ b/third_party/capstone.lua
@@ -0,0 +1,43 @@
+group("third_party")
+project("capstone")
+ uuid("b3a89f7e-bb02-4945-ae75-219caed6afa2")
+ kind("StaticLib")
+ language("C++")
+ links({
+ })
+ defines({
+ "CAPSTONE_X86_ATT_DISABLE",
+ "CAPSTONE_DIET_NO",
+ "CAPSTONE_X86_REDUCE_NO",
+ "CAPSTONE_HAS_X86",
+ "CAPSTONE_USE_SYS_DYN_MEM",
+ "_LIB",
+ })
+ includedirs({
+ "capstone",
+ "capstone/include",
+ })
+ files({
+ "capstone/cs.c",
+ "capstone/cs_priv.h",
+ "capstone/LEB128.h",
+ "capstone/MathExtras.h",
+ "capstone/MCDisassembler.h",
+ "capstone/MCFixedLenDisassembler.h",
+ "capstone/MCInst.c",
+ "capstone/MCInst.h",
+ "capstone/MCInstrDesc.c",
+ "capstone/MCInstrDesc.h",
+ "capstone/MCRegisterInfo.c",
+ "capstone/MCRegisterInfo.h",
+ "capstone/myinttypes.h",
+ "capstone/SStream.c",
+ "capstone/SStream.h",
+ "capstone/utils.c",
+ "capstone/utils.h",
+
+ "capstone/arch/X86/*.c",
+ "capstone/arch/X86/*.h",
+ "capstone/arch/X86/*.inc",
+ })
+ force_compile_as_cc({"capstone/**.c"})
diff --git a/third_party/catch b/third_party/catch
deleted file mode 160000
index 85d33e2cb..000000000
--- a/third_party/catch
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 85d33e2cbd5354c36000424f823fc87707a24c3c
diff --git a/third_party/elemental-forms b/third_party/elemental-forms
index 275ad4155..1f7de4d3c 160000
--- a/third_party/elemental-forms
+++ b/third_party/elemental-forms
@@ -1 +1 @@
-Subproject commit 275ad4155a436883964f16b64c6b32b11fbb027a
+Subproject commit 1f7de4d3c4cbbae1d8cff5a713b4f75dd3088ec4
diff --git a/third_party/flatc.vcxproj b/third_party/flatc.vcxproj
deleted file mode 100644
index 5f928342a..000000000
--- a/third_party/flatc.vcxproj
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
- 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\gflags\src;%(AdditionalIncludeDirectories)
-
-
- Console
- true
-
-
-
-
-
-
- Level3
- Disabled
- _CONSOLE;%(PreprocessorDefinitions)
- $(SolutionDir)third_party\gflags\src;%(AdditionalIncludeDirectories)
-
-
- Console
- true
-
-
-
-
- Level3
-
-
- MaxSpeed
- true
- true
- _CONSOLE;%(PreprocessorDefinitions)
- $(SolutionDir)third_party\gflags\src;%(AdditionalIncludeDirectories)
-
-
- Console
- true
- true
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/third_party/flatc.vcxproj.filters b/third_party/flatc.vcxproj.filters
deleted file mode 100644
index db06403aa..000000000
--- a/third_party/flatc.vcxproj.filters
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/third_party/gflags b/third_party/gflags
deleted file mode 160000
index 78b15171a..000000000
--- a/third_party/gflags
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 78b15171a7fce5815df58a919ab593ce80222028
diff --git a/third_party/glew.lua b/third_party/glew.lua
new file mode 100644
index 000000000..960efcf6b
--- /dev/null
+++ b/third_party/glew.lua
@@ -0,0 +1,31 @@
+group("third_party")
+project("glew")
+ uuid("ca31d35a-6cf4-4c86-b97f-60b5244b80cb")
+ kind("StaticLib")
+ language("C++")
+ links({
+ })
+ defines({
+ "GLEW_STATIC=1",
+ "GLEW_MX=1",
+ "_LIB",
+ })
+ includedirs({
+ "GL",
+ })
+ files({
+ "GL/glcorearb.h",
+ "GL/glew.c",
+ "GL/glew.h",
+ "GL/glext.h",
+ })
+ filter("platforms:Linux")
+ files({
+ "GL/glxew.h",
+ "GL/glxext.h",
+ })
+ filter("platforms:Windows")
+ files({
+ "GL/wglew.h",
+ "GL/wglext.h",
+ })
diff --git a/third_party/imgui.lua b/third_party/imgui.lua
new file mode 100644
index 000000000..2026b6fd1
--- /dev/null
+++ b/third_party/imgui.lua
@@ -0,0 +1,21 @@
+group("third_party")
+project("imgui")
+ uuid("ed9271c4-b0a1-42ef-8403-067b11bf49d0")
+ kind("StaticLib")
+ language("C++")
+ links({
+ })
+ defines({
+ "_LIB",
+ })
+ includedirs({
+ "imgui",
+ })
+ files({
+ "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
deleted file mode 100644
index d54c38960..000000000
--- a/third_party/libgflags.vcxproj
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-
- 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
-
-
- 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
deleted file mode 100644
index d4268afc1..000000000
--- a/third_party/libgflags.vcxproj.filters
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/third_party/libglew.vcxproj b/third_party/libglew.vcxproj
deleted file mode 100644
index 2970f2725..000000000
--- a/third_party/libglew.vcxproj
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
-
- 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
deleted file mode 100644
index 72d16732c..000000000
--- a/third_party/libglew.vcxproj.filters
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/third_party/libimgui.vcxproj b/third_party/libimgui.vcxproj
deleted file mode 100644
index bc454b5eb..000000000
--- a/third_party/libimgui.vcxproj
+++ /dev/null
@@ -1,121 +0,0 @@
-
-
-
-
- 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
deleted file mode 100644
index 7a8251173..000000000
--- a/third_party/libimgui.vcxproj.filters
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/third_party/xxhash.lua b/third_party/xxhash.lua
new file mode 100644
index 000000000..edd207d85
--- /dev/null
+++ b/third_party/xxhash.lua
@@ -0,0 +1,17 @@
+group("third_party")
+project("xxhash")
+ uuid("40d4ce21-5448-4399-9f98-589b7e1c23b1")
+ kind("StaticLib")
+ language("C++")
+ links({
+ })
+ defines({
+ "_LIB",
+ })
+ includedirs({
+ "xxhash",
+ })
+ files({
+ "xxhash/xxhash.c",
+ "xxhash/xxhash.h",
+ })
diff --git a/xb.bat b/xb.bat
index 3be37f333..9907a3831 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=xenia.sln
+SET XENIA_SLN=build\xenia.sln
SET VS14_VCVARSALL="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
SET VS15_VCVARSALL="C:\Program Files (x86)\Microsoft Visual Studio 15.0\VC\vcvarsall.bat"
@@ -97,6 +97,9 @@ ECHO.
ECHO xb pull [--rebase]
ECHO Fetches latest changes from github and rebuilds dependencies.
ECHO.
+ECHO xb premake
+ECHO Regenerates Visual Studio projects and makefiles.
+ECHO.
ECHO xb proto
ECHO Regenerates protocol files (*.fbs).
ECHO.
@@ -107,7 +110,7 @@ ECHO xb build [--checked OR --debug OR --release] [--force]
ECHO Initializes dependencies and prepares build environment.
ECHO.
ECHO xb gentests
-ECHO Generates test binaries (under src/xenia/cpu/frontend/test/bin/).
+ECHO Generates test binaries (under src/xenia/cpu/frontend/testing/bin/).
ECHO Run after modifying test .s files.
ECHO.
ECHO xb test [--checked OR --debug OR --release] [--continue]
@@ -146,6 +149,16 @@ IF %ERRORLEVEL% NEQ 0 (
GOTO :eof
)
+ECHO.
+ECHO ^> build_tools/premake ...
+CALL :run_premake
+IF %_RESULT% NEQ 0 (
+ ECHO.
+ ECHO ERROR: failed to run premake
+ ENDLOCAL & SET _RESULT=1
+ GOTO :eof
+)
+
ENDLOCAL & SET _RESULT=0
GOTO :eof
@@ -192,8 +205,8 @@ IF %ERRORLEVEL% NEQ 0 (
)
ECHO.
-ECHO ^> git submodule update
-git submodule update
+ECHO ^> git submodule update --recursive
+git submodule update --recursive
IF %ERRORLEVEL% NEQ 0 (
ECHO.
ECHO ERROR: failed to update git submodules
@@ -201,6 +214,37 @@ IF %ERRORLEVEL% NEQ 0 (
GOTO :eof
)
+ECHO.
+ECHO ^> build_tools/premake ...
+CALL :run_premake
+IF %_RESULT% NEQ 0 (
+ ECHO.
+ ECHO ERROR: failed to run premake
+ ENDLOCAL & SET _RESULT=1
+ GOTO :eof
+)
+
+ENDLOCAL & SET _RESULT=0
+GOTO :eof
+
+
+REM ============================================================================
+REM xb premake
+REM ============================================================================
+:perform_premake
+SETLOCAL EnableDelayedExpansion
+ECHO Generating project files...
+
+ECHO.
+ECHO ^> build_tools/premake ...
+CALL :run_premake
+IF %_RESULT% NEQ 0 (
+ ECHO.
+ ECHO ERROR: failed to run premake
+ ENDLOCAL & SET _RESULT=1
+ GOTO :eof
+)
+
ENDLOCAL & SET _RESULT=0
GOTO :eof
@@ -212,9 +256,9 @@ REM ============================================================================
SETLOCAL EnableDelayedExpansion
ECHO Generating proto files...
-SET FLATC=build\bin\Debug\flatc.exe
+SET FLATC=build\bin\Windows\Debug\flatc.exe
IF NOT EXIST %FLATC% (
- SET FLATC=build\bin\Release\flatc.exe
+ SET FLATC=build\bin\Windows\Release\flatc.exe
IF NOT EXIST %FLATC% (
ECHO.
ECHO ERROR: flatc not built - build before running this
@@ -233,11 +277,11 @@ FOR %%G in (*.fbs) DO (
ECHO ^> generating %%~nG...
POPD
SET SRC_FILE=%FBS_SRCS%\%%G
- CMD /c build\bin\Debug\flatc.exe -c -o %CC_OUT% !SRC_FILE! 2>&1
+ CMD /c build\bin\Windows\Debug\flatc.exe -c -o %CC_OUT% !SRC_FILE! 2>&1
IF !ERRORLEVEL! NEQ 0 (
SET ANY_ERRORS=1
)
- CMD /c build\bin\Debug\flatc.exe -n -o %CS_OUT% !SRC_FILE! 2>&1
+ CMD /c build\bin\Windows\Debug\flatc.exe -n -o %CS_OUT% !SRC_FILE! 2>&1
IF !ERRORLEVEL! NEQ 0 (
SET ANY_ERRORS=1
)
@@ -262,6 +306,16 @@ REM ============================================================================
SETLOCAL
ECHO Launching Visual Studio...
+ECHO.
+ECHO ^> build_tools/premake ...
+CALL :run_premake
+IF %_RESULT% NEQ 0 (
+ ECHO.
+ ECHO ERROR: failed to run premake
+ ENDLOCAL & SET _RESULT=1
+ GOTO :eof
+)
+
ECHO.
ECHO ^> devenv %XENIA_SLN%
START devenv %XENIA_SLN%
@@ -290,6 +344,16 @@ GOTO :perform_build_args
:perform_build_parsed
ECHO Building for config %CONFIG%...
+ECHO.
+ECHO ^> build_tools/premake ...
+CALL :run_premake
+IF %_RESULT% NEQ 0 (
+ ECHO.
+ ECHO ERROR: failed to run premake
+ ENDLOCAL & SET _RESULT=1
+ GOTO :eof
+)
+
IF %FORCE% EQU 1 (
SET DEVENV_COMMAND=/rebuild
) ELSE (
@@ -298,11 +362,9 @@ IF %FORCE% EQU 1 (
ECHO.
ECHO ^> devenv %XENIA_SLN% %DEVENV_COMMAND% %CONFIG%
-CALL %VS14_VCVARSALL% amd64
-
1>NUL 2>NUL CMD /c where devenv
IF %ERRORLEVEL% NEQ 0 (
- REM devenv not found
+ ECHO devenv not found
ENDLOCAL & SET _RESULT=1
GOTO :eof
)
@@ -333,8 +395,8 @@ SET PPC_LD=%BINUTILS%\powerpc-none-elf-ld.exe
SET PPC_OBJDUMP=%BINUTILS%\powerpc-none-elf-objdump.exe
SET PPC_NM=%BINUTILS%\powerpc-none-elf-nm.exe
-SET TEST_SRC=src/xenia/cpu/frontend/test
-SET TEST_SRC_WIN=src\xenia\cpu\frontend\test
+SET TEST_SRC=src/xenia/cpu/frontend/testing
+SET TEST_SRC_WIN=src\xenia\cpu\frontend\testing
SET TEST_BIN=%TEST_SRC%/bin
SET TEST_BIN_WIN=%TEST_SRC_WIN%\bin
IF NOT EXIST %TEST_BIN_WIN% (mkdir %TEST_BIN_WIN%)
@@ -404,9 +466,9 @@ GOTO :perform_test_args
:perform_test_parsed
ECHO Running automated testing for config %CONFIG%...
-SET TEST_NAMES=xe-cpu-ppc-test
+SET TEST_NAMES=xenia-cpu-frontend-tests
FOR %%G IN (%TEST_NAMES%) DO (
- IF NOT EXIST build\bin\%CONFIG%\%%G.exe (
+ IF NOT EXIST build\bin\Windows\%CONFIG%\%%G.exe (
ECHO.
ECHO ERROR: unable to find `%%G.exe` - ensure it is built.
ENDLOCAL & SET _RESULT=1
@@ -417,8 +479,8 @@ FOR %%G IN (%TEST_NAMES%) DO (
SET ANY_FAILED=0
FOR %%G IN (%TEST_NAMES%) DO (
ECHO.
- ECHO ^> build\bin\%CONFIG%\%%G.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
- build\bin\%CONFIG%\%%G.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
+ ECHO ^> build\bin\Windows\%CONFIG%\%%G.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
+ build\bin\Windows\%CONFIG%\%%G.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
IF !ERRORLEVEL! NEQ 0 (
SET ANY_FAILED=1
IF %CONTINUE% EQU 0 (
@@ -451,11 +513,9 @@ SETLOCAL
ECHO Cleaning normal build outputs...
ECHO (use nuke to kill all artifacts)
-CALL %VS14_VCVARSALL% amd64
-
1>NUL 2>NUL CMD /c where devenv
IF %ERRORLEVEL% NEQ 0 (
- REM devenv not found
+ ECHO devenv not found
ENDLOCAL & SET _RESULT=1
GOTO :eof
)
@@ -479,9 +539,13 @@ SETLOCAL
ECHO Nuking all local changes...
ECHO.
-REM rmdir build/
-REM git checkout --hard /etc
-ECHO TODO(benvanik): blast away build/ for now
+ECHO.
+ECHO ^> rmdir /s build
+rmdir /s build
+
+ECHO.
+ECHO ^> git checkout --hard master
+git checkout --hard master
ENDLOCAL & SET _RESULT=0
GOTO :eof
@@ -684,3 +748,15 @@ IF %HAVE_TOOLS% NEQ 1 (
)
ENDLOCAL & SET _RESULT=0
GOTO :eof
+
+:run_premake
+SETLOCAL EnableDelayedExpansion
+CALL build_tools\premake.bat --file=premake5.lua --os=windows --test-suite-mode=combined --verbose vs2015
+IF %ERRORLEVEL% NEQ 0 (
+ ECHO.
+ ECHO ERROR: failed to run premake
+ ENDLOCAL & SET _RESULT=1
+ GOTO :eof
+)
+ENDLOCAL & SET _RESULT=0
+GOTO :eof
diff --git a/xenia.sln b/xenia.sln
deleted file mode 100644
index 76b380207..000000000
--- a/xenia.sln
+++ /dev/null
@@ -1,198 +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("{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("{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}
- {93533067-6449-4691-88A8-026EBCFDCA97} = {93533067-6449-4691-88A8-026EBCFDCA97}
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD} = {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}
- {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}") = "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("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "debugging", "debugging", "{345BD157-B21D-4989-9CE4-FA3C90FFC095}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xe-gpu-trace-viewer", "src\xenia\gpu\xe-gpu-trace-viewer.vcxproj", "{21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC}"
- ProjectSection(ProjectDependencies) = postProject
- {AE4AF147-715A-4C24-8BFA-136332DED28F} = {AE4AF147-715A-4C24-8BFA-136332DED28F}
- {CE3A80D4-12DB-4164-A050-67E5796A019B} = {CE3A80D4-12DB-4164-A050-67E5796A019B}
- {0CE149F6-41C3-4224-9E57-C02E8C7CD312} = {0CE149F6-41C3-4224-9E57-C02E8C7CD312}
- {838020F9-94AA-4314-996D-69B923C45D39} = {838020F9-94AA-4314-996D-69B923C45D39}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xe-debug-ui", "src\xenia\debug\ui\xe-debug-ui.vcxproj", "{C5BA52F0-C86B-4817-921C-CCA257FC04BE}"
- ProjectSection(ProjectDependencies) = postProject
- {AE4AF147-715A-4C24-8BFA-136332DED28F} = {AE4AF147-715A-4C24-8BFA-136332DED28F}
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD} = {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}
- {0CE149F6-41C3-4224-9E57-C02E8C7CD312} = {0CE149F6-41C3-4224-9E57-C02E8C7CD312}
- {838020F9-94AA-4314-996D-69B923C45D39} = {838020F9-94AA-4314-996D-69B923C45D39}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxenia-base", "libxenia-base.vcxproj", "{93533067-6449-4691-88A8-026EBCFDCA97}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libelemental", "third_party\elemental-forms\libelemental.vcxproj", "{156102D7-F2DD-4618-B2EB-2DFE607EE6DD}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "elemental-forms-demo", "third_party\elemental-forms\testbed\elemental-testbed.vcxproj", "{C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Checked|x64 = Checked|x64
- Clang|x64 = Clang|x64
- Debug|x64 = Debug|x64
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {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}.Clang|x64.ActiveCfg = Debug|x64
- {88F908AF-79A3-4ED4-87C7-A76368205264}.Clang|x64.Build.0 = Debug|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
- {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}.Clang|x64.ActiveCfg = Clang|x64
- {0CE149F6-41C3-4224-9E57-C02E8C7CD312}.Clang|x64.Build.0 = Clang|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
- {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}.Clang|x64.ActiveCfg = Debug|x64
- {AE4AF147-715A-4C24-8BFA-136332DED28F}.Clang|x64.Build.0 = Debug|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}.Clang|x64.ActiveCfg = Debug|x64
- {838020F9-94AA-4314-996D-69B923C45D39}.Clang|x64.Build.0 = Debug|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}.Clang|x64.ActiveCfg = Debug|x64
- {CE3A80D4-12DB-4164-A050-67E5796A019B}.Clang|x64.Build.0 = Debug|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}.Clang|x64.ActiveCfg = Debug|x64
- {D3069A06-62FC-479F-9F5C-23B4377481B0}.Clang|x64.Build.0 = Debug|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}.Clang|x64.ActiveCfg = Debug|x64
- {6EC54AD0-4F5B-48D9-B820-43DF2F0DC83C}.Clang|x64.Build.0 = Debug|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}.Clang|x64.ActiveCfg = Debug|x64
- {9B8AC22F-9147-490F-BE03-3B8BA31990A8}.Clang|x64.Build.0 = Debug|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
- {21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC}.Checked|x64.ActiveCfg = Debug|x64
- {21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC}.Checked|x64.Build.0 = Debug|x64
- {21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC}.Clang|x64.ActiveCfg = Debug|x64
- {21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC}.Clang|x64.Build.0 = Debug|x64
- {21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC}.Debug|x64.ActiveCfg = Debug|x64
- {21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC}.Debug|x64.Build.0 = Debug|x64
- {21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC}.Release|x64.ActiveCfg = Release|x64
- {21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC}.Release|x64.Build.0 = Release|x64
- {C5BA52F0-C86B-4817-921C-CCA257FC04BE}.Checked|x64.ActiveCfg = Debug|x64
- {C5BA52F0-C86B-4817-921C-CCA257FC04BE}.Checked|x64.Build.0 = Debug|x64
- {C5BA52F0-C86B-4817-921C-CCA257FC04BE}.Clang|x64.ActiveCfg = Debug|x64
- {C5BA52F0-C86B-4817-921C-CCA257FC04BE}.Clang|x64.Build.0 = Debug|x64
- {C5BA52F0-C86B-4817-921C-CCA257FC04BE}.Debug|x64.ActiveCfg = Debug|x64
- {C5BA52F0-C86B-4817-921C-CCA257FC04BE}.Debug|x64.Build.0 = Debug|x64
- {C5BA52F0-C86B-4817-921C-CCA257FC04BE}.Release|x64.ActiveCfg = Release|x64
- {C5BA52F0-C86B-4817-921C-CCA257FC04BE}.Release|x64.Build.0 = Release|x64
- {93533067-6449-4691-88A8-026EBCFDCA97}.Checked|x64.ActiveCfg = Checked|x64
- {93533067-6449-4691-88A8-026EBCFDCA97}.Checked|x64.Build.0 = Checked|x64
- {93533067-6449-4691-88A8-026EBCFDCA97}.Clang|x64.ActiveCfg = Clang|x64
- {93533067-6449-4691-88A8-026EBCFDCA97}.Clang|x64.Build.0 = Clang|x64
- {93533067-6449-4691-88A8-026EBCFDCA97}.Debug|x64.ActiveCfg = Debug|x64
- {93533067-6449-4691-88A8-026EBCFDCA97}.Debug|x64.Build.0 = Debug|x64
- {93533067-6449-4691-88A8-026EBCFDCA97}.Release|x64.ActiveCfg = Release|x64
- {93533067-6449-4691-88A8-026EBCFDCA97}.Release|x64.Build.0 = Release|x64
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}.Checked|x64.ActiveCfg = Checked|x64
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}.Checked|x64.Build.0 = Checked|x64
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}.Clang|x64.ActiveCfg = Clang|x64
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}.Clang|x64.Build.0 = Clang|x64
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}.Debug|x64.ActiveCfg = Debug|x64
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}.Debug|x64.Build.0 = Debug|x64
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}.Release|x64.ActiveCfg = Release|x64
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD}.Release|x64.Build.0 = Release|x64
- {C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7}.Checked|x64.ActiveCfg = Checked|x64
- {C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7}.Checked|x64.Build.0 = Checked|x64
- {C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7}.Clang|x64.ActiveCfg = Clang|x64
- {C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7}.Clang|x64.Build.0 = Clang|x64
- {C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7}.Debug|x64.ActiveCfg = Debug|x64
- {C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7}.Debug|x64.Build.0 = Debug|x64
- {C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7}.Release|x64.ActiveCfg = Release|x64
- {C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7}.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}
- {21DDCB81-68A3-4AB2-8CB0-C2B051B9FDDC} = {345BD157-B21D-4989-9CE4-FA3C90FFC095}
- {C5BA52F0-C86B-4817-921C-CCA257FC04BE} = {345BD157-B21D-4989-9CE4-FA3C90FFC095}
- {156102D7-F2DD-4618-B2EB-2DFE607EE6DD} = {FCCBE57F-ECAE-420A-8A82-4B85F722C272}
- {C3FDE1FE-1FCB-4156-BB37-2E38F5C2DFE7} = {9C5BDD9E-831B-4AEE-957F-0E88ADED79C6}
- EndGlobalSection
-EndGlobal
diff --git a/xenia.vcxproj b/xenia.vcxproj
deleted file mode 100644
index bcf261624..000000000
--- a/xenia.vcxproj
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
- 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
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- _WINDOWS;%(PreprocessorDefinitions)
- Level3
-
-
- Windows
- libgflags.lib;libglew.lib;libxenia.lib;%(AdditionalDependencies)
-
-
-
-
-
-
- _WINDOWS;%(PreprocessorDefinitions)
- Level3
-
-
- Windows
- libgflags.lib;libglew.lib;libxenia.lib;%(AdditionalDependencies)
-
-
-
-
-
-
- true
- true
- _WINDOWS;%(PreprocessorDefinitions)
- Level3
-
-
- Windows
- true
- true
- libgflags.lib;libglew.lib;libxenia.lib;%(AdditionalDependencies)
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(SolutionDir)third_party/elemental-forms;$(SolutionDir);.
- $(SolutionDir)third_party/elemental-forms;$(SolutionDir);.
- $(SolutionDir)third_party/elemental-forms;$(SolutionDir);.
-
-
-
-
-
-
\ No newline at end of file
diff --git a/xenia.vcxproj.filters b/xenia.vcxproj.filters
deleted file mode 100644
index 695007fc2..000000000
--- a/xenia.vcxproj.filters
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
- {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}
-
-
- {2d31f471-6ba9-434c-88e6-5a4da1b4d67d}
-
-
-
-
- src\xenia\base
-
-
- src\xenia\app
-
-
- src\xenia\app
-
-
-
-
- src\xenia\base
-
-
- src\xenia\app
-
-
-
-
- src\xenia\app
-
-
-
\ No newline at end of file