Commit Graph

138 Commits

Author SHA1 Message Date
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
Wunkolo
1a8068b151 [Base] Add user-literals for several memory sizes
Rather than using `n * 1024 * 1024`, this adds a convenient `_MiB`/`_KiB` user-literal to the new `literals.h` header to concisely describe units of memory in a much more readable way. Any other useful literals can be added to this header. These literals exist in the `xe::literals` namespace so they are opt-in, similar to `std::chrono` literals, and require a `using namespace xe::literals` statement to utilize it within the current scope.

I've done a pass through the codebase to replace trivial instances of `1024 * 1024 * ...` expressions being used but avoided anything that added additional casting complexity from `size_t` to `uint32_t` and such to keep this commit concise.
2022-01-02 11:51:31 -06:00
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
emoose
bf8138a886 [VFS] Add NullDevice (returns success for all calls), handle \Device\Harddisk0\ with it
XMountUtilityDrive code tries reading/writing from \Device\Harddisk0\Cache0 / Cache1 / Partition0, NullDevice handling \Device\Harddisk0 will make that code think that the reads/writes were successful, so the utility-drive mount can proceed without failing.
2021-08-18 17:34:59 -05:00
Joel Linn
a86d7173e1 Refactor FourCC magic uses
- Use new fourcc_t type
- Improves compiler compatibility by removing multi chars
2021-06-02 22:28:43 -05:00
emoose
ce19d948f0 [Base] Move XdbfLocale to xbox.h as XLanguage, let STFS headers use it
Renamed to XLanguage because AFAIK locale on Xbox is a different concept involving countries, this enum only involves languages though.
2021-05-05 12:35:51 -05:00
gibbed
fcd46d56a0 [App] Lint fix. 2021-05-02 08:21:10 -05:00
gibbed
f868a10649 [App] Correctly initialize title ID. 2021-05-02 00:21:57 -05:00
gibbed
ea1f2b114a [App] Improve title tracking.
[App] Improve title tracking.
[App] Show title version in emulator window title, when available.
2021-05-01 17:29:05 -05:00
gibbed
4ce43369a7 Use English game title when available. 2021-04-07 03:47:17 -05:00
Triang3l
9a4643d0f2 [GPU] Non-ROV f24 trunc/round, host shader modifications, cache dir 2020-12-07 22:31:46 +03:00
gibbed
dd25e69e66 [HID] Pass 'is active' callback to input drivers. 2020-11-27 05:23:21 -06:00
Triang3l
a73592c2ef [Memory/CPU] UWP: Support separate code execution and write memory, FromApp functions + other Windows memory fixes 2020-11-24 22:18:50 +03:00
gibbed
164aa8e8ca [Kernel] Scope object type enum. 2020-11-22 20:34:07 -06:00
gibbed
ce34e1cbb9 [Core] Use UTF8-aware lower. 2020-04-13 12:57:14 -05:00
gibbed
54da6773ab [Core] Fix reg alignment in crash dump output. 2020-04-09 16:49:24 -05:00
gibbed
ed04d96e67 Avoid using '#' format spec for X hex numbers.
Avoid using '#' format spec for X (uppercase) hex numbers, as it
results in output like "0XABCDEF" instead of "0xABCDEF".
2020-04-09 11:25:08 -05:00
gibbed
01f7ad7ddf [Core] Fix guest crash handler crash/output.
- [Core] Fix guest crash handler crash due to bad format string.
- [Core] Fix guest crash handler outputting signed values for
  vectors.
2020-04-09 11:06:48 -05:00
gibbed
a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05: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
Triang3l
cde092ece1 [D3D12] Persistent shader and PSO storage 2020-03-21 19:22:19 +03:00
Triang3l
f748e5af49 [Emulator] Default XEX cvar 2019-09-14 20:30:04 +03:00
gibbed
e48f4ce004 [Core] Only wait on the main thread if it actually exists. 2019-08-03 23:48:05 -05:00
gibbed
112bf6c8ab Properly reset title id/game title. 2019-08-03 08:16:08 -05:00
gibbed
c16ef67ff9 [App/Discord] Rework how rich presence is managed.
Updating rich presence state every time the window title changes
is a bad idea(tm).
2019-08-03 08:16:04 -05:00
Jonathan Goyvaerts
67cc8b7316 Load game config on game load 2019-08-03 02:34:17 +02:00
Jonathan Goyvaerts
c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
gibbed
e38be4c294 [Core] Use a macro for loading kernel modules (which also explicitly discards return value). 2019-07-29 13:26:09 -05:00
gibbed
ecf64d8e05 [Core] Keep a reference to the main thread's XThread rather than its underlying thread. 2019-07-29 13:24:36 -05:00
gibbed
a4d2f5e4ed [Core] Initialize all members of Emulator. 2019-07-29 13:22:45 -05:00
gibbed
1ba5dd5eb1 Use platform-specific user directory to store content. Create a file named portable.txt next to xenia.exe to restore previous behavior. 2018-11-21 18:07:45 -06:00
Triang3l
bd02fd31bd [Core] Treat .exe files as XEX 2018-06-09 10:24:11 +03:00
gibbed
5f16e46282 [Core] Do a case-insensitive compare for extension when launching a path. Fixes #1175. 2018-06-09 01:22:45 -05:00
DrChat
09b3a07e3c Support rendering windowless (tested on the Vulkan backend) 2017-12-19 16:05:36 -06:00
Parker Lamb
aae82430f2 Emulator: Don't trigger on_launch() until the main thread is set. 2017-07-02 11:58:54 -05:00
DrChat
d43e2c7ff8 xenia-cpu-ppc-tests is now building on linux 2017-02-10 23:54:10 -06:00
gibbed
d730784efb Added XBDM stubs. 2017-01-09 04:51:55 -06:00
Dr. Chat
57c3addd09 Dump guest crash details into the log 2016-11-30 22:54:58 -06:00
Dr. Chat
222a9721aa Add a File->Close option 2016-11-23 11:00:10 -06:00
Dr. Chat
a148b965f1 KernelState should handle module launching 2016-10-24 11:01:10 -05:00
Dr. Chat
f5995474b1 Write the title ID to savestates - and disallow loading savestates from a different title for the moment. 2016-09-28 18:33:25 -05:00
x1nixmzeng
5be1a24f7a Clang formatting 2016-07-30 15:00:51 +01:00
x1nixmzeng
6cc3440086 Find correct launch module for XNA-based games
Added utility to parse game information and updated launch logic to use
it
2016-07-23 18:27:13 +01:00
Dr. Chat
807c030f86 Add title request functions to Emulator 2016-06-18 21:17:37 -05:00
Dr. Chat
b82f6a990a Core: Add a file open dialog and refactor logic around loading new games 2016-06-18 20:42:28 -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
9c93fa5187 Cleaning up xdbf stuff.
- moving next to xex utils
- fixing error cases around icon setting (and allowing reset)
- making C++11
- abstracting a bit so future additions will be easier
- fixing non-xex uses
2016-01-10 11:04:55 -08:00
x1nixmzeng
6530b9dc49 Added callback when new module is launched
This avoids having to guess the display window title format
Also manually fixed the linting errors picked out by travis which do not
get picked up using xb format locally
2016-01-09 17:36:46 +00:00
x1nixmzeng
5fa9499a12 Community feedback
Updated naming convention
Exposed the game name to Emulator for other uses
Fixed bug with XDBF parsing
2016-01-08 22:55:37 +00:00
x1nixmzeng
e4cef38d95 Formatting of changes
As per the style guide
2016-01-07 20:51:28 +00:00