Commit Graph

112 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
Rick Gibbed
617b17e25b [WinKey] Fix RThumbDown being mapped to RThumbLeft 2022-01-14 16:06:40 -06:00
Enrico Pozzobon
5e31429128 [WinKey] Rebindable keyboard controls. 2022-01-11 12:38:13 -06:00
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
Triang3l
90c4950503 [HID] Fix SDL GetKeystroke copy-paste regression 2021-07-26 10:12:17 +03:00
Triang3l
692e329e9c [Vulkan] Load Vulkan manually for more lifetime and extension control 2021-07-11 22:56:01 +03:00
Triang3l
1cf12ec70b [UI/HID] ui::VirtualKey enum 2021-07-01 23:32:26 +03:00
Joel Linn
4e72167c5e [SDL2] Event handler in separate function 2020-12-26 04:50:27 -06:00
Joel Linn
d3c618404a [SDL2] Improve GetCapabilities() 2020-12-26 04:50:27 -06:00
Joel Linn
64c5c63eaf [SDL2] Log controller device events. 2020-12-26 04:50:27 -06:00
Joel Linn
87389e2486 [SDL2] Do not restrict callbacks to window thread 2020-12-26 04:50:27 -06:00
Joel Linn
ddc0cc840a [SDL2] Allow AUX buttons. 2020-12-26 04:50:27 -06:00
Joel Linn
842ac86b1f [HID] More modern c++ in SDL backend. 2020-11-28 14:22:50 -06:00
Joel Linn
ff56fbdf46 [HID] Honor is_active() in SDL input backend. 2020-11-28 14:22:50 -06:00
Joel Linn
7931dbe180 [HID] is_active debugging for hid-demo. 2020-11-28 14:22:50 -06:00
gibbed
6c073d3c84 [HID] Add 'is active' checks to winkey input.
[HID] Add 'is active' checks to winkey input driver.
2020-11-27 05:23:21 -06:00
gibbed
dd25e69e66 [HID] Pass 'is active' callback to input drivers. 2020-11-27 05:23:21 -06: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
41cf7c7a63 [Input] Fix doubling with any enabled.
Keystrokes from multiple backends where mixed.
Effectively doubling all keystroke inputs.
2020-07-12 08:57:21 -05:00
Joel Linn
6267c73c4c [SDL] Add global helper to setup the library.
Call to SDLHelper::Prepare() is needed before first SDL_InitSubSystem().
- Sets hints (SDL configuration vars).
- Configures logging.
2020-04-23 15:44:58 -05:00
Joel Linn
5463798631 [HID] Implement GetKeystroke() for SDL 2020-04-23 15:44:58 -05:00
Joel Linn
d7d5d92e59 [HID] Fix any poll on XInput. 2020-04-23 15:44:58 -05:00
Joel Linn
c8da7fbfe4 [HID] Optional guide button support.
Maybe this is interesting to some games.
2020-04-23 15:44:58 -05:00
Joel Linn
fc96195656 [HID] C++17-ify 2020-04-23 15:44:58 -05:00
Joel Linn
d1315438f3 [HID] Extend demo to show keystrokes. 2020-04-23 15:44:58 -05:00
Sandy Carter
c8e64da4eb filesystem: use std for PathExists
Remove custom platform implementation of `PathExists` and replace uses
with `std::filesystem::exists`.
2020-04-09 09:44:48 -05:00
Joel Linn
05a62673f7 [SDL2] Redirect log messages into our system. 2020-04-08 21:55:56 -05:00
Joel Linn
11d79c6c1c [SDL2] Remove delayed loading code. 2020-04-08 21:55:56 -05:00
Joel Linn
804384c19c [SDL2] On Win, build and link statically.
Keep using system lib dynamically on Unix.
2020-04-08 21:55:56 -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
Joel Linn
64f3925c7d [HID/Linux] Implement cross platform controller input using SDL2 library. 2020-02-10 13:41:19 -06:00
Joel Linn
2aa008e02e [HID] Fix Demo for XInput 2020-02-09 16:19:39 -06:00
Margen67
09e1028154 Remove (hopefully) last OpenGL leftovers & crunch
Crunch is unused.
2019-11-08 09:10:51 -08:00
gibbed
3e6c2bb47c Fix up handling of positional options in cvar handling.
- Fix up handling of positional options in cvar handling so that executables
  other than app can handle them properly.
- Fix command-line arguments for xenia-vfs-dump.
2019-08-24 07:41:55 -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
gibbed
1145d57007 Undo main/wWinMain changes in preparation for new method
of doing a startup AVX check.

This reverts commit 4030cff3ec.
2019-04-20 02:32:45 -05:00
gibbed
4030cff3ec - Move main, wWinMain entrypoints to their own file.
- Fix startup AVX checks.
2019-04-18 16:57:42 -05:00
gibbed
ffbc99926b - Update premake build script for VS2017+ build support.
- Update premake (for VS2019 support).
- Update Xenia build script to detect VS2017+ version.
- Update Xenia premake scripts due to updated premake.
- Fix cc override in Xenia build script.
2019-04-18 09:28:31 -05:00
gibbed
086d7e9da7 [Input] Dynamically link to XInput. 2018-11-22 10:46:48 -06:00
Margen67
896ac4a682 Update documentation.
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed
de43afbb54 Fix warnings when building on newer Windows 10 SDK versions. 2018-08-25 14:23:20 -05:00
gibbed
fb9eb84893 Fix premake for xenia-hid-demo and xenia-ui-window-vulkan-demo. 2018-06-08 09:52:35 -05:00
gibbed
43b987da1e [HID] Make winkey key checks more readable. 2018-06-05 08:15:59 -05:00
gibbed
8d5d6c5a59 [HID] Allow shift in winkey input to toggle d-pad in addition to capslock. 2018-06-05 08:13:51 -05:00
gibbed
4cc2aaf5b9 Remove unnecessary usage of xe::be. 2018-05-27 16:35:01 -05:00
Dr. Chat
00a64d543c [HID] Fix HID demo linkage 2018-05-04 17:12:12 -05:00
Dr. Chat
e971e38cdb [HID] Swap the HID demo over to the vulkan backend 2018-05-04 13:55:32 -05:00
Dr. Chat
040d8d1ade [GL4] Farewell, GL4 backend 2018-05-04 11:54:33 -05:00