Commit graph

1576 commits

Author SHA1 Message Date
squidbus 802a0f9aa9 vulkan: Use view of null buffer for texel buffers if nullDescriptor not supported. (#1231) 2024-10-06 02:25:12 +03:00
squidbus 42c7c89522 shader_recompiler: Remove outdated image array warning. (#1256) 2024-10-06 01:42:58 +03:00
psucien fbc52610ba Initial support of Geometry shaders (#1244)
* video_core: initial GS support

* fix for components mapping; missing prim type
2024-10-06 01:26:50 +03:00
squidbus 04b0dc9a23 vulkan: Respect maximum sampler LOD bias. (#1254) 2024-10-06 01:05:24 +03:00
squidbus 9169bb4393 shader_recompiler: Set array size to max UBO size when 0. (#1251)
* shader_recompiler: Set array size to max UBO size when 0.

* vulkan: Account for fallbacks when setting depth attachment format.
2024-10-05 22:31:52 +03:00
squidbus d29caedf58 vulkan: Fix two more validation errors. (#1250) 2024-10-05 21:35:02 +03:00
¥IGA 958cdfc1f1 Fix a Qt warning (#1249) 2024-10-05 21:34:53 +03:00
ElBread3 866f23bc1a Fix list sorting for some categories (#1242)
* fix list sorting for serial, firmware version, and game size

* bad apple!!

* qol
2024-10-05 21:34:38 +03:00
Vinicius Rangel 54be6c5ca4 imgui: fix blocking keyboard at startup (#1237)
* imgui: dont capture any input without an active nav window

fix keyboard not being available as soon as the emulator opens

* imgui: cleanup renderer assigning unnecessary sType to vulkan structures
2024-10-04 19:06:08 +03:00
Mahmoud Adel e38b2566e6 add Opcodes to switch case (#1233)
* add Opcodes to switch case

Added Opcodes to switch case, they were done here but weren't added to switch 9f79764b01 (diff-9a6c2e2027c03231e88aaaab30908baecae202661839f35c31a777fec2500c7aR659)

* clang
2024-10-04 11:24:45 +03:00
tGecko db788d57ec Hide cursor on key/button press (#1211) 2024-10-04 08:49:18 +02:00
korenkonder 3a91ef7f01 Add various V_CVT opcodes (#1223) 2024-10-04 08:48:05 +02:00
squidbus d0fea1a559 vulkan: Fix dynamic vertex binding stride validation errors. (#1229) 2024-10-04 07:51:08 +03:00
Vinicius Rangel 134fcd69f5 Devtools fixes1 (#1228)
* imgui: fix nav with dock & fps display disabled by default

* devtools: change basic fps scale

* imgui: scale font with display dpi
2024-10-04 06:44:36 +03:00
korenkonder 97a98e8201 Moved opcode to it's proper location (#1221) 2024-10-03 22:47:26 +02:00
Vinicius Rangel e02dc830df Devtools: PM4 Explorer (#1094)
* Devtools: Pause system

* Devtools: pm4 viewer

- new menu bar
- refactored video_info layer
- dump & inspect pm4 packets
- removed dumpPM4 config
- renamed System to DebugState
- add docking space
- simple video info constrained to window size

* Devtools: pm4 viewer - add combo to select the queue

* Devtools: pm4 viewer - add hex editor

* Devtools: pm4 viewer - dump current cmd

* add monospaced font to devtools

* Devtools: pm4 viewer - use spec op name

avoid some allocations
2024-10-03 22:43:23 +02:00
¥IGA acba36de03 imgui: Makes the window edges rounded (#1143) 2024-10-03 19:28:41 +02:00
ElBread3 ba03edf01c video_core: IMAGEGATHER4_C_O (#1210) 2024-10-03 18:48:54 +02:00
dbz400 c4cd47ee37 Add V_CVT_F64_I32 (#1219) 2024-10-03 18:48:28 +02:00
Daniel R. 2a56083f0f video_core: disable warnings on vulkan 2024-10-03 16:57:33 +02:00
georgemoralis 4015c9eacd Fix some network,npmanager issues (#1215)
* improved np toolkit callbacks

* added ExecuteGuest in callback

* clang format
2024-10-03 14:03:26 +03:00
squidbus 047736c178 shader_recompiler: Shader param fixups (#1199) 2024-10-03 10:50:51 +03:00
squidbus 075f043392 core: Fix some missing uses of ExecuteGuest. (#1214) 2024-10-03 08:38:24 +03:00
squidbus 091b1dd0ee audio_core: Fix return value types and shift some error handling to library. (#1212) 2024-10-03 07:01:39 +03:00
Mikasa-san efd36834b3 Refactor audio handling with range checks, buffer threshold, and lock… (#1200)
* Refactor audio handling with range checks, buffer threshold, and lock fixes

- Added range checks for handle to avoid invalid index access in AudioOutOutput, AudioOutSetVolume, and AudioOutGetStatus.
- Added a constant AUDIO_STREAM_BUFFER_THRESHOLD for the buffer threshold (was previously a magic number).
- Set the freq parameter correctly in the SDL_AudioSpec structure in AudioOutOpen.
- Fixed locking issues in AudioOutOutput to avoid unlocking before it's locked.

* Refactor audio handling with range checks, buffer threshold, and lock fixes

- Added range checks for handle to avoid invalid index access in AudioOutOutput, AudioOutSetVolume, and AudioOutGetStatus.

- Added a constant AUDIO_STREAM_BUFFER_THRESHOLD for the buffer threshold (was previously a magic number).

- Set the freq parameter correctly in the SDL_AudioSpec structure in AudioOutOpen.

- Fixed locking issues in AudioOutOutput to avoid unlocking before it's locked.

- Removed tab spaces to fix format clang error
2024-10-02 18:34:16 +03:00
tGecko 7da3aec15d fix music playing when it shouldn't (#1203) 2024-10-02 18:33:36 +03:00
CrazyBloo 21ecb03e5a replace trophy xml error with assert (#1197) 2024-10-02 12:31:55 +03:00
Paris Oplopoios f5a7e28249 Some nits and fixes on paths (#1190)
* Some nits and fixes

* More path conversions

* Add some more logging

* Log the path too
2024-10-02 07:18:00 +03:00
Vinicius Rangel 2934f6c4b2 SaveData: implement sceSaveDataTransferringMount (#1191)
* SaveData: fix icon overriding

* SaveData: implement sceSaveDataTransferringMount
2024-10-02 06:38:18 +03:00
CrazyBloo 9d5682fe63 trp data extracts to game_data/serial instead of folder name (#1194)
* trp data extracts to game_data/serial instead of folder name

* format
2024-10-02 06:37:43 +03:00
squidbus 789d78c3e4 shader_recompiler: Define fragment output type based on number format. (#1097)
* shader_recompiler: Define fragment output type based on number format.

* shader_recompiler: Fix GetAttribute SPIR-V output type.

* shader_recompiler: Don't bitcast on SetAttribute unless integer target.
2024-10-01 23:42:37 +03:00
squidbus 9fde313a77 vulkan: Fix some common validation errors. (#1101)
* vulkan: Fix some extension support related validation errors.

* vulkan: Fix validation error on zero-size buffer.

* vulkan: Fix primitive list restart validation error.
2024-10-01 23:42:20 +03:00
CrazyBloo 69774b82bc trophy icon + platinum fixes (#1093)
* trophy icon + platinum fixes

cleaned up some parts too

* format

* implement turtles review

* use fs native where possible, clang format

* implement vinicius suggestions

* format

* final reviews

* mutex for trophy queue, remove unneeded field

* format
2024-10-01 23:39:43 +03:00
Vladislav Mikhalin b6b51b8497 Use correct scissor rects (#1146)
* WIP

* Proper combination of scissors

* convert static functions to lambdas
2024-10-01 21:42:01 +03:00
squidbus c0e25fd0b0 qt: Create addons directory if it does not exist. (#1186) 2024-10-01 20:11:41 +03:00
DanielSvoboda f495425441 sort menu (#1183) 2024-10-01 18:02:47 +03:00
squidbus 6d055b95a2 qt: Fix message box for game overwrite. (#1181) 2024-10-01 15:49:30 +03:00
squidbus 106c3ea619 vulkan: Use dynamic vertex buffer strides when dynamic bindings unavailable. (#1164) 2024-10-01 09:54:06 +03:00
ElBread3 e2c02763de add mappings for kernel versions (#1171) 2024-10-01 09:16:15 +03:00
squidbus c6cb117e4e config: Add option to change DLC install path. (#1176) 2024-10-01 07:54:15 +03:00
DanielSvoboda 1889563783 fix wolf2022 cheats download (#1173) 2024-10-01 07:53:20 +03:00
bigol83 40fa9576e0 Fix BB random fmv hang (#1170) 2024-09-30 19:20:57 +03:00
Paris Oplopoios 130f3efbd8 Fix loading (#1169) 2024-09-30 19:05:55 +03:00
ElBread3 87a25d5b94 Added sceKernelRmdir (#1137)
* add sceKernelRmdir

* since result is remove count, probably don't use that

* fixes + posix_rmdir

* fix return value problem
2024-09-30 14:25:25 +03:00
hspir404 0c5f0aa7a0 Fix some typos (#1161) 2024-09-30 14:24:28 +03:00
Paris Oplopoios 7dbd1597e9 Fix path bugs & wrap seeks in an if (#1154)
* Fix path bugs

* Wrap most seeks in an if
2024-09-30 12:42:59 +03:00
dbz400 98ff32d0b8 Fix V_CMP_CLASS_F32 (#1153) 2024-09-30 11:36:26 +03:00
squidbus 289d692b98 sdl: Fix use of functions that now return SDL_bool (#1160) 2024-09-30 06:47:55 +03:00
Paris Oplopoios ccc137aba4 Fix fmt error (#1150) 2024-09-29 14:02:46 +02:00
Daniel R. 8e6ce69b55 core/memory: Pooled memory implementation (#1085) 2024-09-29 10:28:41 +03:00
squidbus bfeed1f7c6 vulkan: Fix crash when resizing window. (#1142) 2024-09-29 08:25:44 +03:00
DanielSvoboda b13381bacd progressBar DownloadUpdate (#1141) 2024-09-29 08:24:21 +03:00
DanielSvoboda 9dc2830870 + tr (#1136) 2024-09-29 00:01:35 +03:00
¥IGA 5988e70353 Best icons for flags (#1133) 2024-09-28 21:49:48 +03:00
tGecko 83d1fe1c4a Improve keyboard navigation in game list (#1132)
* Improve keyboard navigation

* don't start game in elf viewer mode or gridview mode with empty item selected

* fix eventFilter return
2024-09-28 21:04:47 +03:00
tGecko 242e4a0117 Add volume slider for title/background music (#1130)
* add volume slider

* add translations

* stop music when checkbox unchecked

* remove GUI build command args

* combine functions

* add accidentaly removed copyright and licencing information
(thanks QT Designer)
2024-09-28 19:54:28 +03:00
Yury 9be3355d11 ru_RU translation fixes (#1118) 2024-09-28 19:53:42 +03:00
DanielSvoboda 50708431d6 menu description | rename: Release/Nightly (#1116)
* menu description

* improve texts

* TR

* Release_Nightly
2024-09-28 16:01:27 +03:00
Paris Oplopoios 31b4bd8509 Reduce assert to a warning (#1115) 2024-09-28 15:44:07 +03:00
squidbus a02d0de503 kernel: Quiet sceKernelWaitEventFlag error log on timeout. (#1120) 2024-09-28 09:38:42 +02:00
DanielSvoboda d00754e7cd add translation options music (#1111)
* add translation options music

* +
2024-09-27 18:15:56 +03:00
IndecisiveTurtle f8854d276b hotfix2: Actually fix errors
Ahhhh
2024-09-27 03:21:08 +03:00
IndecisiveTurtle 2baa41d16b hotfix: descriptor set lifetime fix 2024-09-27 02:56:50 +03:00
squidbus 5a4c69d044 liverpool_to_vk: Add MRT feature flags to supported number formats. (#1087) 2024-09-27 01:57:22 +03:00
Paris Oplopoios 24598c242a Error reporting on failed memory allocation (#1091)
* Error reporting on failed memory allocation

* Formatting
2024-09-27 01:56:59 +03:00
Paris Oplopoios df425c4549 Fix build on GCC (#1080)
* Fix build on GCC

* Yes thank you clang-format

* Just remove static
2024-09-26 20:39:55 +03:00
georgemoralis 192476b421 hot fix of the hot fix (again) 2024-09-26 18:24:05 +03:00
georgemoralis 3b6a20b2d4 hot-fix: check if path is empty 2024-09-26 18:14:25 +03:00
DanielSvoboda 2e081a04da fix translation (#1083)
Changed from checkUpdate.cpp to check_update.cpp

Removed this part, as the function that used it no longer exists:

<details>
<summary><strong>See removed text</strong></summary>

```ts
		<message>
			<location filename="../checkUpdate.cpp" line="352"/>
			<source>Failed to open the ZIP file</source>
			<translation>Failed to open the ZIP file</translation>
		</message>

			<location filename="../checkUpdate.cpp" line="420"/>
			<source>File name is empty. Possibly corrupted ZIP.</source>
			<translation>File name is empty. Possibly corrupted ZIP.</translation>
		</message>
		<message>
			<location filename="../checkUpdate.cpp" line="445"/>
			<source>Failed to create directory</source>
			<translation>Failed to create directory</translation>
		</message>
		<message>
			<location filename="../checkUpdate.cpp" line="464"/>
			<source>Error decompressing file</source>
			<translation>Error decompressing file</translation>
		</message>
		<message>
			<location filename="../checkUpdate.cpp" line="487"/>
			<source>Failed to open output file</source>
			<translation>Failed to open output file</translation>
		</message>
		<message>
			<location filename="../checkUpdate.cpp" line="497"/>
			<source>Unsupported compression method for file:</source>
			<translation>Unsupported compression method for file:</translation>
		</message>
		<message>
			<location filename="../checkUpdate.cpp" line="510"/>
			<source>Failed to create TAR extraction directory</source>
			<translation>Failed to create TAR extraction directory</translation>
		</message>
		<message>
			<location filename="../checkUpdate.cpp" line="525"/>
			<source>Failed to extract the TAR file</source>
			<translation>Failed to extract the TAR file</translation>
		</message>
```

</details>

And it was standardized, all files with the correct formatting.
2024-09-26 17:30:07 +03:00
Vinicius Rangel 04483f779d Fix fmt::UTF exception for empty strings (#1084) 2024-09-26 17:21:31 +03:00
Paris Oplopoios 428af9223e Use fs::path::native whenever possible, avoid unnecessary fs->string conversions in GUI code (#1064)
* Use filesystem::path whenever possible, remove fs::path::string

* My hatred for Windows grows with every passing day

* More Qt stuff

* custom u8string formatter for fmt library

* Use u8string for imgui

* Fix toml errors hopefully

* Fix not printing issue

* Oh and on SDL

* I hate Windows even more today

* fix toml reading utf-8 paths

also small fix for fmt::UTF

* Formatting

* Fix QT path to run games

* Fix path logging in save data

* Fix trophy path handling

* Update game_list_frame.cpp

fixed snd0path

* Update main_window.cpp

fix snd0path

* Update main_window.cpp

* paths finally fixed

* git info in WIP versions title

---------

Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-09-26 11:41:59 +03:00
tGecko cac244cc03 Add playback of background/title music in game list (#1033)
* add playback of background/title music

* clang_format

* add windows multimedia build instructions

* fix typo accidentally made to arm

* address comments

* loop music

* feedback

* fix CI

* add newline

* playBGM off by default

---------

Co-authored-by: Charles <charles@superfocus.ai>
2024-09-26 09:12:41 +03:00
Vinicius Rangel 396007bba3 Save lib fixes III (#1069)
* SaveDataMemory: increase memory if needed

* SaveDataDialog: fix intention to hide save details
2024-09-26 07:56:38 +03:00
RDN000 27f8f12985 Update sq translation (#1076) 2024-09-26 07:54:57 +03:00
psucien d76cb2126e hot-fix: missing clear-to-blit (WAW) image barrier 2024-09-25 23:07:38 +02:00
oltolm 581ba00746 use ComPtr in gui_context_menus.h (#719)
* use ComPtr in gui_context_menus.h

* fix pragma diagnostic

* fix compiler warnings
2024-09-25 18:39:04 +03:00
squidbus 78eecef86e shader_recompiler: Sample images using correct result type. (#1068) 2024-09-25 14:20:28 +03:00
squidbus 1141c94a7e amdgpu: Fix buffer comparison by naming padding fields for initialization. (#1050) 2024-09-25 14:08:10 +03:00
squidbus ec8c1058b1 vulkan: Only reduce viewport minDepth if using depth clip control. (#969) 2024-09-25 12:43:54 +03:00
Lander Gallastegi 0bca802cb8 Swapchain recreation and window resizing (#933)
* Always present acquired swapchain images

Always present acquired swapchain images in order to be able to acquire them again.

fix #865

* Recreate swapchain if window is resized

* Respect aspect ratio when blitting to frame

* Make SDL window resizable

* clang-format

* designator order (building with gcc)

Fix /shadPS4/src/video_core/renderer_vulkan/vk_instance.cpp:314:9: error: designator order for field ‘vk::PhysicalDeviceVulkan12Features::samplerMirrorClampToEdge’ does not match declaration order in ‘vk::PhysicalDeviceVulkan12Features’

* Clear frame before blitting

* clang-format

* Revert "designator order (building with gcc)"

There already is a PR opened for this.

This reverts commit 7f8ccf4b1e.
2024-09-25 12:43:08 +03:00
tGecko 704dd0617f Add nullptr check in scePthreadSetprio function (#1028) 2024-09-25 12:20:03 +03:00
squidbus fc231438b2 vulkan: Enable VULKAN_HPP_NO_EXCEPTIONS broadly. (#995)
* vulkan: Enable VULKAN_HPP_NO_EXCEPTIONS broadly.

* vulkan: Use structured bindings for result where possible.
2024-09-25 12:19:38 +03:00
squidbus c898eaebd2 renderer_vulkan: Refactor surface and depth format mapping. (#1067)
* renderer_vulkan: Refactor surface and depth format mapping.

* image: Convert usage to feature flags for format support checks.
2024-09-25 12:10:44 +03:00
Vinicius Rangel 7829edfc9d Error dialog implementation (#1062) 2024-09-25 06:48:27 +03:00
DanielSvoboda cec9e74e02 Auto Update (#1006)
* Updater

* clang

* Adding Updater icon

* Updater

* TR

* settings_dialog.ui

* Changelog for Pre-release only

* Adding Dump and Download icons

* Forgot this...

* fix linux and resize

* powershell_unzip | changelog fix

Does not use zlin-ng to unpack, now uses powershell on windows and on linux/mac uses unzip or 7z, and if it does not find it, it will ask if you want to install it before extracting.

Do not show the changelog button if: The current version is a pre-release and the version to be downloaded is a release.

* Clang

* formatting

* links fixed

---------

Co-authored-by: Xphalnos <164882787+Xphalnos@users.noreply.github.com>
2024-09-24 23:03:15 +03:00
Daniel R. c498f92a6e clang-format 2024-09-24 21:27:29 +02:00
Daniel R. 4a958af04b core/libraries: implement configurable username 2024-09-24 21:23:18 +02:00
jnack fd5b2735b1 add V_CMPX_LE_I32 (#1056) 2024-09-24 18:22:31 +03:00
Paris Oplopoios a7672f660e Fixup designator order (#1039) 2024-09-24 17:18:35 +03:00
Paris Oplopoios 90c04d8447 Patch insertq (#635)
* Patch `insertq`

* Don't clobber flags, fix asserts a bit

* Format code

* Fixup some edge cases

* A couple nits

* Remove extraneous space
2024-09-24 17:03:32 +03:00
baggins183 51e919fe01 fix lane inst decoding (#1051) 2024-09-24 12:29:57 +03:00
Vinicius Rangel 840915b1be Save data: fix nullptr & concurrent file write (#1049)
* Save data: fix nullptr & concurrency file write

* Save data memory: fix overriding icon
2024-09-24 06:50:18 +03:00
squidbus 71f683fd03 core: Add wrapper for calling into guest code. (#967) 2024-09-23 20:30:16 +03:00
Daniel R. e931c203f8 core/memory: Fix sceKernelMTypeProtect setting VMA type (#1037)
* I hate programming and will furiously smash my monitor if I ever see another oversight of this caliber ever again in my goddamn life

* Merge both protect functions together
2024-09-23 18:49:57 +02:00
Paris Oplopoios a425f7a63e Patch extrq (#943)
* Use a singleton for instruction decoding

* Use singleton class

* Patch `EXTRQ`

* Fixup signal context functions

* Update CMakeLists.txt

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-09-23 19:19:52 +03:00
Vinicius Rangel 843d5d388e Frame graph + Precise 60 fps timing (#998)
* video info: add frame graph

Toggle advanced info with CTRL+F10.
Also fixed imgui using gamepad for nav in wrong situations

* 60fps!

Implemented a timer that accumulates the time spent sleeping and sleeps for the remaining time.
Also measure entire PresentThread time instead of just the time spent in Flip.

* sceKernelGettimeofday: replace chrono by win32 api. Better performance

bb uses this function too much. Consuming almost 30% of cpu time
2024-09-23 18:43:51 +03:00
georgemoralis 6311406ba6 starting 0.3.1 WIP 2024-09-23 18:42:11 +03:00
georgemoralis 53f8b4cfaa added 0.3.0 version 2024-09-23 18:17:50 +03:00
TheTurtle 93abdab5b3 video_core: Separate dirty flags and better gpu invalidation (#1034) 2024-09-23 18:03:42 +03:00
Vinicius Rangel 9f0d78aae4 Save fixes (#1031)
* Add ElfInfo to track current game info in a singleton

* SaveData compatibility with old firmwares

* sceKernelOpen: fix for write-only mode

* imgui: add font to render non-ascii characters

* save_data: fix Backup Job including old backup in the new backup

* Save backup: fix to avoid filling the queue

 Also limiting 1 backup / 10sec

* Save backup: fix search not handling empty pattern

*backup time improv
2024-09-23 14:50:49 +03:00
squidbus 470895c170 shader_recompiler: Increase push constants user data to full capacity. (#1032) 2024-09-23 13:40:33 +03:00
TheTurtle 2b8e9d57af shader_recompiler: Additional scope handling and user data as push constants (#1013)
* shader_recompiler: Use push constants for user data regs

* shader: Add some GR2 instructions

* shader: Add some instructions

* shader: Add instructions for knack

* touchups

* spirv: Better names

* buffer_cache: Ignore non gpu modified images

* clang format

* Add log

* more fixes
2024-09-23 08:55:43 +02:00
psucien 0dd5fbd020 hot-fix: unnecessary optimization removed 2024-09-22 19:56:07 +02:00
IndecisiveTurtle 50968c8b0c hotfix: Fix mipmap query for images 2024-09-22 19:17:54 +03:00
squidbus 1a82b1d132 core: Reduce some library log spam. (#1023) 2024-09-22 14:13:58 +02:00
squidbus 564b4d3267 vulkan: Use closest available equivalent to missing clamp modes. (#1007) 2024-09-22 15:07:05 +03:00
squidbus f0ab14acb8 shader_recompiler: Exclude non-float results from output modifiers. (#1016) 2024-09-22 15:03:17 +03:00
korenkonder 734a0a896d Add V_CVT_PK_U8_F32 opcode (#1022) 2024-09-22 15:02:34 +03:00
korenkonder 126b2c30bd Optimise out unnecessary shifts (#1021) 2024-09-22 15:02:20 +03:00
Vinicius Rangel a73b5c3e02 SaveLib PR related fixes (#1011)
* Safety checks in all SFO readings

* SaveData: log backup error and continue & fix possible concurrent file editing

* SaveData: Fix issue with old firmwares
2024-09-22 08:16:06 +03:00
TheTurtle d11415ca53 hotfix: Revert ADDC change 2024-09-22 01:53:10 +03:00
squidbus 7185dd8943 shader_recompiler: Use SetDst in more instructions. (#1015) 2024-09-22 01:41:19 +03:00
psucien 3939bc4f10 Image subresources barriers (#904)
* video_core: texture: image subresources state tracking

* shader_recompiler: use one binding if the same image is read and written

* video_core: added rebinding of changed textures after overlap resolve

* don't use pointers; slight `FindTexture` refactoring

* video_core: buffer_cache: don't copy over the image size

* redundant barriers removed; fixes

* regression fixes

* texture_cache: 3d texture layers count fixup

* shader_recompiler: support for partially bound cubemaps

* added support for cubemap arrays

* don't bind unused color buffers

* fixed depth promotion to do not use stencil

* doors

* bonfire lit

* cubemap array index calculation

* final touches
2024-09-21 21:45:56 +02:00
squidbus 4fc28b39af resource_tracking_pass: Allow derivatives for 2D array images. (#1000) 2024-09-21 14:19:01 +02:00
squidbus 9123dc4228 save_data: Fix save data list back button. (#1003)
* save_data: Fix save data list back button.

* common: Add more null checks in CString.

Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>

---------

Co-authored-by: Vinicius Rangel <me@viniciusrangel.dev>
2024-09-21 10:21:53 +03:00
squidbus 32df2b8e43 vulkan: Add alternatives when nullDescriptor is not supported. (#1001)
* vulkan: Add alternatives when nullDescriptor is not supported.

* vulkan: Set identifying name on null image/image view/buffer
2024-09-21 03:50:57 +03:00
squidbus 1e9199fd94 vulkan: Upgrade format queries to use format feature flags 2. (#941) 2024-09-21 00:05:16 +03:00
Daniel R. 5e5d2cc008 libraries/kernel: add sceKernelMmap to HLE 2024-09-20 17:53:18 +02:00
Vinicius Rangel d2d51373b5 Rewrite Save Data & Impl Save Data Dialog (#824)
* core: Rewrite PSF parser & add encoder

add .sfo hex pattern to /scripts

* core/fs: allow to mount path as read-only

* common: Add CString wrapper to handle native null-terminated strings

* SaveData: rewrite to implement full functionality

* mock value for SYSTEM_VER

* SavaData: backup features

* SavaData: SaveDataMemory features

* imgui Ref-counted textures

- has a background thread to decode textures

* imgui: rework gamepad navigation

* PSF: fixed psf not using enum class for PSFEntryFmt (was a standard old ugly enum)

- Add null check to CString when itself is used in a nullable field

* SaveDataDialog implementation

- Fix Mounting/Unmounting check of SaveInstance
2024-09-20 12:34:19 +03:00
ElBread3 24a91d7daf QOL: Set Log Filter On Save (#991)
* set log filter on reset

* clang format
2024-09-20 12:07:45 +03:00
¥IGA 0f3a4aa40b Set High Priority for Windows (#961) 2024-09-20 07:54:30 +03:00
squidbus 770cbf14e9 videoout: Make present thread realtime on macOS. (#990) 2024-09-20 01:28:35 +03:00
korenkonder 03ba49a3e0 video_core: stride fix (#986)
I don't know why it was forced to be 1 while in reality it should be as is
2024-09-19 21:43:03 +02:00
psucien e71f5c6f93 core: file_sys: fix for racing in fs mount 2024-09-19 21:42:19 +02:00
korenkonder 6b52ee0644 Sort opcodes by their indices. Group them too when applicable (#945) 2024-09-19 20:29:56 +02:00
Daniel R. 63409fb26d core: name avplayer threads 2024-09-19 20:19:29 +02:00
georgemoralis 185667a44d MiscFixes11 (#984)
* fixed an issue in sceSaveDataSetSaveDataMemory , makes chariot CUSA00739 goes ingame

* added branch name into sdl window title
2024-09-19 18:46:07 +03:00
georgemoralis e9add1669a hotfix2 : fix previous fix 2024-09-19 12:34:45 +03:00
georgemoralis d8de458b73 hot fix : always check if eboot.bin is available in path 2024-09-19 12:17:05 +03:00
TheCamrew dbb89b9d86 Improve es_ES translation & fix typos (#974)
Replaced Latin American Spanish terms with equivalent Spain-specific vocabulary.

Adjusted grammatical structures to reflect common usage in Spain.
2024-09-19 07:16:05 +03:00
adjonesey a5c15e643e Fix Regression #932 (#973) 2024-09-19 07:15:42 +03:00
psucien c4ff866e34 libraries: gnmdriver: sceGnmResetVgtControl added (#965) 2024-09-17 22:10:50 +02:00
Raven 2a9b353f8b Add other 64-bit floating point shader instructions (#944) 2024-09-17 18:01:33 +02:00
psucien 6152fe8419 hot-fix: make profiler to show real frame time 2024-09-17 09:45:10 +02:00
squidbus d79d9c280f cpu_patches: Revert to ahead-of-time patching on Linux for now. (#949) 2024-09-17 00:53:41 +03:00
squidbus 8f2c971d9a signals: Fix compilation on GCC. (#934) 2024-09-16 12:54:47 +03:00
Vladislav Mikhalin c02649d2ac Do not wait for audio packets without audio stream (#939) 2024-09-16 12:54:20 +03:00
Daniel R. 4006fcb7d9 shader_recompiler: Implement basic 64-bit floating point support (#915)
* shader_recompiler: Implement basic 64-bit floating point support

* Fix formatting
2024-09-15 22:53:08 +02:00
squidbus a441244365 cpu_patches: Patch just-in-time using signal handlers. (#852)
* cpu_patches: Patch just-in-time using illegal instruction handler.

* core: Add common signal dispatch system and use for on-demand TCB patches.

* page_manager: Re-add userfaultfd implementation.
2024-09-15 23:48:34 +03:00
TheTurtle a56b7f2a24 graphics_pipeline: Move some depth configuration to dynamic state (#931)
* graphics_pipeline: More proper masking

* pipeline_cache: Skip setting depth/stencil fields when test is disabled

* pipeline_cache: More fixes to depth stencil state

* vk_rasterizer: Use dynamic state for depth bounds and bias

* pipeline_cache: Missed depth bias enable

* vk_rasterizer: Add stencil dynamic states

* thread: Reduce spammy log

* Remove some leftover state

* pipeline_cache: Allocate pipelines from pools

* vk_graphics_pipeline: Remove bindings member

Saves about 1KB from each pipeline
2024-09-15 22:42:14 +02:00
TheTurtle 18a7f074c6 semaphore: Fix semaphore wait list leaking (#928)
Co-authored-by: Daniel R. <47796739+polybiusproxy@users.noreply.github.com>
2024-09-15 19:08:37 +03:00
psucien afe65d55fa Merge pull request #918 from raven02/patch-5
Add PM4 opcodes
2024-09-14 20:24:41 +02:00
Raven 102a246ec3 Add DS_READ2ST64_B32 (#916)
* Add DS_READ2ST64_B32

* Fix CLANG

* Fix CI again

* Parameter update for DS_READ
2024-09-14 21:16:12 +03:00
Raven 1159050dfd Add PM4 opcodes 2024-09-15 01:46:39 +08:00
Daniel R. a73d3ce78c core/libraries/save_data: Fix inaccurate behaviour on sceSaveDataSetupSaveDataMemory (#913) 2024-09-14 19:00:22 +02:00
Raven bf4c7d421e Add S_XOR_B32 opcode (#911)
* Add S_XOR_B32

* Stub S_OR_B32
2024-09-14 18:52:30 +03:00
Raven 4857c39e25 Map BUFFER_AUTOMIC SMIN/SAMX/AND/OR/XOR/INC/DEC (#910) 2024-09-14 18:52:20 +03:00
squidbus 13d819bc6b vulkan: Disable exceptions for getImageFormatProperties and account for errors. (#906) 2024-09-14 17:12:08 +03:00
nnn27 15b2236b0f Fix initialization of change_layers (#907) 2024-09-14 15:07:34 +02:00
Emulator-Team-2 1caf32a336 Implement IMAGE_SAMPLE_L_O opcode (#899) 2024-09-13 19:20:35 +02:00
Luke Warner 1852243d36 Implement S_ABSDIFF_I32 shader instruction (#902) 2024-09-13 19:02:17 +02:00
CrazyBloo 884d25fc66 Enable patches on cli builds (#897)
* patch support for cli

* fix mac build

* format
2024-09-13 07:44:20 +03:00
Adam Jones ada64d8459 Fix Regression 895 2024-09-13 02:23:55 +01:00
TheTurtle fdb0bc212a hotfix: Restore unreachable 2024-09-12 23:46:29 +03:00
illusion0001 604c8e31d0 Silence unhandled case warns (#823) 2024-09-12 23:01:13 +03:00
squidbus 174c676143 shader_recompiler: Add buffer offset calculation when swizzle is enabled. (#834) 2024-09-12 22:59:52 +03:00
squidbus 23d5dd08f6 vulkan: Limit multisampling to supported sample counts. (#828) 2024-09-12 22:59:23 +03:00
baggins183 2859a13e5b Fix copyGpuBuffers when resize invalidates commands in flight (#876)
* Fix copyGpuBuffers when resize invalidates commands in flight

* Use _MB macro for size constant
2024-09-12 21:54:54 +02:00
Vladislav Mikhalin c4af6a8109 Fixed the return value of sceAvPlayerIsActive 2024-09-12 10:16:03 +03:00
CrazyBloo e0ff95f426 implement more nptrophy functions (#874)
* fix review's from last pr

* save timestamp when trophies are unlocked

* implement GetTrophyInfo()

* use strncpy instead of strcpy_s, should fix actions

* nptrophy: GetGameInfo(), GetGroupInfo()

* various fixes

* format
2024-09-12 06:49:04 +03:00
psucien 79f45d153c hot-fix: mark null image as tracked by default to avoid its updates 2024-09-11 22:39:21 +02:00
squidbus 64d989e775 shader_recompiler: Use correct integer type for OpImageWrite. (#871) 2024-09-11 23:04:02 +03:00
georgemoralis d29d5748fe Misc Fixes 10 (#781)
* libSceRazorCpu needed for gravity rush

* libSceCesCs needed for blue reflection

* clang format fix

* set scePadSetVibration to log debug

* initial sceNetCtl module implementation

* improved error codes in file system

* some intial work on netctl callbacks (helps a bit CUSA10135)

* misc

* improved callbacks handling in sceNetCtl

* small fixes

* added libSceRudp.sprx to lle modules

* draft work for npcallbacks
2024-09-11 16:48:16 +03:00
Pipi86 eb2915f295 Typo fix (#820)
* Update pm4_cmds.h

* Update pm4_cmds.h
2024-09-11 13:40:19 +03:00
georgemoralis 1dba92616e Revert "sceNetAccept sleep and SDLAudio::AudioOutOutput latency and cpu improvements (#507)"
This reverts commit d66d129357.
2024-09-11 12:56:41 +03:00
georgemoralis 9d9249d72b Revert "Add UI to configure keyboard-to-controller mapping (#308)"
This reverts commit fdb13a3b90.
2024-09-11 12:56:27 +03:00
squidbus f980e789e4 vulkan: Skip draw when primitive type is None. (#867) 2024-09-11 08:58:20 +03:00
kh0nsu 7fb079e3d8 sceNetAccept sleep and SDLAudio::AudioOutOutput latency and cpu improvements (#507)
* Add 5-second sleep on sceNetAccept as this can be called in an infinite loop and would normally block (this isn't ideal for non-blocking sockets but it's all stubs at the moment anyway)

* SDLAudio::AudioOutOutput: protect against invalid handle, support NULL input (wait only), replace fixed 65536 with an amount based on settable latency target (20ms for now)

* Fix whitespace

---------

Co-authored-by: j <j@local>
2024-09-11 08:57:05 +03:00
Vasyl_Baran d03e9fc63d Add UI to configure keyboard-to-controller mapping (#308)
* Add UI to configure keyboard-to-controller mapping

* Add an optional "---fix" argument to format-checking script

* clang fix

---------

Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
2024-09-11 08:51:18 +03:00
CrazyBloo 5b26dc8e36 support for unlocking trophies (#854)
* add pugixml

* trophy_viewer: support for trophy unlocking

* nptrophy: UnlockTrophy(), DestroyContext()

* initial imgui popup

* queue to handle multiple trophies at once

* extract trophy info on game start + various fixes

* platinum trophy support + extract trophy data on startup

* format

* nptrophy: GetTrophyUnlockState

* implement vinicius' reviews
2024-09-11 06:50:55 +03:00
georgemoralis fa8e81df96 Merge pull request #858 from DanielSvoboda/main
use github api to download patches
2024-09-10 22:05:23 +03:00
TheTurtle af7e826dee video_core: Add fallback path for pipelines with more than 32 bindings (#837)
* video_core: Small fixes

* renderer_vulkan: Add fallback path for pipelines with more than 32 bindings

* vk_resource_pool: Rewrite desc heap

* work
2024-09-10 20:54:39 +03:00
DanielSvoboda e85f43102c use github api to download patches
removing this workaround makes the code cleaner
2024-09-10 11:30:35 -03:00
georgemoralis 96bf77e680 Merge pull request #851 from shadps4-emu/stabilization/barriers
Various barrier fixes
2024-09-10 06:45:15 +03:00
adjonesey 84c88d0996 Fix deadlocks by enabling reuse of exited threads (#855)
Simplify loop

const correctness

Simplify setting is_free

Co-authored-by: Adam Jones <a.c.jones@outlook.com>
2024-09-09 23:13:28 +03:00
Yussur Mustafa Oraji b43e65b62a Fix compilation on linux (#846) 2024-09-09 22:53:49 +03:00
Lizardy 0300cac3ff [libSceAudio3d] Initialize Audio3d Library (#761)
* init libSceAudio3d

* complete header and func params

* clang

* rm incl

* incl stddef

* revert module num

* print params

* correct logs

* clang

---------

Co-authored-by: microsoftv <6063922+microsoftv@users.noreply.github.com>
2024-09-09 22:51:15 +03:00
Andrew Middendorp 73dff547a7 Added S_ANDN2_B32 and S_NAND_B32 opcodes (#833)
* Added S_ANDN2_B32 and S_NAND_B32 opcodes

* Update src/shader_recompiler/frontend/translate/scalar_alu.cpp

Co-authored-by: baggins183 <baggins31084@proton.me>

* Fix result and src1

Co-authored-by: baggins183 <baggins31084@proton.me>

* update result

Co-authored-by: baggins183 <baggins31084@proton.me>

* Update src1

Co-authored-by: baggins183 <baggins31084@proton.me>

---------

Co-authored-by: baggins183 <baggins31084@proton.me>
2024-09-09 22:46:57 +03:00
squidbus 52175b2efa Initial support for compiling on ARM64. (#788) 2024-09-09 13:23:16 +03:00
psucien 491c5afd45 hot-fix: nullGpu functionality restored 2024-09-09 08:59:47 +02:00
Vinicius Rangel 8533e1386b imgui: fix End call when window is collapsed (#850) 2024-09-09 07:00:19 +03:00
psucien 87c65140ae presentation barriers fixed 2024-09-09 00:10:33 +02:00
psucien cf2a3203fb fix for image view storage flag handling 2024-09-09 00:09:38 +02:00
TheTurtle 37044f78a4 kernel: Delete cond attr
May solve memory leaks in games that create/destroy these often
2024-09-09 00:48:00 +03:00
Zack McKevitt 8d46ba513a Redefined ffmpeg's av_err2str macro to be c++ friendly (#815)
* Fixed compiler error for av_err2string by redefining in c++ friendly way

* removed link from comment, putting in PR

* fixed formatting

* Minor fix: enable qt gui to find PKG files with lowercase extension .pkg

* Added missing dependencies and instructions for enabling QT for linux builds
2024-09-09 00:30:18 +03:00
¥IGA eea19d800c Improved Dark theme, search bar and icon theme (#830)
* Improved Dark theme, search bar and icon theme

* Update FR translation
2024-09-08 23:39:48 +03:00
Vinicius Rangel 7fde5d8f07 Message Dialog library (#767)
* system/MsgDialog: types & basic text display

* system/MsgDialog: User message dialog

* system/MsgDialog: RAII for MsgDialog ui

* system/MsgDialog: Progress bar dialog

* system/MsgDialog: System message texts

* system/MsgDialog: copy all ui state to local memory

handles when game release memory before close
extracted all UI code to it's own file
use single window instead of creating new one every single dialogOpen

* system/MsgDialog: debug logging
2024-09-08 23:27:50 +03:00
Vinicius Rangel f8c8ec4e36 Dear ImGui Implementation (#598)
* added imgui as dependency

* imgui renderer/basic input implementation

* imgui: add layers system

Add video info layer to show fps. Press F10 to toggle it.

* imgui: add custom imgui config

* imgui: gamepad capture, stopping propagation

* imgui: changed config & log file path to use portable dir

* videoout: render blank frame when video output is closed

required to render imgui even when game has no video output

- fixed merge compile-error
2024-09-08 22:50:32 +03:00
psucien e48c79013a hot-fix: linear cubemaps check assert removed (verified) 2024-09-08 14:18:48 +02:00
psucien cb7ecba7df hot-fix: exclude tiling condition from promotion of textures to depth 2024-09-08 11:12:25 +02:00
Blargle 996e3e26c1 Small fix for EmitQuadToTriangleListIndices (#831) 2024-09-07 15:52:48 +03:00
Daniel R. 16b2b851e2 core/libraries: reduce log pressure (#829) 2024-09-07 12:38:00 +03:00
¥IGA 0022723b5e Adding Refresh icon to toolbar (#816) 2024-09-07 00:26:56 +03:00
TheTurtle 9c5f2f9598 shader_recompiler: Implement data share append and consume operations (#814)
* shader_recompiler: Add more format swap modes

* texture_cache: Handle stencil texture reads

* emulator: Support loading font library

* readme: Add thanks section

* shader_recompiler: Constant buffers as integers

* shader_recompiler: Typed buffers as integers

* shader_recompiler: Separate thread bit scalars

* We can assume guest shader never mixes them with normal sgprs. This helps avoid errors where ssa could view an sgpr write dominating a thread bit read, due to how control flow is structurized, even though its not possible in actual control flow

* shader_recompiler: Implement data append/consume operations

* clang format

* buffer_cache: Simplify invalidation scheme

* video_core: Remove some invalidation remnants

* adjust
2024-09-07 00:14:51 +03:00
CrazyBloo 0b518b9af3 libSceRtc HLE (#697)
* SetTick + GetTick, adding functions, checkvalid

* format

* more functions

* format

* implement lizardy's changes

* fix linux build

* various formatting improvements and fixes

* fix sceRtcGetCurrentClockLocalTime,

fixes sceRtcGetCurrentClockLocalTime using lizardy's suggestions.

also implements various formatting improvements and logging changes

* fix mac and linux builds, const for UNIX_EPOCH

* fix ConvertUtcToLocalTime,RtcConvertLocalTimeToUtc

* format rfc2822, format rfc3339

* format

* GetDosTime, GetTime_t, GetWin32FileTime

+various formatting improvements

* sceRtcParseRFC3339, sceRtcParseDateTime
2024-09-06 23:08:32 +02:00
Daniel R. a981640b1c core/libraries/save_data: Implement wildcard searches on sceSaveDataDirNameSearch (#817)
* libraries/save_data: Implement wildcards and params

* clang-format
2024-09-07 00:01:00 +03:00
psucien f6f2ffa41a Merge pull request #770 from OFFTKP/jump
Get rid of unnecessary jump
2024-09-06 22:56:44 +02:00
Stephen Miller 845f5fc7ca shader_recompiler: Add more opcodes (#802)
* Implement some missing shader opcodes

Implements TBUFFER_STORE_FORMAT_XYZW, IMAGE_SAMPLE_CD, and IMAGE_GATHER4_C_LZ.

These are seen in https://github.com/shadps4-emu/shadPS4/issues/496.

* Implement IMAGE_STORE_MIP

Not sure if this is the right way to do this, let me know if this needs changing.

* Revert "Implement IMAGE_STORE_MIP"

This reverts commit cff78b5924.
2024-09-06 23:51:20 +03:00
baggins183 e8a5473dc8 Implement V_MOVREL variants (#745)
* shader_recompiler: Implement V_MOVRELS_B32, V_MOVRELD_B32,
V_MOVRELSD_B32

Generates a ton of OpSelects to hardcode reading or writing from each
possible vgpr depending on the value of m0

Future work is to do range analysis to put an upper bound on m0 and
check fewer registers.

* fix runtime info after rebase
2024-09-06 23:47:47 +03:00
Daniel R. 96f22813ce Fix incompatible format images being passed on overlap resolve (#794) 2024-09-06 20:09:28 +03:00