Commit Graph

35 Commits

Author SHA1 Message Date
Margen67
4cb783bf22 Header cleanup 2025-07-19 14:42:21 -07:00
Triang3l
7b8281aee0 [UI] Android ImGui touch and mouse input 2022-07-14 21:13:40 +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
Triang3l
1cf12ec70b [UI/HID] ui::VirtualKey enum 2021-07-01 23:32:26 +03:00
Triang3l
dfbe36a8aa [UI/D3D12] Small refactoring, allow BeginSwap to return false if no surface 2020-09-14 23:27:19 +03: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
f0723c211b [UI] Fix frame leak on context loss. 2020-02-05 09:48:31 -06: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
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
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
Dr. Chat
b3b7acb7ca UI: Dynamic DPI scaling 2017-08-03 21:17:57 -05:00
DrChat
aeb0e2557c UI: Very basic dynamic DPI support 2017-08-03 19:13:51 -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
sephiroth99
235f58d757 Add missing include for std::find 2015-12-30 17:42:18 -05: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
f065872241 Adding window demo. 2015-11-07 10:37:46 -08:00
Ben Vanik
fdf59fec5f Moving elemental to immediate drawer. 2015-11-07 09:52:57 -08:00
Ben Vanik
5d033f9cb3 A new debugger.
Lots of bugs/rough edges/etc - issues will be filed.
Old-style debugging still works (just use --emit_source_annotations to get
the helpful movs back and --break_on_instruction will still fire).
2015-09-20 21:31:05 -07:00
Ben Vanik
3ac83b16c8 Fix double window destroy. 2015-09-07 09:41:44 -07:00
Ben Vanik
ec7c74d04c Ref count elemental. 2015-09-07 09:26:36 -07:00
Ben Vanik
e5fbf840d2 Shuffling kernel/. 2015-09-06 18:07:52 -07:00
Ben Vanik
03142614ec elemental-forms is mostly style-clean. 2015-08-09 12:07:07 -07:00
Ben Vanik
a92566dfc5 More style. 2015-08-07 21:29:03 -07:00
Ben Vanik
14beb27ebc xb style. 2015-08-07 07:56:57 -07:00
Ben Vanik
8494ca2eaa clang fixes. 2015-08-01 03:55:50 -07:00
Ben Vanik
12a29371e3 Clang fixes. 2015-07-19 18:32:48 -07: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
d839359b4a UI hacking. 2014-12-31 19:26:52 -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
bf882714d0 Cleaning up asserts and file/line macros. 2014-07-12 16:51:52 -07:00
Ben Vanik
991e7d8ad3 Refactoring window stuff. Still needs some work. 2014-01-14 22:40:02 -08:00