Borchev
867f38fe13
Add pthread_attr_getstacksize thunk
2024-07-30 12:37:05 -07:00
georgemoralis
c1d01709be
kernel: Implement sceKernelSetVirtualRangeName ( #338 )
...
* Fix in searchFree should fix #337
* clang format fix
* sceKernelSetVirtualRangeName implementation
* improved vaddr conversion
* updated VirtualQuery to include name too
* unmap also removed name thanks @red_prig
* fixed copy...
2024-07-29 19:08:06 +03:00
squidbus
43d60a8ac9
Add sem_timedwait polyfill for macOS.
2024-07-28 16:42:33 -07:00
Vasyl Baran
3e6af54ea3
Fixup for detiler artifacts on macOS
2024-07-28 22:21:18 +03:00
Dzmitry Dubrova
aa7c8ca2b6
Implement some pthread calls ( #332 )
2024-07-28 18:43:44 +03:00
DanielSvoboda
fb145342ce
log improvement ThrowInvalidType ( #330 )
...
* log improvement ThrowInvalidType
* log improvement ThrowInvalidType
2024-07-28 18:42:54 +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
Vinicius Rangel
361412031c
fix tls patch on windows ( #328 )
...
* fix tls patch on windows
based on TlsGetValue in kernel32.dll
* fix tls patch on windows for expansion slots
2024-07-27 20:16:21 +03:00
Vinicius Rangel
680192a0c4
64 bits OP, impl V_ADDC_U32 & V_MAD_U64_U32 ( #310 )
...
* impl V_ADDC_U32 & V_MAD_U64_U32
* shader recompiler: add 64 bits version to get register / GetSrc
* fix V_ADDC_U32 carry
* shader recompiler: removed automatic conversion to force_flt in GetSRc
* shader recompiler: auto cast between u32 and u64 during ssa pass
* shader recompiler: fix SetVectorReg64 & standardize switches-case
* shader translate: fix overflow detection in V_ADD_I32
use vcc lo instead of vcc thread bit
* shader recompiler: more 64-bit work
- removed bit_size parameter from Get[Scalar/Vector]Register
- add BitwiseOr64
- add SetDst64 as a replacement for SetScalarReg64 & SetVectorReg64
- add GetSrc64 for 64-bit value
* shader recompiler: add V_MAD_U64_U32 vcc output
- add V_MAD_U64_U32 vcc output
- ILessThan for 64-bits
* shader recompiler: removed unnecessary changes & missing consts
* shader_recompiler: Add s64 type in constant propagation
2024-07-27 17:23:59 +03:00
TheTurtle
d84b4adc83
semaphore: Yet another race condition fix ( #327 )
2024-07-27 17:18:18 +03:00
georgemoralis
b7c3ff932b
Merge pull request #325 from DanielSvoboda/BUFFER_STORE_DWORDX2
...
BUFFER_STORE_DWORDX2
2024-07-26 13:17:16 +03:00
raziel1000
600a13c38f
fs: added /download0 mount
...
fs: get rid of double slashes
2024-07-26 08:07:22 -06:00
georgemoralis
2841eba538
added /dev/urandom
2024-07-26 08:50:39 +03:00
georgemoralis
a4912b8245
commented sem_timedwait for linux untill @squidbus fix it
2024-07-26 08:16:32 +03:00
georgemoralis
64d305faeb
cleanup memory_management
2024-07-26 08:08:47 +03:00
raziel1000
a11ac5a687
...
2024-07-26 07:59:55 +03:00
raziel1000
fa76a723ad
Applied feedback from @raphaelthegreat
2024-07-26 07:59:35 +03:00
georgemoralis
b62836d29f
forgot a file
2024-07-26 07:53:46 +03:00
georgemoralis
b4916ef2ca
some fixup to playgo , makes Worms go further
2024-07-26 07:53:45 +03:00
raziel1000
a475b38e5f
- fixed sceAppContentTemporaryDataMount2
2024-07-26 07:53:19 +03:00
raziel1000
f35518d527
sdl window: Added game title (serial, title and app_ver)
2024-07-26 07:53:18 +03:00
raziel1000
f29293c9fb
thread_management: some pthread functions
2024-07-26 07:53:18 +03:00
raziel1000
02d4af27df
save_data: fix/accuracy for saveDataMem functions
2024-07-26 07:53:18 +03:00
DanielSvoboda
b2ba84aa11
BUFFER_STORE_DWORDX2
2024-07-26 00:25:29 -03:00
TheTurtle
a2cd1669b6
memory: Cleanups and refactors ( #324 )
...
* memory: Various fixes
* Added (Partial) sceKernelBatchMap/sceKernelBatchMap2
* memory: Rename and implement batch unmap
* memory: Remove uneeded assert
* memory: Commonize free search routine
* memory: Contains check is inclusive
* memory: Address some alignment issues
* clang format
---------
Co-authored-by: raziel1000 <ckraziel@gmail.com>
2024-07-25 23:01:12 +03:00
georgemoralis
8fa6a8c036
clang fix
2024-07-25 11:59:39 +03:00
IndecisiveTurtle
8bb6c0ddf0
address_space: Fix windows placeholder mapping
2024-07-24 22:59:56 +03:00
DanielSvoboda
de6f703d7d
I fixed the button, PKG patch version is older
...
I fixed the button, PKG patch version is older
2024-07-23 19:21:54 -03:00
squidbus
54b5900498
Replace remaining uses of QDir::currentPath() / user with UserDir.
2024-07-21 14:01:10 -07:00
georgemoralis
062ee9e092
one more memory fix
2024-07-21 23:16:46 +03:00
georgemoralis
fe9b07da54
memory fix
2024-07-21 23:14:40 +03:00
georgemoralis
36ec7a1a43
Merge pull request #312 from Borchev/main
...
Add sceKernelGetDirectMemoryType, update sceKernelReserveVirtualRange
2024-07-21 22:52:50 +03:00
squidbus
70708fc69b
Allocate more system reserved space on macOS and document restrictions.
2024-07-21 22:36:12 +03:00
squidbus
615f4e770f
Support RIP relative memory operands in patched instructions.
2024-07-21 22:36:12 +03:00
squidbus
43c0f313f2
Fix user data path on macOS.
2024-07-21 22:36:12 +03:00
squidbus
225ca3ac5b
Update format list for rebase and sort and remove duplicates.
2024-07-21 22:36:12 +03:00
squidbus
cf03743631
Restore old keybindings for Windows and Linux.
2024-07-21 22:36:12 +03:00
squidbus
426d82d07b
Only use date library on macOS.
2024-07-21 22:36:12 +03:00
squidbus
b557de2c62
Make sure only system managed region can be moved on Windows.
2024-07-21 22:36:12 +03:00
squidbus
26e0fc6ad5
Only patch BMI1 instructions under Rosetta 2.
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
3e84d2b76c
Define tessellation_factors_ring_addr relative to end of system reserved area.
2024-07-21 22:36:12 +03:00
squidbus
e2adbd75c3
Reduce system reserved space to 0x700000000 and map fixed on macOS.
2024-07-21 22:36:12 +03:00
squidbus
f943ce2710
Address review comments around memory and patches.
2024-07-21 22:36:12 +03:00
squidbus
b3d97dcd89
Make sure system managed memory is in correct location on macOS.
2024-07-21 22:36:12 +03:00
squidbus
685b0bfd5e
Fix missing logging on memory manager initalization.
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
e06039d727
Set minimum macOS target to 11 and fix compile errors.
2024-07-21 22:36:12 +03:00
squidbus
a4fd0d6386
Remap SDL face buttons to be usable without a keypad.
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
d9231b239c
Migrate TLS patches to new patching system.
2024-07-21 22:36:12 +03:00
squidbus
6a6d5bad42
Fix one-off bug with user data registers.
2024-07-21 22:36:12 +03:00
squidbus
66fa29059c
Add initial macOS support.
2024-07-21 22:36:12 +03:00
Borchev
5419212088
Fix formatting
2024-07-21 12:35:01 -07:00
Borchev
f556f85279
Add sceKernelGetDirectMemoryType and update sceKernelReserveVirtualRange to search for free region when virtual_addr==0
2024-07-21 11:29:24 -07: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
TheTurtle
bfe3322977
spirv: Address some regressions in buffer loads ( #304 )
...
* spirv: Use correct index
* spirv: Fix indices during buffer load
* clang-format fix
* spirv: Index can be const
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-07-19 19:36:07 +03:00
georgemoralis
60b1aa62a3
Merge pull request #281 from shadps4-emu/miscFixes6
...
Misc Fixes (forgot the number)
2024-07-19 16:35:19 +03:00
Vladislav Mikhalin
d0d7ef06e8
Fixed buffer_store_* regression ( #302 )
2024-07-18 21:04:12 +03:00
georgemoralis
c578ccc435
load every available prx from sce_module folder of game
2024-07-18 18:34:08 +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
Dzmitry Dubrova
485d4fd0fb
kernel: Implement posix_pthread_once ( #297 )
...
* kernel: Implement posix_pthread_once
* Fix clang format
2024-07-17 23:34:22 +03:00
georgemoralis
0ed9ea5b85
force imedialog to input "shadps4" as name . That way we can pass games that want username . temp solution till imgui dialog prepared
2024-07-17 20:32:14 +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
IndecisiveTurtle
01dc7f5bfc
Add comments
2024-07-17 15:52:40 +03:00
IndecisiveTurtle
b89941fbd9
emulator: Add libSceUlt too
2024-07-17 15:44:20 +03:00
IndecisiveTurtle
0408d8596d
emulator: Add libSceFiber and simplify logic
2024-07-17 15:37:32 +03:00
IndecisiveTurtle
b6f011c8f6
event_queue: Add clear flag to events and don't return error
2024-07-17 14:50:26 +03:00
IndecisiveTurtle
c64694c673
gnmdriver: Fix incorrect trailing nop insertion in indirect draws
2024-07-17 14:48:30 +03:00
IndecisiveTurtle
815ce11d2b
fs: Defeat games with double slashes
2024-07-17 14:46:37 +03:00
georgemoralis
7ad44317f8
Merge pull request #252 from qurious-pixel/patch-1
...
Move "game_data" to RW directory inside user folder for linux
2024-07-16 23:05:29 +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
squidbus
3ff11818ab
Return EBUSY from sceKernelPollEventFlag instead of ETIMEDOUT.
2024-07-16 04:53:37 -07:00
TheTurtle
0dda5eb6ef
fs: Fix nullptr check in GetFile
2024-07-15 16:52:24 +03:00
TheTurtle
3b0a5aed33
fs: Use proper append operator
2024-07-15 15:42:35 +03:00
georgemoralis
0de914995f
Merge pull request #293 from shadps4-emu/misc-fixes3
...
Various linux fixes
2024-07-15 15:25:20 +03:00
IndecisiveTurtle
3c8b3f9a29
fs: Remove some unnecessary string conversions
2024-07-15 15:14:04 +03:00
IndecisiveTurtle
10a7110c7d
Merge branch 'misc-fixes3' of https://github.com/shadps4-emu/shadPS4 into misc-fixes3
2024-07-15 15:05:29 +03:00
IndecisiveTurtle
356b59b041
kernel: Remove linux hack
...
* Breaks many games, only benefits BB. Tbd
2024-07-15 14:51:45 +03:00
IndecisiveTurtle
0599f4e6a5
fs: Fix case of getting the mount itself
2024-07-15 14:50:28 +03:00
georgemoralis
0298889131
windows std::filesystem fixes
2024-07-15 14:50:23 +03:00
georgemoralis
ba0be91c73
clang format fix
2024-07-15 14:18:28 +03:00
IndecisiveTurtle
58d1cbd9b7
ssa_rewrite_pass: Correct phi node type for thread bitmask
2024-07-15 13:34:34 +03:00
georgemoralis
c49afb4c17
Merge pull request #287 from polybiusproxy/dev
...
gnmdriver: Implement shader functions
2024-07-15 07:47:33 +03:00
jas0n098
6ec4a3d1b9
Replace deprecated pthread functions ( #290 )
...
pthread_attr_(set,get)stackaddr are deprecated and don't exist anymore on musl libc
2024-07-15 03:55:58 +03:00
IndecisiveTurtle
ce6a01bd41
clang format
2024-07-15 03:47:10 +03:00
IndecisiveTurtle
dbeed80e3b
fs: Actually functional linux case insensitive search
2024-07-15 03:37:30 +03:00
IndecisiveTurtle
26f8fbf628
tls: Use gs segment for linux
2024-07-15 01:48:57 +03:00
IndecisiveTurtle
73d4aafc09
liverpool: Num submits should be atomic
2024-07-15 01:28:36 +03:00
IndecisiveTurtle
dd7d232ac3
event_queues: Use std placeholders
2024-07-15 01:28:08 +03:00
psucien
ed37fb32a7
review comments applied
2024-07-14 23:25:41 +02:00
raziel1000
02cba0100d
Some functions called by Stardew Valley
2024-07-14 23:23:11 +03:00
georgemoralis
056dcf52ca
initial ime dialog handling
2024-07-14 23:23:10 +03:00
georgemoralis
b07bbecab4
replace unreachable with default return in sceKernelClockGettime
2024-07-14 23:23:10 +03:00
georgemoralis
4de9d9cf0d
dataformat used by DMC4
2024-07-14 23:23:10 +03:00
raziel1000
ecad6cd1a7
- sceSaveDataDirNameSearch wip, needs testing and more work.
2024-07-14 23:23:10 +03:00
georgemoralis
b4df90d8e4
Merge pull request #292 from shadps4-emu/games/00144
...
Missing graphics features for flOw & Flower
2024-07-14 23:07:46 +03:00
psucien
034301de88
libraries: gnmdriver: added missing ASC PM4 dump
2024-07-14 18:27:28 +02:00
psucien
746792eda0
libraries: kernel: added `sceKernelGetEventId`
2024-07-14 18:20:31 +02: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
Live session user
a1fbab5de7
Move game_data to RW directory inside user folder for linux
2024-07-13 16:44:13 -07:00
psucien
f041276b04
recompiler: added support for discard on export with masked EXEC
2024-07-13 14:57:01 +02:00
Daniel R
83c8204d23
shader_recompiler/frontend: Implement opcodes ( #289 )
...
`S_ASHR_I32` and `BUFFER_LOAD_DWORD`.
2024-07-13 12:37:25 +03:00
psucien
1b94f07a6a
recompiler: proper VS inputs initialization
2024-07-13 01:00:24 +02:00
Daniel R.
379e3b7607
Merge branch 'dev' of https://github.com/polybiusproxy/shadPS4 into dev
2024-07-12 11:04:23 +02:00
Daniel R.
0649234fc2
`clang-format`
2024-07-12 11:03:55 +02:00
Daniel R
547490a664
Merge branch 'shadps4-emu:main' into dev
2024-07-12 11:00:58 +02:00
Daniel R.
88426e0399
gnmdriver: Implement shader functions
2024-07-12 11:00:11 +02:00
psucien
a75851f7e2
hot fix: reduce geometry staging 3Gb -> 512Mb
2024-07-11 20:29:53 +02:00
Daniel R.
1421f82bf5
Another ifdef (sigh)
2024-07-11 15:29:36 +02:00
Daniel R.
a049bd3135
Fix Linux builds
2024-07-11 15:16:50 +02:00
Vladislav Mikhalin
262bf3d337
Fixed an issue with number of components of shader attributes
2024-07-11 16:10:23 +03:00
Daniel R
914aa10875
Misc implementations and fixes. ( #250 )
...
* Implement `sceKernelFtruncate` and `sceKernelUnlink`.
* Remove unused variable.
* Implement `sceKernelReserveVirtualRange`, misc fixes
* Fix `sceKernelReserveVirtualRange`.
* Add TODO on reserve
* Replace comment with assert.
* Add missing copyright header
* Add `UNREACHABLE` for `IOFile::Unlink`.
* Move NT API initialization out of the header
* Fix bug where files were always mapped as read only.
* `clang-format`
2024-07-11 15:35:58 +03: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
ba5fb78c5a
fix for large delays precision + Linux build
2024-07-11 13:14:42 +03:00
psucien
0bb5240202
kernel: added HR timers and asio service thread
2024-07-11 13:14:42 +03:00
psucien
465cb0413e
kernel: equeue: minor refactoring
2024-07-11 13:14:42 +03:00
georgemoralis
5a078e3902
forgot to register avplayer module
2024-07-10 19:15:58 +03:00
georgemoralis
5beb607435
More HLE stuff and fixes ( #273 )
...
* sceKernelOpen truncate is not neccesary
* fixup scePthreadCondSignal
* dummy error , ime dialogs stubbed
* sceErrorDialog implemenation (no ui)
* small fix in sceSaveDataGetEventResult and sceAppContentTemporaryDataMount2.
* ime dialog structs and functions definations
* added stubbed avplayer
* Open folder should be first on context menu
---------
Co-authored-by: raziel1000 <ckraziel@gmail.com>
2024-07-10 19:20:19 +03:00
Vinicius Rangel
94d1a6b0b9
impl V_CMP_CLASS_F32 common filter masks ( #276 )
2024-07-10 02:24:01 +03:00
DanielSvoboda
aef6d2e488
fix shortcut name with unaccepted characters
2024-07-09 00:55:48 -03:00
DanielSvoboda
63b0465a33
add V_MAD_U32_U24 ( #262 )
...
* V_MAD_U32_U24
* adjust V_MAD_I32_I24 for bit extraction
* optional bit extraction parameter
* Update vector_alu.cpp
* clang-format
* Update src/shader_recompiler/frontend/translate/vector_alu.cpp
Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
* Update vector_alu.cpp
* Update translate.h
---------
Co-authored-by: TheTurtle <47210458+raphaelthegreat@users.noreply.github.com>
2024-07-09 01:35:01 +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
Stolas
2620919f0b
Added Legacy Min/Max ops ( #266 )
...
* Forwarding V_MAX_LEGACY_F32 to V_MAX3_F32. Fixes Translation error in Geometry Wars 3.
* Forwarded to correct op
* Implemented Legacy Max/Min using NMax/NMin
* Added extra argument to Min/Max op codes
* Removed extra translator functions, replaced with bool
* Formatting
2024-07-08 12:24:12 +03:00
Vinicius Rangel
574b8a458c
Fix sceAudioOutOpen not handling audio param attributes
...
and returning error incorrectly when some mask is applied
2024-07-08 01:29:58 -03: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
TheTurtle
a9f482cdfc
config: Disable splash by default
2024-07-07 22:30:52 +03:00
georgemoralis
189033ae24
Merge pull request #253 from shadps4-emu/graphics/features_and_fixes
...
Graphics: missing features and fixes
2024-07-07 20:42:13 +03:00
psucien
6dbb842bec
renderer: a bit more formats to support
2024-07-07 14:34:36 +02:00
psucien
c7af8df2ad
gnmdriver: added `sceGnmFindResourcesPublic` stub
2024-07-07 13:47:01 +02:00
psucien
19c85c78cf
recompiler: switch instance data to storage buffers
2024-07-07 13:08:39 +02:00
psucien
bf4bf4ccb2
recompiler: fix for gather4 components return
2024-07-07 13:00:52 +02:00
TheTurtle
379ec554a8
memory: Set virtual query offset
2024-07-07 01:26:17 +03:00
georgemoralis
575acc4bd9
Merge pull request #254 from DanielSvoboda/Create-Shortcut
...
fix linux again
2024-07-06 22:39:31 +03:00
psucien
1d608427ed
renderer: don't let unbound color attachment affect pass's rendering area
2024-07-06 20:13:12 +02:00
DanielSvoboda
971d2f02ef
fix name file shortcut linux
2024-07-06 15:10:28 -03:00
DanielSvoboda
d9c1456f28
fix linux again
2024-07-06 15:00:18 -03:00