Commit Graph

85 Commits

Author SHA1 Message Date
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 3acf3fdcd1 Never specify /O1
Leaving it as /O2 might improve performance.
Stops this from being spammed:
cl : command line  warning D9025: overriding '/O2' with '/O1' [D:\a\xenia-canary\xenia-canary\build\glslang-spirv.vcxproj]

/Os is implied by /O1;
https://learn.microsoft.com/en-us/cpp/build/reference/o1-o2-minimize-size-maximize-speed?view=msvc-170
2024-12-13 13:01:06 -08:00
Xphalnos 0a712c0014 [3PP] Bump imgui from 1.89.5 to 1.90.0 2024-10-26 09:01:17 +02:00
Xphalnos ecc92e4082 Third-party: Update a lot of submodules 2024-09-17 19:58:40 +02:00
Gliniak b3f2ab0e96 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2024-05-31 22:43:59 +02:00
frazier_g c01c06d19b Make guest debugger usable 2024-05-19 18:50:43 +02:00
Triang3l a3304d252f [Base/GPU] Cleanup float comparisons and NaN and -0 in clamping
C++ relational operators are supposed to raise FE_INVALID if an argument is
NaN, use std::isless/greater[equal] instead where they were easy to locate
(though there are other places possibly, mostly min/max and clamp usage was
checked).

