psucien
a25872031c
renderer: a bit more formats to support
2024-07-07 14:34:36 +02: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
0d28d325da
texture_cache: Always validate for now
2024-07-01 22:53:01 +03:00
IndecisiveTurtle
4ec742281d
clang format
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
f3cd92bd5e
texture_cache: detiler: added missing micro8x2
2024-06-30 15:54:59 +02: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
psucien
7ad9d4a0d3
common: Common
namespace for the slot vector container
2024-06-25 09:31:32 +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
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
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
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
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
psucien
a3ee11914a
review iteration
2024-06-07 08:39:03 +02:00
psucien
0723625321
texture_cache: detiler: more verbosity in print
2024-06-07 00:12:16 +02:00
psucien
a60cf29b61
texture_cache: fix for forgotten cb tiling info update
2024-06-07 00:12:16 +02:00
psucien
7c9325ddbb
texture_cache: detiler: redundant flag removed
2024-06-07 00:12:15 +02:00
psucien
ae6e246f9c
renderer_vulkan: proper barriers
2024-06-06 23:40:31 +02:00
raphaelthegreat
6fbd20c2d8
shader: Fix block processing order in dead code elimination pass
2024-06-06 02:46:36 +03:00
raphaelthegreat
fc8e4a1f97
shader_recompiler: Add more instructions and fix a few thinhs
2024-06-05 22:22:34 +03:00
TheTurtle
4779381eec
core: Properly implement TLS ( #164 )
...
* core: Split module code from linker
* linker: Properly implement thread local storage
* kernel: Fix a few memory functions
* kernel: Implement module loading
* Now it's easy to do anyway with new module rework
2024-06-05 22:08:18 +03:00
psucien
0d8c705810
texture_cache: detiler image view moved into image class
2024-06-05 18:37:06 +02:00
psucien
304c266232
texture_cache: detiler: change staging to faster stream buffer
2024-06-05 18:16:31 +02:00
psucien
76c1f0ae87
final touch
2024-06-05 16:34:17 +02:00
psucien
d6df222351
texture_cache: detiler: shader module release and debug name
2024-06-05 16:33:26 +02:00
psucien
88a0715aae
texture_cache: detiler: m8x1 and m8x4 shaders
2024-06-05 16:14:22 +02:00
psucien
10396a38af
texture_cache: a support for m8x1 and m8x4 layouts added to the detiler
2024-06-05 13:10:48 +02:00
psucien
d732a03b2e
amdgpu: tiling mode introduced
2024-06-04 12:40:08 +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
psucien
9cb6ea82a0
Linux build fix
2024-05-30 12:09:33 +02:00
raphaelthegreat
99d20d4119
video_core: Implement basic compute shaders and more instructions
2024-05-30 01:39:24 +03:00
psucien
b1f76d5e0a
video_core: texture_cache: proper UniqueImage
class movers
2024-05-29 17:17:24 +02:00
raphaelthegreat
8bd9bf1a7d
video_core: Add image support
2024-05-27 18:25:45 +03:00