georgemoralis
ad4db71e00
missing touchpad reset in scePadReadState
2024-06-24 13:26:18 +03:00
georgemoralis
6d2b2779ea
added sceKernelPwrite
2024-06-24 13:25:50 +03: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
georgemoralis
94b9992d99
more clang format fix (final)
2024-06-22 18:17:40 +03:00
georgemoralis
11a3906243
clang fix
2024-06-22 18:12:04 +03:00
IndecisiveTurtle
73d60b7e8d
linker: Set rela bits for all symbol types
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
11bfdf2348
kernel: Add noreturn
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
30199fe701
kernel: Add scePthreadExit
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
30351ad112
linker: Fix TLS for dynamic modules
...
* Technically not fully accurate but it works. TlsGetAddr should handle dynamic allocation of TLS blocks
2024-06-22 18:09:04 +03:00
IndecisiveTurtle
2506a285f4
kernel: Implement some functions
2024-06-22 18:09:03 +03:00
IndecisiveTurtle
7bdaeafdfd
kernel: Make sceKernelUsleep interruptible
2024-06-22 18:09:03 +03:00
georgemoralis
7519d4610c
added missing buttons and analog buttons to keyboard
2024-06-21 14:37:49 +03:00
georgemoralis
19edb8155f
fixed stupid directory iterator issue
2024-06-20 22:29:08 +03:00
georgemoralis
1b2c3ccc42
better dirents
2024-06-20 21:13:17 +03:00
georgemoralis
49601f58ed
initial dents support
2024-06-20 18:09:40 +03:00
georgemoralis
0325e4795a
posix_pthread_yield , scePadGetHandle
2024-06-20 17:10:14 +03:00
georgemoralis
48d6ccd9bb
partially added analog controls
2024-06-17 12:52:25 +03:00
georgemoralis
57c65cadb8
fixes to the old pad code
2024-06-17 09:02:06 +03:00
georgemoralis
9501bd77d4
clang fix
2024-06-17 09:02:06 +03:00
georgemoralis
0aa29428e1
new pad module structured using modulegenerator , added common pad structures and function signatures
2024-06-17 09:02:06 +03:00
raziel1000
52f3b74fdd
Missing sceKernelUuidCreate nid
2024-06-15 17:01:20 -06:00
TheTurtle
ca25333a1e
core: Address a few more regressions ( #202 )
...
* tls: Actaully fix TLS on linux
* emulator: Remove nptoolkit
* Not quite supported yet, makes games misbehave
* kernel: Back to SCHED_OTHER
* kernel: Remove unused signal function
* address_space: Fix Unmap call on linux
* clang format
2024-06-16 01:50:07 +03:00
psucien
e6f773f950
videoout: register buffers in texture cache at VO creation time
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
a0fe34b01f
tracy: added PthreadMutex markup
2024-06-15 23:20:14 +02:00
psucien
142ad54876
gnmdriver: fix for pm4 dump name in some erroneous cases
2024-06-15 23:20:14 +02:00
psucien
1e69f83d9e
libraries: fix for Windows crash during LLE libc initialization
2024-06-15 20:04:36 +02:00
Younes
0fa7d5d02c
- sceKernelUuidCreate, sceAppContentAppParamGetInt, sceAppContentTemporaryDataMount2 ( #199 )
...
- PlayGo
- stub libusbd
-added /temp0 and /data mounts at emu start.
(Ghost Files: Memory of a Crime, Abyss: The Wraiths of Eden)
- some posix functions
2024-06-15 17:51:51 +03: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
raziel1000
080ec3e23e
Added LibPngDec
...
(tested with Metal Slug 3, Risk of Rain, Deadbolt and Nidhogg)
2024-06-14 01:37:26 -06: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
georgemoralis
400d910743
Merge pull request #184 from shadps4-emu/externals/tracy
...
Tracy profiler
2024-06-12 17:19:44 +03:00
georgemoralis
8362e2c497
fixed windows qt build
2024-06-11 23:26:13 +03:00
georgemoralis
8612907831
really fixed typo
2024-06-11 22:41:35 +03:00
georgemoralis
991d44bde6
fix typo
2024-06-11 19:36:17 +03:00
georgemoralis
e8fa9e0e89
added libScePosix nanosleep
2024-06-11 16:42:15 +03:00
psucien
04b1226e9c
tracy: basic markup and project palette
2024-06-11 12:14:33 +02:00
georgemoralis
bff2f006fb
Merge pull request #190 from shadps4-emu/stabilization_three
...
Stabilization three
2024-06-11 07:25:55 +03:00
raziel1000
0f27e0edf2
- Added trophy decryption when extracting a fpkg. trp icons and xmls are dumped to game_data/<title> (can be restored if deleted by accident by opening the trophy viewer)
...
- Added a trophy viewer (right click on game ==> trophy viewer)
- Enabled Run button.
- Switched gui settings to toml.
- Added recent files (6 max)
- Applied @raphaelthegreat suggestions and corrections (Thanks a lot).
- Fixed several bugs and crashes.
- Full screen should disabled by default.
- Added region in list mode.
- Added a simple temp elf list widget.
- Added messages when extracting pkg (ex: installing a patch before the game...etc)
2024-06-10 20:42:21 -06:00
psucien
7fcb758da2
timer_management: `sceKernelUsleep` on <1ms delays
2024-06-10 23:48:06 +02:00
TheTurtle
8ce58389ad
kernel: Implement gettimeofday + other misc fixes ( #187 )
...
* kernel: Add gettimeofday
* kernel: Move sceKernelReleaseDirectMemory where it belongs
* savedata: Stub sceSaveDataDialogUpdateStatus to return finished
* memory: Add lock to VirtualQuery and remove debug print
* clang format
* fixed linux build?
* special case for sceKernelWrite (stdin,stdout,stderr)
* special case for case savedata mount
* reduced mutex spamming
* added missing default rwlock attributes init
* kernel: Add more sleep functions
* file_system: Add some functions
* memory: Missed adding some functions
* kernel: Moved some functions to time
* kernel: Fix build error
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-10 22:59:12 +03:00
georgemoralis
6f8d99fbf2
fixed posix_stat error return
2024-06-10 18:09:22 +03:00
georgemoralis
3318f12639
fixed possible nullptr crash on rwlock create
2024-06-10 18:01:50 +03:00
raphaelthegreat
1092b1bcff
Fix linux build
2024-06-10 12:13:24 +03:00
raphaelthegreat
fc887bf3f5
core: Rework memory manager
2024-06-10 02:13:44 +03:00
georgemoralis
1a66fa098f
Merge pull request #174 from shadps4-emu/kernel_stuff
...
- sceKernelOpen: added rdwr and append modes
2024-06-09 08:26:03 +03:00
raziel1000
a790c30c28
added sceKernelSleep and small fix on usleep
2024-06-08 18:43:08 -06:00
georgemoralis
ac192134e8
Merge pull request #175 from shadps4-emu/missing_gnm_calls
...
Additional GnmDriver functions
2024-06-09 00:58:45 +03:00
psucien
d902339867
gnmdriver: `sceGnmDrawInitDefaultHardwareState175` added
2024-06-08 23:42:09 +02:00
georgemoralis
908eaa102d
clang format fix
2024-06-09 00:26:12 +03:00
georgemoralis
84dca0a5dd
added sceKernelTriggerUserEvent,sceKernelDeleteUserEvent
2024-06-09 00:23:58 +03:00
georgemoralis
2e6c28c34c
partial sceKernelFStat
2024-06-08 23:53:38 +03:00
georgemoralis
5be6777220
added sceKernelPread
2024-06-08 23:25:20 +03:00
georgemoralis
a1efcd9832
added rtc and disc_map modules
2024-06-08 22:41:25 +03:00
raziel1000
d3adcf2e6c
posix_pthread_mutex_trylock
...
posix_pthread_attr_setdetachstate
posix_pthread_attr_destroy
posix_pthread_create_name_np
posix_pthread_join
2024-06-08 11:13:02 -06:00
georgemoralis
c16275fe16
posix_usleep,posix_pthread_equal
2024-06-08 20:01:28 +03:00
raphaelthegreat
e9679f8309
address_space: Don't reserve space again
2024-06-08 19:10:32 +03:00
georgemoralis
05e4a4b4e1
hackish random/urandom support
2024-06-08 10:22:28 +03:00
georgemoralis
8115665a90
fixed sceKernelClose when decriptor is negative value
2024-06-08 09:56:57 +03:00
raziel1000
3b34aebe06
- sceKernelOpen: added rdwr and append modes
...
- saveDataMount: added mount mode 9, 28 and 34
- pthread: added a bunch of needed functions
- mem: added sceKernelMapNamedDirectMemory
2024-06-08 00:23:55 -06:00
psucien
edaeee194d
libs: gnmdriver: get tessellation ring factor address
2024-06-08 01:19:52 +02:00
psucien
9ca083ee06
libs: gnmdriver: map compute queue
2024-06-08 01:19:52 +02:00
georgemoralis
5d24a961cb
RWLocks implementation ( #171 )
...
* added dummy rwlock
* implemented part of rwlock functions (WIP)
* implemented the most important functions for rwlocks
2024-06-07 21:30:26 +03: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
raphaelthegreat
705d326a6d
kernel: Fix stack corruption from OrbisTimesec
2024-06-05 22:27:28 +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
863d80c16c
fix for name of the first dumped cmdb
2024-06-02 18:59:41 +02: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
georgemoralis
323e66f765
added app_content module
2024-05-31 15:03:05 +03:00
georgemoralis
3320156a27
fixed a case in sceKernelCreateEventFlag (found in Super Meat boy)
2024-05-30 20:16:16 +03:00
georgemoralis
3d749bc904
added sceSaveDataMount needed for Cursed Castilla
2024-05-30 19:14:06 +03:00
georgemoralis
4749782a68
scePthreadCondTimedwait needed for Hyper Light Drifter
2024-05-30 19:14:06 +03:00
georgemoralis
dc3ab91a76
fixed sonic mania savedata
2024-05-30 19:14:06 +03:00
raphaelthegreat
dd91456b48
video_core: Moar shader instruction
2024-05-30 18:17:54 +03:00
raphaelthegreat
58de7ff55a
video_core: Implement basic compute shaders and more instructions
2024-05-30 01:39:24 +03:00
psucien
7fc273c6bc
clang fmt
2024-05-29 20:31:34 +02:00
psucien
db113bbc7b
videoout, platform: fix for ooo irqs
2024-05-29 16:02:51 +02:00
psucien
fb237bddad
libraries: libc: fix for `FSin` implementation
2024-05-29 16:02:49 +02:00
georgemoralis
d30703b4eb
improvements in definations
2024-05-28 18:24:42 +03:00
georgemoralis
4d5e9d1da4
set,poll event flag
2024-05-28 15:13:56 +03:00
georgemoralis
1dfa91b638
event flag implementation from previous pr
2024-05-28 14:29:53 +03: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
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
66b695f5c7
platform: restored use of magic_enum
2024-05-22 20:20:13 +02:00
georgemoralis
b0243dd3e5
fixed a few compiler issues
2024-05-22 14:18:05 +03:00
TheTurtle
8730968385
video: Import new shader recompiler + display a triangle ( #142 )
2024-05-22 01:35:12 +03:00
georgemoralis
0b8baedab7
improved sceKernelWaitEqueue
2024-05-18 10:02:40 +03:00
georgemoralis
67c1772771
added _read in libkernel
2024-05-18 09:51:47 +03:00
georgemoralis
42fb9f6473
fixed sceKernelGetCompiledSdkVersion thanks raziel1000
2024-05-18 09:51:47 +03:00
georgemoralis
4b5e2e80fc
added sceKernelGetCompiledSdkVersion (which return games system version )
2024-05-18 09:51:46 +03:00
georgemoralis
cc98b11860
clang format
2024-05-18 09:51:46 +03:00
georgemoralis
43773d12d9
added scePthreadEqual
2024-05-18 09:51:46 +03:00
psucien
45e73d324a
kernel: event queue improvements
2024-05-17 23:32:15 +02:00
psucien
133acdc120
video_out: added vblank event
2024-05-17 23:31:55 +02:00
psucien
8455574615
gnmdriver: submission lock moved out from gpu
2024-05-17 23:31:19 +02:00
psucien
058e728e29
platform: multiple persistent irq handlers
2024-05-17 23:30:34 +02:00
psucien
9ad7495661
kernel: user event and data functions
2024-05-17 23:29:10 +02:00
psucien
64b2e58285
a fair multi-submissions support
2024-05-17 08:47:38 +02:00
psucien
9df1a8d15b
amdgpu: added support for several single GFX submits per frame
2024-05-17 00:01:47 +02:00
psucien
8c4f72f404
review comments
2024-05-16 16:59:04 +03:00
psucien
3d5be23671
stb image moved to externals
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
67f6d8b2e4
Merge pull request #131 from shadps4-emu/ngs2_work
...
Trying for ngs2 lle
2024-05-15 15:34:26 +03:00
georgemoralis
266fa57c43
clang format fix
2024-05-15 13:10:51 +03:00
georgemoralis
1431731503
even more linux fixes
2024-05-15 13:09:05 +03:00
georgemoralis
074f3d3f88
fixing linux compile
2024-05-15 12:57:58 +03:00
psucien
8677972505
graphics: separate IRQ for GPU driven flips
2024-05-14 21:33:20 +02:00
georgemoralis
932f0435e8
scePthreadCondSignal added
2024-05-13 22:53:50 +03:00
georgemoralis
413b67f8ce
scePthreadMutexTrylock and some more libcinternal functions
2024-05-13 20:09:32 +03:00
georgemoralis
f1883870fd
Initial LibcInternal
2024-05-13 16:13:33 +03:00
georgemoralis
99e4301dcc
pthread_self , scePthreadCondSignal , scePthreadCondWait ,scePthreadCondattrDestroy
2024-05-13 15:08:15 +03:00
georgemoralis
84de60a29a
scePthreadDetach , scePthreadAttrSetstacksize , clock_gettime
2024-05-13 14:04:25 +03:00
georgemoralis
d0d84221fd
possible fix for linux(?)
2024-05-12 19:36:40 +03:00
georgemoralis
c70736d6b7
reuse fix
2024-05-12 19:08:26 +03:00
georgemoralis
64cabdadf2
sceKernelConvertUtcToLocaltime implemented
2024-05-12 19:03:51 +03:00
georgemoralis
6196336533
updated aerolib
2024-05-12 17:51:20 +03:00
georgemoralis
2038d179fe
Merge remote-tracking branch 'origin/main' into kernel_stuff
2024-05-11 10:20:32 +03:00
psucien
d804a66aa2
review comments applied
2024-05-11 00:04:04 +02:00
psucien
b849b07442
gnm_driver: fixed a typo and fields initialization
2024-05-10 22:58:53 +02:00
psucien
59e7bbdec4
kernel: `sceKernelDeleteEqueue` added
2024-05-10 22:04:41 +02:00
psucien
923baf0164
core: gpu interrupt dispatcher
2024-05-10 21:48:01 +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
georgemoralis
b00b849d3f
use winpthreads from mingw64
2024-05-09 23:45:09 +03: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
c7cfe2622d
video_out: `sceVideoOutSubmitEopFlip` stub added
2024-05-08 22:54:34 +02:00
psucien
4746f514ff
gnm_driver: various fixes
2024-05-08 22:53:55 +02:00
psucien
72ea0be9ff
gnm_driver: `sceGnmSetEmbeddedVsShader` added
2024-05-08 21:00:01 +02:00
psucien
5f83ad2ecb
gnm_driver: `sceGnmInsertWaitFlipDone` added
2024-05-08 07:36:14 +02:00
psucien
50bcd13482
video_out: added display buffer labels
2024-05-08 07:35:10 +02:00
psucien
4206ec3c94
video_core, kernel: added gfx eop event handling
2024-05-07 22:46:54 +02:00
georgemoralis
96cf59efea
Merge pull request #125 from shadps4-emu/savedata
...
Savedata + filesystem implementations
2024-05-07 16:38:39 +03:00
georgemoralis
91dd175d6b
added sceKernelGetTscFrequency
2024-05-07 16:28:42 +03:00
georgemoralis
9dff1975a3
libc hle : added ftell , powf , roundf
2024-05-07 16:25:58 +03:00
psucien
1b811e08f1
core: libraries: gnmdriver: bit more of basic Gnm driver functions
2024-05-06 22:13:33 +02:00
georgemoralis
930f239556
clang format
2024-05-05 16:50:55 +03:00
georgemoralis
806781a110
dummy ksernelMunmap (allows we are doomed to progress further)
2024-05-05 12:59:26 +03:00
georgemoralis
ad6724eeba
improvements in sceKernelOpen, rewrote sceKernelLseek, added sceKernelWrite, added sceKernelMkdir , partial sceKernelStat
2024-05-05 12:43:01 +03:00
georgemoralis
277e16c7ba
sceSaveDataMount2,sceSaveDataUmount some implementation
2024-05-04 22:08:04 +03:00
georgemoralis
2b9b3e76bf
moved savedata to proper folder
2024-05-04 19:08:46 +03:00
georgemoralis
e4d43f8e07
added dummy np* modules and screenshot module
2024-05-02 18:16:10 +03:00
georgemoralis
150854c583
added a login event in sceUserServiceGetEvent
2024-05-02 17:14:55 +03:00
georgemoralis
d2cc256b28
create_thread : sometime thread name is null
2024-05-02 17:14:30 +03:00
georgemoralis
90e3e47c4d
added stubbed mostly version of flexible memory - it allows sonic mania to go further
2024-05-02 17:13:51 +03:00