Commit Graph

27 Commits

Author SHA1 Message Date
Triang3l
c794d0d538 [GPU] DC_LUT_RW_INDEX/WRITE_EN_MASK + gamma ramp and registers in traces 2022-05-05 13:10:29 +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
81bc33523a [GPU] Remove unused FinalizeTrace 2020-10-08 21:37:29 +03:00
Triang3l
bd5f77bc3b [GPU] Common resolve code based on compute shaders, swap MSAA samples 1 and 2, change ROV write rounding, random refactoring 2020-08-09 21:33:10 +03:00
Triang3l
4bb0ca0e09 [GPU] Move all xenos.h to gpu::xenos, disambiguate Dimension/TextureDimension 2020-07-11 15:54:22 +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
Triang3l
90b772a330 [GPU] Set VGT_DRAW_INITIATOR and use major mode from it 2020-02-24 23:27:25 +03:00
Triang3l
c499229455 [GPU] Store an EDRAM snapshot in traces 2019-11-04 17:30:20 +03:00
Triang3l
c057b5a032 [D3D12] Make trace dump partially work 2019-10-25 08:38:06 +03:00
Triang3l
4623b41023 [D3D12] Trace guest memory operations 2019-10-23 23:33:50 +03:00
gibbed
ee5724f5dd [GPU] Move gamma ramp tracking to CommandProcessor. 2018-05-22 05:36:24 -05:00
gibbed
fb650ae024 [Vulkan] Start tracking the gamma ramp. 2018-05-21 23:16:15 -05:00
DrChat
16cf9883ca [Vulkan] Fix a couple validation errors 2018-02-19 11:19:24 -06:00
Dr. Chat
84758a3a3f Vulkan CP: Use the color blitter 2017-05-13 10:15:56 -05:00
Dr. Chat
90b0541d72 Vulkan CP: Code refactoring 2017-01-28 14:05:42 -06:00
Dr. Chat
1afb899b7d Also track batch fences in the CP properly 2016-11-08 19:41:35 -06:00
Dr. Chat
69be82c786 Attempt at synchronizing swap image writes between the main window and graphics backend.
Disabled for now due to device timeouts.
2016-10-21 19:44:11 -05:00
Dr. Chat
5f764730ae Vulkan CP: Override frame traces if renderdoc is attached 2016-05-23 13:16:13 -05:00
Dr. Chat
7c5042add7 Vulkan CP: Add in separate swap-chain images
Some other changes I can't remember
2016-05-03 14:12:05 -05:00
Dr. Chat
50f72b4e42 Enable native MSAA
Copy back EDRAM buffers in order by base offset.
2016-04-01 21:52:39 -05:00
Dr. Chat
f75e5fec24 CP: Use a single command buffer for every frame, reuse render passes/pipelines if not dirty
Hook up resolves and swaps
2016-03-25 16:35:34 -05:00
Dr. Chat
af7fc20c38 Beginnings of texture conversion/uploads 2016-03-05 22:09:18 -06:00
Ben Vanik
62931f8c8e Adding texture setup and a dummy grid texture. 2016-02-21 19:56:23 -08:00
Ben Vanik
97174dbe4d Skeleton leaky hacky hardcoded pipeline setup. 2016-02-19 23:23:58 -08:00
Ben Vanik
4c4a641096 WIP rough sketch of vulkan backend structure. 2016-02-18 16:43:41 -08:00
Ben Vanik
ecd257b34c Fix headers include guards. 2016-02-18 16:43:41 -08:00
Ben Vanik
05107d2d3e Skeleton xenia::gpu::vulkan implementation, enough to start trace viewer. 2016-02-18 16:43:41 -08:00