Commit graph

741 commits

Author SHA1 Message Date
georgemoralis 208575d392
Merge pull request #560 from vladmikhalin/avplayer-and-texture-cache-fixes
Fixed video dimensions alignment and image cache
2024-08-24 17:24:36 +03:00
georgemoralis 8b0fd59149
Merge pull request #558 from Exhigh/savedata-fix-2
savedata: Add another missing case to saveDataMount
2024-08-24 17:14:10 +03:00
Vladislav Mikhalin 41dec15869 Fixed video dimensions alignment and image cache 2024-08-24 16:59:30 +03:00
Exhigh 6a84f6e188 savedata: Add another missing case to saveDataMount
This helps Five Nights at Freddy's: Sister Location (CUSA17983) boot and is playable.
Fixes issue #554
2024-08-24 17:48:39 +04:00
Herman Semenov 243fd0be78
core,shader_recompiler: align structures for 64-bit platforms (#447)
Decreased sizes:
 * TextureDefinition 32 bytes -> 24 bytes
 * PortOut 72 bytes -> 64 bytes
 * Request 48 bytes -> 40 bytes
 * WindowSystemInfo 32 bytes -> 24 bytes
2024-08-24 16:18:12 +03:00
Herman Semenov a0774c0e87 Fixed invalid set public exponent Crypto::DebugRifKeyset_init() 2024-08-23 22:04:55 +03:00
Exhigh 6545b09b74 savedata: Handle missed case in saveDataMount
This should help P5D get past the intro.

P.S:  The game requires Fiber and USBD modules to boot.
2024-08-23 16:27:03 +04:00
georgemoralis 83bcced16c
Merge pull request #502 from Borchev/ROMappedFileWorkaround
Workaround for readonly memory mapping of files issue
2024-08-22 13:49:19 +03:00
georgemoralis 12a65e3fb8 LLE libc removal 2024-08-22 11:24:31 +03:00
Herman Semenov aed9a737d6 Added const reference params if possible, removed less 16 size 2024-08-22 02:56:01 +03:00
Vladislav Mikhalin 79680c50c0
Misc fixes (#517)
* Misc fixes

* Removed the skip for draw calls without RTs

* Remove Srgb image stores to rework later
2024-08-21 23:54:23 +03:00
georgemoralis 3426ad8cc0
Merge pull request #511 from dima-xd/sample
avplayer: Fix data returned by sceAvPlayerGetAudioData
2024-08-21 16:53:01 +03:00
Dzmitry Dubrova 6d0d2eaa59 avplayer: Fix sceAvPlayerGetAudioData 2024-08-21 14:37:34 +03:00
Borchev fc300b5265 Fix unmapping bug 2024-08-20 20:07:32 -07:00
Borchev 6596fe091c Workaround for readonly memory mapping of files issue 2024-08-20 16:10:38 -07:00
TheTurtle 3f9c86ad33
vk_pipeline_cache: Avoid recompiling new shaders on each new PL (#480)
* cfg: Add one more divergence case

* Seen in RDR shaders

* renderer_vulkan: Reduce number of compiled shaders

* vk_pipeline_cache: Remove some unnecessary checks
2024-08-21 02:00:24 +03:00
Lizardy 32cb3649d3
rtc errors (#485)
* rtc errors

* add system libs to cmakelists

* this.[func]

* fix errors

* declaration

* log handle addr

* missed

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-21 00:47:17 +03:00
georgemoralis 8d90e6d997
Merge pull request #475 from bax-cz/main
PlayGo: basic implementation, credits to red-prig
2024-08-20 11:43:37 +03:00
bax-cz 0b3356bd1a linux build fix 2024-08-20 09:28:07 +02:00
bax-cz 8f7b3c2e8c clang: fixed formatting 2024-08-19 20:40:23 +02:00
Dzmitry Dubrova 1f416134e7
Add messages to asserts (#476) 2024-08-19 15:29:13 +03:00
bax-cz 516a3e7104 PlayGo: basic implementation, credits to red-prig 2024-08-19 13:14:14 +02:00
Lizardy 138c9ce787
[WIP] libSceNgs2 (#439)
* init ngs2

* clang

* ngs2 HLE for missing LLE

* clang

* clang

* orbis ngs2 error codes

* resolve, error codes, ngs2_impl

* clang

* clang

* mac atomic

* clang

* mac

* clang

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-19 10:03:05 +03:00
georgemoralis 43e92bb987
Merge pull request #456 from StevenMiller123/sem_fix
Improve posix_sem functions
2024-08-17 10:57:19 +03:00
Stephen Miller 2935ca0fef clang-format fix 2024-08-16 17:22:06 -05:00
Stephen Miller 9fce6f7c01 Add SetPosixErrno function
I used a switch statement for future proofing, as some codes differ between Windows, Mac, Linux, or Orbis. Right now I've only added the codes that should be possible to encounter.
2024-08-16 17:20:21 -05:00
Stephen Miller 93f14e8ae9 Might fix clang-format? 2024-08-16 15:10:20 -05:00
Stephen Miller 6510af90be another clang-format fix 2024-08-16 15:07:19 -05:00
Stephen Miller f36440dc09 clang-format fix 2024-08-16 14:55:55 -05:00
Stephen Miller 786db80742 Improve posix_sem functions
Use ErrSceToPosix to update g_posix_errno appropriately after sem function calls.
2024-08-16 14:33:48 -05:00
Dzmitry Dubrova dcb057dd7f
misc changes, part ?/? (#441)
* gui: add option to boot a game by choosing elf file

* core: some small implementations

* fs: implement open func

* add some validations

* spirv: add image format

* video_core: add eR16Uint to formats
2024-08-16 20:16:15 +03:00
Dzmitry Dubrova 9e810b7524
core: Some small pad stubs (#424)
* core: Some small pad stubs

* core: handle scePadSetLightBar wrong lightbar setting
2024-08-16 20:11:55 +03:00
TheTurtle 1d1c88ad31
control_flow_graph: Initial divergence handling (#434)
* control_flow_graph: Initial divergence handling

* cfg: Handle additional case

* spirv: Handle tgid enable bits

* clang format

* spirv: Use proper format

* translator: Add more instructions
2024-08-16 20:05:37 +03:00
Herman Semenov c1fb5d5bca
core,shader_recompiler: added const ref filesystem::path and removed if type size less 16 (#446) 2024-08-16 11:36:05 +03:00
Vladislav Mikhalin 23dddca1f0 last minute fixes 2024-08-16 10:30:48 +03:00
Vladislav Mikhalin b3ef959b25 Fixed threading, migrated to CVs, added looping 2024-08-15 22:02:04 +03:00
Vladislav Mikhalin 5c4ac98d49 fixing build on linux and mac 2024-08-15 22:00:51 +03:00
Vladislav Mikhalin 0d6e8e227a Fixed some sound and threading issues.
Details:
* Switched SDL audio mutex to RW lock. This fixes games that continiously call SetVolume in a different thread (like Ghostbusters)
* Added contition to buffer audio packets independent of video packets. This fixes choppy audio across many games.
* Increased the number of audio frame buffers from 2 to 4. Just in case.
* Migrated to std::jthread and std::mutex from pthreads.
* Fixed a race condition with joins on avplayer close that caused a crash.
2024-08-15 22:00:51 +03:00
Vladislav Mikhalin e33ff10212 Added some logs, fixed some crashes, fixed align. 2024-08-15 22:00:51 +03:00
Vladislav Mikhalin b5c69189e5 avplayer WIP 2024-08-15 22:00:51 +03:00
psucien d32e584839 libraries: vide_out: redundant assert removed 2024-08-15 17:41:53 +02:00
¥IGA 8c77d4dde6
Ability to change username (#432) 2024-08-15 12:33:10 +03:00
Dzmitry Dubrova 6f4e1a47b9
core: misc changes (#430)
* core: misc changes

* video_core: add some formats for detiling

* clang format
2024-08-14 20:37:05 +02:00
Stephen Miller 5f963772a0
scePthreadAttrSetstack implementation (#391)
* scePthreadAttrSetstack implementation

Used by Final Fantasy XV

* Address Comments

Verify parameters before calling the pthread_attr_setstack function.
Swap uses of SCE prefix with ORBIS prefix.

* Quick fix

Addresses the newest review and appears to fix issues caused in games by my previous commit.
2024-08-14 18:43:00 +02:00
Daniel R. 6cc4a682fd
core/memory: Fix error on virtual queries of reserved regions 2024-08-14 15:34:17 +02:00
psucien 27cb218584
video_core: CPU flip relay (#415)
* video_core: cpu flip is propagated via gpu thread now

* tentative fix for cpu flips racing

* libraries: videoout: better flip status handling
2024-08-14 11:36:11 +02:00
TheTurtle d8b9d82ffa
video_core: Various fixes (#423)
* video_core: Various fixes

* clang format
2024-08-13 20:05:10 +03:00
counter185 bb159eafb9
Basic gamepad support through SDL (#407)
* Add basic gamepad support through SDL

* lightbar, vibration, code style changes

* okay fine

* one day clang format will finally pass
2024-08-13 12:54:08 +03:00
TheTurtle 1fb0da9b89
video_core: Crucial buffer cache fixes + proper GPU clears (#414)
* translator: Use templates for stronger type guarantees

* spirv: Define buffer offsets upfront

* Saves a lot of shader instructions

* buffer_cache: Use dynamic vertex input when available

* Fixes issues when games like dark souls rebind vertex buffers with different stride

* externals: Update boost

* spirv: Use runtime array for ssbos

* ssbos can be large and typically their size will vary, especially in generic copy/clear cs shaders

* fs: Lock when doing case insensitive search

* Dark Souls does fs lookups from different threads

* texture_cache: More precise invalidation from compute

* Fixes unrelated render targets being cleared

* texture_cache: Use hashes for protect gpu modified images from reupload

* translator: Treat V_CNDMASK as float

* Sometimes it can have input modifiers. Worst this will cause is some extra calls to uintBitsToFloat and opposite. But most often this is used as float anyway

* translator: Small optimization for V_SAD_U32

* Fix review

* clang format
2024-08-13 09:21:48 +03:00
Lizardy 5eecd089ab
thread_management.cpp: Various Mandatory Threading Fixes | Resolve #398 (#394)
* Handle empty mutex attribute

- scePthreadMutexInit did not return default when the mutex attributes were empty, now it does

* fix conditional unsafety

* Update thread_management.cpp

fix deref

* accurate heap api

- modified HeapAPI to a struct with preset function fields
- utilized the full array parameter passed to _sceKernelRtldSetApplicationHeapAPI

* fallback to std malloc

* clang format

* Declare all HeapAPI replacement functions

- calloc, realloc, memalign, reallocalign, malloc_stats, malloc_stats_fast, malloc_usable_size
- posix_memalign corrected parameters

* resolve suggestions

- `using` definition replacement for AppHeapAPI
- linux uses heap_malloc, windows uses std::malloc

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-08-13 09:08:03 +03:00
Borchev 18f1799280
Add partial unmap support (#322)
* Add partial unmap support

* undo accidental whitespace removal

* Fix assertions

* Adjust Reserve and Free functions for partial unmapping
2024-08-13 09:05:30 +03:00
psucien 3d0fdf11f0
Build stabilization (#413)
* shader_recompiler: fix for float convert and debug asserts

* libraries: kernel: correct return code on invalid semaphore

* amdgpu: additional case for cb extents retrieval heuristic

* removed redundant check in assert

* amdgpu: fix for linear tiling mode detection fin color buffers

* texture_cache: fix for unexpected scheduler flushes by detiler

* renderer_vulkan: missing depth barrier

* texture_cache: missed slices in rt view; + detiler format
2024-08-12 17:23:01 +03:00
psucien 3e2d4d6b79
Gnmdriver: More functions (#410)
* libraries: gnmdriver: added `sceGnmGetGpuCoreClockFrequency`

* libraries: gnmdriver: `sceGnmSetVgtControl` added

* amdgpu: gpuclock64 in write eop packet
2024-08-12 13:29:57 +02:00
georgemoralis 834e3a500e added a fix for audio (seems that some games calls sceAudioOutInit twice) Thanks Roamic for tracing this! 2024-08-11 13:16:50 +03:00
georgemoralis 425e5491a8 added setting for change language
(reference to https://github.com/shadps4-emu/shadPS4/wiki/PS4-Modules#supported-languages for values)
2024-08-09 11:58:42 +03:00
georgemoralis 250b2e4969 small playgo adjustments 2024-08-09 00:02:26 +03:00
georgemoralis 3ef69cae5e some pad fixes (fixing metal slug 3 and risk of rain) 2024-08-09 00:02:25 +03:00
georgemoralis 7b7d1cb26f added missing NIDs in thread management 2024-08-09 00:02:25 +03:00
georgemoralis 816700d34d fixed to scePadGetControllerInformation , (fixes CUSA04892 - power rangers multi user issue) 2024-08-09 00:02:25 +03:00
Stephen Miller 48c58d5ce0
Kernel-Related Fixes (#386)
* Fix OrbisKernelBatchMapEntry struct

UE4 games and GTA V cause the BatchMap offset to overflow on Windows. Changing the type fixes this, and doesn't seem to cause any regressions on Windows or Linux.

* Implement posix_sem_trywait

Grand Theft Auto V needs this.

* Add missing scePthreadAttrGetdetachstate NID

Noticed this missing NID while testing games.
2024-08-08 23:42:51 +03:00
TheTurtle 381ba8c7a5
video_core: Implement guest buffer manager (#373)
* video_core: Introduce buffer cache

* video_core: Use multi level page table for caches

* renderer_vulkan: Remove unused stream buffer

* fix build

* oops forgot optimize off
2024-08-08 15:02:10 +03:00
TheTurtle 159be2c7f4
video_core: Minor fixes (#366)
* data_share: Fix DS instruction

* vk_graphics_pipeline: Fix unnecessary invalidate

* spirv: Remove subgroup id

* vector_alu: Simplify mbcnt pattern

* shader_recompiler: More instructions

* clang format

* kernel: Fix cond memory leak and reduce spam

* liverpool: Print error on exception

* build fix
2024-08-05 13:45:28 +03:00
georgemoralis 0ac9f8ffa4
Merge pull request #346 from shadps4-emu/savedata_1
SaveData Fixes
2024-07-31 17:34:44 +03:00
Dzmitry Dubrova 0fe766db6c
core: Implement sceRandomGetRandomNumber (#350) 2024-07-31 14:01:22 +03:00
raziel1000 d017bab21e Kernel: added sceKernelConvertLocaltimeToUtc 2024-07-31 00:21:23 -06:00
raziel1000 d7acb93d6f - Implemented sceSaveDataSetParam and sceSaveDataGetParam
- Fixed sceSaveDataDirNameSearch
2024-07-30 22:55:58 -06:00
TheTurtle a7c9bfa5c5
shader_recompiler: Small instruction parsing refactor/bugfixes (#340)
* translator: Implemtn f32 to f16 convert

* shader_recompiler: Add bit instructions

* shader_recompiler: More data share instructions

* shader_recompiler: Remove exec contexts, fix S_MOV_B64

* shader_recompiler: Split instruction parsing into categories

* shader_recompiler: Better BFS search

* shader_recompiler: Constant propagation pass for cmp_class_f32

* shader_recompiler: Partial readfirstlane implementation

* shader_recompiler: Stub readlane/writelane only for non-compute

* hack: Fix swizzle on RDR

* Will properly fix this when merging this

* clang format

* address_space: Bump user area size to full

* shader_recompiler: V_INTERP_MOV_F32

* Should work the same as spirv will emit flat decoration on demand

* kernel: Add MAP_OP_MAP_FLEXIBLE

* image_view: Attempt to apply storage swizzle on format

* vk_scheduler: Barrier attachments on renderpass end

* clang format

* liverpool: cs state backup

* shader_recompiler: More instructions and formats

* vector_alu: Proper V_MBCNT_U32_B32

* shader_recompiler: Port some dark souls things

* file_system: Implement sceKernelRename

* more formats

* clang format

* resource_tracking_pass: Back to assert

* translate: Tracedata

* kernel: Remove tracy lock

* Solves random crashes in Dark Souls

* code: Review comments
2024-07-30 23:32:40 +02:00
georgemoralis ac6dc20c3b
Merge pull request #343 from Borchev/AddPthreadGetStackSizeThunk
Add pthread_attr_getstacksize thunk
2024-07-30 23:36:39 +03:00
Borchev 361271826e
Fix SearchFree function bug (#339) 2024-07-30 22:40:42 +03:00
Borchev 867f38fe13 Add pthread_attr_getstacksize thunk 2024-07-30 12:37:05 -07:00
georgemoralis c1d01709be
kernel: Implement sceKernelSetVirtualRangeName (#338)
* Fix in searchFree should fix #337

* clang format fix

* sceKernelSetVirtualRangeName implementation

* improved vaddr conversion

* updated VirtualQuery to include name too

* unmap also removed name thanks @red_prig

* fixed copy...
2024-07-29 19:08:06 +03:00
squidbus 43d60a8ac9 Add sem_timedwait polyfill for macOS. 2024-07-28 16:42:33 -07:00
Dzmitry Dubrova aa7c8ca2b6
Implement some pthread calls (#332) 2024-07-28 18:43:44 +03:00
TheTurtle 0d6edaa0a0
Move presentation to separate thread/improve sync (#303)
* video_out: Move presentation to separate thread

* liverpool: Better sync for CPU flips

* driver: Make flip blocking

* videoout: Proper flip rate and vblank management

* config: Add vblank divider option

* clang format

* videoout: added `sceVideoOutWaitVblank`

* clang format

* vk_scheduler: Silly merge conflict

* externals: Add renderdoc API

* clang format

* reuse

* rdoc: manual capture trigger

* clang fmt

---------

Co-authored-by: psucien <168137814+psucien@users.noreply.github.com>
2024-07-28 15:54:09 +02:00
Vinicius Rangel 361412031c
fix tls patch on windows (#328)
* fix tls patch on windows

based on TlsGetValue in kernel32.dll

* fix tls patch on windows for expansion slots
2024-07-27 20:16:21 +03:00
TheTurtle d84b4adc83
semaphore: Yet another race condition fix (#327) 2024-07-27 17:18:18 +03:00
raziel1000 600a13c38f fs: added /download0 mount
fs: get rid of double slashes
2024-07-26 08:07:22 -06:00
georgemoralis 2841eba538 added /dev/urandom 2024-07-26 08:50:39 +03:00
georgemoralis a4912b8245 commented sem_timedwait for linux untill @squidbus fix it 2024-07-26 08:16:32 +03:00
georgemoralis 64d305faeb cleanup memory_management 2024-07-26 08:08:47 +03:00
raziel1000 fa76a723ad Applied feedback from @raphaelthegreat 2024-07-26 07:59:35 +03:00
georgemoralis b4916ef2ca some fixup to playgo , makes Worms go further 2024-07-26 07:53:45 +03:00
raziel1000 a475b38e5f - fixed sceAppContentTemporaryDataMount2 2024-07-26 07:53:19 +03:00
raziel1000 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
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
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 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 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 e06039d727 Set minimum macOS target to 11 and fix compile errors. 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 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
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
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
IndecisiveTurtle 01dc7f5bfc Add comments 2024-07-17 15:52:40 +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
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
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 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
raziel1000 ecad6cd1a7 - sceSaveDataDirNameSearch wip, needs testing and more work. 2024-07-14 23:23:10 +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
Live session user a1fbab5de7 Move game_data to RW directory inside user folder for linux 2024-07-13 16:44:13 -07:00
Daniel R. 0649234fc2
clang-format 2024-07-12 11:03:55 +02:00
Daniel R. 88426e0399
gnmdriver: Implement shader functions 2024-07-12 11:00:11 +02:00
Daniel R. a049bd3135
Fix Linux builds 2024-07-11 15:16:50 +02: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 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
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 c7af8df2ad gnmdriver: added sceGnmFindResourcesPublic stub 2024-07-07 13:47:01 +02:00
TheTurtle 379ec554a8
memory: Set virtual query offset 2024-07-07 01:26:17 +03:00
psucien 986ed0662c gnmdriver, amdgpu: added gpu idle IRQ; submission lock logic improved 2024-07-06 18:03:34 +02:00
georgemoralis bf74888be4
Merge pull request #239 from shadps4-emu/miscFixes3
Misc fixes 3
2024-07-06 11:16:53 +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
georgemoralis 4ae879875e scePthreadMutexTimedlock added 2024-07-05 15:23:35 +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
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 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 dc8d3b208c
Merge pull request #230 from shadps4-emu/stabilization12
reduced logging
2024-07-01 23:53:59 +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 a603bc7d88 shader_recompiler: More instructions 2024-07-01 22:42:45 +03:00
IndecisiveTurtle 7d4f0da40e video_core: Fix some regressions 2024-07-01 18:26:22 +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 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
georgemoralis 1f83824a8a
Merge pull request #225 from shadps4-emu/stabilization/10
Various fixes and improvements
2024-07-01 13:09:11 +03: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
georgemoralis 1413a70a92 added posix error write to errno 2024-06-30 10:40:06 +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 3663c60f3d libraries: gnmdriver: fix for incorrect offset in sceGnmDrawInitDefaultHardwareState175 2024-06-30 01:21:39 +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 c8ed338d5a kernel: Const correctness 2024-06-26 18:24:06 +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 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 8475a62a46 common: Common namespace for the slot vector container 2024-06-25 09:31:32 +02: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
psucien cb6b21de1f
Initial instancing and asynchronous compute queues (#207)
* gnm_driver: added `sceGnmRegisterOwner` and `sceGnmRegisterResource`

* video_out: `sceVideoOutGetDeviceCapabilityInfo` for sdk runtime

* gnm_driver: correct vqid index range

* amdgpu: indirect buffer, release mem and some additional irq modes

* amdgpu: added ASC commands processor

* shader_recompiler: added support for fetch instance id

* amdgpu: classic bitfields for T# representation (debugging experience)

* renderer_vulkan: skip zero sized VBs from binding

* texture_cache: image upload logic moved into `Image` object

* gnm_driver: `sceGnmDingDong` implementation

* texture_cache: `Image` usage flags moved; correct VO buffer pitch
2024-06-22 19:50:20 +03:00
georgemoralis 94b9992d99 more clang format fix (final) 2024-06-22 18:17:40 +03:00
georgemoralis 11a3906243 clang fix 2024-06-22 18:12:04 +03:00
IndecisiveTurtle 73d60b7e8d linker: Set rela bits for all symbol types 2024-06-22 18:09:04 +03:00
IndecisiveTurtle 11bfdf2348 kernel: Add noreturn 2024-06-22 18:09:04 +03:00
IndecisiveTurtle 30199fe701 kernel: Add scePthreadExit 2024-06-22 18:09:04 +03:00
IndecisiveTurtle 30351ad112 linker: Fix TLS for dynamic modules
* Technically not fully accurate but it works. TlsGetAddr should handle dynamic allocation of TLS blocks
2024-06-22 18:09:04 +03:00
IndecisiveTurtle 2506a285f4 kernel: Implement some functions 2024-06-22 18:09:03 +03:00
IndecisiveTurtle 7bdaeafdfd kernel: Make sceKernelUsleep interruptible 2024-06-22 18:09:03 +03:00
georgemoralis 7519d4610c added missing buttons and analog buttons to keyboard 2024-06-21 14:37:49 +03:00
georgemoralis 19edb8155f fixed stupid directory iterator issue 2024-06-20 22:29:08 +03:00
georgemoralis 1b2c3ccc42 better dirents 2024-06-20 21:13:17 +03:00
georgemoralis 49601f58ed initial dents support 2024-06-20 18:09:40 +03:00
georgemoralis 0325e4795a posix_pthread_yield , scePadGetHandle 2024-06-20 17:10:14 +03:00
georgemoralis 48d6ccd9bb partially added analog controls 2024-06-17 12:52:25 +03:00
georgemoralis 57c65cadb8 fixes to the old pad code 2024-06-17 09:02:06 +03:00
georgemoralis 9501bd77d4 clang fix 2024-06-17 09:02:06 +03:00
georgemoralis 0aa29428e1 new pad module structured using modulegenerator , added common pad structures and function signatures 2024-06-17 09:02:06 +03:00
raziel1000 52f3b74fdd Missing sceKernelUuidCreate nid 2024-06-15 17:01:20 -06:00
TheTurtle ca25333a1e
core: Address a few more regressions (#202)
* tls: Actaully fix TLS on linux

* emulator: Remove nptoolkit

* Not quite supported yet, makes games misbehave

* kernel: Back to SCHED_OTHER

* kernel: Remove unused signal function

* address_space: Fix Unmap call on linux

* clang format
2024-06-16 01:50:07 +03:00
psucien e6f773f950 videoout: register buffers in texture cache at VO creation time 2024-06-15 23:24:33 +02:00
psucien fd8ceacef7 video_core: shaders hash switched to one from binary header 2024-06-15 23:24:32 +02:00
psucien a0fe34b01f tracy: added PthreadMutex markup 2024-06-15 23:20:14 +02:00
psucien 142ad54876 gnmdriver: fix for pm4 dump name in some erroneous cases 2024-06-15 23:20:14 +02:00
psucien 1e69f83d9e libraries: fix for Windows crash during LLE libc initialization 2024-06-15 20:04:36 +02:00
Younes 0fa7d5d02c
- sceKernelUuidCreate, sceAppContentAppParamGetInt, sceAppContentTemporaryDataMount2 (#199)
- PlayGo
- stub libusbd
-added /temp0 and /data mounts at emu start.
(Ghost Files: Memory of a Crime, Abyss: The Wraiths of Eden)
- some posix functions
2024-06-15 17:51:51 +03:00
TheTurtle c5d1d579b1
core: Many things (#194)
* video_core: Add a few missed things

* libkernel: More proper memory mapped files

* memory: Fix tessellation buffer mapping

* Cuphead work

* sceKernelPollSema fix

* clang format

* fixed ngs2 lle loading and rtc lib

* draft pthreads keys implementation

* fixed return codes

* return error code if sceKernelLoadStartModule module is invalid

* re-enabled system modules and disable debug in libs.h

* Improve linux support

* fix windows build

* kernel: Rework keys

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-15 14:36:07 +03:00
raziel1000 080ec3e23e Added LibPngDec
(tested with Metal Slug 3, Risk of Rain, Deadbolt and Nidhogg)
2024-06-14 01:37:26 -06:00
TheTurtle 31bd502764
core: Fixup linux support (#195)
* tls: Implement for linux

* core: Implement memory manager for linux
2024-06-14 00:58:57 +03:00
georgemoralis 400d910743
Merge pull request #184 from shadps4-emu/externals/tracy
Tracy profiler
2024-06-12 17:19:44 +03:00
georgemoralis 8362e2c497 fixed windows qt build 2024-06-11 23:26:13 +03:00
georgemoralis 8612907831 really fixed typo 2024-06-11 22:41:35 +03:00
georgemoralis 991d44bde6 fix typo 2024-06-11 19:36:17 +03:00
georgemoralis e8fa9e0e89 added libScePosix nanosleep 2024-06-11 16:42:15 +03:00
psucien 04b1226e9c tracy: basic markup and project palette 2024-06-11 12:14:33 +02:00
georgemoralis bff2f006fb
Merge pull request #190 from shadps4-emu/stabilization_three
Stabilization three
2024-06-11 07:25:55 +03:00
raziel1000 0f27e0edf2 - Added trophy decryption when extracting a fpkg. trp icons and xmls are dumped to game_data/<title> (can be restored if deleted by accident by opening the trophy viewer)
- Added a trophy viewer (right click on game ==> trophy viewer)
- Enabled Run button.
- Switched gui settings to toml.
- Added recent files (6 max)
- Applied @raphaelthegreat suggestions and corrections (Thanks a lot).
- Fixed several bugs and crashes.
- Full screen should disabled by default.
- Added region in list mode.
- Added a simple temp elf list widget.
- Added messages when extracting pkg (ex: installing a patch before the game...etc)
2024-06-10 20:42:21 -06:00
psucien 7fcb758da2 timer_management: sceKernelUsleep on <1ms delays 2024-06-10 23:48:06 +02:00
TheTurtle 8ce58389ad
kernel: Implement gettimeofday + other misc fixes (#187)
* kernel: Add gettimeofday

* kernel: Move sceKernelReleaseDirectMemory where it belongs

* savedata: Stub sceSaveDataDialogUpdateStatus to return finished

* memory: Add lock to VirtualQuery and remove debug print

* clang format

* fixed linux build?

* special case for sceKernelWrite (stdin,stdout,stderr)

* special case for case savedata mount

* reduced mutex spamming

* added missing default rwlock attributes init

* kernel: Add more sleep functions

* file_system: Add some functions

* memory: Missed adding some functions

* kernel: Moved some functions to time

* kernel: Fix build error

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-06-10 22:59:12 +03:00
georgemoralis 6f8d99fbf2 fixed posix_stat error return 2024-06-10 18:09:22 +03:00
georgemoralis 3318f12639 fixed possible nullptr crash on rwlock create 2024-06-10 18:01:50 +03:00
raphaelthegreat 1092b1bcff Fix linux build 2024-06-10 12:13:24 +03:00
raphaelthegreat fc887bf3f5 core: Rework memory manager 2024-06-10 02:13:44 +03:00
georgemoralis 1a66fa098f
Merge pull request #174 from shadps4-emu/kernel_stuff
- sceKernelOpen: added rdwr and append modes
2024-06-09 08:26:03 +03:00
raziel1000 a790c30c28 added sceKernelSleep and small fix on usleep 2024-06-08 18:43:08 -06:00
georgemoralis ac192134e8
Merge pull request #175 from shadps4-emu/missing_gnm_calls
Additional GnmDriver functions
2024-06-09 00:58:45 +03:00
psucien d902339867 gnmdriver: sceGnmDrawInitDefaultHardwareState175 added 2024-06-08 23:42:09 +02:00
georgemoralis 908eaa102d clang format fix 2024-06-09 00:26:12 +03:00
georgemoralis 84dca0a5dd added sceKernelTriggerUserEvent,sceKernelDeleteUserEvent 2024-06-09 00:23:58 +03:00
georgemoralis 2e6c28c34c partial sceKernelFStat 2024-06-08 23:53:38 +03:00
georgemoralis 5be6777220 added sceKernelPread 2024-06-08 23:25:20 +03:00
georgemoralis a1efcd9832 added rtc and disc_map modules 2024-06-08 22:41:25 +03:00
raziel1000 d3adcf2e6c posix_pthread_mutex_trylock
posix_pthread_attr_setdetachstate
posix_pthread_attr_destroy
posix_pthread_create_name_np
posix_pthread_join
2024-06-08 11:13:02 -06:00
georgemoralis c16275fe16 posix_usleep,posix_pthread_equal 2024-06-08 20:01:28 +03:00
raphaelthegreat e9679f8309 address_space: Don't reserve space again 2024-06-08 19:10:32 +03:00
georgemoralis 05e4a4b4e1 hackish random/urandom support 2024-06-08 10:22:28 +03:00
georgemoralis 8115665a90 fixed sceKernelClose when decriptor is negative value 2024-06-08 09:56:57 +03:00
raziel1000 3b34aebe06 - sceKernelOpen: added rdwr and append modes
- saveDataMount: added mount mode 9, 28 and 34
- pthread: added a bunch of needed functions
- mem: added sceKernelMapNamedDirectMemory
2024-06-08 00:23:55 -06:00
psucien edaeee194d libs: gnmdriver: get tessellation ring factor address 2024-06-08 01:19:52 +02:00
psucien 9ca083ee06 libs: gnmdriver: map compute queue 2024-06-08 01:19:52 +02:00
georgemoralis 5d24a961cb
RWLocks implementation (#171)
* added dummy rwlock

* implemented part of rwlock functions (WIP)

* implemented the most important functions for rwlocks
2024-06-07 21:30:26 +03:00
TheTurtle 998d046210
video_core: Add depth buffer support and fix some bugs (#172)
* memory: Avoid crash when alignment is zero

* Also remove unused file

* shader_recompiler: Add more instructions

* Also fix some minor issues with a few existing instructions

* control_flow: Don't emit discard for null exports

* renderer_vulkan: Add depth buffer support

* liverpool: Fix wrong color buffer number type and viewport zscale

* Also add some more formats
2024-06-07 16:26:43 +03:00
raphaelthegreat 705d326a6d kernel: Fix stack corruption from OrbisTimesec 2024-06-05 22:27:28 +03:00
TheTurtle 728249f58d
core: Properly implement TLS (#164)
* core: Split module code from linker

* linker: Properly implement thread local storage

* kernel: Fix a few memory functions

* kernel: Implement module loading

* Now it's easy to do anyway with new module rework
2024-06-05 22:08:18 +03:00
psucien 863d80c16c fix for name of the first dumped cmdb 2024-06-02 18:59:41 +02:00
psucien f624f7749c
Fixes and QoL (#159)
* to ensure that we're not unlocking submits too early

* a final touch

* video_core: texture_cache: fix for page table corruption

* core: linker: a name for the game main thread

* libraries: gnmdriver: an option to dump application command lists

* libraries: kernel: named guest threads

* video_core: added a heuristic for determination of CB/DB surface extents

* fix for rebase leftover
2024-06-01 23:50:03 +03:00
georgemoralis 323e66f765 added app_content module 2024-05-31 15:03:05 +03:00
georgemoralis 3320156a27 fixed a case in sceKernelCreateEventFlag (found in Super Meat boy) 2024-05-30 20:16:16 +03:00
georgemoralis 3d749bc904 added sceSaveDataMount needed for Cursed Castilla 2024-05-30 19:14:06 +03:00
georgemoralis 4749782a68 scePthreadCondTimedwait needed for Hyper Light Drifter 2024-05-30 19:14:06 +03:00
georgemoralis dc3ab91a76 fixed sonic mania savedata 2024-05-30 19:14:06 +03:00
raphaelthegreat dd91456b48 video_core: Moar shader instruction 2024-05-30 18:17:54 +03:00
raphaelthegreat 58de7ff55a video_core: Implement basic compute shaders and more instructions 2024-05-30 01:39:24 +03:00
psucien 7fc273c6bc clang fmt 2024-05-29 20:31:34 +02:00
psucien db113bbc7b videoout, platform: fix for ooo irqs 2024-05-29 16:02:51 +02:00
psucien fb237bddad libraries: libc: fix for FSin implementation 2024-05-29 16:02:49 +02:00
georgemoralis d30703b4eb improvements in definations 2024-05-28 18:24:42 +03:00
georgemoralis 4d5e9d1da4 set,poll event flag 2024-05-28 15:13:56 +03:00
georgemoralis 1dfa91b638 event flag implementation from previous pr 2024-05-28 14:29:53 +03:00