Commit graph

26 commits

Author SHA1 Message Date
psucien e6e3aa0080 Initial instancing and asynchronous compute queues (#207)
* gnm_driver: added `sceGnmRegisterOwner` and `sceGnmRegisterResource`

* video_out: `sceVideoOutGetDeviceCapabilityInfo` for sdk runtime

* gnm_driver: correct vqid index range

* amdgpu: indirect buffer, release mem and some additional irq modes

* amdgpu: added ASC commands processor

* shader_recompiler: added support for fetch instance id

* amdgpu: classic bitfields for T# representation (debugging experience)

* renderer_vulkan: skip zero sized VBs from binding

* texture_cache: image upload logic moved into `Image` object

* gnm_driver: `sceGnmDingDong` implementation

* texture_cache: `Image` usage flags moved; correct VO buffer pitch
2024-06-22 19:50:20 +03:00
TheTurtle 556d88ecb4 core: Many things (#194)
* video_core: Add a few missed things

* libkernel: More proper memory mapped files

* memory: Fix tessellation buffer mapping

* Cuphead work

* sceKernelPollSema fix

* clang format

* fixed ngs2 lle loading and rtc lib

* draft pthreads keys implementation

* fixed return codes

* return error code if sceKernelLoadStartModule module is invalid

* re-enabled system modules and disable debug in libs.h

* Improve linux support

* fix windows build

* kernel: Rework keys

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-15 14:36:07 +03:00
psucien ce62ae31e5 tracy: basic markup and project palette 2024-06-11 12:14:33 +02:00
raphaelthegreat fc8e4a1f97 shader_recompiler: Add more instructions and fix a few thinhs 2024-06-05 22:22:34 +03:00
psucien ca27729153 amdgpu: render target size hint for old runtime 2024-06-05 16:34:04 +02:00
raphaelthegreat ead6ef58b5 shader_recompiler: Better branch detection + more opcodes 2024-06-02 03:05:40 +03:00
psucien 09bacf155e 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 99d20d4119 video_core: Implement basic compute shaders and more instructions 2024-05-30 01:39:24 +03:00
psucien acddeb5bbf video_core: amdgpu: fix for a deadlock in wait on idle 2024-05-29 16:03:37 +02:00
psucien 0dbebc1902 video_core: amdgpu: proper destruction of processing thread 2024-05-29 16:02:51 +02:00
psucien 1a04516c13 fix for leaks of coroutine handle 2024-05-27 13:48:35 +03:00
psucien b3c26564cd video_core: initial support for CE and ASC queues 2024-05-26 12:39:30 +02:00
TheTurtle 0aa04c60cb 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 3f6de86eb6 video_core: a fix for multi submits processing (temporary code) 2024-05-22 22:20:33 +02:00
psucien f56f6f7be4 config, video_core: null gpu configuration added 2024-05-22 20:19:42 +02:00
TheTurtle 4380066a90 video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
psucien 0d443ac467 amdgpu: non-blocking submitDone 2024-05-17 08:22:47 +02:00
psucien b1eaec2ea1 amdgpu: added support for several single GFX submits per frame 2024-05-17 00:01:47 +02:00
psucien 1857828b50 graphics: separate IRQ for GPU driven flips 2024-05-14 21:33:20 +02:00
psucien 8edce87dac review comments applied 2024-05-11 00:04:04 +02:00
psucien 8bb89aa746 core: gpu interrupt dispatcher 2024-05-10 21:48:01 +02:00
psucien 40923e5448 amdgpu: EOS event packet handling 2024-05-10 11:55:04 +02:00
psucien 758d695e31 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 8897e647b9 amdgpu: EOP irq and dummy PM4 handlers 2024-05-08 23:27:56 +02:00
psucien 8347026ecb core: libraries: gnmdriver: basic functionality extension (#120)
Also a bit of refactoring in `video_core`
2024-05-01 19:29:06 +03:00
TheTurtle 13fe78f0f5 video_core: Add basic command list processing (#117) 2024-04-30 01:23:28 +03:00