Commit Graph

25 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
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
fe9b5b4a8f [D3D12] Cleanup: remove inline 2020-11-14 17:02:09 +03:00
Triang3l
81ee7b4c39 [D3D12] Minor FINE_GRAINED_DRAW_SCOPES refactoring 2020-10-04 21:49:10 +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
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
8f91e580f4 [D3D12] d3d12_queue_priority cvar 2020-05-04 18:55:31 +03: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
bb53d722f9 [D3D12] Don't use switch in shaders on Intel, log GPU name 2018-12-03 16:31:49 +03:00
Triang3l
f3d34c1d88 [D3D12] Add max GPU virtual address bits to D3D12Provider 2018-11-26 08:02:15 +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
dba8ab4eed [D3D12] Refactor descriptors and resolve logging 2018-08-25 22:42:18 +03:00
Triang3l
66510b2e6f [D3D12] Experimental incomplete custom sample positions, disabled by default 2018-08-25 14:38:55 +03:00
Triang3l
14bfac3ebd [D3D12] Rename D3D12Provider getters 2018-07-19 14:52:54 +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