Commit Graph

39 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
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
Triang3l
7edfdc2672 Merge branch 'master' into linux_windowing 2021-08-26 22:58:14 +03:00
Doug Johnson
cdf77d21bc UI: Improve GTK GUI Abstractions for Linux 2021-06-19 13:08:03 -04:00
gibbed
0419a9f13d [App] Build title using StringBuffer. 2021-05-01 17:29:05 -05:00
Joel Linn
6a1c134cf3 [UI] Capture mouse. 2020-04-23 15:44:58 -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
2c99228041 [UI] Use ticks as frame time instead of file time.
File time is not as accurate as its resolution suggests.
This results in a zero time delta between frames for high fps.
2020-02-05 09:48:31 -06:00
DrChat
b5d647d540 [Vulkan] Better handling of device lost events (present fatal error dialog) 2017-12-18 14:27:00 -06:00
Dr. Chat
5430dd0cd0 UI: Properly size microprofile, make dpi transparent to unaware users. 2017-08-03 22:34:12 -05:00
Justin Moore
d081cf5f5c Merge pull request #743 from parkerlamb/startup_race
Prevent race condition during emulator startup (issue #702)
2017-08-03 21:36:22 -05:00
DrChat
aeb0e2557c UI: Very basic dynamic DPI support 2017-08-03 19:13:51 -05:00
Parker Lamb
fc27b34304 UI: Prevent race condition during emulator startup. 2017-07-02 11:57:54 -05:00
Leighton Hancock
524ba0c88c Add file drop functionality
Adds the ability to drag and drop files from windows in order to attempt
to execute them
2016-11-14 16:50:58 +13: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
92c8409b0a Set the window icon from the module resource pool
Makes use of the stb_image library
Conversion to HICON seems to have broken somewhere
2016-01-07 01:32:56 +00:00
Ben Vanik
484972db30 Fixed mutation of vectors during iteration. 2015-12-27 10:48:38 -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
ca5e8fa073 Adding a way to get an hmodule. 2015-11-09 13:59:06 -08:00
Ben Vanik
fa9c681c7c Implicit Window::MakeReady on context set. 2015-09-07 09:29:07 -07:00
Ben Vanik
855ab7c040 Fixing set_bordered name. 2015-09-07 09:08:19 -07:00
Ben Vanik
a1a996c1e6 Shrinking UI elements in the debugger. 2015-09-06 20:49:20 -07:00
Ben Vanik
a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Dr. Chat
c6e6894d9d Platform window enable/disable border support 2015-07-21 22:13:06 -05:00
Ben Vanik
15c17459be Massive refactoring of xenia::ui and GL swap behavior.
This seems to dramatically improve most games (especially with
--vsync=false), though it may cause swap issues with others.
New code should be easier to port, and enables elemental-forms to be
drawn for any emulator UI.
2015-07-12 22:04:17 -07:00
Ben Vanik
9efccc5f4a Removing dependencies on MainWindow. 2015-07-01 08:02:22 -07:00
Dr. Chat
cec2e2b397 Fullscreen support with F6 2015-06-14 11:47:50 -05:00
Ben Vanik
21edd65354 Fixing warnings and style. 2015-05-09 18:13:19 -07:00
Dr. Chat
459024059a Setup UI menu code 2015-05-09 17:32:55 -05:00
Ben Vanik
e3220f7ae6 Code cleanup: moving poly/ into xenia/base/ 2015-05-02 03:42:51 -07:00
Ben Vanik
f7ca026db0 Code cleanup: moving poly::ui to xe::ui 2015-05-02 01:50:19 -07:00
Ben Vanik
d839359b4a UI hacking. 2014-12-31 19:26:52 -08:00
Ben Vanik
c1df273600 Moving delegate to poly. 2014-12-31 19:26:51 -08:00
Ben Vanik
a0eebf8898 Removing old run loop/ref/core/etc. 2014-12-31 19:26:51 -08:00
Ben Vanik
66d2336e38 More string conversion. 2014-08-16 02:50:08 -07:00
Ben Vanik
beb9bd11f0 Microprofile integration. 2014-05-28 13:59:43 -07:00
Ben Vanik
991e7d8ad3 Refactoring window stuff. Still needs some work. 2014-01-14 22:40:02 -08:00