shadPS4/src/common
TheTurtle c4506da0ae
kernel: Rewrite pthread emulation (#1440)
* libkernel: Cleanup some function places

* kernel: Refactor thread functions

* kernel: It builds

* kernel: Fix a bunch of bugs, kernel thread heap

* kernel: File cleanup pt1

* File cleanup pt2

* File cleanup pt3

* File cleanup pt4

* kernel: Add missing funcs

* kernel: Add basic exceptions for linux

* gnmdriver: Add workload functions

* kernel: Fix new pthreads code on macOS. (#1441)

* kernel: Downgrade edeadlk to log

* gnmdriver: Add sceGnmSubmitCommandBuffersForWorkload

* exception: Add context register population for macOS. (#1444)

* kernel: Pthread rewrite touchups for Windows

* kernel: Multiplatform thread implementation

* mutex: Remove spamming log

* pthread_spec: Make assert into a log

* pthread_spec: Zero initialize array

* Attempt to fix non-Windows builds

* hotfix: change incorrect NID for scePthreadAttrSetaffinity

* scePthreadAttrSetaffinity implementation

* Attempt to fix Linux

* windows: Address a bunch of address space problems

* address_space: Fix unmap of region surrounded by placeholders

* libs: Reduce logging

* pthread: Implement condvar with waitable atomics and sleepqueue

* sleepq: Separate and make faster

* time: Remove delay execution

* Causes high cpu usage in Tohou Luna Nights

* kernel: Cleanup files again

* pthread: Add missing include

* semaphore: Use binary_semaphore instead of condvar

* Seems more reliable

* libraries/sysmodule: log module on `sceSysmoduleIsLoaded`

* libraries/kernel: implement `scePthreadSetPrio`

---------

Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>
Co-authored-by: Daniel R. <47796739+polybiusproxy@users.noreply.github.com>
2024-11-21 22:59:38 +02:00
..
logging Videocodec implementation (#1484) 2024-11-10 11:33:08 +02:00
alignment.h core/memory: Pooled memory implementation (#1085) 2024-09-29 10:28:41 +03:00
arch.h Initial support for compiling on ARM64. (#788) 2024-09-09 13:23:16 +03:00
assert.cpp Initial support for compiling on ARM64. (#788) 2024-09-09 13:23:16 +03:00
assert.h common: Rewrite logging based on cut down citra logger (#86) 2024-02-28 00:10:34 +02:00
bit_field.h Devtools improvements I (#1392) 2024-10-16 13:12:46 +03:00
bounded_threadsafe_queue.h texture_cache: Fix linear image uploads 2024-04-29 18:22:04 +03:00
concepts.h common: Rewrite logging based on cut down citra logger (#86) 2024-02-28 00:10:34 +02:00
config.cpp Save config in UTF-8 (#1524) 2024-11-14 12:01:33 +02:00
config.h Separate Updates from Game Folder (#1026) 2024-10-15 18:49:42 +03:00
cstring.h ime_dialog: Initial implementation (#1267) 2024-10-11 04:53:32 +03:00
debug.h kernel: Rewrite pthread emulation (#1440) 2024-11-21 22:59:38 +02:00
decoder.cpp Implement shader resource tables (#1165) 2024-11-01 08:55:53 +02:00
decoder.h Implement shader resource tables (#1165) 2024-11-01 08:55:53 +02:00
discord_rpc_handler.cpp Don't use github as a CDN for Discord RPC icon (#1496) 2024-11-21 12:09:10 +02:00
discord_rpc_handler.h added discord rpc (#1178) 2024-10-08 18:14:37 +03:00
div_ceil.h shader_recompiler: Implement most integer image atomics, workgroup barriers and shared memory load/store (#231) 2024-07-05 00:15:44 +03:00
elf_info.h Save fixes (#1031) 2024-09-23 14:50:49 +03:00
endian.h file formats and qt (#88) 2024-03-01 00:00:35 +02:00
enum.h video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
error.cpp core: Rework memory manager 2024-06-10 02:13:44 +03:00
error.h common: Rewrite logging based on cut down citra logger (#86) 2024-02-28 00:10:34 +02:00
fixed_value.h Message Dialog library (#767) 2024-09-08 23:27:50 +03:00
func_traits.h video: Import new shader recompiler + display a triangle (#142) 2024-05-22 01:35:12 +03:00
hash.h Implement shader resource tables (#1165) 2024-11-01 08:55:53 +02:00
io_file.cpp Linux unlink implementation (#1347) 2024-10-11 21:45:26 +03:00
io_file.h Some nits and fixes on paths (#1190) 2024-10-02 07:18:00 +03:00
memory_patcher.cpp Use fs::path::native whenever possible, avoid unnecessary fs->string conversions in GUI code (#1064) 2024-09-26 11:41:59 +03:00
memory_patcher.h Enable patches on cli builds (#897) 2024-09-13 07:44:20 +03:00
native_clock.cpp libraries: kernel: fix for inaccurate sceKernelGetProcessTime 2024-08-26 08:54:38 +02:00
native_clock.h libraries: kernel: fix for inaccurate sceKernelGetProcessTime 2024-08-26 08:54:38 +02:00
ntapi.cpp Fix Linux builds 2024-07-11 15:16:50 +02:00
ntapi.h Misc implementations and fixes. (#250) 2024-07-11 15:35:58 +03:00
number_utils.cpp video_core: Rework clear values (#1381) 2024-10-16 12:55:45 +03:00
number_utils.h video_core: Rework clear values (#1381) 2024-10-16 12:55:45 +03:00
object_pool.h video_core: Implement guest buffer manager (#373) 2024-08-08 15:02:10 +03:00
path_util.cpp path_util: Make sure macOS has current directory set and clean up path code. (#1463) 2024-10-31 12:36:51 +02:00
path_util.h Devtools: PM4 Explorer (#1094) 2024-10-03 22:43:23 +02:00
polyfill_thread.h texture_cache: Fix linear image uploads 2024-04-29 18:22:04 +03:00
rdtsc.cpp code: Add clang-format target and CI workflow (#82) 2024-02-23 22:57:57 +02:00
rdtsc.h Initial support for compiling on ARM64. (#788) 2024-09-09 13:23:16 +03:00
scm_rev.cpp.in Auto Update (#1006) 2024-09-24 23:03:15 +03:00
scm_rev.h Auto Update (#1006) 2024-09-24 23:03:15 +03:00
scope_exit.h core: Implement new memory manager (#133) 2024-05-16 15:55:50 +03:00
signal_context.cpp Patch extrq (#943) 2024-09-23 19:19:52 +03:00
signal_context.h Patch extrq (#943) 2024-09-23 19:19:52 +03:00
singleton.h chore: Make shadps4 REUSE compliant 2024-02-23 23:33:43 +02:00
slab_heap.h kernel: Rewrite pthread emulation (#1440) 2024-11-21 22:59:38 +02:00
slot_array.h Ajm (#1456) 2024-11-05 09:16:57 +02:00
slot_vector.h kernel: Rewrite pthread emulation (#1440) 2024-11-21 22:59:38 +02:00
spin_lock.cpp kernel: Rewrite pthread emulation (#1440) 2024-11-21 22:59:38 +02:00
spin_lock.h kernel: Rewrite pthread emulation (#1440) 2024-11-21 22:59:38 +02:00
string_util.cpp Rewrite Save Data & Impl Save Data Dialog (#824) 2024-09-20 12:34:19 +03:00
string_util.h Rewrite Save Data & Impl Save Data Dialog (#824) 2024-09-20 12:34:19 +03:00
thread.cpp Frame graph + Precise 60 fps timing (#998) 2024-09-23 18:43:51 +03:00
thread.h Frame graph + Precise 60 fps timing (#998) 2024-09-23 18:43:51 +03:00
types.h video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
uint128.h Added const reference params if possible, removed less 16 size 2024-08-22 02:56:01 +03:00
unique_function.h video_core: Implement guest buffer manager (#373) 2024-08-08 15:02:10 +03:00
version.h starting 0.4.1 2024-10-31 17:35:39 +02:00