Commit graph

2072 commits

Author SHA1 Message Date
squidbus 6cbf01679f ci: Limit build parallelism to number of processors. (#1632) 2024-11-30 22:24:32 +02:00
squidbus a835567845 libraries: Add initial HLE JPEG encoder skeleton (#1607)
* libraries: Add initial HLE JPEG encoder skeleton

* jpegenc: Finish adding parameter validation.

* updated enums , added logging

* jpegenc: Clean up parameter validations.

* jpegenc: Fix missing log.

* externals: Update ffmpeg-core

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-11-30 21:43:12 +02:00
Vinicius Rangel 6b8da69b15 Allow shader patching (#1633) 2024-11-30 20:15:55 +01:00
squidbus 1d14a9a3d0 semaphore: Use condvars with separate signaled flag to prevent races (#1615)
* Revert "semaphore: Use binary_semaphore instead of condvar"

This reverts commit 85dc57b868.

* semaphore: Use separate signaled flag to prevent races

* mutex: Few misc fixes

* condvar: Few misc fixes

* signals: Add thread name to unhandled signal message.
2024-11-30 19:19:07 +02:00
squidbus 899a41823a config: Fix loading install directories. (#1626) 2024-11-30 11:08:34 +01:00
squidbus bb1f28b3bf libraries: Add libSceRazorCpu HLE skeleton. (#1624)
* Remove save migration code (#1621)

* Kernel Fixes (#1605)

* scePthreadSetprio Changes

FindThread uses posix error codes, so the function export should apply the ORBIS wrapper to convert these. Since it uses posix codes, I've also renamed the function to align with other posix functions. Lastly, this fixes a compile warning about ret sometimes not getting initialized.

* Implement posix_munmap

Used by Hatsune Miku Project Diva X during intros. May help with stability on Linux, probably won't change anything on Windows.

* Exports

Some missing function exports I've seen in my tests.
sceKernelAvailableFlexibleMemorySize export is used in Final Fantasy XV Episode Duscae
posix_pthread_setprio and posix_pthread_getschedparam are used by Spider-Man Miles Morales
scePthreadKeyDelete is used in UE4 games.

I've also added in a typo fix related to my previous PR.

* libScePosix export for posix_pthread_attr_setguardsize

Used in Hatsune Miku Project Diva X v1.02

* libraries: Add libSceRazorCpu HLE skeleton.

---------

Co-authored-by: ¥IGA <164882787+Xphalnos@users.noreply.github.com>
Co-authored-by: Stephen Miller <56742918+StevenMiller123@users.noreply.github.com>
2024-11-30 11:30:22 +02:00
georgemoralis 30430d5f44 Revert "Remove save migration code (#1621)"
This reverts commit b1a024efbd.
2024-11-30 11:28:46 +02:00
Stephen Miller f9d967cb1f Kernel Fixes (#1605)
* scePthreadSetprio Changes

FindThread uses posix error codes, so the function export should apply the ORBIS wrapper to convert these. Since it uses posix codes, I've also renamed the function to align with other posix functions. Lastly, this fixes a compile warning about ret sometimes not getting initialized.

* Implement posix_munmap

Used by Hatsune Miku Project Diva X during intros. May help with stability on Linux, probably won't change anything on Windows.

* Exports

Some missing function exports I've seen in my tests.
sceKernelAvailableFlexibleMemorySize export is used in Final Fantasy XV Episode Duscae
posix_pthread_setprio and posix_pthread_getschedparam are used by Spider-Man Miles Morales
scePthreadKeyDelete is used in UE4 games.

I've also added in a typo fix related to my previous PR.

* libScePosix export for posix_pthread_attr_setguardsize

Used in Hatsune Miku Project Diva X v1.02
2024-11-30 11:23:48 +02:00
¥IGA 7c470134d6 Remove save migration code (#1621) 2024-11-30 11:23:42 +02:00
squidbus 748f5da044 sysmodule: Remove need for libSceRazorCpu (#1622) 2024-11-30 10:08:46 +02:00
squidbus bd004e26ae Revert "core: fix patch paths applying when no folder exists" (#1620)
This reverts commit 9f6261524b.
2024-11-29 22:57:56 +02:00
Vladislav Mikhalin db0017b90e Fixed DS_SWIZZLE_32 (#1619) 2024-11-29 22:13:36 +02:00
Daniel R. 48ab77e937 core: fix patch paths applying when no folder exists 2024-11-29 20:02:45 +01:00
psucien 8f004bea5d hot-fix: apply vgt index offset to draw commands 2024-11-29 14:17:53 +01:00
squidbus abd4261962 semaphore: Fix returned iterator from AddWaiter (#1614) 2024-11-29 01:42:39 +02:00
Marcin Mikołajczyk fb0da5dca6 implement sceKernelPreadv (#1611) 2024-11-28 22:26:44 +02:00
Marcin Mikołajczyk c733dd3bdf Fix GetDents truncating the last character of filenames (#1610) 2024-11-28 22:25:37 +02:00
squidbus bbf257f861 libc_internal: Implement more functions. (#1606) 2024-11-27 11:50:57 +02:00
Vladislav Mikhalin 0e38a52c72 Fixed false-positive image reuploads (#1557)
* Fixed false-positive image reuploads

* Fixed userfaultfd path, removed dead code, simplified calculations

* oopsie

* track potentially dirty images and hash them

* untrack only first page of the image in case of head access

* rebase, initialize hash, fix bounds check

* include image tail in the calculations
2024-11-26 22:45:15 +02:00
¥IGA 6ed6905807 Adding Utils Icon (#1600) 2024-11-26 08:48:14 +02:00
psucien 88a2f4ba5d Revert "hot-fix: downgrade Nx1 2D render targets to 1D" due to regression
This reverts commit cea6d87472.
2024-11-25 22:14:53 +01:00
psucien 363fbe7a83 hot-fix: downgrade Nx1 2D render targets to 1D 2024-11-25 20:52:09 +01:00
DanielSvoboda f26df42b18 Fix Shortcut (#1586) 2024-11-25 14:26:56 +02:00
¥IGA 8deaf6b4c1 Fix Game List Mode (#1591) 2024-11-25 14:26:40 +02:00
F1219R 33d3113861 Update sq translation (#1595) 2024-11-25 14:26:12 +02:00
psucien 9333fb1dae hot-fix: skip indirect draw for quad lists
* needs to be fixed properly with indirect args re-packing
2024-11-24 18:33:38 +01:00
squidbus f2f18f5cf7 devtools: Fix a few compiler warnings. (#1575) 2024-11-24 18:47:19 +02:00
kalaposfos13 2cd5d5e63d Fix --help text in cli (#1588) 2024-11-24 18:45:17 +02:00
psucien efaa18ba22 Image binding and texture cache interface refactor (1/2) (#1481)
* video_core: texture_cache: interface refactor and better overlap handling

* resources binding moved into vk_rasterizer

* remove `virtual` flag leftover
2024-11-24 17:07:51 +01:00
psucien 3c35a76624 video_core: clean-up of indirect draws logic (#1589) 2024-11-24 15:43:28 +01:00
baggins183 9725373721 recompiler: fix how srt pass handles step rate sharps in special case (#1587) 2024-11-24 11:49:59 +01:00
psucien 6483bc8361 update: Tracy 0.11.1 2024-11-24 11:37:14 +01:00
psucien fa15e30172 video_core: restored presenter aspect calculations (#1583)
* video_core: restored presenter aspect calculations

* code simplification
2024-11-23 11:46:31 +01:00
psucien 35d988a5be hot-fix: proper offset calculation for single offset lds instructions 2024-11-23 10:14:19 +01:00
Daniel R. d61ddec5f7 Fix splashes using the wrong image
Supposedly, only pic1.png is used for the splash
2024-11-22 21:20:47 +01:00
squidbus 7e521c1b3a savedatadialog_ui: Use fmt::localtime instead of formatting std::chrono::local_time (#1574) 2024-11-22 18:29:41 +02:00
squidbus 760c54d346 misc: Add JetBrains build directories to gitignore. (#1573) 2024-11-22 17:36:31 +02:00
georgemoralis a3b4e733ba @Roamic's hot region fix (#1570) 2024-11-22 14:53:16 +02:00
georgemoralis b56fbbaa9c Port libpngdec to libpng (#1555)
* intial try to include libpng

* fixing libpng cmake

* cleanup structs and error codes

* building libpng , destroying pkg ;/

* fixed pkg with zlib_comp mode

* attemp to fix ci

* rewrote png encoder with libpng

* small corrections

* clang fix

* clang-fix?

* take alpha value from decode parameters

* more cleanup

* fix stride calculation

* libpng: avoid unnecessary allocation in decoding

* libpng: interlaced support

* libpng: lowered log level

* revert wrong merge

---------

Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>
2024-11-22 12:42:53 +02:00
kalaposfos13 d6ead2a65c Skip GUI if launching a game directly (#1507)
* Skip GUI if launching a game directly

* Rerun jobs 2

* Added --show-gui, --help, open game by ID and more

* Clang-format

* Added non-GUI related upgrades to SDL version

* clang-format

* Added --fullscreen <true|false> argument

* Update --help text
2024-11-22 07:55:55 +02:00
psucien c8fda45ea9 hot-fix: clang-format 2024-11-21 22:23:09 +01:00
TheTurtle 9efa57bbc7 kernel: Rewrite pthread emulation (#1440)
* libkernel: Cleanup some function places

* kernel: Refactor thread functions

* kernel: It builds

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

* kernel: File cleanup pt1

* File cleanup pt2

* File cleanup pt3

* File cleanup pt4

* kernel: Add missing funcs

* kernel: Add basic exceptions for linux

* gnmdriver: Add workload functions

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

* kernel: Downgrade edeadlk to log

* gnmdriver: Add sceGnmSubmitCommandBuffersForWorkload

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

* kernel: Pthread rewrite touchups for Windows

* kernel: Multiplatform thread implementation

* mutex: Remove spamming log

* pthread_spec: Make assert into a log

* pthread_spec: Zero initialize array

* Attempt to fix non-Windows builds

* hotfix: change incorrect NID for scePthreadAttrSetaffinity

* scePthreadAttrSetaffinity implementation

* Attempt to fix Linux

* windows: Address a bunch of address space problems

* address_space: Fix unmap of region surrounded by placeholders

* libs: Reduce logging

* pthread: Implement condvar with waitable atomics and sleepqueue

* sleepq: Separate and make faster

* time: Remove delay execution

* Causes high cpu usage in Tohou Luna Nights

* kernel: Cleanup files again

* pthread: Add missing include

* semaphore: Use binary_semaphore instead of condvar

* Seems more reliable

* libraries/sysmodule: log module on `sceSysmoduleIsLoaded`

* libraries/kernel: implement `scePthreadSetPrio`

---------

Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com>
Co-authored-by: Daniel R. <47796739+polybiusproxy@users.noreply.github.com>
2024-11-21 22:59:38 +02:00
Daniel R. 1671826240 shader_recompiler/frontend: implement V_MIN3_U32 2024-11-21 19:52:48 +01:00
Daniel R. 46043b83a9 video_core/amdgpu: heuristic for shader binary info
Games can strip the first shader instruction (meant for debugging) which we rely on for obtaining shader information (e.g. LittleBigPlanet 3). For this reason, we start a search through the code start until we arrive at the shader binary info.
2024-11-21 19:24:13 +01:00
Marat Idrisov 27b793f0e8 [MacOS] Enable game mode when switching to full screen mode (#1541)
* GH-1515: enable game mode when switching to full screen mode

* GH-1515: minor fix

* GH-1515: add MacOSBundleInfo.plist.in to REUSE.toml
2024-11-21 19:02:30 +02:00
Florian Piesche 872e41d670 Don't use github as a CDN for Discord RPC icon (#1496)
[jsdelivr](https://www.jsdelivr.com/?docs=gh) is a free CDN for opensource projects that offers mirroring and CDN services for files on GitHub with just a minor URL change, backed by a number of major organizations in the CDN industry.
2024-11-21 12:09:10 +02:00
psucien 0de2818d24 Proper MSAA surfaces support (#1560) 2024-11-21 12:08:52 +02:00
¥IGA c2cd0464b9 Bump to Clang 18 (#1549) 2024-11-21 12:08:22 +02:00
psucien 2e092e6a72 Respect game brightness settings (#1559)
* `RendererVulkan` -> `Presenter`

* support for Video Out gamma setting

* sRGB hack removed

* added post process pass to presenter

* splash functionality restored
2024-11-21 12:06:53 +02:00
psucien aabd6931b9 hot-fix: correct M-tiled surface size calculation when mip is less than a tile 2024-11-21 00:04:46 +01:00