Commit Graph

173 Commits

Author SHA1 Message Date
Triang3l
922efb13ce Merge branch 'master' into vulkan 2022-02-03 21:12:10 +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
ecccd02f8a Merge branch 'master' into vulkan 2021-09-12 14:10:36 +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
Triang3l
1e0237d404 [Vulkan] Fix XCB #ifdef 2021-07-12 12:15:47 +03:00
Triang3l
692e329e9c [Vulkan] Load Vulkan manually for more lifetime and extension control 2021-07-11 22:56:01 +03:00
Sandy Carter
005e0e21c1 [linux graphics] Remove GLEW
OpenGL is not used in the whole stack.
All references are removed.
2021-06-19 13:08:12 -04:00
Sandy Carter
0380067105 [linux vulkan] Remove linking directly with vulkan
Using volk means vulkan linking is done at runtime with the dl library.
2021-06-19 13:08:12 -04:00
Sandy Carter
0b5ff8332e [ui gtk] Fix file dialog
Use drawing area for vulkan but window for dialogs
2021-06-19 13:08:12 -04:00
Triang3l
270469d4d4 [Vulkan] Basic framebuffer output 2021-06-19 14:16:24 +03:00
Sandy Carter
31a8d189f0 [vulkan] Fix typos 2021-05-17 11:14:48 -04:00
Sandy Carter
c4a2dff099 [vulkan] Add Report Callback to instance create 2021-05-17 11:14:48 -04:00
Sandy Carter
5ed4f88091 [vulkan linux] Add extension requirement for XCB 2021-05-17 11:14:48 -04:00
Sandy Carter
6d591970ab [vulkan linux] Fix native_platform_handle with gtk
Use gtk connection as handle and use it when creating surface.
2021-05-17 11:14:48 -04:00
Triang3l
1e818dca4b [Vulkan] Include Vulkan Android header and fix some warnings 2020-11-19 11:38:20 +03:00
Triang3l
715d614f5e [Vulkan] Float controls properties 2020-11-15 15:08:50 +03:00
Triang3l
65c8d2b28e [Vulkan] Basic draw call architecture + [D3D12] Some cleanup 2020-11-14 14:16:04 +03:00
Triang3l
93f6a00201 [Vulkan] Transient descriptor pool + other cleanup for future drawing 2020-11-07 23:18:28 +03:00
Triang3l
8665fa7517 [SPIR-V] Vertex index writing to r0.x 2020-11-03 23:31:52 +03:00
Triang3l
52a8ed8e6d [SPIR-V] Version, float controls 2020-10-31 16:22:15 +03:00
Triang3l
afcf3c27c0 [Vulkan] Per-frame swapchain semaphores 2020-10-18 19:23:34 +03:00
Triang3l
1de144938c [SPIR-V] Main loop blocks, validation 2020-10-16 19:55:41 +03:00
Triang3l
89ac9294bf [Vulkan] Shared memory trace download 2020-10-07 23:19:30 +03:00
Triang3l
4d59f556a9 [Vulkan] Sparse shared memory 2020-10-07 21:03:50 +03:00
Triang3l
2c50c670d8 [Vulkan] Basic shared memory uploading 2020-10-04 22:08:30 +03:00
Triang3l
bc1cbd042e [Vulkan] Swapchain pass dependencies 2020-10-03 13:13:33 +03:00
Triang3l
865f77bae2 [Vulkan] Submissions 2020-10-01 21:17:10 +03:00
Triang3l
377a8d790d Merge branch 'master' into vulkan 2020-09-27 16:43:33 +03:00
Triang3l
c2e8c5554d [UI] Replace ImmediateTexture handles with pointers + small cleanup 2020-09-27 16:30:53 +03:00
Triang3l
9f8c45c4e6 [Vulkan] Add forgotten delayed ImmediateTexture deletion 2020-09-27 15:55:55 +03:00
Triang3l
d78b2a9a93 [Vulkan] Use move instead of release to return ImmediateTexture 2020-09-27 15:42:55 +03:00
Triang3l
183269ba16 [Vulkan] Delayed ImmediateTexture destruction 2020-09-27 15:06:10 +03:00
Triang3l
886129cefa [Vulkan] Immediate drawer textures 2020-09-26 22:10:02 +03:00
Triang3l
d437555036 [UI] Remove immdraw restrict_texture_samples + cleanup 2020-09-26 22:06:04 +03:00
Triang3l
7ba2126b2f Merge branch 'master' into vulkan 2020-09-20 20:40:11 +03:00
Triang3l
fc55b1f81d [UI] Remove pass-unfriendly UpdateTexture of ImmediateDrawer 2020-09-20 20:34:22 +03:00
Triang3l
6a903192c3 [Vulkan] Set immdraw scissor only when changed 2020-09-20 15:33:18 +03:00
Triang3l
229eb49b54 [Vulkan] Untextured ImmediateDrawer, [D3D12] Small refactoring 2020-09-19 18:05:54 +03:00
Triang3l
dfbe36a8aa [UI/D3D12] Small refactoring, allow BeginSwap to return false if no surface 2020-09-14 23:27:19 +03:00
Triang3l
203bf64d88 [Vulkan] Context, remove Volk 2020-09-13 17:51:00 +03:00
Triang3l
dfa181a529 [Vulkan] Provider init, Android platform defines 2020-09-06 22:08:36 +03:00
Triang3l
7b93670dbd [Vulkan] Remove old Vulkan code, change shaders directory, create empty Vulkan backend 2020-08-31 21:44:29 +03:00
Joel Linn
3d2982e845 [ImGui] Fix drawing lines.
ImGui does not orientate triangles.
Culling must not be applied in immediate drawer.
2020-04-19 01:38:58 +02: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
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