psucien
27cb218584
video_core: CPU flip relay ( #415 )
...
* video_core: cpu flip is propagated via gpu thread now
* tentative fix for cpu flips racing
* libraries: videoout: better flip status handling
2024-08-14 11:36:11 +02:00
TheTurtle
d8b9d82ffa
video_core: Various fixes ( #423 )
...
* video_core: Various fixes
* clang format
2024-08-13 20:05:10 +03:00
squidbus
d1a033b6af
Fix some Vulkan validation errors on macOS. ( #420 )
2024-08-13 10:30:47 +03:00
TheTurtle
1fb0da9b89
video_core: Crucial buffer cache fixes + proper GPU clears ( #414 )
...
* translator: Use templates for stronger type guarantees
* spirv: Define buffer offsets upfront
* Saves a lot of shader instructions
* buffer_cache: Use dynamic vertex input when available
* Fixes issues when games like dark souls rebind vertex buffers with different stride
* externals: Update boost
* spirv: Use runtime array for ssbos
* ssbos can be large and typically their size will vary, especially in generic copy/clear cs shaders
* fs: Lock when doing case insensitive search
* Dark Souls does fs lookups from different threads
* texture_cache: More precise invalidation from compute
* Fixes unrelated render targets being cleared
* texture_cache: Use hashes for protect gpu modified images from reupload
* translator: Treat V_CNDMASK as float
* Sometimes it can have input modifiers. Worst this will cause is some extra calls to uintBitsToFloat and opposite. But most often this is used as float anyway
* translator: Small optimization for V_SAD_U32
* Fix review
* clang format
2024-08-13 09:21:48 +03:00
squidbus
284035d3e2
Enable VK_EXT_robustness2 nullDescriptor only if supported.
2024-08-12 14:52:46 -07:00
psucien
a15a93997c
unlink sync2 if not present (tentative fix for #418 )
2024-08-12 22:52:21 +02:00
psucien
2ba3221fc9
fix for Linux compilation ( #416 )
2024-08-12 20:10:42 +02:00
psucien
3d0fdf11f0
Build stabilization ( #413 )
...
* shader_recompiler: fix for float convert and debug asserts
* libraries: kernel: correct return code on invalid semaphore
* amdgpu: additional case for cb extents retrieval heuristic
* removed redundant check in assert
* amdgpu: fix for linear tiling mode detection fin color buffers
* texture_cache: fix for unexpected scheduler flushes by detiler
* renderer_vulkan: missing depth barrier
* texture_cache: missed slices in rt view; + detiler format
2024-08-12 17:23:01 +03:00
psucien
ace39957ef
Video Core: debug tools ( #412 )
...
* video_core: better use of rdoc markers
* renderer_vulkan: added gpu assisted validation
* renderer_vulkan: make nv_checkpoints operational
* video_core: unified Vulkan objects names
2024-08-12 13:46:45 +02:00
psucien
3e2d4d6b79
Gnmdriver: More functions ( #410 )
...
* libraries: gnmdriver: added `sceGnmGetGpuCoreClockFrequency`
* libraries: gnmdriver: `sceGnmSetVgtControl` added
* amdgpu: gpuclock64 in write eop packet
2024-08-12 13:29:57 +02:00
IndecisiveTurtle
3fd2abdd5b
vk_graphics_pipeline: Fix regression
2024-08-08 17:01:03 +03:00
TheTurtle
381ba8c7a5
video_core: Implement guest buffer manager ( #373 )
...
* video_core: Introduce buffer cache
* video_core: Use multi level page table for caches
* renderer_vulkan: Remove unused stream buffer
* fix build
* oops forgot optimize off
2024-08-08 15:02:10 +03:00
TheTurtle
159be2c7f4
video_core: Minor fixes ( #366 )
...
* data_share: Fix DS instruction
* vk_graphics_pipeline: Fix unnecessary invalidate
* spirv: Remove subgroup id
* vector_alu: Simplify mbcnt pattern
* shader_recompiler: More instructions
* clang format
* kernel: Fix cond memory leak and reduce spam
* liverpool: Print error on exception
* build fix
2024-08-05 13:45:28 +03:00
DanielSvoboda
cdff4af38d
add-SurfaceFormat ( #365 )
...
[Debug] <Critical> liverpool_to_vk.cpp:SurfaceFormat:395: Unreachable code!
CUSA24620
Unknown data_format=7 and num_format=7
CUSA03082
Unknown data_format=2 and num_format=4
CUSA19345
Unknown data_format=34 and num_format=7
CUSA02411
Unknown data_format=1 and num_format=9
A duplicate was also removed.
2024-08-04 22:17:34 +02:00
DanielSvoboda
7308864537
SampleCountFlagBits::e16 - GetGpuClock64 ( #360 )
...
* SampleCountFlagBits::e16
* GpuClock64
* GpuClock64
* Update pm4_cmds.h
* Update pm4_cmds.h
2024-08-04 15:49:43 +02:00
raziel1000
413402600b
missing eR8Srgb
2024-07-31 02:07:02 -06:00
raziel1000
ec1335911b
added data_format=1 and num_format=9
2024-07-31 01:24:44 -06:00
raziel1000
51c89a9958
added data_format=10 and num_format=5
2024-07-31 00:32:50 -06:00
TheTurtle
a7c9bfa5c5
shader_recompiler: Small instruction parsing refactor/bugfixes ( #340 )
...
* translator: Implemtn f32 to f16 convert
* shader_recompiler: Add bit instructions
* shader_recompiler: More data share instructions
* shader_recompiler: Remove exec contexts, fix S_MOV_B64
* shader_recompiler: Split instruction parsing into categories
* shader_recompiler: Better BFS search
* shader_recompiler: Constant propagation pass for cmp_class_f32
* shader_recompiler: Partial readfirstlane implementation
* shader_recompiler: Stub readlane/writelane only for non-compute
* hack: Fix swizzle on RDR
* Will properly fix this when merging this
* clang format
* address_space: Bump user area size to full
* shader_recompiler: V_INTERP_MOV_F32
* Should work the same as spirv will emit flat decoration on demand
* kernel: Add MAP_OP_MAP_FLEXIBLE
* image_view: Attempt to apply storage swizzle on format
* vk_scheduler: Barrier attachments on renderpass end
* clang format
* liverpool: cs state backup
* shader_recompiler: More instructions and formats
* vector_alu: Proper V_MBCNT_U32_B32
* shader_recompiler: Port some dark souls things
* file_system: Implement sceKernelRename
* more formats
* clang format
* resource_tracking_pass: Back to assert
* translate: Tracedata
* kernel: Remove tracy lock
* Solves random crashes in Dark Souls
* code: Review comments
2024-07-30 23:32:40 +02:00
Vasyl Baran
3e6af54ea3
Fixup for detiler artifacts on macOS
2024-07-28 22:21:18 +03:00
psucien
30198d5ffc
Surface management rework (2/3) ( #329 )
...
* texture_cache: interface refactoring
* a bit of fixes and improvements
* texture_cache: macro tile extents for bpp 128
* texture_cache: detiler: prefer host memory for large buffers upload
2024-07-28 17:20:42 +02:00
TheTurtle
0d6edaa0a0
Move presentation to separate thread/improve sync ( #303 )
...
* video_out: Move presentation to separate thread
* liverpool: Better sync for CPU flips
* driver: Make flip blocking
* videoout: Proper flip rate and vblank management
* config: Add vblank divider option
* clang format
* videoout: added `sceVideoOutWaitVblank`
* clang format
* vk_scheduler: Silly merge conflict
* externals: Add renderdoc API
* clang format
* reuse
* rdoc: manual capture trigger
* clang fmt
---------
Co-authored-by: psucien <168137814+psucien@users.noreply.github.com>
2024-07-28 15:54:09 +02:00
squidbus
225ca3ac5b
Update format list for rebase and sort and remove duplicates.
2024-07-21 22:36:12 +03:00
squidbus
fadf03909c
Add a few missing used formats from detiling.
2024-07-21 22:36:12 +03:00
squidbus
4fd3af995e
Change format list from vector to array/span.
2024-07-21 22:36:12 +03:00
squidbus
68e1a6a596
Tidy up Vulkan extension list.
2024-07-21 22:36:12 +03:00
squidbus
175ffe8ce3
Add fallback system for unsupported pixel formats.
2024-07-21 22:36:12 +03:00
squidbus
35d629a730
Downgrade Vulkan requirement to 1.2 with extensions.
2024-07-21 22:36:12 +03:00
squidbus
66fa29059c
Add initial macOS support.
2024-07-21 22:36:12 +03:00
TheTurtle
36d528743a
vk_scheduler: Fix pending op check
2024-07-21 17:41:46 +03:00
TheTurtle
403a5a57b1
vk_scheduler: Add api for defering operations ( #311 )
2024-07-21 15:42:32 +03:00
psucien
64459f1a76
Surface management rework (1/3) ( #307 )
...
* amdgpu: proper CB and DB sizes calculation; minor refactoring
* texture_cache: separate file for image_info
* texture_cache: image guest address moved into image info
* texture_cache: surface size calculation
* shader_recompiler: fixed sin/cos
Thanks to red_pring and gandalfthewhite0173
* initial preparations for subresources upload
* review comments
2024-07-20 12:51:21 +03:00
georgemoralis
250bfbb494
Update liverpool_to_vk.cpp
2024-07-18 18:19:46 +03:00
georgemoralis
25e95c959a
Merge branch 'main' into miscFixes6
2024-07-18 18:18:10 +03:00
georgemoralis
439c0be9a6
clang format fix
2024-07-17 17:57:54 +03:00
IndecisiveTurtle
1208661d64
Remove bc6
2024-07-17 17:06:09 +03:00
IndecisiveTurtle
cd009cfec6
shader_recompiler: Normal gathers
2024-07-17 16:49:45 +03:00
IndecisiveTurtle
53fb73e95f
rasterizer: Bump staging to 1GB
...
* Less chances of crashing
2024-07-17 16:22:04 +03:00
IndecisiveTurtle
fcbaec51df
liverpool_to_vk: Add more surface formats
2024-07-17 16:19:08 +03:00
Vladislav Mikhalin
f9e96793cc
Implemented load_buffer_format_* conversions ( #295 )
...
* Implemented load_buffer_format_* conversions
* clang-format insists on ugly things
2024-07-16 15:03:07 +03:00
georgemoralis
0de914995f
Merge pull request #293 from shadps4-emu/misc-fixes3
...
Various linux fixes
2024-07-15 15:25:20 +03:00
georgemoralis
c49afb4c17
Merge pull request #287 from polybiusproxy/dev
...
gnmdriver: Implement shader functions
2024-07-15 07:47:33 +03:00
IndecisiveTurtle
73d4aafc09
liverpool: Num submits should be atomic
2024-07-15 01:28:36 +03:00
psucien
ed37fb32a7
review comments applied
2024-07-14 23:25:41 +02:00
georgemoralis
4de9d9cf0d
dataformat used by DMC4
2024-07-14 23:23:10 +03:00
psucien
dc50cc55fb
missing line fix
2024-07-14 17:11:54 +02:00
psucien
b8916787b2
renderer: debug markers for ability to match cmdlists with rdoc captures
2024-07-14 11:37:52 +02:00
psucien
8144f835a9
amdgpu: additional heuristic for CB extents detection
...
Found in CUSA00144
2024-07-14 10:59:22 +02:00
psucien
1b94f07a6a
recompiler: proper VS inputs initialization
2024-07-13 01:00:24 +02:00
psucien
a75851f7e2
hot fix: reduce geometry staging 3Gb -> 512Mb
2024-07-11 20:29:53 +02:00
Vladislav Mikhalin
989f88837d
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
ab6a1fb5f0
Merge pull request #247 from viniciuslrangel/device-selector
...
Improve physical device selection in Vulkan renderer
2024-07-08 22:04:51 +02:00
offtkp
0619af24a7
Eliminate compiler warning
2024-07-08 01:17:42 +03:00
Vinicius Rangel
6cc8381d62
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
6dbb842bec
renderer: a bit more formats to support
2024-07-07 14:34:36 +02:00
psucien
1d608427ed
renderer: don't let unbound color attachment affect pass's rendering area
2024-07-06 20:13:12 +02:00
psucien
cfbe8b9e6d
renderer: added support for instance step rates
2024-07-06 18:03:43 +02:00
psucien
986ed0662c
gnmdriver, amdgpu: added gpu idle IRQ; submission lock logic improved
2024-07-06 18:03:34 +02:00
TheTurtle
38080b60af
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
1d58a0403e
Fix ShowSplash size ( #235 )
...
* Fix ShowSplash size
* enable isShowSplash
2024-07-05 00:16:06 +03:00
psucien
dd97b517f7
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
6ceab6dfac
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
fe5bfa9d61
texture_cache: Always validate for now
2024-07-01 22:53:01 +03:00
IndecisiveTurtle
2fe897eeda
host_shaders: Fix R8G8 detiler
2024-07-01 20:25:43 +03:00
IndecisiveTurtle
7d4f0da40e
video_core: Fix some regressions
2024-07-01 18:26:22 +03:00
IndecisiveTurtle
20e83b4d53
clang format
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
410ba37ec2
code: Add additional logging during init
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
6774216038
shader_recompiler: Apply buffer swizzle on vertex attribs
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
b4d24d8737
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
22b930ba5e
video_core: Track renderpass scopes properly
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
ad10020836
video_core: Fix a few problems
2024-07-01 13:56:14 +03:00
IndecisiveTurtle
10ef357f1f
image: Fix image type of 1D Array
2024-07-01 13:56:14 +03:00
psucien
f03262421e
texture_cache: force storage usage bit to all images
2024-07-01 09:58:52 +02:00
psucien
1f55eff9d8
libraries: gnmdriver: added initialization preamble to every first submit in a frame
2024-06-30 18:22:39 +02:00
psucien
14377b39b5
texture_cache: detiler: added missing micro8x2
2024-06-30 15:54:59 +02:00
psucien
9121ecf123
renderer_vulkan: more formats conversion
2024-06-30 01:21:39 +03:00
psucien
c4061c3b95
amdgpu: fix for wrong constant ram offset in WriteConstRam
decoding
2024-06-30 01:21:39 +03:00
psucien
2cbbcbd371
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
059f54838a
Merge pull request #219 from shadps4-emu/gnmdriver/hw_init
...
Complete HW state init functions
2024-06-27 17:33:58 +03:00
georgemoralis
0ada442cbc
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
91940781b8
libraries: gnmdriver: complete HW stat init functions
2024-06-27 13:36:55 +02:00
georgemoralis
521ff4d14b
clang format fixes
2024-06-26 20:32:08 +03:00
IndecisiveTurtle
550bfa1c88
liverpool: Fix assert for compute queues
2024-06-26 20:00:09 +03:00
IndecisiveTurtle
4846704832
shader_recompiler: More instructions and fix for swords of ditto
2024-06-26 18:03:09 +03:00
Alexandre Bouvier
a2224a9b6b
fix system include paths
2024-06-25 18:17:16 +02:00
psucien
8475a62a46
common: Common
namespace for the slot vector container
2024-06-25 09:31:32 +02:00
psucien
c04fbb75d8
libraries: gnm_driver: added sceGnmDrawIndexIndirect
and sceGnmDrawIndirect
2024-06-24 22:53:59 +02:00
psucien
cb6b21de1f
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
73d60b7e8d
linker: Set rela bits for all symbol types
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
741427040f
shader_recompiler: Even more instructions
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
30199fe701
kernel: Add scePthreadExit
2024-06-22 18:09:04 +03:00
psucien
ab4cc8b218
texture_cache: return back image view usage override
2024-06-16 22:30:18 +02:00
psucien
6e7fd21338
renderer_vulkan: simplified sRGB hack
2024-06-16 22:29:23 +02:00
psucien
3f92a68129
renderer_vulkan: BC3 formats conversion
2024-06-16 22:29:04 +02:00
psucien
37ceea2314
renderer_vulkan: added log entry for CS compiling
2024-06-16 20:51:35 +02:00
psucien
b02ec385b2
video_out: proper sRGB output workflow
2024-06-15 23:24:34 +02:00
psucien
b2b45bf480
video_core: added support for alternate CB channels order
2024-06-15 23:24:33 +02:00
psucien
b9602afc82
renderer_vulkan: sRGB swapchain
2024-06-15 23:24:33 +02:00
psucien
e6f773f950
videoout: register buffers in texture cache at VO creation time
2024-06-15 23:24:33 +02:00
psucien
bdb235716a
texture_cache: don't set color attachment usage flag for packed images
2024-06-15 23:24:33 +02:00
psucien
fd8ceacef7
video_core: shaders hash switched to one from binary header
2024-06-15 23:24:32 +02:00
psucien
37cbdad57b
renderer_vulkan: static vector for vertex buffers ranges
2024-06-15 23:20:14 +02:00
psucien
be6f523b6e
renderer_vulkan: fixed buffers alignments
2024-06-15 23:20:13 +02:00
TheTurtle
c5d1d579b1
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
31bd502764
core: Fixup linux support ( #195 )
...
* tls: Implement for linux
* core: Implement memory manager for linux
2024-06-14 00:58:57 +03:00
psucien
64569ff737
tracy: guards for missing vk profiler context
2024-06-11 22:57:37 +02:00
psucien
d7565dec57
tracy: added Vulkan GPU profiling
2024-06-11 21:52:48 +02:00
psucien
04b1226e9c
tracy: basic markup and project palette
2024-06-11 12:14:33 +02:00
psucien
c2dc7c3fd4
renderer_vulkan: another fix for vertex buffer offsets
2024-06-10 23:20:32 +02:00
TheTurtle
7b1a317b09
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
01f09cfa63
texture_cache: detiler: added support for block coded 64bit images
2024-06-09 18:18:49 +02:00
psucien
fa73812f32
texture_cache: detiler: added support for block coded 128bit images
2024-06-09 12:54:19 +02:00
psucien
9230d04a0a
common: slot_vector moved into common
2024-06-08 01:19:51 +02:00
TheTurtle
998d046210
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
fe3b546d93
renderer_vulkan, config: option to toggle VK validation layer
2024-06-07 11:21:02 +02:00
psucien
dd5a25fda2
review iteration
2024-06-07 08:39:03 +02:00
psucien
e790ec775f
texture_cache: detiler: more verbosity in print
2024-06-07 00:12:16 +02:00
psucien
cfc297622f
texture_cache: fix for forgotten cb tiling info update
2024-06-07 00:12:16 +02:00
psucien
b17b4ab787
texture_cache: detiler: redundant flag removed
2024-06-07 00:12:15 +02:00
psucien
cb07778008
renderer_vulkan: proper barriers
2024-06-06 23:40:31 +02:00
psucien
729d02d699
renderer_vulkan: proper min uniform alignment
2024-06-06 22:24:20 +02:00
psucien
6814d5f108
renderer_vulkan: fix for vertex buffer mapping offset
2024-06-06 21:41:59 +02:00
raphaelthegreat
5aa3a4d4a0
shader: Fix block processing order in dead code elimination pass
2024-06-06 02:46:36 +03:00
raphaelthegreat
ae7e6dafd5
shader_recompiler: Add more instructions and fix a few thinhs
2024-06-05 22:22:34 +03:00
TheTurtle
728249f58d
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
f9e5c70414
texture_cache: detiler image view moved into image class
2024-06-05 18:37:06 +02:00
psucien
b59e525408
texture_cache: detiler: change staging to faster stream buffer
2024-06-05 18:16:31 +02:00
psucien
bee444b6da
fix for re-use
2024-06-05 17:57:05 +02:00
psucien
3a5ba82eae
final touch
2024-06-05 16:34:17 +02:00
psucien
0b63a76b51
amdgpu: render target size hint for old runtime
2024-06-05 16:34:04 +02:00
psucien
19994424c5
texture_cache: detiler: shader module release and debug name
2024-06-05 16:33:26 +02:00
psucien
440a60a43b
texture_cache: detiler: m8x1 and m8x4 shaders
2024-06-05 16:14:22 +02:00
psucien
184b7b7fc2
video_core: added shader header files generator from Citra
2024-06-05 14:31:50 +02:00
psucien
2c87171b95
texture_cache: a support for m8x1 and m8x4 layouts added to the detiler
2024-06-05 13:10:48 +02:00
psucien
cd87005ded
renderer_vulkan: unused extension removed
2024-06-04 12:43:23 +02:00
psucien
d491bbf366
amdgpu: tiling mode introduced
2024-06-04 12:40:08 +02:00
psucien
d7d324ac76
amdgpu: surface bits per element LUT
2024-06-02 22:46:40 +02:00
psucien
23cc60bf06
video_core: amdgpu: simply crash if an exception occured in coro
2024-06-02 19:16:05 +02:00
raphaelthegreat
02a50265f8
shader_recompiler: Better branch detection + more opcodes
2024-06-02 03:05:40 +03:00
psucien
f624f7749c
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
dd91456b48
video_core: Moar shader instruction
2024-05-30 18:17:54 +03:00
psucien
365df2a3ac
video_core: renderer_vulkan: write mask fallback
2024-05-30 16:27:39 +02:00
psucien
8e6d492524
video_core: renderer_vulkan: added color mask support
2024-05-30 12:55:37 +02:00
psucien
767e13cccb
Linux build fix
2024-05-30 12:09:33 +02:00
psucien
9227a2b868
video_core: multiple color attachments support
2024-05-30 11:21:26 +02:00
psucien
d05cbd88bb
video_core: renderer_vulkan: support for passes w\o a fs
2024-05-30 09:42:44 +02:00
raphaelthegreat
58de7ff55a
video_core: Implement basic compute shaders and more instructions
2024-05-30 01:39:24 +03:00
psucien
055dec1149
video_core: texture_cache: proper UniqueImage
class movers
2024-05-29 17:17:24 +02:00
psucien
a67b8f7a0b
video_core: renderer_vulkan: proper inclusion of maintenance4
2024-05-29 17:06:46 +02:00
psucien
5f37a6be83
video_core: amdgpu: fix for a deadlock in wait on idle
2024-05-29 16:03:37 +02:00
psucien
e5486cc57f
video_core: amdgpu: proper destruction of processing thread
2024-05-29 16:02:51 +02:00
raphaelthegreat
4d728e943d
video_core: Address some feedback
2024-05-27 22:13:55 +03:00
raphaelthegreat
d59b102b6f
video_core: Add image support
2024-05-27 18:25:45 +03:00
georgemoralis
729e166cd3
Merge pull request #146 from shadps4-emu/video_out/new_gpu_frontend
...
video_core: initial support for CE and ASC queues
2024-05-27 13:50:25 +03:00
psucien
09c7379fe0
fix for leaks of coroutine handle
2024-05-27 13:48:35 +03:00
TheTurtle
8dfa5782b2
video_core: Add constant buffer support ( #147 )
2024-05-26 15:51:35 +03:00
psucien
2963790e0d
video_core: initial support for CE and ASC queues
2024-05-26 12:39:30 +02:00
TheTurtle
3c90b8ac00
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
62fd72009b
video_core: a fix for multi submits processing (temporary code)
2024-05-22 22:20:33 +02:00
psucien
d752aa5357
config, video_core: null gpu configuration added
2024-05-22 20:19:42 +02:00
TheTurtle
8730968385
video: Import new shader recompiler + display a triangle ( #142 )
2024-05-22 01:35:12 +03:00
georgemoralis
bb89b1c95a
Merge pull request #140 from shadps4-emu/additional_evq_func
...
A bunch of new functional and small improvements
2024-05-18 09:46:14 +03:00
psucien
8455574615
gnmdriver: submission lock moved out from gpu
2024-05-17 23:31:19 +02:00
psucien
85704e26a0
renderer_vulkan: state tracking for Image
resources
2024-05-17 12:44:07 +02:00
psucien
64b2e58285
a fair multi-submissions support
2024-05-17 08:47:38 +02:00
psucien
dbdb3dc77e
amdgpu: non-blocking submitDone
2024-05-17 08:22:47 +02:00
psucien
9df1a8d15b
amdgpu: added support for several single GFX submits per frame
2024-05-17 00:01:47 +02:00
psucien
38061ae636
fix for crash in apps when splash is missing
2024-05-16 16:59:38 +03:00
psucien
8c4f72f404
review comments
2024-05-16 16:59:04 +03:00
georgemoralis
c9b5b5e963
show title splash while the game is loading
2024-05-16 16:58:14 +03:00
TheTurtle
55855b4195
core: Implement new memory manager ( #133 )
...
* core: Implement new memory manager
* ci: Attempt to fix linux build
* code: Fix a few build errors
2024-05-16 15:55:50 +03:00
georgemoralis
055ffff463
Merge pull request #132 from shadps4-emu/gpu_flip
...
graphics: separate IRQ for GPU driven flips
2024-05-14 23:56:12 +03:00
psucien
45e354fd77
renderer_vk: missing barriers ( #134 )
2024-05-14 23:46:34 +03:00
psucien
8677972505
graphics: separate IRQ for GPU driven flips
2024-05-14 21:33:20 +02:00
psucien
d804a66aa2
review comments applied
2024-05-11 00:04:04 +02:00
psucien
37014394fd
amdgpu: return perfcounter on EOP
2024-05-10 23:16:56 +02:00
psucien
923baf0164
core: gpu interrupt dispatcher
2024-05-10 21:48:01 +02:00
psucien
581688c1ac
amdgpu: EOS event packet handling
2024-05-10 11:55:04 +02:00
psucien
8e0c67f12e
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
bfb18135fb
amdgpu: EOP irq and dummy PM4 handlers
2024-05-08 23:27:56 +02:00
psucien
498c5eb0cd
gnm_driver: sceGnmSubmitAndFlipCommandBuffers
implementation
2024-05-08 22:55:39 +02:00
psucien
4746f514ff
gnm_driver: various fixes
2024-05-08 22:53:55 +02:00
psucien
4206ec3c94
video_core, kernel: added gfx eop event handling
2024-05-07 22:46:54 +02:00
psucien
7e8d90d609
core: libraries: gnmdriver: basic functionality extension ( #120 )
...
Also a bit of refactoring in `video_core`
2024-05-01 19:29:06 +03:00
TheTurtle
1b9bf924ca
core: Rewrite thread local storage implementation ( #118 )
2024-05-01 13:38:41 +03:00
TheTurtle
b94efcba5a
video_core: Add basic command list processing ( #117 )
2024-04-30 01:23:28 +03:00
psucien
2696733cad
video_core: prefer discrete gpu if available ( #116 )
...
* video_core: prefer discrete gpu if available
* ci: Upgrade to clang format 17
* rewrite w\o std::zip usage
---------
Co-authored-by: raphaelthegreat <47210458+raphaelthegreat@users.noreply.github.com>
2024-04-30 00:19:12 +03:00
georgemoralis
0727775c88
give texture cache exception handler priority over tls exception handler
2024-04-29 19:26:35 +03:00
raphaelthegreat
25c04ad42f
texture_cache: Fix linear image uploads
...
* Also fixed build for clang-cl with libc
2024-04-29 18:22:04 +03:00
psucien
35777a9fb3
clang format fix
2024-04-28 01:34:14 +02:00
psucien
453b24eb20
config: option to select gpu for vk device
2024-04-28 01:19:04 +02:00
psucien
249373bf0d
texture_cache: protection flags re-worked
...
* actually I gave up on clang fmt
2024-04-28 01:00:24 +02:00
psucien
d2c53d0fde
clang format fix
2024-04-28 00:51:34 +02:00
psucien
1047293bf2
Merge branch 'main' of github.com:raphaelthegreat/shadps4 into raph-main
2024-04-28 00:29:15 +02:00
psucien
e0a4c3f1a3
texture_cache: added memory protection for Windows
2024-04-28 00:21:04 +02:00
raphaelthegreat
40c86b7688
Address feedback
2024-04-28 01:09:03 +03:00
GPUCode
c01b6f8397
video_core: Rewrite vulkan and videoout
2024-04-14 17:10:40 +03:00
GPUCode
584b7d2b15
chore: Make shadps4 REUSE compliant
2024-02-23 23:33:43 +02:00
GPUCode
6f4c6ae0bb
code: Add clang-format target and CI workflow ( #82 )
...
* code: Add clang format target, rules and CI workflow
* code: Run clang format on sources
2024-02-23 22:57:57 +02:00
GPUCode
fe43558779
common: Rework timekeeping with native RDTSC and port to linux
2024-02-23 11:30:06 +02:00