shadPS4/externals
Lander Gallastegi f9bbde9c79
video_core: Implement DMA. (#2819)
* Import memory

* 64K pages and fix memory mapping

* Queue coverage

* Buffer syncing, faulted readback adn BDA in Buffer

* Base DMA implementation

* Preparations for implementing SPV DMA access

* Base impl (pending 16K pages and getbuffersize)

* 16K pages and stack overflow fix

* clang-format

* clang-format but for real this time

* Try to fix macOS build

* Correct decltype

* Add testing log

* Fix stride and patch phi node blocks

* No need to check if it is a deleted buffer

* Clang format once more

* Offset in bytes

* Removed host buffers (may do it in another PR)

Also some random barrier fixes

* Add IR dumping from my read-const branch

* clang-format

* Correct size insteed of end

* Fix incorrect assert

* Possible fix for NieR deadlock

* Copy to avoid deadlock

* Use 2 mutexes insteed of copy

* Attempt to range sync error

* Revert "Attempt to range sync error"

This reverts commit dd287b48682b50f215680bb0956e39c2809bf3fe.

* Fix size truncated when syncing range

And memory barrier

* Some fixes (and async testing (doesn't work))

* Use compute to parse fault buffer

* Process faults on submit

* Only sync in the first time we see a readconst

Thsi is partialy wrong. We need to save the state into the submission context itself, not the rasterizer since we can yield and process another sumission (if im not understanding wrong).

* Use spec const and 32 bit atomic

* 32 bit counter

* Fix store_index

* Better sync (WIP, breaks PR now)

* Fixes for better sync

* Better sync

* Remove memory coveragte logic

* Point sirit to upstream

* Less waiting and barriers

* Correctly checkout moltenvk

* Bring back applying pending operations in wait

* Sync the whole buffer insteed of only the range

* Implement recursive shared/scoped locks

* Iterators

* Faster syncing with ranges

* Some alignment fixes

* fixed clang format

* Fix clang-format again

* Port page_manager from readbacks-poc

* clang-format

* Defer memory protect

* Remove RENDERER_TRACE

* Experiment: only sync on first readconst

* Added profiling (will be removed)

* Don't sync entire buffers

* Added logging for testing

* Updated temporary workaround to use 4k pages

* clang.-format

* Cleanup part 1

* Make ReadConst a SPIR-V function

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-05-22 21:00:15 +03:00
..
cmake-modules print git info in windows title 2024-08-01 00:56:10 +03:00
date@a45ea7c17b update submodules (#2773) 2025-04-12 18:01:39 +03:00
dear_imgui@f4d9359095 Update ImGui submodule (#2779) 2025-04-13 19:27:20 +03:00
discord-rpc@19f66e6dca hotfix: Update discord-rpc to remove invasive macOS minimum linker flag. 2025-04-13 12:18:37 -07:00
ext-boost@ca6f230e67 shader_recompilers: Improvements to SSA phi generation and lane instruction elimination (#1667) 2024-12-05 23:14:16 +02:00
ffmpeg-core@b0de1dcca2 Update ImGui submodule (#2779) 2025-04-13 19:27:20 +03:00
fmt@64db979e38 update submodules (#2773) 2025-04-12 18:01:39 +03:00
gcn cmake: Cleanup (#2535) 2025-02-25 20:46:26 +02:00
glslang@ba1640446f update submodules (#2773) 2025-04-12 18:01:39 +03:00
half@1ddada2251 Add patches for F16C instructions under Rosetta 2. 2024-08-29 17:31:25 -07:00
LibAtrac9@ec8899dadf Update libatrac9 (#2524) 2025-02-24 08:26:14 +03:00
libpng@c1cc0f3f4c downgrade libpng to fix an issue with linux-qt (#2784) 2025-04-14 14:08:39 +03:00
libusb@a63a7e43e0 update submodules (#2773) 2025-04-12 18:01:39 +03:00
magic_enum@a413fcc9c4 update submodules (#2773) 2025-04-12 18:01:39 +03:00
MoltenVK externals: Simplify MoltenVK bundling. (#2842) 2025-04-24 19:40:50 -07:00
pugixml@caade5a28a update submodules (#2773) 2025-04-12 18:01:39 +03:00
renderdoc Move presentation to separate thread/improve sync (#303) 2024-07-28 15:54:09 +02:00
robin-map@4ec1bf19c6 update submodules (#2773) 2025-04-12 18:01:39 +03:00
sdl3@86b206dadf externals: Update SDL3 (#2896) 2025-05-10 13:02:45 +03:00
sirit@6b450704f6 video_core: Implement DMA. (#2819) 2025-05-22 21:00:15 +03:00
stb cmake: unbundle stb (#1601) 2024-12-05 23:10:27 +02:00
toml11@a01fe3b4c1 update submodules (#2773) 2025-04-12 18:01:39 +03:00
tracy@143a53d198 update: Tracy 0.11.1 2024-11-24 11:37:14 +01:00
vma@f378e7b3f1 update submodules (#2773) 2025-04-12 18:01:39 +03:00
vulkan-headers@5ceb9ed481 update submodules (#2773) 2025-04-12 18:01:39 +03:00
xbyak@44a72f3692 update submodules (#2773) 2025-04-12 18:01:39 +03:00
xxhash@953a09abc3 update submodules (#2773) 2025-04-12 18:01:39 +03:00
zlib-ng@fd0d263ced update submodules (#2773) 2025-04-12 18:01:39 +03:00
zydis@120e0e705f update submodules (#2773) 2025-04-12 18:01:39 +03:00
CMakeLists.txt externals: Remove winpthreads. (#2932) 2025-05-15 13:59:34 -07:00