Commit graph

135 commits

Author SHA1 Message Date
IndecisiveTurtle 4ec742281d clang format 2024-07-01 13:56:14 +03:00
IndecisiveTurtle 20e9012490 code: Add additional logging during init 2024-07-01 13:56:14 +03:00
IndecisiveTurtle 028e28e231 shader_recompiler: Apply buffer swizzle on vertex attribs 2024-07-01 13:56:14 +03:00
IndecisiveTurtle 1fba40369d renderer_vulkan: Prefer depth stencil read-only layout when possible
* Persona reads a depth attachment while it is being attached with writes disabled. Now this works without spamming vk validation errors
2024-07-01 13:56:14 +03:00
IndecisiveTurtle 69797f4d5d video_core: Track renderpass scopes properly 2024-07-01 13:56:14 +03:00
IndecisiveTurtle 73c2697ed1 video_core: Fix a few problems 2024-07-01 13:56:14 +03:00
IndecisiveTurtle c214014a81 image: Fix image type of 1D Array 2024-07-01 13:56:14 +03:00
psucien b920daa017 texture_cache: force storage usage bit to all images 2024-07-01 09:58:52 +02:00
psucien 5fb6daf583 libraries: gnmdriver: added initialization preamble to every first submit in a frame 2024-06-30 18:22:39 +02:00
psucien f3cd92bd5e texture_cache: detiler: added missing micro8x2 2024-06-30 15:54:59 +02:00
psucien 355fe18ecd renderer_vulkan: more formats conversion 2024-06-30 01:21:39 +03:00
psucien 5c4d807033 amdgpu: fix for wrong constant ram offset in WriteConstRam decoding 2024-06-30 01:21:39 +03:00
psucien 33939eb470 Metadata support (#223)
* texture_cache: more image usage flags

* texture_cache: metadata registration

* renderer_vulkan: initial CMask support

* renderer_vulkan: skip redundant FCE and FMask decompression passes

* renderer_vulkan: redundant VO surface registration removed

* renderer_vulkan: initial HTile support

* renderer_vulkan: added support for MSAA attachments

* renderer_vulkan: skip unnecessary metadata updates
2024-06-29 16:49:59 +03:00
georgemoralis ae709d6557 Merge pull request #219 from shadps4-emu/gnmdriver/hw_init
Complete HW state init functions
2024-06-27 17:33:58 +03:00
georgemoralis 0845d8f250 Stabilization8 (#218)
* disable configured flexible memory size (caused issues in some games)

* fixed case S_OR_B64 for blazing chrome

* submodules updates and fixes for latest SDL

* stubbed _sigprocmask (not handled and spams too much)

* added ReplaceOp case in Stencilop

* dummy ajm module added
2024-06-27 16:37:17 +03:00
psucien 0dfb003aca libraries: gnmdriver: complete HW stat init functions 2024-06-27 13:36:55 +02:00
georgemoralis 1bf2e69c97 clang format fixes 2024-06-26 20:32:08 +03:00
IndecisiveTurtle 40f16aadd4 liverpool: Fix assert for compute queues 2024-06-26 20:00:09 +03:00
IndecisiveTurtle ee50cbdcb6 shader_recompiler: More instructions and fix for swords of ditto 2024-06-26 18:03:09 +03:00
Alexandre Bouvier aae827786d fix system include paths 2024-06-25 18:17:16 +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 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
IndecisiveTurtle f830b08b3f linker: Set rela bits for all symbol types 2024-06-22 18:09:04 +03:00
IndecisiveTurtle fc1d1e6f73 shader_recompiler: Even more instructions 2024-06-22 18:09:04 +03:00
IndecisiveTurtle 9844aaaec2 kernel: Add scePthreadExit 2024-06-22 18:09:04 +03:00
psucien 2a87be7c00 texture_cache: return back image view usage override 2024-06-16 22:30:18 +02:00
psucien c53e86248f renderer_vulkan: simplified sRGB hack 2024-06-16 22:29:23 +02:00
psucien 24ca6a26b4 renderer_vulkan: BC3 formats conversion 2024-06-16 22:29:04 +02:00
psucien 61c9e70781 renderer_vulkan: added log entry for CS compiling 2024-06-16 20:51:35 +02:00
psucien 72948f379f video_out: proper sRGB output workflow 2024-06-15 23:24:34 +02:00
psucien 200fe2f31c video_core: added support for alternate CB channels order 2024-06-15 23:24:33 +02:00
psucien 44cdbdbf90 renderer_vulkan: sRGB swapchain 2024-06-15 23:24:33 +02:00
psucien e5c27356f2 videoout: register buffers in texture cache at VO creation time 2024-06-15 23:24:33 +02:00
psucien 06f45310b2 texture_cache: don't set color attachment usage flag for packed images 2024-06-15 23:24:33 +02:00
psucien 42af4aab41 video_core: shaders hash switched to one from binary header 2024-06-15 23:24:32 +02:00
psucien 92c3a794be renderer_vulkan: static vector for vertex buffers ranges 2024-06-15 23:20:14 +02:00
psucien 4b3acb7ccb renderer_vulkan: fixed buffers alignments 2024-06-15 23:20:13 +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
TheTurtle 1e5fed2e8a core: Fixup linux support (#195)
* tls: Implement for linux

* core: Implement memory manager for linux
2024-06-14 00:58:57 +03:00
psucien dca807f132 tracy: guards for missing vk profiler context 2024-06-11 22:57:37 +02:00
psucien 65a7155cd5 tracy: added Vulkan GPU profiling 2024-06-11 21:52:48 +02:00
psucien ce62ae31e5 tracy: basic markup and project palette 2024-06-11 12:14:33 +02:00
psucien fa198e228d renderer_vulkan: another fix for vertex buffer offsets 2024-06-10 23:20:32 +02:00
TheTurtle 769eb6a9ee video_core: Preliminary storage image support and more (#188)
* vk_rasterizer: Clear depth buffer when DB_RENDER_CONTROL says so

* video_core: Preliminary storage image support, more opcodes

* renderer_vulkan: a fix for vertex buffers merging

* renderer_vulkan: a heuristic for blend override when alpha out is masked

---------

Co-authored-by: psucien <bad_cast@protonmail.com>
2024-06-10 22:35:14 +03:00
psucien 94e574c660 texture_cache: detiler: added support for block coded 64bit images 2024-06-09 18:18:49 +02:00
psucien bda21bb659 texture_cache: detiler: added support for block coded 128bit images 2024-06-09 12:54:19 +02:00
psucien f3636b77b8 common: slot_vector moved into common 2024-06-08 01:19:51 +02:00
TheTurtle 718ade970f video_core: Add depth buffer support and fix some bugs (#172)
* memory: Avoid crash when alignment is zero

* Also remove unused file

* shader_recompiler: Add more instructions

* Also fix some minor issues with a few existing instructions

* control_flow: Don't emit discard for null exports

* renderer_vulkan: Add depth buffer support

* liverpool: Fix wrong color buffer number type and viewport zscale

* Also add some more formats
2024-06-07 16:26:43 +03:00
psucien 3adf7d9937 renderer_vulkan, config: option to toggle VK validation layer 2024-06-07 11:21:02 +02:00