Commit Graph

144 Commits

Author SHA1 Message Date
emoose 8517c4efdd
Merge 5917554324 into 55bbb28a80 2025-01-17 09:31:27 +00:00
Gliniak 09be7e874a [All] Fixed multiple issues during build on Linux
- Added some fixes introduced by RodoMa92 in PR198

- Lack of AVX2 extension (should be done differently in the future)
- Disable deprecated-volatile warning
- Added missing override in posix EventInfo, ImGui notification class and XContent class
- Removed not used XAudio2.h include in XMP
- Fixed missing switch-case in XObject
- Added fugly template in native_list.h
- Fixed multiple smaller issues
2025-01-10 21:41:45 +01:00
Margen67 6f1cb9e253 Fix clang not building with C++20 2025-01-07 23:02:48 -08:00
Gliniak c3586bc165 [C++] Uplift version to C++20 2024-12-26 23:42:31 +01:00
Margen67 d94940f850 Replace /GS- with NoBufferSecurityCheck
This is how it's supposed to be done.
Stops this from being spammed:
cl : command line  warning D9025: overriding '/GS' with '/GS-' [D:\a\xenia-canary\xenia-canary\build\glslang-spirv.vcxproj]
2024-12-13 13:01:07 -08:00
Margen67 0132cb9a14 Add /Ob3, remove /Oy
/Ob3 might improve performance;
https://learn.microsoft.com/en-us/cpp/build/reference/ob-inline-function-expansion?view=msvc-170
/Oy is implied by /O2;
https://learn.microsoft.com/en-us/cpp/build/reference/o1-o2-minimize-size-maximize-speed?view=msvc-170
2024-12-13 11:03:07 -08:00
emoose 733fe04426 [Debug] Add PoC GDBStub server, fix breakpoints
Fixed issue in processor.cc which prevented resuming from a breakpoint

BPs would set 2 bytes of the x64 JIT opcode to an invalid opcode & then catch
the exception from it - BP handler then restored the original opcode, but
then advanced RIP by 2 bytes into that opcode for some reason?

It would also suspend the thread just prior to this RIP change,
causing some strange effects... moving suspend after it (and removing the
offset) appears to work fine, though I didn't test the imgui debugger yet

To use GDBStub run xenia with "--debug --gdbport 12345" args

Tested with IDA 9 + idaxex loader, BPs can be set and resumed fine, suspend
& resume also works - memory/registers are viewable but can't be changed yet

The socket code here is very basic and only allows a single connection for
the session, if you disconnect you'll need to restart emulator
2024-10-24 00:00:33 +01:00
Gliniak 60b31af811 [3PP] Replaced cpptoml with tomlplusplus
Also adjusted code that used cpptoml to be used with toml++ and some more changes
2024-09-22 20:41:52 +02:00
Gliniak 86bd62125d [Kernel] Implemented Game Info Database
This aggregates XDBF and XLAST into one entity.

