Commit graph

2375 commits

Author SHA1 Message Date
squidbus
0297aee3f4
texture_cache: Relax mismatched image type from assert to cache miss. (#2830) 2025-04-22 15:03:43 -07:00
squidbus
5b0205bc59 fix: Texture cache image type assert. 2025-04-22 14:00:08 -07:00
Dmugetsu
cda421434b
Adding missmatch info to Texture cache assert (#2828) 2025-04-22 22:49:29 +03:00
Fire Cube
0c86c54d48
Implement SET_PC_B64 instruction (#2823)
* basic impl

* minor improvements

* clang

* more clang

* improvements requested by squidbus
2025-04-21 14:25:15 -07:00
Stephen Miller
5be726ca3b
Revert libSceGnmDriver initialization emulation (#2816)
Under normal circumstances, this mapping should only occur when libSceGnmDriver initializes. From what I can tell, this can be after game code starts running. Until there's a better way to accurately handle this, allocating this memory breaks some games.
This revert fixes the regression in games using the GFD engine.
2025-04-20 18:26:52 +03:00
kalaposfos13
69777e2ffa hotfix: clang-format 2025-04-19 17:19:40 +02:00
bigqy
111ff2bedd
Fixe: Updated the timing of setting text translation for the “Show label under icon” action in the toolbar to set the text after retranslateUi. (#2806) 2025-04-19 17:52:43 +03:00
georgemoralis
d0dbb737d9
New translations en_us.ts (Arabic) (#2810) 2025-04-19 17:51:43 +03:00
kalaposfos13
81ada41baa
NpAuth library stub (#2808)
* Add the NpAuth library

* clang

* you didn't see anything

* Add some random return to make games at least start using this library

* i'm once again asking for your continued ignorance of what i'm forgetting to not push

* debug logging

* apparently just this is still enough

* this isn't used but it still shouldn't be incorrect
2025-04-18 23:42:17 +03:00
Stephen Miller
0feb2e7211
Emulate memory behavior of libSceGnmDriver initialization (#2807)
* Emulate memory behavior of libSceGnmDriver _DT_INIT

Due to the unique way some games check for sceKernelAllocateDirectMemory failures, emulating this properly is necessary.

* Clang

* Fix address input for direct memory call

* Fix bug with DirectQueryAvailable

Missed this in my prior PR.

* DirectQueryAvailable fix

Fixes error cases to be more hardware accurate.
2025-04-18 23:41:33 +03:00
kalaposfos13
23c616c647
why was this hardcoded in this one specific place (#2809) 2025-04-18 23:41:13 +03:00
Stephen Miller
20b11f2d63
libkernel: Fix sceKernelAllocateDirectMemory and sceKernelAvailableDirectMemorySize (#2803)
* AllocateDirectMemory fixes

search_start and search_end were ignored in certain cases, this fixes that issue.
I've also basically rewritten the function in the process, since the lack of documentation made it difficult to make the proper adjustments.

* DirectQueryAvailable fixes

remaining_size was calculated incorrectly in cases where a free dmem_area had a base earlier than search_start, or an end after search_end.

* Reduce sceKernelGetDirectMemorySize log severity

By this point, we've confirmed that sceKernelGetDirectMemorySize is hardware-accurate. There's no reason to clog logs with this function, which games usually call before every sceKernelAllocateDirectMemory call.

* Clang

* Fix phys_addr_out

phys_addr_out should be equal to search_start in cases where search_start is greater than the dmem_area base.

* Dividing by zero is fun

Need to check for alignment when aligning things.

* Update memory.cpp

* Clang
2025-04-18 11:00:14 +03:00
squidbus
df89241eb8
vk_rasterizer: Improve viewport depth calculations. (#2799) 2025-04-17 13:04:48 -07:00
¥IGA
703620c7cd
[Windows] Adding Properties to the Executable (#2789) 2025-04-17 09:43:14 +03:00
georgemoralis
b1b7538afd
New Crowdin updates (#2785)
* New translations en_us.ts (Arabic)

* New translations en_us.ts (Italian)

* New translations en_us.ts (Arabic)

* New translations en_us.ts (Arabic)

* New translations en_us.ts (Arabic)
2025-04-17 09:42:26 +03:00
Dmugetsu
ddc05e8a5f
Implementing DS_SUB_U32, DS_INC_U32, DS_DEC_U32. (#2797)
* Implementing DS_SUB_U32, DS_INC_U32, DS_DEC_U32, DS_WRITE_SRC2_B32, DS_WRITE_SRC2_B64.

* Added ir instructions for new opcodes.
Removing Write implementations.
Maping operation S_BFE_I32 as it was added in translate but wasnt pointing to anything.

* Suggestions
2025-04-16 17:56:27 -07:00
squidbus
62a4182aca
shader_recompiler: Fill in IMAGE_GATHER4_* variants in table. (#2798) 2025-04-16 17:35:14 -07:00
Fire Cube
aa8dab5371
shader_recompiler: Implement S_SUBB_U32 instruction (#2796)
* add S_SUBB_U32 instruction

* add missing case

* move case to match enum
2025-04-16 14:24:18 -07:00
squidbus
ddf3df7f56 fix: clang-format 2025-04-16 10:48:17 -07:00
Missake212
243ee04b1c
Implement DS_READ2ST64_B64 (#2795) 2025-04-16 09:54:05 -07:00
squidbus
04e4ce0775 fix: Bad Intel drivers. 2025-04-16 09:52:18 -07:00
squidbus
52ab1ed04b
shader_recompiler: Implement S_FLBIT_I32_B32 and V_MUL_HI_I32. (#2793) 2025-04-16 18:08:09 +03:00
squidbus
3bc876ca78
renderer_vulkan: Improve handling of required vs optional extensions. (#2792)
* renderer_vulkan: Improve handling of required vs optional extensions.

* documents: Update quickstart Vulkan requirements.
2025-04-15 22:31:58 -07:00
squidbus
247e935353
externals: Update MoltenVK (#2791) 2025-04-15 17:13:19 -07:00
squidbus
4bea00135d
resource_tracking_pass: Add heuristic to detect incorrectly tracked buffer sharp. (#2786) 2025-04-14 20:58:49 -07:00
squidbus
683a223c1b
vk_rasterizer: Control mapped_ranges access with shared lock. (#2788) 2025-04-14 20:58:33 -07:00
georgemoralis
7d32efbd31
New Crowdin updates (#2748)
* New translations en_us.ts (Chinese Traditional)

* New translations en_us.ts (Chinese Traditional)

* New translations en_us.ts (Chinese Traditional)

* New translations en_us.ts (Chinese Traditional)

* New translations en_us.ts (Chinese Traditional)

* New translations en_us.ts (Chinese Traditional)

* New translations en_us.ts (Chinese Traditional)

* New translations en_us.ts (Chinese Traditional)

* New translations en_us.ts (Dutch)

* New translations en_us.ts (Slovenian)

* New translations en_us.ts (Arabic)

* New translations en_us.ts (Arabic)
2025-04-14 12:26:54 +03:00
squidbus
bec1b9056f
shader_recompiler: Misc shader fixes. (#2781)
* shader_recompiler: Fix frexp exponent type.

* shader_recompiler: Implement V_CMP_CLASS_F32 negative class mask.

* shader_recompiler: Define operands for DS_ORDERED_COUNT.
2025-04-13 23:46:30 -07:00
squidbus
657073b9e2
libraries: Initial Audio3d implementation. (#2776)
* feat: Audio3d

* feat: Audio3d

* audio3d: disable output

* audio3d: Implement central Audio3d output.

* audio3d: Ignore AudioOut already initialized error.

* audio3d: Convert and retain sample buffers when queued.

* audio3d: Treat object audio as single channel.

* audio3d: Clean up.

---------

Co-authored-by: auser1337 <154299690+auser1337@users.noreply.github.com>
2025-04-13 23:46:10 -07:00
davidantunes23
fb146f2a20
Fix #2613: Game icon size not working properly on grid view (#2759)
* Fix #2613: Game icon size not working properly on grid view

When you select grid view mode and try to change the game icon size, the
icons change to the wrong size, or don't change at all. To solve this I
added a line to call the function that populates the game grid with
the games when the user changes the icon size. That way the size of the
icons is updated to match the size selected by the user, which is the
intended behaviour. I also added code to update the check on the size
when changing view mode.

* Fix #2613: fixed clang format issue
2025-04-14 09:17:28 +03:00
Stephen Miller
ec515ad113
Implement sceVideoOutGetEventCount and sceVideoOutDeleteVblankEvent (#2753)
* Implement sceVideoOutDeleteVblankEvent

* Implement sceVideoOutGetEventCount

Based on decompilation, needs testing.
I also tidied up some types for other functions in here.

* Change hexadecimal numbers to lowercase

A minor change to make sure my implementation follows the formatting standards seen in https://github.com/shadps4-emu/shadPS4/pull/2423
2025-04-13 17:08:27 -07:00
squidbus
14fad28a9b
misc: Few small fixes. (#2780)
* qt: Use PNG file for logo.

* build: Fix some CMake issues.
2025-04-13 12:10:24 -07:00
Vinicius Rangel
aec6e330dc
Update ImGui submodule (#2779)
* update imgui submodule

* fix imgui breaking changes

* update ffmpeg-core submodule
2025-04-13 19:27:20 +03:00
squidbus
6c2574364b
libraries: Reduce some controller log spam. (#2777) 2025-04-13 18:12:02 +03:00
squidbus
8ed82712a0 hotfix: Fix logo resolution in Qt UI. 2025-04-12 21:13:16 -07:00
JohnLogostini
b0fe1532f7
Icon Updates (#2768)
* Updated the trophy icons to match those on the PS4

* Updated the Windows icon to have less harsh aliasing at smaller sizes.

* Created a correctly sized SVG client icon.

* Remade all of the link icons.

Remade all of the icons for links to a standard 1K size and fixed all of the crazy aliasing problems.

* Revert "Updated the trophy icons to match those on the PS4"

This reverts commit 223c70de13.

* Created SVG versions of all of the link icons.

* Update REUSE.toml

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-04-12 19:09:21 +03:00
squidbus
37d4cd091c
renderer_vulkan: Make some primitive state dynamic. (#2764)
* renderer_vulkan: Make some primitive state dynamic.

* renderer_vulkan: Silence MoltenVK primitive restart warning spam.
2025-04-10 16:20:01 -07:00
Dmugetsu
5abec2a291
Enabling Depth Bias Explicity (#2766) 2025-04-09 17:06:54 -07:00
squidbus
03b1fef331
renderer_vulkan: Only update dynamic state when changed. (#2751) 2025-04-08 07:22:16 -07:00
kalaposfos13
08731303d8
Fix incorrect calculation setting the center of the joysticks one value off causing stick drift in games that assume already corrected input values (#2760) 2025-04-07 13:58:00 -07:00
kalaposfos13
473b66649f
Fix compatibility related issues in the GUI (#2755)
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2025-04-07 12:25:49 +03:00
squidbus
b8f6ef1c0b
externals: Update MoltenVK (#2754) 2025-04-07 12:23:04 +03:00
squidbus
9d2175180e
build: Move versioning to CMake file. (#2752) 2025-04-07 12:22:51 +03:00
squidbus
0c6f2b470f
renderer_vulkan: Use more depth-stencil dynamic state. (#2749) 2025-04-05 23:14:27 +03:00
georgemoralis
7bb49d85d3
New Crowdin updates (#2724)
* New translations en_us.ts (Arabic)

* New translations en_us.ts (Albanian)

* New translations en_us.ts (German)
2025-04-03 22:43:04 +03:00
squidbus
806b2ddc89
cpu_patches: Remove CPU patches for macOS and bump minimum OS version to 15.4 (#2743)
* cpu_patches: Remove CPU patches for macOS and bump minimum OS version to 15.4

* cpu_patches: Remove BMI1 patches

These are now only good for very old Intel CPUs that:
* Still do not currently function due to other CPU instruction issues.
* Will probably be too slow to run shadPS4 well.
2025-04-03 22:39:08 +03:00
squidbus
afd0251dd2
shader_recompiler: Use VK_AMD_shader_trinary_minmax when available. (#2739)
* shader_recompiler: Use VK_AMD_shader_trinary_minmax when available.

* shader_recompiler: Simplify signed/unsigned trinary instruction variants.
2025-04-02 23:36:54 +03:00
Stephen Miller
eb300d0aa7
libraries: Proper ulobjmgr stubs (#2740)
* Better ulobjmgr stubs

Main goal is to stop all the Unknown stub spam in titles using libSceUlt.

* Address review comments

* Update ulobjmgr.cpp
2025-04-02 02:41:40 +02:00
Stephen Miller
f6cc245e40
Only log fd warning if there's a file getting closed (#2737) 2025-04-01 13:36:31 -07:00
Stephen Miller
01243fb8e5
Fix libSceNgs2 HLE regressions (#2732)
* Fix sceNgs2SystemCreateWithAllocator

The cause of the exceptions without libraries.

* Remove error handling for unimplemented functions

Since nothing exists to create any VoiceHandle or RackHandle, we were consistently hitting those error returns.
Also promotes logs for stubbed functions back to LOG_ERROR, with the exception of two functions that get spammed pretty frequently.

* Use Core::ExecuteGuest to execute allocator alloc and free

* Clang

* Fix function definitions in ngs2.h

These should be using the SYSV ABI

* Fix function defs in ngs2_impl.h

This will (hopefully) fix compilation

* Clang

* Clang

again
2025-04-01 08:57:47 +03:00