Commit Graph

37 Commits

Author SHA1 Message Date
Triang3l
55a91afcc7 [D3D12] Don't decompress unaligned BC textures if supported 2022-06-02 22:48:03 +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
14bac72f0d [D3D12] DirectComposition basic initialization 2021-06-09 22:56:36 +03:00
Triang3l
800db1aa49 [D3D12] Cleanup initialization log levels 2021-05-19 21:10:05 +03:00
Triang3l
556893177b [D3D12] Better D3D12 initialization failure error message 2021-04-28 21:13:00 +03:00
Triang3l
913e1e949c [GPU] Ownership-transfer-based RT cache, 3x3 resolution scaling
The ROV path is also disabled by default because of lower performance
2021-04-26 22:12:09 +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
acb1fc059f [D3D12] Make the feature list in the log sorted again 2020-09-06 00:57:00 +03:00
Triang3l
38e0cc4941 [D3D12] Non-zeroed heaps on 2004 2020-09-06 00:52:30 +03:00
Triang3l
0c13b239fd [D3D12] DXILConv disassembly dumping option 2020-08-22 23:15:50 +03:00
Triang3l
40e335e2a9 [D3D12] Bindless textures/samplers 2020-06-19 23:52:33 +03:00
Triang3l
cf0ddc7549 [D3D12] Disable the proper D3D12 warning about render targets 2020-05-17 13:32:19 +03:00
Triang3l
b7a5c24bb1 [D3D12] d3d12_break_on_error + fix PerformSwap descriptor heap wrap 2020-05-17 00:26:04 +03:00
Triang3l
8f91e580f4 [D3D12] d3d12_queue_priority cvar 2020-05-04 18:55:31 +03:00
Triang3l
62919330b9 [D3D12] Add missing initialization failure handling 2020-05-04 17:15:51 +03: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
Triang3l
2334e475de [Vulkan v2] Physical device, [D3D12] Small cleanup 2019-08-08 00:08:20 +03:00
Triang3l
890a32bd98 [App] Only start D3D12 if DLL exists 2019-08-03 22:33:09 +03:00
Triang3l
352f12f92e [D3D12] Switch from gflags to cvars 2019-08-03 16:53:23 +03:00
Triang3l
19d7e0ce3d [D3D12] Use WideCharToMultiByte for graphics adapter name 2018-12-11 09:41:06 +03:00
Triang3l
bb53d722f9 [D3D12] Don't use switch in shaders on Intel, log GPU name 2018-12-03 16:31:49 +03:00
Triang3l
d5f7d96be9 [D3D12] Rename d3d12_adapter_index to d3d12_adapter 2018-11-26 08:03:16 +03:00
Triang3l
f3d34c1d88 [D3D12] Add max GPU virtual address bits to D3D12Provider 2018-11-26 08:02:15 +03:00
Triang3l
a03dd839f0 [D3D12] Change error message link to HTTPS 2018-11-26 07:33:13 +03:00
Triang3l
43f34d804a [D3D12] Load D3D dynamically 2018-10-23 19:21:01 +03:00
Triang3l
6d2e74325c [D3D12] ROV: Check if supported 2018-10-10 14:30:29 +03:00
Triang3l
fccebae703 [D3D12] PIX: Capture with F4, disable tiled resources when attached 2018-10-08 12:05:15 +03:00
Triang3l
90f586383a [D3D12] Make tiled resources optional - not available on old Intel HD Graphics 2018-10-02 17:36:10 +03:00
Triang3l
66510b2e6f [D3D12] Experimental incomplete custom sample positions, disabled by default 2018-08-25 14:38:55 +03:00
Triang3l
2183a969af [D3D12] Make tiled resource toggleable, disable debug layer by default 2018-07-30 20:18:52 +03:00
Triang3l
49e9ebce50 [D3D12] Don't require typed UAV loads 2018-07-24 16:08:30 +03:00
Triang3l
7afc40820b [D3D12] Require tiled resources for virtual memory 2018-07-21 21:52:20 +03:00
Triang3l
cd1cf3a857 [D3D12] Make something buildable 2018-07-20 15:18:02 +03:00
Triang3l
d7701ae86b [D3D12] D3D12Context initialization 2018-07-19 12:48:11 +03:00
Triang3l
03682e81d1 [D3D12] ID3D12Device creation 2018-07-18 20:30:49 +03:00