Replaced UserData::Key into more versatile AttributeKey for future usage in properties
2024-09-20 19:29:37 +02:00
Romain Tisserand 2cd2d1d620 [VFS] Add support for loading ZArchive files 2023-09-03 21:16:34 +02:00
chss95cs@gmail.com 7e58a3b320 Fix compiler errors i introduced under clang-cl
remove xe_kernel_export_shim_fn field of Export function_data, trampoline is now the only way exports get invoked
Remove kernelstate argument from string functions in order to conform to the trampoline signature (the argument was unused anyway)
Constant-evaluated initialization of ppc_opcode_disasm_table, removal of unused std::vector fields
Constant-evaluated initialization of export tables
name field on export is just a const char* now, only immutable static strings are ever passed to it
Remove unused callcount field of export.
PM4 compare op function extracted
Globally apply /Oy, /GS-, /Gw on msvc windows
Remove imgui testwindow code call, it took up like 300 kb
2022-09-29 07:04:17 -07:00
Gliniak 6e1e62378f Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-07-17 21:27:52 +02:00
Triang3l 037310f8dc [Android] Unified xenia-app with windowed apps and build prerequisites 2022-07-11 21:45:57 +03:00
Gliniak 6e753c6399 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-07-04 08:11:04 +02:00
Gliniak 5247220e73 Merge remote-tracking branch 'GliniakRepo/patchingSystem' into canary_pr 2022-05-19 10:01:33 +02:00
Triang3l b9256fcdbd Merge branch 'master' into vulkan 2022-05-10 15:57:50 +03:00
Triang3l 5875f6ab31 [UI] Windows: Disable rounded corners 2022-05-05 21:46:20 +03:00
Gliniak 31eb639ade Added Premake Files For PatchingSystem 2022-04-26 13:26:49 +02:00
Triang3l ce68a09b0c Merge branch 'master' into vulkan 2021-10-31 16:49:14 +03:00
Triang3l 7e6cf349e2 [Build] Use first-party premake-androidndk (#1878) 2021-10-30 00:01:27 +03:00
Conrad Kramer 2962a266b5 Fix xenia-core build on macOS 2021-10-25 00:48:53 +03:00
Triang3l ecccd02f8a Merge branch 'master' into vulkan 2021-09-12 14:10:36 +03:00
Triang3l 6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
Triang3l 692e329e9c [Vulkan] Load Vulkan manually for more lifetime and extension control 2021-07-11 22:56:01 +03:00
Triang3l 6cd9d42fd0 Merge branch 'master' into vulkan 2021-06-08 12:15:34 +03:00
Joel Linn 8f44a14131 [Linux] Helper methods for pkg-config
- Fixes linking on GCC by putting libs in link group
2021-06-02 22:28:43 -05:00
Joel Linn 5c97a0ad06 Don't treat warnings as errors for 3rd party projs 2021-05-03 22:50:44 -05:00
Joel Linn 47e36e6aee Exchange libav with ffmpeg submodule. 2021-05-01 12:41:02 -05:00
sephiroth99 e00824133c [Build] Linux: Remove linking to libc++
The stdlib is explictly set to stdlibc++, so linking also to libc++ is
useless except for adding unneeded dependencies.

Signed-off-by: sephiroth99 <sephiroth99@gmail.com>
2021-01-31 23:22:59 -06:00
emoose 2d9326e02d [Kernel] Implement XeCryptBnQwNeRsaPubCrypt via BCrypt (win32 only) 2021-01-03 14:38:01 -06:00
Triang3l a41898d533 Merge branch 'master' into vulkan 2020-11-22 16:37:56 +03:00
Triang3l 4042ea50e4 [Build] Android system shared libraries 2020-11-22 16:37:31 +03:00
Triang3l 90dcc28281 Merge branch 'master' into vulkan 2020-11-21 23:55:27 +03:00
Triang3l bcdca56e32 [Build] Mark RTTI as enabled for Android 2020-11-21 23:52:45 +03:00
Triang3l 03d0988ea4 Merge branch 'master' into vulkan 2020-11-21 23:41:02 +03:00
Triang3l 233daa018d [Build] Enable exceptions and Clang STL on Android 2020-11-21 23:40:34 +03:00
Triang3l cb702b4db2 Merge branch 'master' into vulkan 2020-11-21 17:17:14 +03:00
Triang3l 2f247e0f9e [Build] Make premake-androidmk generate something 2020-11-21 17:14:40 +03:00
Triang3l e99e8c7a7d Merge branch 'master' into vulkan 2020-11-19 21:31:44 +03:00
Triang3l 3ff5965133 [Build] Disable potentially dangerous floating point optimizations 2020-11-19 21:28:02 +03:00
Triang3l 8febf02a39 Merge branch 'master' into vulkan 2020-11-15 14:06:15 +03:00
Joel Linn 8b1ebe1130 Premake: Reorder links to speed up building.
- Re-enable LTO on clang.
- Set AR on travis so it builds with LTO.
2020-11-14 13:30:06 -06:00
Joel Linn 9dea6b3f62 Add premake cmake generator.
`./build/CMakeLists.txt` is generated by `./xb.bat premake --devenv=cmake` and enables use of other IDEs like `CLion` for example.
2020-11-14 13:30:06 -06:00
Joel Linn 2a076c924f Refactor premake scripts. 2020-11-14 13:30:06 -06:00
Triang3l 4862075976 [Vulkan] Cleanup and update SPIR-V dependencies 2020-10-08 23:05:30 +03:00
Triang3l 203bf64d88 [Vulkan] Context, remove Volk 2020-09-13 17:51:00 +03:00
Triang3l fed33be62b [D3D12] Non-zeroed heaps on 2004 2020-09-06 22:08:36 +03:00
Triang3l 38e0cc4941 [D3D12] Non-zeroed heaps on 2004 2020-09-06 00:52:30 +03:00
Triang3l 7b93670dbd [Vulkan] Remove old Vulkan code, change shaders directory, create empty Vulkan backend 2020-08-31 21:44:29 +03:00
Triang3l dffdf92e39 [Vulkan] Remove stillborn vk project 2020-08-22 23:31:52 +03:00