Commit graph

1917 commits

Author SHA1 Message Date
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
georgemoralis 3f3acc5543
Merge pull request #246 from DanielSvoboda/Create-Shortcut
Create shortcut
2024-07-06 20:03:30 +03:00
DanielSvoboda 311ddbe2f9
fiz linux 2024-07-06 13:42:53 -03:00
DanielSvoboda f8e2b6d0cd
fix linux 2024-07-06 13:40:26 -03: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
DanielSvoboda eff8a9e514
fix linux? 2024-07-06 12:55:24 -03:00
georgemoralis bf74888be4
Merge pull request #239 from shadps4-emu/miscFixes3
Misc fixes 3
2024-07-06 11:16:53 +03:00
georgemoralis d4d7e9f5f6 removed hardware info seems make perfomance issues , will test something more lightweight 2024-07-06 10:27:57 +03:00
DanielSvoboda c3bf56f3eb
add 'Create Shortcut' option
Added 'Create Shortcut' option to gui_context_menus

Implemented functionality to create shortcuts:
convertPngToIco: Converts PNG icons to ICO format.
createShortcutWin: Creates shortcuts on Windows using COM interfaces.
createShortcutLinux: Generates .desktop files for shortcut creation on Linux.
Note: Linux functionality has not been tested.
2024-07-05 20:57:54 -03: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 56af77f1f4
add command line arguments GUI 2024-07-05 18:20:19 -03:00
georgemoralis 4ae879875e scePthreadMutexTimedlock added 2024-07-05 15:23:35 +03:00
georgemoralis 134541bdcd submodules updates 2024-07-05 15:08:33 +03:00
raziel1000 7ea87f69ea forgot duplicate. 2024-07-04 21:02:59 -06:00
Younes 8ce6ed4b59
Merge branch 'main' into miscFixes2 2024-07-04 20:51:04 -06:00
TheTurtle 3f123bbce2
thread_management: Fix windows build 2024-07-05 00:20:55 +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
georgemoralis a91c049754 added library to print system info to be able to debug user files better 2024-07-04 14:30:34 +03:00
georgemoralis fd39c50910 improved sceAppContentAppParamGetInt 2024-07-04 13:49:11 +03:00
georgemoralis 8d17f87a08 improved file not found return in sceKernelOpen 2024-07-04 11:38:23 +03:00
raziel1000 bdcadf63d2 scePthreadSetprio, scePthreadGetprio 2024-07-04 02:22:43 -06:00
raziel1000 e22ad65e70 .... 2024-07-04 01:57:03 -06:00
raziel1000 1968b2aa81 ... 2024-07-04 01:54:50 -06:00
raziel1000 c2c55fea87 mr clang format 2024-07-04 01:53:06 -06:00
raziel1000 0ecc54032c - Several SaveData functions. Dysmantle and we are doomed should save and load now. 2024-07-04 01:51:46 -06:00
georgemoralis 3875c00281 fixed linux compile? 2024-07-04 09:38:25 +03:00
georgemoralis 0228b5861c added scePthreadGetthreadid 2024-07-03 20:05:21 +03:00
georgemoralis 608301f86c dummy sceAppContentGetAddcontInfoList and fixed structs 2024-07-03 20:04:56 +03:00
georgemoralis af3bbc33e9 increase version 2024-07-02 00:39:10 +03:00
georgemoralis 94f83ad505 Updated version to 0.1.0 - Release 2024-07-02 00:35:54 +03:00
georgemoralis dc8d3b208c
Merge pull request #230 from shadps4-emu/stabilization12
reduced logging
2024-07-01 23:53:59 +03:00
georgemoralis afba6dbd66 clang format fix 2024-07-01 23:48:30 +03:00
georgemoralis 3b87c3c128 moved elf logging to DebugDump fuction , which can be enabled in config . This reduces main log file a lot 2024-07-01 23:07:57 +03:00
IndecisiveTurtle fe5bfa9d61 texture_cache: Always validate for now 2024-07-01 22:53:01 +03:00
IndecisiveTurtle a603bc7d88 shader_recompiler: More instructions 2024-07-01 22:42:45 +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 7c7e9427ba tls: Switch to trace logs 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 114f06d3f2 tls: Fix linux crash 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
IndecisiveTurtle 5da79d4798 spirv: Add fragdepth and implement image query 2024-07-01 13:56:14 +03:00
georgemoralis 1f83824a8a
Merge pull request #225 from shadps4-emu/stabilization/10
Various fixes and improvements
2024-07-01 13:09:11 +03:00
psucien f03262421e texture_cache: force storage usage bit to all images 2024-07-01 09:58:52 +02:00
georgemoralis d2c1e58313
Merge pull request #220 from shadps4-emu/stabilization9
HLE stuff
2024-07-01 01:18:41 +03:00
georgemoralis 90b27352f8 eventflag : changed an assert to log as error 2024-07-01 00:51:38 +03:00
georgemoralis 24f78fac20 fixed name style 2024-07-01 00:50:07 +03: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
georgemoralis 1413a70a92 added posix error write to errno 2024-06-30 10:40:06 +03:00
georgemoralis 8e01a1b6d8 libSceJpegEnc,libSceJson2 can be loaded LLE 2024-06-30 10:12:36 +03:00
georgemoralis d0278715cb added case for savedata (needed by flow) 2024-06-30 10:12:07 +03:00
georgemoralis 084b2ab6d5 added sceKernelDeleteEventFlag 2024-06-30 10:11:44 +03:00
psucien 2386b46726 libraries: gnmdriver: sceGnmDrawInitToDefaultContextState and sceGnmDrawInitToDefaultContextState400 implementation 2024-06-30 01:21:39 +03:00
psucien 9121ecf123 renderer_vulkan: more formats conversion 2024-06-30 01:21:39 +03:00
psucien 3663c60f3d libraries: gnmdriver: fix for incorrect offset in sceGnmDrawInitDefaultHardwareState175 2024-06-30 01:21:39 +03:00
psucien cc945fb92e shader_recompiler: a simple bfs in image arg producer search 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 b3f15dfe2e fixed posix_open return code 2024-06-28 23:19:33 +03:00
georgemoralis 1e717ab046 sceKernelOpen handle directory doesn't exist case 2024-06-28 23:06:15 +03:00
georgemoralis a810e47876 few more sceNet work 2024-06-28 23:00:01 +03:00
georgemoralis e54d574241 implemented a part of sceNet calls 2024-06-27 18:42:36 +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
psucien 7fd832b68c things prettified 2024-06-27 15:47:18 +02: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 c8ed338d5a kernel: Const correctness 2024-06-26 18:24:06 +03:00
IndecisiveTurtle c081663aac translator: Merge ANDN2 with AND and impl ORN2 2024-06-26 18:16:01 +03:00
IndecisiveTurtle e94149340e kernel: Fix pread and pwrite 2024-06-26 18:09:58 +03:00
IndecisiveTurtle 3a80df007e linker: More null check 2024-06-26 18:05:31 +03:00
IndecisiveTurtle 4846704832 shader_recompiler: More instructions and fix for swords of ditto 2024-06-26 18:03:09 +03:00
IndecisiveTurtle 9bd3898829 kernel: Rework semaphore implementation 2024-06-26 17:57:18 +03:00
IndecisiveTurtle a2394109ee kernel: Cleanup filesystem code 2024-06-26 17:54:36 +03:00
psucien 3532fd1c9c
Merge pull request #215 from shadps4-emu/miscFixAgain
Misc fixes (mostly LLE)
2024-06-26 14:15:07 +02:00
georgemoralis 8a617be3b7 missed from previous commit 2024-06-26 14:57:18 +03:00
georgemoralis 7ef11a7bd8 added sceKernelGetFsSandboxRandomWord and dummy posix_connect 2024-06-26 14:56:41 +03:00
georgemoralis c511b1b0cf sceAudioOutGetPortState added 2024-06-26 14:48:32 +03:00
georgemoralis 84a39e2fb0 load existing lle modules from sys_module folder 2024-06-26 14:43:01 +03:00
Alexandre Bouvier a2224a9b6b fix system include paths 2024-06-25 18:17:16 +02:00
georgemoralis 8f45be7d44
Merge pull request #213 from shadps4-emu/hle/trophies
A better stub for trophies
2024-06-25 18:38:35 +03:00
psucien 9b3a89467e fix for Linux build 2024-06-25 17:14:12 +02:00
georgemoralis c8a149c983
Merge pull request #214 from shadps4-emu/miscFixes
Misc fixes
2024-06-25 17:55:57 +03:00
psucien 3b2a312f15 kernel: thread_management: silence compilation warning 2024-06-25 09:56:19 +02:00
psucien ff64dd74f6 libraries: trophy: a better stubs implementation 2024-06-25 09:43:26 +02:00
psucien acc4ef7b4c common: slot_vector: added is_allocated to check if the slot already exists 2024-06-25 09:43:25 +02:00
psucien 8475a62a46 common: Common namespace for the slot vector container 2024-06-25 09:31:32 +02:00
georgemoralis cee55355bf
Merge pull request #208 from Xphalnos/main
Adding Quickstart
2024-06-25 09:42:14 +03:00
psucien c04fbb75d8 libraries: gnm_driver: added sceGnmDrawIndexIndirect and sceGnmDrawIndirect 2024-06-24 22:53:59 +02:00
psucien 508d034263 libraries: gnm_driver: added sceGnmSetEmbeddedPsShader 2024-06-24 14:51:17 +02:00
georgemoralis 1b6cb32b34 re-fix 2024-06-24 13:46:45 +03:00
georgemoralis 640354667e insure we reset padData 2024-06-24 13:41:18 +03:00
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
Xphalnos 7fe5f12f29 Screenshots fix 2024-06-23 09:04:16 +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
georgemoralis 94b9992d99 more clang format fix (final) 2024-06-22 18:17:40 +03:00
georgemoralis 32225f4a8b more clang fix 2024-06-22 18:15:42 +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 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
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
IndecisiveTurtle 8850c2f4be shader_recompiler: Add more instructions 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 b17a57cb3d analog sticks works better now 2024-06-17 14:33:03 +03:00
georgemoralis 91e6d35e89 analog support via keyboard 2024-06-17 13:42:39 +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
psucien 5595da0a24 final touch: assert instead of log crit to crash earlier 2024-06-17 00:42:26 +02:00
psucien 0c32ea242b shader_recompiler: list all missing instructions during translation pass 2024-06-16 23:45:39 +02:00
psucien 396812bab6 shader_recompiler: added V_TRUNC VOP1/3 (496) 2024-06-16 23:39:45 +02:00
psucien d3ab612bdc shader_recompiler: pretty print for missing shader instructions 2024-06-16 23:11:36 +02: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 d054c3e0ad shader_recompiler: added V_MAX VOP2 (431, 433) 2024-06-16 21:34:23 +02:00
psucien be67fdc9c9 shader_recompiler: correct format for SSBO store op 2024-06-16 21:21:19 +02:00
psucien 37ceea2314 renderer_vulkan: added log entry for CS compiling 2024-06-16 20:51:35 +02:00
psucien 54f8616d6a shader_recompiler: added MUL_HI VOP2 (896) 2024-06-16 20:39:53 +02:00
psucien 1fc86a6c9d shader_recompiler: added SOPK MOVK (45) 2024-06-16 20:26:24 +02: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 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 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 be6f523b6e renderer_vulkan: fixed buffers alignments 2024-06-15 23:20:13 +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
psucien 64569ff737 tracy: guards for missing vk profiler context 2024-06-11 22:57:37 +02:00
georgemoralis 8362e2c497 fixed windows qt build 2024-06-11 23:26:13 +03:00
psucien d7565dec57 tracy: added Vulkan GPU profiling 2024-06-11 21:52:48 +02: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
psucien e89b2d1cdd Added Tracy profiler 2024-06-11 11:17:46 +02:00
georgemoralis bff2f006fb
Merge pull request #190 from shadps4-emu/stabilization_three
Stabilization three
2024-06-11 07:25:55 +03:00
raziel1000 1abccb29f9 clang format 2024-06-10 20:44:16 -06: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 cb2cf7d93c recompiler: trivial missing ops (VALU OR and SALU LE, GE) added 2024-06-10 23:49:23 +02:00
psucien 7fcb758da2 timer_management: sceKernelUsleep on <1ms delays 2024-06-10 23:48:06 +02:00
psucien c2dc7c3fd4 renderer_vulkan: another fix for vertex buffer offsets 2024-06-10 23:20:32 +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
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
georgemoralis 23f11a3fda
Merge pull request #182 from shadps4-emu/miscfixes
Miscfixes
2024-06-10 18:42:49 +03:00
georgemoralis e84d2cf9cf wrong spdx 2024-06-10 18:36:18 +03:00
georgemoralis beb631607a review fixes 2024-06-10 18:26:37 +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
georgemoralis 0c1ede1060
Merge pull request #183 from shadps4-emu/bc_detiler
Micro detiler for 2D BC textures
2024-06-10 15:33:55 +03:00
georgemoralis 81a1cbf6b1 more clang fix 2024-06-10 15:24:34 +03:00
georgemoralis deda3026d8 clang fix 2024-06-10 15:21:50 +03:00
georgemoralis d89e4463e7 moved main code , to emulator,cpp , emulator.h class 2024-06-10 15:18:42 +03:00
georgemoralis dfc4f1c35b don't make fullscreen default 2024-06-10 14:04:59 +03:00
georgemoralis 13cd22aea6 depedencies updates and fixes 2024-06-10 14:04:32 +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
psucien 01f09cfa63 texture_cache: detiler: added support for block coded 64bit images 2024-06-09 18:18:49 +02:00
Xphalnos 623b1d6837
Synchronization between Qt build title and version.h (#178) 2024-06-09 18:45:25 +03:00
psucien fa73812f32 texture_cache: detiler: added support for block coded 128bit images 2024-06-09 12:54:19 +02:00
Xphalnos 1563dffd46
Added Fullscreen mode (#173)
* Added Fullscreen mode

* fix for config.toml

* fix for config.toml

* Apply review comment
2024-06-09 13:25:00 +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
psucien 9230d04a0a common: slot_vector moved into common 2024-06-08 01:19:51 +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
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 705d326a6d kernel: Fix stack corruption from OrbisTimesec 2024-06-05 22:27:28 +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
psucien 863d80c16c fix for name of the first dumped cmdb 2024-06-02 18:59:41 +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
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
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 0212e68752 shader_recompiler: redundant IR opcode removed 2024-05-30 11:50:42 +02:00
psucien 9227a2b868 video_core: multiple color attachments support 2024-05-30 11:21:26 +02:00
psucien 3741f013a3 shader_recompiler: added NOP and RSQ instructions 2024-05-30 09:43:49 +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 7fc273c6bc clang fmt 2024-05-29 20:31:34 +02: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 db113bbc7b videoout, platform: fix for ooo irqs 2024-05-29 16:02:51 +02:00
psucien e5486cc57f video_core: amdgpu: proper destruction of processing thread 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
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 66b695f5c7 platform: restored use of magic_enum 2024-05-22 20:20:13 +02:00
psucien d752aa5357 config, video_core: null gpu configuration added 2024-05-22 20:19:42 +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
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 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 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
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
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
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 882292f1ce added sys_modules folder and ability to load system modules (currently we try ngs2) 2024-05-13 15:01:45 +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 37014394fd amdgpu: return perfcounter on EOP 2024-05-10 23:16:56 +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 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
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
georgemoralis b0b73f1283 print param.sfo info at startup 2024-05-02 10:57:45 +03: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
georgemoralis 7d96308759 fix config for gpu settings 2024-04-28 19:14:56 +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
georgemoralis fec7f6cdc2 added sceVideoOutGetVblankStatus 2024-04-18 22:32:15 +03:00
georgemoralis 1275378e21 fixing qt buids once again 2024-04-15 22:51:36 +03:00
georgemoralis de770bc668 define a linux only code 2024-04-14 19:57:58 +03:00
GPUCode c01b6f8397 video_core: Rewrite vulkan and videoout 2024-04-14 17:10:40 +03:00
GPUCode 0a94899c86 src: Move control to input directory 2024-04-14 01:18:25 +03:00
GPUCode 5e2ac6c72b src: Reorganize and cleanup libraries 2024-04-14 00:37:17 +03:00
georgemoralis e99129d72f
several fixes (#112)
* updated fmt

* submodules updated

* fixed _TIMESPEC_DEFINED for winpthreads under windows

* fixed sdl3 under qt

* virtual_memory: Ensure mapped addresses stay inside the user area

* Fixes LLE Libc crashing on linux

---------

Co-authored-by: GPUCode <geoster3d@gmail.com>
2024-04-13 22:37:21 +03:00
georgemoralis 6f1c2d3060 clang format fix 2024-04-09 13:40:03 +03:00
georgemoralis 7b16e9af23 improved linker resolver 2024-04-09 13:39:35 +03:00
georgemoralis bb8a400b7b dummy libscesavedatadialog 2024-04-08 19:03:51 +03:00
georgemoralis b0cd6e5178 added sceVideoOutGetVblankStatus 2024-04-07 09:27:41 +03:00
georgemoralis 598a6a88e0
Merge pull request #107 from shadps4-emu/modules4
More module work focused on undertale
2024-04-05 20:41:26 +03:00
georgemoralis 5663da21c2 more linux fix 2024-04-05 19:53:54 +03:00
georgemoralis ea4bb4773e linux build fix 2024-04-05 19:33:38 +03:00
georgemoralis fc5e133c44 added sceAudioOutSetVolume 2024-04-05 09:59:28 +03:00
georgemoralis 81143b4a9e scePadRead,scePthreadYield implementations 2024-04-05 09:27:13 +03:00
georgemoralis 5409576197 posix nanosleep call 2024-04-04 20:20:50 +03:00
georgemoralis c29f514e63 just disable audioInOpen 2024-04-04 20:07:33 +03:00
georgemoralis 935842291d dummy sceAudioIn lib 2024-04-04 20:04:18 +03:00
georgemoralis a049d4c491 added clock_gettime 2024-04-04 19:47:59 +03:00
georgemoralis 121759d836 somehow working scePthreadCreate 2024-04-04 19:16:10 +03:00
georgemoralis 33209a77f1
Merge pull request #102 from shadps4-emu/gui-rewrite
Gui rewrite.
2024-04-02 23:51:13 +03:00
georgemoralis c832e3831a scePthreadAttrGet , and some mutex work 2024-04-02 18:07:24 +03:00
georgemoralis 2cc03e851e added some debug info to gnm 2024-04-02 17:21:04 +03:00
georgemoralis 0b8cc8eba9 added sceKernelClockGettime 2024-04-02 08:51:17 +03:00
georgemoralis 9d8fc61954 sceSaveDataMount2 just return save data not found for now 2024-04-01 22:31:25 +03:00
georgemoralis 6066c89607 scePadGetControllerInformation added , dummy scePadSetMotionSensorState 2024-04-01 14:45:27 +03:00
georgemoralis 92e4c6b798 scePthreadMutexDestroy implemented 2024-04-01 14:21:40 +03:00
georgemoralis 06d6ad09ea log debug message to tty 2024-04-01 08:44:07 +03:00
Jonah 9af38c3309 - Removed unnecessary std::future from game_grid_frame(populate/resize) Thanks SachinVin! 2024-03-31 12:24:08 -06:00
georgemoralis 2382e77898 sceKernelClose,sceKernelRead,sceKernelLseek implementation 2024-03-31 18:04:47 +03:00
georgemoralis 03b3194c44 fixed (?) _write function 2024-03-31 18:04:11 +03:00
georgemoralis a21722a1db fixed linux issue with enums 2024-03-31 17:37:09 +03:00
georgemoralis 186fa35f13 added ps4_ prefix to libkernel to make sure it deosn't conflict with linux function names 2024-03-31 17:14:21 +03:00
georgemoralis 0525481a9b partial implementation of _write function , which is used as debug ouput from lle libc 2024-03-31 13:33:38 +03:00
georgemoralis 8fa5874fb1 dummy libkernel module 2024-03-31 11:30:43 +03:00
georgemoralis ad7e750fa7 scePthreadAttrDestroy,scePthreadAttrGetaffinity added 2024-03-30 22:19:42 +02:00
georgemoralis 30946e21dd more clang fixes 2024-03-30 15:41:12 +02:00
georgemoralis 5373d7367d clang format fix 2024-03-30 15:39:21 +02:00
georgemoralis 94cd3be814 dummy sysmodule module 2024-03-30 15:34:01 +02:00
georgemoralis 8e8a82a310 some dummy net functions 2024-03-30 09:35:00 +02:00
Jonah c5e68ab819 PKG Viewer:
- Fixed crash when other file extensions are present in the same folder as the packages.
- Fixed display: check patch using serial and not name. fixed display when some games contain a semicolon in the title(STEINS;GATE 0)
- Fixed column resize on first run.
- Added status bar showing the number of packages.
- Removed: saving every single pkg path in config file.
2024-03-30 00:03:15 -06:00
georgemoralis 37813c1f59 clang format fix 2024-03-29 23:28:06 +02:00
georgemoralis b36df1383a added more dummy modules 2024-03-29 23:25:52 +02:00
Jonah aaa75a7ce1 - fix grid mode not populating on first run(fresh run with no settings saved).
- refresh game list button.
2024-03-29 00:48:17 -06:00
Jonah 2007c0610e *facepalm* 2024-03-28 23:53:34 -06:00
Jonah 0d1a1fae07 Reuse.. 2024-03-28 23:51:38 -06:00
raziel1000 ca6f582ea8 - Gui rewrite.
- Gui: Bug fixes and cleanup.
- Gui: Performance improvement (loading, resizing...etc)
- Added a simple PKG Viewer(Settings-> Utils -> PKG Viewer), added pkg folders will be saved.
- PKG Viewer: Shows game info(name, id, region...etc)
- PKG Viewer: Right click -> Install PKG to install/extract a game. Patch installation is also possible.
- Added option to dump game list  (Settings -> Utils -> Dump Game List), will be dumped to emu folder GameList.txt
2024-03-28 23:43:46 -06:00
georgemoralis b1e18529ac
Merge pull request #101 from Xphalnos/main
Proposed new logo for ShadPS4
2024-03-28 16:37:12 +02:00
Xphalnos c78f3ad4c5 Change logo 2024-03-28 15:29:21 +01:00
georgemoralis b60a627d44 clang format 2024-03-27 15:02:21 +02:00
georgemoralis a1468c9d79 loading libSceFios2.prx as lle as well 2024-03-27 13:00:27 +02:00
whereismyfoodat e272b152ed small fixes , cleanups 2024-03-27 08:41:14 +02:00
georgemoralis 9d4149f006 clang format fix 2024-03-26 19:51:10 +02:00
georgemoralis 489dd2c8fc scePthreadMutexattrDestroy again 2024-03-26 19:20:55 +02:00
georgemoralis 377d962478 dummy sceLibcHeapGetTraceInfo and scePthreadMutexattrDestroy 2024-03-26 19:19:52 +02:00
georgemoralis da7b4df1c3 implemented sceKernelGetProcParam 2024-03-26 18:48:26 +02:00
georgemoralis 683a0d55bf we can now load libc.prx 2024-03-26 18:29:37 +02:00
georgemoralis 1a7f5f7b31 function to start modules 2024-03-26 18:13:27 +02:00
georgemoralis bc7228fcb2 relocate before execution 2024-03-26 17:33:48 +02:00
georgemoralis e5a224aa96 rewrote relocations 2024-03-26 17:17:59 +02:00
georgemoralis 7dbe258edc improved LoadSymbols for export support 2024-03-26 14:05:18 +02:00
georgemoralis f70fbcac19 linker : Resolve can now load exports as well 2024-03-26 12:57:18 +02:00
georgemoralis 354a9c3cdb clang format fix 2024-03-26 12:33:00 +02:00
georgemoralis 596831947e small improvements on linker Resolve method 2024-03-26 12:31:46 +02:00
georgemoralis 365ae2aac9 some elf improvements 2024-03-26 00:21:38 +02:00
georgemoralis f2f04142b0 improved symbols_resolver and output 2024-03-25 09:46:36 +02:00
georgemoralis 540c21d382 config option to enable libc lle 2024-03-25 09:26:59 +02:00
georgemoralis 63d8d4d833 started 0.0.4 2024-03-25 09:09:39 +02:00
georgemoralis 4980aa3fd5 pushed v.0.0.3 version - codename salad 2024-03-23 09:43:03 +02:00
georgemoralis 2e931c9f72
More modules (#99)
* added dummy sceAudio lib

* added lseek in file_system

* updated sdl3

* forgot sdl3 in cmake

* cmake is case sensitive in linux

* fixed SDL_CreateWindowWithPosition

* fixed vulkan issues with latest sdl3

* some progress in sceAudio

* improvements in audio

* more sound improvements

* first working sound output , from openorbis sound demo

* updated sdl3 , zlib-ng can now be build with msvc+clangci

* fixed cmake

* fix for audio buffering

* clang format fix

* format fix

* better error handling for sceAudioOutput
2024-03-22 18:12:37 +02:00
georgemoralis 2a03b4d03b
Autogen system,user,dialog modules (#98)
* some rework on system_service, user_service

* fixed clang format

* more clang fix

* more clang fix

* added error codes in system service

* some libc functions

* fixed fprintf

* small fix

* linux fix

* error handling in user service

* error codes reorganized
2024-03-14 14:18:16 +02:00
georgemoralis 8c4f386641 made an option for logging to be synced by default instead of async 2024-03-11 14:06:39 +02:00
georgemoralis 02dcf4d45c
LLE libc + other fixes part1 (#97)
* app0 folder is absolute

* some improvements on symbols types

* clang format

* missing libs.h

* improved symbols_resolver

* moved config to config folder

* functions to dump import functions

* improved logging output

* option for debugdump and improvements

* Apply suggestions from code review

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* clang format

---------

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2024-03-11 13:26:33 +02:00
Jonah 00d401e103 - gui: firmware version display text correction (fw >= 10) 2024-03-08 11:54:30 -07:00
Younes 8ba6d7add0
- pkg extraction: fix a rare issue when there is extra entries with uroot and flat_path_table (this is how it should be handled anyway!) (#96)
- gui:
      - fix crash when switching between List and Grid modes.
      - fix fw display text (it was showing wrong numbers in certain cases)
      - made sfo viewer show numbers in hex.
2024-03-08 14:38:19 +02:00
Jonah 12a8cf5ee9 - Fixed a bug where folders where not created in the correct location which led to missing folders and files (incomplete/wrong extraction) 2024-03-06 00:04:14 -07:00
raziel1000 7e54255d29 - Fixed pkg extraction. 2024-03-02 14:06:10 -07:00
qurious-pixel 58ae9c3ade
add window icons (#92) 2024-03-02 18:39:46 +02:00
Younes f2691d83b8
- Added Play, Pause, Stop and several other UI icons. (#91)
* - Added Play, Pause, Stop and several other UI icons.
- Added a screenshot :3

* update reuse

* reuse again

* screenshot
2024-03-01 10:47:28 +02:00
georgemoralis 02cbebbf78
file formats and qt (#88)
* added psf file format

* clang format fix

* crypto functions for pkg decryption

* pkg decryption

* initial add of qt gui , not yet usable

* renamed ini for qt gui settings into shadps4qt.ini

* file detection and loader support

* option to build QT qui

* clang format fix

* fixed reuse

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.h

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* uppercase fix

* clang format fix

* small fixes

* let's try windows qt build ci

* some more fixes for ci

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/pkg.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update .github/workflows/windows-qt.yml

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* Update src/core/file_format/psf.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* loader namespace

* Update src/core/loader.cpp

Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>

* constexpr magic

* linux qt ci by qurious

* fix for linux qt

* Make script executable

* ci fix?

---------

Co-authored-by: raziel1000 <ckraziel@gmail.com>
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
Co-authored-by: GPUCode <geoster3d@gmail.com>
2024-03-01 00:00:35 +02:00
GPUCode 79d6c8a377
common: Rewrite logging based on cut down citra logger (#86)
* common: Rewrite logging based on cut down Citra logger

* code: Misc fixes

* core: Bring back tls handler

* linker: Cleanup

* config: Remove log level

* logging: Enable console output by default

* core: Fix windows build
2024-02-28 00:10:34 +02:00
georgemoralis b3084646a8
submodules fixes (#87)
* update discord-rpc

* ignore gitmodules on reuse

* imgui not used atm removed
2024-02-27 20:24:47 +02:00
georgemoralis 08aba86ca1
Modules generation tool (#81)
* Modules generation tool

* apply clang format to generator

* @whereismyfoodat suggestions

* added reuse headers

* reuse part2

* reuse part3

* reuse part3

* replace with hex_id the unknown functions to avoid compile errors with unknown characters from encode_id

* fixes in generation

* some sample module code from autogen tool

* clang format fix
2024-02-24 22:39:29 +02: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
Stefanos Kornilios Mitsis Poiitidis a58289a353 Merge branch 'TLS_works' of github.com:georgemoralis/shadPS4 into TLS_works 2024-01-27 17:00:12 +02:00
Stefanos Kornilios Mitsis Poiitidis 6de4736e50 skip over 0x66 prefixes in TLS 2024-01-27 16:59:59 +02:00
georgemoralis ff43fec76a some fs work for openorbis (WIP) 2024-01-26 18:01:27 +02:00
georgemoralis 57ddf939d4 orbis weird sceVideoOut calls 2024-01-24 14:46:02 +02:00
Stefanos Kornilios Mitsis Poiitidis 724c56d8aa Basic TLS with patching + int 0x80 2024-01-20 14:29:23 +02:00
georgemoralis af18453950 initial PT_TLS support 2023-11-21 17:27:11 +02:00
georgemoralis b6d98d4b72 some cleanups 2023-11-21 16:54:10 +02:00
georgemoralis 4f6dc8fddb functions libkernel to get openrorbis working (without tls) 2023-11-19 12:55:07 +02:00
georgemoralis f57f668c92 small correction 2023-11-19 10:48:59 +02:00
georgemoralis 093ebb568c initial fs implementation (mounting /app0/) 2023-11-19 10:22:46 +02:00
georgemoralis 3e8cd57986 scePthreadCond functions 2023-11-16 13:31:12 +02:00
georgemoralis 1316443c59 initial ScePthreadCond works 2023-11-16 09:14:10 +02:00
georgemoralis 776a680e85 prefix in libc functions to avoid messing with std ones 2023-11-16 09:13:50 +02:00
georgemoralis cad5ac34b0 some threadman fixes 2023-11-16 08:49:26 +02:00
georgemoralis dde91c1c4d
Merge pull request #71 from georgemoralis/undertale
Undertale-mutexes
2023-11-12 20:26:51 +02:00
georgemoralis f3c189feb3 cleanup createMutex 2023-11-12 20:23:42 +02:00
georgemoralis 8f8f0757af fixed issue in scePthreadAttrSetschedpolicy 2023-11-12 15:09:18 +02:00
georgemoralis ae12f351f8 better posix errors 2023-11-12 13:23:35 +02:00
wheremyfoodat e8c425850e some adjustments 2023-11-12 10:57:50 +02:00
georgemoralis 7e6c741ed7 added sceSystemServiceGetStatus 2023-11-11 16:25:53 +02:00
wheremyfoodat 21c8150841
[Libc] Add getptolower/getptoupper/getpctype 2023-11-11 12:28:15 +02:00
georgemoralis 7f0cf8784b improved mutex creation 2023-11-11 12:13:43 +02:00
georgemoralis 402ee7d006 init mutex if it doesn't exist when trying to lock (found in openorbis) 2023-11-11 10:49:44 +02:00
georgemoralis dbaf38dc7d mutex debugging log 2023-11-11 10:01:16 +02:00
georgemoralis 5f825fc8a8 implemented posix error return codes 2023-11-11 09:45:47 +02:00
georgemoralis 7fcea3277d some mutexlock , mutexunlock implementations 2023-11-10 23:30:28 +02:00
georgemoralis 11edfecb75 some dummy mutexlock-unlock 2023-11-10 21:08:32 +02:00
georgemoralis a10af46153 some refactoring on thread class 2023-11-10 20:51:02 +02:00
georgemoralis 91885e8a41 added sceMutexInit functions 2023-11-10 19:52:41 +02:00
georgemoralis 86bc2d427f moved thread_management to proper package 2023-11-10 17:31:56 +02:00
GPUCode 79c9d9ebd1 kernel: To snake case 2023-11-06 01:19:57 +02:00
GPUCode 099d01f96c common: Move timer to common 2023-11-06 01:17:28 +02:00
GPUCode 369d92fa56 core: Reorganize 2023-11-06 01:11:54 +02:00
GPUCode 7bccfeb8cc emulator: Use fmt::format instead of snprintf 2023-11-05 17:14:50 +02:00
GPUCode 303f086b14 common: Move classes to common namespace 2023-11-05 16:56:28 +02:00
GPUCode 17aefc1aef src: Move certain headers in common 2023-11-05 13:41:26 +02:00
GPUCode 6e28ac711f cmake: Refactor library management 2023-11-05 13:22:32 +02:00
georgemoralis c126925dd9 libc fprintf implementation for stdout,stderr case (needed from undertale) 2023-11-01 13:02:39 +02:00
georgemoralis 7b276e0a08 some HLE implementation for undertale game to process further 2023-11-01 12:40:56 +02:00
georgemoralis 6fba3a4380 finished libc refactoring 2023-10-31 19:08:33 +02:00
georgemoralis fd535bae6b libc separate stdlib functions to libc_stdlib 2023-10-31 18:12:05 +02:00
georgemoralis f5526977d3 libc separated string functions to libc_string 2023-10-31 17:32:56 +02:00
georgemoralis bb578ae377 cleanup libc (wip) and separated it to several files 2023-10-31 15:53:46 +02:00
georgemoralis 28a5277e2b reorganized libc package 2023-10-31 15:37:24 +02:00
georgemoralis 53a8024e43 core renaming 2023-10-31 14:28:42 +02:00
georgemoralis 11c0d79045 refactoring system service 2023-10-31 14:04:35 +02:00
georgemoralis 7391f7708a user service refactoring 2023-10-31 13:35:52 +02:00
georgemoralis bdd756a090 log scePadOpen 2023-10-31 09:04:08 +02:00
georgemoralis c488b7132d refactored libpad to new package 2023-10-31 09:01:20 +02:00
georgemoralis 93e75481c7 refactoring Core folder to core 2023-10-31 08:47:58 +02:00
georgemoralis cfdc45dfcb file_system reorganized (dummy) 2023-10-30 23:04:57 +02:00
georgemoralis 6f941c277a reimplemented sceKernelReadTsc in proper package and some abi fixes 2023-10-30 20:22:25 +02:00
georgemoralis 61e8919cf1 pause emu with p button 2023-10-30 14:52:01 +02:00
georgemoralis 0ad40cff1b implemented sceKernelGetProcessTimeCounter , sceKernelGetProcessTimeCounterFrequency 2023-10-30 12:53:52 +02:00
georgemoralis 51dda8e8a5 namespace update 2023-10-30 12:43:39 +02:00
georgemoralis 3602864523 added timestamp in buttons state 2023-10-30 08:57:43 +02:00
georgemoralis 758ef332f2 implemented sceKernelGetProcessTime 2023-10-30 08:48:52 +02:00
georgemoralis f732704b83 implemented fps counter 2023-10-29 23:46:34 +02:00
georgemoralis ce2c7a7d01 restored previous timer class 2023-10-29 23:46:18 +02:00
georgemoralis 1e755d3cfc fixed return in flip() function 2023-10-29 23:36:15 +02:00
georgemoralis adbe725d79 more debugging in elf loader 2023-10-28 09:12:43 +03:00
georgemoralis 4e6bfe1772 switched elf logging to fmt 2023-10-28 08:55:58 +03:00
georgemoralis f1ddf028c2
Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-28 00:09:47 +03:00
georgemoralis 4706b6b4e5
Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-27 20:56:21 +03:00
georgemoralis ff2a9dd37a
Update src/Util/log.cpp
Co-authored-by: GPUCode <47210458+GPUCode@users.noreply.github.com>
2023-10-27 20:55:18 +03:00
georgemoralis 2f0fec806a log exceptions and flush log file 2023-10-27 18:57:48 +03:00
georgemoralis af3710887c improved logging in elf loader 2023-10-27 18:28:05 +03:00
georgemoralis eb67c847a7 removed obsolute fs 2023-10-27 11:07:19 +03:00
GPUCode 0021e68aab vulkan: Remove orphan new part 2 2023-10-26 23:46:05 +03:00
GPUCode e196e35669 vulkan: Remove orphan new part 1 2023-10-26 23:38:37 +03:00
GPUCode 28819dede1 code: Replace printf/scanf with type safe fmt 2023-10-26 23:29:19 +03:00
GPUCode 33729d634e main: Remove remnants of imgui example 2023-10-26 23:15:11 +03:00
GPUCode f3504b2d25 singleton: Use unique_ptr 2023-10-26 23:13:24 +03:00
GPUCode 7cbe7c762a linker: Eliminate orphan news
* Most of these can just be on the stack, with the rest being std::vectors
2023-10-26 23:07:15 +03:00
GPUCode ca564b928c core: Rework elf loader 2023-10-26 22:55:13 +03:00
GPUCode ba299c4c00 core: Remove Timer in favour of std::chrono 2023-10-22 17:17:43 +03:00
GPUCode e2b1b059ed core: Switch to std threading primitives 2023-10-22 17:10:25 +03:00
georgemoralis f39744cf62 started 0.0.3 WIP 2023-10-22 00:20:51 +03:00
georgemoralis 1b483f1f03 updated version to v0.0.2 2023-10-21 21:37:17 +03:00
georgemoralis e9d2d37aae moved controller to host 2023-10-20 07:25:52 +03:00
georgemoralis ec362948f4 more draft fs 2023-10-19 17:52:49 +03:00
georgemoralis eb307b9cd9 draft fs design 2023-10-19 17:02:49 +03:00
georgemoralis 90d24c3a3c e_type ET_SCE_DYNAMIC seems to be valid as well 2023-10-19 13:01:20 +03:00
georgemoralis e3effe8c0a few libc (pow ,_Sin ) for ps4nes 2023-10-19 12:27:28 +03:00
georgemoralis 84393e6acc initial fs work (logging mostly) 2023-10-19 12:13:09 +03:00
georgemoralis 189d177692 some libc HLE functions needed for sonic mania 2023-10-17 18:30:09 +03:00
georgemoralis ad83c454a7 atan2f libc HLE 2023-10-17 17:15:08 +03:00
georgemoralis f6c97963bd cleanup gnmDriver 2023-10-16 20:56:43 +03:00
georgemoralis 044628ab13 rewrote libc_cxa 2023-10-16 20:49:52 +03:00
georgemoralis f916fd48b0 sceVideoOutClose implementation (partial) 2023-10-16 14:34:12 +03:00
georgemoralis 675193fec3 vsnprintf implementation 2023-10-16 08:55:28 +03:00
Stefanos Kornilios Mitsis Poiitidis fb4f7b79c0 stubs: also log return address 2023-10-15 16:09:38 +03:00
georgemoralis d70c1f3f95 libc , _Fsin , qsort,free,strncpy,memmove HLE calls 2023-10-15 16:03:55 +03:00
georgemoralis 58721d84a0 refactoring singleton class 2023-10-15 10:03:26 +03:00
georgemoralis 0f80805d69 video_out fixes for openBor 2023-10-15 00:31:42 +03:00
georgemoralis c0649b8d24 libc strcmp,mallon,strlen implementation 2023-10-15 00:23:01 +03:00
Stefanos Kornilios Mitsis Poiitidis 470881dc11 Stubs: Log nids for unknown ones 2023-10-14 19:07:38 +03:00
georgemoralis 13709121ac
Merge pull request #53 from georgemoralis/pad
pad implementation
2023-10-13 20:42:15 +03:00
georgemoralis 5a905b0c4f map for dpad keys to emulator 2023-10-13 20:41:03 +03:00
georgemoralis e1b64617a8 pad somehow working 2023-10-13 17:44:15 +03:00
georgemoralis da9adf84c0 some work on pad emulation (WIP) 2023-10-13 09:40:59 +03:00
Stefanos Kornilios Mitsis Poiitidis f1ce6fe669 Add auto stubs, static init
- Adds a python script to generate the tables, to avoid std::map init
- Generates stub "slots" to provide runtime information when a stub is called
- Provides fallback for unknown stubs
2023-10-11 11:50:02 +03:00
georgemoralis 95f1c14dcf added pad functions parameters 2023-10-09 20:39:12 +03:00
georgemoralis 1e18efcd05 misc 2023-10-09 16:54:10 +03:00
georgemoralis bc6b740ffe _ZdlPv , _Znwm needed for breakout homebrew 2023-10-09 12:31:31 +03:00
georgemoralis 9337e859ac force cpu->gpu sync after flipsubmit . this is not probably correct behaviour but neccesary for niko's homebrew 2023-10-07 17:28:50 +03:00
georgemoralis 372ac5d160 implemented sceVideoOutIsFlipPending 2023-10-07 17:25:08 +03:00
georgemoralis b7e5714990 added rand in libc 2023-10-07 12:10:55 +03:00
georgemoralis d96721e753 implemented some dummy pad, system_service, user_service calls 2023-10-07 12:03:03 +03:00
georgemoralis 03f19c4d13 partial fix buffer_size for tilemode 1 2023-10-06 22:03:59 +03:00
georgemoralis 67da986e19 some more HLE functions 2023-10-06 21:49:53 +03:00
georgemoralis 830542e870
Merge pull request #45 from georgemoralis/libc_HLE_implementations
HLE printf and refactoring to some libc functions
2023-10-06 16:11:10 +03:00
georgemoralis 5a2ee268f8 libc cleanups 2023-10-06 16:05:34 +03:00
georgemoralis e31365aea3 small adjustments to printf 2023-10-06 14:46:12 +03:00
georgemoralis 551455e56e printf implementation 2023-10-06 14:19:09 +03:00
georgemoralis cefd3d95ed adapting va_arg parameters of printf 2023-10-06 13:33:45 +03:00
georgemoralis b9c6d9d395 printf implementation from vita3k (not yet adapted) 2023-10-06 12:46:28 +03:00
georgemoralis 825d38ef31 partial printf , hello world demo (not from OpenOrbis) works 2023-10-05 18:38:36 +03:00
Stefanos Kornilios Mitsis Poiitidis 5094d3044c run_main_entry: Rewrite in asm for stack setup
- Fixes OpenOrbis loading that depends on rsp
  pointing to the argument structure, in addition
  to rdi
2023-10-02 17:26:33 +03:00
georgemoralis 809413a880 dummy libc printf call 2023-10-01 16:29:48 +03:00
wheremyfoodat 7791a8eeed
Use cstdint in types.h 2023-09-29 14:40:26 +03:00
georgemoralis 1395fd4939 v0.0.1 release files 2023-09-29 08:40:30 +03:00
georgemoralis 23eeec09d0 WIP tilemanager 2023-09-28 18:17:39 +03:00
georgemoralis 05fdea61fc more work on graphics . tiles are not yet supported 2023-09-27 22:47:53 +03:00
georgemoralis abe6d39295 more on buffer rendering, added vulkan command pool 2023-09-27 15:15:18 +03:00
georgemoralis 3b853413c7 preparing for drawing 2023-09-27 09:26:50 +03:00
georgemoralis 98ccbe7f30 update gpu memory function 2023-09-27 08:34:02 +03:00
georgemoralis 21120ac0ae finished gpu buffer creation 2023-09-27 07:45:05 +03:00
georgemoralis c6633a511a small adjustments 2023-09-26 20:40:02 +03:00
georgemoralis 512309c8a0 even more work on videoOutbuffer 2023-09-26 20:08:03 +03:00
georgemoralis b14e50904b more work on creating videoOutBuffer object 2023-09-26 18:56:08 +03:00
georgemoralis 1a5dd6cdfe added XXH3_64bits and calculate memory obj hashes 2023-09-26 16:00:13 +03:00
georgemoralis 7570576aa2 more abstract memoryCreateObj 2023-09-26 03:46:25 +03:00
georgemoralis 627c0d1b61 more gpu memory work 2023-09-25 15:08:36 +03:00
georgemoralis 1f0beb0ec3 gpumemory works 2023-09-25 12:04:40 +03:00
georgemoralis 59efa477ce even more work on video buffers 2023-09-25 00:06:04 +03:00
georgemoralis f469296b78 some video buffer work 2023-09-22 10:38:21 +03:00
georgemoralis 12382ddac4 fixed some silly issues 2023-09-22 00:05:00 +03:00
georgemoralis 0859964888 almost finished vulkan init 2023-09-21 23:48:16 +03:00
georgemoralis 3c4716ba5f vulkanCreateQueues 2023-09-21 18:20:13 +03:00
georgemoralis b1d812bb32 vulkan : createDevice 2023-09-21 12:59:48 +03:00
georgemoralis 90dc454440 Finished vulkanFindQueues 2023-09-21 12:41:51 +03:00
georgemoralis 3768dfabfc more work on vulkan queues 2023-09-20 14:19:20 +03:00
georgemoralis 48ae687191 misc 2023-09-19 17:13:37 +03:00
georgemoralis b68f018fad Added vulkanGetSurfaceCapabilities 2023-09-19 14:02:40 +03:00
georgemoralis faf9a03437 some vulkan queue work 2023-09-19 09:15:59 +03:00
georgemoralis 78bafe88fa even more vulkan init 2023-09-18 14:52:16 +03:00
georgemoralis ef6da6bddb more vulkan init progress 2023-09-17 23:38:16 +03:00
georgemoralis f6388c367e added vulkan extension initialize 2023-09-17 20:01:29 +03:00
georgemoralis be4c88a338 fixed tiling mode checking 2023-09-16 23:05:57 +03:00
georgemoralis e2b6c70f0a fixed vulkan compile 2023-09-16 10:51:09 +03:00
georgemoralis 243c0158c1 more to buffers 2023-09-16 00:03:11 +03:00
georgemoralis aacbc4e675 Initial sceVideoOutRegisterBuffers function (added ErrorCodes returns) 2023-09-15 23:13:49 +03:00
georgemoralis 15089ae0b0 small fixes 2023-09-15 14:40:03 +03:00
georgemoralis da2a942415 better event handling 2023-09-14 18:47:42 +03:00
georgemoralis 61280cb6cf initial work on sdl events 2023-09-14 16:49:47 +03:00
georgemoralis 8954a35eec basic sdl window init 2023-09-12 19:39:08 +03:00
georgemoralis ab932e7503 event queue events now process nicely 2023-09-11 13:14:13 +03:00
georgemoralis 0c39b808bf sceVideoOutSubmitFlip implementation 2023-09-10 12:59:21 +03:00
georgemoralis f1b1eacb67 finished sceKernelWaitEqueue implementation 2023-09-10 01:06:14 +03:00
georgemoralis 98090ae42f initial sceKernelWaitEqueue implementation (WIP) 2023-09-08 08:28:01 +03:00
georgemoralis 5b6bbfc327 sceVideoOutGetFlipStatus implementation 2023-09-06 13:45:49 +03:00
georgemoralis fd8dc05313 fixing build 2023-09-05 15:26:03 +03:00
georgemoralis a3bdc9e4cc sceVideoOutSetFlipRate,sceVideoOutGetResolutionStatus implementation 2023-09-05 15:14:43 +03:00
georgemoralis 466cfe96e6 more completed (but not finished) sceVideoOutAddFlipEvent 2023-09-05 14:28:52 +03:00
wheremyfoodat 3a7563ef64 fixing @georgemoralis code 2023-09-05 14:01:47 +03:00
georgemoralis b634d512d3 WIP sceVideoOutAddFlipEvent implementation 2023-09-05 09:13:14 +03:00
georgemoralis bc7a13370d cleanup VideoOut library code 2023-08-23 23:20:43 +03:00
georgemoralis 201294cf18 sceVideoOutOpen is not dummy now 2023-08-23 00:02:24 +03:00
georgemoralis 491e231770 implemented sceVideoOutOpen 2023-08-22 23:59:59 +03:00
georgemoralis a8b020b153 initial video out context object 2023-08-22 00:54:44 +03:00
georgemoralis 0799c59e3f SceVideoOutVblankStatus struct 2023-08-21 20:44:53 +03:00
georgemoralis 59c2deb672 some sceVideoOut work (mostly dummy work) 2023-08-21 14:25:11 +03:00
georgemoralis 5c28ff9ee2 small logging fix 2023-08-18 11:22:01 +03:00
georgemoralis 07d1387bfe fixed logging in elf 2023-08-18 10:49:51 +03:00
georgemoralis c80df0aab9 removed some debug code 2023-08-17 10:11:50 +03:00
georgemoralis bba76cdf49 sceKernelCreateEqueue implemented 2023-08-17 10:10:13 +03:00
georgemoralis c4b072e0e1 configurable loglevel in config file 2023-08-16 10:34:04 +03:00
georgemoralis c3135341c2 reorganize function call to proper file 2023-08-15 23:10:45 +03:00
wheremyfoodat a0ab3dbc0c added configuration class 2023-08-14 20:17:01 +03:00
georgemoralis 6a5308d521 improvements in logging 2023-08-14 01:24:03 +03:00
georgemoralis 5a30f0711e log class : added color output based on log levels (WIP) 2023-08-13 17:33:50 +03:00
georgemoralis 04e9366cb8 refactoring log class 2023-08-13 16:54:56 +03:00
georgemoralis ca291b6573 remove log for renaming to lowercase 2023-08-13 16:46:59 +03:00
georgemoralis 5845257e87 using our own application id for discord 2023-08-12 18:47:37 +03:00
georgemoralis 7b380e0d5f better place to init discordRPC 2023-08-12 01:02:42 +03:00
wheremyfoodat f2b64e892b Add discord RPC 2023-08-11 20:22:26 +03:00
georgemoralis 632e2e16ff proper variable naming 2023-08-10 21:30:35 +03:00
georgemoralis be0e7593ff sceVideoOutSetBufferAttribute attribute->option value 2023-08-10 20:20:42 +03:00
georgemoralis 6399886fea sceVideoOutSetBufferAttribute implementation 2023-08-10 20:14:44 +03:00
georgemoralis e5f2f91a80 threading working ,fixed a big in sceKernelMapDirectMemory 2023-08-09 11:42:50 +03:00
georgemoralis 3e1386666b threading part 1 2023-08-09 10:31:18 +03:00
wheremyfoodat d774ebdaea name conversions fixes 2023-08-08 22:44:01 +03:00
georgemoralis 25e1095c7e implemented sceKernelMapDirectMemory 2023-08-08 22:24:17 +03:00
georgemoralis c412a5cb0b aligned memory allocation using VirtualAlloc2 2023-08-07 18:16:26 +03:00
georgemoralis 3cb89c4b5c refactoring virtual_memory 2023-08-06 22:52:20 +03:00
georgemoralis 1e57ccc6ec refactoring 2023-08-04 11:33:00 +03:00
georgemoralis 8b78cc1dec initial work on sceKernelMapDirectMemory 2023-08-03 14:18:55 +03:00
georgemoralis 53ce038893 recommit debug.h 2023-08-03 13:43:42 +03:00
georgemoralis abd3dd4b5a git doesn't understand namechange 2023-08-03 13:43:25 +03:00
georgemoralis 813385caa3 improved logging in sceKernelAllocateDirectMemory 2023-08-03 13:27:07 +03:00
georgemoralis ba8b614afc added more proper and faster hex logging conversion 2023-08-03 13:16:49 +03:00
georgemoralis a135981fdd removed debug code 2023-08-03 13:06:23 +03:00
georgemoralis b7420e7daa memory management refactoring 2023-08-03 13:05:13 +03:00
wheremyfoodat 3e60a67785 general refactoring and coding format fixes 2023-08-03 12:25:25 +03:00
wheremyfoodat 30c1062893 proper timer class placeholders 2023-08-03 12:11:47 +03:00
georgemoralis 1cd0489dfe placeholder for making Memory and Timer classes portable 2023-08-03 11:29:14 +03:00
georgemoralis 0f85cbe54f print memory types enum value 2023-08-03 11:13:08 +03:00
georgemoralis c0e1ace5fc more refactoring 2023-08-02 15:16:00 +03:00
georgemoralis 7773e11c2d refactoring 2023-08-02 13:51:10 +03:00
wheremyfoodat 13ff3588fd name conversions 2023-08-02 13:11:09 +03:00
georgemoralis a6e1cf43d7 Refactoring PhysicalMemory 2023-08-02 08:41:41 +03:00
georgemoralis 7bc4fda33e PhysicalMemory is now singleton 2023-08-02 08:04:09 +03:00
georgemoralis dcac8c1661 sceKernelAllocateDirectMemory should be ok for now 2023-08-01 17:59:08 +03:00
georgemoralis 770f743a49 ugly PhysicalMemory 2023-08-01 17:02:26 +03:00
georgemoralis 0e1ca354a9 Added Thread class 2023-08-01 12:49:57 +03:00
georgemoralis 692759099f improved StringUtil algo + some PhysicalMemory work 2023-08-01 00:42:49 +03:00
georgemoralis 818e0b7404 improvements in sceKernelAllocateDirectMemory and function logging 2023-07-27 17:56:57 +03:00
wheremyfoodat c0c6024e2c User-defined literals 2023-07-27 15:09:52 +03:00
georgemoralis 441471370e some memory functions (videoout_basic now reaches sceKernelAllocateDirectMemory which is WIP) 2023-07-27 13:36:47 +03:00
georgemoralis 5b0e627dc0 some dummy HLE functions and implementations in libc 2023-07-26 23:52:26 +03:00
georgemoralis 7dc1f0a47b some constants defines 2023-07-26 15:13:40 +03:00
georgemoralis d7247f9e8d stubbed Assert function . should fix #26 2023-07-26 13:18:10 +03:00
georgemoralis 2b9aaff641 portable debugbreak
ευχαριστώ ροδάκινε

Co-Authored-By: wheremyfoodat <44909372+wheremyfoodat@users.noreply.github.com>
2023-07-24 13:05:57 +03:00
georgemoralis 5706e1be1b added more PS4_SYSV_ABI codes 2023-07-21 14:53:19 +03:00
georgemoralis 28aad0a5dc Added sysv_abi , now parameters in sceVideoOutOpen is correct 2023-07-21 08:03:36 +03:00
georgemoralis d8140ca016 added atexit() HLE function , sceVideoOutOpen appears to get invalid parameters 2023-07-20 17:53:51 +03:00
georgemoralis 98e9d970a3 we can reach atexit() function as well 2023-07-20 12:41:41 +03:00
georgemoralis d641f7b6c4 we can now execute code (reaches init_env() function ) 2023-07-20 12:18:43 +03:00
georgemoralis cc596083f5 more pthread progress added init for main Thread 2023-07-20 11:20:11 +03:00
wheremyfoodat bb2de743b7 Fix compilation error maybe 2023-07-18 19:28:28 +03:00
georgemoralis ce95520f38 some pthread work nothing exciting 2023-07-18 18:54:46 +03:00
georgemoralis f03c1a5fb4 initial thread management files 2023-07-17 23:46:25 +03:00
georgemoralis ecccead408 all function for video out demo should resolve now 2023-07-17 13:53:27 +03:00
georgemoralis 35e21f9a8c more dummy GnmDriver function calls 2023-07-17 13:39:00 +03:00
georgemoralis d9da9ade78 more dummy patching functions 2023-07-14 14:29:13 +03:00
georgemoralis 3cbbdd5b2f patching sceVideoOut functions 2023-07-13 18:36:03 +03:00
georgemoralis 063a689812 patching more dummy functions 2023-07-13 12:56:36 +03:00
georgemoralis 0ac4032d00 some missing nid names from videoout_basic demo 2023-07-12 14:44:37 +03:00
georgemoralis 81906c271a resolving relocate function and patching them (successfully done one :D) 2023-07-11 18:50:29 +03:00
georgemoralis 42dc535638 some more work on linker and added some more needed (but not currently used) memory functions 2023-07-10 14:52:14 +03:00
georgemoralis 8f36540386 kalitero usage minima sto main.cpp . Ola einai modules alla den tha katalaboun 2023-07-08 21:06:10 +03:00
Stefanos Kornilios Mitsis Poiitidis 0aaf516358 main: validate arguments 2023-07-07 13:54:44 +03:00
Stefanos Kornilios Mitsis Poiitidis b211342d8a linux: Fix build 2023-07-07 13:49:46 +03:00
georgemoralis 0edc265dc2 progress in relocations 2023-07-06 21:55:41 +03:00
georgemoralis 6717482662 initial work on relocations 2023-07-04 18:34:23 +03:00
georgemoralis bc2facaee4 improved memory_alloc function 2023-07-04 12:29:28 +03:00
georgemoralis 9103a545a2 small fix 2023-06-29 13:31:07 +03:00
georgemoralis f5dd2e83a9 added windows specific timer class 2023-06-29 13:20:34 +03:00
georgemoralis 20c0960cc6 dummy timer class 2023-06-29 13:17:05 +03:00
georgemoralis 79a6464c58 sample hle function loading (libc) 2023-06-28 20:15:19 +03:00
georgemoralis e0cee2d7fd started work on libraries linking 2023-06-26 20:45:16 +03:00
georgemoralis b8c542805f Symbol resolver added 2023-06-26 18:12:19 +03:00
Esdras Tarsis 1e57195ded Add initial Linux support. 2023-06-22 22:48:55 -03:00
georgemoralis 8acfc3d557 nid names resolver 2023-06-21 18:14:52 +03:00
georgemoralis cc34a85c54 more symbols work and refactoring 2023-06-19 07:51:56 +03:00
georgemoralis 11bf9d7928 elf symbols , bind ,type ,visibility 2023-06-19 06:58:22 +03:00
georgemoralis f333098231 more progress on symbols decoding 2023-06-18 17:54:22 +03:00
georgemoralis cae39ccf23 encode id64 for modules,libraries 2023-06-14 07:47:44 +03:00
georgemoralis bcc6288e9e supporting self segments loading 2023-06-13 19:05:06 +03:00
georgemoralis cfa68f2f40 Initial symbol loading 2023-06-13 07:43:58 +03:00
georgemoralis 0682830e2f DT_SCE_IMPORT_LIB,DT_SCE_ORIGINAL_FILENAME,DT_SCE_MODULE_INFO added. Dynamic loader should be ok for now 2023-06-12 08:16:20 +03:00
georgemoralis 6fcfe38e26 Added DT_OS_NEEDED_MODULE 2023-06-11 15:35:04 +03:00
georgemoralis 6e0cf378d2 Added DT_DEBUG, DT_TEXTREL,DT_FLAGS,DT_NEEDED 2023-06-09 18:10:40 +03:00
georgemoralis 94dff9b980 added DT_INIT_ARRAY, DT_FINI_ARRAY,DT_INIT_ARRAYSZ,DT_FINI_ARRAYSZ,DT_PREINIT_ARRAY,DT_PREINIT_ARRAYSZ,DT_SCE_SYMENT 2023-06-09 13:37:46 +03:00
georgemoralis dd4dddded3 Added DT_SCE_JMPREL,DT_SCE_PLTRELSZ,DT_SCE_PLTREL,DT_SCE_RELA,DT_SCE_RELASZ,DT_SCE_RELAENT 2023-06-09 11:37:18 +03:00
georgemoralis d995a0e286 added DT_INIT.DT_FINI,DT_OS_PLTGOT,DT_OS_SYMTAB,DT_OS_SYMTABSZ 2023-06-08 19:05:03 +03:00
georgemoralis 8932be618b parsing DT_OS_HASHZ, DT_OS_STRTAB , DT_OS_STRSZ for dynamic loader 2023-06-08 13:25:24 +03:00
georgemoralis 672e2b2d77 initial dynamic loader , parsing DT_HASH atm 2023-06-08 12:51:11 +03:00
georgemoralis e02c0a9398 simplify main (not loading imgui and sdl for the moment) 2023-06-08 11:58:29 +03:00
georgemoralis 66ea5329d2 some more playing with zydis 2023-05-30 16:27:11 +03:00
georgemoralis 5a72e51f4e fixed typo in Disassembler 2023-05-30 13:39:08 +03:00
georgemoralis dfc234f363 initial disasm class using zydis 2023-05-30 13:33:52 +03:00
georgemoralis 43033d6bf6 linker : loading PT_DYNAMIC , PT_DYNAMIC data 2023-05-26 19:22:43 +03:00
georgemoralis cc471a8535 segments loading (only elf atm) 2023-05-25 18:08:10 +03:00
georgemoralis 1ad70366c6 changed hex->decimal in size variables output 2023-05-25 14:25:52 +03:00
georgemoralis e87b793083 more progress on module to memory loading 2023-05-25 13:16:53 +03:00
georgemoralis 5d0a5af495 more work on linker , closer to load to memory 2023-05-23 19:39:24 +03:00
georgemoralis b27942c46b some more progress on linker , elf is now load from there 2023-05-23 10:47:56 +03:00
georgemoralis a09e2eb65a initial work on linker 2023-05-23 07:48:25 +03:00
georgemoralis 76987fb932 fix on loading elf file instead of self 2023-05-22 13:58:41 +03:00
georgemoralis 5f0b15e2fa draft work on memory allocation 2023-05-17 19:29:05 +03:00
georgemoralis 81ca77a464 initial work on loggin class 2023-05-16 19:31:53 +03:00
georgemoralis 08f8da2fea elfviewer : don't display section header if they don't exist (seems like commercial games doesn't have section headers) 2023-05-14 17:43:45 +03:00
georgemoralis 98068809aa elfviewer : detailed program headers info 2023-05-13 10:00:22 +03:00
georgemoralis f2198ef27d elf headers and elf program headers in imgui elfviewer 2023-05-10 22:21:34 +03:00
georgemoralis 6511b280cf elfview imgui : added segment headers 2023-05-08 12:15:28 +03:00
georgemoralis cda7c67e36 SELF header display on imgui elf window 2023-05-06 11:35:42 +03:00
georgemoralis 24e68b58f5 more elf tree progress 2023-05-05 09:29:16 +03:00
georgemoralis 701278348d small ElfViewer display updates 2023-05-03 19:56:18 +03:00
georgemoralis dda7020ef4 imgui elfviewer window . first draft 2023-05-03 19:40:47 +03:00
georgemoralis f35f7b62cd we can now load elf and imgui. 2023-05-02 22:10:49 +03:00
georgemoralis 72bdf22035 added spdlog library 2023-05-02 22:10:49 +03:00
georgemoralis f998469730 added fmt library 2023-05-02 22:10:49 +03:00
georgemoralis 222d0204db first try with cmake and imgui 2023-05-02 22:10:49 +03:00