IndecisiveTurtle
d1e30e4807
liverpool: Num submits should be atomic
2024-07-15 01:28:36 +03:00
psucien
77d0535f9f
review comments applied
2024-07-14 23:25:41 +02:00
georgemoralis
9184e24307
dataformat used by DMC4
2024-07-14 23:23:10 +03:00
psucien
95f4bc836b
missing line fix
2024-07-14 17:11:54 +02:00
psucien
535a8f30e9
renderer: debug markers for ability to match cmdlists with rdoc captures
2024-07-14 11:37:52 +02:00
psucien
aecf84cb63
amdgpu: additional heuristic for CB extents detection
...
Found in CUSA00144
2024-07-14 10:59:22 +02:00
psucien
c068adda48
recompiler: proper VS inputs initialization
2024-07-13 01:00:24 +02:00
psucien
04933d6576
hot fix: reduce geometry staging 3Gb -> 512Mb
2024-07-11 20:29:53 +02:00
Vladislav Mikhalin
6add8bfb96
Filesystem errors and Base Array Layers ( #280 )
...
* Filesystem errors and Base Array Layers
* Fixed build for POSIX
* forgot 1 file
2024-07-11 14:37:21 +03:00
psucien
a7434352e6
Merge pull request #247 from viniciuslrangel/device-selector
...
Improve physical device selection in Vulkan renderer
2024-07-08 22:04:51 +02:00
offtkp
7e55a04889
Eliminate compiler warning
2024-07-08 01:17:42 +03:00
Vinicius Rangel
117265d1a7
Improve physical device selection in Vulkan renderer
...
Fix when two discrete gpu are present & memory heap size is now considered while sorting physical devices
2024-07-07 17:02:35 -03:00
psucien
a25872031c
renderer: a bit more formats to support
2024-07-07 14:34:36 +02:00
psucien
d2cf81cee0
renderer: don't let unbound color attachment affect pass's rendering area
2024-07-06 20:13:12 +02:00
psucien
317838122d
renderer: added support for instance step rates
2024-07-06 18:03:43 +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
DanielSvoboda
0a64cedf1c
Fix ShowSplash size ( #235 )
...
* Fix ShowSplash size
* enable isShowSplash
2024-07-05 00:16:06 +03:00
psucien
5317c45029
Recompiler: sampler patching ( #236 )
...
* recompiler: restored bfs in image instruction producers search
* recompiler: added pattern check for s# anisotropy modification
* added check if s# comes from constant load (e.g. EUD)
2024-07-05 00:15:57 +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
0d28d325da
texture_cache: Always validate for now
2024-07-01 22:53:01 +03:00
IndecisiveTurtle
4235095efd
host_shaders: Fix R8G8 detiler
2024-07-01 20:25:43 +03:00
IndecisiveTurtle
0a900115e8
video_core: Fix some regressions
2024-07-01 18:26:22 +03:00
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
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
psucien
e63115d3c7
renderer_vulkan: proper min uniform alignment
2024-06-06 22:24:20 +02:00
psucien
02ec0f6d4d
renderer_vulkan: fix for vertex buffer mapping offset
2024-06-06 21:41:59 +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
cfd1af1785
fix for re-use
2024-06-05 17:57:05 +02:00
psucien
76c1f0ae87
final touch
2024-06-05 16:34:17 +02:00
psucien
ca27729153
amdgpu: render target size hint for old runtime
2024-06-05 16:34:04 +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
a2eb813bee
video_core: added shader header files generator from Citra
2024-06-05 14:31:50 +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
b593b8e1fc
renderer_vulkan: unused extension removed
2024-06-04 12:43:23 +02:00
psucien
d732a03b2e
amdgpu: tiling mode introduced
2024-06-04 12:40:08 +02:00
psucien
59153f5c2a
amdgpu: surface bits per element LUT
2024-06-02 22:46:40 +02:00
psucien
8a6528bc5a
video_core: amdgpu: simply crash if an exception occured in coro
2024-06-02 19:16:05 +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
e637f52076
video_core: Moar shader instruction
2024-05-30 18:17:54 +03:00
psucien
57158da07b
video_core: renderer_vulkan: write mask fallback
2024-05-30 16:27:39 +02:00