Commit Graph

62 Commits

Author SHA1 Message Date
raphaelthegreat 02a50265f8 shader_recompiler: Better branch detection + more opcodes 2024-06-02 03:05:40 +03:00
psucien f624f7749c
Fixes and QoL (#159)
* to ensure that we're not unlocking submits too early

* a final touch

* video_core: texture_cache: fix for page table corruption

* core: linker: a name for the game main thread

* libraries: gnmdriver: an option to dump application command lists

* libraries: kernel: named guest threads

* video_core: added a heuristic for determination of CB/DB surface extents

* fix for rebase leftover
2024-06-01 23:50:03 +03:00
raphaelthegreat dd91456b48 video_core: Moar shader instruction 2024-05-30 18:17:54 +03:00
psucien 365df2a3ac video_core: renderer_vulkan: write mask fallback 2024-05-30 16:27:39 +02:00
psucien 8e6d492524 video_core: renderer_vulkan: added color mask support 2024-05-30 12:55:37 +02:00
psucien 767e13cccb Linux build fix 2024-05-30 12:09:33 +02:00
psucien 9227a2b868 video_core: multiple color attachments support 2024-05-30 11:21:26 +02:00
psucien d05cbd88bb video_core: renderer_vulkan: support for passes w\o a fs 2024-05-30 09:42:44 +02:00
raphaelthegreat 58de7ff55a video_core: Implement basic compute shaders and more instructions 2024-05-30 01:39:24 +03:00
psucien 055dec1149 video_core: texture_cache: proper `UniqueImage` class movers 2024-05-29 17:17:24 +02:00
psucien a67b8f7a0b video_core: renderer_vulkan: proper inclusion of maintenance4 2024-05-29 17:06:46 +02:00
psucien 5f37a6be83 video_core: amdgpu: fix for a deadlock in wait on idle 2024-05-29 16:03:37 +02:00
psucien e5486cc57f video_core: amdgpu: proper destruction of processing thread 2024-05-29 16:02:51 +02:00
raphaelthegreat 4d728e943d video_core: Address some feedback 2024-05-27 22:13:55 +03:00
raphaelthegreat d59b102b6f video_core: Add image support 2024-05-27 18:25:45 +03:00
georgemoralis 729e166cd3
Merge pull request #146 from shadps4-emu/video_out/new_gpu_frontend
video_core: initial support for CE and ASC queues
2024-05-27 13:50:25 +03:00
psucien 09c7379fe0 fix for leaks of coroutine handle 2024-05-27 13:48:35 +03:00
TheTurtle 8dfa5782b2
video_core: Add constant buffer support (#147) 2024-05-26 15:51:35 +03:00
psucien 2963790e0d video_core: initial support for CE and ASC queues 2024-05-26 12:39:30 +02:00
TheTurtle 3c90b8ac00
video_core: Bringup some basic functionality (#145)
* video_core: Remove hack in rasterizer

* The hack was to skip the first draw as the display buffer had not been created yet and the texture cache couldn't create one itself. With this patch it now can, using the color buffer parameters from registers

* shader_recompiler: Implement attribute loads/stores

* video_core: Add basic vertex, index buffer handling and pipeline caching

* externals: Make xxhash lowercase
2024-05-25 15:33:15 +03:00
psucien 62fd72009b video_core: a fix for multi submits processing (temporary code) 2024-05-22 22:20:33 +02:00
psucien d752aa5357 config, video_core: null gpu configuration added 2024-05-22 20:19:42 +02:00
TheTurtle 8730968385
video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
georgemoralis bb89b1c95a
Merge pull request #140 from shadps4-emu/additional_evq_func
A bunch of new functional and small improvements
2024-05-18 09:46:14 +03:00
psucien 8455574615 gnmdriver: submission lock moved out from gpu 2024-05-17 23:31:19 +02:00
psucien 85704e26a0 renderer_vulkan: state tracking for `Image` resources 2024-05-17 12:44:07 +02:00
psucien 64b2e58285 a fair multi-submissions support 2024-05-17 08:47:38 +02:00
psucien dbdb3dc77e amdgpu: non-blocking submitDone 2024-05-17 08:22:47 +02:00
psucien 9df1a8d15b amdgpu: added support for several single GFX submits per frame 2024-05-17 00:01:47 +02:00
psucien 38061ae636 fix for crash in apps when splash is missing 2024-05-16 16:59:38 +03:00
psucien 8c4f72f404 review comments 2024-05-16 16:59:04 +03:00
georgemoralis c9b5b5e963 show title splash while the game is loading 2024-05-16 16:58:14 +03:00
TheTurtle 55855b4195
core: Implement new memory manager (#133)
* core: Implement new memory manager

* ci: Attempt to fix linux build

* code: Fix a few build errors
2024-05-16 15:55:50 +03:00
georgemoralis 055ffff463
Merge pull request #132 from shadps4-emu/gpu_flip
graphics: separate IRQ for GPU driven flips
2024-05-14 23:56:12 +03:00
psucien 45e354fd77
renderer_vk: missing barriers (#134) 2024-05-14 23:46:34 +03:00
psucien 8677972505 graphics: separate IRQ for GPU driven flips 2024-05-14 21:33:20 +02:00
psucien d804a66aa2 review comments applied 2024-05-11 00:04:04 +02:00
psucien 37014394fd amdgpu: return perfcounter on EOP 2024-05-10 23:16:56 +02:00
psucien 923baf0164 core: gpu interrupt dispatcher 2024-05-10 21:48:01 +02:00
psucien 581688c1ac amdgpu: EOS event packet handling 2024-05-10 11:55:04 +02:00
psucien 8e0c67f12e amdgpu: `wait_reg_mem` and `write_data` implementation
Command list parsing is temporary moved to async task
2024-05-09 22:59:35 +02:00
psucien bfb18135fb amdgpu: EOP irq and dummy PM4 handlers 2024-05-08 23:27:56 +02:00
psucien 498c5eb0cd gnm_driver: `sceGnmSubmitAndFlipCommandBuffers` implementation 2024-05-08 22:55:39 +02:00
psucien 4746f514ff gnm_driver: various fixes 2024-05-08 22:53:55 +02:00
psucien 4206ec3c94 video_core, kernel: added gfx eop event handling 2024-05-07 22:46:54 +02:00
psucien 7e8d90d609
core: libraries: gnmdriver: basic functionality extension (#120)
Also a bit of refactoring in `video_core`
2024-05-01 19:29:06 +03:00
TheTurtle 1b9bf924ca
core: Rewrite thread local storage implementation (#118) 2024-05-01 13:38:41 +03:00
TheTurtle b94efcba5a
video_core: Add basic command list processing (#117) 2024-04-30 01:23:28 +03:00
psucien 2696733cad
video_core: prefer discrete gpu if available (#116)
* video_core: prefer discrete gpu if available

* ci: Upgrade to clang format 17

* rewrite w\o std::zip usage

---------

Co-authored-by: raphaelthegreat <47210458+raphaelthegreat@users.noreply.github.com>
2024-04-30 00:19:12 +03:00
georgemoralis 0727775c88 give texture cache exception handler priority over tls exception handler 2024-04-29 19:26:35 +03:00