Commit Graph

1847 Commits

Author SHA1 Message Date
Triang3l
22eb8747d3 [GPU/Kernel] Fix space-prefixed hexadecimal number printing 2022-01-29 14:02:55 +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
14b69fdb00 [GPU] vfetch_full fetching nothing still must calculate the address 2022-01-09 16:26:05 +03:00
Triang3l
d6188c5d7e [GPU] Reuse base+index*stride in vfetch_mini instead of reloading the index GPR
The wheel shader in 4D530910 does vfetch_full to r0 with the index from r0.x, and then vfetch_mini.
Thanks @Gliniak for the finding :3
Also small formatting cleanup in commented-out code.
2022-01-09 14:58:38 +03:00
Joel Linn
4f258b2ee9 [GPU, Vulkan] Fix typo in non AMD64 code
* `copy_and_swap_16_unaligned` -> `copy_cmp_swap_16_unaligned`.
2022-01-02 16:47:05 -06:00
Wunkolo
1a8068b151 [Base] Add user-literals for several memory sizes
Rather than using `n * 1024 * 1024`, this adds a convenient `_MiB`/`_KiB` user-literal to the new `literals.h` header to concisely describe units of memory in a much more readable way. Any other useful literals can be added to this header. These literals exist in the `xe::literals` namespace so they are opt-in, similar to `std::chrono` literals, and require a `using namespace xe::literals` statement to utilize it within the current scope.

