Commit Graph

893 Commits

Author SHA1 Message Date
Xphalnos a7f2f09a44
Reorganization of includes (#348)
* Reorganization of includes

* fix
2024-07-31 13:25:55 +03: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
georgemoralis ac6dc20c3b
Merge pull request #343 from Borchev/AddPthreadGetStackSizeThunk
Add pthread_attr_getstacksize thunk
2024-07-30 23:36:39 +03:00
Borchev 361271826e
Fix SearchFree function bug (#339) 2024-07-30 22:40:42 +03:00
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