Commit Graph

92 Commits

Author SHA1 Message Date
Triang3l
c4eae232f1 [D3D12] Fixes/cleanup for render targets and barriers 2022-04-02 22:44:10 +03:00
Triang3l
325ae443da [D3D12] Rename current_cached_pipeline_ to current_guest_pipeline_ 2022-02-13 21:21:49 +03:00
Triang3l
8d07c79897 [GPU] Cleanup RB_COLOR_MASK and RB_DEPTHCONTROL normalization 2022-02-13 20:50:31 +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
38b4741c8f [GPU] Mostly generic, not square-only resolution scaling 2021-12-11 21:55:33 +03:00
Triang3l
e720e0a540 [Code] Remove game names from code comments (most of at least) 2021-09-05 21:27:40 +03:00
Triang3l
538aa91015 [GPU] Primitive processor with Vulkan 1.0 base cases, 24-bit indices and clamping 2021-06-04 23:57:46 +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
e6fa0ad139 [GPU] Dynamic r# count via shader modifications + refactoring 2020-12-19 16:14:54 +03:00
Triang3l
9a4643d0f2 [GPU] Non-ROV f24 trunc/round, host shader modifications, cache dir 2020-12-07 22:31:46 +03:00
Triang3l
44a3f200c3 [GPU] Rename PrimitiveTwoFaced to PrimitivePolygonal, add rects to it and ignore fill modes for non-polygons 2020-11-19 23:55:49 +03:00
Triang3l
10d7bcde93 [GPU] Viewport in draw_util with host API flexibility 2020-11-16 23:03:42 +03:00
Triang3l
fe9b5b4a8f [D3D12] Cleanup: remove inline 2020-11-14 17:02:09 +03:00
Triang3l
6b988d43c7 [D3D12] Cleanup: pipeline state -> pipeline, other things 2020-11-14 16:43:18 +03:00
Triang3l
9081046e7b [D3D12] Remove SRV[unbounded] and UAV overlap in bindless root sig 2020-10-18 22:09:08 +03:00
Triang3l
81bc33523a [GPU] Remove unused FinalizeTrace 2020-10-08 21:37:29 +03:00
Triang3l
75bf2d3c7d [D3D12] Minor deferred command list refactoring 2020-10-04 21:53:52 +03:00
Triang3l
9f404090d3 [GPU] Split SharedMemory into common and D3D12 2020-10-03 16:13:17 +03:00
Triang3l
1014458783 [D3D12] Only await submission fence in one place 2020-09-29 21:17:20 +03:00
Triang3l
0156d3ef26 [D3D12] Await UpdateTileMappings when syncing with the GPU 2020-09-28 12:16:09 +03:00
Triang3l
183c7eee2b [D3D12] Various refactoring mostly on the immediate drawer side, cache immdraw scissor, force stretch alpha to 1 2020-09-20 15:15:08 +03:00
Triang3l
189a38826f [UI] UploadBufferPool common code 2020-09-17 21:37:44 +03:00
Triang3l
1e9ee8f43b [D3D12] Change most subsystem pointers to references 2020-08-30 22:07:35 +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
Triang3l
713f26b5c8 [D3D12] Use typed buffers for texture untiling, calculate guest address once per thread 2020-07-03 20:03:53 +03:00
Triang3l
40e335e2a9 [D3D12] Bindless textures/samplers 2020-06-19 23:52:33 +03:00
Triang3l
8a64861ec0 [DXBC] New tfetch: pre-swizzle signs, additive LOD + refactoring 2020-06-06 19:12:34 +03:00
Triang3l
58c104e0cc [DXBC] SRV binding enum 2020-04-15 23:53:37 +03:00
Triang3l
5795d25afe [D3D12] Remove runtime check of cvars::d3d12_edram_rov 2020-04-12 20:48:35 +03:00
Triang3l
acb3778819 [D3D12] Adaptive quad tessellation, remove d3d12_tessellation_adaptive cvar 2020-04-09 00:00:11 +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
4b9f63cdf1 [GPU] Shader::HostVertexShaderType enum for domain shader types 2020-04-06 00:03:23 +03:00
Triang3l
e82d05c687 [D3D12] Pass adaptive tessellation factors via index buffer like on the guest 2020-04-05 17:22:49 +03:00
Triang3l
cde092ece1 [D3D12] Persistent shader and PSO storage 2020-03-21 19:22:19 +03:00
Triang3l
90b772a330 [GPU] Set VGT_DRAW_INITIATOR and use major mode from it 2020-02-24 23:27:25 +03:00
Triang3l
8ec813de82 [Memory, D3D12] Various refactoring from data provider development 2020-02-15 21:35:24 +03:00
Triang3l
c43ccc073d [D3D12] Submit command lists on primary buffer end 2019-12-04 21:42:26 +03:00
Triang3l
c8f3c93802 [D3D12] Don't create multiple command lists as they're just encoders 2019-11-06 08:06:12 +03:00
Triang3l
c499229455 [GPU] Store an EDRAM snapshot in traces 2019-11-04 17:30:20 +03:00
Triang3l
9deb710607 [D3D12] CP: Framework for multiple command lists per frame 2019-10-31 23:33:11 +03:00
Triang3l
6e5a0ebf7b [D3D12] CP: Separate guest frame and non-frame submissions 2019-10-28 22:00:59 +03:00
Triang3l
d3b6f71ae1 [D3D12] Don't use D3D12Context for command processor fence 2019-10-28 10:49:32 +03:00
Triang3l
b4af63fe31 [D3D12] Detach UploadBufferPool and DescriptorHeapPool from D3D12Context 2019-10-27 20:53:53 +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
Triang3l
7a88789ebd [D3D12] RB_STENCILREFMASK_BF and stencil constants cleanup 2019-07-14 23:49:30 +03:00
Triang3l
4825e69fda [D3D12] Cleanup primitive types and front/back facing 2019-07-13 22:25:03 +03:00
Triang3l
6672997108 [D3D12] ROV early Z and full rewrite, shader scalar optimizations 2019-07-11 09:31:58 +03:00
Triang3l
ba7b6d6081 [D3D12] Memexport CPU readback, disabled by default 2019-01-25 16:33:25 +03:00