Also fixes a copy-paste error making the CPU shader interpreter execute
MINs as MAXs instead.
2024-05-12 19:21:37 +03:00
Gliniak b9061e6292 [LINT] Linted files + Added lint job to CI 2024-03-12 19:19:30 +01:00
Gliniak 26415cb8b1 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-12-31 11:19:01 +01:00
Joel Linn b107af68bc [ImGui] Fix removed flags 2022-12-28 14:16:32 -06:00
chss95cs@gmail.com c1d922eebf Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
chss95cs@gmail.com 2dd6f33f4b Fix debug/ui premake too 2022-10-08 10:34:50 -07:00
chss95cs@gmail.com b4c175d8a3 Enable SDL_LEAN_AND_MEAN, SDL_RENDER_DISABLED, saves about 500kb in final exe
Build several projects that arent performance critical with /Os and /O1 under msvc windows
2022-09-29 07:26:38 -07: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
Triang3l d51fafd07c [Base] Linux Arm64 exception handler 2022-07-05 20:46:49 +03:00
Triang3l fe3f0f26e4 [UI] Image post-processing and full presentation/window rework
[GPU] Add FXAA post-processing
[UI] Add FidelityFX FSR and CAS post-processing
[UI] Add blue noise dithering from 10bpc to 8bpc
[GPU] Apply the DC PWL gamma ramp closer to the spec, supporting fully white color
[UI] Allow the GPU CP thread to present on the host directly, bypassing the UI thread OS paint event
[UI] Allow variable refresh rate (or tearing)
[UI] Present the newest frame (restart) on DXGI
[UI] Replace GraphicsContext with a far more advanced Presenter with more coherent surface connection and UI overlay state management
[UI] Connect presentation to windows via the Surface class, not native window handles
[Vulkan] Switch to simpler Vulkan setup with no instance/device separation due to interdependencies and to pass fewer objects around
[Vulkan] Lower the minimum required Vulkan version to 1.0
[UI/GPU] Various cleanup, mainly ComPtr usage
[UI] Support per-monitor DPI awareness v2 on Windows
[UI] DPI-scale Dear ImGui
[UI] Replace the remaining non-detachable window delegates with unified window event and input listeners
[UI] Allow listeners to safely destroy or close the window, and to register/unregister listeners without use-after-free and the ABA problem
[UI] Explicit Z ordering of input listeners and UI overlays, top-down for input, bottom-up for drawing
[UI] Add explicit window lifecycle phases
[UI] Replace Window virtual functions with explicit desired state, its application, actual state, its feedback
[UI] GTK: Apply the initial size to the drawing area
[UI] Limit internal UI frame rate to that of the monitor
[UI] Hide the cursor using a timer instead of polling due to no repeated UI thread paints with GPU CP thread presentation, and only within the window
2022-01-29 13:22:03 +03:00
Triang3l 6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
gibbed 164aa8e8ca [Kernel] Scope object type enum. 2020-11-22 20:34:07 -06:00
gibbed 5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Joel Linn 8efa35d996 Remove unused yaml-cpp. 2020-02-20 06:44:34 -06:00
Joel Linn 03d5455a2f [imgui] Fixes to work with new api.
- Font atlas is now owned by context.
- Switch from deprecated io.RenderDrawListsFn callback to dedicated call in window.cc.
- Replaced deprecated ImGuiCol_ModalWindowDarkening with ImGuiCol_ModalWindowDimBg.
- Replaced deprecated SetScrollHere() with SetScrollHereY().
- Replaced deprecated GetContentRegionAvailWidth() with GetContentRegionAvail().x.
- Replaced deprecated ShowTestWindow() with ShowDemoWindow().
- Replaced deprecated ImGuiCol_ChildWindowBg with ImGuiCol_ChildBg.
- Replaced deprecated SetNextTreeNodeOpen() with SetNextItemOpen().
2019-11-20 08:05:40 -06:00
Joel Linn 1985169924 [imgui] Make code compile with new imgui. 2019-11-20 08:05:40 -06:00
gibbed b2f62b1982 Clean up cvars (rename, recategorize). 2019-08-03 23:46:03 -05:00
Jonathan Goyvaerts 81fe22f1c8 Get rid of gflags alltogether 2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
Margen67 aea0d8d6b3 [third_party] Update capstone to latest stable 2019-06-24 23:15:28 -07:00
DrChat aaf281351d Format all code with new clang-format 2017-12-14 20:44:43 -06:00
Dr. Chat 4c55039c22 Remove xenia-cpu dependency on xenia-kernel 2017-02-06 21:57:18 -06:00
Dr. Chat a065120793 Fix crash in CPU debugger. Thanks @x1nixmzeng 2016-07-24 10:47:14 -05:00
Ben Vanik 6777ce6668 Reconcile debugger and save state stuff into a single implementation.
Fixes #497 and fixes #496.
Still rough edges, but at least less duplication.
2016-01-18 11:48:21 -08:00
Ben Vanik 07ba1be7f5 Switching debugger to not retain XThreads. 2016-01-01 15:35:48 -08:00
Ben Vanik 8770e6e6cf Adding yaml-cpp for #428, use rando fork until jbeder/yaml-cpp#342 lands. 2016-01-01 12:13:36 -08:00
Ben Vanik b02ca62388 Fixing most remaining C++ warnings in clang. 2016-01-01 18:37:33 +00:00
Ben Vanik a95be25e2f Merge branch 'linuxfix' of https://github.com/sephiroth99/xenia into sephiroth99-linuxfix 2015-12-31 14:39:23 -08:00
Ben Vanik 952d35911c Folding build_tools back into the main repo for simplicity. 2015-12-30 16:53:14 -08:00
Ben Vanik 0482ffad5a Allow XMA decoder to be suspended. 2015-12-30 16:53:13 -08:00
sephiroth99 ee8e6e8822 debug_window: Use function to store from '__m128' variable. 2015-12-30 17:42:18 -05:00
sephiroth99 b0bce0d9ab debug_window: Ignore other breakpoint types
In the breakpoints pane, add a default case for breakpoint types that
ignores the other possible types.
2015-12-30 17:42:18 -05:00
sephiroth99 6b31ddfb42 debug_window: Use correct format specifier for double value
Specifier 'LF' is 'long double'.
2015-12-30 17:42:18 -05:00
sephiroth99 fe30941c9b debug_window: Use a string literal as a format string
Fixes clang "format-security" error.
2015-12-30 17:42:18 -05:00
Ben Vanik 077f73449d More gracefully handle killed threads. Still needs some UI love. 2015-12-29 15:19:31 -08:00
Ben Vanik cc37fb1358 Updating to the latest capstone. Fixes #440. 2015-12-29 15:19:08 -08:00
Ben Vanik cc72de0f64 Moving disasm to new tables.
Also adding useful CPU docs.
2015-12-28 20:49:22 -08:00
Ben Vanik 990d973c74 New ppc opcode decoder.
Seems to work and match up with the old decoder (which may be bad).
Old decoder remains until all functionality is replaced.
2015-12-27 22:53:05 -08:00
Ben Vanik 0e58208add Dropping elemental-forms and swapping out with imgui.
Too much code for such little use. This should simplify porting.
2015-12-26 20:25:24 -08:00
Ben Vanik 15816327b4 Renaming xe::cpu::frontend to xe::cpu::ppc. 2015-12-14 21:17:55 -08:00
sephiroth99 f367c4ba7b Fix compilation under VS2015 Update 1 2015-11-30 22:56:42 -05:00
Ben Vanik 6c95ca1cdb Moving graphics context creation around to hide actual creation.
Makes it easier to support APIs that don't have a concept of sharing.
2015-11-10 17:38:57 -08:00
Ben Vanik b26f4a5719 Moving imgui input to a shared place. 2015-11-07 12:42:44 -08:00
Ben Vanik 4c2257a29d Moving imgui to the new ImmediateDrawer. 2015-11-05 23:03:02 -08:00