Commit graph

58 commits

Author SHA1 Message Date
squidbus 09727ce9d6 Define tessellation_factors_ring_addr relative to end of system reserved area. 2024-07-21 22:36:12 +03:00
squidbus 6648589ef9 Set minimum macOS target to 11 and fix compile errors. 2024-07-21 22:36:12 +03:00
IndecisiveTurtle 1c99ccf6dc Add comments 2024-07-17 15:52:40 +03:00
IndecisiveTurtle 5ce901d78b event_queue: Add clear flag to events and don't return error 2024-07-17 14:50:26 +03:00
IndecisiveTurtle 33615d1d32 gnmdriver: Fix incorrect trailing nop insertion in indirect draws 2024-07-17 14:48:30 +03:00
georgemoralis 9a7a508b80 Merge pull request #287 from polybiusproxy/dev
gnmdriver: Implement shader functions
2024-07-15 07:47:33 +03:00
psucien 77d0535f9f review comments applied 2024-07-14 23:25:41 +02:00
psucien ada0513de0 libraries: gnmdriver: added missing ASC PM4 dump 2024-07-14 18:27:28 +02:00
Daniel R. 90a0180203 clang-format 2024-07-12 11:03:55 +02:00
Daniel R. 28ace24b3f gnmdriver: Implement shader functions 2024-07-12 11:00:11 +02:00
psucien 6132e03a2c kernel: equeue: minor refactoring 2024-07-11 13:14:42 +03:00
psucien 51557590be gnmdriver: added sceGnmFindResourcesPublic stub 2024-07-07 13:47:01 +02:00
psucien 2da61fa0b3 gnmdriver, amdgpu: added gpu idle IRQ; submission lock logic improved 2024-07-06 18:03:34 +02:00
TheTurtle 60c63da3fd shader_recompiler: Check usage before enabling capabilities (#245)
* vk_instance: Better feature check

* shader_recompiler: Make most features optional

* vk_instance: Bump extension vector size

* resource_tracking_pass: Perform BFS for sharp tracking

* The Witness triggered this
2024-07-06 02:42:16 +03:00
TheTurtle d9873e30bc shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store (#231)
* shader_recompiler: Add LDEXP

* shader_recompiler: Add most image integer atomic ops

* shader_recompiler: Implement shared memory load/store

* shader_recompiler: More image atomics

* externals: Update sirit

* clang format

* cmake: Add missing files

* shader_recompiler: Fix some atomic bugs

* shader_recompiler: Vs outputs

* shader_recompiler: Shared mem has side-effects, fix format component order

* shader_recompiler: Inline constant buffer impl

* video_core: Fix regressions

* Work

* Fixup a few things
2024-07-05 00:15:44 +03:00
IndecisiveTurtle 20e9012490 code: Add additional logging during init 2024-07-01 13:56:14 +03:00
psucien 5fb6daf583 libraries: gnmdriver: added initialization preamble to every first submit in a frame 2024-06-30 18:22:39 +02:00
psucien d7e058ce96 libraries: gnmdriver: sceGnmDrawInitToDefaultContextState and sceGnmDrawInitToDefaultContextState400 implementation 2024-06-30 01:21:39 +03:00
psucien dba04e213d libraries: gnmdriver: fix for incorrect offset in sceGnmDrawInitDefaultHardwareState175 2024-06-30 01:21:39 +03:00
psucien d69779f291 things prettified 2024-06-27 15:47:18 +02:00
psucien 0dfb003aca libraries: gnmdriver: complete HW stat init functions 2024-06-27 13:36:55 +02:00
psucien 7ad9d4a0d3 common: Common namespace for the slot vector container 2024-06-25 09:31:32 +02:00
psucien 117f859021 libraries: gnm_driver: added sceGnmDrawIndexIndirect and sceGnmDrawIndirect 2024-06-24 22:53:59 +02:00
psucien 25ab44d64e libraries: gnm_driver: added sceGnmSetEmbeddedPsShader 2024-06-24 14:51:17 +02:00
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
psucien 42af4aab41 video_core: shaders hash switched to one from binary header 2024-06-15 23:24:32 +02:00
psucien b8c57ddcf8 gnmdriver: fix for pm4 dump name in some erroneous cases 2024-06-15 23:20:14 +02: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
raphaelthegreat 5f97816fd7 core: Rework memory manager 2024-06-10 02:13:44 +03:00
psucien 80be54140a gnmdriver: sceGnmDrawInitDefaultHardwareState175 added 2024-06-08 23:42:09 +02:00
psucien 92bf7b35d4 libs: gnmdriver: get tessellation ring factor address 2024-06-08 01:19:52 +02:00
psucien 99e885bc9f libs: gnmdriver: map compute queue 2024-06-08 01:19:52 +02:00
psucien d43ee1051c fix for name of the first dumped cmdb 2024-06-02 18:59:41 +02: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 05c4542301 video_core: Address some feedback 2024-05-27 22:13:55 +03:00
raphaelthegreat 8bd9bf1a7d video_core: Add image support 2024-05-27 18:25:45 +03:00
psucien b3c26564cd video_core: initial support for CE and ASC queues 2024-05-26 12:39:30 +02:00
psucien 3f6de86eb6 video_core: a fix for multi submits processing (temporary code) 2024-05-22 22:20:33 +02:00
TheTurtle 4380066a90 video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
psucien 8c95a2ba75 gnmdriver: submission lock moved out from gpu 2024-05-17 23:31:19 +02:00
psucien 851bd00251 a fair multi-submissions support 2024-05-17 08:47:38 +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 7e505afb58 gnm_driver: fixed a typo and fields initialization 2024-05-10 22:58:53 +02:00
psucien 8bb89aa746 core: gpu interrupt dispatcher 2024-05-10 21:48:01 +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 717b00d63b gnm_driver: sceGnmSubmitAndFlipCommandBuffers implementation 2024-05-08 22:55:39 +02:00
psucien f0ac475ffd gnm_driver: various fixes 2024-05-08 22:53:55 +02:00