Commit Graph

72 Commits

Author SHA1 Message Date
Triang3l
4480437a3d [SPIR-V] xb genspirv > buildshaders + opt + remap + .xesl 2022-02-05 17:07:07 +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
e720e0a540 [Code] Remove game names from code comments (most of at least) 2021-09-05 21:27:40 +03:00
Triang3l
692e329e9c [Vulkan] Load Vulkan manually for more lifetime and extension control 2021-07-11 22:56:01 +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
36a0bcec8b [GPU] XXH3 hash instead of XXH64 2020-12-08 22:31:09 +03:00
Triang3l
9a4643d0f2 [GPU] Non-ROV f24 trunc/round, host shader modifications, cache dir 2020-12-07 22:31:46 +03:00
Triang3l
4bb0ca0e09 [GPU] Move all xenos.h to gpu::xenos, disambiguate Dimension/TextureDimension 2020-07-11 15:54:22 +03:00
gibbed
a48bb71c2f Overhaul logging. 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
e5b8f0cb27 [Vulkan] Remove an obsolete comment about GLSL 2019-11-08 23:16:37 +03:00
Triang3l
a9ed73bdd1 [GPU] Remove most hardcoded register/instruction layouts from common and D3D12 code 2019-10-20 19:40:37 +03:00
Triang3l
f83269cf8c [GPU] Refactor: Register structs in D3D12CommandProcessor and some other places 2019-10-19 23:32:38 +03:00
Triang3l
352f12f92e [D3D12] Switch from gflags to cvars 2019-08-03 16:53:23 +03:00
Jonathan Goyvaerts
c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
Triang3l
4825e69fda [D3D12] Cleanup primitive types and front/back facing 2019-07-13 22:25:03 +03:00
Triang3l
2b646ff425 [D3D12] Fake per-edge tessellation with continuous 2018-12-12 22:12:32 +03:00
Margen67
896ac4a682 Update documentation.
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
Triang3l
c6255af824 [GPU] Depth bias support 2018-06-16 16:32:14 +03:00
gibbed
b33ccdf0cd [Vulkan] Better debug names. 2018-05-19 15:49:37 -05:00
gibbed
8064926999 [Vulkan] Implement support for color_exp_bias. 2018-05-19 15:45:13 -05:00
DrChat
521b9eb5c5 [Vulkan] Fix window scale and offset calculation 2018-04-16 18:27:23 -05:00
DrChat
27c840fa91 [Vulkan] Fixup window offset calculation 2018-04-16 15:44:52 -05:00
DrChat
b90465e2e5 [Vulkan] Halve the viewport dimensions when viewport scaling is disabled (10240 -> 5120)
The negative part of the viewport is unused, so hijack the 2 unused parameters of the window scale to use as an offset
2018-04-16 12:54:50 -05:00
DrChat
25f93a171c [Vulkan] Support optional vertex window offset 2018-04-16 11:08:24 -05:00
DrChat
6ca771d26f [Vulkan] Handle window scissor window_offset_disable 2018-04-14 17:51:57 -05:00
DrChat
a9d2a50082 [Vulkan] Add AMD shader statistics info support 2018-03-03 12:34:19 -06:00
DrChat
199328f971 [Vulkan] PipelineCache ClearCache support and pipelines counter 2018-03-03 11:36:12 -06:00
DrChat
43043fd4a8 [Vulkan] Track pixel center in pipeline cache (but don't apply it quite yet) 2018-03-03 10:30:59 -06:00
DrChat
5a4dcd7043 [Vulkan] Shader module debug object names 2018-02-22 23:07:54 -06:00
DrChat
ea5c98248f [Vulkan] Remove dead vertex input code from the pipeline cache 2018-02-22 14:01:52 -06:00
DrChat
fe9c83c15b [Vulkan] First working version of dynamic vfetch! 2018-02-18 23:22:02 -06:00
DrChat
4e1a55f585 [Vulkan] Bind the vertex set to DS slot 2 2018-02-18 18:50:53 -06:00
DrChat
300656f788 Merge branch 'master' into vk_vfetch 2018-02-18 17:02:59 -06:00
DrChat
79308b477f Merge branch 'vtx_cache' 2018-02-18 16:49:32 -06:00
DrChat
05192e3c0f [Vulkan] Prevent negative scissor offsets 2018-02-18 15:14:34 -06:00
DrChat
1dba231049 [Vulkan] Handle primitive reset index on copy 2018-02-16 18:31:43 -06:00
DrChat
3e157972cc [Vulkan] Add a few size checks on vertex bindings (max across all cards is 32) 2018-01-03 16:40:31 -06:00
DrChat
26100c586f [Vulkan] Track render target state with the pipeline cache 2017-12-22 23:33:27 -06:00
DrChat
55d2c03943 [GPU] Rename a few misnamed vfetch fields 2017-12-18 17:24:52 -06:00
DrChat
5da59a95c9 Merge branch 'linux' 2017-12-16 17:15:49 -06:00
DrChat
49287579ff [Vulkan] Robustify error handling during initialization 2017-12-16 15:14:48 -06:00
DrChat
aaf281351d Format all code with new clang-format 2017-12-14 20:44:43 -06:00
DrChat
121a2d655a Vulkan: Properly support depth writes (or blit depth images if able) 2017-09-01 18:32:55 -05:00
gibbed
1570dcd24c Vulkan: 32_32_32_32 had wrong unsigned format. 2017-08-08 16:51:19 -05:00
Dr. Chat
6ab4bac542 Xenos: Fill in some of the unknown primitive types. 2017-06-10 20:09:03 -05:00
Cesys
8c4ca35a35 Ringbuffer init fix 2017-03-25 20:00:48 -07:00
Dan Weatherford
6f6e638f2f [vulkan] Point list rendering improvements
Implement register and vertex-shader-written point size. Fix point size
computation in geometry shader (convert pixel size to NDC scale using
viewport size). Fix point sprite coordinate generation.
2016-11-12 18:03:03 -06:00
Dr. Chat
9457c63a64 SPIR-V: Handle conversion of integer vertex input 2016-09-07 11:13:53 -05:00