I've done a pass through the codebase to replace trivial instances of `1024 * 1024 * ...` expressions being used but avoided anything that added additional casting complexity from `size_t` to `uint32_t` and such to keep this commit concise.
2022-01-02 11:51:31 -06:00
Dr. Chat
509a1fa386 [GPU] Fix a crash when GetWindowTitleText is called before the texture cache is initialized 2021-12-12 22:51:24 -06:00
Triang3l
e25167d2bc [GPU] Fix quads>triangles cvar, primitive type test cases 2021-12-12 18:28:02 +03:00
Triang3l
9606ff2a31 [D3D12] Fix 8192 texture size storage 2021-12-12 16:27:49 +03:00
Triang3l
d813f7435b [GPU] Revert 64bpp resolve addressing regression caused by a misunderstanding 2021-12-12 14:32:03 +03:00
Triang3l
793cebd6a7 [GPU] Explain 1.5x scaling issues in a comment 2021-12-12 14:31:05 +03:00
Triang3l
38b4741c8f [GPU] Mostly generic, not square-only resolution scaling 2021-12-11 21:55:33 +03:00
Jack Harper
211cc99f42 Rename control_flow_analysis_pass.cpp to control_flow_analysis_pass.cc
All of the (non-third party) cpp impl files use the .cc extension, this one doesn't. I was digging through the code and found this one so thought I might as well rename it whilst I'm here!
2021-11-13 02:18:22 +03:00
Triang3l
fdec0ab332 [Code] Make union usage more consistent 2021-11-03 20:45:09 +03:00
Triang3l
28fec845d5 [GPU] Document memexport/resolve formats with more details 2021-10-22 20:00:41 +03:00
Joel Linn
cfd18b89f8 [GPU] GCC build fix for render target cache 2021-09-27 13:43:57 +03:00
Triang3l
b77e6eb8e6 [D3D12] Fix syntax warnings reported by Clang 2021-09-12 17:12:33 +03:00
Triang3l
4f95e094e4 [GPU] Remove outdated forward declarations from trace_dump.h 2021-09-12 14:32:41 +03:00
Triang3l
e720e0a540 [Code] Remove game names from code comments (most of at least) 2021-09-05 21:27:40 +03:00
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
Triang3l
7edfdc2672 Merge branch 'master' into linux_windowing 2021-08-26 22:58:14 +03:00
Triang3l
6412bb8910 [Vulkan] Remove a remaining Volk reference 2021-07-12 00:00:06 +03:00
Triang3l
692e329e9c [Vulkan] Load Vulkan manually for more lifetime and extension control 2021-07-11 22:56:01 +03:00
Triang3l
458e4e1a31 [GPU] Official RB name from RDNA/GCN/TeraScale/Xenos docs/news 2021-07-01 23:43:01 +03:00
Triang3l
1cf12ec70b [UI/HID] ui::VirtualKey enum 2021-07-01 23:32:26 +03:00
gibbed
c6259241a2 [GPU] Complain when command packet is 0xCDCDCDCD. 2021-06-28 20:32:52 -05:00
Sandy Carter
005e0e21c1 [linux graphics] Remove GLEW
OpenGL is not used in the whole stack.
All references are removed.
2021-06-19 13:08:12 -04:00
Sandy Carter
0380067105 [linux vulkan] Remove linking directly with vulkan
Using volk means vulkan linking is done at runtime with the dl library.
2021-06-19 13:08:12 -04:00
Sandy Carter
271c91e115 [ui gtk] Fix init, resize and destroy
Prevent Vulkan Swap before display context is assigned.
Prevent resize while fullscreen (like in windows impl).
Use superclass Resize implementation to reduce code duplication.
Remove recursive call to GTKWindow::Close().
Destroy xcb window after superclass Close().
Set hwnd to null after closing on windows implementation.
2021-06-19 13:08:12 -04:00
Triang3l
3a2c7894d2 [D3D12] Remove unused D3D12RenderTargetCache ref from D3D12RenderTarget 2021-06-19 14:06:37 +03:00
Triang3l
4a95f72fba [GPU] RT size function adjustments for Vulkan convenience 2021-06-19 13:57:14 +03:00
Triang3l
8e83042bdf [GPU] Fix host_depth_store_2xmsaa CS after 2x MSAA sample swap 2021-06-14 19:12:12 +03:00
Triang3l
e48a678ac7 [GPU] Undo depth_and_color_formats_out renaming 2021-06-14 19:00:57 +03:00
Triang3l
357aa1cdd3 [GPU] Fix RT view and pipeline sRGB mismatch 2021-06-14 17:30:56 +03:00
Triang3l
50bb35b4b4 [GPU] Polygon offset scale factor in xenos.h 2021-06-09 20:46:24 +03:00
Triang3l
9e6aec4535 [D3D12] Tiny IssueDraw initialization cleanup 2021-06-09 20:23:02 +03:00
Triang3l
d00dd5a2bc [GPU] Disable primitive reset for non-list types in primitive processor 2021-06-09 20:22:24 +03:00
Triang3l
70a3919f9f [D3D12] Primitive processor frame_index_buffers_.clear() in shutdown for safety 2021-06-08 21:28:30 +03:00
Triang3l
796eb0f430 [D3D12] Update shader bytecode .h path in premake5.lua 2021-06-07 21:28:39 +03:00
Triang3l
89ddf6456a [GPU] Disable 3D slice pitch assertion for non-3D textures 2021-06-07 16:40:45 +03:00
Triang3l
22ee200f3e [GPU] Use polygon mode only for DualMode, not non-Disabled 2021-06-07 16:40:01 +03:00
Triang3l
3f156f26c4 [D3D12] Take 0 being bottom-right sample with 2x MSAA in D3D12 into account 2021-06-06 20:58:50 +03:00
Triang3l
c4a5048e62 [GPU] More specific note about slope-scaled depth bias 2021-06-06 18:33:06 +03:00
Triang3l
dce6938827 [D3D12] ROV sample depth via ddxy(z), DSV depth bias cleanup 2021-06-06 18:27:43 +03:00
Triang3l
12a907bfa5 [GPU] Shaders to common, xb buildshaders instead of buildhlsl 2021-06-05 18:53:53 +03:00
Triang3l
3c20a83972 [Base] Float clamping cleanup 2021-06-05 14:55:55 +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
Joel Linn
806a33d625 [GPU] Use le<> type for depth sample counts 2021-06-02 22:28:43 -05:00
Joel Linn
6dfa36d1b8 [GPU] Misc GCC build fixes 2021-06-02 22:28:43 -05:00
Joel Linn
a86d7173e1 Refactor FourCC magic uses
- Use new fourcc_t type
- Improves compiler compatibility by removing multi chars
2021-06-02 22:28:43 -05:00