Compare commits

...

6943 commits

Author SHA1 Message Date
schm1dtmac 54206c62b3 Add OpenCV to macOS builds
Some checks are pending
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-12-05 22:48:40 +01:00
Elad 67f7119717
Make RSX FIFO Atomic fetching default (#17810)
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Generate Translation Template / Generate Translation Template (push) Has been cancelled
2025-12-04 18:17:39 +02:00
Megamouse 133b19f205 Update Qt for macOs to 6.10.1
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-12-03 22:54:59 +01:00
Megamouse fce393024a Update Qt for macOs to 6.9.3 2025-12-03 22:54:59 +01:00
Megamouse 7d3cf831d5 Qt/macOS: Fix GUI freezes on Qt 6.8+ 2025-12-03 22:54:59 +01:00
Megamouse dc27047ed4 Qt: fix game list refresh order when changing the language
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-12-03 21:17:46 +01:00
Megamouse b9a9c1af07 Qt: revert setting UserRole. this doesn't seem to have been the culprit for multiselection 2025-12-03 21:17:46 +01:00
Megamouse e3f5f2d14e cellPad: fix pad mode setters 2025-12-03 18:23:12 +02:00
Megamouse ff9401303b hidapi: switch to official libusb remote 2025-12-03 15:50:25 +01:00
kd-11 2a6f1cf35c rsx/common - work around macos posix_memalign quirks
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-12-03 13:57:59 +03:00
Megamouse b86b4d15c6 Update SDL to 3.2.28 2025-12-03 09:33:51 +01:00
Megamouse 23ffa4ccdb Update FAudio to 25.12 2025-12-03 09:33:51 +01:00
Megamouse cbba687ffa Qt: Relax game_list deselection checks
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-12-03 02:16:30 +01:00
Megamouse 613d428ced Qt: fix update note visiblity on linux/macOs 2025-12-03 01:12:00 +01:00
Ani 6489fca16b YoRHa: Fix the height of QSpinBox 2025-12-02 21:14:11 +00:00
Megamouse 3c747b377f Qt: fix translation of update dialog if the language was changed between downloading the json and clicking on update
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-12-02 09:18:16 +01:00
Megamouse a859e14e19 Qt: update main window elements on language change 2025-12-02 09:18:16 +01:00
Megamouse 6dd37cb2d5 Qt: fix game list table multiselection
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Apparently table items need one common role set for internal indexing.
2025-12-01 21:43:19 +01:00
Megamouse 7e8ed5ecc1 rsx: clear unused parameters on capture boot
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-12-01 17:51:30 +01:00
Megamouse d396a778b7 rsx: fix capture path if title id is empty 2025-12-01 17:51:30 +01:00
Megamouse 25badf9534 Qt: Update header texts and actions when language changes 2025-12-01 14:49:04 +01:00
Megamouse 314b69c7d8 Qt: save spinbox values with fmt::format
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
This prevents saving localized strings with different decimal characters
2025-12-01 10:14:29 +01:00
Megamouse bc55f7787e Add notes for VS 2026 to BUILDING.md 2025-12-01 08:51:49 +01:00
Elad 4bda2f9b0f Test: Disable PUTLLC0
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-30 18:31:50 +02:00
Elad d822d85ea1 SPU: Tame PUTLLC16 2025-11-30 18:31:50 +02:00
Elad 7001940483 SPU Analyzer: Be more strict with loads 2025-11-30 18:31:50 +02:00
Elad 3c5c74c496 SPU Cache debug 2025-11-30 18:31:50 +02:00
Megamouse c80aba2342 Update libpng to 1.6.51
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-30 10:03:35 +00:00
Megamouse 84d5e42896 Update Qt to 6.10.1 2025-11-30 10:03:35 +00:00
Megamouse 53edd410c7 ppu: move alignment below llvm check 2025-11-30 09:23:36 +00:00
Megamouse 7f9cc357e8 Qt: Add sound effect manager 2025-11-30 09:23:36 +00:00
Megamouse e2cbbcf646 overlays: use enum for sound effects 2025-11-30 09:23:36 +00:00
Elad e938b93f48 SPU Analyzer: Ignore large switch state
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-29 20:17:21 +02:00
Elad 4a042ae84f SPU/config: Make SPU LLVM Mega block size default 2025-11-29 18:24:01 +02:00
Elad c48ae344a8 SPU LLVM (Mega): Fix quarter of missing jumptable discoveries 2025-11-29 17:10:30 +02:00
Elad e09be04df6 Emu/UX: Automatic Cache Precompilation for PKG instal
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-29 10:47:51 +02:00
Elad d625c1d004 SPU LLVM: Reduce notifications for PUTLLC16 2025-11-29 07:30:39 +02:00
Elad cae77784db UTs: Fix AlignedAllocator.Realloc test
_aligned_realloc may return the same pointer if the internal implementation finds it suitable. Fixes Windows' builds.
2025-11-29 07:30:39 +02:00
Elad 14bd6b0cc5 SPU: Enable PUTLLC16 by default
Experimental, may be reduced to specific patterns instead of being enabled globally.
2025-11-29 07:30:39 +02:00
Elad e11f8df064 PPU LLVM: Fixup PPU Profiler for PRX 2025-11-29 07:30:39 +02:00
Elad e2da6d36ba SPU LLVM: Permit relative-PC in PUTLLC16 with alignment check 2025-11-29 07:30:39 +02:00
Elad 27c2f2ae4d SPU Analyzer: Contnue with failed patterns until they proven failure 2025-11-29 07:30:39 +02:00
Elad 727f3dd7a1 SPU Analyzer: Try to detect no-return in BISL/BRSL 2025-11-29 07:30:39 +02:00
kd-11 7b560e5ffa rsx: Clean up aligned realloc implementation
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-29 00:34:23 +03:00
rcaridade145 50c9a91942
rsx: Free previous pointer after reallocating memory
After realloc in simple_array free the memory referenced by the old pointer.
2025-11-28 21:54:45 +03:00
Elad d9f913016c
Fix possible ambiguity of utils::bless (#17757)
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
Make utils::bless at util/bless.hpp argument type be complete, avoiding
possible ambiguity with RSX-utility version. A fix for Apple Clang
compiler.
2025-11-27 02:50:45 +02:00
kd-11 a442cb91a1 rsx/cfg: Check for end flag before handling any instruction including NOP 2025-11-27 02:53:34 +03:00
Elad 41aaa912e7
Fixup ::narrow (#17756)
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Also fix negative signed to unsigned narrowing when source type is greater than destination.
2025-11-26 15:34:38 +02:00
Antonino Di Guardo 6ebdb0c0c1
Add an entry on Log panel's contextual menu to show the main disk usa… (#17715)
Added the entry `Show Disk Usage` on `Log` panel's contextual menu to
show the main disk usage of the emulator.
It reports VFS disk usage (with the exception of useless usb
directories) and cache disk usage.
I avoided to automatically display the disk usage, e.g. when refreshing
the game list, just because the disk usage calculation can require some
time (so it will slow down the emulator). So I opted to provide the
functionality on demand.
This PR is propaedeutic to pr6008. A separated PR to complete pr6008 will
follow. It will allow multiple selection of games on game list and a
contextual menu to manage the removal of the selected games.
2025-11-26 13:05:10 +02:00
Elad 914b52cf4a util/types.hpp: Fix signed/unsigned comparison error
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-26 10:33:12 +02:00
kd-11 b451dfe877 vk: Fall back to host-visible pool if we cannot place resources in Re-BAR pool
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-26 02:52:40 +03:00
kd-11 7986ee58de vk: Allow buffer creation to fail gracefully if placement is not possible 2025-11-26 02:52:40 +03:00
kd-11 5a9083e4fc rsx: Fix saw-tooth artifacts when using GPU deswizzle for small texel widths
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-24 23:01:54 +03:00
kd-11 6a398f9947 rsx/cfg: Fix arm64 build
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-24 16:48:03 +03:00
kd-11 8495a138c6 rsx/gtest: Fix unit tests build on GCC 2025-11-24 16:48:03 +03:00
kd-11 2c1d962bdc rsx/cfg: Replace 'avx512' intrinsics with SSE2-compatible ones
- These are just PAND and POR instruction wrappers for SSE2, no idea why they're classified as 'avx512'
2025-11-24 16:48:03 +03:00
kd-11 0fbd0e8cc7 rsx/gtest: Add tests for CFG BB succ edges and fix UT failures 2025-11-24 16:48:03 +03:00
kd-11 5c187f5cda rsx/fp: Use CFG to decompile fragment programs 2025-11-24 16:48:03 +03:00
kd-11 cb7650240c rsx/fp: Use CFG for fragment program 2025-11-24 16:48:03 +03:00
kd-11 9d92e190eb rsx/cfg: Add support for multi-slot instructions with literals
- Also fix pred edge direction bug
2025-11-24 16:48:03 +03:00
kd-11 42d9065c11 rsx: Add flow information to flow edges 2025-11-24 16:48:03 +03:00
kd-11 f300832edb rsx: Implement FP to CFG analyzer 2025-11-24 16:48:03 +03:00
kd-11 683baf46b2 rsx: Add find_if operation for simple_array<T> 2025-11-24 16:48:03 +03:00
Elad 89a13b75f7 SPU Analyzer: Fix jumptable append
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-23 21:00:11 +02:00
Elad 7472d95b0c SPU Analyzer: Fix jumptable analysis for SPU Block Mega 2025-11-23 21:00:11 +02:00
Elad ecba1d2cb7 sys_fs: Remove PPU sleep hacks
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-23 09:56:18 +02:00
oltolm fcff16b6f7
Fix Clang build and other small fixes (#17736)
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
1. I fixed the Clang build.
1. I removed what I think is an unnecessary `ptrtoint` in
`rpcs3/Emu/Cell/PPUTranslator.cpp`. I am not 100% sure that it's
correct, but I tested a small LLVM IR snippet and it didn't make a
difference. The ASM code was the same.
1. I also changed the definition of `prefetch_write` from `return
__builtin_prefetch(ptr, 1, 0);` to `return __builtin_prefetch(ptr, 1,
3);` because that's how `_m_prefetchw` is defined in GCC.
2025-11-23 07:11:36 +02:00
kd-11 a3f7c0d67f Fix typo
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-22 12:35:22 +02:00
kd-11 98ca15699b Fix windows clang builds 2025-11-22 12:35:22 +02:00
kd-11 dec6fba68d gl: Use 16-byte alignment on staging buffers 2025-11-22 12:35:22 +02:00
kd-11 e1eb7421fb rsx: Enforce natural data alignment for IO buffers span cast 2025-11-22 12:35:22 +02:00
kd-11 ea7183b6bd test: Add unit tests for simple array alignment 2025-11-22 12:35:22 +02:00
kd-11 d6a36f4b60 vk: Fix build using new simple_array guard-rails 2025-11-22 12:35:22 +02:00
kd-11 6e11978638 rsx: Properly implement data alignment in simple_array<T> 2025-11-22 12:35:22 +02:00
kd-11 7f6842705c rsx: Rework GPU deswizzle kernel to prevent hangs
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-22 01:49:31 +00:00
FeTetra 9deb6cd4fa
Fix ppu_register_function_at with unaligned parameters (#17718)
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
This fixes some crashes in interpreter mode when calling functions like
`sys_dbg_write_process_memory` to write data which may not be an
instruction.

---------

Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2025-11-21 16:07:47 +02:00
kd-11 e6d723c675 rsx: Fix 16-bit format hardware deswizzle 2025-11-21 11:52:35 +03:00
kd-11 400b4e71cf gl: Lower the GPU decoding requirements since each level is decoded separately 2025-11-21 11:52:35 +03:00
kd-11 3c3197d72d gl: Fix crashes when creating new context 2025-11-21 11:52:35 +03:00
kd-11 cffc13696d gl: Implement hardware deswizzle for small texel formats 2025-11-21 11:52:35 +03:00
kd-11 ff72f944ba rsx/vk: Add support for 8 and 16-bit texel GPU-accelerated deswizzle 2025-11-21 11:52:35 +03:00
kd-11 b067688c8e rsx: Drop meaningless log message
- This used to be a big deal a decade ago, now its just wasting CPU cycles and filling up log files
2025-11-21 11:52:35 +03:00
qurious-pixel 8ccc30725a Update install-freebsd.sh
Some checks are pending
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-20 09:11:49 +02:00
qurious-pixel c38b8c6d12 restore [[noreturn]] 2025-11-20 09:11:49 +02:00
Elad 107d9dc533 PPU Profiler
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Generate Translation Template / Generate Translation Template (push) Has been cancelled
2025-11-19 21:37:50 +02:00
Elad c669a0beb7 kernel_explorer: Order PPUs by priority
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-11-17 21:32:58 +02:00
Elad f992ccdcad cellGam/celCamera: Add more wait flags 2025-11-17 21:32:58 +02:00
Elad e6dc0d98f5 SPU: Optimize check for args sharing page with Effective-Address 2025-11-17 21:32:58 +02:00
Elad 1250e428a7 SPU: Exclude reservation_check address receptacle from writer_lock 2025-11-17 21:32:58 +02:00
Elad ddecade935 vm/sys_memory: Remove VM locking in sys_memory_get_page_attribute 2025-11-17 21:32:58 +02:00
Megamouse de914247be overlays: remove unnecessary cast 2025-11-17 19:42:31 +01:00
Megamouse 6a51cd9f7f overlays: Use SCE-PS3-DH-R-CGB.TTF for chinese characters 2025-11-17 19:42:31 +01:00
Megamouse 2042b54d2d cmake: fix build with USE_FAUDIO if system SDL is not found 2025-11-17 19:42:31 +01:00
Megamouse 5267c87ca7 Overlays: check return value of stbtt_InitFont 2025-11-17 19:42:31 +01:00
Megamouse 6731feb751 overlays: add some more chinese fallback fonts 2025-11-17 19:42:31 +01:00
Megamouse 10f8a49e36 overlays: Check if a font actually contains the character 2025-11-17 19:42:31 +01:00
Megamouse a6371ef5d3 overlays: use get_font instead of duplicate font fallback 2025-11-17 19:42:31 +01:00
Megamouse 2d3e6c6d02 overlays: use std::string_view for font functions 2025-11-17 19:42:31 +01:00
Elad 9b1d39c14e SPU Analyzer: Fix spu_thread::is_exec_code for BRSL
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-17 10:32:08 +02:00
Elad 5893851029 Core: Remove Intel-TSX ISA Extension based code 2025-11-17 10:32:08 +02:00
Megamouse 42177add17 Qt: fix image flip warning on newer Qt
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-17 03:46:06 +02:00
Megamouse 84fdd2e056 rsx_debugger: fix gcc index access warning 2025-11-17 03:46:06 +02:00
Megamouse bc01863654 Fix some warnings 2025-11-17 03:46:06 +02:00
Megamouse cbb4dd8f22 Qt: forward declare gui_settings 2025-11-17 03:46:06 +02:00
oltolm 0439b62257
SPU Analyzer: use std::lexicographical_compare_three_way
It should compile now because we upgraded Linux CI.
2025-11-16 22:57:16 +02:00
oltolm a93197cdcb asm.hpp: replace custom functions with C++20 functions
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-16 20:05:00 +02:00
oltolm b8031f4510 StrFmt.h: fix build with Clang 2025-11-16 20:05:00 +02:00
Elad db8437b01c Fix mask calculation in SPUThread.cpp
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-16 12:12:20 +02:00
Elad 63f7bcf652 SPU: Use CMPXCHG16B for atomic store if possible 2025-11-16 12:12:20 +02:00
Elad 109abea454 sys_ppu_thread: Fix warning 2025-11-16 12:12:20 +02:00
Megamouse c7ae97f8ea Qt: add button to remove gamepad config
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-16 01:19:43 +01:00
oltolm d61f4101ad utils: replace hex_to_u64 with std::from_chars
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-15 21:33:29 +02:00
qurious-pixel ec70c9691f [Mac Arm64] Use runner ccache
Remove HomeBrew ccache in favor of Mac runner
2025-11-15 21:08:47 +03:00
Megamouse 18111ac8bc rsx: add simple pair and tuple types 2025-11-15 17:40:49 +02:00
Megamouse 5a761c7184 rsx: only allow trivially copyable types in simple_array 2025-11-15 17:40:49 +02:00
Megamouse 510ed00b11 rsx: fix some warnings 2025-11-15 17:40:49 +02:00
Megamouse fa06fed86f overlays: take screenshot after exiting the home menu 2025-11-15 14:55:09 +01:00
Megamouse 871dd729b2 cheats: fix cheat type on apply 2025-11-15 13:22:52 +01:00
Elad 7e209a7275 sys_spu: Improve arguments accuracy
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-15 12:31:22 +02:00
Elad 0bb84b374e sys_ppu_thread: Fix u64 stack size argument 2025-11-15 12:31:22 +02:00
Elad 92e24a5779 PPU/x64: Fix gv_cvtu32_tofs
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-14 21:15:27 +02:00
Elad e48ba283d8 Overlays/SaveStates: Add multi-slot support to controller menu
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-11-12 15:57:53 +02:00
kd-11 0bf9ee9fa5 rsx: Fix an oops causing DEVICE_LOST
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
- We only apply scaling when RTTs are part of the input set.
- This fact was previously hidden by an optional arg
2025-11-11 01:04:31 +03:00
Elad c60e5cc48a ZSTD: Fixup threads terminations 2025-11-10 21:16:31 +02:00
Elad 642005cf1d Add wait flag in cellGemConvertVideoFinish 2025-11-10 21:16:31 +02:00
Elad b0956a8f74 More logging to sys_memory_allocate_from_container 2025-11-10 21:16:31 +02:00
Elad 2fb8cbda38 SaveStates/ZSTD: Improve termination and file handling
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-10 13:04:43 +02:00
Elad c16278a5ab vm.cpp: Skip memory clearing on emulation stop 2025-11-10 13:04:43 +02:00
Elad bfe54a29ae Savestates/TAR: Extract files asynchronously 2025-11-10 13:04:43 +02:00
kd-11 265d6643e5 rsx: Fix shader interpreter
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-09 17:29:22 +03:00
kd-11 d87f055bb2 vk: Fix hang when doing typeless copy in the resource assembler 2025-11-09 14:24:44 +03:00
kd-11 1af5afdaab vk: Reduce number of barriers for each copy transfer sequence
- Sometimes the same source image is copied more than once
2025-11-09 14:24:44 +03:00
kd-11 864bb9f0db rsx: Speed up slice gathering for large datasets
- We can cut down by an order of magnitude the amount of checks we do to construct objects
2025-11-09 14:24:44 +03:00
kd-11 1007aaee4c rsx: Refactor texture cache lookup core to be easier to read 2025-11-09 14:24:44 +03:00
Elad 8126a199f5 SPU: Fix race in PUTLLC with unchanged data
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-08 16:20:18 +02:00
Joshua de Reeper b435deac9d sys_usbd: Small tidyups 2025-11-08 12:55:44 +02:00
shinra-electric 8a9b15dee3 Bump MoltenVK to v1.4.0
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-07 22:26:41 +01:00
kd-11 c5a54a3d4f gl: Ensure overlays render in fill mode 2025-11-07 23:47:47 +03:00
kd-11 bcdf2ef36f gl: Implement polygon render modes 2025-11-07 23:47:47 +03:00
robotics13 3df0c8caef Synced Skylander variant IDs with values from Dolphin for #13315
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-06 20:28:23 +01:00
FlexBy420 50eb46d294 download from releases instead
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-05 23:30:17 +01:00
FlexBy420 ff922f6324 Update deploy-windows-clang.sh 2025-11-05 23:30:17 +01:00
FlexBy420 1e1da422ea Update deploy-windows-clang.sh 2025-11-05 23:30:17 +01:00
FlexBy420 3e5a035046 eh update macos-arm path again 2025-11-05 23:30:17 +01:00
FlexBy420 6e5338d091 update macos path again 2025-11-05 23:30:17 +01:00
FlexBy420 d73a7e0ff3 change translations location to a correct one (probably) 2025-11-05 23:30:17 +01:00
FlexBy420 a6c0433a2e forgot mkdir 2025-11-05 23:30:17 +01:00
FlexBy420 ca5a43a3ab macos support maybe? 2025-11-05 23:30:17 +01:00
FlexBy420 4710b38505 linux support 2025-11-05 23:30:17 +01:00
FlexBy420 9cde97c22b remove echo 2025-11-05 23:30:17 +01:00
FlexBy420 323f504138 comment 2025-11-05 23:30:17 +01:00
FlexBy420 d7df929ada Update deploy-windows.sh 2025-11-05 23:30:17 +01:00
Megamouse 2667d5de0f input: change default squircle value to 4000
The last squircle changes fixed a bug that caused the squircle to be too
large. This caused the previous default value of 8000 to be too circular
2025-11-05 22:39:34 +01:00
Megamouse 49548b913d rsx: fix some warnings 2025-11-05 21:56:26 +01:00
Megamouse 17c148d90e Update curl to 8.17.0 2025-11-05 21:56:26 +01:00
Megamouse 17621d2a5e Update FAudio to 25.11 2025-11-05 21:56:26 +01:00
kd-11 8984c2b316 rsx: Implement pixel_center_origin decorator for WPOS 2025-11-05 18:26:12 +03:00
kd-11 5d906e1da4 rsx: Whitespace fix 2025-11-05 18:26:12 +03:00
kd-11 dba48d6387 rsx: Invalidate surface cache slots that are trampled by buffer writes. 2025-11-05 18:26:12 +03:00
Joshua de Reeper 0403231a0d
sys_usbd: fix id/type combo for Kamen Rider Display (#17662)
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Fixes the display issues seen here:
https://github.com/RPCS3/rpcs3/issues/17653
2025-11-04 19:57:53 +01:00
Elad 8712414123 System.cpp: Check if the original EBOOT.BIN is valid for disc game updates
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-11-03 12:04:11 +02:00
oltolm 2485a98d4f cmake: simplify code
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-02 21:41:11 +00:00
Elad cc8929ef4a PSF.cpp: Fixup 2025-11-02 17:23:46 +02:00
Elad ede8382c6a Remove std::strcpy
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-11-02 14:22:11 +02:00
Megamouse dc22584f72 input: always apply stick multiplier when no analog limiter button is set
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-11-01 08:44:04 +01:00
Megamouse 7cb4a68043 Qt: fix type conversion warning
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-31 19:55:03 +01:00
Megamouse ded91329bc Update SDL to 3.2.26 2025-10-31 19:55:03 +01:00
Joshua de Reeper 81f5be30aa
sys_usbd: Emulate Kamen Rider Summonride Ride Gate (#17605)
This PR aims to implement another USB peripheral device, used in Kamen
Rider Summonride. Code is very similar to Skylanders (for the
loading/creating/removing of figures) and Disney Infinity for the actual
USB commands and responses (minus any of the built in random number
generation). I haven't been able to generate a full list of the Ride
Chips (see
[here](https://kamenrider.fandom.com/wiki/Kamen_Rider_Summonride#Characters)
for a list of Characters and Chips) besides the ones I have myself from
the Starter Set, so I am hoping that interested parties are able to play
around and discover what other chips there may be, or if there are any
issues when generating their own Characters and Chips.

Implements https://github.com/RPCS3/rpcs3/issues/17122
2025-10-31 18:17:51 +01:00
Elad ba2518f862 cellGame: Fix cellHddGameCheck dataVersion parameter
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-30 21:34:54 +02:00
shinra-electric 3a6c71e523 Explicitly copy libunwind for x86
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-29 14:53:53 +01:00
shinra-electric 8013129c5b Copy libc++abi to Frameworks instead of lib 2025-10-29 14:53:53 +01:00
shinra-electric 5ea92df4ca Cleaner export of LDFLAGS 2025-10-29 14:53:53 +01:00
shinra-electric afffd3061a Make hack for removing rpath failable 2025-10-29 14:53:53 +01:00
shinra-electric 8ea2109b37 Workaround for issues with Python and brew libc++ linkage on x86 2025-10-29 14:53:53 +01:00
shinra-electric fa8f35ea38 Bump llvm version from 19 to 21 2025-10-29 14:53:53 +01:00
Megamouse 50576d044b Qt: fix TSX warning style 2025-10-29 14:26:49 +01:00
Megamouse 3f797b2de3 VK: cache recording image
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-28 22:04:01 +01:00
Megamouse 9124d08fdb GL: flip overlays vertically during recordings 2025-10-28 22:04:01 +01:00
Megamouse e4ae5bdce1 GL: only create new texture when necessary 2025-10-28 22:04:01 +01:00
Megamouse 5f37f2c8df VK: add memory barriers to copy_image 2025-10-28 22:04:01 +01:00
Megamouse 9dc66b46fc overlays: add record with overlays setting to settings dialog 2025-10-28 22:04:01 +01:00
Megamouse 0ca4f85dc7 overlays: add record with overlays setting to home menu 2025-10-28 22:04:01 +01:00
Megamouse 9c512849ef Vk: allow to record overlays 2025-10-28 22:04:01 +01:00
Megamouse 9550d5b67d GL: allow to record overlays 2025-10-28 22:04:01 +01:00
Megamouse dd40f49e5f Add new option for recording overlays 2025-10-28 22:04:01 +01:00
Megamouse 90fb81d1d9 Use move semantics for present_frame 2025-10-28 22:04:01 +01:00
Megamouse 3c401e7b3d Update fusion to 1.2.9
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.7, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.7, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-10-26 09:20:32 +02:00
Megamouse dc53a3ba42 Update linux docker image to v.1.7 2025-10-26 09:20:32 +02:00
Live session user 3c1ebe9f4a [openal-soft] Fix malloc/free in fmtlib
Some checks are pending
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-25 14:52:43 +03:00
kd-11 73c984a637 vk: Filter out re-bar usage from memory pressure watchdog
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Generate Translation Template / Generate Translation Template (push) Has been cancelled
2025-10-24 12:51:03 +01:00
Elad ae30cb5557 SaveStates/SPU-LLVM: Fix SPU Access Violations on load
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-23 19:00:42 +03:00
kd-11 311e7a9992 vk: Make best-effort attempt to utilize the low-latency pool
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-22 20:20:07 +03:00
Elad 2f86f95c3f vm: Deallocate memory early, check no PS3 memory leaks
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-22 10:55:48 +03:00
RipleyTom f61aaf83f6 More communication id validation changes
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-21 21:27:55 +03:00
RipleyTom 66920b4d8f Improve sceNpSignalingGetLocalNetInfo
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-21 17:17:05 +03:00
engdyn 038ee090b7 Fix build with Qt 6.10 2025-10-21 13:58:25 +01:00
RipleyTom 6a028b1883 Relax SceNpCommunicationId validation 2025-10-21 11:32:15 +03:00
Elad 64e5a8c099 SaveState Manager: Add option to boot last savestate
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-21 04:27:54 +03:00
Elad abad7f2790 SaveState Manager: Format specially close dates 2025-10-21 04:27:54 +03:00
Elad c683b47ac3 SaveState Manager: Fix game specific filtering 2025-10-21 04:27:54 +03:00
kd-11 0c4e7fc178 vk: Do not access async scheduler if not explicitly initialized
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-10-18 14:05:06 +03:00
kd-11 c4fba680d1 vk: Fix broken bound object comparison
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-17 23:22:22 +03:00
kd-11 0d1a05ecd1 vk: Make buffer objects uniquely identifiable 2025-10-17 23:22:22 +03:00
kd-11 eb453462c1 vk: Use unique resource ids on buffer views 2025-10-17 23:22:22 +03:00
kd-11 5a91ed01eb vk: Rework the unique resource id system and apply it to buffer views 2025-10-17 23:22:22 +03:00
Megamouse 2fcd542b0b overlays: allow to update messages by id instead of text
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-16 18:02:01 +02:00
Megamouse 146619de91 Qt: Allow to clear keyboard shortcuts in dialog
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-15 23:27:10 +02:00
Marin Baron 41a122a266 [Build] Explicit Triple with LLVM 21.1.0
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-15 20:09:21 +02:00
Elad 1c0fa2ad58 SaveStates: Improve try_lock_spu_threads_in_a_state_compatible_with_savestates 2025-10-15 17:16:32 +03:00
Megamouse a053abfba4 ffmpeg: update cellAtracXDec to ffmpeg 7
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-14 21:12:39 +02:00
Elad e5848f4731 Qt: Fix savestate failuire message
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-14 08:16:02 +03:00
Elad 32a18795fb Debug: Apply SPU Profiling data if debug enabled 2025-10-14 08:16:02 +03:00
Elad 6b556ca5b0 SaveStates: Fix Gem Thread Reboot 2025-10-14 08:16:02 +03:00
kd-11 a5b5ac1ed5 rsx: Fix user clip plane encode/decode
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-14 01:51:57 +03:00
kd-11 1cae72c872 vk: Uniquely identify images using a monotonic incrementing counter
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-13 12:12:22 +03:00
kd-11 878bb12a72 vk: Add support for blackwell PCI IDs 2025-10-13 12:12:22 +03:00
kd-11 e0249b05d2 vk: Improve documentation and remove notifications from instancing buffer 2025-10-13 12:12:22 +03:00
kd-11 1fa5286c87 vk: Raise heap changed interrupt when growing persistently bound SSBOs
- Using stale VAs leads to crashes for obvious reasons (UAF)
2025-10-13 12:12:22 +03:00
kd-11 f3f0c7d8da vk: Restore thread safety locks to descriptor routines 2025-10-13 12:12:22 +03:00
kd-11 afb814788f vk: Fix shader interpreter compilation and crashes 2025-10-13 12:12:22 +03:00
kd-11 efa4c6c34e gl: Reimplement user clip planes using the new ABI 2025-10-13 12:12:22 +03:00
kd-11 f3e34e1d44 vk: Fix user clip planes 2025-10-13 12:12:22 +03:00
kd-11 ce304f33de vk: Don't use rebar for transform constants data
- These heaps see massive writes, upto 8KB per draw in worst case scenarios. Write combining yields better throughput.
2025-10-13 12:12:22 +03:00
kd-11 c42fe42787 vk: Add re-bar toggle to GUI 2025-10-13 12:12:22 +03:00
kd-11 20a7297ac4 vk: Use BAR memory pool for low-latency resource uploads 2025-10-13 12:12:22 +03:00
kd-11 21809731e2 vk: Decorations for readonly SSBOs 2025-10-13 12:12:22 +03:00
kd-11 d770c7d7fa vk/exp: Remove unnecessary locks and optimize VS
- Hoists the most common pointer-chase to local var
2025-10-13 12:12:22 +03:00
kd-11 89e1c3ecfa rsx/vk: Update shader interpreter to use new varying draw params model 2025-10-13 12:12:22 +03:00
kd-11 f76ae4619b vk: Pass draw parameters to FS via varying register
- Should be better than pointer chasing with OpAccessChain + OpLoad
2025-10-13 12:12:22 +03:00
kd-11 2945ff1016 gl: Fix compilation error when using clip planes 2025-10-13 12:12:22 +03:00
kd-11 51e1ff4976 vk: Fix shader compiler issues caused by broken preprocessor macro expansion 2025-10-13 12:12:22 +03:00
kd-11 87677cfc85 vk: Guard against concurrent access of storage pool under high pressure and MTRSX. 2025-10-13 12:12:22 +03:00
kd-11 3ee626ce3c vk: Rewrite descriptor write template management 2025-10-13 12:12:22 +03:00
kd-11 c4426b0f07 rsx: Fix shader interpreter compilation 2025-10-13 12:12:22 +03:00
kd-11 1a5ec26392 vk: Fix shader compilation for certain glslang versions 2025-10-13 12:12:22 +03:00
kd-11 2275e689ce rsx: Restore optimizations in fragment shader recompiler 2025-10-13 12:12:22 +03:00
kd-11 10741a97ea vk: Improved state cache tracking 2025-10-13 12:12:22 +03:00
kd-11 1cc0446bc1 vk: Fix raster-env buffer type 2025-10-13 12:12:22 +03:00
kd-11 cec7ace28b vk: Fix shader compilation with fog parameters 2025-10-13 12:12:22 +03:00
kd-11 6e4f380e36 vk: Move polygon stipple parameters to fixed array buffer 2025-10-13 12:12:22 +03:00
kd-11 d68e4acb50 vk: Fix stale pointer reference when back-to-back partial updates are interrupted by a shader swap 2025-10-13 12:12:22 +03:00
kd-11 052ebe5acf vk: Fix windows build 2025-10-13 12:12:22 +03:00
kd-11 128267a236 vk: Fix wpos computation 2025-10-13 12:12:22 +03:00
kd-11 b1365a051d vk: Implement state tracking for command buffers
- Only tracks the heavy items for now. Binding the same pipeline or descriptor set causes some drivers to perform expensive operations (RADV, AMDVLK)
2025-10-13 12:12:22 +03:00
kd-11 3452aaf5d5 vk: Combine all draw-time constants to a single struct and update only the offset id
- Reduces push constants consumed per draw to 4 bytes total
2025-10-13 12:12:22 +03:00
kd-11 335f3dbe2f vk: Implement descriptor write buffering 2025-10-13 12:12:22 +03:00
kd-11 97620c4e17 rsx: Prepend namespace for simple_array uses
- Simplifies migration later on with find+replace in case we promote this useful class to utils namespace
2025-10-13 12:12:22 +03:00
kd-11 75f759079a rsx: Use simple array for texcoord stack
- Saves an expensive allocation when these ephemeral objects are constructed
2025-10-13 12:12:22 +03:00
kd-11 315ffed12f rsx: Simplify descriptor set contract a bit
- Making the functions sometimes destructive is confusing
2025-10-13 12:12:22 +03:00
kd-11 c347435151 vk: Move texture parameter stream to SSBO layout 2025-10-13 12:12:22 +03:00
kd-11 183acd4196 vk: Move FS context vars to block format 2025-10-13 12:12:22 +03:00
kd-11 1e40081d1f rsx/common: Add reverse_ptr impl to VS tree 2025-10-13 12:12:22 +03:00
kd-11 cd3e4fc8f1 rsx: Fix bugs in fragment program constants stream maagement
- Fix misplaced semicolon in GL fragment program compiler
- Add a simple lookup to avoid silly reverse-indexing issues in FP::AddConst
2025-10-13 12:12:22 +03:00
kd-11 e860cc9fad vk: Fix vertex context indexing 2025-10-13 12:12:22 +03:00
kd-11 aa119e1413 vk: Fix fragment constants indexing 2025-10-13 12:12:22 +03:00
kd-11 33e4b11509 vk: Fix use of push constants
- The double-overhead is so not worth it. Better to remove it down the line.
2025-10-13 12:12:22 +03:00
kd-11 5911330f8b rsx: Fix bug in reverse_iterator for simple_array 2025-10-13 12:12:22 +03:00
kd-11 e0e0d1ee0b rsx/vk: Convert fragment constants from static struct to array of vec4
- Also allows vulkan to use full-range binding model
2025-10-13 12:12:22 +03:00
kd-11 3188cb4a5a rsx: Enhance unordered_map declaration to be more versatile 2025-10-13 12:12:22 +03:00
kd-11 a3e6bdd8e4 rsx: Replace use of small vectors with simple_array 2025-10-13 12:12:22 +03:00
kd-11 ecc0fe4678 vk: Move draw-time constants to vertex layout stream and make it SSBO 2025-10-13 12:12:22 +03:00
kd-11 a819b9fc2a vk: Get basic vertex shaders working without traditional UBOs 2025-10-13 12:12:22 +03:00
kd-11 a4eccb259a vk: Fix allocation of vertex env data 2025-10-13 12:12:22 +03:00
kd-11 6e1436f1cd vk: Start converting UBO bindings to SSBO indexed arrays 2025-10-13 12:12:22 +03:00
Megamouse 9e49b9100f Qt: fix some warnings
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-10-10 13:02:04 +02:00
Megamouse 950c7768bc cellL10n: fix ucs2 type 2025-10-10 13:02:04 +02:00
Megamouse 13bb9a2041 vm.cpp: remove unused variable 2025-10-10 13:02:04 +02:00
Megamouse 44e875618f cellPad: Fix some warnings 2025-10-10 13:02:04 +02:00
Megamouse 25fbdfb43a Qt/Input: Adjust pad settings dialog based on pad capabilities 2025-10-10 13:02:04 +02:00
Megamouse 43c4947cb9 Update Qt to 6.10.0
Some checks are pending
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-10 10:54:39 +02:00
Elad b18a0830f3 Multi-Slot Savestates
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-10-07 13:33:58 +03:00
RipleyTom 48bf30aa2d Fix sceNpManagerGetAccountRegion's returned language
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-10-05 09:01:03 +03:00
RipleyTom f05fabdb79 Change sceNpManagerGetMyLanguages languages priority
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-04 19:23:38 +03:00
Elad 274fec7bd0 Pull Request #17543: review fixes
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-04 15:48:30 +03:00
derole 86b7ccef93 sys_ss/RPCN: Add PSID randomisation 2025-10-04 15:48:30 +03:00
Megamouse 054000fb37 Update SDL to 3.2.24 2025-10-04 13:54:07 +02:00
Megamouse 76cdcc9f32 Update FAudio to 25.10 2025-10-04 13:54:07 +02:00
Elad e8aa1caa4e Config: Implement 128-bit setting entry type
Some checks are pending
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-03 19:46:01 +03:00
Elad 4141f76105 Win32/vm_native.cpp: Improve sparse memory file mapping robustness
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-10-03 15:06:19 +03:00
Ani 23b339d410 rpcs3_version: Bump to 0.0.38
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-30 22:49:18 +01:00
Ani cc01b0f0dc yorha: Style QScrollbar
Some checks are pending
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-30 21:58:45 +01:00
Ani 4d28a14c33 yorha: Tag r4 theme update 2025-09-30 21:58:45 +01:00
Ani 15178da4e3 yorha: Fix excessive QSpinBox height 2025-09-30 21:58:45 +01:00
Ani edda8bc490 yorha: Fix background on savestate manager 2025-09-30 21:58:45 +01:00
Ani 41cf61dcf7 yorha: Unify QCheckBox and QList/QTree indicator styling
Fixes styling of checkboxes inside LLE/HLE and Game Patches selector
2025-09-30 21:58:45 +01:00
Ani 4f8184a6a6 yorha: Fix left padding on QDockWidget titles 2025-09-30 21:58:45 +01:00
Ani 3017085a44 yorha: Only modify QMenuBar height on the main menu bar 2025-09-30 21:58:45 +01:00
Gustavo Graziano 506e927df5 Windows 11 Themes
I added 2 new Windows 11 themes Dark and Light
2025-09-30 20:52:32 +01:00
Ani 8f776e14a2 cubeb: Update to 2025-09-17 2025-09-30 20:20:35 +01:00
Megamouse 5b3c70fb18 Update Qt to 6.9.3 2025-09-30 20:10:11 +02:00
Swordmaster3214 6fe6c4e0f6
Enhance Infinity Manager Figure Creator Dialog (#17529)
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
## Summary
This will enhance and add filters for the Figure Creator dialog of
Infinity manager, adding selectable filters for the character dropdown
and displays the series number after the figure/power disc.

## Changes
- Added filter buttons for Disney Infinity 1.0, 2.0, 3.0, and "All"
- Character names now display series information (e.g., "Buzz Lightyear
(1.0)")
- Dynamic dropdown population based on selected filter
- Maintains all existing functionality and slot validation

## Benefits
- Easier character discovery in large character lists
- Better organization by game series
2025-09-28 22:29:54 +02:00
schm1dtmac 359163c442 Second set of Intel build optimisations (massive speedups, cold builds around 22mins now) & other cleanups
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-25 18:22:02 +01:00
schm1dtmac 0b89b1b912 Cleanup & optimise the macOS CI scripts 2025-09-25 18:22:02 +01:00
isJuhn 6451c4d49f Fix calloc patches in the middle of blocks 2025-09-25 15:17:21 +03:00
Megamouse 8163c6c041 cellPad: simplify output button logic
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-24 08:33:07 +02:00
Elad 29108e1cb4 PPU LLVM: Filter out functions with patches
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-22 17:03:31 +03:00
fentbuscoding 6bc690491f
Audio Processing Improvements (#17525)
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
This pull request introduces several improvements to the audio backend,
focusing on more accurate and higher-quality audio processing, smoother
transitions, and better volume control. The main changes include
enhancements to volume application and normalization, improved resampler
settings for higher audio fidelity, and more user-friendly volume
adjustment behavior.

**Audio Processing Improvements:**

* Added fast paths for unity gain and mute in `apply_volume_static`,
improving performance and precision when volume is unchanged or set to
zero. Also, improved floating-point comparison in `apply_volume` to
avoid infinite loops and ensure accurate volume ramping.
[[1]](diffhunk://#diff-a81b131fe4d35d635646418ea2196cd28208dc3e1b2ff72c29f606bf963e1a92R62-R78)
[[2]](diffhunk://#diff-a81b131fe4d35d635646418ea2196cd28208dc3e1b2ff72c29f606bf963e1a92R111-R129)
* Enhanced normalization in `normalize` by introducing soft clipping for
smoother distortion and better dynamic range handling, reducing harsh
audio artifacts.

**Audio Quality Enhancements:**

* Updated resampler settings in `audio_resampler` to prioritize audio
quality over latency by increasing sequence length, improving overlap
and seeking window, disabling quick seek, and enabling anti-aliasing
filtering.

**Volume Control Improvements:**

* Implemented non-linear volume scaling in `audio_utils.cpp` for more
precise control at low volumes and faster adjustment at high volumes,
resulting in a more natural user experience.

**Code Quality and Consistency:**

* Refactored several methods in `AudioBackend` to use consistent
formatting and clearer logic, and increased `VOLUME_CHANGE_DURATION` for
smoother volume transitions.
[[1]](diffhunk://#diff-f0ca92a07863205fb9a1c687e4eaf14c932446e72b095f5265a8e7dbef2b7236L96-R98)
[[2]](diffhunk://#diff-f0ca92a07863205fb9a1c687e4eaf14c932446e72b095f5265a8e7dbef2b7236L108-R129)
[[3]](diffhunk://#diff-f0ca92a07863205fb9a1c687e4eaf14c932446e72b095f5265a8e7dbef2b7236L388-R400)
* Added missing includes and improved formatting for better
maintainability.
[[1]](diffhunk://#diff-a81b131fe4d35d635646418ea2196cd28208dc3e1b2ff72c29f606bf963e1a92R5-R6)
[[2]](diffhunk://#diff-49dc42f5cf17be84cfe84c0911320ab86307bef6095a09ccf743d4af5e32d3a5R7)
[[3]](diffhunk://#diff-f0ca92a07863205fb9a1c687e4eaf14c932446e72b095f5265a8e7dbef2b7236L187-R199)
2025-09-22 09:06:18 +03:00
Elad 9524211b9a sys_spu: Untangle IDM mutex from sys_spu's
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-21 18:22:38 +03:00
Elad 9d020a3e59 SPU: Fix Max SPURS Threads Limit 2025-09-21 17:11:40 +03:00
Elad d92ebf7b31 SPU: Fix group wakeup 2025-09-21 17:11:40 +03:00
Megamouse 1667998b4e SDL: call SDL_PumpEvents from main thread
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-21 10:07:02 +02:00
isJuhn 6b87423293 Fix rc variants of ADDE and SUBFE in interpreter
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-20 20:22:48 +03:00
Elad 3e701a743b Win32/SPU: Respect home space / shadow space on the stack frame
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-19 12:28:51 +03:00
Elad ffeb16fe1e
Win32: Respect home space / shadow space on the stack frame (#17514)
Previous code did not respect the 32-byte long area on the stack frame
called the home space - area on the stack frame area that is specific to
Microsoft's x64 calling convention, leading to corrupted values after a
callback.
Bug noticed by @capriots

Co-Authored-By: capriots <29807355+capriots@users.noreply.github.com>
2025-09-19 11:46:39 +03:00
Megamouse e995511c57 Revert "Update wolfssl to 5.8.2"
Some checks are pending
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
This reverts commit 99b3c45f05.
2025-09-19 02:24:11 +01:00
Megamouse cc3b1163f1 Qt: Fix savestate table selection style
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-18 23:33:46 +02:00
kd-11 335ed8d91b vk: Fix invalidated surface_cache resource deletion bug
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-16 16:33:52 +03:00
Megamouse 1a7d702e4e Qt: Check if movie item changed and is valid before calling the callbacks 2025-09-16 11:05:21 +02:00
Megamouse 25925f2680 qt: use the same date format in all managers
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-15 00:06:30 +02:00
Megamouse 0daa6d6fb0 rsx: allow to toggle 3D modes dynamically
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
A new checkbox for 3D support needs to be enabled at boot though.
2025-09-14 14:08:22 +02:00
Megamouse 6106e8f79f rsx: fix 3D aspect ratio
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-12 21:18:13 +02:00
Megamouse a2a3ce1d7a cellMouse: Add debug overlay
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-12 04:10:19 +02:00
Megamouse c36d01b46b Update curl to 8.16.0
Some checks are pending
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-11 22:14:28 +02:00
Megamouse b3d5493a6b input: restore original defaults when changing pad handlers
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
This fixes the vibration threshold being 0 when going to DS3 and back.
Probably also fixes a lot of other tiny bugs.
2025-09-11 10:24:08 +02:00
Megamouse 735588aa1a qt/input: add vibration threshold to pad settings dialog 2025-09-11 10:24:08 +02:00
Megamouse 0876a7d37e input: Memorize original small motor value for display purposes 2025-09-11 10:24:08 +02:00
Megamouse aca9d28a7a input: simplify VibrateMotor constructor 2025-09-11 10:24:08 +02:00
Megamouse 6911d0b5e1 cellPad: Add DS3 motor speed threshold
Also add motor speeds to pad debug overlay
2025-09-11 10:24:08 +02:00
Megamouse eb6d13a8c0 System: expose date format and time format as settings
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-10 19:51:43 +02:00
Antonino Di Guardo 09f8c6ddcd
Add selection on firmware libraries panel by double-clicking (#17481)
I minor, and last, follow up of #17459 and #17442 allowing to
check/uncheck an entry in the firmware libraries panel by
double-clicking.
For that panel, a solution based on single-clicking was preferrable but
it seems it was conflicting with the existing itemChanged (single click
was triggered twice so producing no state change).
IMO, better than nothing.

---------

Co-authored-by: Megamouse <studienricky89@googlemail.com>
2025-09-10 16:25:47 +02:00
Megamouse f63bb4c7fb input: fix sdl pad handler LED and rumble properties
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-08 21:20:21 +02:00
Antonino Di Guardo 28920f1781
Fix emulator crash when a pad gets disconnected (e.g. due to inactivity) (#17478)
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-07 21:21:35 +02:00
Megamouse e457dbdea3 Update opencv to 4.12.0
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-07 17:32:25 +02:00
Elad c76a3366ec
Network: Increase P2P listener thread rest duration (#17474)
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
1 milisecond is not enough time for WSAPoll to be CPU time efficient, 5 miliseconds seems to address it.
2025-09-07 13:03:36 +03:00
Elad 0564842871 SPU: Restore postponed LR notifications (with tweaks)
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-06 00:05:46 +03:00
Elad f84df03651 SPU: Limit SPU self notifying thread to 12+ threaded CPUs
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-09-05 11:11:03 +03:00
Elad fc62733d65 SPU: Self-notifying SPU waiters 2025-09-05 11:11:03 +03:00
Elad cfe1eca185 SPU: Reimplement reservation notifications 2025-09-05 11:11:03 +03:00
Megamouse 34a9d03d3d Update SDL to 3.2.22
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-09-02 23:29:54 +02:00
Megamouse 79fa06f9d6 Update FAudio to 25.09 2025-09-02 23:29:54 +02:00
Megamouse c7de9053b4 Qt: fix saved gs_frame visibility
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Generate Translation Template / Generate Translation Template (push) Has been cancelled
2025-09-02 00:30:44 +02:00
Antonino Di Guardo 6d1a85b947
Minor improvements and cleanup on VFS panel (#17459) 2025-09-01 20:44:00 +02:00
Megamouse 4800aa9bfc Update Qt to 6.9.2
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-08-29 21:17:30 +02:00
RunnerFaith 92a30b4e41 Fix raw mouse handler keypress logic
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-08-27 20:50:38 +02:00
schm1dtmac 6b238d847f Fix mvk formulae causing builds to fail
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-08-25 19:21:56 +02:00
Antonino Di Guardo 3a13da3201
asm.hpp: Make utils::rational_mul<u64>() consistent (#17452)
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Generate Translation Template / Generate Translation Template (push) Has been cancelled
2025-08-24 19:12:35 +03:00
Megamouse 4332d2151e vfs_dialog: ensure that one item is always selected
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-08-24 10:26:46 +02:00
Megamouse e56bc9d15f vfs_dialog: allow to check list items with double-click 2025-08-24 10:26:46 +02:00
Megamouse ce4edf9cb1 patch_manager: make patches selectable by double click 2025-08-24 10:26:46 +02:00
Megamouse d72f95677e overlays: add settings for screenshot and recording hints
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-08-21 08:27:12 +02:00
Megamouse d087c86243 Audio: simplify apply_volume
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-08-20 20:36:29 +02:00
Elad 6e7c3362b3 SPU: Update RdEventStat Busy Wait detection to updated setting behavior
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
2025-08-20 06:36:11 +03:00
ADAS2024 246519c5e1
Fixes for AppImage not targeting Gamemode (#17398)
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
Targets #17386
2025-08-18 00:03:31 +02:00
oltolm 8e34d7885c SPULLVMRecompiler: add overload for _ptr
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-08-09 23:34:23 +03:00
oltolm 1902c5f3f4 SPULLVMRecompiler: remove unused parameters from spu_ptr and _ptr 2025-08-09 23:34:23 +03:00
oltolm 48d3b30204 llvm: use CreatePtrAdd
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
use CreatePtrAdd instead of CreateGEP(get_type<u8>(), ...) or
CreateIntToPtr(CreateAdd, CreatePtrToInt(...))
2025-08-09 09:41:07 +03:00
Megamouse f474533447 Update SDL to 3.2.20
Some checks failed
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
2025-08-06 22:28:06 +02:00
Megamouse bf3501b737 Update 7zip to 25.01 2025-08-06 22:28:06 +02:00
Megamouse cda683df63 Update FAudio to 25.08 2025-08-06 22:28:06 +02:00
Marcin Serwin e5537c1cb0 Remove alternative default device detection in Cubeb backend
Some checks failed
Generate Translation Template / Generate Translation Template (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Has been cancelled
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Has been cancelled
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Has been cancelled
Build RPCS3 / RPCS3 Windows (push) Has been cancelled
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Has been cancelled
Build RPCS3 / RPCS3 FreeBSD (push) Has been cancelled
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-08-04 21:00:57 +01:00
Marcin Serwin e49a086edf Fix description of system wolfSSL option
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-08-04 19:56:01 +02:00
Marcin Serwin 69bf745246 Add option to use system Vulkan Memory Allocator
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-08-04 19:56:01 +02:00
Marcin Serwin 2211876b57 Add option to use system hidapi
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-08-04 19:56:01 +02:00
Marcin Serwin cb5411440d Add option to use system zstd
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-08-04 19:56:01 +02:00
Marcin Serwin 1b72868abf Add option to use system glslang
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-08-04 19:56:01 +02:00
Marcin Serwin 9126d617c5 Add option to use system RtMidi
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-08-04 19:56:01 +02:00
Marcin Serwin aa7758a20f Add option to use system MiniUPnPc
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-08-04 19:56:01 +02:00
Takuya Wakazono 81b33625f9 Set USE_SYSTEM_OPENAL default to OFF on macOS and Windows
Some checks are pending
Generate Translation Template / Generate Translation Template (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux-aarch64.sh, gcc, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (/rpcs3/.ci/build-linux.sh, gcc, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1, rpcs3/rpcs3-binaries-linux-arm64, /rpcs3/.ci/build-linux-aarch64.sh, clang, rpcs3/rpcs3-ci-jammy-aarch64:1.6, ubuntu-24.04-arm) (push) Waiting to run
Build RPCS3 / RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }} (d812f1254a1157c80fd402f94446310560f54e5f, rpcs3/rpcs3-binaries-linux, /rpcs3/.ci/build-linux.sh, clang, rpcs3/rpcs3-ci-jammy:1.6, ubuntu-24.04) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (51ae32f468089a8169aaf1567de355ff4a3e0842, rpcs3/rpcs3-binaries-mac, arch -X86_64 .ci/build-mac.sh, Intel) (push) Waiting to run
Build RPCS3 / RPCS3 Mac ${{ matrix.name }} (8e21bdbc40711a3fccd18fbf17b742348b0f4281, rpcs3/rpcs3-binaries-mac-arm64, .ci/build-mac-arm64.sh, Apple Silicon) (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (win64, clang, clang64) (push) Waiting to run
Build RPCS3 / RPCS3 FreeBSD (push) Waiting to run
On Linux, using system libraries is generally preferred, but this is
less relevant on macOS and Windows. In particular, macOS does not
provide "alext.h" in its OpenAL framework, which causes the build to
fail.
2025-08-03 12:27:02 +02:00
Takuya Wakazono daad30b2b3 Fix USE_SYSTEM_OPENAL to use system headers
Even when USE_SYSTEM_OPENAL was enabled, the code directly included the
bundled OpenAL headers, bypassing the system headers.

Since `#include <AL/al.h>` is not portable, use `#include "al.h"`
instead.
https://cmake.org/cmake/help/latest/module/FindOpenAL.html
2025-08-03 12:27:02 +02:00
Megamouse e319ca2998 Update SDL to 3.2.18 2025-07-28 21:42:36 +01:00
Megamouse 99b3c45f05 Update wolfssl to 5.8.2 2025-07-28 21:42:36 +01:00
Megamouse 3fd417e230 Update curl to 8.15.0 2025-07-28 21:42:36 +01:00
Ani b90bacba48 vk: Fix textureCompressionBC check for v3dv/panvk 2025-07-23 02:42:26 +03:00
Yahfz 7fe3afbbc2 Add support for arrowlake-s and lunarlake CPUs 2025-07-20 03:27:47 +03:00
Yahfz 8b9c9f677a ARL wasn't using FMA/VNNI/GFNI 2025-07-20 01:18:21 +03:00
Elad 620997c193 SPU/LV2: Notify SPU events after mutex guards' unlocking 2025-07-19 22:44:45 +03:00
capriots 06f480cb83 VS: add quotes around paths
Fixes use with paths that contain spaces.
2025-07-15 23:38:18 +03:00
Megamouse c69d7bc758 Qt/patches: optimize patch_manager_dialog::handle_item_changed 2025-07-13 14:19:58 +02:00
Megamouse 3926889c97 Qt/patches: Fix configurable value dropdown visibility 2025-07-13 14:19:58 +02:00
kd-11 34074a9c70 vk: Fix windows build 2025-07-13 05:49:34 +03:00
kd-11 81380a0d60 gl: Fix compiler warning 2025-07-13 05:49:34 +03:00
kd-11 65878c69be vk: Default initiailize program inputs with trap constants 2025-07-13 05:49:34 +03:00
kd-11 7c4fb183d0 vk: Properly initialize VS inputs 2025-07-13 05:49:34 +03:00
overwriter 699e1f0516 fix: cannot compile with Qt Creator while using "/DYNAMICBASE:YES" 2025-07-12 07:28:23 +03:00
Megamouse 269d45bfc0 only check out gamemode on linux 2025-07-06 19:42:09 +02:00
Megamouse f371f8be3e Move gamemode exit to final kill callback analog to display_sleep 2025-07-06 19:42:09 +02:00
Megamouse a965607f14 VS: Add gamemode_control filters 2025-07-06 19:42:09 +02:00
Megamouse 59567daea7 Update 7z to 25.00 2025-07-06 19:42:09 +02:00
ADAS2024 ef566186be
[Linux] Implement Feral Interactive's Gamemode for Potential Performance Increases (#17325)
Currently, this is a draft PR to implement Feral Interactive's Gamemode
into RPCS3, which can improve game performance on certain Linux systems.

At the moment, I am running into various compiler warnings when trying
to include "gamemode_client.h" due to the file not using strict typings
and old C-style casts. I know I can disable these flags during RPCS3's
compilation but I wanted to check with the maintainers before going
forward and if this feature should be implemented.

It should be noted that RPCS3 only fails to compile and run if I include
Feral's header file, but everything else compiles if I comment out the
include.

Targets Issue #11299
2025-07-06 11:50:03 +02:00
Megamouse 46150322a3 cellVdec: log uknown arguments instead of throwing an error 2025-07-03 08:13:12 +02:00
Megamouse 2bb2c748bd clang-cl: fix a bunch of warnings 2025-07-02 22:19:31 +02:00
Megamouse a5c4951914 Update libpng to 1.6.50 2025-07-02 19:42:44 +02:00
Megamouse dfd80d2165 Update libusb to 1.0.29 2025-07-02 19:42:44 +02:00
Megamouse 4dbaaafbf1 Update FAudio to 25.07 2025-07-02 19:42:44 +02:00
Megamouse 25c2c601c9 Update curl to 8.14.1 2025-07-02 19:42:44 +02:00
Megamouse 9403d87d84 Update SDL to 3.2.16 2025-07-02 19:42:44 +02:00
Megamouse f50d374393 Enable fetch (oops) and also check highest tag in version_check 2025-07-02 19:42:44 +02:00
Kuan-Wei Chiu eeeb7fb4ab
Fix invalid comparator in event_strcmp_events()
The function event_strcmp_events was previously returning int values
(-1, 0, 1) to indicate ordering. While this may resemble strcmp-like
semantics, it is invalid when used as a comparator with std::sort.

According to the C++ standard, the comparator used in standard
algorithms must be a function object returning a value contextually
convertible to bool, where comp(a, b) returns true if and only if a is
considered less than b.

Returning -1, 0, or 1 violates these rules. In particular, std::sort()
only expects the comparator to return a boolean value, and it uses that
value to infer ordering. Returning an int may lead to incorrect sorting
behavior and undefined behavior, including segmentation faults.

Replace the int-style comparator with a strict boolean comparison to
comply with the standard and ensure sorting correctness.
2025-07-02 09:12:35 +03:00
Megamouse 20c9dcd2d6 Remove qstr, sstr and qsv aliases. This does not compile on clang-cl 2025-06-30 08:18:50 +02:00
Megamouse 38ff48595d Fix missing include on clang-cl 2025-06-30 08:18:50 +02:00
Megamouse c7c206ecdc Fix u32 compile error on clang-cl 2025-06-30 08:18:50 +02:00
Megamouse bfd2adab5e Fix noexcept warnings in XAudio 2025-06-30 08:18:50 +02:00
Elad 786ac95dc0 RawSPU: Add missing MMIO register reads 2025-06-29 21:31:52 +03:00
Elad 1660dc24b3 cellSaveData: Order equal elements using the opposing trait 2025-06-27 17:56:26 +03:00
kd-11 aa50b0fbb9 vk: Fix video-out calibration pass inputs 2025-06-25 23:06:04 +03:00
kd-11 3df93dcc19 vk: Fix shader interpreter inputs when textures are not used 2025-06-25 23:06:04 +03:00
kd-11 1f0328c5d5 vk: Fix up binding layouts for some broken shaders 2025-06-25 23:06:04 +03:00
kd-11 3f635033cc vk: Cleanup compiler warnings 2025-06-25 23:06:04 +03:00
kd-11 8130babad3 vk: Fix crash when running MSAA resolve shaders 2025-06-25 23:06:04 +03:00
kd-11 37c4406b23 Remove unused file 2025-06-25 23:06:04 +03:00
kd-11 5d6b8b20c4 vk: Fix binding of arrays 2025-06-25 23:06:04 +03:00
kd-11 396c4bbdd7 vk: Drop obsolete logic around descriptor switching 2025-06-25 23:06:04 +03:00
kd-11 16a0ae6a7b vk: Update shader interpreter to use dynamic binding layout 2025-06-25 23:06:04 +03:00
kd-11 dd28d100d6 vk: Fix crash when running attachment clear pass 2025-06-25 23:06:04 +03:00
kd-11 91e22aa4e4 vk: Fix FS stencil mirror binding location overwrites causing holes in descriptor layout 2025-06-25 23:06:04 +03:00
kd-11 cdc78f81f7 vk: Code improvements 2025-06-25 23:06:04 +03:00
kd-11 91491c7cf3 vk: Drop copy optimization
- The pointer-based nature of write entries, changes invalidate previous data
- Instead of managing scratch, just push to the descriptors built-in management which is quite optimal
2025-06-25 23:06:04 +03:00
kd-11 b3492b73ad vk: Improve pipeline layout validation and fix slot allocation bugs 2025-06-25 23:06:04 +03:00
kd-11 15791cf94e vk: Fix descriptor set update and caching model to support skipped updates 2025-06-25 23:06:04 +03:00
kd-11 5417d4854d vk: Fix edge cases in descriptor update logic 2025-06-25 23:06:04 +03:00
kd-11 bb1c0a5eee rsx/util: Support basic array merge 2025-06-25 23:06:04 +03:00
kd-11 3a65359d59 vk: Fix clang build and resource leak on exit 2025-06-25 23:06:04 +03:00
kd-11 ffa835efac vk: Use shared layout generator for all pipelines
- Common code applying flags uniformly fixes bugs with misconfigured options
2025-06-25 23:06:04 +03:00
kd-11 f241825c73 vk: Update binding model for compute jobs 2025-06-25 23:06:04 +03:00
kd-11 2c8c788d81 vk: Use standard C++ 2025-06-25 23:06:04 +03:00
kd-11 2ae9753d79 vk: Lazy register/derigeter of hot data 2025-06-25 23:06:04 +03:00
kd-11 93e6aa6310 vk: Fix FSR upscaling 2025-06-25 23:06:04 +03:00
kd-11 ae74aa336f vk: Use write commands instead of copy commands to avoid dependencies 2025-06-25 23:06:04 +03:00
kd-11 64866098e7 vk: Respect shader compile flags when linking 2025-06-25 23:06:04 +03:00
kd-11 20b54f3086 vk: Correctly initialize descriptor copy data 2025-06-25 23:06:04 +03:00
kd-11 aac4fbe941 vk: Fix graphical bugs and crashes 2025-06-25 23:06:04 +03:00
kd-11 356b2f5910 vk: Rewrite program binding management to use "separate shader objects" concept. 2025-06-25 23:06:04 +03:00
kd-11 4d493bbb80 vk: Fix build 2025-06-25 23:06:04 +03:00
kd-11 49729086ac vk: Move descriptor management to the pipeline layer
- Frees up callers from managing descriptors themselves (ewww)
- Makes descriptor reuse possible
- Opens up the door to techniques like descriptor_buffer by abstracting away management to an implementation detail
2025-06-25 23:06:04 +03:00
digant73 329655a1bf fix DEBUG mode compilation 2025-06-24 05:16:17 +03:00
qurious-pixel b0067e8934 Windows Clang - libvulkan
Fix windows clang libvulkan static lib name
2025-06-22 03:38:16 +03:00
Kuan-Wei Chiu 22d9343f2c Fix invalid comparator in savedata_op sorting
According to the C++ standard, comparison functions used in sorting
algorithms such as std::sort must establish a strict weak ordering.
Specifically, the comparator must be irreflexive: for all values x,
comp(x, x) must be false.

The original comparator used >= for descending order, which violates
this requirement in the case of equal values (i.e., when a == b, both
comp(a, b) and comp(b, a) would return true). This can result in
undefined behavior in sorting algorithms, including potential
segmentation faults due to invalid iterator manipulation.

This change replaces >= with > to ensure irreflexivity and compliance
with the standard's requirement for a strict weak ordering.
2025-06-21 20:00:12 +03:00
qurious-pixel 9c93ec0bc3 exclude libusb submodule 2025-06-20 09:08:03 +02:00
qurious-pixel c6c72d3721 install opencv FreeBSD 2025-06-20 09:08:03 +02:00
qurious-pixel 424f9306c4 Use system LibUSB for FreeBSD 2025-06-20 09:08:03 +02:00
qurious-pixel 5d552ca236 Add Timeout to FreeBSD build 2025-06-20 09:08:03 +02:00
Megamouse 28896acb83 CI: Build static OpenAl 2025-06-19 12:09:59 +02:00
Megamouse 6f37be1afd CI/Win/clang: try to fix vulkan support 2025-06-19 09:07:01 +02:00
Megamouse 4fd581b812 Add github actions for linux arm gcc 2025-06-18 16:31:05 +02:00
Marcin Serwin bad6e99258 Disable -Wold-style-cast diagnostic before including sse2neon
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-06-18 15:52:52 +02:00
Megamouse 27359d3d32 CMake: add more options 2025-06-16 09:01:00 +02:00
Megamouse f8f34787b3 CI: Do not checkout zlib 2025-06-16 09:01:00 +02:00
Megamouse d61c2496b6 hid/input: fix enumerated device comparison 2025-06-16 08:12:13 +02:00
Megamouse 5569c5c803 Win/cmake: Copy test directory to bin 2025-06-15 17:12:50 +02:00
Megamouse d0812ee5a8 CI: build windows clang 2025-06-15 17:12:50 +02:00
Megamouse 9634e58f0a CI: fix branch name and PR number 2025-06-14 23:44:06 +02:00
RipleyTom 9610d45ebf
Entitlements are never found (#17306)
Minor change, we don't support entitlements atm.
2025-06-14 09:38:38 +03:00
Elad 85c813d84c
RawSPU: Fix race of SPU_MBox_Status_offs (#17303) 2025-06-13 18:56:35 +03:00
Megamouse ab55500f01 Add github actions for windows llvm 2025-06-13 03:31:08 +02:00
Megamouse af0432a44b Update opencv to 4.11.0 2025-06-13 01:35:28 +02:00
qurious-pixel 2b7161208e
[CI] FreeBSD build (#17293)
Build FreeBSD on Github Actions
2025-06-12 09:33:40 +03:00
Megamouse 5514d7c3d8 input: only copy relevant members to external buttons and sticks
fixes a crash in std::set, which is not thread safe
2025-06-09 11:09:26 +02:00
Elad 823e17288c SPU: Skip PUTLLUC writes of the same data 2025-06-08 19:09:22 +03:00
Megamouse 866daf2059 input/macOs: Call hid_close on the main thread 2025-06-07 13:03:41 +02:00
Megamouse ae38cef7b1 input/macOs: Call hid_open_path on the main thread 2025-06-07 13:03:41 +02:00
Megamouse e36f55ea41 input/macOs: call hid_enumerate on the main thread 2025-06-07 13:03:41 +02:00
Megamouse 819d3dc7a6 input/macOs: Run hidapi pad handlers on a single thread 2025-06-07 13:03:41 +02:00
oltolm ac99b2036d llvm: fix deprecation warnings 2025-06-07 12:46:48 +03:00
Megamouse 46cce45b13 Fix missing inserted = true in check_for_duplicates_fast 2025-06-06 01:07:33 +02:00
Megamouse d685348644 Update Qt to 6.9.1
- Updates Qt to 6.9.1
2025-06-05 21:57:43 +02:00
Megamouse d15b7a9955 ci/macOs: run unit tests 2025-06-03 21:59:59 +02:00
kd-11 99db73a34f Update VMA vulkan version to 1.2 2025-06-02 17:06:23 +03:00
kd-11 85e4eff571 vk: Raise min API version to 1.2 2025-06-02 17:06:23 +03:00
Megamouse d8bc2d5c75 input: move copilot code to pad_thread 2025-06-02 09:12:32 +02:00
Megamouse 4704c03209 Fix some static analysis warnings, including c-style cast 2025-06-01 22:07:03 +02:00
Megamouse 70faef3fdb Logs: use thread_local 2025-06-01 20:17:51 +03:00
qurious-pixel 663ff55af9 restore ffmpeg dependencies on linux 2025-06-01 18:45:00 +02:00
Zion Nimchuk 229c1c38a3 Setup build caches to only save on master builds, to ensure PR caches don't take presidence 2025-06-01 13:18:16 +01:00
Ani 68d2573344 rpcs3_version: Bump to 0.0.37 2025-05-31 22:05:34 +01:00
Zion Nimchuk c437fe9ff0 Fixing the two upload commit hashes got switched around 2025-05-31 20:36:04 +01:00
schm1dtmac c93ee3dc1a thanks vscode 2025-05-31 19:08:04 +01:00
schm1dtmac 0f45c08188 Suggested review changes 2025-05-31 19:08:04 +01:00
schm1dtmac 55aaffb7b3 Readd Homebrew Cache (used to be on Cirrus), silence more warnings 2025-05-31 19:08:04 +01:00
schm1dtmac aeafbfa2e1 Silence warnings 2025-05-31 19:08:04 +01:00
schm1dtmac cd7c9a8da4 Move Mac builds to GH Actions 2025-05-31 19:08:04 +01:00
Megamouse 382e62c7d8 input: implement basic copiloting 2025-05-29 20:56:13 +02:00
Megamouse ae35430c96 multithreaded version_check 2025-05-29 20:56:13 +02:00
Megamouse c0bfc34a75 Fix codestyle 2025-05-29 20:56:13 +02:00
Marcin Serwin bda335a505 cmake: add option to use system cubeb
Signed-off-by: Marcin Serwin <marcin@serwin.dev>
2025-05-29 18:30:25 +02:00
oltolm 38289f3bc1 fix Windows build with GCC/Clang 2025-05-29 14:15:54 +02:00
oltolm 3d0a68c9e8 stdafx.h: fix clang warnings 2025-05-29 14:15:54 +02:00
Megamouse a9df046f21 Update curl to 8.14.0 2025-05-29 02:07:52 +02:00
kd-11 2d9a24d1d6 rsx/util/test: Cover edge cases in address_range test suite 2025-05-27 15:06:32 +03:00
kd-11 45718d7679 rsx: Use address_range64 to simplify MM intersection tests 2025-05-27 15:06:32 +03:00
kd-11 2ea7ff6b14 rsx/util: Split address_range into a sized address_range template 2025-05-27 15:06:32 +03:00
kd-11 4f7c82ba8a utils: Rename address_range to address_range32 to allow implementation of address_range16 and address_range64 2025-05-27 15:06:32 +03:00
kd-11 79bcb7790c rsx/util: Add unit tests for address ranges 2025-05-27 15:06:32 +03:00
kd-11 1ff6bdd777 rsx: Flush MM queue before applying nv3089 block transfers 2025-05-26 00:42:24 +03:00
Megamouse 3e674a896f Minor struct memory layout optimization 2025-05-24 18:24:58 +02:00
Megamouse 3aba805bc9 rsx: Fix use after move warning 2025-05-24 18:24:58 +02:00
Megamouse 09ab5477e8 rsx: use more const ref 2025-05-24 18:24:58 +02:00
Megamouse da273761d1 Fix some static analysis warnings 2025-05-24 18:24:58 +02:00
FlexBy420 4f2324cae7 Remove roadmap link from README
Roadmap was removed from the website as it wasn't updated in years.
2025-05-24 16:47:47 +02:00
RipleyTom 57207bbe96 Sort bin attributes based on ID 2025-05-23 13:30:39 +02:00
Megamouse b8a5986504 Update hidapi to 0.15.0 2025-05-23 09:20:09 +02:00
kd-11 b54c2124cf rsx: Refactor CgBinaryProgram to avoid namespace collision with X11 2025-05-21 16:51:11 +03:00
kd-11 9a150b677e rsx-debugger: Extra safety checks for FP decompiler 2025-05-21 16:51:11 +03:00
kd-11 01ec2671b3 rsx-debugger: Show disassembly of the currently active VP and FP 2025-05-21 16:51:11 +03:00
kd-11 dd0004f80d rsx: Use safe memory in RSX assembly decompiler 2025-05-21 16:51:11 +03:00
kd-11 e59c6c3c18 vk: Force VMA to comply with Vulkan 1.0 2025-05-21 16:51:11 +03:00
Megamouse c27d7db0a7 SDL: do not track emu state when initializing 2025-05-21 07:01:11 +02:00
Megamouse 7e7943f962 Always initialize SDL from main thread 2025-05-21 07:01:11 +02:00
Katharine Chui cb5fd17635 Logitech G27 log control transfers as todo 2025-05-19 21:14:36 +02:00
Katharine Chui c5e40dde74 Logitech G27 update bit 86 shifter_pressed behavior 2025-05-19 21:14:36 +02:00
elad335 5deb0fcbc6 PPU debugger: Update CIA unconditionally if "PPU Debug" enabled 2025-05-17 20:14:27 +03:00
Megamouse 62055bed3f Silence clang warning spam 2025-05-15 23:50:32 +02:00
Megamouse 182acfcf3e Fix log level of sdl pad handler log message
I accidentally changed this to error in a prior commit.
2025-05-15 23:50:32 +02:00
Katharine Chui 52aa475581
Logitech G27 update shifter input (#17216)
Based on information provided by Florin9doi
https://github.com/RPCS3/rpcs3/pull/17199#issuecomment-2883934412
2025-05-15 22:58:10 +02:00
Megamouse 64a3e50d6c Fix some warnings 2025-05-15 16:23:47 +02:00
Megamouse 0750574a03 Update VulkanMemoryAllocator to 3.3.0 2025-05-15 16:23:47 +02:00
Megamouse 3dca4dd4bb Update SDL to 3.2.14 2025-05-14 21:07:18 +02:00
Megamouse 410710b02c LG27: Update defaults 2025-05-14 19:52:06 +02:00
Megamouse 48be05e8f1 G27: Make warning label color more dynamic 2025-05-14 19:52:06 +02:00
Megamouse 36e680c603 G27: Improve layout a bit 2025-05-14 19:52:06 +02:00
Megamouse 5da1b44371 Fix emu name in label 2025-05-14 19:52:06 +02:00
Megamouse 9b3ee1ed17 Gui: simplify LogitechG27 settings dialog 2025-05-14 19:52:06 +02:00
elad335 3f2075070a Fix UB
Reference exists after destructor is called.
2025-05-14 09:44:07 +03:00
elad335 208c4e2af2 SPU: Improved GETLLAR spin detection conditions 2025-05-14 09:44:07 +03:00
Katharine Chui a9b911750f
Logitech G27 Expand SDL device identification, add mapping note (#17206)
Fanatec windows drivers doesn't mux a single device into a single
software device. Instead they have two identical devices in
terms of vendor and product id. Add a mostly stable way to tell
between the two.

Currently working wheels should not be affected, Fanatec users
please map the wheel again.

Do not save config on reset
2025-05-14 01:31:52 +02:00
Megamouse 8d9ba4329d LogitechG27: use named_thread instead of std::thread 2025-05-14 01:18:32 +03:00
Megamouse bc18b3592c SDL/input: Log GUID 2025-05-13 21:41:23 +02:00
elad335 fa744121fc Fix CallFromMainThread execution condition 2025-05-13 17:37:13 +03:00
kd-11 f4dc18c872 rsx: Don't trigger surface swap-in/swap-out handlers when replacing self 2025-05-13 15:17:36 +03:00
RipleyTom d02dea5df2 Make Disable IPv6 text translatable 2025-05-13 13:43:03 +02:00
RipleyTom b1b02e0425 Bind RPCN client socket only if bind_ip is set 2025-05-12 22:15:56 +02:00
RipleyTom 6854e9b974 Fix building with SDL submodule 2025-05-12 21:40:02 +02:00
RipleyTom 3894c903bc Make IP Binding more global 2025-05-10 08:44:05 +03:00
elad335 d21358e91f System: Fix Kill calling duplication 2025-05-09 11:39:53 +03:00
Megamouse 21cdbd90e9 trophies/overlays: treat unlocked hidden trophies just like normal unlocked trophies 2025-05-08 21:20:16 +02:00
elad335 12f4e4fd8c SPU: Evaluated Thread-blocked LR messaging 2025-05-08 20:46:40 +03:00
elad335 3ea3ed6672 Emu: Track game termination progress better 2025-05-08 17:06:47 +03:00
Katharine Chui 4840e3575b remove SDL_INIT_JOYSTICK since SDL_INIT_GAMEPAD implies SDL_INIT_JOYSTICK 2025-05-08 13:41:41 +02:00
Katharine Chui f0672bdbc9 initialize sdl haptic, log haptic device open errors 2025-05-08 13:41:41 +02:00
Megamouse 2963d10325 cellSysutilCheckCallback: increase read_counter as soon as a callback is about to be called
The game might call sys_process_exit in one of the callbacks.
This might take a couple of seconds and does not increase the counter.
So we have to increase it before in order to give Kill some more time.
2025-05-08 12:58:38 +02:00
Megamouse 501643c10a Use const for present_samples buf argument 2025-05-08 12:58:38 +02:00
Megamouse 73a6141f3f overlays: Allow auto exit in home menu's exit game function
In case the game does not terminate itself properly.
2025-05-08 12:58:38 +02:00
Megamouse 738d1ef682 Emu: Make game termination less confusing 2025-05-08 12:58:38 +02:00
Megamouse 30a4b26306 Add log message when QApplication is being quit 2025-05-08 12:58:38 +02:00
Megamouse fdc1a51cba Log RPCS3 exit code 2025-05-08 12:58:38 +02:00
Megamouse 9c7d8da298 Add log message if game ignores exit game request 2025-05-08 12:58:38 +02:00
Megamouse 0146b845d9 MSVC: Fix weird std::move on const variable warning... 2025-05-08 12:58:38 +02:00
Megamouse fc3a905c90 Use string_view for log params 2025-05-08 12:58:38 +02:00
Megamouse aa79afd7ae StrUtil: Add more unit tests 2025-05-08 12:58:38 +02:00
elad335 f17400092d Fixup SPU Interpreters 2025-05-08 11:54:16 +03:00
Katharine Chui e1d3cf57c8
Logitech G27 fixes and cleanups (#17170)
- revamp effect direction to avoid some windows driver issues
- ref: https://github.com/libsdl-org/SDL/issues/7941
- fix possible SDL_SetJoystickLED calls on closed joystick handle
- various comment cleanups
- make now static sdl effect direction a template
- fix formatting, shorten logitech_g27_force_to_level, revamp sawtooth effect abuse logging
- log and handle ramp effects with reversed min/max forces
- remove abandoned functions
2025-05-07 19:20:35 +02:00
Elad 2a50ac1891
PPU Loader: Consume Executable Memory 2025-05-06 21:21:38 +03:00
Megamouse 0724fa3aa9 VS: compile glslang with the solution 2025-05-06 00:43:41 +02:00
Zion Nimchuk ba46c62500 Remove old OGLCompiler.lib dep 2025-05-06 00:43:41 +02:00
Zion Nimchuk 1276867860 Cleanup what we build in glslang vcxproj 2025-05-06 00:43:41 +02:00
Zion Nimchuk 5249f6cba7 Just build the latest glslang instead of dowloading the precompiled libs 2025-05-06 00:43:41 +02:00
Megamouse 353e0a8400 VS: Add glslang include directory 2025-05-06 00:43:41 +02:00
Zion Nimchuk ec4e65bdd9 Update glslang to 15.3.0 2025-05-06 00:43:41 +02:00
kd-11 e5d3944726 vk: Limit NV crash workaround to older generations 2025-05-06 00:00:04 +02:00
kd-11 e67beb27dd vk: Fix cyclic dependency problem during physical device init 2025-05-06 00:00:04 +02:00
kd-11 5cfa9fd83e vk: Disable texel buffer update-after-bind on NVIDIA driver 2025-05-06 00:00:04 +02:00
Megamouse 84a4cc01e1 SDL/Input: add DS3 pressure intensity 2025-05-05 23:20:40 +02:00
Megamouse 32ad9988a3 SDL/Input: add new misc buttons 2025-05-05 23:20:40 +02:00
Megamouse fcdf542c47 Update SDL to 3.2.12 2025-05-05 22:42:28 +02:00
Vestral 3cebfaa648
Atomic utils fixup after ASLR changes (#17168) 2025-05-05 21:48:07 +03:00
Séamus 74fa59590a Update MoltenVK to v1.3.0 2025-05-05 09:04:17 +02:00
kd-11 4958d7a88f rsx: Do not interpolate when performing image reconstruction
- Interpolation introduces cross-channel bit-leakage and noise
2025-05-05 01:15:33 +03:00
Katharine Chui 487c58558e Logitech G27 touchups
- TODO note and adjust type for housing SDL_CreateHapticEffect return
- fix implementation of command 0x09 Set LED
- fix LED joystick changes handling
2025-05-03 19:43:07 +02:00
Elad cf1e53f9c8
Fix crash in memory viewer launcher (#17152) 2025-05-03 18:34:42 +03:00
Megamouse 75b728be7e Logitech G27 cleanup 2025-05-03 13:21:34 +02:00
trigger 6428088e46
Qt: "Show in Memory Viewer" context action (#17131) 2025-05-03 08:35:45 +03:00
Katharine Chui c0a1e8d5a5
virtual Logitech G27 for Gran Turismo 6 (#17135) 2025-05-02 21:27:40 +02:00
Megamouse 7a9733dcca CMake: try to fix gcc 2025-05-02 17:18:11 +02:00
Megamouse 9146076e28 Update FAudio to 25.05 2025-05-02 17:18:11 +02:00
kd-11 b25276deec tests: Fix failing test and improve msvc setup 2025-05-02 01:16:21 +03:00
kd-11 947c6ec3e1 test: Add UTs for rsx::simple_array<T> 2025-05-02 01:16:21 +03:00
Megamouse ea94f44f66 Disable WholeProgramOptimization for unit test 2025-05-01 15:28:52 +02:00
Megamouse e48797db1a CI: Only run unit tests for pull requests 2025-05-01 15:28:52 +02:00
Megamouse 0439ca67d9 CI: Add windows unit tests 2025-05-01 12:51:39 +02:00
Megamouse 399c871d79 VS: improve unit test project setup 2025-05-01 12:51:39 +02:00
Megamouse 6abe18a4f8 Add unit test for fmt::merge 2025-05-01 00:56:37 +02:00
Megamouse 77f45954d0 Update libpng to 1.6.48 2025-05-01 00:56:37 +02:00
Megamouse 982dac9446 Remove unused fmt::match function 2025-05-01 00:56:37 +02:00
Megamouse 486e93f418 Fix fmt::replace_all with empty from and add unit tests 2025-05-01 00:56:37 +02:00
Megamouse 259768e896 Add submodule version check script 2025-05-01 00:56:37 +02:00
Megamouse c792db2c60 CMake: Disable unit tests in gcc 2025-04-30 19:40:10 +02:00
Megamouse b6a3754ee5 CMake: Use existing main for unit tests 2025-04-30 19:40:10 +02:00
Megamouse e4cc55dc19 Move spellcheck before build
This saves time when there's a syntax error in deploy_linux.sh
2025-04-30 19:40:10 +02:00
Megamouse eb4c6df609 CI: Add unit tests 2025-04-30 19:40:10 +02:00
Megamouse 05b5f9aa97 VS: Remove unnecessary LinkIncremental to fix some warning 2025-04-30 10:08:16 +02:00
Megamouse a9d2150b0f VS: Remove unnecessary moc_predefs file to fix a warning 2025-04-30 10:08:16 +02:00
Megamouse b17078fe1a Fix some warnings 2025-04-30 10:08:16 +02:00
Megamouse 9a5c4aba58 VS: Enable ASLR in unit test 2025-04-30 10:08:16 +02:00
Megamouse 9897a80216 CMake: fix gcc build 2025-04-30 10:08:16 +02:00
Megamouse 19cc93437e CMake: move all rpcs3 cpp files to rpcs3qt 2025-04-30 10:08:16 +02:00
Megamouse 39247fcbc1 CMake: Run unit test during build if requested 2025-04-30 10:08:16 +02:00
Megamouse 3b61613d1b CMake: Create unit test 2025-04-30 10:08:16 +02:00
Megamouse 81b1e5636d CMake: Create static rpcs3_lib 2025-04-30 10:08:16 +02:00
Vestral e066735fe9 Utils fixes for ASLR 2025-04-30 02:56:23 +02:00
Vestral 63b7134dce Separate segment and function addresses in PPU LLVM 2025-04-30 02:56:23 +02:00
Vestral e110334c2c Disable SPU asmjit on ARM. Only supported on x86 2025-04-30 02:56:23 +02:00
Vestral 77eef4d783 Don't make assumptions about address format 2025-04-30 02:56:23 +02:00
Vestral e2df71d87c Enable ASLR 2025-04-30 02:56:23 +02:00
Megamouse 68e7f4e820 fmt: add some unit tests and fix fmt::trim 2025-04-30 00:07:24 +02:00
Megamouse 376ac85029 Add unit test project to VS 2025-04-29 21:09:12 +02:00
Megamouse b1b9310a50 Update docker to 1.6 2025-04-29 19:21:32 +02:00
Megamouse 024949f17e Move main to main.cpp 2025-04-29 18:42:20 +02:00
Megamouse 74d995aae0 Rename main.cpp to rpcs3.cpp 2025-04-29 18:42:20 +02:00
Megamouse 5b60f0cc11 CI: Use variables for docker artifacts dir 2025-04-29 18:21:29 +02:00
Megamouse a72f4f0606 Avoid checking out unused submodules 2025-04-29 18:21:29 +02:00
Megamouse 752df0dae7 VS: fix relative 3rdparty paths 2025-04-29 18:21:29 +02:00
Megamouse 2d4ff404bd VS: remove some outdated keywords 2025-04-29 18:21:29 +02:00
Megamouse 62fa074f9f github actions: disable pushes unless it's the RPCS3 master branch 2025-04-29 15:27:25 +02:00
trigger c8f5659090
Qt: Hex validator for address/instruction inputs (#17113) 2025-04-29 14:42:16 +02:00
elad335 79b63556bb vm_native.cpp: Fix possible weakness of map_self() 2025-04-29 14:54:40 +03:00
elad335 1f81d42416 Fix sys_mmapper_unmap_shared_memory 2025-04-29 14:54:40 +03:00
kd-11 75bfc336fc vk: Prevent header internals from leaking 2025-04-29 03:52:49 +03:00
kd-11 1af67f39ca vk: Stop using internal defines to structure platform-specific code 2025-04-29 03:52:49 +03:00
elad335 2aca213ba1 sys_mmapper: Lazily allocate shared memory descriptors 2025-04-28 18:55:23 +03:00
elad335 730249a887 Embedded SPU Image Search Fixes 2025-04-28 17:44:33 +03:00
trigger 0e1cad4ca9 PPU: HasBreakpoint fast path when empty 2025-04-28 09:28:51 +03:00
kd-11 2afd7707fe vk: Fix more silly mistakes 2025-04-27 17:09:50 +03:00
kd-11 01cf71e49a vk: Fix indexed multidraw 2025-04-27 17:09:50 +03:00
kd-11 2f677ecebd rsx: Silence compiler warnings 2025-04-27 15:07:26 +03:00
kd-11 d958f8291a rsx: simplify simple_array<T>::erase_if 2025-04-27 15:07:26 +03:00
Megamouse f435225940 Update wolfssl to 5.8.0 2025-04-26 23:15:04 +02:00
Megamouse e321af4a29 Update miniupnp to 2.3.9 2025-04-26 23:15:04 +02:00
RipleyTom 929a92f6c5 Avoid passing -fuse-ld to non-linking step 2025-04-26 22:48:14 +02:00
Megamouse 39d3754b18 cellVideoOutConvertCursorColor: fix and implement 2025-04-26 21:30:58 +02:00
digant73 d7ef5a85dc fix missing check on swapped item 2025-04-26 21:13:58 +03:00
digant73 519a3b5b79 fix erase_if method 2025-04-26 21:13:58 +03:00
RipleyTom 89dea9bd92 Fix IPv6 support detection 2025-04-25 21:40:36 +02:00
elad335 ab269f6155 Warning fixes 2025-04-25 19:52:38 +03:00
elad335 dcc263ca5d SPU Image Finder Fixes 2025-04-25 19:52:38 +03:00
Megamouse c2a5ac96cd Fix some warnings 2025-04-25 11:10:07 +02:00
Megamouse 85a4c5eb93 Remove some obsolete pragmas 2025-04-25 11:10:07 +02:00
kd-11 cd2098fad7 vk: Fix copypasta causing incorrect buffer to be released by GC 2025-04-25 04:01:47 +03:00
kd-11 7c538873b6 vk: Properly initialize EXT_multidraw functionality 2025-04-25 04:01:47 +03:00
kd-11 ebcf403f4a vk: Fix a rare GPU timeline UAF when replacing buffer views
- Might fix DEVICE_LOST errors observed on NV cards
2025-04-25 04:01:47 +03:00
kd-11 417cefa059 rsx: Fix static ringbuffer allocator logic 2025-04-25 04:01:47 +03:00
Megamouse 1960b5a605 hotfix: fix parentheses when saving some files 2025-04-23 16:27:17 +02:00
kd-11 c401c0f9db vk: Get rid of multidraw indirection buffer 2025-04-23 16:01:17 +03:00
kd-11 a152bb1123 vk: Fix bug preparing multidraw command details 2025-04-23 16:01:17 +03:00
kd-11 7c27b7b727 rsx: Do not consume draw call barrier iterator when executing deps 2025-04-23 16:01:17 +03:00
kd-11 f3f1a2bb5d rsx: Cache draw subranges storage 2025-04-23 16:01:17 +03:00
Megamouse b2feff7d38 Qt: implement music player dialog for music handler tests 2025-04-23 08:14:59 +02:00
Megamouse 22c184bf75 cellMusic: improve logging 2025-04-23 08:14:59 +02:00
elad335 5ca5b54bf6 Fix sceNpTrophyRegisterContext 2025-04-22 16:29:21 +03:00
kd-11 a928e8a3db types: Fix comment 2025-04-20 17:50:01 +02:00
kd-11 2e624789ff vk: Properly initialize multi draw extension 2025-04-20 17:50:01 +02:00
kd-11 ef95fa9f5f rsx: de-uglify buffer upload restructure 2025-04-20 17:50:01 +02:00
NefariousTechSupport cecf92e5b8
Copy debug self elf properly (#17070)
In 7de2869a53 this was changed to be a bit more safe, however it was reading from offset 0 instead of where the real elf started, meaning every debug self would just fail to load immediately.
2025-04-20 10:12:19 +03:00
elad335 8437a5f5ac PPU Debugger/Memory: STDCX/STWCX breakpoints, make vm::_ref const 2025-04-19 16:14:00 +03:00
kd-11 564c903fbd rsx: Fix arm64 build 2025-04-19 01:04:00 +03:00
kd-11 268de3cd24 rsx/vk: Retire the concept of heap being in "critical" state
- We waste a lot of time trying to manage that. We just swap out the buffer anyway as long as the client has enough RAM.
- This was more of an issue in early days when corrupt allocation requests were common trying to take gigabytes in one draw.
2025-04-19 01:04:00 +03:00
kd-11 d20f48f876 vk: Fix extension wrangling 2025-04-19 01:04:00 +03:00
kd-11 88e2a3761c vk: Rework multi-heap health checks for performance 2025-04-19 01:04:00 +03:00
kd-11 e136c2eadf vk: Rework heap checks to be explicit 2025-04-19 01:04:00 +03:00
kd-11 b2b50f5e82 vk: Optimize heap check iterator
- Significant boost in some scenarios
2025-04-19 01:04:00 +03:00
kd-11 26a7e9653f rsx: Optimize static heap allocations 2025-04-19 01:04:00 +03:00
kd-11 76948b6364 vk: Use robin_hood for renderpass caches 2025-04-19 01:04:00 +03:00
kd-11 0f57624a61 vk: Rework extension wrangling 2025-04-19 01:04:00 +03:00
kd-11 8aaf2f8577 vk: Implement EXT_multi_draw support 2025-04-19 01:04:00 +03:00
kd-11 8ce8410a5b vk: Use garbage collector to handle buffer views
- Legacy stuff left over from almost a decade ago
2025-04-19 01:04:00 +03:00
kd-11 a0ce9e52fa vk: Refactor the heap manager 2025-04-19 01:04:00 +03:00
kd-11 53288309a5 vk: Add automatic heap management 2025-04-19 01:04:00 +03:00
Nick Renieris 275f7e15c0 PPU: Fix memory write breakpoints for 13 instructions
Specifically: `STVX`, `STVXL`, `STDBRX`, `STWBRX`, `STFSX`, `STFSUX`, `STFDX`, `STFDUX`, `STHBRX`, `STFS`, `STFSU`, `STFD`, `STFDU`.

Closes https://github.com/RPCS3/rpcs3/issues/17062.
2025-04-18 20:52:37 +02:00
elad335 7de2869a53 Implement sys_spu_image_open_by_fd 2025-04-18 13:53:50 +03:00
elad335 ab7a1a6ec4 sys_spu: Fix sys_spu_image_open 2025-04-18 13:53:50 +03:00
Antonino Di Guardo b8d1d7cdf1
Fix game list update for auto-detection VFS games folder (#17051) 2025-04-17 12:14:54 +02:00
Megamouse 8b2b74c34b Qt: Add checkboxes to vfs list to make selection more user friendly 2025-04-17 07:23:36 +02:00
Ani a004ebfffb git: Remove unused code 2025-04-16 13:36:56 +03:00
Megamouse b51d6e9d92 Qt: use image_change_callback function to ensure the member is valid 2025-04-16 03:19:15 +02:00
Megamouse b96e41285c Qt: use unique_ptr in qt_video_source 2025-04-16 03:19:15 +02:00
Megamouse 9295e6f5c8 Qt: Fix gamelist icon after stopping a movie
Do not set an icon if it's null. This happens because we save memory
by clearing the pixmap of non-movie items.
Also don't stop the movie here, as it should be stopped already anyway.
2025-04-16 03:19:15 +02:00
Megamouse e80809f629 Qt: fix game list image reset after a movie was stopped 2025-04-15 18:47:54 +02:00
elad335 5ac4db752d sceNpTrophy: Send signals asynchronously 2025-04-14 15:08:01 +03:00
Megamouse 746b438500 Qt/input: accumulate button presses between gui refresh
Fixes dropped input between gui refreshes
2025-04-14 09:31:52 +02:00
Fredrik Hubinette 0964c0356b Add Menu Key (used by 8bitdo Pro 2 controller 2025-04-14 07:36:17 +02:00
kd-11 7500d16524 rsx: Avoid reallocating scratch buffers every draw call when processing instancing data 2025-04-14 03:16:37 +03:00
kd-11 b3bdff741c rsx: Fix simple_array<T>::erase_if 2025-04-14 03:16:37 +03:00
Megamouse fcb6bc70f8 evdev: log positive axis config 2025-04-13 11:40:01 +02:00
Megamouse 9c5b3a2300 Update to Qt 6.9.0 2025-04-11 23:11:38 +02:00
kd-11 2d7ffaf07f vk: Fix typo in NVIDIA-specific stencil unresolve path 2025-04-11 14:05:28 +03:00
Megamouse 9b7d5cd1a9 Qt: fix visibility check of table widget items 2025-04-10 02:23:16 +02:00
RipleyTom bcb5041df2 use fixed uruntime version 2025-04-10 00:22:04 +02:00
Escary 235707278f
reduce appimage size 2025-04-09 21:17:16 +02:00
Ani db85595124 rsx: Replace robin_hood with ankerl::unordered_dense 2025-04-09 20:55:35 +02:00
Ani 15758171f0 glext: Update from 2022.05.30 to 2025.02.03 2025-04-09 20:19:42 +02:00
kd-11 d08610882a rsx: Remove superfluous log
- Back-to-back range with no barrier will already be logged in draw_call::append
2025-04-09 16:17:51 +03:00
kd-11 21434c471b rsx: Track command barrier types during recording for faster instancing compatibility checks 2025-04-09 16:17:51 +03:00
elad335 87d8bebd0d PPU LLVM: Fixup MTFSF 2025-04-08 11:29:06 +03:00
Ani e4d84e2c1c Qt: Fix multi package install dialog on Linux 2025-04-08 09:28:10 +02:00
Ani 16036e0419 ppu: Remove redundant checks on MTFSF
Closes #11176
2025-04-08 07:04:37 +02:00
Ani 58714d8c68 docker: Update ffmpeg to 7.1.1 2025-04-08 06:43:28 +02:00
Megamouse ddf684c4d2 Update curl to 8.13.0 2025-04-07 21:37:59 +02:00
Megamouse daa76be77e Update soundtouch to 2.4.0 2025-04-07 21:37:59 +02:00
Megamouse 600e460416 Fix compilation with newer Qt 2025-04-07 21:37:59 +02:00
Megamouse e095904e1b cellMic: Use full device name registration and comparison 2025-04-07 20:38:59 +02:00
Megamouse 599d5c17a0 cellMic: Try to open device with different sample rates 2025-04-07 20:38:59 +02:00
elad335 6f98b8c5ae Silence sys_spu_thread_write_spu_mb 2025-04-07 17:54:27 +03:00
elad335 eb2eb9ccf5 Improve lwmutex_lock error logging 2025-04-07 17:54:27 +03:00
elad335 19d01835d3 sys_spu: Fix HW schedular limits 2025-04-07 17:54:27 +03:00
kd-11 f38a61bdb3 Try msvc workaround 2025-04-07 00:46:09 +03:00
kd-11 ed280cdbfe vk: Use dynamic constant buffer offset via push constant 2025-04-07 00:46:09 +03:00
kd-11 66909168ac vk: Silence compiler warning 2025-04-07 00:46:09 +03:00
kd-11 38a1c8becb vk: Use dynamic constants offset for transform constants 2025-04-07 00:46:09 +03:00
kd-11 1816a1eb34 vk: Switch transform constants from UBO to SSBO 2025-04-07 00:46:09 +03:00
kd-11 dad9a2b916 vk: Add support for dynamic buffer offsets 2025-04-07 00:46:09 +03:00
Ani b3bbd939e3 appimage: Do not bundle libQt6OpenGL 2025-04-06 19:37:36 +02:00
Ani cc84ebf8c2 appimage: Do not bundle Qt6VirtualKeyboard 2025-04-06 19:37:36 +02:00
Ani 2438e975e7 appimage: Do not bundle unused Qt6 libraries 2025-04-06 19:37:36 +02:00
elad335 04d833d3e6 Fix #17000 2025-04-06 08:58:24 +03:00
elad335 2f872b3755 vm.cpp: Remove redundant cache hint 2025-04-06 08:58:24 +03:00
elad335 bd1f5ff194 PPU LLVM: Fix VMAXFP, VMINFP 2025-04-06 08:58:24 +03:00
Ani 613212f9e1 .github: Remove outdated pull request template 2025-04-04 23:10:21 +02:00
Ani 4aff4a9c82 README: Update VC_redist from 2019 to 2022 2025-04-04 23:10:21 +02:00
Ani 264af550d5 .github: Update log path in issue templates 2025-04-04 23:10:21 +02:00
Ani 822546bf7d Discord: Use vanity URL 2025-04-04 23:10:21 +02:00
nastys 2ac2439c33 Fix macOS SDK path 2025-04-04 05:38:48 +02:00
Megamouse 37dbd77628 Update FAudio to 25.04 2025-04-03 07:59:49 +02:00
Megamouse 733ceada5e Update SDL to 3.2.10 2025-04-03 07:59:49 +02:00
Megamouse 847f92956f Qt: remove discontinued QWinTaskbar code
Also remove some strange relics from the includes
2025-04-02 10:48:09 +02:00
Megamouse 73f2aaf9d8 Windows: fix updating with unicode user name 2025-04-01 14:31:21 +02:00
Zion Nimchuk c86a250795 Fix mac build with cmake 4.0 2025-04-01 09:02:27 +03:00
Zion Nimchuk c6170aa4c7 Update Windows ccache version 2025-04-01 09:02:27 +03:00
Zion Nimchuk 89ae495c36 Update docker cmake to 3.28 and update minimum to 3.28, as well as remove uneeded minimum 2025-04-01 09:02:27 +03:00
Megamouse 5526c33d69 Review fixes + warning fixes 2025-03-31 18:27:54 +02:00
Megamouse e816636676 overlays: play ICON1.PAM in save data list if possible 2025-03-31 18:27:54 +02:00
Megamouse 40e8bc530c overlays: propagate item selection to children 2025-03-31 18:27:54 +02:00
Megamouse 9684467dc0 overlays: implement video overlay class 2025-03-31 18:27:54 +02:00
Megamouse 8e83fd7d50 Qt/overlays: expose qt_video_source_wrapper as emu callback 2025-03-31 18:27:54 +02:00
Megamouse fac1cc57d7 Overlays: set layouts dirty if children are dirty
This fixes updates of widget items in lists.
Only set text dirty if it changed.
Properly mark spacers as compiled.
2025-03-31 18:27:54 +02:00
Megamouse 6511e0f3e6 cellSaveData: properly initialize SaveDataEntry 2025-03-31 12:21:40 +02:00
Megamouse 9c1c932e68 Update OpenAL to 1.24.3 2025-03-31 12:01:55 +02:00
Megamouse 82c85c1a9c Qt: disable shortcuts completely if disable kb hotkeys is enabled 2025-03-31 11:41:11 +02:00
Megamouse 7cec2d0e18 Qt: set audio hotkey defaults to additionally need Ctrl pressed 2025-03-31 11:41:11 +02:00
Ani 2f8ed1a6bd rpcs3_version: Bump to 0.0.36 2025-03-30 21:45:32 +02:00
Megamouse 781da9dc59 input: disable pad vibration after no new data was sent for 3 seconds
This is supposedly how the lib does it.
2025-03-30 20:42:15 +02:00
Vestral 1e6a4dc5c8 Fix discord after #16885 2025-03-30 19:58:28 +02:00
Megamouse 282fbcc3e5 Qt: fix wrong save data movie playing when selecting a different entry 2025-03-30 12:35:16 +02:00
Megamouse cd9c156937 7z: log error code when opening the file 2025-03-30 12:35:16 +02:00
DH cd840ef70a LLVM JIT: do not produce broken binaries on crash 2025-03-30 08:18:09 +03:00
Zion Nimchuk 55190c2125 Update Qt to 6.8.3 and update clang compiler 2025-03-29 23:21:54 +01:00
Megamouse 01cdc83aeb Qt: play ICON1.PAM in save data manager details 2025-03-29 15:09:25 +01:00
Megamouse b9e0a36816 Qt: Add qt video source class for more generic video playback 2025-03-29 15:09:25 +01:00
Megamouse fccb761ef2 Qt: play ICON1.PAM in save data manager 2025-03-29 12:18:18 +01:00
Megamouse 0ffb4e62e6 Qt: pass game list events to base class 2025-03-29 12:18:18 +01:00
Megamouse bd1102d3b7 Qt: simplify icon_ready_callback in game list 2025-03-29 12:18:18 +01:00
Megamouse 91427646f5 VulkanMemoryAllocator: Match current master commit 2025-03-28 20:41:41 +01:00
Megamouse 596e6cc2c3 Add VulkanMemoryAllocator v2.3.0 submodule 2025-03-28 20:41:41 +01:00
elad335 9c99e75939 SPU Debug: WrDec and LSA view
Report the last written value to WrDec.
2025-03-28 19:56:54 +03:00
elad335 047f71b434 PPU/cellSpurs: MGS4: Fix cellSpursAddUrgentCommand race condition
cellSpursAddUrgentCommand searches in 4 slots for an empty slot to put the command at.
At first, it seems to do so unordered.

Meanwhile, on SPU side, it expects an order between all the commands because it pops them it in FIFO manner.
Not keeping track of how many commands are queued in total.

After second observation of cellSpursAddUrgentCommand, something odd comes takes places here.
Usually, reservation loops are individual and are expected to be closed without any changes of the previous loop affected by the proceeding one.
But in this case, after a single failure, the entire operayion is reset, a loop of 4 reservation operations suddenly is reset completely.

This makes one wonder if it the HW expects sometjing else here, perhaps it caches the reservation internally here?
After some adjustments to LDARX and STDCX to cache the reservation between succeeding loops, Metal Gear Solid 4 no longer freezes!
2025-03-28 19:56:54 +03:00
elad335 91b1ec6d5c SPU LLVM: Dump some funcs 2025-03-28 19:56:54 +03:00
Ani a7df3cfb40 config: Set default Driver Wake-Up Delay to 0 2025-03-28 18:46:41 +03:00
Megamouse 949a80dc0a Loader: deny boot if the firmware is too old 2025-03-28 18:18:09 +03:00
Ian Carpenter 095c884331 unpkg: Restore support for PSP/Vita packages 2025-03-28 14:43:38 +03:00
Ani 32a8bcf525 config: Increase max vblank rate to 6000 2025-03-28 10:47:23 +03:00
Megamouse a469bfd4da overlays: hide friends list in home menu if rpcn is not configured 2025-03-27 18:08:30 +01:00
Megamouse 6921684cd9 Update Qt to 6.8.3 2025-03-27 09:25:02 +01:00
Megamouse 76c069e8bf VS/MSVC: Move LTCG and GL to CI only
This was taking too long on my local builds after simple code changes.
2025-03-27 04:35:27 +01:00
Megamouse b571978f24 Windows/Qt: do not deploy dx and ffmpeg libs 2025-03-27 02:33:32 +01:00
Megamouse b8236e183c cellMic: log ALCenum error string 2025-03-27 00:51:15 +01:00
Megamouse 2a7e957c61 Qt: fix custom icons when "Prefer game data icons" is set 2025-03-26 18:33:51 +01:00
Megamouse 467c4ba2cf Qt: add option to prefer game data icons in the game list 2025-03-26 12:07:59 +01:00
RipleyTom 324af04426 Set PSN to disconnected when net status is disconnected 2025-03-25 21:46:38 +01:00
Megamouse 1b5d9a34df overlays/rpcn: Create list even if rpcn connection failed 2025-03-25 18:40:25 +01:00
Malcolm Jestadt c52920755a SPU LLVM: Don't use vperm2b256to128 outside of CPUTranslator.h
- The vperm2b function uses vperm2b256to128 when it's ideal
2025-03-25 10:42:02 +02:00
Megamouse faef63e8a7 patches: fix c_utf8 validation 2025-03-24 21:44:23 +01:00
kd-11 ff135384ef Fix for GCC builds 2025-03-24 17:00:07 +03:00
kd-11 a51602018e rsx: Code cleanup and fix fragment texture dirty trigger 2025-03-24 17:00:07 +03:00
kd-11 1616942943 rsx: Always execute pre-draw pipeline analysis regardless of flags 2025-03-24 17:00:07 +03:00
kd-11 ba7b7b65a1 rsx: Bypass sampling cache logic when dealing with host generated textures 2025-03-24 17:00:07 +03:00
RipleyTom 40ff182c31 Fix p2p binding to vport 0 2025-03-23 06:08:09 +01:00
Whatcookie d9071abd8b
Utils: Remove AVX10-256 detection (#16904)
- Intel recently removed 256b AVX10 from the AVX10 spec.
2025-03-22 13:28:45 +02:00
Megamouse b4f453f687 overlays: don't check for hdd dirs if we play a disc game 2025-03-21 20:47:45 +01:00
Megamouse 4c742f7742 Fix typo 2025-03-21 20:47:45 +01:00
Megamouse fda51920b7 overlays: prefer overlay_picture over content_icon 2025-03-21 20:47:45 +01:00
Megamouse 4905fda371 Qt: Don't fetch ICON0.PNG from game data for disc games
ICON0.PNG is not supposed to be updateable, so we can ignore the hdd0 dir for disc games in that case
2025-03-21 20:47:45 +01:00
Megamouse 1ae1288a88 overlays: Look for the overlay in the same dir as the background 2025-03-21 20:47:45 +01:00
Megamouse 6fb0e991ea overlays: Don't use ICON0.PNG from hdd0 if the game is a disc game
ICON0.PNG is not supposed to be updateable, so we can ignore the hdd0 dir for disc games in that case
2025-03-21 20:47:45 +01:00
Megamouse 650176fac7 overlays: Simplify game content search 2025-03-21 20:47:45 +01:00
Megamouse 95aad6ceb5 overlays: adjust size and position of overlay image 2025-03-21 20:47:45 +01:00
Megamouse 7cd5d812d2 overlays: add background overlay image 2025-03-21 20:47:45 +01:00
Megamouse b2ff24453c overlays: fix background image logic
Also make the path getter more generic
2025-03-21 20:47:45 +01:00
Megamouse 12eacfa67b overlays: use std::string instead of raw path argument
It will be converted to string anyway
2025-03-21 20:47:45 +01:00
Megamouse cd25e91321 VS/MSVC: Enable LTCG and GL on release builds 2025-03-21 16:35:53 +01:00
Megamouse 518bfeca3f Update libusb to 1.0.28 2025-03-20 23:52:10 +01:00
Megamouse 76495f07b8 Qt: Remove supporters from translations 2025-03-20 08:52:08 +01:00
Megamouse ccecd1a627 Qt: only show shortcut confirmation once 2025-03-20 08:52:08 +01:00
Megamouse 8f3eff293d Remove unnecessary localization 2025-03-20 08:52:08 +01:00
Megamouse 806c9230cd Fix typo 2025-03-20 08:52:08 +01:00
Megamouse 24b6b6cad5 Qt: fix handler not found in pad settings after changing language 2025-03-20 08:52:08 +01:00
Megamouse 971fd40353 Remove some useless translations 2025-03-20 08:52:08 +01:00
Megamouse 2aba8c639e Fix typo 2025-03-20 08:52:08 +01:00
Megamouse 1a51ce1e66 SPU: Add Disable SPU GETLLAR Spin Optimization checkbox 2025-03-18 09:30:28 +02:00
Hugo Locurcio 1398e7702b Improve BUILDING.md documentation
- Add llvm-devel dependency to Fedora (required to compile).
- Recommend using the Ninja generator on Linux to speed up compilation
  (and mention it in the package installation lists).
- Use shorter CMake commands and use the standard `build` folder as a target.
- Use `--recursive` in Git clone to automatically fetch submodules.
- Fix path of output binary file on Linux.
2025-03-18 02:54:49 +01:00
Vestral a45f604cd8 Fix discord-rpc build when ASLR is enabled 2025-03-18 02:32:05 +01:00
Megamouse ec29650029 Fix warning 2025-03-17 23:11:31 +01:00
Megamouse 4b31e34ea4 Qt: use white checkmarks in Darker Style 2025-03-17 23:11:31 +01:00
Megamouse ae83c28bc8 Qt: Simplify hover movie code 2025-03-17 14:41:08 +01:00
Megamouse 58327ca23c Qt/optimization: Don't look for PAM files if the game has a hover gif 2025-03-17 14:41:08 +01:00
Megamouse 5b540aed73 Qt: Do not use gamedata icon if game has custom icon 2025-03-17 14:41:08 +01:00
Megamouse 6e080044a0 Qt: fix code style of some variables 2025-03-17 14:41:08 +01:00
Megamouse 42ba0b6271 Qt: Use localized game icons and titles 2025-03-17 00:47:43 +01:00
kd-11 a1fa8dd701 config: Revert default shader compiler to async with draw-skip 2025-03-16 16:48:20 +01:00
kd-11 aea1efd5f2 rsx: Fix instancing constants lookup layout when running interpreter 2025-03-16 16:33:39 +03:00
kd-11 5ae05e26c4 vk: Implement instancing when running in interpreter mode 2025-03-16 16:33:39 +03:00
kd-11 023221bd3b gl: Reimplement driver capabilities detection in a more sane way 2025-03-16 16:33:39 +03:00
kd-11 14575f3efd rsx: Always initialize CC register in FP interpreter 2025-03-16 16:33:39 +03:00
kd-11 9f3eb33d80 gl: Double instancing buffer size to improve frametimes 2025-03-16 16:33:39 +03:00
kd-11 225d0b9482 gl: Support transform instancing in the shader interpreter 2025-03-16 16:33:39 +03:00
kd-11 65c0d3d425 gl: Add support for hardware instancing 2025-03-16 16:33:39 +03:00
kd-11 3d3fc2f3cd rsx: Fix cache invalidation when instancing state changes 2025-03-16 16:33:39 +03:00
Malcolm Jestadt f9a72e8d75 SPU LLVM: Preserve sign on inf to NaN conversion in spu_re_acc with vfixupimmps 2025-03-15 10:46:08 +02:00
Attila Fidan 7b212e0e57 sys_usbd: Fix null pointer deref on destruction 2025-03-13 01:36:09 +01:00
Jan Beich a108ce8015 CI: upgrade FreeBSD to 13.5
FreeBSD doesn't support /latest and /quarterly package repos on EOL
versions. 13.4 reaches EOL on 2025-06-30, so avoid CI breakage.
2025-03-12 23:35:59 +01:00
Megamouse ff21a05c96 Always run Actions, we need them for merges 2025-03-12 20:26:06 +01:00
Megamouse 25eb869d5f Readme: Improve build tags 2025-03-12 20:26:06 +01:00
Megamouse ff40128df6 Qt: Detach markup from dialog translations 2025-03-12 18:49:24 +01:00
kd-11 b2ed787c3a rsx: Invalidate program cache hint if the current vertex or fragment program is re-evaluated 2025-03-12 15:36:29 +03:00
Megamouse ec5b2bc8d2 Fix missing enum in switch case 2025-03-12 01:08:49 +01:00
Megamouse 3a71da35a9 Fix redundant forward declaration warning 2025-03-12 01:08:49 +01:00
Megamouse 4c788abad1 Use named_thread in gui_pad_thread 2025-03-12 01:08:49 +01:00
Megamouse 3737cc37f6 Qt: Hide interpreter_only unless it is selected or the debug mode is active 2025-03-11 06:58:23 +01:00
Megamouse d0c2cb7ae1 main: Fix some warning 2025-03-11 06:58:23 +01:00
DH db945f6aed android: do not invalidate swapchain on VK_SUBOPTIMAL_KHR
Workaround
2025-03-10 21:09:27 +01:00
Megamouse b3f5ed55a1 Set vulkan to default renderer whenever we have vulkan support 2025-03-10 21:09:27 +01:00
Megamouse fa5a16e9fc hid_init: use hid_error in log message 2025-03-10 21:09:27 +01:00
DH 0c233c6578 [android] hid: enumerate by vendor/product ids 2025-03-10 21:09:27 +01:00
DH 8100779512 hid: add support of android devices 2025-03-10 21:09:27 +01:00
DH d766baef12 fs::file: implement release_handle
cleanup
2025-03-10 21:09:27 +01:00
DH 95d0cb18e4 Coding style issues fixes
Thanks @Megamouse
2025-03-10 21:09:27 +01:00
DH 976b0a8f1d cpu stats: do not try parse /proc/stat on android 2025-03-10 21:09:27 +01:00
DH 919cb8e05c android: atomic: do not test SYS_futex_waitv syscall 2025-03-10 21:09:27 +01:00
DH cac068dad9 rsx: implement android swapchain 2025-03-10 21:09:27 +01:00
DH 7520c09087 rsx: reduce shaders_cache::unpacked_type size for android 2025-03-10 21:09:27 +01:00
DH edf096fc13 vm: do not check overcommit_memory on android 2025-03-10 21:09:27 +01:00
DH 2ebf257f84 vm: removed c_page_size, it cannot be used by globals 2025-03-10 21:09:27 +01:00
DH 57e7cee84e android: cfg: vulkan renderer is default 2025-03-10 21:09:27 +01:00
DH adaf24310d add missed include to PUP.h 2025-03-10 21:09:27 +01:00
DH 94f52d6dc0 android: jit: teach fallback_cpu_detection provide meaningful results for aarch64 2025-03-10 21:09:27 +01:00
DH 3080b55d02 cfg: remove string::get() 2025-03-10 21:09:27 +01:00
DH bbb682a440 unpkg: allow package_reader creation with provided fs::file 2025-03-10 21:09:27 +01:00
DH f3d988d8ab fs::file: add from_native_handle constructor
fs::get_*_dir tweaks for android
2025-03-10 21:09:27 +01:00
DH 2c122a4401 llvm: disable extra targets for android
explicitly specify native target, llvm determines wrongly if cross compiler used
2025-03-10 21:09:27 +01:00
DH 26ce38a4ac 3rdparty/fusion: Always do build in release mode
this library has python numpy dependency in debug build
2025-03-10 21:09:27 +01:00
DH 5084fb82b8 Android stuff 2 2025-03-10 21:09:27 +01:00
DH 798c194025 android stuff 2025-03-10 21:09:27 +01:00
kd-11 11e214f332 rsx: Handle out-of-bounds read/writes from FIFO register IO 2025-03-10 16:07:26 +03:00
AniLeo ddd3ac3663 Settings: Move 'Max Shader Compile Threads' next to the equivalent LLVM setting 2025-03-10 08:16:19 +01:00
AniLeo bacce9bb37 Settings: Move 'Vulkan Queue Scheduler' to Debug 2025-03-10 08:16:19 +01:00
AniLeo aa819c8b97 Settings: Move 'Disable On-Disk Shader Cache' to Debug 2025-03-10 08:16:19 +01:00
AniLeo af768d5c22 Settings: Move 'Disable Asynchronous Memory Manager' to Debug 2025-03-10 08:16:19 +01:00
AniLeo 2bf5ae3272 Settings: Move 'SPU Profiler' to Debug 2025-03-10 08:16:19 +01:00
AniLeo a074b14631 Settings: Move 'PPU Vector NaN Fixup' to Debug 2025-03-10 08:16:19 +01:00
AniLeo ac7d53cc37 Settings: Specify FSR 1 2025-03-10 08:16:19 +01:00
AniLeo 6d46d45983 Settings: Default 'Shader Mode' to Async with Interpreter 2025-03-10 08:16:19 +01:00
AniLeo eea2f19d82 Settings: Move 'SPU Block Size' to the middle column 2025-03-10 08:16:19 +01:00
kd-11 2dfbab457a rsx: Reupload surface if the surface cache denies knowledge of it 2025-03-09 22:01:49 +03:00
Zion Nimchuk 5e5f82d1a2 Set CI msbuild verbosity to minimal to reduce spam 2025-03-09 11:02:57 +02:00
Elad 5e4637e15c SPU LLVM: Subtract Timebase from decrementer 2025-03-09 07:42:59 +02:00
FlexBy420 a3d2e93b14 move script to .ci/generate-qt-ts.sh 2025-03-08 23:47:04 +01:00
FlexBy420 100454398c Make suggested changes and remove unnecessary package 2025-03-08 23:47:04 +01:00
FlexBy420 cce43beeae Apply suggestions from code review
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2025-03-08 23:47:04 +01:00
FlexBy420 ebcb61b34b fix the branch name in qt-ts.yml 2025-03-08 23:47:04 +01:00
FlexBy420 47b880fa8d Move ts generator job to seperate workflow file 2025-03-08 23:47:04 +01:00
FlexBy420 cd76f05a86 Create qt-ts.yml 2025-03-08 23:47:04 +01:00
FlexBy420 9173fc9815 fix branch name in .ts job 2025-03-08 23:47:04 +01:00
FlexBy420 7df5cb84b5 add a job for generating translation template file (.ts) 2025-03-08 23:47:04 +01:00
kd-11 e6b3c2061e rsx: Fix boundary seek logic for FIFO addresses 2025-03-09 01:36:26 +03:00
schm1dtmac 563a3d3587 Target macOS 14 instead of 13 (fixes camera) 2025-03-09 01:02:49 +03:00
kd-11 3be1e0b6ff rsx: Clean up and simplify texture register manipulation tests 2025-03-08 22:10:55 +03:00
kd-11 93899bf5a9 rsx/FIFO: Reimplement grabbing command args as a contiguous pointer
- Allows grabbing indefinite size of buffer as long as the data is contiguously mapped.
2025-03-08 22:10:55 +03:00
kd-11 ec120d1cbb rsx: Add stubs for FP rehash checks on barrier acquire 2025-03-08 22:10:55 +03:00
kd-11 df7a2ab467 rsx: Unify fragment texture config changes dirty bit tracking
- Reverts unnecessary changes to dirty tracking.
- The GPU keeps a separate set of details, so all dirty bits are treated equal.
2025-03-08 22:10:55 +03:00
kd-11 a39a743abe rsx/prog: Fix compiler warning 2025-03-08 22:10:55 +03:00
kd-11 eca86ad449 rsx: Add program cache lookup ellision rate to overlay 2025-03-08 22:10:55 +03:00
kd-11 a1c8f3a528 rsx/prog: Use a proper cache hint key instead of disjointed counters 2025-03-08 22:10:55 +03:00
Elad 26495a8455 SPU: Fixup 2025-03-08 14:21:57 +02:00
Elad 32df7315be RSX: Do not invalidate FP analysis on same register writes 2025-03-08 14:21:57 +02:00
Elad 7995181235 RSX: Return FP shader as is if no changes were made 2025-03-08 14:21:57 +02:00
Elad 75dc2a12e2 RSX: Return VP shader as is if no changes were made 2025-03-08 14:21:57 +02:00
Elad ae39c5b8cb RSX: Optimize vertex program ucode invalidation 2025-03-08 14:21:57 +02:00
Megamouse eb43fbbb2a Update SDL to 3.2.8 2025-03-08 10:03:00 +01:00
Elad e4ed5c47a3 Fixup 2025-03-08 10:48:21 +02:00
Elad e4b9a21acc SPU Analyzer: Fix for value propagation 2025-03-08 10:36:26 +02:00
Whatcookie bfb9dfea7e
RSX: ProgramStateCache loops optimizations 2025-03-07 09:54:12 +02:00
Elad 8ed2089070 RSX: Fix UB in FIFO_control::get_current_arg_ptr() 2025-03-07 09:41:52 +02:00
JoãoPaulo 583ec5d819
Update FW 4.92 Latest Version (#16811)
Update FW 4.92 Latest Version
Updates the latest FW version according to: https://www.playstation.com/en-us/support/hardware/ps3/system-software/
List of changes:
This system software update improves system performance.
2025-03-05 15:00:07 +02:00
kd-11 59280a133c vk: Do not force strict query scopes by default 2025-03-05 14:40:35 +03:00
Megamouse ba12de867e static analysis: fix memory leak in decompress 2025-03-05 00:12:30 +01:00
Megamouse ca3d02fc61 static analysis: ensure is always false 2025-03-05 00:12:30 +01:00
Megamouse a49c4c7682 static analysis: duplicate assignment 2025-03-05 00:12:30 +01:00
Megamouse 4f52c67566 static analysis: suspicious code 2025-03-05 00:12:30 +01:00
Megamouse 7a6a96254c static analysis: remove unused overrides 2025-03-05 00:12:30 +01:00
Megamouse 6abb863a54 static analysis: std::move 2025-03-05 00:12:30 +01:00
Megamouse e8463403f5 static analysis: uninitialized variables 2025-03-05 00:12:30 +01:00
Megamouse 815a4e7dc1 static analysis: less references 2025-03-05 00:12:30 +01:00
Megamouse df2f68da44 static analysis: more const ref 2025-03-05 00:12:30 +01:00
Megamouse a8fc3f5f74 static analysis: more const 2025-03-05 00:12:30 +01:00
Megamouse d3c5cc7b13 ci: Use more variables for LLVM and QT 2025-03-04 23:44:45 +01:00
Megamouse 760e43ad2c VS: move LLVM AdditionalDependencies to rpcs3_default.props 2025-03-04 23:44:45 +01:00
Megamouse 229734e45f VS: add some missing filters 2025-03-04 23:44:45 +01:00
RipleyTom 66952fe301 Add memory breakpoints
RPCS3 needs to be compiled with -DHAS_MEMORY_BREAKPOINTS=ON for it to be available
2025-03-04 15:41:36 +01:00
Megamouse cb659474d9 overlays: fix friends/trophy list input on paused emulation 2025-03-03 18:21:35 +01:00
Megamouse d429776418 Qt/patches: Only consider bootable games 2025-03-03 17:49:31 +01:00
Megamouse d034f6a77f Qt/patches: move game list loop to patch manager
This deduplicates some code
2025-03-03 17:49:31 +01:00
Malcolm Jestadt 1920aee415 RSX: Fix issue where linux builds could hit illegal instruction on machines without AVX-512
- Place avx-512 function attributes in their own functions
2025-03-03 15:58:55 +03:00
Elad 783079266e Emulator: Implement config CLI args, add barrier for host CLI args 2025-03-03 06:54:00 +02:00
Megamouse bd41774960 overlays/osk: implement horizontal scroll 2025-03-02 23:44:08 +01:00
Megamouse 4aa25285a3 overlays: use thread local static vector in get_glyph_data 2025-03-02 23:44:08 +01:00
Megamouse 7fd1f5b5d3 Fix some warning 2025-03-02 23:44:08 +01:00
Megamouse 72ee5ed10d overlays: add ability to hide hidden trophies 2025-03-02 23:02:22 +01:00
Megamouse 048a44cbe5 overlays: add getter for selected entry 2025-03-02 23:02:22 +01:00
Megamouse 6f5f7ece06 overlays: fix and optimize layout exit loops 2025-03-02 23:02:22 +01:00
Zion Nimchuk b3d28e2309 Switch Windows and Linux x64 builds and deployments to GitHub Actions 2025-03-02 22:35:04 +01:00
trigger 1dc3ebf891
SPU Analyzer: A fixup for crash, TODO: proper fix 2025-03-02 10:24:42 +02:00
Malcolm Jestadt 6bd1ab576c RSX: Use AVX-512-ICL code in get_vertecx_program_ucode_hash and in vertex_program_compare
- Code is about 4 times as fast on my zen4 machine
- Should be twice as fast on zen5 machines with full width AVX-512
2025-03-02 09:07:07 +02:00
trigger 8e6272bfee Qt: Fix boot failed dialog 2025-03-01 20:00:21 +01:00
kd-11 0aca5e222f vk: Fix MacOS build 2025-03-01 18:02:32 +03:00
kd-11 b8411a90cd vk/swapchain: Fix WSI swapchain configuration overrides 2025-03-01 18:02:32 +03:00
kd-11 4e9365f76b vk/swapchain: Consolidate native swapchain implementation for platforms where it is not implemented
- NATIVE swapchain only matters in headless scenarios or where we otherwise cannot access WSI properly.
- It is now optional, with a stub provided when WSI is not available.
2025-03-01 18:02:32 +03:00
kd-11 602fe15641 vk/swapchain: Move platform-specific code to appropriate headers 2025-03-01 18:02:32 +03:00
kd-11 8b2e792d31 vk: Refactor swapchain into separate platform headers 2025-03-01 18:02:32 +03:00
kd-11 aca1cdf0b6 vk: Refactor instance management header 2025-03-01 18:02:32 +03:00
trigger af23df842d
PPU: Report encrypted modules with KLIC in main file, opportunistic compilation at exit-spawn (#16743) 2025-03-01 11:45:03 +02:00
Ani b266e3d4bf rpcs3_version: Bump to 0.0.35 2025-03-01 00:11:02 +00:00
Zion Nimchuk 4e08242074 Remove ProgramDatabase from libpng and zlib 2025-02-28 18:37:50 +01:00
Zion Nimchuk 0690315d9e Use ccache on Windows CI build 2025-02-28 18:37:50 +01:00
Elad 207ee59acd PPU Analyzer: Firmware/import caller analysis and KLIC finding pass 2025-02-27 12:32:21 +02:00
Zion Nimchuk e97bfecb7f Deploy aarch64 builds via via GitHub Actions instead of Cirrus 2025-02-26 21:59:20 +01:00
Megamouse fe1fd86216 move texture_cache_types implementation to cpp 2025-02-26 19:42:31 +01:00
Megamouse 4f3f155bbf Update zstd to 1.5.7 2025-02-26 14:08:56 +01:00
Megamouse f284849fce Update curl to 8.12.1 2025-02-26 14:08:56 +01:00
Megamouse 527da94dfa Update libpng to 1.6.47 2025-02-26 14:08:56 +01:00
Megamouse 7970c2a6af Update SDL to 2.32.0 2025-02-26 14:08:56 +01:00
Megamouse c61199dd27 Fix signed vs unsigned comparison warning 2025-02-26 14:08:56 +01:00
oltolm 29ad4ecc78 concepts: fix review notes 2025-02-26 11:04:02 +02:00
oltolm ebde5310b9 use concepts instead of std::enable_if 2025-02-26 11:04:02 +02:00
Megamouse 5e6aef5dfd cellMic: fix division by zero 2025-02-26 07:53:33 +01:00
Megamouse cb539579b5 Qt: log microphone list 2025-02-26 07:53:33 +01:00
Megamouse d0d136ede5 github actions: rename jobs 2025-02-25 20:33:03 +01:00
Megamouse 4df1f9fb18 Move permissions to own file 2025-02-25 19:45:43 +01:00
Megamouse 3c576da42f Move debugger functions to emu_utils.cpp 2025-02-25 19:45:43 +01:00
Megamouse 709e3d2822 Move sys_time fmt to date_time.cpp 2025-02-25 19:45:43 +01:00
Megamouse 9082908606 Move is_input_allowed to GSFrameBase 2025-02-25 19:45:43 +01:00
Megamouse 8d801dadc4 Move display sleep functions to emu callbacks 2025-02-25 19:45:43 +01:00
Megamouse 87db82cacd Move check_microphone_permissions to emu callbacks 2025-02-25 19:45:43 +01:00
Megamouse d33d3a9f57 Move cheat_type fmt to cheat_info.cpp 2025-02-25 19:45:43 +01:00
Zion Nimchuk 4794558c08 Fix Azure and Github Actions CI caching 2025-02-24 10:51:09 +01:00
Darkhost1999 a44bd97cda Update QT to 6.8.2
https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.8.2/release-note.md
2025-02-24 09:23:07 +01:00
Zion Nimchuk 807c5e2240 Add opencv to linux CI and specify which modules we want to use 2025-02-24 08:33:24 +02:00
oltolm b08273b127
Use Microsoft::WRL::ComPtr (#16744) 2025-02-23 15:39:39 +02:00
Elad 796a237128 PKG: Refactor and proper support for IDU 2025-02-22 15:01:47 +02:00
Malcolm Jestadt bd49c6bedb SPU LLVM: Small FCGT optimization 2025-02-22 07:35:14 +02:00
Elad 86a832da29 unpkg: Add support for IDU packages 2025-02-21 17:25:23 +02:00
Ivan Podogov e72cb6801a Add DXT1-5 decompression on ARM 2025-02-20 14:57:57 +03:00
trigger 1e01511ca0
cellMic: Implement SIGSTATE_MICENG 2025-02-20 11:57:41 +02:00
¥IGA 26e0f56bf9 CI: Use windows-2025 Runner 2025-02-20 09:50:36 +02:00
RipleyTom 157e73b67e Add missing NotFound error handling in LeaveRoom reply 2025-02-20 07:58:03 +02:00
RipleyTom 6074480ffb Reset presence when terminating NP 2025-02-19 11:14:55 +02:00
illusion0001 ec3d9a2cae Fix ARM matrix and review comments
Co-authored-by: Megamouse <studienricky89@googlemail.com>
Co-authored-by: Zion <zionnimchuk@gmail.com>
2025-02-17 21:11:39 +00:00
Aleksey Komarov c7c45bf2b8 Add arm64 build, update Qt version and docker image for github actions 2025-02-17 21:11:39 +00:00
illusion0001 49f6c5cdca GitHub Actions CI Port 2025-02-17 21:11:39 +00:00
Elad 52edef0867 Remove xxHash submodule 2025-02-17 18:00:01 +02:00
RipleyTom 0e5014788b Fix SignalingHelper notification 2025-02-17 07:42:33 +02:00
Malcolm Jestadt 7b9aaacc4b RSX: ProgramStateCache logic cleanup and microoptimizations
- Eliminate some redundant checks in fragment and vertex comparison functions
- Add is_any_src_constant optimization, eliminates 1 instruction per loop
2025-02-16 12:28:10 +02:00
Malcolm Jestadt d891b83e4b RSX: Use checksum with rotated inputs for shader hashing instead of FNV
- Raises FPS from ~180 to ~200 in Ninja Gaiden
2025-02-16 12:28:10 +02:00
oltolm 7e10aa57c4 CMakeLists.txt: add option to disable LTO 2025-02-15 20:33:25 +00:00
oltolm e3f57074aa cmake: fix build after 3rdparty updates 2025-02-15 20:33:25 +00:00
RipleyTom a29ecaf1d3 Fix sendto for p2ps packets 2025-02-14 22:28:11 +00:00
Megamouse cefcaaf287 Qt: enable updater for linux arm 2025-02-13 18:49:14 +01:00
Jan Beich 800c0f7a56 CI: drop fragile bundled libc++ on FreeBSD
- RPCS3 still uses C++20 which no longer needs recent Clang/libc++
- FreeBSD releases more frequently, bringing newer Clang/libc++
- bundled libc++ wastes too much limited CI time
2025-02-13 13:37:36 +00:00
Jan Beich 2593077361 CI: only use headers from bundled libc++ on FreeBSD
Linking different versions of libc++ can cause ABI issues but new C++
features are usually limited to headers.

ld: error: undefined symbol: operator new(unsigned long, std::align_val_t)
>>> referenced by string.cpp
>>>               string.cpp.o:(void* std::__1::__libcpp_operator_new[abi:ne190107]<unsigned long, std::align_val_t>(unsigned long, std::align_val_t)) in archive /tmp/cirrus-ci-build/libcxx_prefix/lib/libc++.a
>>> referenced by memory_string_searcher.cpp
>>>               memory_string_searcher.cpp.o:(memory_viewer_panel::OnSearch(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, unsigned int)) in archive rpcs3/rpcs3qt/librpcs3_ui.a
>>> referenced by game_list_frame.cpp
>>>               game_list_frame.cpp.o:(stx::auto_typemap<game_list_frame, 0u, 16u>::auto_typemap()) in archive rpcs3/rpcs3qt/librpcs3_ui.a
>>> referenced 23 more times
2025-02-13 13:37:36 +00:00
Jan Beich e4595f63c4 CI: unbreak bundled libc++ on FreeBSD after 363a225554
CMake Error at src/CMakeLists.txt:262 (add_custom_command):
  Error evaluating generator expression:

    $<TARGET_PROPERTY:libcxx-abi-shared,IMPORTED_LIBNAME>

  Target "libcxx-abi-shared" not found.

CMake Error at libcxx_build/include/cmake_install.cmake:4117 (file):
  file INSTALL cannot find "/tmp/cirrus-ci-build/libcxx_build/include/c++/v1/libcxx.imp": No
  such file or directory.
2025-02-13 13:37:36 +00:00
Jan Beich b7b5774df1 CI: unbreak bundled libc++ on FreeBSD after 67703b49d8
CMake Error at modules/CMakeLists.txt:221 (file):
  file RELATIVE_PATH must be passed a full path to the directory:
  libcxx_prefix/lib
2025-02-13 13:37:36 +00:00
Jan Beich f60fb5a70e CI: upgrade FreeBSD to 13.4
FreeBSD doesn't support /latest and /quarterly package repos on EOL
versions. 13.3 reached EOL on 2024-12-31, so avoid CI breakage.

Failed to start an instance: INVALID_ARGUMENT: Not Found 404 Not Found
The resource 'projects/freebsd-org-cloud-dev/global/images/family/freebsd-13-3' was not found
2025-02-13 13:37:36 +00:00
Jan Beich 19077ee1ed cpu_stats: restore a header for BSDs after cd87a64621
rpcs3/util/cpu_stats.cpp:390:4: error: use of undeclared identifier 'getpid'
  390 |                         getpid(),
      |                         ^
2025-02-13 13:37:36 +00:00
Vestrel 26df3a8452
Add Cubeb log callback (#16510)
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2025-02-13 13:47:12 +02:00
Takuya Wakazono b63140b423 Fix build without vulkan
Since commit 4594c91 made SPIRV required dependency, it needs to be
linked in CMakeLists.txt regardless of USE_VULKAN.
2025-02-13 11:48:36 +01:00
RipleyTom eeff7b0f0a Fix Aarch Linux CI 2025-02-13 11:14:35 +02:00
RipleyTom f15ed36da1 Fix Change Password dialog not saving the new password on success 2025-02-13 07:04:08 +01:00
RipleyTom 1efca833a4 Fix missing NoError error checking in a few sceNpGUI functions 2025-02-13 07:04:08 +01:00
RipleyTom 159370446f RPCN v1.4 2025-02-12 15:00:50 +01:00
Malcolm Jestadt a9b0f76698 cmake: Enable LTO for rpcs3_emu target
- Provides a small speedup and saves some space in the binary.
2025-02-12 09:46:53 +02:00
kd-11 7fcd747819 rsx: Fix internal res tracking 2025-02-12 01:58:52 +03:00
RipleyTom cd87a64621 Headers cleanup 2025-02-11 20:38:35 +01:00
Elad 63147fdede Remove ppu_acontext 2025-02-11 16:12:33 +02:00
Malcolm Jestadt dfd83bc7a4 SPU LLVM: Add two dependency chains for SPU verification
- Should restore performance to match the xorsum builds
2025-02-11 12:30:21 +02:00
kd-11 3392f0a271 gl: Fix stencil resolve for NVIDIA cards
- Only NV cards fail to expose ARB_shader_stencil_export which forces a very clunky workaround
- Fix stencil parameter initialization
2025-02-11 02:28:31 +03:00
kd-11 10d5907f46 rsx: Implement framebuffer statistics to track the internal render resolution at runtime. 2025-02-11 02:28:31 +03:00
kd-11 0f3d2c7085 gl: Implement MSAA transparency (sample-to-coverage) 2025-02-11 02:28:31 +03:00
kd-11 485927ed0d gl: Fix crash when launching multiple games with MSAA enabled 2025-02-11 02:28:31 +03:00
kd-11 0d4f3cf0a5 Allow MSAA selection in the UI 2025-02-11 02:28:31 +03:00
kd-11 4f08bfd0a2 Fix compilation on clang 2025-02-11 02:28:31 +03:00
kd-11 54e7cb8d9e vk: Silence spec validation error on NV cards 2025-02-11 02:28:31 +03:00
kd-11 fab39a6495 gl: Add support for "hw MSAA resolve" option 2025-02-11 02:28:31 +03:00
kd-11 008bfa2cd2 gl: Add extra checks around invalid render/compute passes
- These would have saved a lot of time debugging problems
2025-02-11 02:28:31 +03:00
kd-11 5907a6a67d gl: Fix crash in texture cache due to incorrect surface handling 2025-02-11 02:28:31 +03:00
kd-11 85880e6037 gl: Implement remaining resolvers
- Add support for NVIDIA cards
- Implement all depth-stencil resolver passes
2025-02-11 02:28:31 +03:00
kd-11 042be7d7d1 gl: Implement basic MSAA rendertarget support
- Enough to get some popular titles working.
- Some depth resolvers still need work
2025-02-11 02:28:31 +03:00
kd-11 26d85e53a4 vk: Fix extension initialization during device creation
- Fix crash when using device_fault extension
- Fix spec violation when using conditional rendering
2025-02-11 02:28:31 +03:00
kd-11 f3e913b56a vk: Redesign resource binding for overlay passes 2025-02-11 02:28:31 +03:00
kd-11 99ace42447 gl: Enforce full image creation argument declaration
- Closes a class of bugs caused by implicit conversion of similar argument types
2025-02-11 02:28:31 +03:00
kd-11 6c6d03ac5e gl: Upgrade the surface cache to become MSAA-aware 2025-02-11 02:28:31 +03:00
kd-11 8249b5dbfa gl: Implement MSAA resolve/unresolve for color images 2025-02-11 02:28:31 +03:00
kd-11 2a4bd6a7fc gl: Implement multisampled image creation 2025-02-11 02:28:31 +03:00
kd-11 82981384d5 vk: Move MSAA resolve/unresolve shaders to common GPU program layer 2025-02-11 02:28:31 +03:00
kd-11 a7a49d9eaa gl: Plumb stubbed MSAA support into the render target handlers 2025-02-11 02:28:31 +03:00
kd-11 808f67a3b2 gl: Stub dynamic sample count when creating textures 2025-02-11 02:28:31 +03:00
Elad 9a7b8e41eb PPU Analyzer: Minor Fixup 2025-02-09 14:28:08 +02:00
Elad c7e853bf99 PPU Analyzer: GPR-assisted jump table analysis 2025-02-07 20:27:17 +02:00
Elad ac97b36b1c PPU Analyzer: Opt-out suspected floats from instruction stream 2025-02-07 20:27:17 +02:00
Elad 181c92a868 PPU Analyzer: Clean addr_heap fron non-valid code
Should speed up analysis in some cases.
2025-02-07 20:27:17 +02:00
Elad 86b7078464 PPU LLVM: Fix compilation of PRX with no relocations 2025-02-07 20:27:17 +02:00
Megamouse a1a0333e56 cellVdec: implement cellVdecOpenExt 2025-02-06 19:31:23 +01:00
Megamouse 85715e893b win: Add more llvm prebuilt paths 2025-02-06 18:07:53 +01:00
Megamouse 2897297252 Update docker for llvm 19 2025-02-06 18:07:53 +01:00
Megamouse 17b75cd010 mac/llvm: fix libunwind path 2025-02-06 18:07:53 +01:00
Megamouse 363a225554 Update LLVM to 19.1.7 2025-02-06 18:07:53 +01:00
Megamouse 449c23ba4e cellL10n: implement SBCS conversions 2025-02-06 09:38:17 +01:00
Megamouse 78ee489906 Update curl to 8.12.0 2025-02-06 00:32:19 +01:00
Megamouse cec1004da8 cellL10n: fix compilation on linux 2025-02-05 07:51:47 +01:00
Megamouse 666bbeba6e cellL10n: Use string_view 2025-02-05 07:51:47 +01:00
Megamouse 770b2ab26d cellL10n: implement ucs2/utf8/16/23 conversions 2025-02-05 07:51:47 +01:00
Elad 2420aa7a21 Fixup PPU block unfolding 2025-02-04 20:33:24 +02:00
Megamouse a5d07af89a cellMusic: always select the whole playlist instead of a single track 2025-02-04 18:13:07 +01:00
Megamouse 9bccdf4f71 cellMusic: fix volume. Qt needs a value between 0 and 1 2025-02-04 18:13:07 +01:00
Megamouse b5dbafb3e2 cellMusic: make selection context valid when setting a playlist 2025-02-04 18:13:07 +01:00
Megamouse 22a1f41ecb Input/DS4: use hid_write instead of hid_write_control
Apparently this was only needed for Windows 7
2025-02-04 12:06:31 +01:00
Megamouse 739c4bcfc8 Qt: ignore all game window hotkeys on "disable kb hotkeys" 2025-02-04 09:39:34 +01:00
Megamouse 85f288651b cellGem: reduce cellCamera log spam by setting some camera features 2025-02-04 03:09:27 +01:00
Megamouse 50387cc516 update_manager: use v3 api for all OS 2025-02-03 22:53:53 +00:00
kd-11 6123838a48 ppu/arm64: Fix ppu_recompiler_fallback implementation for ARM processors 2025-02-02 22:44:42 +03:00
Megamouse 7ffbada725 Update SDL to 2.30.12 2025-02-02 17:06:39 +01:00
Megamouse 88776ceaa6 Update Fusion to 1.2.8 2025-02-02 17:06:39 +01:00
Megamouse 35fbdd0bae Update FAudio to 25.02 2025-02-02 17:06:39 +01:00
Megamouse 0770c28207 Update libpng to 1.6.46 2025-02-02 17:06:39 +01:00
Megamouse 92979d23cf Set openal system version to 10.0 2025-02-02 17:06:39 +01:00
Megamouse 3187dc816e Fix some warnings 2025-02-02 17:06:39 +01:00
kd-11 cfd571cfc2 Re-enable TSC on ryzen CPUs 2025-02-02 17:45:50 +03:00
kd-11 89eb473dce rsx: Fix graphics corruption when switching between shader interpreter and recompiler at runtime 2025-02-02 12:08:05 +03:00
Malcolm Jestadt 911f0928cf SPU LLVM: Replace xorsum with simple checksum
- Fixes crashes in GTAV
2025-02-01 21:40:30 +02:00
Elad 394fc8eb79 Enable Time-based TSC for non-Ryzen CPUs 2025-01-31 14:35:08 +02:00
Elad 57b6ced957 PPU Analyzer: Fix per-instruction code submission 2025-01-31 13:01:53 +02:00
Malcolm Jestadt 506d92107c SPU LLVM: Use 512bit xorsum for SPU verification
- Provides a 2-3% uplift in SPU limited titles
- Removes the full_width_avx512 option
- Adds a precise spu verification option, for debugging (config file only)
2025-01-31 12:03:05 +02:00
Elad 665bb83297
Fix Savestates recent regression 2025-01-28 18:49:19 +02:00
Elad 7fc0f69e48 PPU LLVM: Fix HLE patches 2025-01-28 12:51:52 +02:00
Megamouse 67703b49d8 Update LLVM to 18.1.8 2025-01-25 18:15:13 +01:00
Megamouse ad6eba1670 Fix some warnings 2025-01-25 17:06:35 +01:00
Megamouse 0ef2e96121 Fix segfault on missing firmware
Wait until kill to close the gs_frame on error
2025-01-25 17:06:35 +01:00
Megamouse 664e09f1ff Qt: Fix Recent savestate path 2025-01-25 15:39:05 +01:00
Megamouse 27baab992a Qt: Add path to recent game/savestate tooltip 2025-01-25 15:39:05 +01:00
Megamouse 099e3c67b2 Qt: fix recent savestate shortcuts 2025-01-25 15:39:05 +01:00
Megamouse 959d8fc25c Qt: Fix recent savestates menu settings 2025-01-25 15:39:05 +01:00
Elad 5ef442c2b8 Disable ARM trampolines 2025-01-25 12:47:44 +02:00
Elad ba79e092a0 Protect RPCS3 from built-in PS2 emulator 2025-01-25 12:47:44 +02:00
Elad 9677a3a9ea Fix Emulator::IsPaused() to allow measurements during module compilation
Also fix a potential deadlock in access violation handler for non-cpu_thread
2025-01-25 12:47:44 +02:00
Elad 4c0832e6e6 PPU LLVM: Reduce size of JIT-transition treampolines to 16 2025-01-25 12:47:44 +02:00
Elad 6fc643f483 JITASM.cpp: add assert for code building 2025-01-25 12:47:44 +02:00
Elad 3f4210437d JIT.h: Add option for lowered function size 2025-01-25 12:47:44 +02:00
Elad 67f2356ef7 JIT.h: Use kOptimizeForSize 2025-01-25 12:47:44 +02:00
Elad 81d0dd686b LLVM: Add explicit resource-freeing at emulation stop 2025-01-25 12:47:44 +02:00
Elad a24e747e16 PPU LLVM: Disable an experimental limit 2025-01-25 12:47:44 +02:00
Elad 05f52246a2 PPU LLVM: Simplify module progress
Do not mix module compilation with linking.
2025-01-25 12:47:44 +02:00
Elad b46408d554 PPU Analyzer: Report invalid functions 2025-01-25 12:47:44 +02:00
Elad 58701000cd PPU Analyzer: Clean addr_heap from non-relocations (PRX) 2025-01-25 12:47:44 +02:00
Elad 5a5e475c6e PPU Analyzer: Move ppu_function::callers to lower sizeof(ppu_function) 2025-01-25 12:47:44 +02:00
Elad ff89a08ee4 PPU Analyzer: Remove ppu_function::calls to lower sizeof(ppu_function)
Use blocks to get calls.
2025-01-25 12:47:44 +02:00
Elad f5487e9137 PPU Analyzer: Use std::map::extract to reduce peak memory consumption 2025-01-25 12:47:44 +02:00
Elad 857eac3d10 PPU Analyzer: Remove ppu_function::name to lower sizeof(ppu_function) 2025-01-25 12:47:44 +02:00
Elad f0fa8e3bc3 Remove ppu_attr::known_addr 2025-01-25 12:47:44 +02:00
Elad 9d5b75bb7a LLVM: Slice PPU executable memory 2025-01-25 12:47:44 +02:00
Elad 7b8fee7cdb Thread.cpp: Report VM addresses on VM segfault 2025-01-25 12:47:44 +02:00
Elad 64c53fcc61 LLVM: Install error reporting handler 2025-01-25 12:47:44 +02:00
Megamouse 10d038e43f Qt: Fix device notification registration segfault
The main window does not exist if we boot with no-gui
2025-01-25 00:57:22 +01:00
Sanjay Govind f1f85335a7
sys_usbd: Fix emulated devices not being created without a physical device (#16608) 2025-01-24 08:44:10 +01:00
Megamouse bd1ebb7a10 Qt: add savestate manager dialog 2025-01-24 05:32:19 +01:00
Sanjay Govind e2bbaa2430
libusb: support hotplug (#16580) 2025-01-23 23:49:24 +01:00
Megamouse ba702509c8 Qt: Add Recent savestates menu 2025-01-23 22:55:07 +01:00
Megamouse 448666c896 Log LLVM version 2025-01-23 18:01:16 +01:00
Megamouse 8f660fc6b1 cellGem: update gun handler connection periodically 2025-01-23 12:35:02 +01:00
Sanjay Govind fd66b6b103 cellPad: Send disconnection notification when swapping device class 2025-01-23 09:19:37 +01:00
Megamouse e83eeb3cca cellGem: Move the cursor out of the screen (Time Crisis 4 needs this) 2025-01-23 08:18:07 +01:00
Megamouse f537a62ca6 cellGem: Set 255 as value for analog_t 2025-01-23 08:18:07 +01:00
Megamouse b30ea34d05 cellGem: mark device as not visible at the screen borders 2025-01-23 08:18:07 +01:00
Megamouse 6fddb31a07 Qt/input: reset gui pad thread when saving pad settings 2025-01-22 20:47:07 +01:00
Megamouse 79d79aa80c cellCamera: move attach event to thread
Time crisis doesn't seem to like the immediate push to the queue.
2025-01-22 02:18:07 +01:00
Megamouse fbc7ad6788 cellGem: move some locks around wait loops 2025-01-22 02:18:07 +01:00
Megamouse fcac6a9322 sys_event: remove unnecessary copy 2025-01-22 02:18:07 +01:00
Megamouse dc700ad620 cellCamera: close Qt camera on error (e.g. when usb is pulled) 2025-01-22 02:18:07 +01:00
Megamouse 74540844d2 cellGem: ignore missing pad handler
This is a hacky way to fix cellGem savestates
2025-01-22 02:18:07 +01:00
Megamouse 23483a80c7 cellGem: Fix camera image when loading savestates 2025-01-22 02:18:07 +01:00
Megamouse ade2698bb4 cellCamera: start camera when loading savestates 2025-01-22 02:18:07 +01:00
Megamouse 85de7432a2 cellGem: improve convert_image_format logging 2025-01-22 02:18:07 +01:00
Megamouse 6805c36004 Decrease log level of config file move error 2025-01-22 02:18:07 +01:00
Megamouse 1cff5b35d4 input: add vibration multiplier 2025-01-21 08:44:38 +01:00
MSuih 9c5584956e Update minimum pugixml version to 1.15 2025-01-20 17:18:09 +01:00
kd-11 2af497efbb rsx: Fix texcoord transformation bug caused by incorrect BFE usage 2025-01-19 19:31:59 +03:00
kd-11 58a09e6838 vk: Use common pipeline layout in interpreter
- Avoids the layouts going out of sync every time something changes
2025-01-19 19:31:59 +03:00
kd-11 b5b93e962b vk: Factor out common pipeline layout generator into reusable parts 2025-01-19 19:31:59 +03:00
Emma 10e0fb2b54
sys_prx: implement get_module_id_by_name, module_info_v2 (#16573) 2025-01-18 15:16:38 +02:00
Megamouse 0a6f9ed967 windows: Ignore OneDrive in PATH. It leads to false positives 2025-01-17 00:32:54 +01:00
Megamouse a7edfa221e windows: move logs to log dir 2025-01-16 21:33:33 +01:00
Megamouse 451e953d26 windows: move config.yml and games.yml to /config/ 2025-01-16 21:33:33 +01:00
Megamouse 5c2c4a6649 input: issue basic mouse move event on window leave
This may help with moving the mouse to the screen borders in windowed mode
2025-01-16 18:27:16 +01:00
kd-11 09580594e6 rsx: Fix shader cache loading 2025-01-16 02:43:33 +03:00
kd-11 efc9ae98ed vk: Fix out-of-bounds write when emitting MSAA unresolve clear command for NVIDIA fallback 2025-01-15 11:27:04 +03:00
kd-11 7da0822419 rsx/shaders: Fix MSAA coords wrapping when input is negative 2025-01-15 11:27:04 +03:00
kd-11 e1c6df0df3 rsx: Fix dynamic constants patching when draw call is skipped
- Also adds an optimization to skip reuploads when patch occurs outside our critical range.
2025-01-15 11:27:04 +03:00
kd-11 7965a0313c rsx: Improved shader interpreter support when hw instancing is active 2025-01-15 11:27:04 +03:00
Megamouse 0cc61d0ef0 windows: check for OneDrive paths 2025-01-14 23:32:02 +01:00
Megamouse 1966171838 Use string_view in rXml 2025-01-14 21:35:57 +01:00
Megamouse 2643fbdea4 Update pugixml to 1.15 2025-01-14 21:35:57 +01:00
Megamouse 82bbb0cc05 Update libpng to 1.6.45 2025-01-14 21:35:57 +01:00
Megamouse d91927ee97 Qt/input: allow keypresses in raw mouse handler 2025-01-14 15:52:46 +01:00
capriots ae670c35f7 cellAtracXdec: use lv2 mutexes + conds 2025-01-14 11:32:32 +02:00
Megamouse d1ccadbac2 cellGem: ignore intercepted input 2025-01-14 08:53:36 +01:00
Megamouse 78a661db79 input: simplify raw mouse button press handling 2025-01-14 00:00:50 +01:00
Megamouse b65f977c54 Qt/input: fix raw mouse button assignment 2025-01-14 00:00:50 +01:00
Megamouse 1b87e186c4 cellGem: fix initial tracker done state 2025-01-10 21:53:37 +01:00
Megamouse 3eb1e6303c cellGem: Use wait_on, fix fake/mouse move tracker wait 2025-01-10 21:53:37 +01:00
Megamouse 3b8efecc52 cellGem: Use atomic wait instead of wait_for 2025-01-10 21:53:37 +01:00
Megamouse 6716d555ff cellGem: Update controllers at 10 Hz in separate thread
Some games don't use cellGemGetInfo.
Which means we had to reboot the game if the controller wasn't
connected on boot.
Updating controllers outside of the cell functions fixes this problem.
2025-01-10 21:53:37 +01:00
kd-11 27c56cde22 rsx/shaders: Track active MRT count per shader
- Also use more robust hashing to avoid collisions
2025-01-10 04:34:28 +03:00
kd-11 a635e24fc2 rsx: Default initialize vertex program fields
- Fixes a crash when RSXVertexProgram is default-initialized. This
  probably also fixes a whole class of crashes that occur when
  shader interpreter is in use since that pipeline uses a
  default-initialized stub.
2025-01-10 04:34:28 +03:00
kd-11 dce0abc8b9 rsx/fp: Re-design register write tracking
- Always collapse register writes when exporting FS outputs
2025-01-10 04:34:28 +03:00
kd-11 88e13d8326 rsx: Don't crash when invalid buffer is allocated for a shader 2025-01-10 04:34:28 +03:00
Megamouse 061be74cdb Qt: add mouse config legend to mouse move dialog 2025-01-10 00:50:02 +01:00
Megamouse d6f2f66f2b Qt/Input: use empty string for pad_button_max_enum
Also shorten translated mouse button strings
2025-01-10 00:50:02 +01:00
Megamouse b8d0396f71 Fix self assignment warning 2025-01-10 00:50:02 +01:00
Megamouse a0df1e09a6 ps move: allow to configure mouse move handler buttons 2025-01-10 00:50:02 +01:00
Megamouse 7e03828f35 input: Allow mapping keys to basic mouse buttons 2025-01-09 21:59:01 +01:00
Megamouse 9407974c10 cellGem: Add more camera image conversions 2025-01-09 09:38:36 +01:00
Megamouse 3381a884d0 Fix some warnings 2025-01-08 20:02:33 +01:00
Megamouse 415c2d0795 fake move: add gyro support 2025-01-08 20:02:33 +01:00
Megamouse 92d0707291 Decrease mouse move assignment distance 2025-01-07 21:11:46 +01:00
Elad c6f3737c2a PPU LLVM: Fixup patches enlisting in analyzer 2025-01-07 20:42:45 +02:00
Antonino Di Guardo ec77f2ab92
Minor cleanup (#16519)
* Minor cleanup
2025-01-07 19:46:13 +03:00
Elad 0b784ff2c1 PPU LLVM: Function table dependent resolver hashing 2025-01-07 15:43:41 +02:00
Megamouse c443326fb1 Do not re-use the old game window if the renderer changed 2025-01-06 15:49:09 +01:00
Megamouse 2ac171a30f move error_report to ErrorCodes.cpp 2025-01-06 15:49:09 +01:00
Megamouse 7369169331 Disable continuous mode if a savestate is not possible 2025-01-06 15:49:09 +01:00
Megamouse d5470d92ec Keep game window open when loading the last savestate 2025-01-06 15:49:09 +01:00
Megamouse cc7e7300ce Clean up old game window in case of unexpected errors 2025-01-06 15:49:09 +01:00
Megamouse 3ce4c95e61 Show message while creating savestate in continuous mode 2025-01-06 15:49:09 +01:00
Megamouse 1ab3a0bd73 RSX/Qt: Reuse gs_frame if possible 2025-01-06 15:49:09 +01:00
Megamouse 99f1f4c22a cheats: add float32 gui support 2025-01-06 10:48:00 +01:00
oltolm 41a4dd4c1c cmake: fix wolfssl 2025-01-05 23:03:00 +01:00
oltolm 1080969b51 cmake: remove "--no-quick" from windeployqt 2025-01-05 23:03:00 +01:00
Elad 6165c2d8b3 Thread.h: Fix a bug by adding thread_state::destroying_context 2025-01-05 10:01:35 +02:00
Elad 036693a14d Fix sys_config_unregister_service 2025-01-05 10:01:35 +02:00
Aleksey Komarov c9d39ce7ae vk: Support panvk, allow creating device without textureCompressionBC
panvk supports BC1-BC3 which is all RPCS3 require, support is reported as
false since not all formats are supported
2025-01-04 20:22:05 +02:00
Aleksey Komarov da84326bd0 vk: Add driver vendor PANVK (Mali GPU on Mesa) 2025-01-04 20:22:05 +02:00
Megamouse f255392a75 patches: create patch path on update 2025-01-04 15:45:22 +01:00
Megamouse af3154a0d4 Qt: delete settings_dialog 2025-01-04 15:45:22 +01:00
Megamouse d2b96636db Qt: delete batch progress dialog after user closed it (as originally intended) 2025-01-04 11:31:25 +01:00
Megamouse 635eac7704 Qt: fix batch compilation after a game was already running
Batch compilation wasn't working if g_system_progress_canceled wasn't reset
2025-01-04 11:31:25 +01:00
Megamouse 51417cc8c3 Qt: stop batch compilation immediately on cancel 2025-01-04 11:31:25 +01:00
Elad 2614450e4b Fix IDM image serialization 2025-01-04 09:29:09 +02:00
Megamouse 8ea27b0aca Qt: workaround for crash in long accepted slot 2025-01-03 20:21:56 +01:00
Megamouse 4f76aec6b3 VS: Fix compilation with new wolfssl version 2025-01-03 20:21:56 +01:00
Megamouse dfdb33befb Update xxHash to 0.8.3 2025-01-03 20:21:56 +01:00
Megamouse e76bd11f53 Update Wolfssl to 5.7.6 2025-01-03 20:21:56 +01:00
Megamouse 4b4399f63f Update FAudio to 25.01 2025-01-03 20:21:56 +01:00
Megamouse 796189ce68 Update SDL to 2.30.11 2025-01-03 20:21:56 +01:00
Elad a8f80ebfe9 sys_time.cpp: Anti TSC measures 2025-01-03 16:26:21 +02:00
Andrew Griffiths cb3662cc4d MacOS: fix for crash in SDL_Quit w/ gamepad input 2025-01-02 18:58:24 +01:00
Megamouse fb237dd568 Audio: Add mute/unmute and volume shortcuts
Also add auto repeat to volume shortcuts
2025-01-02 09:34:47 +01:00
Aleksey Komarov 799cb79612 qt6: QT_MIN_VER should be 6.7 because of QCheckBox::checkStateChanged
Check: https://doc.qt.io/qt-6/qcheckbox.html
2025-01-01 23:04:56 +01:00
Megamouse 1c22cc2f52 overlays: add trophy list dialog 2025-01-01 13:42:21 +01:00
kd-11 0bb2f72ee2 rsx: Flush MM queue before memory is unmapped 2024-12-31 01:52:58 +03:00
schm1dtmac b16d267f9d Fix types 2 2024-12-30 07:29:31 +02:00
schm1dtmac 9ffa923da6 Use corresponding SI/IEC units 2024-12-30 07:29:31 +02:00
schm1dtmac 8feccffec0 Fix types 2024-12-30 07:29:31 +02:00
schm1dtmac 3a16b2e92c Report filesizes on macOS as decimal multiples
i.e. multiples of 1000
2024-12-30 07:29:31 +02:00
Elad a8bfa6a16c SPU: Operating system LR memory signals 2024-12-29 21:01:17 +02:00
kd-11 e135012acd rsx: Properly track changes in instancing state 2024-12-29 20:53:05 +03:00
kd-11 9de6a38e13 rsx: Test vertex program flags on each draw 2024-12-29 20:53:05 +03:00
kd-11 0baf873534 Cosmetic improvements 2024-12-29 20:53:05 +03:00
kd-11 35a66fe776 rsx: Do not use global registers object in logical "firmware" units 2024-12-29 20:53:05 +03:00
kd-11 0be8a5f9f4 rsx: Handle dangling execution barriers 2024-12-29 20:53:05 +03:00
kd-11 01fe39fbb9 rsx: Fix rare crash in vertex program decompiler
- This whole decompiler mess needs a rewrite
2024-12-29 20:53:05 +03:00
kd-11 cfc124fabf rsx: Fix instancing bug when indexed addressing is used to read constants 2024-12-29 20:53:05 +03:00
kd-11 15961b353a vk: Add support for hardware instanced draws 2024-12-29 20:53:05 +03:00
kd-11 d4573e233a rsx: Fix vertex program compiler crash 2024-12-29 20:53:05 +03:00
kd-11 9307abe7f5 rsx: Move more functions from rsx thread to the draw command processor 2024-12-29 20:53:05 +03:00
kd-11 05bab8ec4c rsx: Move draw call related functions to their own class 2024-12-29 20:53:05 +03:00
kd-11 9e9ae54455 rsx: Add GLSL support for instanced rendering 2024-12-29 20:53:05 +03:00
kd-11 e696d9b324 rsx: Add code to detect instanced draw commands 2024-12-29 20:53:05 +03:00
kd-11 43e04f3fc7 Revert "rsx/vk: Implement hardware instancing (#16466)"
This reverts commit 62701154f1.
2024-12-29 20:53:05 +03:00
kd-11 62701154f1
rsx/vk: Implement hardware instancing (#16466)
* rsx: Add code to detect instanced draw commands

* rsx: Add GLSL support for instanced rendering

* rsx: Move draw call related functions to their own class

* rsx: Move more functions from rsx thread to the draw command processor

* rsx: Fix vertex program compiler crash

* vk: Add support for hardware instanced draws

* rsx: Fix instancing bug when indexed addressing is used to read constants

* rsx: Fix rare crash in vertex program decompiler

- This whole decompiler mess needs a rewrite

* rsx: Handle dangling execution barriers

* rsx: Do not use global registers object in logical "firmware" units

* Cosmetic improvements

* rsx: Test vertex program flags on each draw

* rsx: Properly track changes in instancing state
2024-12-29 17:39:47 +02:00
Megamouse 15f29eedee
Fix atomic_ptr value constructing overloads (#16473)
* Fix idm remove

idm::remove calls shared_ptr::exchange with a null_ptr.
This calls the stored object's constructor with null args.

---------

Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-29 14:53:04 +02:00
Elad 439d665096
CELL: Fix reservation notifications 2024-12-29 11:06:44 +02:00
Megamouse 418a99a62b VS: add some missing files to solution filters 2024-12-28 23:09:51 +01:00
Megamouse 1eac13b6bf Windows: log command line args in utf8 2024-12-28 23:09:51 +01:00
Darkhost1999 e58bd419f6
Add empty hdd tmp to UI (#16462)
This option is need for those using sprx mods and amongst other homebrew reasons such as apollo savedata.
2024-12-28 22:20:22 +01:00
Megamouse 5e176a390f MacOS: silence some warnings 2024-12-28 19:58:59 +01:00
Megamouse a49cfc5a91 Simplify some ternaries 2024-12-28 19:58:59 +01:00
Megamouse d3fedffa6a VS: Add sysinfo_darwin.mm to filters 2024-12-28 19:58:59 +01:00
Megamouse 33c3e3fb0f fix some warning 2024-12-28 18:10:06 +01:00
Megamouse 1d23be8429 Qt: Add Operating system category 2024-12-28 18:10:06 +01:00
Elad 7a4e88c146 Savestates: Fix main_ppu_module definition 2024-12-27 22:08:28 +02:00
Elad cfeb022340 shared_ptr.hpp: Rewrite shared_ptr to single_ptr conversion
Logic felt non-intuitive and this method should be very explicit.
2024-12-27 22:08:28 +02:00
Elad 0cc655074d serialzation.hpp: Fix add_padding 2024-12-27 22:08:28 +02:00
Elad a5ba96e991 Fixup lv2_socket 2024-12-27 22:08:28 +02:00
kd-11 b2949f114b vk: Wrap device fault handler in SEH2 2024-12-25 01:41:23 +03:00
kd-11 e3df7bccac vk: Selectively enable extended device fault features in logical device creation step 2024-12-25 01:41:23 +03:00
kd-11 2c45438422 vk: Minor improvements to extended fault output 2024-12-25 01:41:23 +03:00
kd-11 4ef1d48c0c vk: Properly initialize device fault counts structure 2024-12-25 01:41:23 +03:00
kd-11 7b6a672c64 vk: Fix device fault extension loading 2024-12-25 01:41:23 +03:00
kd-11 883529eaf3 vk: Add support for spec-compliant query scopes 2024-12-25 01:41:23 +03:00
kd-11 afc10ea112 vk: Workaround for older SDK header versions 2024-12-25 01:41:23 +03:00
kd-11 488e5d9eb5 vk: Register honeykrisp as known driver in RTT quirks check 2024-12-25 01:41:23 +03:00
kd-11 6d976b5d90 vk: Fix build 2024-12-25 01:41:23 +03:00
kd-11 b44e2d3b30 vk: Add basic support for honeykrisp driver 2024-12-25 01:41:23 +03:00
kd-11 a196bbcbcd vk: Remove unnecessary workaround for older SDK versions 2024-12-25 01:41:23 +03:00
kd-11 6000e3a47d vk: Add support for extended device fault information 2024-12-25 01:41:23 +03:00
Elad 623f5822b3 Fix Emulator::Pause() segfault 2024-12-24 21:31:57 +02:00
Elad c6dadc537b Add some FXO init checks 2024-12-24 21:31:57 +02:00
Elad 98a0c76a08 StrFmt.cpp: Make function printing shorter 2024-12-24 21:31:57 +02:00
Elad a2d5b5a0e2 Fixup GDB 2024-12-24 21:31:57 +02:00
Elad d376ba5994 Remove lv2_socket_native destructor 2024-12-24 21:31:57 +02:00
Elad 6a4b9430c0 Thread.h: Add a few noexcept 2024-12-24 21:31:57 +02:00
Elad 3bf735161f sys_config: Move cleanup to IDM abort 2024-12-24 21:31:57 +02:00
Elad 4d0c835df3 util/shared_ptr.hpp: STX pointers library fixes 2024-12-24 21:31:57 +02:00
Elad 6eb4138595 Fixup sys_process 2024-12-24 21:31:57 +02:00
Megamouse 53817dcc90 Fix fs::file log formatting 2024-12-23 11:29:13 +01:00
Megamouse 99044ce6c6 Qt: allow to skip further automatic update notifications for a single version 2024-12-23 01:56:39 +01:00
Elad 575a245f8d
IDM: Implement lock-free smart pointers (#16403)
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.

Notes to programmers:

* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.

Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
Whatcookie 385710672f
SPU LLVM: Recognize ROTYQBYI and ROTQBI rotation pattern (#16409)
Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-22 10:29:15 +02:00
Megamouse beb3565001 ps move tracker: draw sphere size range into live image 2024-12-21 14:36:24 +01:00
Megamouse ec7f50d925 ps move tracker: set max of radii to 50%
It makes no sense to have a larger radius than half of the image size
2024-12-21 14:36:24 +01:00
Megamouse 1a479e9bda ps move tracker: fix min and max radius labels 2024-12-21 14:36:24 +01:00
Megamouse 19cc363b09 ps move tracker: fix some data types 2024-12-21 14:36:24 +01:00
kd-11 760b49bc6c Cleanup 2024-12-21 15:24:15 +03:00
kd-11 70eca8cb24 vk: Fix border color swizzling behavior 2024-12-21 15:24:15 +03:00
Megamouse ff0249d662 ps move: ignore second half frame in ZCM1
These values have high noise on my model and make it unusable.
2024-12-21 03:24:32 +01:00
Megamouse d450a5ee95 cellGem: add magnetometer support 2024-12-21 03:24:32 +01:00
Megamouse 1cf927aef9 cellGem: request orientation reset during calibration 2024-12-21 00:48:52 +01:00
Megamouse 8678402c25 cellGem: fix some data types 2024-12-20 17:30:25 +01:00
Megamouse ee2ea0cb02 cellGem: invalidate hue and tracking in cellGemInvalidateCalibration
This fixes the cursor color in OVERKILL
2024-12-20 17:30:25 +01:00
Megamouse cf0b4d4ed4 cellGem: split status_flags into calibration flags and runtime flags 2024-12-20 17:30:25 +01:00
Megamouse cc50049bca cellGem: implement cellGemSetRumble 2024-12-20 17:30:25 +01:00
Megamouse c6a76eb9af cellGem: add setting to let the game actually set the device hues
This is not very useful at the moment since the tracker can't really
handle random hues yet.
2024-12-20 17:30:25 +01:00
Megamouse 67e8e373a7 cellGem: set sphere RGB when a hue is set and vice versa 2024-12-20 17:30:25 +01:00
Megamouse 304964ba71 cellGem: add debug setting for painting spheres into the live image 2024-12-20 17:30:25 +01:00
Megamouse d2c58765cd cellGem: fix some data types 2024-12-20 17:30:25 +01:00
Megamouse 385d21e6dc Fix some warnings 2024-12-20 17:30:25 +01:00
Megamouse 0fd6956bb0 cellPhotoDecode: allow dev_bdvd paths 2024-12-19 18:01:10 +01:00
Megamouse 5073477415 cellGem: Split horizontal and vertical mouse rotation cone setting 2024-12-19 16:55:39 +01:00
Megamouse c56147e04b Qt: fix settings_dialog opening on wrong tab
The dialog now uses open instead of exec, so we have to override open.
2024-12-19 13:49:43 +01:00
Megamouse 79fc366f23 Qt: fix flow_layout segfault 2024-12-19 13:49:43 +01:00
capriots 9d4ff13c2b
cellAdec implementation part 2: LPCM decoder (#16381)
* cellAdec: savestate fixup

* simd.hpp: add some intrinsics

* cellAdec implementation part 2: LPCM decoder

* cellAdec: set to HLE by default

* cellAdec: review fixes

---------

Co-authored-by: Elad <18193363+elad335@users.noreply.github.com>
2024-12-18 20:21:56 +02:00
Megamouse e18ae5abd6 cellGem: expose rotation cone to settings 2024-12-18 09:14:04 +01:00
Megamouse f3ef4f3658 cellCamera: try to fix internal state on stop
When stopping, the camera is supposed to be open still.
Add an expected state to check the camera signal does what it should.
2024-12-18 03:54:25 +01:00
Megamouse 73a62b4bf6 Update SDL to 2.30.10 2024-12-17 22:44:46 +01:00
Megamouse cd47113ed8 Update curl to 8.11.1 2024-12-17 22:44:46 +01:00
Megamouse 8793e6ded7 Update 7zip to 24.09 2024-12-17 22:44:46 +01:00
Megamouse 29a3c36e26 Update OpenAL to 1.24.1 2024-12-17 22:44:46 +01:00
Megamouse 141ac0d09f Update FAudio to 24.12 2024-12-17 22:44:46 +01:00
Megamouse 657ab4261c Fix some static analysis warnings 2024-12-17 20:46:07 +01:00
Megamouse 5491fbee5b Fix warning 2024-12-17 20:46:07 +01:00
RipleyTom 18f82f0006 Fix unused p2p socket closing 2024-12-17 15:09:59 +02:00
kd-11 30ca2370ab rsx: Improve MM synchronization 2024-12-16 19:00:08 +03:00
kd-11 21eaee0e23 rsx: Revert bounds optimization on RO texture load 2024-12-16 19:00:08 +03:00
kd-11 cd7e1e1e2b rsx: Improve performance even more when async MM is active 2024-12-16 19:00:08 +03:00
kd-11 4b30e82aee rsx: Restore previous (incorrect) low-precision format handling 2024-12-16 19:00:08 +03:00
kd-11 83c0212b59 rsx/qt: Add option to disable async host MM to GUI 2024-12-16 19:00:08 +03:00
kd-11 4eb0ee23db Fix linux build 2024-12-16 19:00:08 +03:00
kd-11 b4a72b6223 rsx: Fix texture renormalization flag and fix windows build 2024-12-16 19:00:08 +03:00
kd-11 c9a7abdd09 rsx: Fix OpenGL deadlock 2024-12-16 19:00:08 +03:00
kd-11 49d11b2e36 rsx: Make the deferred mm flush option usable with OpenGL 2024-12-16 19:00:08 +03:00
kd-11 83764fbbb4 rsx/vk: Implement asynchronous host memory management. 2024-12-16 19:00:08 +03:00
schm1dtmac 64ec19f018 Fixup Intel macOS builds
oops
2024-12-15 15:04:46 +01:00
schm1dtmac 692c88f0e9 Revert Qt to 6.7.3 for macOS 2024-12-14 00:01:17 +01:00
Megamouse 8dbe88782c cellGem: Improve mouse handler orientation
This also makes it easily configurable with the CONE setting in the future
2024-12-13 08:55:52 +01:00
Megamouse b08829817f PS Move: fix calibration logging 2024-12-13 08:55:52 +01:00
Megamouse 585f47c2d9 PS Move: Disable Fusion gain (no more drift) 2024-12-13 08:55:52 +01:00
Megamouse 56a254ba9c move tracker: ignore sporadic shape and position changes
The tracker may get a random result for a couple of frames occasionally.
Just report the last known position and shape instead.
2024-12-12 16:52:47 +01:00
Megamouse 55ead61ea8 move tracker: ignore sporadic invalid results
The tracker may fail for a couple of frames occasionally.
Just report the last known position instead.
2024-12-12 16:52:47 +01:00
Megamouse f96cfe08f4 cellGem: lock tracker mutex in get_info
This may reduce the possibility of unexpected tracking results
2024-12-12 16:52:47 +01:00
Megamouse 49081d0d82 Qt 6.8.1 2024-12-12 02:20:01 +01:00
Megamouse a31ebc248e cellGem: implement quaternion transformation 2024-12-11 18:56:53 +01:00
Megamouse 3d11b6efa3 cellGem: try to map accelerometer and gyro 2024-12-11 18:56:53 +01:00
Megamouse 13cd461a1f sys_rsx_context_attribute: Improve errors 2024-12-11 18:56:53 +01:00
Antonino Di Guardo 68b7e5971d
Welcome Dialog: Reject users that reject our TOS
* Improved welcome dialog

* "show at startup" checkbox always changeable
2024-12-07 20:56:05 +02:00
Antonino Di Guardo 24655fd975
fix dark theme switching on initial welcome dialog (#16373) 2024-12-06 20:14:35 +01:00
Darkhost1999 05d12f68ad Test
Works on my machine
2024-12-05 12:55:23 +02:00
Elad d84fe592c8 PRX: Do not check exported function code address 2024-12-03 19:01:17 +02:00
Elad b4505600c7 PPU: Notify SPUs while waiting for its own state 2024-11-30 18:06:34 +02:00
Elad a4ea71d18f CELL: Rewrite reservation notification postponing 2024-11-30 18:06:34 +02:00
Megamouse 729826ec40 cellGem: fix HUE_NOT_SET 2024-11-29 05:39:11 +01:00
Megamouse a8b0c0be07 cellGem: calculate distance from sphere to camera 2024-11-29 05:39:11 +01:00
Elad 926de68a79 Debugger: Dump related thread information on crash 2024-11-28 13:32:52 +02:00
Elad cf850598eb System.cpp: Do not hold on fs::dir handle 2024-11-28 05:47:40 +02:00
Elad 2b9f076024 fs: Minor fix of fs::dir::open
Did not close previous handle on fs::dir::open like on fs::file
2024-11-28 05:47:40 +02:00
Elad d63e643081 Emu: Fixup 2024-11-28 05:47:40 +02:00
Elad 9a2bcd2508 System.cpp: Fix Kill() on bad app startup 2024-11-27 16:00:40 +02:00
Elad f3b9d64df7 Add some asserts for g_fxo->init<> 2024-11-27 16:00:40 +02:00
Elad 68c58281e5 System.cpp: Add system_state::loading 2024-11-27 16:00:40 +02:00
Elad 07df91d4e8 Fix Emulation boot recursion 2024-11-27 16:00:40 +02:00
Elad 378a69ea85 Qt: Deprecate processEvents() part 2 2024-11-27 16:00:40 +02:00
Elad 191e132c6c util/types.hpp: Rewrite narrow<> 2024-11-27 16:00:40 +02:00
Elad fce07bbeab Qt: Deprecate proccessEvents() usage 2024-11-26 03:33:24 +02:00
kd-11 3e427c57f0 rsx: Use strict bounds testing when replacing memory via blit engine 2024-11-25 22:21:07 +03:00
kd-11 9afebfdd72 rsx/texture-cache: Rework invalidation cause object to have more granular controls 2024-11-25 22:21:07 +03:00
kd-11 109b841d8d rsx/util: Change the filter function to an in-place erase-if operation 2024-11-25 22:21:07 +03:00
Darkhost1999 b94ddb0cd3
Migrate Savestates Home Menu (#16340) 2024-11-23 21:29:07 +02:00
Elad b073d08a52 LLVM: Implement Recursive Intrinsics 2024-11-23 20:22:58 +02:00
capriots fcf0b74c79
VS: add quotes around paths
Fixes use with paths that contain spaces.
2024-11-23 18:10:29 +02:00
capriots e7fd4224ad cellDmuxPamf: add module + stubs 2024-11-23 17:01:25 +02:00
capriots 8778e69f9d cellAdec: make AdecContext and AdecFrame trivial classes 2024-11-23 17:01:25 +02:00
capriots 108247dccc Invalidate savestates 2024-11-23 17:01:25 +02:00
capriots 9b3b9562c0 cellAdec: review + warning fixes 2024-11-23 17:01:25 +02:00
capriots e7f1a34fe1 cellAdec implementation part 1: abstraction layer 2024-11-23 17:01:25 +02:00
capriots 0a29ca2946 Fix HLE PPU callback stack arguments 2024-11-23 17:01:25 +02:00
RipleyTom 0e8f1a9bf9 sys_net: Remove lingering ppu_to_awake from queue on timeout 2024-11-22 18:44:01 +02:00
Megamouse a9f6b012b8 Qt 6.8.0 2024-11-22 15:48:16 +01:00
Megamouse 4ba4bddb09 Fix some warnings 2024-11-22 15:48:16 +01:00
Megamouse 3b51368be2 Qt: Use inplace image mirroring in video sink 2024-11-22 15:48:16 +01:00
FlexBy420 0111fd0d0e
Make error message for temporary and archive translatable (#16331) 2024-11-20 16:54:31 +02:00
Elad cc86e01df9 lockless.h: Fox 2024-11-18 18:45:34 +02:00
Elad 1dfee5fbfa lockless.h: Fixup addressing 2024-11-18 18:45:34 +02:00
Elad 21f65f087d lockless.h: Fixup lf_array assert 2024-11-18 18:45:34 +02:00
Elad ac849b958f Progress: Dialog: Fixup memory management 2024-11-18 18:45:34 +02:00
Megamouse 806a1202c5 VS: ignore opencv debug build guard (fix debug build) 2024-11-16 23:31:54 +01:00
Megamouse 2ee1770383 ci: Don't fetch opencv submodule unless on windows 2024-11-16 17:36:56 +01:00
digant 21da04364d gitignore cleanup
These files and folders are all deprecated
2024-11-16 17:36:56 +01:00
digant73 a66ba27791 added missing -p option 2024-11-16 17:36:56 +01:00
digant73 3fa3298a31 fixed CI for building on windows 2024-11-16 17:36:56 +01:00
digant eccb3f6d0b Improve and fix sln solution 2024-11-16 17:36:56 +01:00
Megamouse 29901d65ed More constexpr 2024-11-16 15:10:20 +01:00
Megamouse 0bb83ed5e9 Fix warning 2024-11-16 15:10:20 +01:00
Megamouse 2d14742a05 Add opencv to cmake 2024-11-16 15:10:20 +01:00
Megamouse 6eaaadec71 Move opencv submodule to subdirectoty 2024-11-16 15:10:20 +01:00
Megamouse b89f7515fd Qt: show warning if ps move tracking is not supported 2024-11-16 15:10:20 +01:00
Elad 05096854bc Update vm_native.cpp 2024-11-16 13:53:25 +02:00
Elad 68d74bc28a Progress Dialog: Fix recursion and concurrency use of text updates 2024-11-16 12:22:23 +02:00
Elad 1475625705 Implement lf_array::for_each 2024-11-16 12:22:23 +02:00
Elad 935e83a490 Utilities\lockless.h: Flatten recusrion in lf_array
Add assert for sane index access.
2024-11-16 12:22:23 +02:00
Megamouse 4df58494a0 Fix compilation 2024-11-16 09:45:31 +01:00
Megamouse f16dfd8ca2 Add HAVE_OPENCV preprocessor flag 2024-11-16 09:45:31 +01:00
Megamouse 72dc5b3489 Windows: Add and deploy opencv files 2024-11-16 09:45:31 +01:00
Megamouse b89cc9b973 cellGem: implement real ps move handler 2024-11-16 09:45:31 +01:00
Elad e7faec6b0e
util/vm_native.cpp: Fix memory leak 2024-11-15 14:00:30 +02:00
Megamouse 7866dc2e34 overlays: localize RPCS3 progress dialog 2024-11-15 09:48:12 +01:00
Megamouse 070add461f overlays: get localized values in home menu settings 2024-11-15 09:48:12 +01:00
Megamouse 1211acd59c Qt: Add std::string GetSettingOptions
This has the potential for some minor optimizations
2024-11-15 09:48:12 +01:00
Megamouse d78c39b3ab overlays: add more overlay hint option to home menu settings 2024-11-14 23:23:36 +01:00
Megamouse 81bb4b5951 overlays: remove unnecessary text logging 2024-11-14 23:23:36 +01:00
Megamouse 9461294ffc overlays: add input debug overlay to home menu settings 2024-11-14 23:23:36 +01:00
Megamouse 7087582a36 overlays: translate home menu settings
Also fix potential lambda text capture issue
2024-11-14 23:23:36 +01:00
overwriter 201be08a85 fix: cannot copy OpenAl32.dll with CMake 2024-11-14 21:44:59 +01:00
Megamouse c3729d06d0 Qt: Replace some instances of QMap, QPair and QList 2024-11-14 20:50:33 +01:00
Megamouse e8f730e61f Update curl to 8.11.0 2024-11-14 20:50:33 +01:00
Elad c5bbee7a0a SPU: Fixup code comparison 2024-11-14 13:43:01 +02:00
Elad 8c00842614 Fixup std::vector to std::span 2024-11-14 13:43:01 +02:00
Elad 72437b50b4 LV2: Fix thread notifications regression 2024-11-12 15:00:35 +02:00
Elad e9b24eba85
SPU Analyzer: Fix programs code caching 2024-11-12 11:11:37 +02:00
oltolm 2b0f786b2d
Fix std::basic_string warnings (#16261) 2024-11-11 21:54:44 +02:00
Megamouse 2262ac1684 Qt: Replace QMap with std::map
This should reduce the amount of string conversions during list refreshes
2024-11-06 09:34:32 +01:00
RipleyTom c68f42e0ee Fix sceNpScoreGetRankingByNpId when no score is registered 2024-11-05 20:48:05 +01:00
Joshua de Reeper 73cee9a43d sys_usbd: Better Dimensions Move Handling 2024-11-05 18:17:05 +01:00
NicknineTheEagle 6d766ccbb5
cellSaveData: Add autosave indicator (#15720) 2024-11-04 21:53:34 +01:00
Elad bcf581dc82 Fixup Emulator::GetBackgroundPicturePath() 2024-11-04 14:59:21 +02:00
Elad c782b45b97 High-Resolution Game Background for loading 2024-11-04 10:59:45 +02:00
Megamouse 7858053bb9 Update SDL to 2.30.9 2024-11-04 08:31:03 +01:00
Megamouse 2d0d4119f4 Update FAudio to 24.11 2024-11-04 08:31:03 +01:00
Megamouse d2d76bb560 Update wolfssl to 5.7.4 2024-11-03 17:05:11 +01:00
Elad Ashkenazi bc22df8ba8 SPU: Optimize cellSpurs reservations 2024-11-03 11:13:54 +02:00
Elad b053b1e200 Another attempt to fix fs::pending_file for hardlinks 2024-11-02 21:43:35 +02:00
Elad d3c0ec5651 Print last system error on fs::error::unknown 2024-11-02 21:43:35 +02:00
Elad 695799c39a GUI: Fix welcome_dialog dereference 2024-11-02 21:43:35 +02:00
Elad 85d1649696 utils/atomic.hpp: Make atomic_op reject non-non-const lvalue 2024-11-02 21:43:35 +02:00
Elad 1417f9b7de utils/atomic.cpp: Fixup utils::get_unique_tsc()
It was reading s_min_tsc again inside the atomic operation.
Also optimize it a bit.
2024-11-02 21:43:35 +02:00
Elad 0e31aafc09 Fixup GCM unmap event sending 2024-11-02 21:43:35 +02:00
Ani 17e78a9e6f rpcs3_version: Bump to 0.0.34 2024-11-01 23:22:32 +00:00
oltolm 42751cc8fb SPULLVMRecompiler: remove unnecessary bitcast 2024-11-01 16:31:14 +02:00
Elad e67d090c35 Fixup sys_event_port_send 2024-11-01 10:43:46 +02:00
Elad ddd0494cf4 Silence sys_ss_access_control_engine 2024-11-01 10:43:46 +02:00
Elad 2222807624 RSX/GCM: Fix memory unmapping for HLE GCM 2024-11-01 10:43:46 +02:00
Elad 488814bb2d rsx/vm: Exclude events from VM mutex
Fixes a deadlock from a recent pull request, perhaps also some deadlocks with locking both IDM and VM mutex.
2024-11-01 07:37:57 +02:00
Elad 4206b022b6 Win32/File.cpp: Use ReplaceFile for hardlink overwrite 2024-11-01 07:37:57 +02:00
Elad b87c891ec4 Fixup sys_event to check EBUSY only for PPU->PPU signals 2024-11-01 07:37:57 +02:00
Hasster 5eb4691cd6 Specify that you only need the qtmultimedia when using aqt 2024-10-31 03:45:12 +02:00
Hasster bfcbc13b8a Add more info about Qt in BUILDING.md
Specify that Qt needs a "qtmultimedia" module and provide a link to an alternative download
2024-10-31 03:45:12 +02:00
Elad 5c5edb4785 sys_event: Implement EBUSY for disconnection 2024-10-30 21:15:16 +02:00
Elad edfe940543 utils/sysinfo.cpp: Yield CPU time when measuring TSC freq 2024-10-30 10:06:49 +02:00
elad335 8b8396b945 Filesystem/Win32: Recreate hardlinks on fs::pending_file 2024-10-29 19:26:33 +02:00
elad335 97f2b6b701 Fix get_system_time() 2024-10-29 19:26:33 +02:00
elad335 92bf6ed0a7 Replace rsx::uclock with get_system_time() 2024-10-29 19:26:33 +02:00
elad335 29c1c3df1f sys_event_flag_set: Minor improvement 2024-10-29 19:26:33 +02:00
oltolm cd8954db14 fix deprecation warnings in Qt 6.8 2024-10-28 23:42:02 +01:00
Megamouse 431221f172 Don't log "always" messages in fatal_error_listener until enabled
Opening the console breaks Qt cli popups
2024-10-25 20:10:46 +02:00
elad335 3ecb14dcda sys_event_flag_set: Break atomic operation dependencies 2024-10-25 15:53:53 +03:00
elad335 a325eb52bd Compilation hotfix 2024-10-25 13:21:49 +03:00
elad335 84217917d5 utils/sysinfo.cpp: New TSC calibration technique 2024-10-25 10:00:21 +03:00
elad335 af052b0627 RawSpu: Optimize START register/commands
START MFC proxy commands can be common even after their need, optimize their usage.
2024-10-24 21:03:06 +03:00
elad335 c70c08bb07 utils: Make get_tsc_freq() inlined and non-blocking 2024-10-24 21:03:06 +03:00
elad335 2e8029a45b get_system_time(): Add fast TSC-based path 2024-10-24 21:03:06 +03:00
elad335 a9a454faf7 asm: Fix utils::rational_mul optimization 2024-10-24 21:03:06 +03:00
Elad 3378b03c1f Optimize get_system_time using 128 bit math 2024-10-24 21:03:06 +03:00
elad335 8d9911e383 Implement u64_x_u64_=_u128 optimization 2024-10-24 21:03:06 +03:00
kd-11 60ae4c1121 rsx: Fix crash when host labels option is disabled 2024-10-23 19:28:32 +02:00
kd-11 5ed7d043c4 Fix build and cleanup 2024-10-23 16:33:44 +03:00
kd-11 c28ec457fd gl: Silence compiler warnings 2024-10-23 16:33:44 +03:00
kd-11 a79ef1efb2 gl: Fix check_state compilation error 2024-10-23 16:33:44 +03:00
kd-11 1299aa68b3 cmake: Update build files for GL DMA 2024-10-23 16:33:44 +03:00
kd-11 681debd8f6 gl: Finalize host labels implementation 2024-10-23 16:33:44 +03:00
kd-11 0db06964dc Whitespace 2024-10-23 16:33:44 +03:00
kd-11 6ce1816e3f rsx: Move the host job management into common code to share with GL 2024-10-23 16:33:44 +03:00
kd-11 7fdfbe3c52 gl: Implement basic DMA layer using AMD_pinned_memory 2024-10-23 16:33:44 +03:00
Elad Ashkenazi 3e516df214 SPU: Reimplement SPURS limiter 2024-10-17 13:59:56 +03:00
Zion Nimchuk 899b4aaeec Use system SDL by default since we don't properly support building with just builtin SDL 2024-10-17 09:01:46 +02:00
Zion Nimchuk d2612bed3a Switch to focal for aarch64, update Qt 2024-10-17 09:01:46 +02:00
Zion Nimchuk 42b255a4a2 Fix checkrt bundling and remove legacy deploy script 2024-10-17 09:01:46 +02:00
Antonino Di Guardo 18c01f7151
Fixed compilation with cmake on Windows (#16184)
* Fixed compilation with cmake on Windows
* cleanup on post build actions for Windows on cmake solution + minor cleanup
* fix link error on IntelJITEvents
2024-10-15 17:53:31 +02:00
shinra-electric 4cd1d639ed
3rd Party: Bump MoltenVK to 1.2.11 (Vulkan SDK 1.3.296) (#16190) 2024-10-15 16:40:45 +02:00
Megamouse 2732d6c3dc Qt: Make sure that table columns and their actions have the same state after restoring the layout 2024-10-15 12:59:37 +02:00
nastys 8e4f5cc7b3 Update build-mac.sh 2024-10-15 10:28:00 +02:00
Elad Ashkenazi e58a3ab7e0 sys_spu: Fix order of some checks 2024-10-15 10:42:22 +03:00
Elad Ashkenazi e0e1c729cd Fix sys_spu_thread_group_disconnect_event 2024-10-15 10:42:22 +03:00
Elad Ashkenazi 7c6b558647 Improve sys_spu_thread_initialize 2024-10-15 09:36:36 +03:00
Elad Ashkenazi 217c924d42 Fix sys_vm_memory_map 2024-10-15 09:36:36 +03:00
Megamouse 7b92cbcb9a input: use std::array for sticks, sensors and motors
We always have the same amount of those.
So using a vector has always been a bit confusing.
2024-10-15 01:50:22 +02:00
Megamouse c882f0baf0 input: fix segfault caused by lockless std::move of stick vector
The copy assignment seems to fix this
2024-10-15 01:50:22 +02:00
nastys f1f124dcbf
macOS arm64 CI: Fix packages requiring curl, and fix Ventura (#16193) 2024-10-15 00:01:13 +02:00
Megamouse d4ce5b86ec Improve log file creation error message
Early out in file_writer ctor instead of large if else
2024-10-14 21:29:51 +02:00
Megamouse 16c1b9ed73 Fix some narrowing warnings 2024-10-14 21:29:51 +02:00
Elad Ashkenazi 42ee2463c7 Initialize some spu_thread members 2024-10-14 20:15:14 +03:00
Elad Ashkenazi 2fc9ae5d28 sys_vm: Argument checking fixes 2024-10-14 20:15:14 +03:00
Elad Ashkenazi 28dc7356a8 sys_memory: Fix argument size type 2024-10-14 20:15:14 +03:00
Elad Ashkenazi f6c585902a sys_spu: Fix SPU queue index type 2024-10-14 20:15:14 +03:00
Elad Ashkenazi 693cf9950f sys_spu: Minor fixes 2024-10-14 20:15:14 +03:00
Elad Ashkenazi cef3ee2d80 SPU: More SPURS limiter fixes 2024-10-14 06:30:05 +03:00
Elad Ashkenazi 8fac136056 SPU: SPURS pause based average task order duration 2024-10-11 17:41:34 +03:00
Elad Ashkenazi fa707047e6 SPU: Remove illegal SPURS setting value 2024-10-11 07:28:28 +03:00
Elad c009215983 SPU: Fix "Max SPURS Threads" performance 2024-10-11 07:28:28 +03:00
Elad Ashkenazi d51d5ce86d SPURS limiter tweaks 2024-10-07 15:02:23 +03:00
RipleyTom 36da83592a Improve AMD cpu detection 2024-10-07 05:36:19 +02:00
Megamouse 0a57c459b6 overlays: add friends list to home menu 2024-10-06 09:57:20 +02:00
Megamouse 73fe420d09 RPCN: add overlay messages on friend requests 2024-10-06 06:35:48 +02:00
Megamouse a85cdb5947 Update FAudio to 24.10 2024-10-05 22:50:30 +02:00
Megamouse 511f8a91f1 Update SDL to 2.30.8 2024-10-05 22:50:30 +02:00
Megamouse 2d1da95bc1 VS: Fix zstd debug lib 2024-10-05 22:50:30 +02:00
Malcolm Jestadt 967adaf9db SPU LLVM: Compute frest exponent at runtime rather than using the lookup table
- Provides a small speedup and smaller codesize
2024-10-05 20:44:23 +03:00
Malcolm Jestadt 8ca60df1ab SPU LLVM: Add optimized path for spu_re_acc special cases
- Uses vfixupimmps (AVX-512), 5 instructions down to 1
2024-10-05 20:44:23 +03:00
RipleyTom 4832267307 Fixes audio buffering on non-windows platforms 2024-10-05 11:44:15 +03:00
Megamouse 6bb01066fb VS: Add new build scripts to filters 2024-10-03 15:35:20 +02:00
Megamouse 522124d695 Remove unused SPIRV submodules 2024-10-03 15:35:20 +02:00
Megamouse d9c4e14c40 VS: fix debug builds 2024-10-03 15:35:20 +02:00
Megamouse 00944a5d71 VS: Add buildfiles to filter 2024-10-03 15:35:20 +02:00
kd-11 e9bc99253d rsx: Verify that channel remap is initialized before applying swizzles 2024-10-03 15:02:09 +03:00
kd-11 e9a45a6d06 rsx: Clarify OGL and VK difference when handling border texels 2024-10-03 15:02:09 +03:00
kd-11 497b9ba55b rsx: Make use of remapped border colors 2024-10-03 15:02:09 +03:00
kd-11 d1d04b1b32 rsx: Implement texture border color decode to remapped rgba 2024-10-03 15:02:09 +03:00
kd-11 826f805902 rsx: Use a proper struct to wrap around channel remap operations 2024-10-03 15:02:09 +03:00
kd-11 b1b0ac4433 rsx/vs: Restructure filters into functional units 2024-10-03 15:02:09 +03:00
kd-11 3f28f88a35 vk: Add support for explicit border colors 2024-10-03 15:02:09 +03:00
Zion 938306a7bc Bump linux x64 docker to 1.7.1, Qt 6.7.3 2024-10-02 07:09:02 +02:00
kd-11 1568366d9c Do not link intel JIT events when compiling LLVM for ARM64 2024-10-01 19:20:26 +03:00
kd-11 79614562b9 Move x64 appimage builder to its own legacy script 2024-10-01 19:20:26 +03:00
Megamouse 96e495c61d Qt/Overlays: Add home menu shortcut to game window 2024-10-01 03:25:36 +02:00
kd-11 e4dd957bbc linux/aarch64: Fix CI release upload 2024-10-01 03:03:14 +03:00
kd-11 aace685202 Typo fix 2024-10-01 01:14:40 +03:00
kd-11 fa6f999754 linux: Fix steam deck issues 2024-10-01 01:14:40 +03:00
kd-11 f18649567f Include compositor module in appimage for shell integrations 2024-09-30 18:33:54 +03:00
kd-11 ae580c7749 Enable artifact upload 2024-09-30 18:33:54 +03:00
kd-11 c711764850 Update building instructions for linux arm64 2024-09-30 18:33:54 +03:00
kd-11 7d5dc101fa Fix shellcheck 2024-09-30 18:33:54 +03:00
kd-11 252e69a6ba Add different suffix per architecture 2024-09-30 18:33:54 +03:00
kd-11 c4be603279 Deploy aarch64 linux appimages 2024-09-30 18:33:54 +03:00
kd-11 90bf35bb1e Fix deploy script 2024-09-30 18:33:54 +03:00
kd-11 47fb653044 Fix aarch64 build script 2024-09-30 18:33:54 +03:00
kd-11 4fe306c9ad aarch64: linux CI 2024-09-30 18:33:54 +03:00
kd-11 03a58d36da Do not attempt to link in intel JIT events 2024-09-30 18:33:54 +03:00
Megamouse d379dd4c8d overlays: Ignore 14 in anisotropic settings
This value has no CELL equivalent
2024-09-29 19:17:39 +02:00
Megamouse 7fc31e20b3 Fix 120 fps frame limit 2024-09-29 19:17:39 +02:00
schm1dt ‎ d11fe09419 Use native theme on macOS, hide Dark Mode toggle 2024-09-29 13:49:28 +02:00
RipleyTom c49ff490bc Fix scenp_score_record_score param check 2024-09-29 12:09:11 +03:00
Antonino Di Guardo 3f66297593
Fix crash on VFS Tool (#16146) 2024-09-29 03:11:27 +03:00
schm1dtxbox 37d2317b68 Update shortcut_utils.cpp 2024-09-28 13:14:18 +02:00
schm1dtxbox a1d55e5a54 Update azure-pipelines.yml 2024-09-28 13:14:18 +02:00
Megamouse 0ba0f11c4a Qt: Try to fix classic stylesheet after Qt 6.7.3 update 2024-09-28 01:39:33 +02:00
Elad f0c60b42c2
SPURS Task limit hotfix (#16140) 2024-09-27 22:15:06 +03:00
RipleyTom 88adaa9d2d Add some extra param handling for cellNetCtlGetInfo 2024-09-27 19:14:09 +02:00
RipleyTom 56099e79da Fix for clang 19 2024-09-27 19:14:09 +02:00
Megamouse 4ba4268282 Qt/shortcuts: add handler id to log messages 2024-09-27 17:57:49 +02:00
Megamouse 2661b6a71c Qt: Try to improve default stylesheet after Qt 6.7.3 update 2024-09-27 17:57:49 +02:00
Megamouse e58a89af2d Qt: Enable game window shortcuts 2024-09-27 17:57:49 +02:00
Megamouse ad3d8675e7 Qt 6.7.3 2024-09-27 15:06:40 +02:00
Megamouse 18d9ca5928 Qt 6.7.2 2024-09-27 15:06:40 +02:00
Megamouse 5ab955d9c4 Qt 6.7.1 2024-09-27 15:06:40 +02:00
Megamouse 2b4a90781a Qt 6.7.0
Also fix new stylesheet issue: windows11 style is now default.
This currently breaks custom stylesheets.
Use windowsvista style as default
2024-09-27 15:06:40 +02:00
Elad 10dece1c80 SPU: Improve SPURS Task limit algorithm 2024-09-27 12:43:44 +03:00
RipleyTom 9dd0b055d0 Fake sceNpMatching2GetLobbyInfoList 2024-09-26 21:12:10 +02:00
Megamouse 9e460ebe0a MacOs/Arm64/Shortcuts: Add more plist entries 2024-09-26 19:48:40 +02:00
Megamouse 7106bfcfb9 Shortcuts: Try to create shortcut link path if it doesn't exist 2024-09-26 19:48:40 +02:00
Megamouse c936de7c20 VS: add mac and linux hidapi files for improved input debugging 2024-09-26 19:48:40 +02:00
Elad Ashkenazi 60b5adab63 SPU: SPURS limit update 2024-09-26 06:59:20 +03:00
Elad Ashkenazi e3c8b3d524 GUI: Add SPURS limit to home menu 2024-09-26 06:59:20 +03:00
Elad Ashkenazi 8b79fd3da1 SPU: Make SPURS limit a dynamic setting 2024-09-26 06:59:20 +03:00
Megamouse feedc183a4 Qt: Tiny improvements to Cam/Mic permissions 2024-09-25 20:09:39 +02:00
Megamouse c4282e63fb Qt: Simplify some string conversion bloat 2024-09-25 20:09:39 +02:00
kd-11 82f97d33d1 aarch64: Correctly implement the null function trap 2024-09-25 15:48:36 +03:00
schm1dtxbox c1d43aff05 Brute-force Qt cache invalidation
Needed for qtimageformats changes to kick in
2024-09-25 09:11:28 +02:00
schm1dtxbox a14c166aab Ditto, but for arm64 ci 2024-09-25 09:11:28 +02:00
schm1dtxbox 7d39ac4e1e Download qtimageformats so that shortcut icons create successfully 2024-09-25 09:11:28 +02:00
schm1dtxbox f40d8b669c Fix camera permission prompts
Apparently calling qt_finalize_target in the CMake list is needed for permissions-related stuff to work.
2024-09-25 09:11:28 +02:00
Elad Ashkenazi 4b0a5bd1b8 SPU: Fix callback leak 2024-09-24 10:31:37 +03:00
Elad Ashkenazi 6995467ff6 SPU: SPURS limiter algorithm update 2024-09-24 10:31:37 +03:00
Elad Ashkenazi ad42a2b89a SPU: Task-based SPURS limiter 2024-09-24 10:31:37 +03:00
Megamouse c4334f5142 Add AArch64 files to VS Project 2024-09-23 23:00:58 +02:00
Megamouse 4c3d243672 MacOs/Arm64: Fix warning 2024-09-23 23:00:58 +02:00
Megamouse 340c17f422 Update curl to 8.10.1 2024-09-23 21:59:01 +02:00
Megamouse 18a99a7d8f input: use static hid singleton for init and exit 2024-09-23 21:59:01 +02:00
Megamouse 31b133b012 Fix yet another warning 2024-09-23 21:59:01 +02:00
nastys eb9acd9b56
macOS arm64 CI (#16070)
* Merge MacOS jobs
* Code signing
* rpath hack
* Upgrade macOS VM to 13
* Update llvm compiler
* Update to macOS Sonoma
* Update build-mac.sh
* Remove unnecessary version check
* Disable Homebrew cache
* Use macosx_version_min
* Downgrade min version and VM to 13
* Force -D__MAC_OS_X_VERSION_MIN_REQUIRED=130000
* Ignore -Welaborated-enum-base in display_sleep
* Move compiler version to env variable
* Enable auto-updater on macOS ARM64
2024-09-22 20:39:43 +02:00
Ani 02362a4807 spu: Do not apply a Max SPURS Threads limit to libSail
On all the tested games (e.g. Naruto Ultimate Ninja Storm, Catherine),
limiting SPURS threads for "_libsailCellSpursKernelGroup" causes video
playback to hang and the game to permanently freeze. These games still
function properly while limiting the other CellSpursKernelGroup groups,
as I've confirmed through manual thread pausing.

I have not found a single example that shows that 
_libsailCellSpursKernelGroup threads can be limited without the game 
freezing.

This allows the Max SPURS Threads setting to work with more games, or to 
work with a lower thread limit count for games where it already works.
2024-09-21 15:02:41 +02:00
Elad Ashkenazi 466a93dca5 Debugger: Fix thread-selection and refactoring 2024-09-20 23:52:37 +03:00
Megamouse c89e30b3d9 cellMsgDialog: only abort dialogs that were actually spawned by cellMsgDialog 2024-09-20 20:43:57 +02:00
Megamouse d88b7f6fde cellSaveData: improve logging for overlays 2024-09-20 20:43:57 +02:00
Megamouse d0a13c1a5a Improve logging during RPCS3 updates 2024-09-20 15:53:00 +02:00
Antonino Di Guardo df9275819e
Added reconciliation functions for game list file (games.yml) (#16061) 2024-09-20 08:46:51 +02:00
nastys 5b5bfaf696
Updater API V3 (macOS only) (#16086) 2024-09-19 21:58:00 +02:00
RipleyTom 3d9c8a670e Implement old matching API 2024-09-19 20:34:56 +02:00
Elad Ashkenazi cf65571be7 SPU Analyzer Hotfix 2024-09-19 10:00:18 +03:00
capriots 66eae05e75 cellAtracXdec: fix FFmpeg warning 2024-09-18 07:57:10 +02:00
Antonino Di Guardo d1648dd707
[TESTERS NEEDED] Improved contextual menu (#16038) 2024-09-14 21:51:42 +02:00
capriots 7f2534819e cellAtracXdec: review fixes 2024-09-14 19:37:21 +02:00
capriots e678931cee cellAtracXdec: review fixes 2024-09-14 19:37:21 +02:00
capriots 965dbf2c12 cellAtracXdec: review fixes 2024-09-14 19:37:21 +02:00
capriots 624f34ae13 cellAtracXdec: review fixes 2024-09-14 19:37:21 +02:00
capriots d60eced317 cellAtracXdec: set to HLE by default 2024-09-14 19:37:21 +02:00
capriots c813c5e953 cellAtracXdec implementation 2024-09-14 19:37:21 +02:00
capriots 5ce9c5b09f cellAdec: add internal datatypes 2024-09-14 19:37:21 +02:00
Megamouse 7df33bc8c0 Update curl to 8.10.0 2024-09-14 18:12:02 +02:00
Megamouse 0abaac90a8 Update libpng to 1.6.44 2024-09-14 18:12:02 +02:00
Megamouse e5a526e4d6 input: enable squircle settings in keyboard pad handler
Clamp squircled values to radius 1.
Also set kb and evdev default to 8000 as the others
2024-09-14 17:20:07 +02:00
Elad Ashkenazi 8131f40269 SPU Analyzer: Fix dereferencing freed reference 2024-09-13 19:32:15 +03:00
Elad Ashkenazi 743f9a9f51 rsx: Add 120fps and monitor refresh-rate frame limits 2024-09-12 13:49:03 +03:00
Megamouse 0a54e34a9b Update FFMPEG to properly rebased branch
The prior FFMPEG merge was not properly rebased to Vita3K master.
I created a backup branch arm64_old on the current commit.
I reset master to vita3k master and cherry picked our 5 commits.
Then I squashed the last 2 commits because one of them was obsolete.
2024-09-08 21:01:43 +02:00
Megamouse 53c84577c0 Set cellSysutilAvcExtInitOptionParam to notice 2024-09-08 20:04:30 +02:00
Megamouse 00e5d54be7 cellSysutilAvc: fix cellSysutilAvcEnumPlayers error check 2024-09-08 20:04:30 +02:00
Megamouse d13acdb484 Fix some warning 2024-09-08 20:04:30 +02:00
kd-11 92c1a8c45d sysinfo/arm64: Improve code around registry access and document the fields 2024-09-08 17:41:29 +03:00
kd-11 939479f55e ci: Fix clang linux failure 2024-09-08 17:41:29 +03:00
kd-11 d19d0cb70d windows/arm64: Implement fallback OS version detection 2024-09-08 17:41:29 +03:00
kd-11 31ce32709e build: Disble fixed base for windows-on-arm 2024-09-08 17:41:29 +03:00
kd-11 4f27af9949 Fix compilation warning 2024-09-08 17:41:29 +03:00
kd-11 b31280e387 Fix GCC compilation for windows 2024-09-08 17:41:29 +03:00
Elad Ashkenazi 03980304cf SPU Analyser: Fix source termination of starting block 2024-09-08 06:51:57 +03:00
Ani c852ae1a22 ffmpeg: Update submodule, supports linux arm64
Enables compatibility with linux arm64
2024-09-07 18:19:06 +02:00
schm1dtxbox 58f3841383 Fix arm64 RPCS3 being reported by macOS as an iOS app
macOS/Mac OS X reports arm64-only app bundles (so not Intel only or Universal) as being iOS apps in various places like Settings and System Information unless the bundle's Info.plist explicitly specifies it is only supported on Mac OS X.
2024-09-07 16:26:19 +02:00
Elad Ashkenazi 9385f0673b Debugger: Non-blocking thread list refresh 2024-09-06 20:28:11 +03:00
Megamouse 2bc0d19c9d cellSysutilAvcExt: add some param checks 2024-09-06 17:17:17 +02:00
Megamouse fe1fa45956 cellSysutilAvcExt: fix some params and size of long (the disassembly makes zero sense with s64) 2024-09-06 17:17:17 +02:00
Megamouse 6fa993645e cellSysutilAvc: add param checks 2024-09-06 17:17:17 +02:00
Megamouse 144ff82402 Stub cellSysutilAvc 2024-09-06 17:17:17 +02:00
Megamouse f285b0c053 Update FAudio to 24.09 2024-09-06 17:17:17 +02:00
Megamouse 7e9cf297ac cellPad: Remove obsolete comment 2024-09-06 17:17:17 +02:00
Megamouse d780355784 cellPad: draw debug overlay for basic input debugging of port 0 2024-09-06 08:33:55 +02:00
Megamouse b0194ba6af cellPad: scale emulated skateboard IR input down 2024-09-06 08:33:55 +02:00
Megamouse deba582353 Qt: Force reset of debugger when a different game is running 2024-09-06 05:05:54 +03:00
Megamouse 303c6715dd Qt: Don't start the debug update timer in the constructor
This caused the timer to be active even when the debugger is initially hidden.
2024-09-06 05:05:54 +03:00
552eden b4ff988bd8 Add support for SHRED dongle
changed support from ride dongle to ride + shred dongle
2024-09-05 18:23:51 +02:00
kd-11 7e3b8b5cdb c++-ify empty return 2024-09-04 07:49:49 +03:00
kd-11 7353696014 cpu: Format additions to sse2neon to match the rest of the file 2024-09-04 07:49:49 +03:00
kd-11 a60eab6e36 aarch64: Fix compilation for windows-on-arm 2024-09-04 07:49:49 +03:00
Megamouse 23f9eb57e5 patch_manager: set config_key_role to current key after handle_item_selected
The key was never changed if you selected different configurables in the same item.
This means that all configurables used the same value list.
2024-09-04 01:03:33 +02:00
snake ad1eb93a05
cellMic: add 16-bit PCM to 32-bit float conversion for DSP stream (#16030) 2024-09-03 23:25:24 +02:00
Megamouse 2fb0c499ea Update SDL to 2.30.7 2024-09-03 03:18:21 +02:00
Megamouse fbebdc09b7 Qt: ignore double clicks unless they are left clicks 2024-09-02 23:26:56 +02:00
Ani e56164f1e3 rpcs3_version: Bump to 0.0.33 2024-08-31 21:46:33 +02:00
Ani ff870ca088 BUILDING: Bump gcc/clang versions to the ones used in rpcs3-docker
gcc: 11 -> 13
clang: 12 -> 17
2024-08-31 17:54:48 +02:00
Ani 52d91c4772 BUILDING: Add qt6-svg for archlinux systems 2024-08-31 17:54:48 +02:00
kd-11 c80342e8d4 aarch64: Support calloc patch blocks 2024-08-31 13:55:58 +03:00
kd-11 4d193ecb6a Block parallel JIT allocation on macos 2024-08-29 13:08:23 +03:00
kd-11 ce9024efc5 Fix overlapping addresses returned by mmap 2024-08-29 13:08:23 +03:00
kd-11 23788b04c6 Restore comment 2024-08-29 13:08:23 +03:00
kd-11 c0e577c4dc Allow overcommit on macos 2024-08-29 13:08:23 +03:00
kd-11 00a0c4e69d rsx: Silence compiler warnings 2024-08-29 13:08:23 +03:00
kd-11 81f91e2095 Fix GL stencil tracking 2024-08-29 13:08:23 +03:00
Megamouse 3b36df48e9 Vk/Gl/Overlays: Do not blend the alpha channel when rendering overlays
When blending a source pixel with alpha less than 1 onto a texture, we will end up having even less alpha than before.
This can lead to ugly "holes" in the overlays, especially on the edges of glyphs with smooth fonts for example.
We can fix this by only blending the RGB values while keeping the destination's alpha value.
I haven't really seen this happen in RPCS3, but it's better to be safe than sorry.
2024-08-28 01:19:15 +03:00
Elad Ashkenazi d1bfa9cd9c RSX: Fix RSX Captures 2024-08-27 06:51:55 +03:00
Megamouse e5b03d9cbd Qt: check microphone permissions 2024-08-26 07:42:22 +02:00
Megamouse 3420cb0365 Qt: ask for camera permissions 2024-08-26 07:42:22 +02:00
Megamouse 4a4762654b Qt: sync gui settings by default after setting or removing values 2024-08-26 06:28:47 +02:00
kd-11 56d35bf409 Fix crash in JIT when compiling LLVM blocks 2024-08-25 22:04:45 +03:00
kd-11 4f97ea8da7 macos - Fix crash when running native arm64 LLVM 2024-08-25 22:04:45 +03:00
kd-11 f367703574 Use sysctlbyname 2024-08-25 22:04:45 +03:00
kd-11 8c64192ac7 Implement basic system info detection on macos using sysctl 2024-08-25 22:04:45 +03:00
Elad Ashkenazi 11e3aa660e SPU: Remove condition from GETLLAR spin detection 2024-08-25 18:29:30 +03:00
RipleyTom 3dc75dc3d1 Handle WSAENETRESET error 2024-08-25 13:04:44 +03:00
kd-11 be0ef0cc28 macos - Fix crash executing resolver 2024-08-24 14:13:14 +03:00
kd-11 470f8674df aarch64 - Support for apple exceptions 2024-08-24 14:13:14 +03:00
kd-11 4da30e9eca Add proper transform pass management 2024-08-24 14:13:14 +03:00
kd-11 09ea858dbf Minor fixes 2024-08-24 02:07:00 +03:00
kd-11 296c931d55 Fix v3dv workaround 2024-08-24 02:07:00 +03:00
kd-11 94b6e4598c Fix aarch64 compilation on macOS 2024-08-24 02:07:00 +03:00
kd-11 f5173ca9bf aarch64 - Decode CPU brand information 2024-08-24 02:07:00 +03:00
Elad Ashkenazi 1c16ada670 Debugger: Pointer comparison bugfix 2024-08-22 12:21:55 +03:00
Ani 67308bcf6f vk: Only allow unsupported textureCompressionBC for v3dv 2024-08-21 23:07:13 +03:00
Ani 0649da4cfb vk: Add driver vendor V3DV (Broadcom on Mesa)
VK_DRIVER_ID_MESA_V3DV
2024-08-21 23:07:13 +03:00
Ani 18df24d390 vk: Support v3dv, allow creating device without textureCompressionBC
v3dv supports BC1-BC3 which is all we require, support is reported as 
false since not all formats are supported
2024-08-21 23:07:13 +03:00
Ani c2b275ddbc spu: Workaround GCC 14.1 compiler bug
Stumbled upon this issue with gcc 14.1.1+r1+g43b730b9134-1 on aarch64, 
failing compilation due to implicit fallthrough warnings being treated 
as errors
2024-08-21 21:48:53 +03:00
Ani fc85c1a0c1 config: Set minimum allowed resolution scale to 25% 2024-08-21 21:48:53 +03:00
oltolm 7f30e52fda cmake: fix EGL and add USE_SYSTEM_CURL 2024-08-21 20:33:40 +03:00
kd-11 042a5481ca Formatting 2024-08-21 16:16:28 +03:00
kd-11 4bb79b6c31 Rework aarch64 signal handling 2024-08-21 16:16:28 +03:00
Elad Ashkenazi d6acdc77e0 Debugger/SPU: Implement SPU Disassembler 2024-08-21 13:32:45 +03:00
Elad Ashkenazi 7c898c3e4e SPU: Improve some logging 2024-08-21 13:32:45 +03:00
kd-11 3ea24183b9 Improve "write" instruction detection. 2024-08-20 05:18:53 +03:00
kd-11 d0dbdb1ab5 Fix hang when compiling leaf blocks 2024-08-20 05:18:53 +03:00
kd-11 c2f5de1c55 Fix compiler warnings about unused args for aarch64 2024-08-20 05:18:53 +03:00
kd-11 fbcd8e32b8 Cleanup 2024-08-18 18:27:52 +03:00
kd-11 ca4fa1ac74 Use return-oriented trap approach 2024-08-18 18:27:52 +03:00
kd-11 fc415cf32a Move to a assembler wrapper for injected asm to better handle dependencies 2024-08-18 18:27:52 +03:00
kd-11 2faa61ac31 Refactor aarch64 JIT code 2024-08-18 18:27:52 +03:00
Megamouse fd6ebe2895 Qt/input: Don't report two direction trigger values unless actually requested
Fixes a bug where you could map LT- even if you weren't pressing ALT before.
2024-08-18 10:49:26 +02:00
Megamouse 08f81160cc Input: Abbreviate some variable names and add min output interval
The abbreviation allows for easier diff between handlers.
2024-08-18 10:49:26 +02:00
Megamouse 9a071746ed input: log send_output_report hid error
Maybe helps to figure out some issues
2024-08-18 10:49:26 +02:00
Elad Ashkenazi bd5fd66408 SPU: Reduce some logging 2024-08-17 06:38:49 +03:00
Elad Ashkenazi 1bd4565186 Implement thread_ctrl::wait_until() 2024-08-17 06:38:49 +03:00
Megamouse b2877365de Qt: fix pad settings latency
Increase input timers back to 1000Hz. The DS4 lags if it's slower.
Decrease all pad UI update timers from 1000Hz to 100 Hz.
2024-08-16 09:06:42 +02:00
Elad Ashkenazi 981a1c56fb SPU: Disable transfer locking for RSX addresses 2024-08-15 14:05:25 +03:00
Elad Ashkenazi ce92341e75 SPU: Unlock RSX list transfers 2024-08-15 14:05:25 +03:00
Elad Ashkenazi 46ceeed10d Debugger/PPU: Minor bugfix in CR register dump 2024-08-15 14:05:25 +03:00
Megamouse 456ff10f02 Qt/patches: don't allow duplicate app versions 2024-08-15 09:35:58 +02:00
Megamouse dedda09560 Qt/patches: fix multi app version entry in patch creator 2024-08-15 09:35:58 +02:00
Megamouse 8371c445ce Qt/patches: check if app version is 5 characters long and like 01.00 2024-08-15 09:35:58 +02:00
Megamouse 93424d1adc Qt/patches: check if serial is 9 characters long and alphanumeric 2024-08-15 09:35:58 +02:00
Megamouse d05d803f5e patches: use more std::move 2024-08-15 09:35:58 +02:00
Megamouse 963e283db5 Qt/patches: Use YAML emitter to escape characters 2024-08-15 09:35:58 +02:00
Megamouse b78d76e1bb Qt/patches: allow to select text with the mouse
Lets you copy paste stuff
2024-08-15 09:35:58 +02:00
RipleyTom 50446e425d evdev: don't warn on disabled motion device 2024-08-15 08:58:09 +03:00
Megamouse 72cd146665 Qt: vfs tool dialog 2024-08-15 00:45:48 +02:00
Megamouse f5d8786ffd Update 7zip to 24.08 2024-08-15 00:45:48 +02:00
Megamouse ce5ae56f67 Qt/patches: delete message boxes on close 2024-08-14 20:21:55 +02:00
Megamouse 76c0df849a patches: improve error logging: add file paths to all errors 2024-08-14 20:21:55 +02:00
Megamouse f64f0b2e33 Qt/patches: use show instead of exec 2024-08-14 20:21:55 +02:00
Megamouse 4051988403 Qt/patches: improve value validation 2024-08-14 20:21:55 +02:00
Megamouse db102a5237 Qt/patches: uze const ref for YAML::Node params 2024-08-14 20:21:55 +02:00
Elad Ashkenazi 7f92d6003d sceNp: Silence a few functions 2024-08-14 11:53:00 +03:00
Elad Ashkenazi 6fb05be9da CELL: Remove performance hack for reservation
With the new notification method, we can remove this hack with micro-consequences. (though it comes with benefit of not breaking current reservations spuriously)
2024-08-14 11:53:00 +03:00
Elad Ashkenazi d0ebba6c5e CELL: New reservation notifications mechanism 2024-08-14 11:53:00 +03:00
Elad Ashkenazi 29b0298f1e Fix sys_io thread deadlock
Co-Authored-By: Megamouse <23019877+Megamouse@users.noreply.github.com>
2024-08-14 08:56:40 +03:00
Megamouse 4d5897d519 keyboard: only map single buttons
key combos are not really supported at the moment
2024-08-13 20:58:04 +02:00
Megamouse 7bcaab4f3a Remove unused using declaration 2024-08-13 20:14:30 +02:00
Megamouse 93c21103aa xinput: allow to map triggers as positive or negative 2024-08-13 20:14:30 +02:00
kd-11 26a1a4418e rsx: Fix crash when CPU blit is enabled 2024-08-13 19:23:47 +03:00
kd-11 0b62385ddb aarch64/llvm: Handle processing of leaf nodes 2024-08-13 18:25:26 +03:00
Elad Ashkenazi 6535d461be Fix vm::reservation_update 2024-08-13 10:56:33 +03:00
Elad Ashkenazi 3fa8994f4e SPU: Fix "SPU Accurate Reservations" off 2024-08-13 10:56:33 +03:00
Megamouse ff6a4bb72d Qt/input: add shortcut for toggling emulated mouse and keyboard 2024-08-12 23:19:23 +02:00
Megamouse ff84e7c6e2 Fix overflow warning 2024-08-12 21:04:10 +02:00
Megamouse 3716ba2ba2 Qt: refactor pad preview updates to reduce duplicate code 2024-08-12 21:04:10 +02:00
kd-11 c7b2a21fcb Fix OpenGL behavior under wayland-egl 2024-08-12 04:55:26 +03:00
Ninetime b0d07a75e5 Enable users to reject friend requests 2024-08-11 19:19:32 +03:00
Elad Ashkenazi 60b7448d8a SPU LLVM: Enable PUTLLC16 if accurate reservations is off 2024-08-11 17:55:56 +03:00
Elad Ashkenazi f980c59860 Do not add usage stats for unused SPU programs 2024-08-11 17:55:56 +03:00
Elad Ashkenazi 6c791541ee SPU: Fix bug in GETLLAR 2024-08-11 17:55:56 +03:00
Megamouse 72cccb691c Qt/input: update buttons at 100 hz instead of 1000 hz.
This reduces cpu usage without any noticeable drawback.
2024-08-11 00:56:07 +02:00
Megamouse cb122819ae evdev: try to fix first call behaviour
We don't have all the events in the first call to get_next_button_press.
So we have to set all the buttons to max on the first call.
We also have to make sure that we don't manipulate the values if we just
want to know the connection status.
2024-08-11 00:56:07 +02:00
Megamouse 0dfc622b58 Fix unused function warning 2024-08-11 00:56:07 +02:00
Ninetime 7d84d084a4
Enable user to change country code (#15884) 2024-08-10 22:33:38 +02:00
Megamouse f2ef0966eb input: add analog limiter 2024-08-10 12:07:57 +02:00
Megamouse 2806348f73 evdev: simplify get_next_button_press 2024-08-09 20:01:50 +02:00
Megamouse b95aa7a28c mmjoy: simplify get_next_button_press 2024-08-09 20:01:50 +02:00
Megamouse 961239ac8d Qt/input: make touch_threshold a member
Maybe we need will need it for a different handler in the future
2024-08-09 20:01:50 +02:00
Megamouse 326375ad9a Qt/input: clear min_button_values if we want to get the blacklist 2024-08-09 20:01:50 +02:00
Megamouse 16a6915525 Qt/input: ignore button press values unless they increase 2024-08-09 20:01:50 +02:00
Megamouse 28781d9bfb Qt/input: move preview_values into callback 2024-08-09 20:01:50 +02:00
kd-11 3ef8046f5c rsx: Fix fragment constants decoding for non-x86 platforms 2024-08-09 15:09:26 +03:00
Megamouse 03a612487d cellGem: Only allow each button to be used for one action unless it's the combo button. 2024-08-08 22:34:20 +02:00
Megamouse 60b90075ac input: ignore mouse handler events until initialized
And revert the now obsolete reload requests
2024-08-08 22:34:20 +02:00
Megamouse bc23615508 Input: fix initial mouse config reload 2024-08-08 22:34:20 +02:00
Megamouse 548cc074f4 input: log all config file content if used 2024-08-08 22:34:20 +02:00
Darkhost1999 3970b7b754
Class "llvm:StringRef" has no member 'Startswith' (#15898) 2024-08-08 21:40:52 +02:00
Jérémy Francart 20598960a5
PINE: Fix socket naming for Mac and Linux to match protocol specification (#15906)
This commit fixes the socket file name for Mac and Linux users.
Essentially, the port is now only concatenated to the socket name if it
is different than the default port.
This change was made to match with the specification of the PINE
protocol and the other emulators implementing it.
2024-08-08 20:08:28 +02:00
kd-11 1200bbe7cc Address review comments 2024-08-08 13:40:07 +03:00
kd-11 fa7e0e4758 Do not include arm sources by default 2024-08-08 13:40:07 +03:00
kd-11 9d87e444ac Clear hv context 2024-08-08 13:40:07 +03:00
kd-11 294bebb4a7 Fix SPU compilation 2024-08-08 13:40:07 +03:00
kd-11 140fddbba8 Initial SPU bringup 2024-08-08 13:40:07 +03:00
kd-11 bc1b0eb41b Improve comments 2024-08-08 13:40:07 +03:00
kd-11 42d47b61a0 Fix dependency injection on terminators 2024-08-08 13:40:07 +03:00
kd-11 839a25e129 Bump scratch to 8k 2024-08-08 13:40:07 +03:00
kd-11 7979c5d9eb Finalize PPU migration to the frame pass system 2024-08-08 13:40:07 +03:00
kd-11 cba658baba Complete PPU support 2024-08-08 13:40:07 +03:00
kd-11 34549445a8 Migrate PPU to post-process execution model 2024-08-08 13:40:07 +03:00
kd-11 a976ac3353 jit: Add aarch64 JIT backend for pre-codegen transforms 2024-08-08 13:40:07 +03:00
kd-11 52c8b1ecbb Silence compiler noise on non-x86 architectures 2024-08-08 13:40:07 +03:00
kd-11 56cc5d9355 Initial PPU LLVM implementation for aarch64 2024-08-08 13:40:07 +03:00
Megamouse a5f9256ac6 cellMic: skip alcCaptureSamples loop if num_samples is 0
Also use early out instead of ensure in get_data
2024-08-08 01:39:43 +02:00
Megamouse 9505f8116b cellMic: only allocate temp_buf if needed 2024-08-08 01:39:43 +02:00
Megamouse a5bd22b0cf cellMic: free temp_buf if on mic close 2024-08-08 01:39:43 +02:00
Megamouse 1b5ec785f5 cellMic: do not copy samples to intermediate buffer unless necessary 2024-08-08 01:39:43 +02:00
Megamouse 80e1b1adf4 cellMic: only call get_data once 2024-08-08 01:39:43 +02:00
Megamouse 6a6cd82070 cellMic: simplify BE translation loop
We are looping over each channel of each sample without gaps.
So we can just make it a single loop.
2024-08-08 01:39:43 +02:00
Megamouse 161edbf2f6 cellMic: make bit_resolution and channel_size constexpr
This allows us to optimize and inline variable_byteswap
2024-08-08 01:39:43 +02:00
Megamouse 667db0f2de cellMic: remove duplicate code and add size checks 2024-08-08 01:39:43 +02:00
Megamouse f09d22a00d cellMic: check device ptr and log openal error codes 2024-08-08 01:39:43 +02:00
Joshua de Reeper f1d4e500ba sys_usbd: Default replies for Dimensions Color Commands 2024-08-06 20:42:28 +02:00
Megamouse b5aac6d802 cellMic: fix type conversion warning 2024-08-06 00:42:24 +02:00
Megamouse 43c3a15a50 MSVC: Fix openal import warnings
Fixes warnings like: symbol 'alcGetString' defined in ... is imported by ...
2024-08-06 00:42:24 +02:00
Elad Ashkenazi 9f8d9c5d10 SPU LLVM: Revert store postponing restrictrictions 2024-08-05 19:36:26 +02:00
Megamouse 4084e6f584 Dimensions: default init figures 2024-08-05 16:07:55 +02:00
Megamouse 7fa2987bb9 Infinity: Early out instead of scope 2024-08-05 16:07:55 +02:00
Megamouse 09ead1b6ea Dimensions: try to fix out of bounds array access 2024-08-05 16:07:55 +02:00
Megamouse bc07b9e659 Dimensions improve locks (maybe) 2024-08-05 16:07:55 +02:00
Megamouse 5bd2fd3391 Dimensions: make some functions static 2024-08-05 16:07:55 +02:00
kd-11 4030193f31
Case-insensitive path compare for module verifier (#15889) 2024-08-04 15:46:08 +02:00
Megamouse a1dcf1f717 Qt/trophies: allow to delete a game's trophy directory 2024-08-04 11:46:16 +02:00
Megamouse f0ce40dff3 Qt/savedata: remove call with unreachable case
The function does an early out if the index is -1 anyway.
2024-08-04 11:46:16 +02:00
kd-11 f6b5511546 Improved wayland support 2024-08-04 02:59:03 +03:00
kd-11 0be1c41e63 Improve AMD CPU detection 2024-08-03 21:35:10 +03:00
kd-11 c8e81a2dad Return zen4 for zen5+ until LLVM upgrade 2024-08-03 21:35:10 +03:00
kd-11 dd708166aa Improve intel and apple detection 2024-08-03 21:35:10 +03:00
kd-11 3e7c1e207d Add fallback CPU detection when llvm is not aware of the CPU model 2024-08-03 21:35:10 +03:00
future-figs 8f51b0907a
change PSMove mouse button bindings (#15860) 2024-08-02 23:59:51 +02:00
Megamouse c4160a3887 Update MSVC redistributable URL 2024-08-02 21:40:30 +02:00
Megamouse b76fd38854 Run platform sanity checks after creating the log and log windows path 2024-08-02 21:40:30 +02:00
Daniel López Guimaraes 9db68e7d39 cellMic: Handle value 0 on CELLMIC_DEVATTR_CHANVOL
If arg1 is zero, all channels of the device are affected.
2024-08-02 19:29:42 +02:00
Daniel López Guimaraes ba3d16b48b cellMic: Fix CELLMIC_DEVATTR_CHANVOL handling
The microphone index given in `arg1` is 1-indexed, so we have to
subtract 1 from the index to access the proper value.

This wasn't caught up before since we were doing direct access of the
array instead of using `::at32` which wouldn't check that the value is
within bounds.

This allows the original SingStar game to boot up again, as it would
otherwise crash then trying to set the volume to the second channel due
to the index being out of bounds.
2024-08-02 19:29:42 +02:00
Megamouse c8ad075372 Update SDL to 2.30.6 2024-08-02 17:31:13 +02:00
Megamouse 9912552a85 Update FAudio to 24.08 2024-08-02 17:31:13 +02:00
Megamouse 0088c0375a Update curl to 8.9.1 2024-08-02 17:31:13 +02:00
Elad Ashkenazi 70502a698e
types.hpp: Format C arrays too for assert errors 2024-08-02 14:11:05 +03:00
kd-11 a323e753ff gl: Fix hang on windows 2024-08-01 20:17:16 +03:00
Megamouse e58ce626d5 Video Encode: do not set the frame_number
Fixes a deprecation warning, and it is supposed to be set by ffmpeg anyway.
2024-08-01 18:04:47 +02:00
Megamouse 106bf5145b Fix ffmpeg deprecation warnings 2024-08-01 18:04:47 +02:00
Elad Ashkenazi c5c51ec0c1 types.hpp: Add argument formatter to assert errors 2024-08-01 16:32:09 +03:00
kd-11 f64c912d02 gl: Fixes for asahi linux 2024-08-01 14:14:56 +03:00
Megamouse 7884bcc21d Fix unused function warning 2024-08-01 02:44:01 +02:00
Megamouse 7ebfe5ce69 Remove unused variable 2024-08-01 02:44:01 +02:00
Megamouse 08168c39c8 Fix std::move warning 2024-08-01 02:44:01 +02:00
Megamouse 319c533196 Silence deprecation warnings on MacOs 2024-08-01 02:44:01 +02:00
Megamouse 56b6b7e732 raw_mouse: Fix button map out of bounds access
- Reload the mouse config when the index changes.
- Clear the button map before reloading the config.
- Check if the button really is in the map.
2024-08-01 01:17:01 +02:00
Megamouse 30f49a61df DS4/DualSense/SDL: add touchpad support 2024-07-31 08:45:25 +02:00
Joshua de Reeper 12fbff22b2
sys_usbd: Allow 'Moving' figure to same slot on Dimensions Toypad (#15850) 2024-07-29 17:50:20 +02:00
Elad Ashkenazi 02aac2c52e sys_fs: Non-existant overflow bugfix
It would technically never overflow.. but this add minimal protection against adding beyond [PPU thread-count + entries count]
This does not induce an atomic loop which limits until entries.size() but is slower.
2024-07-28 12:36:42 +03:00
Elad Ashkenazi faabb9e111 Add SPU usage for program dump 2024-07-28 12:36:42 +03:00
Elad Ashkenazi b639599ade reduce logging 2024-07-28 12:36:42 +03:00
Elad Ashkenazi 91b4aaf9e1 PPU: Fix potential overflow 2024-07-28 12:36:42 +03:00
Elad Ashkenazi 700334753d cellMic: Fix potential overflow 2024-07-28 12:36:42 +03:00
Elad Ashkenazi d451c0867c Remove welcome dialog shortcut 2024-07-28 12:36:42 +03:00
Daniel López Guimaraes 501e9260b2 cellMic: Wake up upon registering emulated SingStar microphone
When using the emulated SingStar microphone, the device is only
registered when initializing `cellMic`. However, the `mic_context`
thread is only woken up when calling `register_device`. The registration
happens before initializing `cellMic`, so the thread is never woken up
after registering the device.

Add call to `wake_up` in `load_config_and_init` inside the emulated
SingStar microphone specific code to fix this issue, allowing the thread
to detect the device and update the microphone data.

This allows SingStar to receive the microphone data when using the
emulated SingStar microphone that it previously wasn't receiving.
2024-07-26 09:44:00 +03:00
kd-11 27047bb3dc vk: Fix VEGA float16 workaround 2024-07-25 14:23:36 +03:00
Megamouse 953af7589c Paint icons into rpcn status circles 2024-07-24 09:21:15 +02:00
Megamouse 14dea78ddc Add missing QPainter::end calls 2024-07-24 09:21:15 +02:00
Megamouse 5737ed3bce Fix some msvc warnings 2024-07-24 09:21:15 +02:00
Megamouse 82de139be5 Qt: Fix resolution dropdown if resolution flags of game are empty
Fixes custom config creation error for games that have no resolution.
Fixes empty dropdowns if resolution flags are 0 by adding all resolutions.
Make sure to keep 720p as option if the dropdown would be empty after all.
2024-07-22 23:41:40 +02:00
Megamouse c533dc969d input: reload gui settings when the visibility or the active window changes 2024-07-22 22:44:42 +02:00
Megamouse 34506daff6 input: log used pad config 2024-07-22 22:44:42 +02:00
Silent c0808448be sceNp: Fix sending partial results from sceNpScoreRecordGameData
Fixes Ghost Data in Ridge Racer 7
2024-07-22 21:52:33 +02:00
Megamouse f8a729f4b4 Improve dimensions dialog layout 2024-07-22 20:52:40 +02:00
Megamouse c021165483 Disable stereo render combobox if other resolutions than 720p are selected
Also move to custom configuration
2024-07-22 19:49:28 +02:00
Megamouse a21740f260 Rename resolutions to better convey irrelevance of aspect ratio 2024-07-22 19:49:28 +02:00
Pierrick Bouvier 3ab8922143 Fixed compilation
missing optional header (from commmit 500bf0f3f5)
2024-07-21 08:43:12 +02:00
shinra-electric c0edd1bf7a Bump mvk to 1.2.10 2024-07-20 22:41:49 +02:00
shinra-electric 25d71d818a Bump mvk to 1.2.10 in build script 2024-07-20 22:41:49 +02:00
Megamouse 5dc7a6a815 Fix MSVC filters 2024-07-20 07:37:17 +03:00
Megamouse e0fce6cc5b Fix some warnings 2024-07-20 07:37:17 +03:00
Florin9doi 7fba56f27b USB: Replace if/else with switch 2024-07-19 22:10:11 +02:00
Florin9doi 33d2b27b91 USB: Top Shot Fearmaster device emulation 2024-07-19 22:10:11 +02:00
Florin9doi 088b594fa8 USB: Top Shot Elite device emulation 2024-07-19 22:10:11 +02:00
Florin9doi a1a38b7b39 USB: Move uDraw GameTablet config from IO to Pads 2024-07-19 22:10:11 +02:00
Joshua de Reeper 500bf0f3f5 sys_usbd: Emulate Dimensions Toypad 2024-07-19 20:29:19 +02:00
Elad Ashkenazi a2534263fe Savestates/PPU: Ensure correct PPU state on MMIO 2024-07-19 14:31:19 +03:00
Elad Ashkenazi 77e8f9a8ab SPU: Utilize Operating System sleep in detected RCHCNT loop 2024-07-19 14:31:19 +03:00
Silent f3ceebabd9 sceNp: Improve SceNpCommunicationId logging 2024-07-18 21:42:07 +03:00
Silent 9e094fded6 Do not set the data size in sceNpBasicGetEvent for SCE_NP_BASIC_EVENT_OFFLINE
There is no data associated with this event,
size is not supposed to be set.
2024-07-18 21:42:07 +03:00
MSuih ebcb403411 Remove Alipay link from FUNDING.yml 2024-07-18 20:44:04 +03:00
RipleyTom dd9b3c651f Support old sceNpScoreRankData 2024-07-18 18:29:49 +02:00
oltolm 065a64371e improve CMake files
Signed-off-by: oltolm <oleg.tolmatcev@gmail.com>
2024-07-13 15:39:29 +02:00
Megamouse 99b44cf33a Update FAudio to 24.07 2024-07-09 19:15:50 +02:00
Megamouse d6380a1084 Update Wolfssl to 5.7.2 2024-07-09 19:15:50 +02:00
Megamouse dd4fde9599 Update SDL to 2.30.5 2024-07-09 19:15:50 +02:00
Megamouse 8236b58a29 cellGem: fix camera format conversions
Use interleaved RGBA format and get rid of BE/LE differences.
2024-07-08 23:11:03 +02:00
Megamouse 7ea64b53ad Qt: Fix camera id and format when default is selected 2024-07-08 20:16:23 +02:00
Megamouse 441b324afe Qt: Fix camera string comparison in settings_dialog
The id() contains a QByteArray, not a QString.
2024-07-08 20:16:23 +02:00
Elad Ashkenazi 669ce1faca Fixup compilation
And reduce limit for PUTLLC16 block scan
2024-07-08 10:06:56 +03:00
Elad Ashkenazi f08d4a53b3 SPU: Make users tell what games matter for channel pattern 2024-07-08 10:06:56 +03:00
Elad Ashkenazi 7f8eec9dca Disable PUTLLC16 again 2024-07-08 10:06:56 +03:00
Elad Ashkenazi 8333830bd7 Progress Dialog: Stabilize remaining time 2024-07-08 10:06:56 +03:00
Elad Ashkenazi 2ca5d23aac SPU Analyzer: Make register state evaluation shorter 2024-07-08 10:06:56 +03:00
Elad Ashkenazi aa5284c8f1 [WIP] SPU: Channel Loop Pattern Detection 2024-07-08 10:06:56 +03:00
Florin9doi a1d2a72a78 USB: GunCon3 updates
-Process the mouse buttons even when x/y_max aren't yet determined.
 -Allows to start the calibration without shaking the mouse before.
-Extend support to 4 players. The games can't use more than 2, but it
allows more flexibility to mix DS3 and GC3.
-Avoid OOB for unsupported Pads
2024-07-07 18:34:52 +02:00
Florin9doi 58d27a9438 Pad: Simplify is_fake_pad logic 2024-07-07 18:34:52 +02:00
MSuih b4e4aa9822
Improve error message when update cannot be installed due to version mismatch (#15773)
* Show the relevant versions whenever update fails to install due to version difference
2024-07-07 15:23:25 +02:00
Megamouse 856d8c303d Fix some visual studio filters 2024-07-07 01:09:45 +02:00
Megamouse f0713c8940 Input/Overlays: show pressure intensity toggle hint 2024-07-06 19:58:53 +02:00
Megamouse d23ac6f598 input: move player_id to pad struct 2024-07-06 19:58:53 +02:00
Megamouse 6948c0a30a Qt: disable battery LED settings if the pad handler doesn't support it 2024-07-06 18:55:48 +02:00
Megamouse 4c11554d2c Qt: fix player LED groupbox label 2024-07-06 18:55:48 +02:00
Megamouse 20f906bf9b input: add battery LED flag and some getters 2024-07-06 18:55:48 +02:00
Megamouse 1a61a7a39f input: allow running pad thread without emulation 2024-07-06 18:55:48 +02:00
Megamouse 0db7ab64ee Camera: copy JPG and RGBA data if needed 2024-07-06 18:55:48 +02:00
Elad Ashkenazi 33851d51ab Fixup and Improve CELL reservation notifications 2024-07-01 18:59:26 +03:00
5kft 6ddb21ab95
revert pull request #15618 2024-07-01 07:35:59 +03:00
Megamouse 289b70d276 input: implement HidDevice::close
Preparing for further ps move additions down the line.
2024-06-30 12:51:24 +02:00
Megamouse eab1c1260c cellGem: Implement cellGemEnableMagnetometer2 2024-06-30 12:51:24 +02:00
Megamouse 61435d26dc VS: fix MouseHandler.cpp filter 2024-06-30 12:02:37 +02:00
Megamouse fc0878e688 Fix midi drum config loading 2024-06-30 12:02:37 +02:00
Megamouse 352229efbd Fix some warnings 2024-06-30 12:02:37 +02:00
Megamouse 44e4e67aa8 Simplify duplicate mouse handler init code 2024-06-30 12:02:37 +02:00
Megamouse c9a082614d input: ignore raw mouse double click when used as move handler 2024-06-30 12:02:37 +02:00
Elad Ashkenazi f948a80242 CELL: More efficient reservation notificatins 2024-06-30 07:46:14 +03:00
Elad Ashkenazi c71edc0719 Remove check_state() inside thread notifiatios
This was a flawed concept due to risk of deadlocks.
Worst case some we will focus o performanc regressins indvidually as we should and not accept this bug.
2024-06-29 14:02:12 +03:00
kd-11 71524271e9 rsx: Fix codegen when depth-conversion is enabled 2024-06-28 12:13:33 +02:00
Megamouse d5923ef808 Fix weird new gcc namespace warning 2024-06-28 00:24:07 +02:00
kd-11 ef136acb6c Whitespace fix 2024-06-27 22:55:56 +02:00
kd-11 a5956cfa82 rsx: Fix wrapped/clamped MSAA sampling behavior with dynamic flags 2024-06-27 22:55:56 +02:00
Megamouse 703de01ebf input: actually initialize midi drum notes and combos 2024-06-27 22:14:35 +02:00
Megamouse 8343e35146 cellCamera: improve error logging 2024-06-27 19:12:34 +02:00
Megamouse 0679b502f2 input: allow dynamic change of midi drum config 2024-06-27 19:12:34 +02:00
Megamouse e790842007 input: allow dynamic change of mouse configs 2024-06-27 19:12:34 +02:00
Elad Ashkenazi a9d53e98de SPU LLVM: Fix LSA masking for PUTLLC16, disable RTIME checks 2024-06-27 16:58:23 +03:00
Elad Ashkenazi 908082e7c3 Silence some cellGem logging 2024-06-27 16:58:23 +03:00
Elad Ashkenazi 8ec6187dc7 SPU Analyzer: Fix support for multi-block value merge 2024-06-27 16:58:23 +03:00
shinra-electric 50ce4cbea5 Update build script to MoltenVK 1.2.9
Updates from 1.2.7 to 1.2.9
Homebrew had issues with 1.2.8, so we skipped that version.
2024-06-27 03:52:09 +02:00
shinra-electric 3904900243 Update MoltenVK
Updates from 1.2.7 to 1.2.9
Homebrew had problems with 1.2.8, so skip that version.
2024-06-27 03:52:09 +02:00
SuperSamus 33d6e6ce6c skylander_dialog: Fix Drill Sergeant's name 2024-06-27 03:13:17 +02:00
Megamouse 363a4dbdef Fix warning: dangling pointer (construct string_view from temporary string) 2024-06-27 03:21:35 +03:00
Megamouse e635abe552 Fix warning: std::move of const variables 2024-06-27 03:21:35 +03:00
Megamouse df6bec236f input: Use same dualsense gyro values as linux kernel 2024-06-27 01:15:23 +02:00
Megamouse 78cb7963fb input: invalidate ds4/dualsense calibration instead of disabling the controller 2024-06-27 01:15:23 +02:00
Megamouse b251d81065 input: fix minimum turntable input
DJ Hero does not register input if the turntable is 0, so force it to 1.
This will happen if you map it to the left stick and push it all the way down,
or if you use a keyboard, which sends the max value on key press.
2024-06-26 23:45:00 +02:00
Megamouse 11ee80a070 input: add missing lock to keyboard handler ReleaseAllKeys
This should fix a segfault I encountered when closing a game.
I think the consumers were removed while the window went out of focus.
2024-06-26 22:19:56 +02:00
Megamouse 8050e1f853 input: fix ds3 gyro offset 2024-06-26 17:19:06 +02:00
Elad Ashkenazi f18e3be4f2
Cut scenNpDrmIsAvailable sleep time by half 2024-06-25 10:02:53 +03:00
Elad Ashkenazi 87f5368d3c PPU: Fix access violation on logging 2024-06-23 19:29:13 +03:00
Megamouse 945bfaf0ea input: differentiate between left and right modifier keys 2024-06-23 15:54:13 +02:00
Megamouse 1cef7df006 input: add missing control key to basic keyboard
The meta key logic changed, so we now have to add it.
2024-06-23 15:54:13 +02:00
Megamouse c2899ad4cb Replace sys_io log channel with cell module log channels
For more granular log filtering
2024-06-23 15:54:13 +02:00
MSuih 7e274a1ff4 Fix locale on linux 2024-06-23 12:15:42 +02:00
Megamouse 7e27e1420e input: try to fix macOS SDL crash 2024-06-23 09:31:48 +02:00
Megamouse 7367f72f4a Update SDL to 2.30.4 2024-06-23 08:25:45 +02:00
Megamouse 81f1f49d5d Update 7zip to 24.07 2024-06-23 08:25:45 +02:00
Elad Ashkenazi bceaf46e2f Savestates/Mouse: Fix Mouse handler use 2024-06-20 20:25:07 +03:00
Elad Ashkenazi 649714429b SPU: Notify threads on RdEventStat properly 2024-06-20 00:51:51 +03:00
Elad Ashkenazi dbb02241c5 SPU: Cleanup GETLLAR 2024-06-20 00:51:51 +03:00
Elad Ashkenazi f228ca7961 SPU LLVM: Avoid sinking stores out of non-loops 2024-06-20 00:51:51 +03:00
Elad Ashkenazi 5b973448bf SPU: Better GETLLAR spin detection 2024-06-15 22:41:52 +03:00
Elad Ashkenazi d5935a37bb SPU: Notify threads if data changed in RdEventStat 2024-06-15 22:41:52 +03:00
Elad Ashkenazi 5693cc9eb3 SPU: smart GETLLAR spin detection 2024-06-15 22:41:52 +03:00
RipleyTom feff2ba09e Fix race in sys_net select and poll 2024-06-14 10:52:34 +03:00
Elad Ashkenazi caf81f1367 LV2: Race condition fixup 2024-06-12 12:41:15 +03:00
Elad Ashkenazi f58b418b7d LV2: Optimization for timeout 2024-06-12 11:31:56 +03:00
Elad Ashkenazi cec976b70a Minor fix of sys_lwmutex_destroy 2024-06-12 11:31:56 +03:00
Elad Ashkenazi 1e5f6ba39c Fix sys_lwmutex_lock for SYS_SYNC_RETRY 2024-06-12 11:31:56 +03:00
Megamouse b8452d29d6 input: move pad_state_notify_state_change to pad_thread 2024-06-12 08:24:12 +02:00
Megamouse b0d4858e42 vm_ptr: return nullptr and add some nullptr deref checks 2024-06-12 06:48:48 +03:00
kd-11 8d6c957cbc rsx: Fix simple_array<T>::map 2024-06-12 04:02:12 +03:00
Megamouse 1e5cd7f140 sceNp: fix print_get_roomdata_external_list_resp pointer checks 2024-06-12 00:18:37 +02:00
Megamouse e64d09b6f7 sceNpCommerce2: check sku_ids 2024-06-12 00:18:37 +02:00
Megamouse 4d09ba5080 sceNp: add some more rpcn array pointer checks
These probably return an error on real firmware...
2024-06-12 00:18:37 +02:00
Megamouse c8e2b9cb99 sceNp: add some more array pointer checks 2024-06-12 00:18:37 +02:00
Megamouse be863e763f sceNp: add array sanity checks to print functions 2024-06-12 00:18:37 +02:00
Megamouse cc19685207 Qt: log error cause on shortcut icon creation 2024-06-11 22:31:47 +02:00
Megamouse 461862be46 rsx: make some functions const 2024-06-11 20:35:49 +02:00
Megamouse 1c7850de17 rsx: fix warnings and add missing default cases 2024-06-11 20:35:49 +02:00
Megamouse f4622fac41 Fix yet another warning 2024-06-11 20:35:49 +02:00
Megamouse 244e9c96ad ds3: use input_report struct 2024-06-11 00:09:38 +02:00
Megamouse 645621b243 Dualsense/DS4: Replace buffers with human readable structs
Also don't turn off the lights when the game closes.
2024-06-11 00:09:38 +02:00
kd-11 2647a09790 rsx: Avoid the complex remapper checks if the texture isn't in the XINT8 group 2024-06-10 20:41:45 +03:00
kd-11 bee14cad16 rsx: Do not apply texture remapping operations to "1" overrides. 2024-06-10 20:41:45 +03:00
kd-11 e966289ddb rsx: Drop hard requirement for GL_EXT_shader_integer_mix 2024-06-10 20:41:45 +03:00
kd-11 32a5641ace Annotations 2024-06-10 20:41:45 +03:00
kd-11 d6ed56aed6 rsx: Fix refactoring mess 2024-06-10 20:41:45 +03:00
kd-11 14e1214645 rsx: Properly implement 8-bit signed renormalization for textures 2024-06-10 20:41:45 +03:00
Elad Ashkenazi 0b22423ab8 Minor fs::file usage fixes
Do not crash on file creation failure. Make some config writes atomic.
2024-06-10 13:45:23 +03:00
Elad Ashkenazi 4c9296c07f Game List: Add shortcut to open cache dir
Enabled whenever debug tab is in order to protect important caches such as PPU from accidental deletion.
2024-06-10 13:45:23 +03:00
Elad Ashkenazi 8b1e7c6a48 SPU: Enable PUTLLC16 with RTIME checks 2024-06-10 09:17:38 +03:00
brian218 c73302f715 sys_ppu_thread: Fixed up sys_ppu_thread_join()'s check for detached threads
sys_game: Corrected sys_game_set_system_sw_version()'s error code
2024-06-10 07:44:49 +03:00
Elad Ashkenazi 6fff22391c PPU Analyzer: Utilize exported functions 2024-06-08 14:09:37 +03:00
Elad Ashkenazi 6d280c5f3c Ensure PPU Compilation Hint is refreshed 2024-06-08 14:09:37 +03:00
Elad Ashkenazi 929be0b4e6 PPU LLVM: Implement OE for few instructions 2024-06-08 14:09:37 +03:00
Elad Ashkenazi 4e8e5a7fed PPU Debug: Dump decrypted PRX 2024-06-08 14:09:37 +03:00
Elad Ashkenazi 721e55458c PPU Analyzer: Fixes 2024-06-08 14:09:37 +03:00
Megamouse 5a13c02774 SPU: Silence some warnings 2024-06-08 01:54:24 +03:00
Megamouse c15121377f Input: Implement anti deadzone 2024-06-07 21:18:37 +02:00
Megamouse 5b6f340a7b openal: add headers to msvc 2024-06-07 21:18:37 +02:00
Megamouse b52deed4dd cellGem: Fix raw mouse connection state 2024-06-07 00:25:49 +02:00
Megamouse 2199aa0635 Fix some tooltips 2024-06-07 00:25:49 +02:00
Elad Ashkenazi 5c1a1a30ee SPU Analyzer: Fix BRA instruction targets 2024-06-06 21:13:24 +03:00
Elad Ashkenazi 47fe955d35 SPU LLVM: Ensure programs are written to disk irregardless of failure 2024-06-06 21:13:24 +03:00
Elad Ashkenazi ac5d907002 SPU: Remove inaccurate GETLLAR option 2024-06-06 19:27:52 +03:00
Elad Ashkenazi 55ed95b42c SPU Analyzer: Minor PUTLLC16 bugfixes 2024-06-06 19:27:52 +03:00
RipleyTom 1ec523b018 Fix stb cmake build 2024-06-06 15:02:47 +02:00
Megamouse d5747a61f1 Add stb submodule 2024-06-06 15:02:47 +02:00
Megamouse eb574e8a35 Fix config_mouse.yml path on windows 2024-06-06 15:02:47 +02:00
Megamouse ff3fb3da65 Use openal-soft submodule and link statically 2024-06-06 15:02:47 +02:00
Megamouse 57375ca13f zstd: fix msvc ProjectName 2024-06-06 15:02:47 +02:00
Megamouse de48646581 Update FAudio to 24.06 2024-06-06 15:02:47 +02:00
Megamouse f4bb7a9d29 Update 7zip to 24.06 2024-06-06 15:02:47 +02:00
Ani bd8590212d OpenAL: Fix crash when loading certain audio devices
Updates the OpenAL binary from 1.19.1 to 1.23.1, the headers/libraries were updated in the past but the binary was forgotten. This fixes https://github.com/RPCS3/rpcs3/issues/14502.
2024-06-06 01:19:10 +02:00
Ani c475c72ead Cirrus: Update to FreeBSD 13.3 2024-06-06 00:19:00 +02:00
Sanjay Govind d9ec33f51e
USB: If a Santroller device is in use elsewhere, don't send it commands (#15655) 2024-06-04 01:17:33 +02:00
Elad Ashkenazi 64127b5c1b buffer_stream.hpp: Try to fix MacOS compilation 2024-06-03 09:55:24 +03:00
Elad Ashkenazi 4f1db9a00f Unix/Savestates: Fix savestates destination 2024-06-03 09:55:24 +03:00
trigger ba29a37871 sys_net: properly return error in sendto 2024-06-03 04:31:45 +03:00
Elad Ashkenazi e5ce88f007 SPU LLVM: Disable PUTLLC16 temporarily 2024-05-31 16:10:15 +03:00
kd-11 53b81af704 vk: Dump diagnostic messages if device creation fails 2024-05-30 21:16:12 +03:00
Elad Ashkenazi 67893fb8f8 PPU Progress Hint: Show it as long as it needs 2024-05-30 11:41:24 +03:00
Elad Ashkenazi 8fa23436f9 PPU Analyzer: Unuse per-instruction compilation on fallback 2024-05-30 11:41:24 +03:00
Elad Ashkenazi e75eec7392 System.cpp: Fix crash on fatal error during Ready state
Also remove the assert from BlockingCallFromMainThread, in some cases it may even be correct. Each case needs to be inspected alone.
2024-05-30 11:41:24 +03:00
Elad Ashkenazi 26b21ed031 LLVM: Prevent crash on disk space shortage 2024-05-30 11:41:24 +03:00
Elad Ashkenazi c556322fc5 LLVM: Fix nullptr deref when accessing broken cache files 2024-05-30 11:41:24 +03:00
Elad Ashkenazi a6b2bf69f1 SPU Debug: Fix crash on missing directory 2024-05-30 11:41:24 +03:00
Elad Ashkenazi 0da51d25bc SPU: Add block prefix to log if available 2024-05-30 11:41:24 +03:00
KF c47212ff90 fix typo from PR 15636 2024-05-29 14:14:13 +03:00
kd-11 9fb79b8930 vk: Fix typo 2024-05-29 03:28:18 +03:00
kd-11 d545aa01b2 vk: Add support for NVK driver 2024-05-29 03:28:18 +03:00
kd-11 2162b7e67f vk: Use std::set 2024-05-29 03:28:18 +03:00
kd-11 93040fc757 vk: Don't always preserve the renderpass for all drivers when doing transform hot-patch 2024-05-29 03:28:18 +03:00
Megamouse a3457c29cb Overlays: allow ldd input even if len is 0
Rock Band 3 doesn't seem to care about the len. It's always 0.
2024-05-26 10:54:12 +02:00
Megamouse c0ed56cba0 cellKbCnvRawCode: don't use caps lock as shift lock unless we are using the qwertz or azerty layout 2024-05-26 08:32:32 +02:00
Megamouse 4bc719470c osk: use cell key code in CellOskDialogKeyMessage (🤦 we don't need the Qt code) 2024-05-26 08:32:32 +02:00
Megamouse c01f0bffde cellKb: Clarify cellKbCnvRawCode alphabet conversion 2024-05-26 08:32:32 +02:00
Megamouse 0e32f19de8 input: remove unused parameter 2024-05-25 22:23:15 +02:00
Megamouse ab15584eed Add 7zip submodule 2024-05-25 22:23:15 +02:00
Megamouse ed579fbb9c Remove 7z copy pasta repo 2024-05-25 22:23:15 +02:00
Megamouse 21c03b74b6 input: only unregister devices if there is no other handler registered
Also center mouse if a new device was added
2024-05-25 00:51:05 +02:00
Megamouse 657acc90e4 input: fix ingame raw mouse enumeration 2024-05-25 00:51:05 +02:00
Megamouse fa144d3307 input/qt: enumerate raw mouse devices once a seconds in the config dialog 2024-05-25 00:51:05 +02:00
Megamouse 5cc05d082d qt: ignore right click to clear input config button if the button is disabled 2024-05-25 00:51:05 +02:00
Megamouse 49712f8f4e input/qt: increase max raw mouse devices to 16 2024-05-25 00:51:05 +02:00
Megamouse b0550027c3 input: implement raw mouse hot swap 2024-05-25 00:51:05 +02:00
Megamouse c78e717ef6 input: add mutex for raw mice 2024-05-25 00:51:05 +02:00
Megamouse 9c2e6a8f31 input: only unregister raw mouse devices if they were registered 2024-05-25 00:51:05 +02:00
Megamouse 898c92045d input: add all mice that were requested. only connect the ones that exist 2024-05-25 00:51:05 +02:00
Megamouse b3df439c51 input: add timer to raw mouse enumeration 2024-05-25 00:51:05 +02:00
Megamouse b56f9490f5 input: move raw mouse register logic to own function 2024-05-25 00:51:05 +02:00
Elad Ashkenazi 3dfbd14de2 SPU LLVM: Implement PUTLLC16 for accurate RSX reservations 2024-05-24 14:14:42 +03:00
Megamouse e8899bf9fc Update curl to 8.8.0 2024-05-24 00:12:59 +02:00
Elad Ashkenazi e94928318e SPU LLVM: Disable PUTLLC16 optimization on accurate RSX reservations 2024-05-23 19:38:31 +03:00
Elad Ashkenazi d3ab62c4b1 RSX/SPU: Import and improve RSX accurate reservations functionality 2024-05-23 19:38:31 +03:00
Elad Ashkenazi b3c9f7647f Savestates/SPU LLVM: Fix sinking store finally 2024-05-22 12:58:43 +03:00
Megamouse 5d6d42d15d input: fix now_connect in raw mouse handler 2024-05-21 23:35:35 +02:00
Megamouse 58863c0c41 input/qt: Keep configured raw mouse device in list even if it is not connected 2024-05-21 23:35:35 +02:00
Megamouse 13673d2c79 input/qt: fix out of bounds exception when using button ids in raw mouse config dialog 2024-05-21 23:35:35 +02:00
Megamouse 2978a9aa40 input: fix reading mouse buttons from guncon cfg 2024-05-21 23:35:35 +02:00
Megamouse 9ceacd4867 input: remove No Button string from raw mouse config 2024-05-21 23:35:35 +02:00
Megamouse 32a938abd2 input/qt: allow to map mouse buttons in the guncon config 2024-05-21 23:35:35 +02:00
Megamouse 5a08ae4f41 input/qt: let user choose raw mouse device 2024-05-21 23:35:35 +02:00
Megamouse dae4eb2d0e raw_mouse: fix out of bounds error 2024-05-21 23:35:35 +02:00
Megamouse 1600ca2c03 input: add horizontal mouse scroll/tilt to mouse handlers 2024-05-21 23:35:35 +02:00
Megamouse bf85902485 input: move mouse handler code to cpp 2024-05-21 23:35:35 +02:00
Megamouse 7ffb61f650 Qt: use mouse input to map basic mouse buttons 2024-05-21 23:35:35 +02:00
Megamouse eb8ab8ef15 implement mouse handler config 2024-05-21 23:35:35 +02:00
deReeperJosh 3ba4c8a1c7 Add 2 more slots for Power Discs on Infinity Base 2024-05-21 18:59:55 +03:00
Elad Ashkenazi afa7a27f33 SPU Analyzer: Minor bugfix 2024-05-21 16:37:54 +03:00
Elad Ashkenazi e1a0887f51 SPU Analyzer: Implement loop analysis 2024-05-21 16:37:54 +03:00
Eladash ff42459239 SPU Analyzer: Improve value propagation 2024-05-21 16:37:54 +03:00
Eladash 71dd22a55d SPU LLVM: Avoid notifications in cellSync SPU functions
Identify them using their unique error codes.
2024-05-21 16:37:54 +03:00
Eladash f9345c7699 SPU LLVM: PUTLLC 16 Optimization
Also, do not check LR event if already raised in PUTLLC
2024-05-21 16:37:54 +03:00
Elad Ashkenazi a2dcbb9c13 Replace src_loc with std::soource_location 2024-05-21 14:19:12 +03:00
Elad Ashkenazi 2d32ba5ca2 Rename Suspsend to Anti-Cheat Savestates
The original naming was derived from the Developer perspective, but it does not help the actual user.
2024-05-21 14:19:12 +03:00
Elad Ashkenazi 7b3c9bea58 StrFmt.h: Fix throw_exception log message 2024-05-21 14:19:12 +03:00
Elad Ashkenazi 351bf49d9f SPU Debug: Fix GUI thread halt on log massive messages 2024-05-21 14:19:12 +03:00
Elad Ashkenazi 164c3fa9cb sys_tty: Reduce thread dump log spam
Some games just log random errors.
2024-05-21 14:19:12 +03:00
Elad Ashkenazi 89299eb1f7 Reduce logging of some SPU debug data 2024-05-21 14:19:12 +03:00
Elad Ashkenazi dae83c53fb rsx/vk: Derstroy shader workers on thread exit 2024-05-21 14:19:12 +03:00
Elad Ashkenazi ad41796ddb Settings: Tell the user how to disable log limit 2024-05-21 14:19:12 +03:00
RipleyTom e42ba05883 Improve match2 ctx context start 2024-05-19 20:06:49 +02:00
RipleyTom b83f1e7694 Improve CB accuracy for Avc2 2024-05-19 19:16:30 +02:00
Elad Ashkenazi 6fbe4c3e2e cellSysutil: Implement dispatcher callback unloading 2024-05-19 09:26:26 +03:00
Piotr Paweł Stefaniak fe9bb31b09 Avoid repeating the -march flag
Under the right circumstances, both -march=armv8.1-a and -march=native
were added. But it only makes sense to use one or the other.
2024-05-19 02:49:00 +02:00
Megamouse 8dac5e34be Fix GunCon3 encoding 2024-05-18 19:17:08 +02:00
Megamouse 9a8ed80026 memory_viewer_panel: use existing thread_class instead of extra enum 2024-05-18 16:16:08 +02:00
Megamouse ee7726c4ec fix GunCon3 warnings 2024-05-18 16:16:08 +02:00
Megamouse 99eb84c104 Fix some warnings 2024-05-18 16:16:08 +02:00
Megamouse 25ce3880c4 Replace get_thread_class with static cast for performance reasons 2024-05-18 16:16:08 +02:00
Megamouse b8f8d09f97 Fix spu_thread audit check 2024-05-18 16:16:08 +02:00
Megamouse ab923bc2c3 Add comment for thread_scheduler_mode::old to get_affinity_mask 2024-05-18 16:16:08 +02:00
Megamouse 10d85d4f51 CPUThread: remove m_class member due to bad ppu cache design 2024-05-18 16:16:08 +02:00
Megamouse 2637dc35a7 rsx: Initialize some uninitialized members 2024-05-18 16:16:08 +02:00
Megamouse dfee5b9a6c threads: replace magic number id_type with thread_class 2024-05-18 16:16:08 +02:00
Megamouse aff2588cce overlays/input: allow ldd pad input 2024-05-18 14:34:08 +02:00
Florin9doi dc05d38867 PAD: Fix ldd_data transfer 2024-05-18 12:30:15 +02:00
Joshua de Reeper 9ceb22a2c0 Add Skylander Dump File Types 2024-05-17 10:03:58 +02:00
Florin9doi db89c1d8b8 USB: Add GunCon 3 config window 2024-05-17 08:58:14 +02:00
Florin9doi ecedbc38ec Consolidate input products in a single place 2024-05-17 08:58:14 +02:00
RipleyTom 3e7ff4059e Add matching2 option handling 2024-05-16 22:38:11 +02:00
Megamouse ba379ceba2 spullvm: fix compilation: reference to local binding 'b2' declared in enclosing function
Also optimize some unnecessary vector lookups
2024-05-16 03:05:17 +03:00
RipleyTom 0a956906de fix size calculation in get_member_and_attrs 2024-05-15 17:57:12 +03:00
kd-11 75d6765adc gl: Handle GCM_FORMAT_G8B8 readback compatibility check 2024-05-15 04:18:12 +03:00
Elad Ashkenazi 6bceebbb1a CMake fixes
Thanks to @RipleyTom

Co-Authored-By: RipleyTom <RipleyTom@users.noreply.github.com>
2024-05-14 19:36:48 +03:00
Elad Ashkenazi 6d8575d0d0 Savestates: Warn on invalid SPU save state 2024-05-14 19:36:48 +03:00
Elad Ashkenazi 32e01b5f1a Savestates/SPU LLVM: Fix sinking stores
Found thanks to mr spaces.
2024-05-14 19:36:48 +03:00
Elad Ashkenazi 302fe53704 Log SPU access violation in always-level 2024-05-14 19:36:48 +03:00
Elad Ashkenazi 66008d5ca4 Savestates: Multi-threaded compression, use ZSTD 2024-05-14 19:36:48 +03:00
Elad Ashkenazi 7c313703a2 Savestates: Fix SPU pause from access violation handler 2024-05-14 19:36:48 +03:00
Elad Ashkenazi 2eabc77deb Hide Game Window as soon as emulation closes 2024-05-14 19:36:48 +03:00
Elad Ashkenazi 22b566cb15 Progress Dialog: Extremely important text fix
Thanks to mr spaces.
2024-05-14 19:36:48 +03:00
Eladash 2243e22630 sys_fs: Fix race in file stream API 2024-05-14 19:36:48 +03:00
kd-11 781c5a76d9 rsx: Fix processing of deferred indexed draw parameter updates 2024-05-14 16:32:41 +03:00
Florin9doi 0e3fd6a582 Remove duplicated code for USB connection/disconnection 2024-05-14 09:05:03 +02:00
Florin9doi d1b4d4b599 Remove the redundant config for GunCon3 2024-05-14 09:05:03 +02:00
Florin9doi 65455b454e Hotplug support for emulated devices 2024-05-14 09:05:03 +02:00
Florin9doi 941c87f6d7 Create a device class for GunCon3 which is ignored by cellPad 2024-05-14 09:05:03 +02:00
Florin9doi aa8fbf8102 Rename is_fake_move to fit other devices 2024-05-14 09:05:03 +02:00
RipleyTom a50683d6ca
sys_net improvements (#15584)
Also remove redundant ensures
2024-05-13 05:35:08 +03:00
kd-11 fc92aef4d1 vk: Perform the buffer update without splitting the renderpasses 2024-05-12 21:26:25 +03:00
kd-11 62eb9c2012 vk: Allow barriers to optionally skip renderpass splitting
- This is allowed by spec when we don't care about what happens outside the renderpass
2024-05-12 21:26:25 +03:00
kd-11 37c9392e59 rsx: Initialize some vars 2024-05-12 21:26:25 +03:00
kd-11 0d0fc23f9e rsx: Use range intersection to speed up xform constants patching 2024-05-12 21:26:25 +03:00
kd-11 b0375d9c9a rsx: Add a base class for vertex programs and implement range intersection for constant IDs 2024-05-12 21:26:25 +03:00
kd-11 cc313bfba1 gl: Implement transform constants patching 2024-05-12 21:26:25 +03:00
kd-11 4cf7b7022e gl: Memoize the bound range for a buffer 2024-05-12 21:26:25 +03:00
kd-11 3ef1eb8529 vk: Minor cleanup 2024-05-12 21:26:25 +03:00
kd-11 3a466d6fd2 vk: Whitespace fix 2024-05-12 21:26:25 +03:00
kd-11 3fa6064068 vk: Silence some warnings 2024-05-12 21:26:25 +03:00
kd-11 a09111052a rsx/vk: Implement batched transform constant updates 2024-05-12 21:26:25 +03:00
kd-11 ac6f77a744 rsx: Provide a supplementary argument to the command barriers 2024-05-12 21:26:25 +03:00
kd-11 9e1019b1cf rsx: Start splitting off some stuff into the graph backend class 2024-05-12 21:26:25 +03:00
kd-11 77b9e6560b vk: Fix a spec violation 2024-05-12 21:26:25 +03:00
kd-11 279393337e vk: Implement dynamic transform constant updates 2024-05-12 21:26:25 +03:00
kd-11 96793193b5 rsx: Implement deferred request size io buffer where we do not know the size beforehand. 2024-05-12 21:26:25 +03:00
kd-11 406a519400 rsx: Implement deferred transform constants load 2024-05-12 21:26:25 +03:00
Megamouse 70e40ce857 cellPad: don't report fake move pads as connected 2024-05-12 18:40:51 +02:00
Megamouse 5fb6be4bf6 vfs_directory: try to fix compilation on gcc 14.1 2024-05-11 18:40:55 +02:00
Florin9doi 7ac097255e USB: Disconnect the virtual device only for TRANSFER_NO_DEVICE error
Resolve: #15565
2024-05-10 06:56:02 +03:00
Megamouse c02aae417a Update SDL to 2.30.3 2024-05-09 08:16:26 +02:00
Megamouse 068642e53b Update FAudio to 24.05 2024-05-09 08:16:26 +02:00
RipleyTom b7a882f42b Split normal sockets and p2p sockets handling v2 2024-05-08 20:04:23 +03:00
Megamouse 04d6ff274b Move cache dir code to utils 2024-05-07 08:47:29 +02:00
Megamouse c11c286206 Adust vsh cache dir criteria 2024-05-07 08:47:29 +02:00
Megamouse bdeeae47a2 Qt: disable vsh removal options if vsh is running 2024-05-07 08:47:29 +02:00
Megamouse 453bb43629 Qt: allow to remove vsh cache in context menu 2024-05-07 08:47:29 +02:00
Megamouse e35b2e5daa Qt: allow to batch remove vsh cache 2024-05-07 08:47:29 +02:00
Megamouse f418ad74f5 VSH: move cache to /cache/vsh/ 2024-05-07 08:47:29 +02:00
oltolm 587d0b2c36 merge qt_music_error_handler into qt_music_handler 2024-05-06 01:57:52 +02:00
oltolm 86f86f516a merge qt_camera_error_handler into qt_camera_handler 2024-05-06 01:57:52 +02:00
Megamouse 11562c430a Qt: replace m_progress_dialog_timer with setMinimumDuration
No idea why this was done so complicated xD
2024-05-05 08:31:13 +02:00
Megamouse 5745862fa8 Qt: properly hide and show progress indicator
This was previously always shown, since we never really re-used the progress dialogs.
2024-05-05 08:31:13 +02:00
Megamouse 281f248d91 Qt: remove seemingly obsolete processEvents
Replace them with early outs on cancel.
The processEvents was probably added to allow user interaction.
But it works fine without it as far as I can tell.
2024-05-05 08:31:13 +02:00
Megamouse d6d6ce9c5f Qt: Keep progress dialog alive to fix rare segfaults 2024-05-05 08:31:13 +02:00
Elad Ashkenazi 3856b77e15 Savestates: Fix avconf serialization 2024-05-05 06:57:11 +03:00
Elad Ashkenazi 91a54c11eb Savestates: Fixup file write 2024-05-05 06:57:11 +03:00
Megamouse 0fcb0b7d8e cellVideoOutGetDeviceInfo: Fix Interlace typo for 1080p 2024-05-05 01:38:54 +02:00
Megamouse 9f90ca1b48 Rename enum values to be more precise 2024-05-05 01:38:54 +02:00
Megamouse ee8629835b Hide interlaced resolutions from the settings dialog 2024-05-05 01:38:54 +02:00
Megamouse e164d462b4 cellVideoOut: support interlaced scan modes 2024-05-05 01:38:54 +02:00
Megamouse 8e5fec785e Remove p from resolution strings. The Param.sfo doesn't specificy progressive/interlaced 2024-05-05 01:38:54 +02:00
Megamouse cebf6dcd01 Allow any 1080p selection if the game supports 1080p 2024-05-05 01:38:54 +02:00
Megamouse 4aa83d1350 sys: force resolution to 720p if the game does not support the configuration
Maybe prevents some issues with global config.
2024-05-05 01:38:54 +02:00
Megamouse 96104688e1 Qt: Replace custom config resolution string logic with enum values 2024-05-05 01:38:54 +02:00
Megamouse 32666b5ae8 HLE: use original filename for media exports
No idea what's the real logic here.
I was just winging it with the title before.
It's most likely just meant for metadata.
2024-05-04 22:18:44 +02:00
Elad Ashkenazi 6a776624ac Qt/Logs: Fixing spaces, optimize string to html conversion 2024-05-04 14:15:51 +03:00
Elad Ashkenazi 4fc7e27417 Add SPRX booting option 2024-05-04 14:15:51 +03:00
Elad Ashkenazi e74cceb3f4 Add logging of exported SPRX functions on dummy load 2024-05-04 14:15:51 +03:00
Eladash 7bd4cfc5b3 Logging fix 2024-05-04 14:15:51 +03:00
Eladash 0791349455 Avoid calling std::vector::data() if empty 2024-05-04 14:15:51 +03:00
Eladash b83e39a540 Fix some warnings 2024-05-04 14:15:51 +03:00
Eladash 4905cd425f Thread.cpp: Prevent repeatedly halting the debugger 2024-05-04 14:15:51 +03:00
Eladash bef832f4e0 llvm_calli fix 2024-05-04 14:15:51 +03:00
Eladash b55f38290b Win32: Fix deadlock on std::cerr usage 2024-05-04 14:15:51 +03:00
Eladash 51e1598e42 Savestates: Fix rare race 2024-05-04 14:15:51 +03:00
Eladash 6b906b9a9c Fixup SPU Profiler 2024-05-04 14:15:51 +03:00
Florin9doi f1ef3bdcd7 USB: Allow UsbPspCm passthrough 2024-05-02 10:12:38 +03:00
Ani c16e176fbe rpcs3_version: Bump to 0.0.32 2024-05-01 17:01:10 +02:00
Florin9doi 55fccf03fa USB: Update GameTablet 2024-05-01 09:52:30 +02:00
Florin9doi d3f9ae4868 USB: GunCon 3 emulation 2024-05-01 09:52:30 +02:00
Florin9doi debeafa36b USB: Update GameTablet
- Allows to use rawinput handler
- Use a struct to access the input data
2024-05-01 09:52:30 +02:00
Ani 39e946630d syscall: Register syscall 149 sys_time_get_system_time 2024-04-29 10:25:21 -07:00
RipleyTom 8d815e8ee0 Clamp spu_fi results 2024-04-29 05:21:49 +03:00
Elad Ashkenazi 430b57833d SPU LLVM: Remove wrong zero sign fixup 2024-04-28 20:39:57 +03:00
Megamouse e32c48d0dd Camera: optimize some loops
Factor out some conditions in RAW8 loop.
Use floats YUV loop.
Replace pixel getters with simple pointers.
2024-04-27 14:23:56 +02:00
capriots e2402b1c8f cellRtc: review fixes 2024-04-27 13:33:09 +02:00
capriots 36abdd7114 sys_time: review fixes 2024-04-27 13:33:09 +02:00
capriots 79f54771b5 cellRtc: set to HLE by default 2024-04-27 13:33:09 +02:00
capriots 2556f84752 cellRtc: replace vm::check_addr() with sys_memory_get_page_attribute() 2024-04-27 13:33:09 +02:00
capriots c8e624850b cellRtc: improvements 2024-04-27 13:33:09 +02:00
capriots 56692e23f5 lv2: stub sys_time syscalls, add error code to sys_ss 2024-04-27 13:33:09 +02:00
RipleyTom b38ce9452d Revert "Split normal sockets and p2p sockets handling"
This reverts commit 08c3a38b67.
2024-04-27 10:45:14 +02:00
Megamouse fcba193a3c input: use keyboard consumers to seperate cell and overlay logic 2024-04-27 01:03:23 +02:00
RipleyTom 6fc7fa3b13 Logging improvements 2024-04-27 00:12:14 +02:00
Elad Ashkenazi ad4216a3fc PPU LLVM: Do not crash on linkage of garbage code 2024-04-26 18:55:50 +03:00
RipleyTom 08c3a38b67 Split normal sockets and p2p sockets handling 2024-04-24 14:15:17 +03:00
Megamouse b8165af054 rsx: optimize some loops 2024-04-24 12:16:45 +03:00
Elad Ashkenazi 90b6912daa
Compile AUDIT on release builds
In Release, compile the code in constexpr-disabled context. this way it does not risk generating actual code but still compiles.
2024-04-23 17:24:22 +03:00
oltolm 862727e9bf simplify template code like std::invoke_result<T>::type 2024-04-21 18:15:17 +03:00
oltolm 9e9a3262eb simplify template code like std::is_same<T>::value 2024-04-21 18:15:17 +03:00
Florin9doi c268189e38 Don't crash the game if only a LDD controller is present 2024-04-21 12:05:24 +03:00
Megamouse 94431a7a33 Fix include on linux 2024-04-20 19:46:05 +02:00
Megamouse b4d5b44e00 Don't create perf map files in linux unless enabled 2024-04-20 19:46:05 +02:00
Megamouse 16f006362e Move freopen to console.h 2024-04-20 17:23:10 +03:00
capriots dfec577417
cellRtc: implement remaining parsers, improve formatters (#15451) 2024-04-20 15:41:42 +02:00
RipleyTom 33e2f8766a Update spurs_test.self 2024-04-20 13:31:12 +02:00
RipleyTom 31a080a9cb Warning cleanup 2024-04-20 13:31:12 +02:00
Megamouse 14e9c8954c cellMusic 2024-04-20 11:55:49 +02:00
Megamouse dff7352e2e llvm: silence warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing] 2024-04-20 01:38:11 +02:00
Megamouse 30bb6c9fb9 cellSysutilAvc2MicRead: Fix some nonsensical nullptr deref warning 2024-04-20 01:38:11 +02:00
Megamouse 7485ec2223 cellKb: fix missing slashes and brackets on japanese layout 2024-04-19 23:47:59 +02:00
Megamouse 60082864a6 cellKb: actually set the arrange member 2024-04-19 23:47:59 +02:00
Megamouse dcb8f21b2b Use unordered map to store keyboard keys
This potentially reduces latency ever so slightly.
2024-04-19 23:47:59 +02:00
Eladash b18a97e777 SPU Analyzer: Filter calls to calls 2024-04-19 20:51:37 +03:00
Eladash c7d93bd470 PPU Analyzer: Look for functions using callers (fallback) 2024-04-19 20:51:37 +03:00
Eladash 7bf8917c08 PPU LLVM: Fix crash in Unity games 2024-04-19 20:51:37 +03:00
Eladash 093198e3d5 savestate_utils.cpp: Fixup a tiny bug 2024-04-19 20:51:37 +03:00
Megamouse e48bd29584 Qt: try to fix sound effects
Don't re-use sound effect objects.
Allow 3 sounds simultaneously.
2024-04-19 17:29:40 +02:00
Megamouse 1444981bdc overlays/osk: Don't use meta out key code in the osk overlay
The out key code is simply used to store the meta key ID.
It is not meant to be a real key code.
2024-04-19 01:29:22 +02:00
Megamouse e3f6bbfcc9 fix some warnings and typos 2024-04-19 01:29:22 +02:00
Megamouse 89922b254c cellSysutilAvc2: improve unload and some more stuff 2024-04-18 13:22:45 +02:00
Florin9doi ea8918291b uDraw emulation [3] 2024-04-18 09:39:02 +02:00
Florin9doi 21445fa01a uDraw emulation [2] 2024-04-18 09:39:02 +02:00
Florin9doi 8d340eecc1 Sort IO files 2024-04-18 09:39:02 +02:00
Florin9doi 463826bf13 uDraw emulation 2024-04-18 09:39:02 +02:00
kd-11 40eda1b972 rsx: Make const explicitly unsigned
- Can silence some GLSL compiler noise in mesa
2024-04-17 22:22:37 +03:00
kd-11 a5c3e303c7 rsx: Improve ROP output rounding precision
- Lower 12 bits seem to be unused based on empirical sampling
2024-04-17 22:22:37 +03:00
Ikko Eltociear Ashimine 270a21ebae Fix typo in System.cpp
Enfore -> Enforce
2024-04-16 17:17:26 +02:00
trigger 6aa96e5f81 Fix OVL patching 2024-04-16 06:15:10 +03:00
kd-11 1792714901 rsx: Fix intra-draw-call barrier queueing
- Ignore latch since we may have another barrier queued. Barriers cost essentially nothing so there is no problem with extra pushes.
- Remove unnecessary use of "else" statements.
2024-04-16 04:38:49 +03:00
Florin9doi 54ab16ab35 Buzz update 2024-04-16 01:46:01 +02:00
Megamouse c58959eba2 Fix some msvc for loop warning 2024-04-15 19:28:28 +02:00
Megamouse 2f53d58cd9 fix some warnings 2024-04-15 19:28:28 +02:00
Florin9doi e0d6f8a311 Set a unique System Name 2024-04-15 08:06:21 +03:00
kd-11 e48ec75896 rsx: Fix vertex texture invalidation 2024-04-14 22:37:07 +03:00
kd-11 58d8c65990 rsx: Fix some broken latch checks 2024-04-14 22:37:07 +03:00
kd-11 dd66380132 vk: Always initialize internal objects 2024-04-14 22:37:07 +03:00
Zion 92dd801ecd Attempt at bundling wayland libraries 2024-04-13 20:57:11 +03:00
Eladash fba1db29b3 Savestates: Fixup 2024-04-13 20:14:49 +03:00
Eladash 1111c1952b SPU: Add debug information when logging analyzer failures 2024-04-13 20:14:49 +03:00
Eladash 7833862342 Add SPU Profiler to GUI 2024-04-13 13:48:00 +03:00
Eladash 78c1a6f326 CPUThread.cpp: Add reservation sampling 2024-04-13 13:48:00 +03:00
Eladash 060ddca1ab SPU: Fixup breakpoints 2024-04-13 13:48:00 +03:00
Eladash a9fd2f76d2 Savestates: serilialize avc2_settings 2024-04-13 13:48:00 +03:00
Eladash d1837b54b4 Savestates: Add save stage names 2024-04-13 13:48:00 +03:00
Eladash 26746ac9ee Progress Dialog: Force update every 20 seconds 2024-04-13 13:48:00 +03:00
Eladash c019b10aa8 savestate_utils.cpp: Fix out-of-range bug 2024-04-13 13:48:00 +03:00
Eladash 0cd316116b Savestates: Make non-existing versions 0 2024-04-13 13:48:00 +03:00
RipleyTom c92a556093 Default constructor for avc2_settings 2024-04-13 05:40:10 +03:00
kd-11 d6f6752af0 Add missing newline 2024-04-13 03:29:57 +03:00
kd-11 d7e04e9b0a Update CMakelists.txt 2024-04-13 03:29:57 +03:00
kd-11 c1aaa1bcf6 Get reworked RSX to compile 2024-04-13 03:29:57 +03:00
kd-11 10fe14e783 rsx: Separate register context from RSX thread 2024-04-13 03:29:57 +03:00
RipleyTom 0231902a69 fix CellSysutilAvc2InitParam 2024-04-13 01:41:41 +02:00
Megamouse dbeb8cfbec cellSysutilAvc2Load_shared: simplify max_video_windows check 2024-04-12 23:04:43 +02:00
Megamouse 96bd150518 cellSysutilAvc2Load_shared: re-arrange streaming_mode checks 2024-04-12 23:04:43 +02:00
Megamouse cb1fb19dea cellSysutilAvc2Load_shared: review fixes 2024-04-12 23:04:43 +02:00
Megamouse 3b37f5b156 cellSysutilAvc2Load_shared: use utils::align for total_bitrate 2024-04-12 23:04:43 +02:00
Megamouse a989634ba5 cellSysutilAvc2Load_shared: fix compilation 2024-04-12 23:04:43 +02:00
Megamouse d865186f23 Only send cellSysutilAvc2LoadAsync callback with CELL_SYSUTIL_AVC2_VOICE_CHAT 2024-04-12 23:04:43 +02:00
Megamouse e63245a6dc Fix callback_func check for CELL_SYSUTIL_AVC2_VIDEO_CHAT
This mode doesn't allow for the callback
2024-04-12 23:04:43 +02:00
Megamouse 682fd15441 move cellSysutilAvc2LoadAsync to cellSysutilAvc2Load 2024-04-12 23:04:43 +02:00
Megamouse bbd81b9395 cellSysutilAvc2Load: param checks 2024-04-12 23:04:43 +02:00
RipleyTom cb6186ea60 Initialize CB in cellSysutilAvc2Load 2024-04-12 21:16:11 +03:00
Eladash 12bfc7d56a SPU/Debugger: Use bitset for breakpoints 2024-04-12 17:13:11 +03:00
Eladash 7dc4ccc87d SPU: Use bitset to reduce memory for compiler instance 2024-04-12 17:13:11 +03:00
Eladash 622894a7e3 Logs: output always message level to debuggers 2024-04-12 09:58:30 +03:00
Eladash 965ec8ec81 GUI/CLI: Add setting to attach command line (Win32) 2024-04-12 09:58:30 +03:00
Eladash 103b2fe5fd PPU/reservations: send thread notification only if data changed 2024-04-12 09:58:30 +03:00
Florin9doi b6bfde6d64 Handle R16G16B16X16_FLOAT
Fix Super Hero Squad
2024-04-12 01:01:14 +03:00
capriots 1ec2752ed2 cellRtc: review + warning fixes 2024-04-11 22:09:00 +02:00
capriots a5b6b2e9b5 cellRtc: tick conversion improvements 2024-04-11 22:09:00 +02:00
Eladash f51b100a8c SPU Analyzer: Do not terminate blocks on BRA 2024-04-09 06:26:03 +03:00
Megamouse 412db758e8 cellRtc: review fixes 2024-04-08 13:50:58 +02:00
Megamouse f617f69be8 cellRtc: remove wrong duplicate pos++
This would have increased pos by one too many.
2024-04-08 13:50:58 +02:00
Megamouse b81d278aee cellRtc: implement Rfc3339 part of cellRtcParseDateTime 2024-04-08 13:50:58 +02:00
Megamouse aee4bfa369 cellRtc: simplify some disassembly code 2024-04-08 13:50:58 +02:00
nastys 517f0e1bac
Remove git brew package from macOS CI script (#15407) 2024-04-06 01:47:08 +02:00
Megamouse 08837d2cd0 cellGame: add some more error checks 2024-04-05 23:36:37 +02:00
Megamouse 9a4c823366 cellCamera: fix config from_string 2024-04-05 20:22:45 +02:00
Megamouse 7f3ad4fc2c lv2_socket: reset queue after move 2024-04-05 19:41:41 +02:00
Megamouse 9e7b759236 cellGame: Enable disc insert/eject based on disc mount state 2024-04-05 14:45:10 +02:00
Megamouse 67853b464c Update curl to 8.7.1 2024-04-05 01:51:08 +02:00
Megamouse 51ffd4a377 Update soundtouch to 2.3.3 2024-04-05 01:51:08 +02:00
Megamouse dada2e85a2 Update SDL to 2.30.2 2024-04-05 01:51:08 +02:00
Megamouse 2a53824b02 Update FAudio to 20.04 2024-04-05 01:51:08 +02:00
Elad Ashkenazi 3dc1dfa4a2
Fix typo in lv2_socket_native 2024-04-04 22:47:01 +02:00
RipleyTom 95e0d1a560 Fix changelog size hack 2024-04-04 22:31:29 +03:00
Eladash 8effbf7e4d Savestates/Network: Feign connection failure on startup 2024-04-04 17:28:46 +03:00
RipleyTom 72ad1abd39 Fix updater message 2024-04-04 07:45:08 +03:00
Eladash 2a89d87fab Savestates/SPU: Fix MFC commands abort 2024-04-03 15:03:39 +03:00
Eladash 33eeee0ff2 SPU Debugger: Implement viewing block hash on request 2024-04-03 15:03:39 +03:00
Eladash 3c46388be5 SPU LLVM: Fix store elimination within common blocks
GPR register barriers were ignored in that case.
2024-04-03 15:03:39 +03:00
Eladash d37b9497a2 Replace some URLs 2024-04-03 15:03:39 +03:00
Eladash 17512f2a28 Updater: Add RPCS3's Patreon link to update dialog 2024-04-02 21:48:08 +03:00
Eladash 597a9f6dd6 PPU Loader: Fix unload of HLEd PRX modules 2024-04-01 12:20:38 +03:00
Eladash e90b399329 PPU LLVM: Fix leak of modules outside dev_flash/sys/internal
Cache path was not matching on removal
2024-03-30 21:58:26 +03:00
Eladash 7c8be662c6 SPU LLVM: Postpone runtime worker threads init
They may not be active at all unless a ps3 application is booted.
2024-03-30 21:58:26 +03:00
Eladash e38b005a8b PPU LLVM: Unify memory limit for PRX and Overlay files 2024-03-30 21:58:26 +03:00
Eladash f0abb4473e PPU LLVM: Fix memory leak on precompilation 2024-03-30 21:58:26 +03:00
oltolm d62e90f5b4 use the pass manager instead of the legacy one 2024-03-30 05:06:29 +03:00
Eladash 4ecf8ecd06 Fix savestate reload functionality 2024-03-29 13:25:51 +03:00
Eladash 9a3b72f762 Savestates/SPU: Partially publicize SPU-Compatible functionality 2024-03-29 13:25:51 +03:00
Eladash 7285af4771 SaveStates: Add error messages on screen 2024-03-29 13:25:51 +03:00
kd-11 ec37e8f0dc rsx: Fix loading mid-draw call savestates 2024-03-29 08:15:38 +03:00
Eladash 41f05f6864 LV2: Silence logging of semaphore 2024-03-28 16:24:47 +02:00
Eladash cc2fa94fa1 PPU: Fix logging of sys_interrupt syscalls 2024-03-28 16:24:47 +02:00
Eladash 2f579311b8 LV2: Silence logging of mutex and cond syscalls 2024-03-28 16:24:47 +02:00
oltolm ac034040ce workaround Clang 18.1 crash 2024-03-28 08:45:20 +01:00
oltolm 59410b9d62 fix compiler warnings 2024-03-28 08:45:20 +01:00
oltolm 6f665da016 main.cpp: remove outdated code for MSVC 19.27 2024-03-28 08:45:20 +01:00
oltolm c567c92d4b fix GCC warnings 2024-03-28 08:45:20 +01:00
oltolm 75b2dfa66d cmake: fix MSVC build 2024-03-28 08:45:20 +01:00
oltolm c40826c140 llvm: update to 18 2024-03-28 08:45:20 +01:00
kd-11 175aa510c8 rsx: Make overlay manager default lock-state exclusive 2024-03-28 08:08:21 +01:00
kd-11 236ac7d062 rsx: Fix race conditions on removals 2024-03-28 08:08:21 +01:00
kd-11 00f1b2bfa7 rsx: Rewrite fragment shader invalidation test 2024-03-28 08:08:21 +01:00
kd-11 a9fad83971 rsx: Fix memory range invalidation 2024-03-28 08:08:21 +01:00
kd-11 1550dc7f1f Fix audit crash in games where hash strategy is heavily used 2024-03-28 08:08:21 +01:00
Megamouse bbb4c109d7 audio: allow to choose channel layouts 2024-03-28 07:17:26 +01:00
Eladash a6fa091ab3 Savestates/RSX: Save pending flip 2024-03-27 19:59:22 +02:00
Eladash 6a1fa88e15 PPU: Fixup savestate prio bit usage 2024-03-27 19:59:22 +02:00
Eladash 787e79c687 util\serialization_ext.cpp: Fixup 2024-03-27 19:59:22 +02:00
Eladash 7468d96c51 Savestates: safe saving while cellSaveData is active 2024-03-27 19:59:22 +02:00
Eladash 9c9ece3d95 SPU LLVM: Fix Forwarding GPR stores savestate safety 2024-03-27 19:59:22 +02:00
Eladash 316b3a8851 Thread.cpp: Reduce logging 2024-03-27 19:59:22 +02:00
Eladash 2023057fbb Savestates: Reduce logging 2024-03-27 19:59:22 +02:00
Eladash 94c048d018 SPU LLVM: Add assert for MFC abort 2024-03-27 19:59:22 +02:00
Eladash e126af63ed Silence cellGemGetState 2024-03-27 19:59:22 +02:00
Eladash 750359d780 Fixup emulation stopping 2024-03-27 19:59:22 +02:00
Eladash 8588b2b11a vm: Fix writer lock leak 2024-03-27 19:59:22 +02:00
kd-11 4594c912a6
rsx: Move SPIRV stuff into common code 2024-03-27 19:20:21 +02:00
Megamouse afcfd81496 GL: fix segfault in GLGSRender::flip 2024-03-27 16:44:52 +01:00
Megamouse aa06aaab8e Add Legacy plugin to Building.md 2024-03-27 15:09:57 +01:00
Megamouse fdca881e34 Remove Windows 7 reference 2024-03-27 15:09:57 +01:00
Megamouse 81de7a5863 Qt 6.6.3 2024-03-27 11:43:55 +01:00
Eladash efbf044ea0 Savestates/PPU: Fix PRX relocations 2024-03-26 21:35:53 +02:00
Eladash 46a1c09abe Savestates: Minor logging message 2024-03-26 21:35:53 +02:00
Eladash 6a3e795d73 Fix shutting down emulation while save-stating 2024-03-26 21:35:53 +02:00
Eladash e0f08cd5c1 SPU: Make STOP a safe return instruction 2024-03-26 21:35:53 +02:00
Eladash a539308545 Savestates: Make locking SPU threads more reasonable
Avoid locking in hopeless cases. Extend waiting time to more than 2 seconds.
2024-03-26 21:35:53 +02:00
Eladash 3364a46139 PPU LLVM: Remove cast to constant 2024-03-26 21:35:53 +02:00
Eladash fb4e64d15e Savestates/SPU: Extend RCHCNT safe returns 2024-03-26 21:35:53 +02:00
Eladash 68349e48cd Savestates: Save PPU running order 2024-03-26 21:35:53 +02:00
Eladash 4dff8b16f1 Silence logging of cellScreenShot 2024-03-26 21:35:53 +02:00
Megamouse 9245565085 cellAudio: log backend channel count 2024-03-26 16:56:17 +01:00
Megamouse 86ca381a3c Qt: Rename Navigation controller to PS Move Navigation 2024-03-26 16:56:17 +01:00
Megamouse a7952e15c7 cellPad: simplify for loops 2024-03-26 16:56:17 +01:00
Megamouse 643f81b5db cellPad: move getters to where they are actually needed 2024-03-26 16:56:17 +01:00
Megamouse cf5a66a204 cellMic: add nullptr check for data in cell_mic_read
Also rename S to Size for readability
2024-03-26 13:50:43 +01:00
Megamouse e05239f3d9 Fix some warnings 2024-03-26 12:26:26 +01:00
Megamouse 0e73b58abf Update miniupnpd to 2.3.6 2024-03-26 12:26:26 +01:00
Megamouse 59dc5dcd54 Update wolfssl to 5.7.0 2024-03-26 12:26:26 +01:00
Elad Ashkenazi adedc7c667 Savestates/SPU: Add RCHCNT as a safe return in compatiblity mode 2024-03-25 12:05:24 +02:00
Elad Ashkenazi 29ad568791 Fix ppu_thread::serialize_common 2024-03-25 12:05:24 +02:00
Elad Ashkenazi 453a3c4852 Fixup Savestate Segfault 2024-03-25 12:05:24 +02:00
Elad Ashkenazi 2e824827b7 Fixup Savestate Progress 2024-03-24 20:58:51 +02:00
Eladash 3393d13b67 Reduce compression level to 8 for faster compression 2024-03-24 16:19:06 +02:00
Eladash 1da7689526 util\serialization_ext.cpp: Fix queued data with no output 2024-03-24 16:19:06 +02:00
Eladash 806758d06f Fix NPD files decryption in decryption tool 2024-03-24 16:19:06 +02:00
Eladash 580f9bf03a GUI: Progress Dialog On Save State Creation 2024-03-24 16:19:06 +02:00
Eladash 707a648a4c utils: Fix shared_ptr::store/exchange 2024-03-24 16:19:06 +02:00
Eladash 213a19c9f3 Add logging for CallFromMainThread 2024-03-24 16:19:06 +02:00
Elad.Ash e32ed90d21
PPU LLVM: Remove one external symbol resolve for BLR 2024-03-21 15:56:31 +02:00
Eladash 2f822abb47 PPU LLVM: Use symbol resolver function to resolve functions 2024-03-20 12:48:31 +02:00
Eladash 1ca83bc629 PPU DisAsm: Fixup conditional indirect branches disasm 2024-03-20 12:48:31 +02:00
RipleyTom 77485747f1 Enable WOLFSSL_ALT_CERT_CHAINS 2024-03-17 05:59:23 +02:00
Eladash 40adf4b944 HLE: clear lower bits of Free Disk Space value 2024-03-14 11:10:45 +01:00
Megamouse 2aad5a7f3a Qt: add search bar to save manager 2024-03-13 18:42:42 +01:00
Megamouse 0f29a5be9f Qt: replace refresh progress slot with timer
For some reason setValue crashes in the progressValueChanged slot for no apparent reason
2024-03-13 00:24:42 +01:00
RipleyTom 397c2698ae Fix sceNpScoreGetRankingByNpId 2024-03-12 09:36:31 +02:00
Megamouse 0f00bb77fe Qt: only connect refresh watcher signals once 2024-03-11 23:04:09 +01:00
Megamouse a73303a047 Qt: remove redundant progress dialog code. This already happens in Refresh 2024-03-11 23:04:09 +01:00
Ani 0334243a69 appimage: Do not bundle libvulkan.so
Causes issues with gamescope, see 
https://github.com/RPCS3/rpcs3/issues/14917
2024-03-11 21:03:19 +01:00
Megamouse bb809c865f VS: move libpng, libusb and hidapi lib output to proper build configiguration dir
This allows us to properly build debug and release without having to delete the libs in between
2024-03-11 12:39:39 +01:00
Megamouse 20750c260e VS: Fix libpng build configuration names 2024-03-11 12:39:39 +01:00
Megamouse 37dd1b3ed0 VS: fix linking XAudio in debug builds 2024-03-11 09:02:01 +01:00
Megamouse f3ac3476cb VS: use MultiThreadedDebugDLL in debug builds
This fixes heap assertions caused by mixing static builds and dynamic Qt
2024-03-11 09:02:01 +01:00
Megamouse 67ae1c9f69 VS: use common RuntimeLibrary settings in 3rdparty 2024-03-11 09:02:01 +01:00
RipleyTom fd583dbbc3 Cleanup and set -Werror=delete-non-virtual-dtor 2024-03-11 02:30:18 +02:00
Megamouse d8d0af2bb3 rsx: Fix invalid iterator comparison (asserts on debug builds)
Also make ranged_map::count const
2024-03-11 00:03:00 +01:00
Megamouse b176085e14 GL: fix debug build: creation of QOffscreenSurface sends signals from wrong thread 2024-03-11 00:03:00 +01:00
Elad.Ash 4cfdb71d3a
LV2: Longer thread creation delay for low prio threads 2024-03-09 23:37:35 +02:00
Megamouse 38590e321e Qt: accept downloader progress dialog instead of closing it
Otherwise we get the canceled signal which is only meant for user interaction
2024-03-09 20:07:37 +01:00
Megamouse a09900a64f Qt: make sure to actually delete the progress dialog when it is closed
Also add some more cleanup code for the gamelist refresh progress dialog
2024-03-09 20:07:37 +01:00
Megamouse 4a7d982a2b Qt: make sure the gamelist refresh progress dialog runs on the main thread 2024-03-09 20:07:37 +01:00
Megamouse ee69468104 Qt: replace sstr with regular toStdString 2024-03-09 20:07:37 +01:00
Megamouse 4739ab58cc Qt: fix weird return value warning on VS 2024-03-09 20:07:37 +01:00
Megamouse be5b982e45 Qt: don't close the progress dialog if it is already being closed anyway
Maybe this fixes some strange crashes that appear for some people.
2024-03-09 15:18:20 +01:00
Megamouse 86ad4ed6c1 Qt: check for updates if the update message is empty
This happens for example if the user canceled the earlier check
after the update was already known, leaving us in a somewhat dirty state.
2024-03-09 15:18:20 +01:00
Megamouse 3056a4db83 Qt: don't deleteLater the progress_dialog
It's already deleted on close by Qt anyway.
Also, remove QObject from curl_handle.
2024-03-09 15:18:20 +01:00
Eladash adc8a360ad SPU LLVM: More compilation threads 2024-03-08 11:40:38 +02:00
Eladash 719dafa679 SPU LLVM: Notify workers prematurely if there is considerable excess 2024-03-08 07:21:48 +02:00
Eladash ecf7d4e59d SPU LLVM: Postpone cache writes until compiled 2024-03-08 07:21:48 +02:00
Eladash 45863bc7c5 SPU analyzer: Detect 'argument passing' block before the function 2024-03-07 18:46:51 +02:00
Eladash ea0545779a SPU: Include BRSL following code in is_exec_code() 2024-03-07 18:46:51 +02:00
Eladash e625bab7eb SPU Analyzer: Detect more tail calls by examining called code 2024-03-07 18:46:51 +02:00
Eladash 2930d609ea SPU: Detect invalid STOP codes (code mining) 2024-03-07 18:46:51 +02:00
Eladash 069ca214ff SPU: Improve compilation message 2024-03-07 18:46:51 +02:00
Eladash d699db2d19 SPU Analyser: Detect invalid relative branches 2024-03-07 18:46:51 +02:00
Eladash 8e15de5c83 sys_tty: Try to avoid logging single newlines to log 2024-03-07 14:31:41 +02:00
Eladash 69a90ef9e7 rsx/cpu_thread: Fix cpu_thread::get_name() for RSX 2024-03-07 14:31:41 +02:00
Eladash d39361705a report_fatal_error: Minor cleanup and improvement 2024-03-06 20:32:22 +02:00
Eladash 4512c10ce5 init_mutex.hpp: More fixes 2024-03-06 20:32:22 +02:00
Megamouse 5e24167d6c Update submodules 2024-03-06 18:58:23 +01:00
Ordinary205 64d28ba435 Increase vblank rate 2024-03-06 18:50:51 +02:00
nastys 7febbdf52b macOS CI: Don't upgrade installed dependents
This should speed up builds, and possibly prevent conflicts.
2024-03-06 17:04:43 +02:00
Eladash b64b98490e init_mutex.hpp: Fixup 2024-03-06 16:06:04 +02:00
Eladash f40602cc59 cellGame: Fix PPU deadlocks on concurrent execution 2024-03-06 09:45:37 +02:00
Ani ef8afa7873 rpcs3_version: Bump to 0.0.31 2024-03-05 00:40:22 +01:00
nastys df4fc947ec
Improve macOS < 14.3 Rosetta blocker message (#15258) 2024-03-01 20:01:21 +01:00
InvoxiPlayGames eecfbf3fa6 add Wii Harmonix instruments to whitelist 2024-03-01 19:07:02 +01:00
Elad.Ash cfbe7669b4 Update serialization.hpp 2024-03-01 14:58:48 +02:00
Elad.Ash ccaeb87b01 Update serialization.hpp 2024-03-01 14:58:48 +02:00
Elad.Ash fc98f35ea7 Update serialization.hpp 2024-03-01 14:58:48 +02:00
Elad Ashkenazi 998f867c29 serialization.hpp: Fix HLE serilization 2024-03-01 14:58:48 +02:00
capriots eb8325afcb
cellPamf implementation (#15143) 2024-02-29 21:45:28 +01:00
RipleyTom 7674c29c78 Fix for sceNpScoreGetGameData 2024-02-29 15:12:22 +02:00
RipleyTom 573734fab8 Send initial presence for offline friends. 2024-02-28 17:41:25 +01:00
Megamouse 2cbd983b4c GL: remove unused params 2024-02-28 14:25:20 +01:00
Megamouse 18983f5476 Fix warnings: Remove unused decryption code 2024-02-28 14:25:20 +01:00
Elad.Ash 75ef154c12
SPU LLVM: Improve runtime SPU compilation preferences (#15250) 2024-02-28 08:28:49 +02:00
RipleyTom 414a354511 Improve cellSysutilAvc2SetAttribute logging 2024-02-28 02:14:37 +01:00
RipleyTom 2168511e5b Add check for score transactions being reused 2024-02-28 02:14:37 +01:00
Mrlinkwii f64d6bc687 Misc: Update FW Latest Version 2024-02-27 12:52:53 +01:00
oltolm 3e83729cb2 xaudio2: use system library instead of xaudio2redist 2024-02-27 05:21:32 +02:00
kd-11 83256cdacb Make clang happy 2024-02-26 18:15:06 +03:00
kd-11 f748fe688c gl: Allow selecting FSR1 upscaling from the settings 2024-02-26 18:15:06 +03:00
kd-11 188f5c7c3c gl: FSR1 cleanup, making it functional 2024-02-26 18:15:06 +03:00
kd-11 838346e4f7 gl: Always log the current renderer visibly. 2024-02-26 18:15:06 +03:00
kd-11 12dc03a903 rsx: Improve simple array performance for small objects
- Also adds map/collect transformation
2024-02-26 18:15:06 +03:00
kd-11 e17c2f2397 gl: Fix compilation 2024-02-26 18:15:06 +03:00
kd-11 071baf63b0 rsx: Implement FSR1 integration for OpenGL 2024-02-26 18:15:06 +03:00
kd-11 1795d5bcc9 gl: Rework the upscalers a bit and define the FSR interface 2024-02-26 18:15:06 +03:00
kd-11 27125c6f72 gl: Remove upscaling 'dst' binding and clean up some awful code in GLPresent 2024-02-26 18:15:06 +03:00
kd-11 12694dcf69 gl: Introduce the concept of scaling passes to the backend 2024-02-26 18:15:06 +03:00
kd-11 e7d8ef924f rsx/vk: Refactor FSR integration to support multiple backends 2024-02-26 18:15:06 +03:00
RipleyTom 0f682b7da1 Fix Apple Clang build 2024-02-24 20:54:55 +02:00
nastys 2b385f28f0
Block Rosetta on macOS 14.0, 14.1, and 14.2 (#15237) 2024-02-24 15:15:19 +01:00
RipleyTom ac8e914a25
improves sig_ctx handling, sys_net logging and fixes udpp2p protocol (#15235) 2024-02-24 12:40:53 +01:00
Megamouse 3067c86d65 gui/input: only init and quit SDL once for all instances
Calling SDL_Quit while two handlers are active can cause controllers to disconnect
2024-02-22 19:31:00 +01:00
Megamouse 96afc15fa2 gui/input; fix log message delta type 2024-02-22 19:31:00 +01:00
Megamouse 66f694bb39 gui/input: include Carbon.h on apple 2024-02-22 19:31:00 +01:00
Megamouse 06025cd19d gui/input: let pad handlers know whether they are part of emulation
Also fix unique_ptr vs shared_ptr nonsense in pad_threads
2024-02-22 19:31:00 +01:00
Megamouse fc698a4df2 gui/input: implement pad navigation for maxOs 2024-02-22 19:31:00 +01:00
Megamouse 2cd47c0415 gui/input: use uinput for linux in gui_pad_thread 2024-02-22 19:31:00 +01:00
Megamouse b032f2dd87 gui/input: add gui input with native events 2024-02-22 19:31:00 +01:00
RipleyTom 3acd442c2e sceNpBasicSendMessage fix 2024-02-22 05:33:29 +02:00
Megamouse 6b43e5c80e Qt: add Q_OBJECT macro to midi_creator
This fixes the localization of its strings
2024-02-20 10:06:02 +01:00
Megamouse 183380fe57 Qt: localize default pad names 2024-02-20 10:06:02 +01:00
kd-11 7abc5f3ead vk: Move driver properties to properties section from features section 2024-02-16 18:11:30 +03:00
Megamouse 1867f9aa1f Qt 6.6.2 2024-02-16 11:29:38 +01:00
Eladash f47c7e0ef1 PPU LLVM: Relax MSELF entry name constraints
These names are a hint
2024-02-16 10:42:57 +02:00
Eladash 36ab866c2c SPU Analyzer: forgive invalid code, use interpreter 2024-02-16 10:42:57 +02:00
Eladash f943deb2c3 PPU LLVM: Do not use possible duplicates in MSELF 2024-02-16 10:42:57 +02:00
Eladash 27ea25a999 Add debug info to ENOMEMs 2024-02-16 10:42:57 +02:00
Eladash 989b353fbd Fixup lv2_file::file_view::read() regression 2024-02-16 10:42:57 +02:00
Eladash c1607d14dc Add debug info to sys_fs_lseek 2024-02-16 10:42:57 +02:00
Eladash 85884d14cd PPU LLVM: Add more MSELF file checks
Do not crash on invalid files.
2024-02-16 10:42:57 +02:00
Eladash 08cf275bc8 Fix lv2_file::file_view::size() 2024-02-16 10:42:57 +02:00
Eladash 88ba3c47c2 ELF.h: Avoid using seek operations 2024-02-16 10:42:57 +02:00
Eladash 4aee44b1c0 sys_prx/overlay: Add some debugging steps 2024-02-16 10:42:57 +02:00
Megamouse e3d4c067df raw_mouse: adjust relative mouse position if the window size changed 2024-02-14 21:10:26 +01:00
kd-11 dfc626c99c rsx/vk: Fix WCB/Blit flush deadlock 2024-02-14 21:09:02 +03:00
kd-11 8786516c58 vk: Implement fast RSX release if there is no pending GPU work 2024-02-14 21:09:02 +03:00
Eladash 34e945128f Crypto\EDATA: Optimize decrypt_block to avoid an allocation 2024-02-14 15:11:52 +02:00
Eladash 7db6165b46 Fix lv2_file::file_view::read_at 2024-02-14 15:11:52 +02:00
Eladash 883f2e92ae EDATA: Add more logging 2024-02-14 15:11:52 +02:00
Eladash 3e8b003515 Add logging for cellFsSdataOpenByFd 2024-02-14 15:11:52 +02:00
Eladash ed66e9e9b9 Fix EDATADecrypter::ReadData 2024-02-14 15:11:52 +02:00
Eladash f87e11d16a Savestates/sys_fs: Save NPDRM decryption key 2024-02-14 15:11:52 +02:00
RipleyTom 5a64556fbf Add <optional> to RB3MidiDrums.h 2024-02-14 14:14:09 +02:00
Megamouse d71f4b33d7 raw_mouse: center cursors on init 2024-02-14 01:13:44 +01:00
Megamouse c91bc03532 sys_usbd: silence warning 2024-02-14 01:13:44 +01:00
Megamouse 348fab33a8 overlays: fix raw mouse debug overlay pos type 2024-02-14 01:13:44 +01:00
Megamouse 68f3df4975 input: implement raw_mouse_handler 2024-02-14 01:13:44 +01:00
Megamouse f6f8996aa9 overlays: use signed short for position to allow negative positions 2024-02-14 00:12:55 +01:00
nswarm 8533f962c6
Add limited support for midi drums w/ rockband 3 (#15054)
* add support for midi drums
* rb3drums: use dpad to disambiguate cymbal/drum hits instead of staggering.
* rb3drums: configurable min velocity and hihat up behavior
* rb3drums: configurable combos, combo duration, note overrides
* rb3drums: move config to separate file.
* rb3drums: apply stagger to double cymbal hits
* rb3drums: support midi CC note mapping
* rb3drums: add config to cmakelists. only load rb3drums config once.
* rb3drums: HihatWithPedalUp defaults to yellow cymbal instead of blue
2024-02-13 23:08:22 +01:00
RipleyTom af33c0c69f Revert FM(a*re_accurate) shortcut to relaxed 2024-02-13 20:08:03 +02:00
RipleyTom 50b1402d66 Fixes full fm(a, re_accurate) pattern 2024-02-13 11:37:20 +02:00
RipleyTom cfd5c62386 Improve re_accurate 2024-02-13 11:37:20 +02:00
RipleyTom 569f72c360 Disable updates for local build 2024-02-12 19:02:52 +01:00
kd-11 df74d49f72 vk: Silence compiler warning 2024-02-12 12:28:16 +03:00
xujibbs eac31dfd03 Update skylander_dialog.cpp
Make strings translatable
2024-02-12 09:54:07 +02:00
Megamouse 0b1a7ee346 overlays: localize sendmessage confirmation 2024-02-12 00:04:46 +01:00
Eladash 77ba2b40e7 Thread.cpp: Explicitly state difference type in thread_ctrl::wait_for_accurate 2024-02-11 23:01:40 +02:00
Eladash 94239f5526 Fixup HW thread switch delay condition for performance 2024-02-11 23:01:40 +02:00
Elad.Ash 148edc005a Improve cpu_flag::yield handling 2024-02-11 20:09:01 +02:00
Elad Ashkenazi ec59f4d37e PPU/LV2: Implement HW threads switching delay when signaling higher priority threads
In real PS3 (it seems), when a thread with a higher priority than the caller is signaled and that there is available space on the running queue for the other hardware thread to start It prioritizes signaled thread caller's hardware thread switches instantly to the new thread code while signaling to the other hardware thread to execute the caller's code.
Resulting in a delay to the caller after such thread is signaled
2024-02-11 20:09:01 +02:00
kd-11 2c03878c3b vk: Don't panic on encountering the exotic mesa drivers 2024-02-11 17:21:56 +03:00
kd-11 c8c845a659 vk: Emit a strong warning if dozen is detected as the currently loaded driver.
- In most cases, the user does not intend to actually use dozen and has installed a compatibility pack by mistake.
2024-02-11 17:21:56 +03:00
kd-11 a54f1970f1 vk: Make more features "optional"
- This allows some non-conformant drivers to at least finish swapchain creation.
2024-02-11 17:21:56 +03:00
kd-11 7f602937a3 vk: Improve driver detection for dozen and lavapipe 2024-02-11 17:21:56 +03:00
kd-11 c2631c914d rsx: Lower some performance warnings to trace to reduce log spam 2024-02-11 14:24:33 +01:00
kd-11 c17014a055 Buildfiles improvements 2024-02-11 14:24:33 +01:00
kd-11 c572226b0d Stop including x86 intrinsics in other architectures 2024-02-11 14:24:33 +01:00
kd-11 6718b0683e Don't include x64 options when building arm64 2024-02-11 14:24:33 +01:00
RipleyTom 3735df4f53 Update CMake requirements in BUILDING.md 2024-02-11 10:09:24 +02:00
kd-11 4746ef09cd Fix linux build 2024-02-10 15:15:02 +03:00
kd-11 ed93bbd16d vk: Improve compute->compute barrier before detiling 2024-02-10 15:15:02 +03:00
kd-11 041daab068 vk: Tighten some memory bounds checks 2024-02-10 15:15:02 +03:00
kd-11 e5c831a800 rsx/vk: Fix GPU tile encoding
- Decoding also needs some love, but currently WIP
2024-02-10 15:15:02 +03:00
kd-11 b8ed3eb824 rsx: Fix cpu detiler 2024-02-10 15:15:02 +03:00
kd-11 95f9f04612 rsx: Provide tile alignment utility (align to 64 * pitch blocks) 2024-02-10 15:15:02 +03:00
kd-11 823c72bf27 rsx/vk: Redefine the (de)tiler config interface 2024-02-10 15:15:02 +03:00
RipleyTom 9b387485b5 Avoid modifying any memory on SYS_NET_EINTR cases 2024-02-09 18:07:18 +02:00
RipleyTom 56e27bdd49 Restrict file creation in /dev_hdd0 2024-02-09 16:13:46 +02:00
Elad.Ash 30e8c3e951
SPU LLVM: Allow swapped FMA and multiplications args in match context 2024-02-07 13:45:29 +02:00
Megamouse 96b7e4c67f Update libpng to 1.6.42 2024-02-06 22:13:22 +01:00
RipleyTom 65d93c97ea Add various SPU patterns 2024-02-06 22:08:44 +02:00
RipleyTom a92b8acba7 Accurate FI 2024-02-06 22:08:44 +02:00
Megamouse 85f4c38b4e Update submodules
- Updates SDL to 2.30.0
- Updates curl to 8.6.0
- Updates libusb to 1.0.27
- Updates zlib to 1.3.1
- Updates FAudio to 24.02
2024-02-05 23:47:38 +01:00
Eladash 40c51a1f05 Crypto/unedat.cpp: remove extract_all_data 2024-02-05 21:56:04 +02:00
Eladash a6c2e995af Crypto/PKG installer: Fix potential RAM shortage when extracing EDAT files 2024-02-05 21:56:04 +02:00
Eladash 596e671973 Crypto/sys_fs: Fix potential RAM shortage in NPDRM decryption
Previous code was structured very naively: if 8GB read is requested, it would allocate 8GB of memory. Without considering recycling memory for each block.
2024-02-05 21:56:04 +02:00
Eladash d38b2eb8ef Crypto/sys_fs: Remove some seek operations 2024-02-05 21:56:04 +02:00
RipleyTom bb9444e19a Add sceNpPlus to registered modules 2024-02-05 15:28:38 +01:00
RipleyTom 26d406fec3 RPCN 1.1 2024-02-05 09:44:29 +01:00
Megamouse dda0b8af45 cellGem: Allow to use multiple controllers as fake PS-Move
- Allows to use the last 4 ports/players as PS Move in fake mode
- Should in theory react to re/disconnected controllers
- Should allow to use player 1-3 as normal controller simultaneously
2024-02-03 21:47:40 +01:00
Megamouse d5ce4e0f6b sceNp: fix atomic type 2024-02-03 17:59:19 +01:00
Megamouse e5cfe710fa sceNp: correct type for data attachment 2024-02-03 17:59:19 +01:00
Megamouse 2a0e2ce0a2 sceNp: don't preserve messages in sceNpBasicRecvMessageAttachment 2024-02-03 17:59:19 +01:00
Megamouse ef56433684 overlays: ask for user confirmation before sending an invite
This shows subject and body as well
2024-02-03 17:59:19 +01:00
Megamouse 8bc3a39586 sceNp: implement sceNpBasicAbortGui 2024-02-03 17:59:19 +01:00
Megamouse e13a671f86 sceNp: Implement sceNpBasicRecvMessageAttachment 2024-02-03 17:59:19 +01:00
Megamouse 48f82c75c1 np: fix signed/unsigned warning
who the heck thought returning signed on a counter makes sense...
2024-02-03 17:59:19 +01:00
Megamouse a5955657c5 overlays: add subject and body to recvmessage dialog 2024-02-03 09:45:55 +01:00
RipleyTom 319657e815 Review fixes 2024-02-03 08:45:29 +01:00
RipleyTom c589001dff Add player history 2024-02-03 08:45:29 +01:00
Megamouse c04cd2228e Qt: Show NP ID in rpcn dialogs 2024-02-02 19:05:56 +01:00
Megamouse cba51b4a5e rsx/glsl: use const for left/right 2024-02-02 10:07:23 +01:00
kd-11 8962ddca01 rsx/glsl: Fix typo 2024-02-02 10:07:23 +01:00
kd-11 1808a4373b rsx: Improvements to the video out passes
- Use shared VS for vulkan as well as GL
- Simplify binding model and give control back to the cpp side
2024-02-02 10:07:23 +01:00
kd-11 bb22afb7f1 gl: Vectorize GL_TEMP_IMAGE_SLOT expression 2024-02-02 10:07:23 +01:00
kd-11 ce571cb6ca vk: Allow indexed lookup for sampler and IA binding points in overlay passes 2024-02-02 10:07:23 +01:00
Megamouse ac9afbfede glsl: use fragCoord to decide interlacing 2024-02-02 10:07:23 +01:00
Megamouse 4e8130bd99 glsl: use textureSize instead of height 2024-02-02 10:07:23 +01:00
Megamouse 00c9321b1d glsl: use const in for params 2024-02-02 10:07:23 +01:00
Megamouse 8e8b582747 glsl: move anaglpyh to separate functions 2024-02-02 10:07:23 +01:00
Megamouse 6f2e843193 vk/gl: add amber-blue anaglyph (ColorCode 3D) 2024-02-02 10:07:23 +01:00
Megamouse 7d9460a560 vk/gl: cleanup formatting in glsl, move some common magic numbers to variables 2024-02-02 10:07:23 +01:00
Megamouse 32f2b14429 vk/gl: add interlaced 3D mode 2024-02-02 10:07:23 +01:00
Megamouse 651f8512eb vk/gl: add more anaglyph 3D modes 2024-02-02 10:07:23 +01:00
Megamouse 3dac7d16e7 vk/gl: unite video_out_calibration_pass fragment shader to new glsl 2024-02-02 10:07:23 +01:00
Megamouse 240f80b467 gl: add missing else in calibration pass fragment shader 2024-02-02 10:07:23 +01:00
Megamouse 17b5a36b59 Add update_helper.sh to VS filters 2024-02-02 10:07:23 +01:00
Megamouse ea326a5f29 overlays: clean up includes 2024-01-31 16:33:29 +01:00
Megamouse c271415328 sceNp: decrease some log levels from todo to warning 2024-01-31 16:33:29 +01:00
Megamouse f28c7d029c overlays: use timestamp for fade animations
Fixes jojo when using sceNp dialogs
2024-01-31 16:33:29 +01:00
Megamouse d7f317fa58 Add UI to sceNpBasicSendMessageAttachment and sceNpBasicAddFriend 2024-01-31 16:33:29 +01:00
Megamouse 3f2c34edd2 sceNp: silence some errors 2024-01-31 16:33:29 +01:00
Megamouse 566a8ac5ac scnNp: add ppu wait before opening blocking dialogs 2024-01-31 16:33:29 +01:00
Megamouse 71b5bc4fe6 sceNp: add more error checks 2024-01-31 16:33:29 +01:00
Megamouse a427783bac overlays: remove separators from send/recv dialogs 2024-01-31 16:33:29 +01:00
Megamouse 23dc6a44f6 overlays: implement native sendmessage dialog 2024-01-31 16:33:29 +01:00
Megamouse 9ef5a01de4 overlays: implement native recvmessage dialog 2024-01-31 16:33:29 +01:00
Megamouse cdfe3ee7c8 Name some threads 2024-01-31 16:33:29 +01:00
kd-11 c3c73c7e24 rsx: Allow native UI render even when we have pending draw calls if FIFO queue is empty. 2024-01-30 16:36:58 +03:00
RipleyTom af8d308a69 Terminate RPCN connection cleanly 2024-01-29 13:01:09 +01:00
Florin9doi a7da245656 Don't search games when the dialog is cancelled 2024-01-28 13:18:35 +01:00
RipleyTom e9713f9635 Fix sceNpCommerce2 init 2024-01-28 10:52:26 +01:00
Megamouse 3dbde04d18 sceNpCommerce: add init checks 2024-01-27 08:31:16 +01:00
Megamouse 1611588682 sceNpCommerce2: add some error checks 2024-01-27 08:31:16 +01:00
RipleyTom 93c72822a3 Fix Apple clang 2024-01-26 17:59:53 +01:00
RipleyTom 6f5bcf12c6 Arm version of trigger_write_page_fault 2024-01-26 09:32:15 +02:00
RipleyTom 07dba02897 FreeBSD workaround for libusb 2024-01-26 02:51:41 +01:00
RipleyTom db685879af Return no file to TSS apis 2024-01-26 02:51:41 +01:00
RipleyTom 94e8d6fe13 Mini sceNpCommerce2Init fix 2024-01-25 22:53:21 +01:00
Megamouse 0d1fbfb755 VFS: Fix some potential .back() segfaults 2024-01-25 17:03:58 +01:00
Megamouse 10c52cf569 sys_usbd: add libusb log callback 2024-01-25 17:03:58 +01:00
RipleyTom 7661df0847 Enable Discord presence on Linux 2024-01-25 09:49:17 +01:00
pastalian e8ad6ec673
Add missing headers (#15075)
Some systems must explicitly include these headers.
2024-01-24 17:22:37 +01:00
Steveice10 3ef48cbdd5 rpcs3qt: Add macOS support to the updater. 2024-01-24 09:44:56 +01:00
Megamouse 5fe36872c5 System: don't consider games as registered if they were already in games.yml
Also, show message if nothing was added
2024-01-24 08:18:57 +01:00
RipleyTom d33955c290 Asmjit FI 2024-01-23 12:24:38 +02:00
RipleyTom 606a60e901 Accurate frest and frsqest 2024-01-23 12:24:38 +02:00
Megamouse 93f5154429 Qt: trim whitespace from textinput before writing to config 2024-01-22 22:25:06 +01:00
Megamouse a6e046c6c3 update submodules 2024-01-22 22:25:06 +01:00
kd-11 8eae8cb86c rsx: Do not emit rounding code when not needed 2024-01-21 12:30:37 +03:00
kd-11 abe5013f1d rsx: Fix compiling of mixed-precision shaders 2024-01-21 12:30:37 +03:00
kd-11 ca7de4bcb1 rsx: Aesthetic changes 2024-01-21 12:30:37 +03:00
kd-11 9a9b5860df rsx: Forcefully disable writes to channels disabled on host
- Some formats may have dummy channels on host. Never write to them!
- This means that XRGB formats correctly only write 24 bits, not 32.
2024-01-21 12:30:37 +03:00
kd-11 0971636c07 rsx: More pipeine refactoring 2024-01-21 12:30:37 +03:00
Megamouse 50fcec63e0 fs: fix get_executable_dir 2024-01-21 00:11:16 +01:00
Megamouse 8a87dc63b1 Emu: Add more info to BlockingCallFromMainThread 2024-01-21 00:11:16 +01:00
Megamouse efea3aa385 Qt: revert accidental settings_dialog check-in 2024-01-20 21:59:02 +01:00
Megamouse 86bab5b7c3 cellImeJp: fix character deletion after change to cursor 2024-01-20 21:59:02 +01:00
Megamouse 675ed82c0b cellImeJp: fix deadlock 2024-01-20 21:59:02 +01:00
Megamouse 58dd0198dd cellImeJp: add candidate list functions 2024-01-20 21:59:02 +01:00
Megamouse 16f833a516 cellImeJp: add cursor 2024-01-20 21:59:02 +01:00
Megamouse 0392830950 cellImeJp: fix focus area 2024-01-20 21:59:02 +01:00
Megamouse 04efc6b4a4 cellImeJp: static functions to silence annoying VS 2024-01-20 21:59:02 +01:00
Megamouse 8edd7d54cf fs: fix warning. fix size argument in report_fatal_error 2024-01-20 21:59:02 +01:00
Eladash f19744ae88 Savestates: Fix restart when suspend mode is off
Add a new menu button for explicit exit (mostly for debug purposes)
2024-01-20 22:15:07 +02:00
Eladash 01ee119c59 Savestates: Dont patch memory on load 2024-01-20 22:15:07 +02:00
Eladash 4cd60aca22 Savestates: Add some logging for sys_overlay 2024-01-20 22:15:07 +02:00
Eladash 81ba791ee7 Simplify fatal dialog's error a bit 2024-01-20 22:15:07 +02:00
Eladash c7a94a80df Savestates/net: fix P2P socket data saving 2024-01-20 22:15:07 +02:00
Eladash c509226bab Firmware installer: Early protection against disk space shortage complications 2024-01-20 22:15:07 +02:00
Eladash 312b35051d sys_fs: Aggregate safe file reads (optimization) 2024-01-20 22:15:07 +02:00
Eladash e401d85af7 progress dialog: minor fix 2024-01-20 22:15:07 +02:00
Eladash e4c9af176b fixup hdd1 cache 2024-01-20 22:15:07 +02:00
Steveice10 9c354ee269
Utilities: Add support for portable user directory. (#15064) 2024-01-20 10:04:25 +02:00
kd-11 96d880839a rsx: Properly propagate surface properties on surface reuse. 2024-01-19 12:34:31 +03:00
Megamouse e23db7efbd Mac: Update MoltenVk to 1.2.7
Remove deprecated extension VK_MVK_moltenvk
2024-01-16 22:52:57 +01:00
Megamouse fd540f1820 Mac: silence deprecation warning 2024-01-16 22:52:57 +01:00
RipleyTom 7d55a85fa6 Replaces page fault triggers with assembly 2024-01-16 12:04:47 +02:00
Megamouse fa7ef870dd sceNp: disable Canonicalize functions for RPCN 2024-01-14 22:55:03 +01:00
Megamouse ecacb874e4 sceNpCommerce: more error checks 2024-01-14 22:55:03 +01:00
Megamouse 0b2e0a1b28 sceNpCommerce: add error constants 2024-01-14 22:55:03 +01:00
Megamouse a08d60fbbe sceNpFriendlist: more checks 2024-01-14 22:55:03 +01:00
Megamouse ef6041c14f sceNpMatching: simplify linked list for loops 2024-01-14 22:55:03 +01:00
Megamouse 25954758d7 sceNpMatching: add error checks 2024-01-14 22:55:03 +01:00
oltolm 0ae1578dce split JIT.cpp and SPURecompiler.cpp 2024-01-14 17:21:39 +01:00
oltolm 2039b85be3 prepare split 2024-01-14 17:21:39 +01:00
oltolm 8eae73dd02 add comments where to split 2024-01-14 17:21:39 +01:00
RipleyTom fe9a24a1b8
RPCN 1.0 (#15045) 2024-01-14 12:36:23 +01:00
Megamouse 3d974eed03 fs: move buf from stack to heap to silence VS warning 2024-01-14 06:40:35 +01:00
Megamouse 329b58c8cd fs: remove duplicate to_utf8 function 2024-01-14 06:40:35 +01:00
Megamouse 2d82e3ef9a Qt: use fs::get_temp_dir during updates
GetTempPathW was falsely using size in bytes instead of string length.
2024-01-14 06:40:35 +01:00
Megamouse faaf644331 Qt/input: show all mmjoy devices with connection in dropdown
This fixes weird issues with disconnected pads while also showing the status.
2024-01-14 02:50:45 +01:00
Megamouse d7aedb439e Qt/Input: Keep configured device name in config when no pad is connected 2024-01-14 02:50:45 +01:00
Megamouse 9c11840e40 input: implement dynamic mmjoy device reconnection 2024-01-14 02:50:45 +01:00
RipleyTom 4c36b80300 Misc NP fixes 2024-01-13 15:44:28 +01:00
Megamouse f7fa5aab70 media_utils: fix segfault when stopping a recording 2024-01-12 19:53:20 +01:00
Megamouse 17aeefe1b0 cellFont: some stubs 2024-01-11 22:35:00 +01:00
Eladash 825ae5b8aa Ensure HDD1 is never damaged or corrupted due to unexpected RPCS3/game termination 2024-01-11 20:24:53 +02:00
Megamouse 3513f6d83c cellMouse: silence some log spam 2024-01-10 22:34:13 +01:00
Megamouse 4ad4badcfe audio_decoder: fix more memleaks and dangling files 2024-01-10 22:34:13 +01:00
Megamouse b67837c0ef cellMusicDecode: fix random pop at the end of a stream
Observed in SSX, which seems to ignore the readSize sometimes
2024-01-10 22:34:13 +01:00
Megamouse b5f3f910f6 cellSearch: fix vfs music and video paths 2024-01-10 22:34:13 +01:00
Megamouse b0a7448394 get_media_info: improve logging 2024-01-10 22:34:13 +01:00
Megamouse bed7763a3b audio_decoder: ignore first invalid data error 2024-01-10 22:34:13 +01:00
Megamouse 572c075a4b audio_decoder: improve logging 2024-01-10 22:34:13 +01:00
Megamouse bad7756af2 audio_decoder: properly free packets 2024-01-10 22:34:13 +01:00
Megamouse 45c89030ac audio_decoder: check for failed av_packet_alloc 2024-01-10 22:34:13 +01:00
Megamouse 7aad4f4253 overlays: decrease log level 2024-01-10 22:34:13 +01:00
Megamouse 9e9385a877 cellVideoExport: export movies to /video/ instead of /movie 2024-01-10 22:34:13 +01:00
Megamouse 431d69ac87 Windows: remove QtCore5Compat dependency 2024-01-10 22:34:13 +01:00
Megamouse 3be24f1e6f Update FAudio to 24.01 2024-01-10 22:34:13 +01:00
Megamouse c45deb3f87 sdl: log version 2024-01-10 22:34:13 +01:00
brian218 213674511e sys_ss: Corrected sys_ss_update_manager(0x6011) version data format 2024-01-10 12:37:11 +01:00
brian218 6548e3f7d0 sys_fs: Improved get_device_root() path identifying security 2024-01-10 12:37:11 +01:00
brian218 a269ae7e30 sys_fs: Prevented duplicate device mounting 2024-01-10 12:37:11 +01:00
brian218 862295d9f3 sys_fs: Fixed sys_fs_unlink()'s failing to delete files in dev_usbXXX
sys_fs: Fixed get_mp() up for dev_usbXXX
2024-01-10 12:37:11 +01:00
RipleyTom 61e130e68c Honk if you knew memset(nullptr, 0, 0) was UB 2024-01-09 23:06:23 +01:00
RipleyTom 236e32fb3d Fix weird cmp in np_handler.cpp 2024-01-09 23:06:23 +01:00
RipleyTom 067ea68979 Fix games passing invalid npids 2024-01-09 23:06:23 +01:00
Megamouse 7504503d5f sceNp: don't return error if assignedReqId is null 2024-01-09 02:58:00 +01:00
Megamouse 108d0d49ec sceNp: add missing roomPassword check 2024-01-09 02:58:00 +01:00
Megamouse 2c424a0911 sceNp: add missing withPassword check 2024-01-09 02:58:00 +01:00
Megamouse ffe1b287a8 sceNp: add missing check for roomSlotInfo 2024-01-09 02:58:00 +01:00
RipleyTom 485fca34b0 Misc NP fixes 2024-01-08 14:03:15 +01:00
RipleyTom 0b984e9a23 Add -Werror=implicit-fallthrough to cmake build 2024-01-07 17:29:43 +01:00
RipleyTom 74e084c893 Improve sceNpEula 2024-01-07 14:50:45 +01:00
RipleyTom 47ae192cf8 Impl sceNpBasicSendMessage 2024-01-07 13:36:27 +01:00
RipleyTom 80b7fd5f3f Check room event callback has been set before calling it 2024-01-05 22:34:52 +01:00
RipleyTom 0227b16d06 Fix sceNpBasicSetPresence when data is nullptr and size is 0 2024-01-05 22:34:52 +01:00
kd-11 2a1af17f67 vk: Force GPU texture processing if the input is already GPU-resident (Tiled RCB read) 2024-01-05 16:29:53 +03:00
RipleyTom b6e9746198
RPCN 0.9 (#15002) 2024-01-05 09:43:26 +01:00
kd-11 bc141831f7 gl: Implement display output format correction 2024-01-04 13:03:32 +03:00
kd-11 acd3fd0c3e vk: Implement display output format correction 2024-01-04 13:03:32 +03:00
kd-11 2369266b8a rsx: Add an option to force hardware MSAA resolve 2024-01-03 19:32:45 +03:00
Ani e707ff530d rpcs3_version: Bump to 0.0.30 2024-01-02 20:27:18 +00:00
Megamouse 9fe640b187 whitespace and format 2024-01-02 16:46:31 +01:00
Megamouse 750aa163c5 cellSearch: mount paths in /dev_hdd0/.tmp/ instead of /,tmp/ 2024-01-02 16:46:31 +01:00
Megamouse 018b1da2b9 cellSearch: fix mounting of files
Turns out you have to tell vfs::mount whether it's a file or directory.
2024-01-02 16:46:31 +01:00
Eladash 170e268199 Improve Emulator::GetBdvdDir
* Optimize to perform string validation before executing a filesystem check.
* Fix a bug when there is a roaming PS3_DISC.SFB file somewhere in upper directories. (main_dir_name was changed incorrectly)
* Add verbose logging in Emulator::IsValidSfb.
2024-01-02 15:56:06 +02:00
Eladash 5755a94cc1 Savestates: Experimental pads fix 2024-01-02 15:56:06 +02:00
Eladash 4f06024d9f Fix report_fatal_error duplicate messages 2024-01-02 15:56:06 +02:00
Eladash 2a1330083d Fix PPU progress dialog hint 2024-01-02 15:56:06 +02:00
Megamouse d03393ffe9 sys: fix games.yml hdd paths 2024-01-02 10:18:23 +01:00
RipleyTom d6dde225bd Warn on use of privileged port on Linux 2024-01-01 21:23:31 +01:00
kd-11 6c33c38c08 rsx: Fix RSX tiling when using optimized DMA views 2024-01-01 19:44:47 +03:00
nastys 4068423c48
macOS CI: downgrade ffmpeg (#14987) 2024-01-01 15:11:25 +00:00
Eladash 195e7e185a cellPad LDD fixup 2024-01-01 15:04:39 +02:00
Eladash 87140ab4cc Qt: Add build version, title, emulation state and date to fatal error dialog 2024-01-01 11:58:00 +02:00
Eladash 9aff2d5ee1 cellPad: Fix LDD pads registration 2024-01-01 11:58:00 +02:00
Eladash 858e493b52 Savestates/vm: Improve saving performance 2024-01-01 11:58:00 +02:00
Eladash f0c93ae9dc sys_spu: Fix warning and theoretical bug 2024-01-01 11:58:00 +02:00
Eladash 9455bfe6c2 Savestates: Fix g_fxo->init for types which use a pointer 2024-01-01 11:58:00 +02:00
Eladash 467790c8d8 PPUTranslator: Try to fix a regression 2024-01-01 11:58:00 +02:00
Eladash c2076373e8 Utilities\BitField.h: Try to fix some warnings
Cleanup and make bitfield extraction u32 if possible
2024-01-01 11:58:00 +02:00
Eladash a4ab6126b0 Add more debug info in serial_breathe_and_tag() 2024-01-01 11:58:00 +02:00
Eladash ce5f7bd4ff Savestates: Rename DeferDeserialization, add some asserts 2024-01-01 11:58:00 +02:00
Eladash f5d39ef7f2 Fix a corner case in lv2_timer_thread abort 2024-01-01 11:58:00 +02:00
Eladash 89b8be98d6 Simplify lv2_timer_thread management 2024-01-01 11:58:00 +02:00
Eladash 87fc5e4923 Move initialize_timebased_time call to a safer spot 2024-01-01 11:58:00 +02:00
Eladash e6f1e598a9 Fix pad_state_notify_state_change 2024-01-01 11:58:00 +02:00
Eladash 2398e753bf Savestates/cellPad: Save old controller state 2024-01-01 11:58:00 +02:00
Eladash 847b721558 Compression: Fix infinite loop
Always keep expanding the buffer even if avail_in is 0
2024-01-01 11:58:00 +02:00
Eladash b00fe1d12f Compression: Improve async compression performance 2024-01-01 11:58:00 +02:00
Eladash 6214d0c9a5 Savestates/TAR: Fix huge files handling in TAR serialization 2024-01-01 11:58:00 +02:00
Eladash 4a8beb8588 SPU LLVM: Minor fixup 2024-01-01 11:58:00 +02:00
nastys feca7412d2 Update deploy-mac.sh - libjxl_cms.0.9.dylib 2023-12-31 21:16:00 +02:00
Elad Ashkenazi dfb163546b
HOTFIX for atomic wait 2023-12-30 22:33:57 +01:00
Megamouse f45cbdd0f7 fixes 2023-12-30 21:14:26 +01:00
Megamouse 7a02787bee fix some more warnings 2023-12-30 21:14:26 +01:00
Megamouse 3059570404 Update wolfssl to v5.6.6 2023-12-30 19:53:51 +01:00
Megamouse b501953d41 rsx: remove unused param 2023-12-30 19:07:35 +01:00
Megamouse c5836e3525 fix more warnings 2023-12-30 19:07:35 +01:00
Megamouse 59c58aa3cf fix some warnings 2023-12-30 19:07:35 +01:00
Megamouse b1c48e66c9 sceNp: fix size_t data types 2023-12-30 19:07:35 +01:00
kd-11 d4796c46b1 rsx: Fix detiler shader compilation 2023-12-30 12:35:23 +01:00
kd-11 2b9bfc0ec2 rsx: Pick tiler/detiler according to actual block size 2023-12-30 12:35:23 +01:00
kd-11 188eefeeac rsx: Avoid out of bounds write for tiled memory 2023-12-30 12:35:23 +01:00
Alexander Wilms 22d43c25b2 Metainfo: Update number of compatible games 2023-12-30 11:41:52 +01:00
Alexander Wilms a7ae1c3b9c Metainfo: Add German translations and more URLs 2023-12-30 11:41:52 +01:00
Alexander Wilms 42cf8b0bc4 Metainfo: Sort tags with jdAppStreamEdit 2023-12-30 11:41:52 +01:00
Alexander Wilms 42348d6b43 Fix display_length tag and add screenshot caption 2023-12-30 11:41:52 +01:00
Megamouse 2c6f11fc1c msvc/debug: set mainCRTStartup as entry point 2023-12-30 04:51:40 +01:00
Megamouse f0c2f9235e msvc/debug: remove outdated qtmaind.lib dependency 2023-12-30 04:51:40 +01:00
Megamouse 3a73f8f84f msvc/debug: Pass c++ standard to Qt 2023-12-30 04:51:40 +01:00
Tha_14 8e911101b7
Docs: Add clarifications regarding Visual Studio 2019 version requirements. 2023-12-30 03:23:19 +01:00
RipleyTom a96f9d9bfb Fix sceNpManagerGetNetworkTime called before rpcn connection 2023-12-30 02:00:21 +01:00
RipleyTom 03761c5dd4 rpcn 0.8 2023-12-29 19:22:49 +01:00
Megamouse d3298c422b sys/cellGame: Fix hdd game dir name
Some games are installed with other dir names than title_id
2023-12-29 18:10:00 +01:00
Megamouse b0c1684ff3 Qt/input: separate num keys from other keys 2023-12-29 16:33:41 +01:00
Eladash 9f6c5381a1 SPU/Savestates: Remove reservation hack, allow its saving 2023-12-29 11:11:53 +02:00
Eladash e209dc1229 Savestates: Save build version and creation time 2023-12-29 11:11:53 +02:00
Eladash 9df40a9b69 Suggest using SPU Savestates-Compatible Mode on failure to save 2023-12-29 11:11:53 +02:00
Eladash bd687b41d3 SPU LLVM: Fix savestates with LLVM
Sneaky bug: allow invalidation from blocks that do not contain a store but do a gpr-state critical operation.
2023-12-29 11:11:53 +02:00
Eladash 526aaf7302 Fix idm::allocate_id at fixed position 2023-12-29 11:11:53 +02:00
Eladash 72ed2f1d43 Invalidate savestates 2023-12-29 11:11:53 +02:00
Eladash e14cc69441 Savestates/vm: rewrite memory saving for better compression 2023-12-29 11:11:53 +02:00
Eladash d78bbbf69a Savestates: Fix audio_out_configuration initialization 2023-12-29 11:11:53 +02:00
Eladash f696107c90 Add savestate data validity asserts 2023-12-29 11:11:53 +02:00
kd-11 475191cf7f rsx: Fix typo 2023-12-27 21:25:46 +01:00
kd-11 69a463ad02 rsx: Support DMA tiling in the CPU blit path 2023-12-26 18:30:00 +03:00
kd-11 51fc193395 rsx: De-spaghettify nv3089::image_in
- This function was a disaster with random code added in without much thought over a decade.
- Restructures the logic into decode and transfer steps for easier management.
2023-12-26 18:30:00 +03:00
Megamouse 45c865ede8 Use asmjit main repo 2023-12-25 14:29:59 +01:00
Megamouse 3f5a80d692 Typemap: Set init to false after each individual destructor 2023-12-25 11:14:11 +02:00
RipleyTom 69238bfc23 Remove destructor dependencies on nph 2023-12-24 15:16:56 +02:00
kd-11 6a7fb4c10c Do not include profiling headers 2023-12-23 14:24:34 +02:00
RipleyTom 732d9b83ba Fix nph and nt interderp 2023-12-22 14:34:48 +01:00
Megamouse 50214a6a07 Qt: use default colors for native styles 2023-12-22 10:03:56 +01:00
Megamouse bc9f0fe56c Qt: use initial style as default style 2023-12-22 01:20:14 +01:00
Eladash 40604f6076 Fixup np_handler ctor 2023-12-21 16:12:50 +02:00
Megamouse b17b6e07ea Fix warning 2023-12-20 23:33:43 +01:00
Megamouse 3f2c75d920 overlays: move debug overlay to native overlay 2023-12-20 23:33:43 +01:00
Megamouse d08c7a9b96 sceNpDrm: improve error handling of rap files 2023-12-20 22:22:51 +01:00
Eladash 8591529aad Fix sys_fs_fcntl default_sys_fs_container use 2023-12-20 19:58:21 +02:00
Eladash 33d46172a6 Game Settings: Add an option to create game config using default settings
Fix a potential crash on creating global config.
2023-12-20 18:27:47 +02:00
RipleyTom dbd1f27862 Replace condition_variable with atomic_t 2023-12-20 15:28:47 +02:00
Megamouse 2eae0a9d3a Qt: allow to use native styles 2023-12-20 12:53:21 +01:00
Megamouse 8b6fa32d12 Do not allow running RPCS3 from Rar directories 2023-12-19 22:18:57 +01:00
Eladash 90b6f5613e Fix some warnings 2023-12-19 15:34:07 +02:00
Eladash d1527710f9 Fix HLE sys_lwcond_signal_to 2023-12-19 15:34:07 +02:00
Eladash 657af10361 Savestates: Fix pair serialization 2023-12-19 15:34:07 +02:00
Eladash 7e853abc4b Fix tcp_timeout_monitor abort 2023-12-19 15:34:07 +02:00
Eladash 9f0cb9148f vm.h: Cleanup and fix some warnings 2023-12-19 15:34:07 +02:00
Eladash edf74313ef Remove some fxo->need calls 2023-12-19 15:34:07 +02:00
Elad Ashkenazi 14c92efd38 Util/fixed_typemap.hpp: Fix thread-safety issue with init
Now safe as long as no- object is created
2023-12-19 15:34:07 +02:00
Eladash 2190419b83 Util/fixed_typemap.hpp: set unitialiazed data to trap values 2023-12-19 15:34:07 +02:00
Eladash 0c410f8a14 Postpone thread launching on g_fxo->init 2023-12-19 15:34:07 +02:00
Megamouse a4bcba8971 Fix some warnings 2023-12-19 00:50:57 +01:00
Megamouse 24dbec71f8 Update asmjit 2023-12-19 00:50:57 +01:00
Megamouse 763744268d update_manager: replace deprecated LookToRead2_Init nonsense with regular c++ default initializer 2023-12-19 00:50:57 +01:00
Megamouse 00a80adfae Update 7z to 23.01 2023-12-19 00:50:57 +01:00
kd-11 98b7642232 rsx: Avoid data loss in blit engine when WCB/WDB + RCB/RDB is active 2023-12-18 17:08:33 +03:00
brian218 19d1e4dcc9 sys_usbd: Fix up sys_usbd_get_descriptor() error handling according to hardware test
usb_device_emulated: Allow partial copy of desscriptors
2023-12-17 19:38:40 +02:00
brian218 d18f929faf sys_usbd: Prevent sys_usbd_get_descriptor() from buffer overflow
sys_usbd: Add some more arguments to sys_usbd_attach()'s logging for better debugging
2023-12-16 16:24:55 +02:00
brian218 04ef8b8de5 Correct the link of glslanglibs_mt.7z in BUILDING.md according to #14870 2023-12-16 16:24:55 +02:00
Megamouse f8e0c9e27a Start/Stop IPC when changing the config setting 2023-12-15 18:08:07 +01:00
Megamouse 907e0fa8c8 Fix fxo dependencies 2023-12-15 18:08:07 +01:00
Megamouse 47fcb9562f Trophy Manager: allow to lock/unlock trophies 2023-12-15 00:31:49 +01:00
RipleyTom cee6d03033 Fix initialization order for network_thread 2023-12-14 19:34:14 +01:00
Megamouse 57cc7037f6 input/evdev: handle flatness deadzone value
This may fix issues with sticky axis on evdev.
Also refactors some redundant axis scaling functions.
2023-12-14 15:51:11 +01:00
Megamouse 7c9a38e0f3 rsxaudio: fix ensure order 2023-12-14 15:51:11 +01:00
Megamouse f594f485a4 Update soundtouch to 2.3.2
Also adds an extra fix for time stretching:
Fix receiveSamples buffer advance if maxSamples is bigger than samplesInBuffer
2023-12-14 01:55:30 +01:00
RipleyTom f709a5747a Force sending a FIN packet on rpcn disconnect 2023-12-13 12:42:38 +02:00
Eladash 75494066ea Qt: Cleanup game-install assistant pull request
Use paths instead of IDs,  disable typemap.
2023-12-12 21:23:33 +02:00
Eladash 60baa49007 sceNp/vm: Fix strings read, implement safe string reader 2023-12-12 21:23:33 +02:00
Megamouse 8ebb7b4952 windows/glslang: remove build dir after clean 2023-12-12 01:23:05 +01:00
kd-11 bbea303fbc build/ci: Fix glslang build on msvc 2023-12-12 01:23:05 +01:00
kd-11 83eb07959d build/ci: Pick latest glslang from rpcs3 glslang fork 2023-12-12 01:23:05 +01:00
Megamouse e830b3cffe Update Vulkan SDK to 1.3.268.0 2023-12-12 01:23:05 +01:00
Megamouse 15cd05cdfb curl: use native CA store instead of deploying cacert.pem 2023-12-12 01:23:05 +01:00
Megamouse a9eebe3b71 Update curl to 8.5.0 2023-12-12 01:23:05 +01:00
Megamouse fa4a90f905 Update FAudio to 23.12 2023-12-12 01:23:05 +01:00
nastys 96e5a2909d
macOS CI: use 7-Zip for artifacts (#14881) 2023-12-11 19:21:06 +01:00
Eladash a6839e823e Qt: Post Game-Installation Assistant 2023-12-11 07:47:52 +02:00
oltolm cb4a688e02 asm.hpp: fix usage of _mm_prefetch 2023-12-11 06:26:40 +02:00
kd-11 ab6bcd32a9 rsx: Improve strict mode check in 308a::color
- The chances that someone is using strict mode is lower than the odds of having default ZCULL
2023-12-09 22:34:02 +03:00
kd-11 67f97b0e15 rsx: Let 308a::color have a synchronization side-effect in strict mode
- Some games use 308a::color to implement custom sync primitives (ETQW).
- When the color data is written, the engine assumes all occlusion reports are ready which can cause severe flickering if we don't flush the pipeline.
2023-12-09 22:34:02 +03:00
Zion Nimchuk f824be6b7b Mac CI: Install python before updating 2023-12-07 01:36:25 +01:00
Elad Ashkenazi fbeaa1c487 Savestates: Fix compressed serialization handler deadlock 2023-12-05 12:34:52 +02:00
Megamouse 57ee3c6a6d cellRec: Remove outdated frame size check
We are rescaling the images to the desired output format in the encoder.
The frames themselves are not a fixed container anymore.
2023-12-05 08:37:34 +01:00
Megamouse a4011376e0 Qt: only allow double leftclick in screenshot manager 2023-12-05 08:37:34 +01:00
Eladash 69ef9c8a6a PPU/sys_dbg: Implement self-modifying code 2023-12-03 12:57:21 +02:00
Megamouse 8ef844ca53 Qt: Remove default "Unknown" in GameInfo struct
There is no need to initialize these anymore.
The game list already uses its own fallback string constants if needed.
2023-12-03 01:05:28 +01:00
Megamouse a97bad97ae Qt: Properly use ICON1.PAM from game data dir if available
Fixes hover movie for disc games that have game data installed.
2023-12-03 01:05:28 +01:00
Megamouse c245637c38 Qt: force hover event handling for flow widget items
Fixes hover movies for stylesheets that didn't have a game grid item style set for the hover state.
2023-11-30 22:10:32 +01:00
Megamouse 4a4f537ee8 recording: Implement audio recording for rsx audio 2023-11-30 09:55:36 +01:00
Megamouse 44585b98cc audio: fix time stretching regression 2023-11-30 00:34:32 +01:00
Megamouse 4520f7646f recording: use scoped_lock 2023-11-30 00:34:32 +01:00
Megamouse bebac4773a cellRec: only access global video provider if necessary
We do not necessarily use the video provider object in cellRec...
2023-11-30 00:34:32 +01:00
Megamouse 9e76e14a79 recording: optimize access to video recorder
Use separate locks for audio and video
Fix audio mutex usage in cellRec.
Removes can_consume_sample, since we don't do any processing
between can_consume_sample and present_samples.
Use get_system_time for consistency.
Move pts reset to set_video_sink.
Make start time atomic.
Remove frame and sample counts.
Use m_active to early out to reduce mutex locks.
Do not try to present samples if the recording mode is stopped anyway.
2023-11-30 00:34:32 +01:00
Megamouse 826cdbb507 Qt 6.6.1 2023-11-29 22:44:57 +01:00
Megamouse 4dfda3240c Qt: implement hover pam in game list 2023-11-29 20:11:45 +01:00
Megamouse aae155e954 Qt: use vector for camera video sink buffer 2023-11-29 20:11:45 +01:00
oltolm fdcb481f07 fix Clang warnings 2023-11-29 19:02:34 +01:00
kd-11 1c78584f41 rsx: Remove unnecessary "else" clauses 2023-11-29 19:52:16 +03:00
kd-11 685b3ee41b rsx: Code quality and readability improvements 2023-11-29 19:52:16 +03:00
Eladash b674e332fc SPU: Fixup SPU Cache progress in first game boot 2023-11-29 10:51:32 +02:00
Megamouse 57324f1703 Qt: notify progress dialog cancelation when closing the game window 2023-11-29 00:46:20 +01:00
Megamouse ac869ec855 Qt: fix random segfaults when canceling batch operations
It occasionally happened that the progress_dialog object was deleted before we reached the end of the function.
2023-11-29 00:46:20 +01:00
Eladash b774ba9888 serialization.hpp: Fix some warning 2023-11-28 21:18:18 +02:00
Eladash 54a6f2f51b SPU LLVM: Do not wait for Progress Dialog to clear before starting 2023-11-28 21:18:18 +02:00
Eladash d449420a45 PPU Progress Dialog: Add "Applying PPU Code" stage 2023-11-28 21:18:18 +02:00
nastys bafac95266
macOS CI: link ffmpeg after building it from source (#14843) 2023-11-28 18:56:39 +01:00
Eladash 3bd27d5695 TAR: Improve logging 2023-11-28 16:46:44 +02:00
Eladash 0416f6361c Fix file_view::read_at and file_view::get_stat 2023-11-28 16:46:44 +02:00
Eladash 9abf0b7176 Savestates: Asynchronous compression 2023-11-28 16:46:44 +02:00
Eladash aaf776ddc9 Fixup Firmware install 2023-11-28 16:46:44 +02:00
Eladash 79465334fe Savestates: Add basic statistics in log 2023-11-28 16:46:44 +02:00
Eladash f8ca5cdf56 vm: Minor optimization for memory serialization 2023-11-28 16:46:44 +02:00
Eladash ac19a50f5f Rewrite global zipping buffer function
Take advantage of the new method, remove a method that is not recommended for use.
2023-11-28 16:46:44 +02:00
Zion Nimchuk 8e31f7fb07 Explicitly add qtsvg to freebsd 2023-11-27 23:07:21 +01:00
Eladash fdb2fecd45 Savestates: Add errored state for compressed stream 2023-11-27 12:36:17 +02:00
Eladash a0b521ba8e Savestates: Add TAR and VM assert 2023-11-27 12:36:17 +02:00
Eladash 5dbeb68ed2 Savestates: Fix optional_savestate_state use 2023-11-27 12:36:17 +02:00
Eladash c7c2baae03 Savestates: Implement 'autostart off' mode for debugging 2023-11-27 12:36:17 +02:00
Eladash f60bdbaece Savestates: Compressed state files 2023-11-27 12:36:17 +02:00
Darkhost1999 91dbd92193 Change PPU/SPU Cache
Enable minimizing the LLVM batch creation window and keep modal permissions
2023-11-25 03:20:57 +01:00
Megamouse 099ec16403 Qt: add trophy count column to trophy manager game list 2023-11-25 01:47:32 +01:00
Megamouse 23316d4e1e cellRec: fix pausing and resuming 2023-11-23 21:19:31 +01:00
Megamouse 966def13c5 cellRec: fix downmix 2023-11-23 21:19:31 +01:00
Megamouse 0899723510 recording: add h264/aac, better logging of output formats 2023-11-23 21:19:31 +01:00
Megamouse 434a63a98a recording: rename audio_sample to audio_frame 2023-11-23 21:19:31 +01:00
Megamouse d27d021913 recording: fix subsequent recordings, reset sample counter to 0 2023-11-23 21:19:31 +01:00
Megamouse a84c261ff3 cellRec: fix member reset between recordings 2023-11-23 21:19:31 +01:00
Megamouse ff434f9d38 recording: cleanup audio config members
and fix some annyoing msvc warnings
2023-11-23 21:19:31 +01:00
Megamouse 49f910a56b recording: improve pts accuracy and consistency
Also clean up some logging
2023-11-23 21:19:31 +01:00
Megamouse 90846013c2 cellRec: fix internal video frame ringbuffer pts 2023-11-23 21:19:31 +01:00
Megamouse b2d9da0b4b recording: Fix flush. We want to clear the whole queue... 2023-11-23 21:19:31 +01:00
Megamouse 3cec3b866d cellRec: implement audio mixing 2023-11-23 21:19:31 +01:00
Megamouse 6ba204a259 recording: decrease log spam 2023-11-23 21:19:31 +01:00
Megamouse 51d0df97d3 cellRec: implement audio encoding (no mixing yet) 2023-11-23 21:19:31 +01:00
Megamouse 4c14290694 cellRec: Don't present frames/samples if external audio/video is used 2023-11-23 21:19:31 +01:00
Megamouse 5fa77b04ea recording: remove unused duration member variable 2023-11-23 21:19:31 +01:00
Megamouse dbbf318e1c recording: fix warning 2023-11-23 21:19:31 +01:00
Megamouse 9e3763e6e5 recording: use av_interleaved_write_frame 2023-11-23 21:19:31 +01:00
Megamouse 42cd7df813 recording: fix default sample rate 2023-11-23 21:19:31 +01:00
Megamouse 64529cefa5 cellRec: use constant for block samples 2023-11-23 21:19:31 +01:00
Megamouse 70c35642a4 recording: initial audio recording 2023-11-23 21:19:31 +01:00
kd-11 ebf48800e6 rsx: Always enable ROP output rounding if shader precision is higher than low
- Hardware behavior is inconsistent so let's just emulate this when possible
2023-11-21 13:49:16 +03:00
kd-11 673660d362 gl: Fix static sampler bindings
- VS states come before FS mirrors
2023-11-21 13:49:16 +03:00
kd-11 ab8a12e211 rsx: Fix vertex input validation failure
- We switched from a allocate-per-draw-call to reusing the vertex input data. We need to make sure previous state does not affect validation results.
- Memcpy is too slow at this level of frequency, so just reset the attributes you're using before using them.
- Also changes the validation routine to only check attributes we're actually using.
2023-11-15 20:15:03 +03:00
oltolm 8c0debfe65
Fix file_view::read_at 2023-11-10 18:40:17 +02:00
Megamouse 71f497947e Don't close moved file 2023-11-10 12:58:38 +02:00
Megamouse 06bdaf1fb1 rsx: fix reading zipped captures 2023-11-10 12:58:38 +02:00
Megamouse 840455b872 rsx: zip and unzip rsx captures 2023-11-10 09:05:16 +01:00
Eladash 66d01b688c Savestates: Implement initial RAM ventilation system 2023-11-10 08:45:49 +02:00
Eladash 2db607c716 Replace some fmt::format with fmt::append 2023-11-10 08:45:49 +02:00
kd-11 c41130080d rsx/vp: Emit more efficient code
- Applies more aggressive DCE in the analyser. Dead-code in tails could happen before in some cases.
2023-11-09 21:05:54 +03:00
kd-11 85cefec5a3 rsx: Fix vertex program analyser bug 2023-11-09 21:05:54 +03:00
Megamouse 1b1756de22 Update dependencies
- Update FAudio to 23.11
- Update SDL to 2.28.5
- Update wolfssl to 5.6.4
2023-11-08 19:37:47 +01:00
Megamouse 648bf25557 Midi: improve error handling 2023-11-08 17:10:57 +01:00
Zion Nimchuk e8a3ac592d Switch official AppImage deployment to clang 2023-11-08 05:47:25 +01:00
Darkhost1999 151738a4cb Fix Firmware tree checkboxes
Make it look like the rest of the file to communicate with the user correctly
2023-11-07 13:24:36 +01:00
Megamouse e26d4e1762 sys_net: fix some warnings
move some data to heap
2023-10-31 15:11:43 +02:00
oltolm b7fe35a2af fix Clang compilation warnings 2023-10-26 09:29:32 +03:00
Megamouse 3c93509471 fix deprecation warning 2023-10-25 21:44:31 +02:00
Megamouse f11c1613bd fix unused parameter warning 2023-10-25 21:44:31 +02:00
Megamouse ecfa77f6e7 unzip: check deflateInit and inflateInit results 2023-10-25 21:44:31 +02:00
Megamouse 132bb6db29 Update moltenvk comment 2023-10-25 21:44:31 +02:00
shinra-electric f40168e614 Add MVK 1.2.6 to the Mac build script 2023-10-25 20:22:25 +02:00
shinra-electric 7b7cb959f9 Bump MVK to 1.2.6 2023-10-25 20:22:25 +02:00
kd-11 dfa83314df vk: Add chip detection for INTEL DG2 cards
- No specific optimizations yet, but they're becoming more popular so that may be necessary soon.
2023-10-25 20:06:04 +03:00
kd-11 867153c5ea vk: Drop obsolete ANV workaround 2023-10-25 20:06:04 +03:00
kd-11 0612b52881 rsx: Add note explaining padding behavior in linear-swizzle conversion fallback code. 2023-10-25 20:06:04 +03:00
Megamouse a4d8091625 Reduce log level for missing gamecontrollerdb.txt to warning 2023-10-25 07:13:12 +02:00
Megamouse aa9f364dc6 cellPhotoImport: better log channel name for string search in logs 2023-10-25 07:13:12 +02:00
Megamouse 7cb4521082 overlays/media_list_dialog: Fix path logging 2023-10-25 07:13:12 +02:00
Megamouse 07da8d5e36 cellPhotoDecodeFromFile: allow decoding files inside dev_hdd1 2023-10-25 07:13:12 +02:00
Eladash f9d213650c Utilities/Thread.cpp: Fix threads memory leak 2023-10-24 22:14:12 +03:00
Eladash eb407e3b5c SPU/MFC: Add block has to command history 2023-10-24 22:14:12 +03:00
brian218 23cb67e0a1 [Bugfix] USIO: Fixed switch-kind buttons got released when game window lost focus 2023-10-21 02:24:16 +02:00
Megamouse b3864f2d10 cellSaveData: Fix SAVEDATA_OP_LIST_DELETE
- The savedata parameter checks were missing conditions for SAVEDATA_OP_LIST_DELETE (and the unimplemented import/export functions)
- This caused the 'delete savedata' menu entry in Bonk's Adventure to be inaccessible since we always returned an error no matter the arguments.
- Additionally, the game uses an asterisk as prefix to load the savedata list, which is actually a valid thing to do based on the disassembly for this exact function (and maybe others?). I only report the savedata for the current title ID for now though, since I fear I'll accidentally delete some other savedata.
2023-10-16 21:19:44 +02:00
Elad Ashkenazi 927685fd63 VFS: fix rename 2023-10-16 14:47:50 +03:00
RipleyTom 0448b8e3ae Disables jack being forcibly linked by rtmidi 2023-10-15 06:18:43 +02:00
Megamouse 8ff95a71dd Update curl
Update curl to 8.4.0 (I forgot this in the last commit)
2023-10-14 19:26:44 +02:00
Megamouse ec916d1f5f Update dependencies
Update Qt to 6.6.0
Update yaml-cpp to 0.8.0 (support for more data types, cmake changes)
Update FAudio to 23.10 (now defaults to WASAPI on Win10+)
Update pugixml 1.14 (better error handling)
Update SDL to 2.28.4 (third-party DualSense fix)
2023-10-14 15:40:05 +02:00
Johnny Doe e3613e7dc1 Add --parents to mkdir to avoid error if directory exists 2023-10-13 15:19:11 +02:00
oltolm 50df01d00e llvm: add support for LLVM 17 2023-10-13 14:27:48 +02:00
Megamouse 7bb94227be Qt: allow to use zipped logs in config checker 2023-10-13 09:30:42 +02:00
Megamouse 76629e1b52 Qt: Allow to use .gz files in Log viewer
Log viewer can open .gz files
Log viewer can save log as .gz
Refactored most instances of zip and unzip code to seperate functions
2023-10-13 07:45:16 +02:00
kd-11 e95cff0bde rsx: Detiler improvements
- Detile on blit src read
- Improve blit engine integration
2023-10-12 15:25:47 +03:00
Elad Ashkenazi 9dca70ec9e PPU Loader: Fix relocation offset verification
Kernel aligns segment memory to 256 bytes internally.
2023-10-12 13:53:30 +03:00
nastys 75d239356a
macOS CI: force install Python 3.11 2023-10-10 00:16:48 +02:00
Megamouse 982e09a486 Qt: Remember last game window position and visibility
- Remembers the last game window geometry and tries to apply it on boot
- Remembers the last minimized/maximized/windowed/fullscreen state and tries to apply it on boot
- All existing game window settings keep priority
- Should work with multi-monitor setups as well
- Ignored if the user forced a different screen with cli commands
2023-10-09 11:20:21 +02:00
oltolm 8bd05871d0 CMake: fix curl build 2023-10-07 08:33:35 +02:00
Zion Nimchuk 2f99fda88e Update Docker to 6.5.3 2023-10-06 23:41:41 +02:00
Megamouse 2a0fa53c0d GL: check QOpenGlContext::create result 2023-10-06 08:42:26 +02:00
Megamouse f7d8993a1f Qt 6.5.3 2023-10-06 08:42:26 +02:00
Megamouse 9fce70809e Input: Fix "," key in keyboard pad handler 2023-10-06 03:12:16 +02:00
Megamouse 830b1a8a8d CMAKE: try to fix curl 2023-10-06 01:58:43 +02:00
Eladash d335d356ca IdManager.h: Savestate fix part 2 2023-10-05 05:07:46 +03:00
Eladash b2e969eb8f Savestates: Fix rsxaudio 2023-10-05 05:07:46 +03:00
Eladash 6db8b84048 Improve savestate version mismatch message 2023-10-05 05:07:46 +03:00
Eladash 0240a7d43d sys_fs: Savestate fixup 2023-10-05 05:07:46 +03:00
nastys f88443afa3 macOS CI: set build timeout to 180 minutes 2023-10-03 22:07:25 +03:00
Eladash c3f1d39563 Improve vfs::host::rename 2023-10-03 15:50:46 +03:00
Eladash ce3d7f90fd VFS: Fix recursive locking 2023-10-03 05:32:39 +03:00
Eladash 4b827a8d9c sys_fs: Optimize concurrent file reads 2023-10-02 21:18:08 +03:00
Eladash f07e17f6aa sceNp: Cut inactive time of DrmIsAvailable in half 2023-10-02 21:18:08 +03:00
Eladash 257b0f0d69 Improve lv2_file::file_view::read 2023-10-02 15:38:58 +03:00
Eladash dd518fcafb Savestates/sys_fs: Fix file saving 2023-10-02 15:38:58 +03:00
Eladash 020bff1485 Savestates: add sys_rsxaudio 2023-10-02 15:38:58 +03:00
Eladash 96d31cf64e IdManager.h: Savestate fix 2023-10-02 15:38:58 +03:00
oltolm f35ca71454 cmake: fix libcurl compilation 2023-10-02 09:47:49 +03:00
Malcolm Jestadt d1bea790f3 SPU LLVM: Optimize GB/GBH/GBB with a GFNI path
- Abuses GFNI to extract bits from bytes, from 5->2 instructions in most cases
2023-10-01 23:05:28 +03:00
Megamouse 0140925e65 Update curl to 8.3.0 2023-10-01 13:52:32 +03:00
Eladash 5baec6cb58 Add Savestate-Compatible mode 2023-10-01 12:00:41 +03:00
Eladash 948ee96f1a SPU LLVM: Fix savestates 2023-10-01 12:00:41 +03:00
Eladash 099c74481d Savestates: Optimize SPU pausing 2023-10-01 12:00:41 +03:00
kd-11 2381e33236 Add config to the UI 2023-09-27 14:52:59 +03:00
kd-11 09476fa6e5 Add the tiling toggle to core 2023-09-27 14:52:59 +03:00
kd-11 061c10ea69 vk: Fix memory initialization order in RCB/RDB path 2023-09-27 14:52:59 +03:00
kd-11 cb21fefbd9 rsx: Fix bpp when working with DMA-only (null) memory sections 2023-09-27 14:52:59 +03:00
kd-11 c1c3be8b4e rsx: Skip CPU optimization if writing to tiled region 2023-09-27 14:52:59 +03:00
kd-11 41ff76a6af msvc: Tabs to spaces 2023-09-27 14:52:59 +03:00
kd-11 a95e87d14d rsx::io_buffer cleanup 2023-09-27 14:52:59 +03:00
kd-11 725bad0963 vk: Revert more debugging code 2023-09-27 14:52:59 +03:00
kd-11 e31859a5ed vk: Remove debug visualization code 2023-09-27 14:52:59 +03:00
kd-11 ab99400f9d vk: Restore CPU fallback on the upload path 2023-09-27 14:52:59 +03:00
kd-11 603e549c85 Fix msvc filters 2023-09-27 14:52:59 +03:00
kd-11 1e09bfca09 Fix linux build 2023-09-27 14:52:59 +03:00
kd-11 59812b947a vk: Load DMA before decode operation 2023-09-27 14:52:59 +03:00
kd-11 ca054644ef rsx/vk: Support ingesting pre-processed GPU data as texture input 2023-09-27 14:52:59 +03:00
kd-11 bef7d793d3 rsx: Make the texture source an io-buffer 2023-09-27 14:52:59 +03:00
kd-11 ffc61e01f7 rsx/vk: Support mismatched pitch (padded) and fix the overscan problem 2023-09-27 14:52:59 +03:00
kd-11 647f7ddeec rsx/vk: Initial hw-accelerated tile decoder 2023-09-27 14:52:59 +03:00
kd-11 6a7386ddb8 rsx: Refactor out more junk from rsx::thread 2023-09-27 14:52:59 +03:00
kd-11 3afc379746 rsx: Import, rebase and clean up the old detiling patches from 2021 2023-09-27 14:52:59 +03:00
nastys 5b46db5e6b
macOS CI: reinstall jpeg-xl and other dependencies from source (#14673)
* macOS CI: uninstall jpeg-xl before building it from source
* macOS CI: disable 7z artifact
2023-09-26 17:08:36 +02:00
Eladash 6908d20128 Debugger/PPU: Add Go-To from function pointer 2023-09-26 11:06:01 +03:00
Eladash 6dc9e9659d Debugger/Logs: Allow to display thread from thread ID on log 2023-09-26 11:06:01 +03:00
Eladash e79fc867c5 Patches: Add savable breakpoints patch type 2023-09-26 11:06:01 +03:00
Darkhost1999 b2c6958750
Add restart option to home menu 2023-09-25 17:59:57 +03:00
Malcolm Jestadt 05b6108c66 SPU LLVM: Optimize remaining rotate instructions which take a twos compliment value as input
ROTQMBYBI looks for -7 for it's twos compliment construction
2023-09-23 08:00:09 +03:00
Megamouse a70f278117 Add Azure Build Status back to Readme.md 2023-09-23 00:02:48 +02:00
Megamouse ae786a016d Remove unused variable 2023-09-23 00:02:48 +02:00
Eladash 8e4945ab28 Avoid log spam of CPU usage when Emu is paused 2023-09-22 10:03:51 +03:00
Eladash 167528d70f GUI: Add Patreon Link Button
For continued improvements of RPCS3, please become a part of our Patreon support group!
2023-09-22 10:03:51 +03:00
Eladash ecb45ef6df Welcome Dialog: Add ability to set Dark Theme 2023-09-22 10:03:51 +03:00
Eladash 1e1d6f6437 PPU Analyzer: Fixup 2023-09-22 10:03:51 +03:00
Eladash 99c2d37b8c gitignore: Add sublime projects 2023-09-22 10:03:51 +03:00
kd-11 fe1bc18ac9 vk: Fix section merge calculations when using a temp resource 2023-09-21 19:52:15 +03:00
Zion Nimchuk 3c70573be0 Mac build on Azure 2023-09-21 08:41:44 +02:00
Megamouse cf20526f9f cellMic: Improve cellMicGetDeviceAttr 2023-09-21 07:52:00 +02:00
Megamouse f398f1113d Microphone enumeration: warn user if ALC_ENUMERATION_EXT is missing. 2023-09-12 20:55:55 +02:00
Megamouse 2a32ded575 Update OpenAl from 1.20.1 to 1.23.1 2023-09-12 20:55:55 +02:00
Megamouse a74f037a49 FFmpeg: rebase to improve artifact creation 2023-09-12 20:13:19 +02:00
Eladash c7c81ed95d PPU: Limit concurrent OVL files processing to 2 2023-09-11 15:44:33 +03:00
Eladash 7a4ee286be Rewrite Utilitis/sema.cpp 2023-09-11 15:44:33 +03:00
Eladash 37ba19776a PPU LLVM: Fixup pdone count 2023-09-10 18:58:34 +03:00
Eladash 4b4ffba080 Fix OVL file preview loading 2023-09-10 18:58:34 +03:00
Eladash 62b880cb78 SPU LLVM: Avoid excess cache threads 2023-09-10 18:58:34 +03:00
Eladash bdceb24fd9 PPU: Try to reduce wait for other threads 2023-09-10 18:58:34 +03:00
Eladash b4fc43d787 PPU LLVM: Re-add multi-threaded overlay module compilation 2023-09-10 18:58:34 +03:00
Eladash d399bd5b6a PPU Analyzer: Another fixup 2023-09-10 18:58:34 +03:00
Eladash 6b05fcf704 vm_ptr.h: Fix warning
/rpcs3/rpcs3/Emu/Cell/../Memory/vm_ptr.h:135:32: warning: invalid application of 'sizeof' to a void type [-Wpointer-arith]
  135 |                         return sizeof(T);
      |                                ^~~~~~~~~
2023-09-10 18:58:34 +03:00
brian218 009d8e13da USIO: Support up to 4 players for Tekken Tag Tournament 2 Pair Play mode 2023-09-06 18:17:06 +02:00
Elad Ashkenazi 52495c17d6
PPU Analyzer: Fixup 2023-09-06 06:53:10 +03:00
Megamouse 93ac75cddb Update FAudio to 23.09 2023-09-06 01:34:21 +02:00
Megamouse fe08d4e851 Update SDL to 2.28.3 2023-09-06 01:34:21 +02:00
nastys 7524a35751 macOS CI: build jpeg-xl from source 2023-09-05 23:59:50 +02:00
Megamouse 055c7db5a4 progress dialog: Fix remaining time 2023-09-05 22:53:44 +02:00
Eladash 6beb421a35 asm.hpp: Compilation fixup 2023-09-05 22:53:44 +02:00
Elad Ashkenazi 312fd57772
PPU/Progress Dialog: Improve remaining time approximation 2023-09-05 22:03:35 +03:00
Eladash 44c08c3a73 PPU/Progress Dialog: Improve remaining time calculation 2023-09-05 22:02:47 +03:00
Megamouse 0bb5974ab6 input: try to add tony hawk RIDE Skateboard 2023-09-05 20:41:39 +02:00
Eladash 6dcdf6ec76 Add approximation to remaining compilation time 2023-09-05 14:58:46 +03:00
Eladash ff4485d8ae PPU LLVM: Patch unregistered BLRs
Fixes "Unregistered PPU Function" in "Jak and Daxter Collection"
2023-09-05 06:20:57 +03:00
Eladash eacfa36fe6 SPU/DisAsm: Fix constant propagation with non-GPR-writing instructions 2023-09-05 06:20:57 +03:00
Eladash fdbb0b0e2f PPU LLVM: Optimize branch list 2023-09-05 06:20:57 +03:00
Eladash cf6eb64f0b SPU LLVM: Improve space-filling for function discovery 2023-09-05 06:20:57 +03:00
Eladash 85773ad869 PPU LLVM: Optimize traps a bit 2023-09-05 06:20:57 +03:00
Eladash a02c168a0d PPU Analyzer: Fixup greedy instruction search 2023-09-05 06:20:57 +03:00
Eladash 53ba38e98d Thread.cpp: Flush log and make thread context dump on exception 2023-09-05 06:20:57 +03:00
Megamouse 6bc7d7c698 fs::utime: fallback to 01/01/1980 00:00:00 if the date is too low 2023-09-04 10:07:23 +03:00
nastys f16d4f0523 Update build-mac.sh 2023-09-03 22:32:11 +02:00
Megamouse b5dac0c333 Progress dialog: show analysing... while no files or modules are known yet. 2023-09-03 15:25:19 +02:00
Eladash 1c8f1b2c27 SPU LLVM: Sad workaround for precompilation
Disable progress dialog for when only precompilation is required.
2023-09-02 22:14:53 +03:00
Eladash 8d9e9eaff9 PPU Precompilation: Fixup file counter 2023-09-02 22:14:53 +03:00
Eladash b900c43ceb PPU: Precompile only encrypted executeables
Improve sys_prx_load_module and sys_overlay_load_module error checking.
2023-09-02 22:14:53 +03:00
Eladash d62d6cc852 Progress Dialog: Force-update counter when complete
This confuses both the user and the developer at times.
2023-09-02 22:14:53 +03:00
Eladash 150afecc29 Fixup spu_thread::discover_functions 2023-09-02 22:14:53 +03:00
Elad Ashkenazi ea57984912
SPU LLVM: Fill space between functions using targets (Precompilation)
* Revert "PPU Analyzer: Revert TRAP detection change"
2023-09-02 15:56:34 +03:00
Eladash 11006dac35 sys_rsx: Fix local memory size reported in driver info 2023-09-02 12:55:34 +03:00
Eladash dd4840caf6 SPU LLVM: Add CRC check for cache 2023-09-02 12:31:11 +03:00
Eladash 66b6bae596 Win32/File.cpp: Avoid potential race in concurrent writes
Uninitialized data is better than overwritten data. Affects SPU Cache (unprotected writes).
2023-09-02 12:31:11 +03:00
Eladash 3f7afb8375 SPU LLVM: Fix crashes on corrupted cache file
* Fix OOM if size is too high.
* Fix out-of-bounds access beyond SPU_LS_SIZE.
2023-09-02 12:31:11 +03:00
Eladash deacf76ca4 PPU Analyzer: Revert TRAP detection change 2023-09-02 12:31:11 +03:00
Eladash 5e110f2844 SPU LLVM: Try to precompile filler-sapce between functions 2023-09-02 12:31:11 +03:00
Eladash 7c0d8fc29c Improve spu_thread::is_exec_code 2023-09-02 12:31:11 +03:00
Eladash a626ccfcad SPU LLVM: Initial precompilation of tail-calls 2023-09-02 12:31:11 +03:00
Eladash a9810ccb72 SPU LLVM: Another fix for Game Collection's precompilation 2023-09-02 12:31:11 +03:00
Eladash 26b3970485 debugger_list: Fix key up/down direction 2023-09-02 12:31:11 +03:00
Eladash 90ad129b83 Debugger: Fix GOTO and intruction stepping 2023-09-02 12:31:11 +03:00
Eladash e851c044b5 SPU: Function discovery fix
Do not detect branch to next.
2023-09-02 12:31:11 +03:00
Megamouse a597368c46 SPU: fix some wierd typos (may be wrong, no idea) 2023-09-02 12:10:36 +03:00
Megamouse 105c694903 Windows: update some comments and echos in git-version-gen.cmd 2023-09-02 10:39:25 +02:00
Megamouse d7b2453980 VS: Add scripts to filters 2023-09-02 10:39:25 +02:00
Zion Nimchuk d4b1d5c938 Actually fix build id issue 2023-09-02 09:58:01 +02:00
Zion Nimchuk 7e281a3354 Set azure variables 2023-09-02 05:12:50 +02:00
Eladash f9f2657c98 SPU LLVM: Optimize spu_idisable 2023-09-01 18:08:15 +03:00
kd-11 1c793edf7d Fix excluded sections check mismatch 2023-09-01 13:35:20 +03:00
kd-11 133ddb118c rsx/texture-cache: Remove archaic short-circuit during purge-xxxxx routines 2023-08-31 07:23:10 +03:00
Eladash af850dac99 Crypto: Fix endianess, avoid crashing on invalid values 2023-08-31 01:32:28 +02:00
Megamouse f554b444c0 Qt: rename pad profiles to config files 2023-08-31 00:36:48 +02:00
Zion Nimchuk cb8aa21fb1 Make sure to enable PR builds 2023-08-30 22:23:29 +02:00
Zion Nimchuk c0a7db8899 More cleanup 2023-08-30 22:43:46 +03:00
Zion Nimchuk dd4df6a46b Update linux Azure and re-enable GitHub pushing 2023-08-30 22:43:46 +03:00
Eladash 02b5cae2ad Precompile PRX/ELF extension 2023-08-30 16:47:45 +03:00
Eladash ba41e466cf Hotfix SPU Cache Spam For Game Collections 2023-08-30 16:47:45 +03:00
Eladash 6d0390bad9 Fixup Create PPU Cache 2023-08-30 08:45:29 +03:00
Eladash ee9477dc21 SPU: support pure SPU code precompilation discovery 2023-08-30 08:45:29 +03:00
Eladash 37212a632c SPU: Refactor function discovery 2023-08-30 08:45:29 +03:00
Elad Ashkenazi 105c5759f3 Add SPU Precompilation to Create PPU Cache 2023-08-30 08:45:29 +03:00
Megamouse 7144e92ce2 Qt: fix pressure intensity deadzone enabled state 2023-08-29 21:11:46 +02:00
nastys 565a208f20
macOS CI: build ffmpeg and gnutls from source, and fix deploy script (#14563) 2023-08-29 04:18:36 +02:00
Megamouse 452a4654da input: add SDL_GameControllerDB 2023-08-29 03:19:41 +02:00
shinra-electric d105b0bd9f Update MVK
MVK 1.2.5 was updated without changing the tag. 
This uses the latest version,
2023-08-29 01:11:02 +02:00
shinra-electric 4c7aee75c1 Update homebrew mvk on build script
MVK was updated without a new tag. 
This updates to the later release.
2023-08-29 01:11:02 +02:00
Ivan Chikish 4acd819478 [DS4] Proper USB/BT detection 2023-08-28 22:51:38 +02:00
Elad Ashkenazi 3d2229ca05 SPU LLVM Precompilation Fixup 2023-08-28 13:33:43 +03:00
Eladash b5faf5800b SPU LLVM Precompilation
Implement function SPU function discovery in images or random SPU code
2023-08-28 09:03:56 +03:00
Malcolm Jestadt 290ff5b839 Zero register optimization for AVX-512-VBMI
- Take advantage of the fact that AVX instructions zero the upper 128 bits for a nice optimization when one input vector is zeroed
2023-08-28 05:09:30 +03:00
Eladash be0a789e7d PPU Analyzer: Fix OPD section validation 2023-08-27 02:11:01 +03:00
Megamouse 75af7dc269 cellPad: fix lost status during cellPad_NotifyStateChange
CELL_PAD_STATUS_CUSTOM_CONTROLLER was lost when setting reported_status.
2023-08-27 00:18:23 +02:00
Megamouse 9d88102520 cellPad: fix potential out of bounds read and u32 warnings 2023-08-27 00:18:23 +02:00
Megamouse 656f971823 cellPad: some readability updates 2023-08-27 00:18:23 +02:00
Megamouse dad07da2e9 Midi: fix data type warnings 2023-08-27 00:18:23 +02:00
Megamouse 08d9cbfe48 cellPad: implement cellPadPeriphGetData default logic and add some comments 2023-08-26 22:10:15 +02:00
Megamouse a101f6490f input: Use pad class instead of index in pad settings dialog
While not a bug, it's not very elegant to use the index as long as
there isn't any gap between the values. So let's use the class instead.
2023-08-26 22:10:15 +02:00
Megamouse b248483841 input: implement pressure intensity deadzone 2023-08-26 14:40:56 +02:00
Megamouse c727795881 input: clamp 0-1 in NormalizeDirectedInput
If you called this function with a value smaller than threshold, you
would get an overflow. This never happened, because we always passed
values bigger than threshold. Let's better fix this anyway.
2023-08-26 14:40:56 +02:00
Megamouse f4c2b4cc7e GHLtar: fix guitar tilt
fixes #14454 🤦
2023-08-25 23:27:15 +02:00
Dark bf8621c921 Update rpcs3/Emu/Io/RB3MidiKeyboard.cpp
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2023-08-25 21:13:06 +02:00
Dark 8bd9a52de3 RB3MidiKeyboard.cpp: fix some note off messages being processed incorrectly
Some keyboards send a note on message with zero velocity instead of a
note off. As the MIDI spec permits this, it needs to be handled here.
2023-08-25 21:13:06 +02:00
Eladash eb61ae37ae rsx: Optimize RET returning to following CALL 2023-08-25 20:36:39 +03:00
Eladash 82c5c4d285 PPU Analyzer: Analyze whole segment 0 when patches are applied
Improve greedy instruction search.
2023-08-25 12:52:02 +03:00
Eladash 68c70dd1b9 Savestates: Fix config_event_entry compatibility 2023-08-25 12:52:02 +03:00
Eladash 5fde96d563 rsx: Discard color mask writes with reserved bits 2023-08-25 05:41:54 +03:00
Megamouse 8772219492 Remove unused variable in PPUThread.cpp 2023-08-23 21:42:59 +02:00
Megamouse 6b7f4cbe17 cellPad: remove unused variables 2023-08-23 21:42:59 +02:00
Megamouse 06e4b6251c Fix Vulkan link in README 2023-08-23 21:42:59 +02:00
Megamouse d8af3ea855 overlays: fix some warnings, simplify code, use move and references 2023-08-23 21:42:59 +02:00
Eladash 4794869bd8 sceNpDrm: Slow down sceNpDrmIsAvailable 2023-08-23 10:14:29 +03:00
Eladash 4462b7be5c cellGame: Make cellGameDataCheck slower
* Turns out cellGameBootCheck is actually quite fast.
* cellGameDataCheck is incredibly slow, slower for DISC type.
* Set 0 sizeKB for when RET_NONE is about to be returned.
2023-08-23 10:14:29 +03:00
Eladash 756ab1191e PPU Analyzer: Fix for unaligned sections 2023-08-23 10:14:29 +03:00
Eladash e2d4d400ff rsx: Fixup calculate_required_range 2023-08-22 14:26:14 +03:00
Eladash 2022098b13 Progress Dialog: Fix race when PPU compilation is super fast 2023-08-22 14:26:14 +03:00
Eladash a26b8dff18 rsx: Fix index vertex array range with modulo calculation 2023-08-22 09:41:23 +03:00
Eladash ee3c7f335f Progress Dialog: Avoid PPU compilation pop-up on short linkage 2023-08-22 09:01:15 +03:00
Eladash bf93f9f987 Progress Dialog: Fix race that could lead to ever-inaccurate results 2023-08-22 09:01:15 +03:00
Eladash a001e6ef09 Progress Dialog: Fix race on PPU compilation status 2023-08-22 05:40:53 +03:00
Megamouse 36dce454dd input: fix dance mat PID
It seems this ID was wrong for some reason.
2023-08-21 23:48:56 +02:00
Megamouse e28b705f0d Input: Add PS Move navigation controller
Add the ps move navigation controller to pad types.
Use proper pad class profiles.
2023-08-21 23:48:56 +02:00
Megamouse f3b631fbb4 qt/utils: support full path in get_dir_entries 2023-08-21 22:46:38 +02:00
Eladash 16c8f8c9cd Game List: Add initials-only search 2023-08-21 16:38:41 +03:00
Eladash 1843a27c2a LV2/Loader: Fix kernel regions addresses 2023-08-21 14:36:54 +03:00
Eladash 7a0185dbcc PPU/debugger: Fixup 2023-08-21 14:36:54 +03:00
Eladash 17302a9422 Debugger/PPU: Superior Callstack Detection 2023-08-20 22:43:41 +03:00
nkarl7 78f2d44a0e
CLI - install multiple pkgs from folder (#14516) 2023-08-20 17:51:24 +02:00
Darkhost1999 eb978a74f2
Update BUILDING.md (#14515) 2023-08-19 22:32:44 +02:00
oltolm 66aa02a382 xaudio2: enable IID_IXAudio2Extension for mingw-w64 2023-08-19 21:31:19 +02:00
Eladash 8236a0fa2d Fixup cellPadPeriphGetInfo 2023-08-19 17:18:40 +03:00
Eladash 9635417ae5 Replace some utils::bless usages 2023-08-19 17:18:40 +03:00
oltolm 373e502501
Workaround for Clang: move bless to its own header file 2023-08-19 13:30:46 +03:00
Eladash f1d9e89418 Cg Disasm: Fix instruction highlighting patter
Highlighted wrongly the "Loading..." because L is an uppercase letter.
2023-08-19 04:21:37 +03:00
Eladash cd98e84ca5 Debugger/RSX: Add FP/VP hash of current shader 2023-08-19 04:21:37 +03:00
shinra-electric 454cb69700 Add link for homebrew MVK 1.2.5 to Mac build script 2023-08-18 21:09:16 +02:00
shinra-electric e8b9d20865 Bump MoltenVK to 1.2.5 2023-08-18 21:09:16 +02:00
Megamouse bc09af4ad3 Update submodules
Update rtmidi to 6.0.0
Update zlib to 1.3
Update SDL to 2.28.2
2023-08-18 20:26:25 +02:00
Eladash 730badd378 cellAudio: Move and partially fix _mxr000 hack 2023-08-18 11:37:29 +03:00
Zion Nimchuk e410841f10 Update focal 2023-08-17 21:17:38 +02:00
Eladash 8b212f2169 PPU: Fix LVRX bad memory access 2023-08-17 17:59:45 +03:00
Eladash c8f8ecc4d6 LV2: Fixup reservation notifications 2023-08-17 13:02:57 +03:00
Eladash dacb0bd87f utils/endian.hpp: Use std::byteswap 2023-08-17 13:02:57 +03:00
Eladash 6adc7f9ee6 SPU: Use usermode waiting for busy GETLLAR loop 2023-08-17 09:02:28 +03:00
Eladash dddd12f66b CELL: Postponed address notifications 2023-08-17 09:02:28 +03:00
Ivan Chikish 384c807d6a Fixup atomic wait (Linux) 2023-08-16 23:29:09 +03:00
oltolm 01a05502e8 cmake: replace add_compile_definitions with target_compile_definitions 2023-08-15 20:56:39 +02:00
oltolm d062fc1d31 sys_net.cpp: fix compiler warning 2023-08-15 20:56:39 +02:00
oltolm a01a7a44cd qt6: fix mingw-w64 build 2023-08-15 20:56:39 +02:00
oltolm d25d5327e5 remove unnecessary defines 2023-08-15 20:56:39 +02:00
Elad Ashkenazi 968762c135 Fix PPU SELF Precompilation 2023-08-14 18:47:20 +03:00
Megamouse 0e23b89352 cellRec: add more encoder options 2023-08-13 21:35:07 +02:00
Elad Ashkenazi 219ee76bf2 cellPad: Fixup sys_config management 2023-08-13 14:20:39 +03:00
Megamouse 39bbf17caf cellRec: fix width of encoder frames
Turns out the pitch was accidentally used as width, leading to an out of bounds read/write.
I kept the pitch in the struct for completeness' sake. It may be needed later, if only for error checks.
2023-08-13 00:37:19 +02:00
Megamouse f40a6d496a home menu: remove non-dynamic SPU Loop Detection 2023-08-12 23:56:26 +02:00
Malcolm Jestadt f2e782f5dd SPU LLVM: Inline timer reads for WrDec and RdDec
- Uses RDTSC to emulate the spu decrementer
2023-08-13 00:16:35 +03:00
Megamouse f199ad7a42 patches: Improve location logging for invalid note sequence 2023-08-12 14:43:47 +02:00
Megamouse d760e66fdb VS: Fix compilation on Visual Studio 17.7.0 2023-08-12 13:53:40 +02:00
Malcolm Jestadt 512f0a814c SPU LLVM: Fix for AVX-512 CFLTU path
- vcvvtps2udq doesn't turn negative numbers into 0, fix by using signed integer max with 0 instead of vrangeps
2023-08-12 02:55:08 +03:00
Elad Ashkenazi 5668b1bd7a
PPU Loader: Fixup stack alignment after envp fix 2023-08-12 02:03:24 +03:00
Ivan Chikish c6dcf3f1d3 (Linux) Fixup futex_waitv 2023-08-11 11:54:41 +03:00
Eladash eae1c5afdd PPU Loader: Fix main()'s envp 2023-08-11 05:07:27 +03:00
Eladash 4bbe885f35 LV2/cellPad: Implement priority-based connection updates 2023-08-10 09:31:49 +03:00
Eladash a2416bf7f5 cellPad: Fix max_connect in GetInfo
This value is saved and loaded from cellPadInit as is.
2023-08-10 09:31:49 +03:00
kd-11 58e9e54b7f rsx: Remove unused code (argb<->bgra modifier) and refactor a bit 2023-08-09 00:25:50 +03:00
kd-11 767979ea44 rsx: Implement image copy between 2D -> 3C/CUBE with scaling support. 2023-08-09 00:25:50 +03:00
Eladash bd7715b180 ELF.h: fix warning 2023-08-08 10:22:05 +03:00
Eladash df24305698 PPU/Debugger: Fix op_branch_targets 2023-08-08 10:22:05 +03:00
Eladash cdc0441405 PPU: Fixup interpreter and analyzer 2023-08-08 10:22:05 +03:00
Eladash edf4f7eacc PPU/Patches: Fix CALLOC patch with interpreter 2023-08-07 19:01:38 +03:00
Eladash 8e75e940dd cellSaveData: Fix check 58, implement checks 77 and 76 2023-08-07 19:01:38 +03:00
Eladash d694600146 PPU Loader: Fixup virtual load for non PRX 2023-08-07 19:01:38 +03:00
Eladash 0989f62256 cellGame: Add some LV2 sleep
Those functions are supposed to take a really long time, and in this time the caller PPU waits for VSH.
2023-08-07 10:56:15 +03:00
Eladash 63f045ef2e Add some error checking to sys_fs_chmod 2023-08-07 10:56:15 +03:00
Eladash 91b68f3b45 PPU Analyzer: Fixup verify_func 2023-08-07 06:48:44 +03:00
Eladash 39910885d9 PPU: fix leak when precompiling SELF files 2023-08-06 21:37:10 +03:00
Eladash 506ec0f947 PPU Loader: Fix imports/exports in virtual mode 2023-08-06 21:37:10 +03:00
Eladash c96f3a877f PPU Analyzer: Add more function constraints 2023-08-06 21:37:10 +03:00
Eladash 2a0278fbb1 Fixup SPU/PPU Cache Abortion 2023-08-06 21:37:10 +03:00
Eladash ee869a49f4 PPU Precompilation Fixup 2023-08-06 10:38:40 +03:00
Megamouse 343ba8733b Merge xfloat options 2023-08-06 09:30:53 +03:00
Eladash e6009794ee vm.cpp: Fixup race in range_lock_internal 2023-08-06 08:26:17 +03:00
Eladash 971c12b937 Fixup log message in sys_memory_allocate 2023-08-06 08:26:17 +03:00
Eladash 849af08ee9 System.cpp: Fixup spu.log/tty.log dumping 2023-08-06 08:26:17 +03:00
Eladash 6547fa9cc3 PPU LLVM: Fixup VSH Precompilation 2023-08-06 08:26:17 +03:00
Eladash 4eaa03e9ba PPU: A few more minor bugfixes 2023-08-06 08:26:17 +03:00
Eladash d0b3891002 PPU LLVM Cache Fixup 2023-08-06 08:26:17 +03:00
Eladash e25936c1f1 PPU LLVM/RawSPU: Fixup MMIO crossing-out 2023-08-06 08:26:17 +03:00
Ani 6672499dde vk: Fix detection of RADV on get_driver_vendor()
Since Mesa 22.2.0 (2022-09-21), commit 
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11027/diffs?commit_id=f06da59fd75d7ce7708d159753fcdbc11de16f9e, 
the deviceName property has included the name of the GPU, thus 
invalidating our previous method of detecting RADV as a driver vendor

Before: "AMD RADV NAVY_FLOUNDER"
After: "AMD Radeon RX 6700M (RADV NAVI22)"

Before: "AMD RADV RENOIR"
After: "AMD Radeon Graphics (RADV RENOIR)"
2023-08-06 01:08:06 +02:00
nastys dea24c905b Make experimental build warning modal 2023-08-05 12:40:59 +02:00
Margen67 7e4cb20ac3 CI: Don't silence curl errors
-f: https://curl.se/docs/manpage.html#-f
Only redirect stdout so stderr isn't lost. (stdin isn't needed?)
2023-08-05 11:58:22 +02:00
Whatcookie d4cf12bc17
LV2: Improve sys_timer_usleep by using CPU usermode waiting
* Linux: set timerslack to minimum value
- Linux delays the wakeup of threads to save power, this feature isn't needed for this application

* Utils: Add detection for waitpkg and monitorx extensions
- These instructions are used for user mode wait instructions

* lv2: Use user mode wait instructions instead of yielding when appropriate
2023-08-05 11:49:30 +03:00
nastys aee97e414f macOS CI: use lzma compression for the DMG 2023-08-05 01:28:14 +02:00
nastys 96d94d6217 macOS CI: use faudio from submodule 2023-08-05 00:42:07 +02:00
nastys 0a673129ac macOS CI: build faudio from source 2023-08-05 00:42:07 +02:00
trigger 51a8d2235c osk: ignore input based on ignore_device_events 2023-08-04 21:32:04 +02:00
kd-11 26ecd88074 rsx: Rebuild shader texture state if we detect a silent mismatch 2023-08-04 19:23:06 +03:00
MSuih 65685d4525 Fix current date format 2023-08-04 11:22:44 +03:00
Eladash 744a1528cc Optimize memory usage of ELF loader
Do not duplicate shdr memory when it is present in phdr.
2023-08-03 16:19:55 +03:00
Eladash bb92154145 Auto-dump decrypted binaries if PPU debug is enabled 2023-08-03 16:19:55 +03:00
Eladash 8057773c4f Fix decrypt_binaries_t::done() 2023-08-03 16:19:55 +03:00
Eladash 9f625de51a vm.cpp/Non-TSX: Fixup potential deadlock 2023-08-03 15:04:37 +03:00
Eladash 06c9b95e09 PPU LLVM/SPU/Non-TSX: Obnoxiously responsive and obedient PPU for SPU requests 2023-08-03 15:04:37 +03:00
Ivan Chikish 804665df69 Fixup futex_waitv redefinition 2023-08-03 14:32:46 +03:00
trigger 0f3dfec7f2 direct return in ppu_check 2023-08-03 12:35:06 +03:00
Ivan Chikish 39a0ff99b2 Fix lf_queue regression 2023-08-03 06:56:50 +03:00
Ivan Chikish d34287b2cc Linux: use futex_waitv syscall for atomic waiting
In order to make this possible, some unnecessary features were removed.
2023-08-02 21:46:06 +03:00
Ivan Chikish 831a9fe012 Remove thread pool
Prevents implementing thread priority on Linux.
2023-08-02 21:46:06 +03:00
Ivan Chikish 15e2ec2cf0 Reset broken LLCM_CCACHE_BUILD change 2023-08-02 21:46:06 +03:00
Ivan Chikish 9ad7c8e95b Don't require Qt 6.4.0 (works with 6.2.4) 2023-08-02 21:46:06 +03:00
Megamouse bb2d7063c4 Update ffmpeg 2023-08-02 08:21:47 +02:00
Megamouse 70e127b219 Update dependencies 2023-08-02 00:42:20 +02:00
Megamouse ef12da774e rsx: fix register_vertex_printer value func 2023-07-31 23:14:02 +02:00
Ani 6cd5a7eab9 rpcs3_version: Bump to 0.0.29 2023-07-31 20:03:24 +03:00
Megamouse d119cf6e96 Qt6 port 2023-07-31 20:03:24 +03:00
Megamouse 9b3a878c18 cellAudioIn: reduce log spam
Some logs I've seen are 20% filled with this stuff.
2023-07-31 13:19:55 +03:00
Megamouse 365b264656 cellMsgDialogAbort: do not return CELL_MSGDIALOG_ERROR_DIALOG_NOT_OPENED 2023-07-31 13:19:55 +03:00
Eladash 1184d6aecb Thread.cpp: Fixup SPU access violation log message 2023-07-31 11:55:31 +03:00
Eladash b12edf70bb Optimize RSX Debugger 2023-07-31 11:55:31 +03:00
Elad Ashkenazi 53c1da8f94 Qt: Fix elf_memory_dumping_dialog PPU address 2023-07-31 08:53:10 +03:00
Elad Ashkenazi 213b810279 Debugger: Transition to plain text edit 2023-07-31 08:53:10 +03:00
Elad Ashkenazi 8a4617d3c2 Fix color tag of logs/tty 2023-07-31 08:53:10 +03:00
Megamouse c108b31954 Qt: fix data type of find_dialog text edits 2023-07-31 04:10:09 +03:00
Whatcookie fd6829f757
SPU LLVM: AVX-512 optimization for CFLTU (#14384)
- Takes advantage of vrangeps and the new float to uint instructions from AVX-512
- Down from 6 to 3 instructions

TODO: Somehow ensure that this is what llvm outputs using CreateFPToUI?
2023-07-29 09:01:01 +03:00
Talkashie dabb2cc9a0
Fix typos, improve consistency
Fixes typos where spelling or grammar is objectively wrong.
Changes wording and capitalization in some areas to be more consistent with other areas.
2023-07-28 13:09:06 +03:00
Whatcookie 4ecb06c901
SPU LLVM: Optimize common SFI+ROTQMBY pattern 2023-07-28 10:26:40 +03:00
Whatcookie 375bc4cc69
Utils: Add initial AVX10 support
- Adds detection for AVX10 features
- Also adds new bools for 256-wide AVX-512 instructions, indicated by either AVX-512 support, or AVX10
2023-07-28 06:55:20 +03:00
Elad Ashkenazi 9265ff53d0
Include spu.log inside RPCS3.log when SPU Debug is true 2023-07-27 19:15:32 +03:00
Eladash 75ad56338b SPU/Non-TSX: Implement cuncurrent reservations 2023-07-27 02:50:01 +03:00
Eladash db24ce7708 SPU/MFC: Format command more consistently 2023-07-27 02:50:01 +03:00
Eladash 2d45ecff22 cellSaveData: Adjust to non-TSX 2023-07-27 02:50:01 +03:00
Elad Ashkenazi 5d98f3866c Log TTY output after emulation have been stopped 2023-07-26 17:56:44 +03:00
Elad Ashkenazi 106f31db6a sceNpTrophy: Minor UB fixup
id.data[9] is char while isprint should accept u8.
2023-07-26 17:56:44 +03:00
brian218 9a5bdc9b4f sys_fs: Updated sys_fs_fcntl(0xc0000015&0xc000001c)'s error handling according to real hardware testing 2023-07-26 13:10:51 +03:00
brian218 0b829be798 sys_fs: Fixed up sys_fs_fcntl(0xc0000007) aka cellFsArcadeHddSerialNumber according to real hardware testing 2023-07-26 13:10:51 +03:00
Megamouse 94bb75fb7c sceNpTrophy: Check if a trophy configuration file exists before starting the install process 2023-07-25 22:00:19 +02:00
Eladash 7d84d0f83e sceNpTrophy: Initial commSign checking of CreateContext 2023-07-25 21:40:35 +03:00
oltolm bc40b61ef1 rename fs::stat to fs::get_stat 2023-07-25 12:15:08 +03:00
Megamouse 73c3d5fc81 Fix config path in Emu.Restart() 2023-07-25 11:12:16 +03:00
Megamouse 13575029c0 cellSaveData: add some more error logging 2023-07-25 11:12:16 +03:00
brian218 ea016382f2 Fixed Emu.Restart(graceful=false) no longer worked after #14038 2023-07-25 09:48:11 +03:00
Eladash 782344eed8 Debugger: Make break-all non-default 2023-07-24 17:07:15 +03:00
Eladash 95fb7859d2 Fixup patches 2023-07-24 17:07:15 +03:00
Eladash 9d3e626b55 Minor ppu_initialize fix 2023-07-24 17:07:15 +03:00
Eladash a6e8b9037a ppu: Make install function log message trace 2023-07-24 17:07:15 +03:00
brian218 c9f91ecee9 USIO: Added support for Tekken Tag Tournament 2 Live Monitor edition 2023-07-24 08:39:14 +02:00
oltolm 7cb2d3f143
opengl: fix Qt warnings (#14249) 2023-07-24 07:30:21 +03:00
brian218 a975b4937a USIO: Added support for Tekken Tag Tournament 2 2023-07-23 20:23:00 +02:00
Eladash fce8e0fef0 Savestates: Facilitate multi slots 2023-07-23 17:58:54 +03:00
Eladash 12fe55a258 Thread.cpp: Always print SPU thread name in access violation
Suppress GUI log window prefix removal.
2023-07-23 17:58:54 +03:00
Eladash 3bbc2c1f4c PPU Analyzer: Fixup get_ptr() 2023-07-23 17:58:54 +03:00
Eladash 99671b754f Add ppu_module::get_ref() to ease debugging 2023-07-23 17:58:54 +03:00
Eladash 9fc5f6271b Update SPU reservation notifier mask 2023-07-23 17:58:54 +03:00
Eladash 4647f3046e Qt: Minor logging change 2023-07-23 17:58:54 +03:00
Eladash c44cddabfa CPUThread.cpp: Fix use of cpu_counter::add
This also fixes a crash when saving savestate because main thread uses cpu_counter::suspend_all which adds cuncurrency.
2023-07-23 17:58:54 +03:00
Eladash 9ff91c29f2 Invalidate Savestates 2023-07-23 17:58:54 +03:00
Eladash e303cc536c Qt: Fix GetBootConfirmation() 2023-07-23 17:06:59 +03:00
Eladash afdfefc9ad Game List: Fix allowance of caches/games to be removed while the game is running! 2023-07-23 17:06:59 +03:00
Eladash 3033914e2d Game List: Implement Remove HDD1 Cache option 2023-07-23 17:06:59 +03:00
brian218 70b124cfa0
USIO: Fixed BACKUP MEMORY ERROR for some games (#14248) 2023-07-23 12:17:49 +03:00
Eladash 38a5313ed2 Fix log data loss on force application shutdown 2023-07-21 12:27:35 +03:00
Eladash 9291e2777d File.h: Implement fs::error::xdev 2023-07-21 12:27:35 +03:00
Eladash 465da5136d Qt: Fix saved log filename 2023-07-21 12:27:35 +03:00
Megamouse 568e7481d8 sys_fs: use path instead of u8path
Japanese PS3 games often use unicode paths which hard crash the std::filesystem::string() method.
wstring() would work in these cases, but I guess we can just use path() instead of u8path().
2023-07-20 07:22:07 +03:00
Darkhost1999 a0297933ce
Create Missing Paths for Dev_USB/HDD0 and mms
In addiytion, fix 2 warnings.
2023-07-19 12:01:44 +03:00
Eladash 50dad6801b SPU LLVM: Use get_known_bits() in SHUFB 2023-07-18 22:27:45 +03:00
Malcolm Jestadt ee7475a9d4 SPU LLVM: Handle SHUFB special cases with a lookup table
- Needs 3 instructions to handle the special cases, since x86 lacks an 8 bit simd shift instruction
2023-07-18 22:27:45 +03:00
Elad Ashkenazi ba988f1d3f
Qt: Exit And Save Log - toolbar action (#14212)
Fixup main_window::IsValidFile
2023-07-18 05:11:53 +03:00
Megamouse db029ed29f Fix default renderer when creating a brand new config 2023-07-17 09:35:26 +02:00
Elad Ashkenazi 41d38975f7 Savestates/sys_fs: Utilize fs::file::get_id to fix an old bug 2023-07-17 08:09:09 +03:00
Eladash eecadab387 Implement fs::file::get_id()
File descripor ID with 2 provided ways to compare between them:
1. is_mirror_of():
 Test if identical:
  For example: when LHS writes one byte to a file at X offset, RHS file be able to read that exact byte at X offset)

2. is_coherent_with():
 Test if both files point to the same file:
  For example: if a file descriptor pointing to the complete file exists and is being truncated to 0 bytes from non-
  -zero size state: this has to affect both RHS and LHS files.
2023-07-17 08:09:09 +03:00
Eladash e27e6c0b2d Implement PPU usleep control setting hack 2023-07-17 07:17:11 +03:00
Eladash 30a5d646ec Qt: Minor fixup 2023-07-16 20:16:20 +02:00
Eladash 882fb3e049 Qt: Cache drag-and-drop result when moving it 2023-07-16 19:49:55 +03:00
Eladash 0423781363 Qt: Restrict file types for drag-and-drop 2023-07-16 17:43:27 +03:00
Megamouse 43cfb3cd10 ecdsa: tiny optimization for key and curve 2023-07-16 09:32:39 +02:00
Megamouse de15c9746f ecdsa: clean up some code 2023-07-16 09:32:39 +02:00
Eladash 1371bf89e0 PPU LLVM: Allow to abort OVL analysis in the middle 2023-07-15 08:26:28 +03:00
Eladash 3b8f8d7fc8 PPU LLVM: Improve precompilation time 2023-07-15 08:26:28 +03:00
Megamouse a828c214b5 Qt/patches: highlight faulty lines in patch creator 2023-07-13 08:40:19 +02:00
Megamouse 3381144d2e Patches: improve location logging of some invalid nodes 2023-07-13 08:40:19 +02:00
Megamouse a19883f875 Patches: do not allow empty patch names 2023-07-13 08:40:19 +02:00
Megamouse 482722af0a Patches: fix logging for locations of node iterators 2023-07-13 08:40:19 +02:00
Megamouse 02bac61c9c Patches: validate yml patch offset values 2023-07-13 08:40:19 +02:00
Megamouse e8ee5831d3 Qt: add validator to patch creator offset lineedit 2023-07-13 08:40:19 +02:00
Eladash 083b4f0d3b Patches: Fix potential RPCS3 crashes due to invalid patches 2023-07-13 07:38:46 +03:00
Eladash c0280b43f2 PPU/Debugger: View the currently used CR field content in register panel 2023-07-12 13:22:06 +03:00
Megamouse d153e977a7 Qt: ignore Qt::Key_unknown when parsing key sequences 2023-07-12 09:35:43 +03:00
kd-11 eee7bf0c97 vk: Don't load depth-stencil textures on the transfer queue 2023-07-12 03:20:08 +03:00
oltolm 0c94606fcf
Make compile with msvc, clang and gcc on Windows 2023-07-11 21:40:30 +03:00
nastys ed75bab7b2 macOS CI: add Homebrew and Qt caches 2023-07-11 19:55:36 +02:00
kd-11 bff6e0d277 rsx: Don't assert when surface and texture cache overlap lockable memory
- It's not a serious enough problem and the root cause is understood.
2023-07-11 04:09:30 +03:00
kd-11 c325017675 rsx: Preserve the texcoord transform around destructive modifications 2023-07-11 04:09:30 +03:00
Elad Ashkenazi 4b12c9a9fc
Force inherit BDVD/PS3_GAME across game updates (#14159) 2023-07-11 00:30:02 +03:00
kd-11 0d57744efa rsx: Fix AMD shader codegen 2023-07-10 22:44:40 +03:00
Elad Ashkenazi e882d64d8a SPU/PPU Debugger: Add decimal mode to registers panel 2023-07-10 19:06:57 +03:00
Eladash 16f910e350 sys_fs: Fix log levels 2023-07-10 12:39:26 +03:00
Megamouse e2c2ef9788 Write config.yml if it doesn't exist or is empty on boot 2023-07-10 00:50:19 +02:00
kd-11 a98b4adead rsx: Fix projected coordinates calculation again 2023-07-09 19:33:48 +03:00
kd-11 186fe53279 rsx: Fix the default shadow codegen path 2023-07-09 19:33:48 +03:00
kd-11 c9917c826a Fix typo 2023-07-09 19:33:48 +03:00
kd-11 aedebecae2 rsx: Reimplement projected texturing 2023-07-09 19:33:48 +03:00
Eladash 482dd0e8f8 SPU: Remove wrong clamp in MFC_Size
Just crashes real MFC.
2023-07-09 13:33:03 +03:00
Eladash cae2e7de80 LV2: Log allocated guest VM addresses 2023-07-09 13:33:03 +03:00
Eladash e76ce05e29 logs: Add manual set log level with RegEx 2023-07-09 13:33:03 +03:00
Eladash a98174be85 Logs re-enable on Emu.Kill() fixup 2023-07-09 13:33:03 +03:00
Eladash b68cfbf794 Fix spu_thread::dump_callstack_list regression
TODO: Fix in PPU [properly!]
2023-07-09 13:33:03 +03:00
Eladash 17d8f2884e Debug fixes 2023-07-09 13:33:03 +03:00
Megamouse 050b8fa7df Qt: Use detailed text for install message 2023-07-08 20:11:01 +02:00
Megamouse c30c9b2168 Home menu: improve Anisotropic Filter Override value labels 2023-07-08 13:42:05 +02:00
Megamouse 358735a199 Home menu: add optional special label overrides 2023-07-08 13:42:05 +02:00
Megamouse d909bbc297 Home menu: set vblank step size to 30 2023-07-08 13:42:05 +02:00
Megamouse 2adb2f82d7 Home menu: move advanced video options to advanced menu 2023-07-08 13:42:05 +02:00
Michael G 5a013127ec build-mac: Enable Discord Rich Presence for Mac Users 2023-07-08 07:38:14 +03:00
Elad Ashkenazi 1219e5c244
SPU: Fix static interpreter requirement with interrupts
Removed a wrong condition in PPU LLVM as a fixup.
2023-07-07 22:39:49 +03:00
Megamouse 4aec48c2ca Only silence logging during gameplay 2023-07-07 18:28:34 +02:00
Eladash 8d54ddf426 memory viewer: Add RegEx instruction searching mode 2023-07-07 16:03:08 +03:00
Eladash c21cdb8055 Implement PPU LV2 debug 2023-07-07 16:03:08 +03:00
Eladash 05824e6acd UX: Option to pause emulation when RPCS3 is not focused 2023-07-07 14:38:32 +03:00
Ivan Chikish b3b680f073 [simd.hpp] Fix gv_fmafs 2023-07-07 11:09:55 +03:00
Eladash 598fe85243 PPU LLVM/RawSPU: Implement MMIO violation elimination pass 2023-07-06 19:46:36 +03:00
kd-11 e7ac84fca3 rsx: Fine-tune the subimage view bezel dimensions 2023-07-06 14:06:30 +03:00
kd-11 b9ea6be842 rsx: Fix AA factor calculation 2023-07-06 14:06:30 +03:00
kd-11 d46dbc0fa8 rsx: Fill section dimensions when converting atlas op to copy op 2023-07-06 14:06:30 +03:00
Michael G 0e10f12ec0 build-mac: Improve build time for macOS
Co-Authored-By: Megamouse <studienricky89@googlemail.com>
2023-07-06 07:49:06 +02:00
Sanjay Govind 8f178b2c29 sys_usbd: Implement support for Santroller devices 2023-07-05 23:54:37 +02:00
kd-11 d41fe80b8e Clamp MSAA sampling weights to avoid clipping 2023-07-05 02:51:04 +03:00
Megamouse 96e992bd26 CI: Ignore FAudio submodule in windows builds 2023-07-04 23:51:44 +02:00
kd-11 465c421707 rsx: Wrap MSAA coordinates before texelFetch 2023-07-04 23:41:12 +03:00
Elad Ashkenazi f7e9622084 vm_native.cpp: Workaround for rpcs3_vm_sparse.tmp crashes 2023-07-04 20:44:41 +02:00
kd-11 79e000f63d rsx: Fix virtual coordinate clamping 2023-07-04 09:31:51 +03:00
kd-11 10af0e8c93 vk: Disable anisotropy if the anisotropic level is meaningless 2023-07-04 09:31:51 +03:00
kd-11 d13cf0e29a rsx: Fix shader interpreter
- It broke ages ago
2023-07-04 09:31:51 +03:00
kd-11 1671922f7e rsx: Fix shader interpreter compilation 2023-07-04 09:31:51 +03:00
kd-11 c9da795bf3 rsx: Fix vp codegen when unrestricted depth range extension is absent 2023-07-04 09:31:51 +03:00
kd-11 69eb1401a9 vk/gl: Fix debug overlay stats 2023-07-04 09:31:51 +03:00
kd-11 aa06ac119f rsx: Fix sampled descriptor address corruption 2023-07-04 09:31:51 +03:00
kd-11 1afee59c95 rsx: Insert missing texture barrier 2023-07-04 09:31:51 +03:00
kd-11 4decad6f6b rsx: Force compatibility checks when applying fast-path optimizations 2023-07-04 09:31:51 +03:00
kd-11 a37f786a37 rsx: Properly fill in the cyclic ref field for framebuffer references 2023-07-04 09:31:51 +03:00
kd-11 8f98e572e1 rsx: Use designated initializer for the dangerous copy_region_descriptor type
- We need to move more dangerous braced initializations to c++20
- Also adds a base address variable which will come in handy
2023-07-04 09:31:51 +03:00
kd-11 c818f8af82 vk: Fix namespace pollution in sync module 2023-07-04 09:31:51 +03:00
kd-11 fac8bcc20c rsx: Formatting and tidying changes 2023-07-04 09:31:51 +03:00
kd-11 1d004f2788 rsx: Lower single-image-blit to a scaled coordinate fetch 2023-07-04 09:31:51 +03:00
kd-11 cef4ea786a rsx: Trivially detect single-image-blit transfer operations 2023-07-04 09:31:51 +03:00
kd-11 8ebf24d8e7 vk: Do not clear memory if we're going to overwrite it with a copy anyway 2023-07-04 09:31:51 +03:00
kd-11 69b02f7e46 rsx: Implement atlas trivialization pass
- Decompose sequences of copies into the minimally required set.
  This does 2 things:
  a. Reduces GPU workload by doing less transfers
  b. Allows the clipping optimization to kick in and skip a ton of GPU work
2023-07-04 09:31:51 +03:00
kd-11 b788e05396 rsx: Implement GPU copy ellision through coordinate transform
- TODO: Some corner cases still exist where format may not be a match after a cache merge.
2023-07-04 09:31:51 +03:00
kd-11 5dc4e74c98 rsx: Minor optimization to speed up texture state sync a bit given the larger structure in use now 2023-07-04 09:31:51 +03:00
kd-11 436ef1cff6 rsx: Fix shader compilation when texture ops are referenced 2023-07-04 09:31:51 +03:00
kd-11 d77a78cdf1 rsx: Rework texture coordinate handling to support clamping and a more sane scale-bias setup 2023-07-04 09:31:51 +03:00
kd-11 66cb855db0 rsx: Fix fragment program codegen 2023-07-04 09:31:51 +03:00
kd-11 fb3aa9628d rsx: Migrate vertex fetch out of the cpp file 2023-07-04 09:31:51 +03:00
kd-11 89c81d9f22 rsx: Switch common codegen to use the glsl scripts 2023-07-04 09:31:51 +03:00
kd-11 cffcfad42a rsx: Add the glsl files
- Generated from inline strings in GLSLCommon.cpp
2023-07-04 09:31:51 +03:00
Eladash 21f5976d35 cellSpurs: Implement ShutdownTaskset and WorkloadFlagReceiver2 2023-07-02 19:01:13 +03:00
Megamouse 21ada251fe Update dependencies 2023-07-02 07:59:25 +02:00
Megamouse 44801c50f3 Input: update buttons on pressure button toggle 2023-07-01 08:56:10 +02:00
Megamouse 6a1fb8cb73 Input: fix multibutton mousepress (sticks only) 2023-07-01 08:56:10 +02:00
Megamouse 8e8cefb3f6 Input: fix multibutton mousepress (buttons only) 2023-07-01 08:56:10 +02:00
Megamouse e0e4fa3b3e Input: Add tooltips for button mapping 2023-07-01 08:56:10 +02:00
Megamouse b9dbda5ddc Fix some warning 2023-07-01 08:56:10 +02:00
kd-11 931a2c516f vk/rsx: Fix build errors and warnings 2023-06-30 18:38:14 +03:00
kd-11 2f9e1cf4df vk: Get rid of some spammy debug code 2023-06-30 18:38:14 +03:00
kd-11 68d1c38f3b vk: Minor refactor to make early-exit branches trivial and easier to read 2023-06-30 18:38:14 +03:00
kd-11 c4acea6c82 vk: Fix some regressions in synchronization2 behavior 2023-06-30 18:38:14 +03:00
kd-11 7ebabddfe0 vk: Fix GPU hang 2023-06-30 18:38:14 +03:00
kd-11 a047ddffc0 vk: Restructure gpu labels and add them as an event backend 2023-06-30 18:38:14 +03:00
kd-11 92992a5406 vk: Use pipeline barriers for proper event sync 2023-06-30 18:38:14 +03:00
Eladash 593f850693 Qt: Save UI settings and geometry safely on closeEvent 2023-06-29 14:02:25 +02:00
Eladash f87db1ac14 System.cpp: Do not hold the watchdog forever for PPU LLVM compilation cancel
Protects against the case in which the LLVM workers deadlock themselves.
2023-06-29 12:12:56 +03:00
Eladash 363e498462 Remove overlay hack for PPU LLVM OVL precompilation 2023-06-29 12:12:56 +03:00
Eladash a03dd44924 Empty kill and init callback before calling them 2023-06-29 12:12:56 +03:00
Eladash 554b27a82a PPU LLVM: Implement SELF precompilation
Do not use PS3 memory for precompilation.
2023-06-28 18:34:33 +03:00
Eladash 7062ead4fd PPU LLVM: Precompile all disc game data including PRX etc
Even if there is no EBOOT.BIN.
2023-06-28 18:34:33 +03:00
Eladash 5f2f084091 Savestate/IDM: Do not save unsavable containers 2023-06-28 18:34:33 +03:00
Eladash a560121775 Fix Create PPU Cache 2023-06-28 18:34:33 +03:00
Dark b0a346709e RB3MidiGuitar.cpp: Support 5-Fret play
Rock Band 3 has support for playing the regular guitar mode with the
Pro Guitar. While the real MPA does not support this, the game accepts
it just fine so there's no harm in emulating it.
2023-06-27 20:11:10 +02:00
Megamouse 7b64cd2a8e input/overlays: add option to lock overlay input to player one 2023-06-27 19:36:05 +02:00
kd-11 9ecfecb83e Constify 2023-06-27 16:41:30 +03:00
kd-11 ec4565263d Dump extensions info to the log 2023-06-27 16:41:30 +03:00
kd-11 ed1da364e5 vk: Fix a bunch of corner cases when syncing GPU and host memory 2023-06-27 16:41:30 +03:00
kd-11 942dbbc8fa vk: Add explicit sync when doing copy_image_to_buffer 2023-06-27 16:41:30 +03:00
kd-11 3e8f9cbbf2 Add flags to handle sync domain with v2 events 2023-06-27 16:41:30 +03:00
kd-11 322b5dac79 Properly enable synchronization2 feature 2023-06-27 16:41:30 +03:00
kd-11 5a85fee3f1 Silence logspam about unused parameter 2023-06-27 16:41:30 +03:00
kd-11 ca472b6750 Silence log spam about copy ellision 2023-06-27 16:41:30 +03:00
Megamouse 8e3d0af08e Qt: remove obsolete shortcut 2023-06-26 21:23:48 +02:00
Megamouse 12f2b900ca Qt: use shortcut instead of hardcoded keypress event 2023-06-26 21:23:48 +02:00
Megamouse 6228dff809 welcome_dialog: remove weird window close event 2023-06-26 21:23:48 +02:00
Eladash d34b3190f7 Make stopping emulation not pause or crash UI
* Make the UI and main thread available when stopping emulation.
* Make BlockingCallFromMainThread always execute, preventing bugs when it unexpectedly did not.
* Add error code for when starting emulation when Emu.Kill() is in progress.
2023-06-26 20:48:38 +02:00
Eladash 4f5348c7d4 Fix properly RSX replay thread stop bug 2023-06-26 20:48:38 +02:00
Eladash aff871f127 about_dialog: Add new testers 2023-06-25 20:16:55 +03:00
Eladash 9f00359e17 Qt: Add RPCS3 Discord & Wiki to About Dialog 2023-06-25 20:16:55 +03:00
Eladash 0871436488 settings: Display rendering result of 100% resolution scale 2023-06-25 20:16:55 +03:00
Eladash 6aa598b029 Qt: Add Create RPCS3 shortcuts to Wecome Dialog 2023-06-25 20:16:55 +03:00
Eladash 83e22fa9f0 Qt: Make welcome dialog accessible through F1 or Help menu
Enable window close button after "I have read the Quickstart" is checked.
2023-06-25 20:16:55 +03:00
Eladash a230340578 Qt: Fix memory leak in welcome dialog 2023-06-25 20:16:55 +03:00
Eladash 2da78c6591 Qt: Allow to drop RAP&PKG together 2023-06-25 20:16:55 +03:00
Eladash 46350200d7 Qt: Always set QEvent::isAccepted is drag&drop events 2023-06-25 20:16:55 +03:00
Eladash 00502e94b5 Qt: Do not require to close games when adding new disc game directories 2023-06-25 20:16:55 +03:00
brian218 70ce7ee106 sys_fs: Fixed up one of sys_fs_unmount()'s error codes to match real system behavior 2023-06-25 09:08:20 +02:00
brian218 cf4ae38699 sys_fs: Implemented get_normalized_path() 2023-06-25 09:08:20 +02:00
Eladash 09f83e48ff fs: Add get_parent_dir_view
string view version of the argument path, use with care.
2023-06-24 12:00:04 +03:00
Eladash bcbce5dd48 File.cpp: revert get_parent_dir change 2023-06-24 12:00:04 +03:00
kd-11 0a0ef50caf Try to fix build 2023-06-23 15:21:17 +03:00
kd-11 e20f1587cd Workaround for old compilers
Xcode is not yet c++20 compliant
2023-06-23 15:21:17 +03:00
kd-11 715e3856f2 vk: Update async compute (fast) to use the new sync API 2023-06-22 14:59:58 +03:00
kd-11 850166eca1 vk: Reimplement events using synchronization2 extension 2023-06-22 14:59:58 +03:00
Eladash 00cca7be69 Utilities/Memory Viewer: Improve image viewer
* Added image scaling with Ctrl+Plus, Ctrl+Minus.
* Added hover position to see which address is being pointed at, when double clicking on it the image viewer is closed and the memory viewer jumps to the clicked memory data.
2023-06-21 22:28:52 +03:00
Eladash 0a43f69e87 Utilities/Memory Viewer: Add G8 and G32MAX image formats 2023-06-21 22:28:52 +03:00
Eladash c84d2d895e Utilities/Memory Viewer: Add PageDown/PageUp scrolling
* F5 for single refresh.
2023-06-21 22:28:52 +03:00
Eladash 87d5f45277 Utilities/Memory Viewer: Fix memory leak 2023-06-21 22:28:52 +03:00
Eladash 137f37cd41 Debugger/RSX: Add shortcut for RSX semaphores 2023-06-21 22:28:52 +03:00
Eladash 18722d7874 Utilities/Memory Viewer: Add auto-refresh mode 2023-06-21 22:28:52 +03:00
Eladash 307e1351df asm.hpp: Fix mul_saturate 2023-06-21 22:28:52 +03:00
Eladash 441fbd63bb Fix PPU debug setting with PPU interpreter 2023-06-20 18:18:24 +03:00
Eladash 073b723c09 Fix Create PPU Cache 2023-06-19 13:59:56 +03:00
unknown 37bc73865d jit: fix assertion in GDBJITRegistrationListener 2023-06-18 13:06:53 +03:00
RipleyTom e2bced978e Move connect workaround to connect interface 2023-06-18 01:04:01 +02:00
Megamouse a6d8c4343f Windows: silence uncritical performance counter error 2023-06-16 19:36:44 +02:00
kd-11 d5654d64d5 Nicer variable names 2023-06-16 15:29:36 +03:00
kd-11 06459eb37b vk: Latch query copy requests to reduce number of vulkan commands used 2023-06-16 15:29:36 +03:00
Megamouse d08fea551e progress dialog fix 2023-06-16 10:30:27 +02:00
Megamouse 924692bf1c Qt: use shift+click to append the button instead of replacing it 2023-06-15 22:39:30 +02:00
Megamouse ec9e8916b1 evdev: don't release buttons while other buttons are still pressed 2023-06-15 22:39:30 +02:00
Megamouse d3be8ee2b7 input: allow multiple key codes per button 2023-06-15 22:39:30 +02:00
Megamouse 16f869fe5a logging: minor trace optimizations 2023-06-15 19:48:15 +02:00
Megamouse a90858193e Qt/logging: add format function for QString 2023-06-15 19:48:15 +02:00
Ani 6dcf63009e Settings: Move Accurate SPU DMA to Advanced 2023-06-15 01:22:15 +02:00
Ani 5f8f86b5a7 Settings: Add Output Scaling to Home Menu 2023-06-15 01:22:15 +02:00
Ani a78117e094 Settings: Enable hot-reloading of Output Scaling 2023-06-15 01:22:15 +02:00
Ani 44421920b3 Settings: Reorder settings in Debug 2023-06-15 01:22:15 +02:00
Ani 0e79fbda05 Settings: Reorder settings in Emulator 2023-06-15 01:22:15 +02:00
Ani 9ab89c634b Settings: Move Automatically start games after boot to Debug 2023-06-15 01:22:15 +02:00
Ani 0a6f12f448 Settings: Rename to Force GPU Texture Scaling
Before the setting's name was Use GPU Texture Scaling
2023-06-15 01:22:15 +02:00
Ani 8612bdd03d Settings: Rename to Pause emulation after loading savestates
Before the setting's name was Start Savestates Paused
2023-06-15 01:22:15 +02:00
Ani f08d3e12ca Settings: Remove PPU Interpreter (dynamic)
It has been unimplemented for a long while, so no point in displaying
it, it can be added once the feature is implemented again
2023-06-15 01:22:15 +02:00
Ani deda47f461 Settings: Move Accurate GETLLAR to Advanced
Also includes some minor cleanup to move some code to their right blocks 
in settings_dialog and tooltips
2023-06-15 01:22:15 +02:00
Ani 2751f5e254 Settings: Move Accurate PPU Float Condition Control to Debug 2023-06-15 01:22:15 +02:00
Ani 2ac1ff1d0a Settings: Move Accurate PPU Vector NaN Handling to Debug 2023-06-15 01:22:15 +02:00
Ani 30e8c70055 Settings: Move Accurate PPU Non-Java Mode to Debug 2023-06-15 01:22:15 +02:00
Ani 62600b3be0 Settings: Move Accurate PPU Saturation Bit to Debug 2023-06-15 01:22:15 +02:00
Ani 57b9130cf7 Settings: Add Show PPU compilation hint 2023-06-15 01:22:15 +02:00
Ani b557a7fa16 Settings: Move Start Savestates Paused to Emulator
Under Emulator Settings groupbox, this is not really an Advanced setting 
thus it's more fitting on the Emulator tab
2023-06-15 01:22:15 +02:00
Ani 73e336adfa Settings: Move Disable Vertex Cache to Advanced
Under GPU group box, MTRSX now works with Vertex Cache so the use cases
for this settings are very reduced
2023-06-15 01:22:15 +02:00
Ani 86b27a3088 Settings: Remove Full Width AVX-512 from the UI
This is a very niche setting, so it can remain a config.yml setting only
2023-06-15 01:22:15 +02:00
Ani cce699a465 Settings: Enable Full Width AVX-512 by default
It is only known to cause performance hits in old Skylake-X AVX-512 CPUs 
as opposed to the other AVX-512 enabled CPUs, so it should be enabled as 
default
2023-06-15 01:22:15 +02:00
Megamouse d662a39a12 PPUAnalyser: fix std::move nonsense 2023-06-14 11:05:00 +03:00
kd-11 49c6c2c529 vk: Do not hard-sync on first sign of fragmentation
- It is very likely that the resource would be available if we just waited a while for the GPU queue to clear.
- Instead of also discarding the current work, first check if we can get by without a hard sync.
2023-06-14 01:12:11 +03:00
kd-11 29f3eec957 vk: On pool recovery, rescan the subpool table in case a new pool really cannot be created 2023-06-14 01:12:11 +03:00
kd-11 c1d875d841 vk: Handle VK_ERROR_FRAGMENTATION when allocating descriptor pools 2023-06-14 01:12:11 +03:00
Megamouse d28e3c4f08 np_handler: fix warning: check socket in discover_ip_address 2023-06-13 18:08:51 +02:00
Megamouse cedfb95f9b Loader: remove dead code 2023-06-12 19:35:15 +02:00
Elad Ashkenazi 59430ee83e
Log Frame: Make clear act clear pending messages (#14004) 2023-06-12 18:46:09 +02:00
Megamouse b436d2a7f4 input: add controller index to SDL controllers 2023-06-12 18:05:34 +02:00
Megamouse 84d2ad70e6 input: add new buttons for Dualsense Edge 2023-06-12 17:29:14 +02:00
Megamouse 1bd9549e45 input: merge some duplicate code 2023-06-12 17:29:14 +02:00
Megamouse 2409a0d04e input: Add dualsense edge PID 2023-06-12 17:29:14 +02:00
Megamouse 635fed0427 fs/linux: fix potential copy_file issue
sendfile is meant to be run in a loop, since there is no guarantee that a single call copies all the data.
The current implementation may lead to corrupt files on linux.
2023-06-12 15:59:32 +03:00
RipleyTom 5d7e75c5d8 Fix EINVAL returned on connect call to connecting socket 2023-06-11 15:42:22 +02:00
Eladash c0e97b4e96 Qt: Improve PS3 Binaries Decryption tool 2023-06-11 00:40:14 +02:00
brian218 b2842dcd52 System.cpp: Updated the definition of user-space LV2 CoreOS SELFs 2023-06-10 17:59:02 +02:00
Jan Beich 112f1016ed CI: switch FreeBSD back to /latest after llvm16 re-appeared
This reverts commit 5e6aa45658.
2023-06-10 10:00:55 +02:00
Megamouse c78c504043 overlays: update progress dialog workaround 2023-06-10 09:09:55 +02:00
kd-11 27349c5c69 vk: Cleaner approach to object lifetime management 2023-06-10 02:54:16 +03:00
kd-11 872aa2b358 vk: Improved OOM handling
- Don't aggressively delete surfaces unless we're really crashing
- Release barrier resources before destroying the surface in case of fatal crash
2023-06-10 02:54:16 +03:00
kd-11 72abc0f219 rsx: Minor annotations and refactoring 2023-06-10 01:36:10 +03:00
kd-11 4d565eade6 rsx: Drop format information from the vertex cache and use a simpler model that is much faster 2023-06-10 01:36:10 +03:00
kd-11 2df7e46cb1 rsx: Import robin-hood unordered map which is much faster than std 2023-06-10 01:36:10 +03:00
kd-11 105205312b rsx: Rewrite the find method to avoid unnecessary allocations 2023-06-10 01:36:10 +03:00
kd-11 97f7461aa9 rsx: Allow the vertex cache to be enabled independently of MTRSX 2023-06-10 01:36:10 +03:00
kd-11 7e2eaf43ca rsx: Capture stats about vertex cache performance 2023-06-10 01:36:10 +03:00
Eladash d752ab0151 SPU/Debugger: Add RawSPU debug data 2023-06-09 14:07:37 +03:00
Eladash c87a7cb2c0 PPU: Fix thread entry detection false positives 2023-06-09 14:07:37 +03:00
Megamouse 6aff2803e5 cellMsgDialog: Fix segfault when closing non-blocking Qt dialogs 2023-06-09 02:03:44 +02:00
Megamouse fcfca6efda Qt: add ability to style richtext href links 2023-06-08 22:58:55 +02:00
Megamouse 0ebe832f8e input: fix some warnings 2023-06-08 22:58:55 +02:00
Megamouse 86ed82dcec PSF: improve load readability 2023-06-08 21:15:39 +02:00
Megamouse 769b69999f fix whitespace 2023-06-08 21:15:39 +02:00
Megamouse 91ee066751 Qt: do not set play/pause button texts to 'Resume' on emu stop or ready
Since the states now always seem to match, this makes no sense anymore
2023-06-08 21:15:39 +02:00
Megamouse 404d08ef6d Qt: always use last boot path for game boot actions
The actual path caused the GUI to try to run elfs directly after booting a game from a loader.
2023-06-08 21:15:39 +02:00
Megamouse 11487cd591 System: fix config path in restore_on_no_boot 2023-06-08 21:15:39 +02:00
Megamouse 51a30977d2 System: use const ref for libs map 2023-06-08 21:15:39 +02:00
Megamouse c0366ba40c Qt: fix start/restart shortcut 2023-06-08 21:15:39 +02:00
Megamouse 3f5bc3464d Rename ProcureCurrentEmulationCourseInformation to GetEmulationIdentifier
This is much easier to understand in my opinion.
The old name just made me scratch my head whenever I read it.
2023-06-08 21:15:39 +02:00
Megamouse fcd6be71b0 debugger_frame: don't query cpu thread if emulation is stopped anyway 2023-06-08 21:15:39 +02:00
brian218 ad22cf5051 unself.cpp: Always reset the old SELF header information before loading 2023-06-08 18:18:57 +02:00
Megamouse 8f66c50721 input: add pressure intensity toggle mode 2023-06-08 16:41:44 +02:00
kd-11 6f834e99d2 vk: Disable conditional rendering on MacOS 2023-06-06 22:05:54 +03:00
kd-11 86c7b31b6d Force disable conditional render on macOS 2023-06-06 22:05:54 +03:00
Eladash 6d918b565f PPU: Sleep after returning from thread entry function 2023-06-06 17:53:09 +02:00
Eladash 52575a44b2 sys_ppu_thread: Optimize joined thread notification 2023-06-06 17:53:09 +02:00
Eladash d5eebd6ab4 debugger: Fix trailing spaces in PPU register dump 2023-06-06 09:48:27 +02:00
Eladash 3f44ecb77a register_editor_dialog: Improve selection 2023-06-06 09:48:27 +02:00
Eladash 9bd4426225 Fix _sys_interrupt_thread_disestablish with lingering thread copies 2023-06-06 09:48:27 +02:00
Eladash 4af0a33f1f Fix sys_ppu_thread_detach/exit with lingering thread copies 2023-06-06 09:48:27 +02:00
Eladash 636bde6343 Logs: Fix trailing space, nbsp and unintended character 2023-06-06 09:48:27 +02:00
Eladash 16579e0b1f Fix spu_thread::cleanup() 2023-06-06 09:48:27 +02:00
Megamouse 292d3faa9e input: fix pad profile override with existing custom pad configs 2023-06-06 08:09:31 +02:00
Megamouse 6d2f7f6e54 sys_fs: fix map entry removal in destructor 2023-06-05 23:14:12 +02:00
brian218 a131a41874 Fixed a bug in fs::get_parent_dir() 2023-06-05 20:15:43 +02:00
brian218 48ffc19193 Update sys_usbd.cpp 2023-06-05 20:15:43 +02:00
Eladash e75c0dbaa1 debugger(CallStack): Make Return act as double click 2023-06-05 17:39:52 +03:00
Eladash 0c0f63a2a8 debugger: Fix potential null dereference 2023-06-05 17:39:52 +03:00
Eladash c9942aa828 debugger: Fix key events when CallStack is focused 2023-06-05 17:39:52 +03:00
Eladash ca56f0747e debugger: Avoid incorrect update timer restart 2023-06-05 17:39:52 +03:00
Eladash e77c01d00a debugger: Fix use of invalid pointers 2023-06-05 17:39:52 +03:00
brian218 c85775922e sys_usbd: Implemented sys_usbd_unregister_extra_ldd() 2023-06-05 13:51:54 +03:00
brian218 da0c9c2ce9 sys_usbd: USB VID/PID logging format fixup 2023-06-05 13:51:54 +03:00
brian218 42b388317e sys_ss: Further implemented Update Manager service for VSH 2023-06-05 13:51:54 +03:00
brian218 6a570ae57e sys_fs: Implemented sys_fs_mount(prot=1) read-only mounting & fixed up some operation and permission checks 2023-06-05 13:51:54 +03:00
Jan Beich 5e6aa45658 CI: temporarily switch FreeBSD to /quarterly packages
llvm16 failed to build on /latest, so the package is missing atm.
As builds are automatic this will resolve itself in a few days.
2023-06-04 23:11:24 +02:00
Jan Beich 5fa8af1c9a CI: upgrade FreeBSD to 13.2
FreeBSD doesn't support /latest and /quarterly package repos on EOL
versions. 13.1 reaches EOL on 2023-07-31, so avoid CI breakage.
2023-06-04 23:11:24 +02:00
Elad Ashkenazi 2e4bf9ef1b Update sys_timer.cpp 2023-06-04 01:26:24 +02:00
Elad Ashkenazi ba9f55679d Update sys_timer.cpp 2023-06-04 01:26:24 +02:00
Elad Ashkenazi 2c999a550b Update sys_mutex.h 2023-06-04 01:26:24 +02:00
Elad Ashkenazi 805de248d3 Update sys_lwmutex.h 2023-06-04 01:26:24 +02:00
Elad Ashkenazi 1240874e41 Update sys_lwmutex.h 2023-06-04 01:26:24 +02:00
Elad Ashkenazi feff50e7e0 Update sys_mutex.h 2023-06-04 01:26:24 +02:00
Ani 33558d14e5 rpcs3_version: Bump to 0.0.28 2023-06-02 19:54:07 +02:00
Eladash c37fc73a02 PPU LLVM: Invalidate cache for testers 2023-06-02 08:54:46 +03:00
Eladash d152537e50 sys_lwcond/cond/ppu_thread: Respect scheduler in various syscalls 2023-06-02 08:54:46 +03:00
Eladash 5d4e87373f LV2: Make _sys_lwcond_destroy wait for lwmutex lock 2023-06-02 08:54:46 +03:00
Eladash 1c36156594 PPU LLVM: Fix LWSYNC according to cellSpursWakeup 2023-06-02 08:54:46 +03:00
Eladash 300701a06b Make page faults entry enqueue and event atomic 2023-06-02 08:54:46 +03:00
Eladash a776f15557 SPU: fix event count with ACK and mask write 2023-06-02 08:54:46 +03:00
Eladash 1c89f8a855 LV2/Timer: Fix ENOTCONN check of start timer 2023-06-02 08:54:46 +03:00
Eladash 81e4d9c2ee LV2/TImer: Fix notification discard 2023-06-02 08:54:46 +03:00
Eladash 49be6be8f4 LV2/Timer: Make timers consistent 2023-06-02 08:54:46 +03:00
Eladash b861a9c5d0 LV2: Implement set-priority thread requeue 2023-06-02 08:54:46 +03:00
Eladash 9828e6cafc LV2: Push other-than-this thread to the back on priority set 2023-06-02 08:54:46 +03:00
Eladash 3d8d9ef61c Threads.cpp: Fix infinite looping 2023-06-02 08:54:46 +03:00
Eladash 5d13978bbf sys_lwcond: Implement TIMEOUT on lwmutex lock 2023-06-02 08:54:46 +03:00
Eladash b844aecb9e sys_lwmutex/mutex: Fix race on lock timeout 2023-06-02 08:54:46 +03:00
Eladash f57c8c1c35 LV2: Unconditional Timer Synchronization Fix 2023-06-02 08:54:46 +03:00
kd-11 bbbc5f6e6c rsx: Write a warning to the log if we decide to collapse surfaces to reduce VRAM usage. 2023-06-01 19:25:50 +03:00
kd-11 ac0c60b740 vk: Rename gc_wrapper_t to gc_callback_t which is more relevant 2023-06-01 19:25:50 +03:00
kd-11 f2f95a20a3 vk: Minor improvement to descriptor and garbage collector interaction 2023-06-01 19:25:50 +03:00
kd-11 12f213ffad rsx: Trim the number of in-flight invalidated resources (temp cache)
- This drastically improves memory allocation behavior.
  Holding too many invalidated resources can lead to a cascading overallocation error as old resources hold refs to even older resources and nothing gets deleted.
2023-06-01 19:25:50 +03:00
Megamouse 66e1cf96e2 Qt/Loader: Let users choose which packages to install 2023-06-01 16:34:23 +02:00
Elad Ashkenazi c3b7229fbb Extra PS3_EXTRA fix 2023-06-01 06:43:33 +02:00
Megamouse f96a0ce9d2 Trophies: Add more sanity checks to pugixml backend 2023-05-30 19:11:57 +02:00
Megamouse ba592070f7 Qt: fix random initial game selection in trophy dir 2023-05-30 19:11:57 +02:00
kd-11 6a2ea62f82 vk: Minor cleanup 2023-05-30 16:50:08 +03:00
kd-11 6cfd817b5a vk: Fix descriptor-related crashes 2023-05-30 16:50:08 +03:00
kd-11 c99ef4b09f vk: Refactor descriptor handling 2023-05-30 16:50:08 +03:00
kd-11 7e131f8fb6 rsx/util: Add some c++ guards around simple_array class 2023-05-30 16:50:08 +03:00
kd-11 10171c19c3 vk: Unify descriptor allocation
- Pool management should be a backend implementation detail.
2023-05-30 16:50:08 +03:00
Elad Ashkenazi e0853095e3 Fixup debugger_frame double events 2023-05-30 13:11:03 +02:00
Eladash 5a365506f7 Qt/Debugger: Add Ctrl+F (find thread), Ctrl+C (copy) 2023-05-28 13:53:35 +02:00
Megamouse 4aee1b378a overlays: fix media list dialog pad interception 2023-05-28 11:56:49 +02:00
Elad Ashkenazi 9f5e3ecb8c rsx/overlays: Fix crash on stop 2023-05-26 07:42:29 +02:00
Megamouse 7b9614fcf3 Hid: add some logging for initial send_output_report 2023-05-25 23:02:22 +02:00
Megamouse 8e62a0e22d input: remove some outdated comments 2023-05-25 23:02:22 +02:00
Megamouse f89d3d5077 cellCamera: don't switch to main thread unless really necessary 2023-05-25 21:30:27 +02:00
Megamouse 145e059cdf input: allow to remap emulated pads dynamically 2023-05-25 20:37:15 +02:00
Megamouse 22916a7e8d Qt/input: limit some usb device configs to 2 players 2023-05-25 20:37:15 +02:00
Megamouse 07f458f991 Qt: rename emulated pads menu to usb devices 2023-05-25 20:37:15 +02:00
Megamouse 6180a58d7a Qt: disable emulated pad settings during emulation 2023-05-25 20:37:15 +02:00
Megamouse 5cc2a7c09e input: fix emulated pad stick y axis 2023-05-25 20:37:15 +02:00
Megamouse e584653b72 input: move emulated pad handling to config class 2023-05-25 20:37:15 +02:00
Megamouse f4b346a6f8 input: fix emulated button map accessors 2023-05-25 20:37:15 +02:00
Megamouse cb1b71bc57 Qt: fix emulated button reset 2023-05-25 20:37:15 +02:00
Megamouse 95060efb7d input: add support for multi-assignment in emulated pads 2023-05-25 20:37:15 +02:00
Megamouse b82dd61a0c input: add emulated axis configs 2023-05-25 20:37:15 +02:00
Megamouse c84d10686f Qt: change wording on fake PS Move config 2023-05-25 20:37:15 +02:00
Megamouse d652a81078 Qt/input: add emulated pads settings dialogs 2023-05-25 20:37:15 +02:00
Megamouse fc76d2df38 input: list actual nodes instead of button ids 2023-05-25 20:37:15 +02:00
Megamouse 1a98682ea0 input: add enum count for enumeration 2023-05-25 20:37:15 +02:00
Megamouse 64437a531b input: use global configs 2023-05-25 20:37:15 +02:00
Megamouse 4d26170bd6 input: add emulated_pad_config template class 2023-05-25 20:37:15 +02:00
Megamouse 36831a3d6a input: add gem ds3 config file
No sticks yet
2023-05-25 20:37:15 +02:00
Megamouse e7c0df4eac input: add usio config file
No sticks yet
2023-05-25 20:37:15 +02:00
Megamouse a296c19633 input: add ghltar config file
No sticks yet
2023-05-25 20:37:15 +02:00
Megamouse 8b5f7a0770 input: add turntable config file
No sticks yet
2023-05-25 20:37:15 +02:00
Megamouse 7b9a36be7d input: add buzz config file
Adds a buzz.yml and implements a generic way to save actual DS3 mapping independent of pad handlers
2023-05-25 20:37:15 +02:00
shinra-electric cbe1628cf2 remove deprecated VK_MVK_moltenvk and replace with mvk_config.h
VK_MVK_moltenvk extension has been removed. 

Will try with `mvk_config.h`, but it this doesn't work `mvk_deprecated_api.h` should work instead.
2023-05-25 08:54:44 +02:00
shinra-electric d482c078bc Update MVK to 1.2.4 for Vulkan SDK 1.3.250 2023-05-25 08:54:44 +02:00
Megamouse 38f9332905 overlays: Fix width of graph labels 2023-05-25 06:37:31 +02:00
Megamouse 96f1f9e45e overlays: fix missing sound autorepeat fence.
The other instances aren't realistically autorepeating
2023-05-25 06:37:31 +02:00
Eladash f031cd9b42 Take advantage of WIN10 Thread Name API 2023-05-24 20:39:51 +02:00
Megamouse 3aa15c8a23 Update hidapi from 0.13.1 to 0.14.0 2023-05-23 22:23:44 +02:00
Megamouse a3cc3aa8b8 Update curl from 8.0.1 to 8.1.1 2023-05-23 22:23:44 +02:00
Megamouse 29f67448e9
pine: fix some warnings (#13904) 2023-05-23 18:01:14 +02:00
kd-11 976a3ed3bf Formatting fixes 2023-05-23 14:37:13 +03:00
kd-11 98c0944419 vk: Fix some sampler load crashes 2023-05-23 14:37:13 +03:00
kd-11 bf78b197a3 vk: Reimplement sampler disposal using the new pool mechanism 2023-05-23 14:37:13 +03:00
kd-11 427960fee8 vk: Fix compiler warning 2023-05-23 14:37:13 +03:00
kd-11 75da7d80dc vk: Reimplement sampler caching to take border color into account 2023-05-23 14:37:13 +03:00
kd-11 7eb730ee03 vk: Integrate custom border colors when supported 2023-05-23 14:37:13 +03:00
kd-11 4b9fa7a417 vk: Require customBorderColorWithoutFormat feature 2023-05-23 14:37:13 +03:00
kd-11 6163acc8c5 vk: Add border color extension detection 2023-05-23 14:37:13 +03:00
kd-11 4add5b6bf0 vk: Minor refactoring of optional features 2023-05-23 14:37:13 +03:00
Megamouse 1ae3b37fbe sceNpTrophy: set timestamps 2023-05-23 08:22:13 +02:00
Elad Ashkenazi 23c710cf53 CPUThread.cpp: Fix an emulator crash on game exit 2023-05-22 20:04:49 +03:00
Eladash e29b81c444 Debug Fixes 2023-05-22 20:04:49 +03:00
Megamouse 73dba6d6e0 overlays: do not play sounds on fast auto repeat
Currently there's a nasty sound stakkato going on if you keep the dpad pressed to the left in the home menu for example.
2023-05-20 18:27:26 +02:00
Megamouse 09e845a539 input: add sanity checks for buf_size
also improve log spam
2023-05-20 13:24:43 +02:00
Eladash e1744ceab2 Debugger: Implement key-scrolling through threads 2023-05-19 23:15:40 +02:00
RipleyTom cbb1b1f28e Fix spu_fm 2023-05-19 18:26:42 +03:00
Elad Ashkenazi 59f9938849 cellSpurs: Fix ready count 2023-05-19 14:18:51 +03:00
Megamouse 8db318094f Qt: fix memory leak on midi error 2023-05-18 22:11:35 +02:00
Megamouse 5a4206e05d Qt: Don't refresh mic and midi list in constructor 2023-05-18 22:11:35 +02:00
Megamouse 6794ae35a1 mac arm: try to fix compilation 2023-05-18 18:52:25 +02:00
Megamouse 8676913e73 input: use enum class for pad connection 2023-05-18 18:52:25 +02:00
Megamouse 2ef120fdcd input: add option to keep pads connected 2023-05-18 18:52:25 +02:00
kd-11 08c1a14b13 Fix init order for gpu_debug_marker 2023-05-18 18:10:46 +03:00
kd-11 4a138aa918 Fix init order 2023-05-18 18:10:46 +03:00
kd-11 793a21a825 rsx: Fix build after variable rename 2023-05-18 18:10:46 +03:00
kd-11 6fd76054b4 vk: Rename the debug marker to something more appropriate 2023-05-18 18:10:46 +03:00
kd-11 c80be9e54b Fixup - command buffer wrapping 2023-05-18 18:10:46 +03:00
kd-11 56ebae773c vk: C++-ify the debug marker sync object member names 2023-05-18 18:10:46 +03:00
kd-11 fad6647255 vk: Do not use raw GPU command buffer handles for any wrapped API calls
- There is no reason to do so and we seriously hamper debugging efforts
2023-05-18 18:10:46 +03:00
kd-11 edb2b60f2f rsx: Perform region clipping in a normalized coordinate space
- Depending on what the caller wants to do, the scaling will be different for src vs dst calculations.
  We cannot reliably handle this in the callee
2023-05-18 18:10:46 +03:00
kd-11 d894ccb4ea vk: Preliminary support for debug markers 2023-05-18 18:10:46 +03:00
Megamouse bd09dc8ea8 Qt: allow hiding trophy table columns 2023-05-18 15:26:05 +02:00
Megamouse a1e19e1cf8 VS: set more O2 2023-05-18 12:41:22 +02:00
Megamouse 799dbfc2c5 MSVC: Ignore base address warning 2023-05-18 12:41:22 +02:00
Megamouse 54e6cf95d7 Fix some warnings 2023-05-18 12:41:22 +02:00
Megamouse 3ea0e391db Updates 2023-05-18 12:41:22 +02:00
Megamouse 4fd21f7764 Windows Use vector for performance counter data allocation 2023-05-18 09:15:49 +02:00
Megamouse f8009451a9 rpcn: fix some msvc warnings 2023-05-18 09:15:49 +02:00
Megamouse f5c48a00b4 Fix log message 2023-05-18 09:15:49 +02:00
Elad Ashkenazi c70338a9a9 Logs/Debugger: Go-To-Address signal from log text 2023-05-18 08:43:39 +02:00
Megamouse e83540d80c Qt: don't refresh game grid after emu stop
It is not necessary to refresh the game grid after stopping a game.
2023-05-17 23:39:48 +02:00
Dark 24dde5d42b Implement support for emulating Rock Band 3's MIDI Pro Adapter
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2023-05-17 22:59:44 +02:00
Joshua de Reeper 8e15afb2c4 sys_usbd: Emulate Disney Infinity Base 2023-05-17 21:26:58 +02:00
Megamouse 911cd678ff cli: add ability to log ffmpeg codecs 2023-05-17 00:23:47 +02:00
RipleyTom f11770b88b
Better accuracy for FREST/FRSQEST (#13863) 2023-05-15 17:20:47 +01:00
Eladash 514ef9a9c5 SPU Executable Code Dumping Tool 2023-05-15 14:11:13 +03:00
kd-11 57070aa8ff vk: Minor refactor in OOM handler to skip scans if we already found a match 2023-05-15 12:28:19 +03:00
kd-11 e06c6b5ac8 vk: Refactor memory allocators to easily inspect device properties 2023-05-15 12:28:19 +03:00
kd-11 a6dada6c36 vk: Use gc to clean up stale surface cache resources instead of fudging with frame counters.
- This whole surface cache garbage management needs to be merged with gc
2023-05-15 12:28:19 +03:00
kd-11 a058cf2ff0 vk: Rewrite draw call setup sequence to avoid OOM situations introducing stale descriptors 2023-05-15 12:28:19 +03:00
kd-11 142d25c0d7 vk: Don't erase texture cache images directly. Use gc instead. 2023-05-15 12:28:19 +03:00
kd-11 4e6231a321 vk: Implement max VRAM override in config 2023-05-15 12:28:19 +03:00
kd-11 29d87a3743 vk: Refactor the vram exhausted handler
- Mostly a de-uglify pass
2023-05-15 12:28:19 +03:00
kd-11 9a2b06f35f vk: Refactor vram exhausted handler to minimize risk of UAF hazards
1. A hard sync before starting the routines on fatal will release some memory going in improving chances of a successful eviction elsewhere.
2. A hard sync on exit cleans up, ensuring no UAF (with caveats)
2023-05-15 12:28:19 +03:00
kd-11 4e2f3a289c vk: Tune resource quotas
- Tuned for 1G. The system requires about 128M for scratch and system data.
2023-05-15 12:28:19 +03:00
kd-11 db70cd058a vk: Improve spill robustness
- Removes some incorrect checks that asserted incorrectly
- Make the collapsible check recursive
2023-05-15 12:28:19 +03:00
kd-11 b6cdf18165 vk: Lower scratch dimension alignment to 256 to minimize wastage 2023-05-15 12:28:19 +03:00
kd-11 7d710cbf8c rsx: Do not allow 'compatible' check to pass if the size does not match
- It's not worth it. We end up with a mish-mash of internal configuration parameters that don't match the surface.
  Maybe with more abstraction it can work, but there is little benefit.
2023-05-15 12:28:19 +03:00
Elad Ashkenazi 654c4e3c06 Logs: fix Stack Cell Errors setting reading 2023-05-14 19:51:18 +02:00
Elad Ashkenazi a3271b08b7 System.cpp: Make boot of disc updates more strict 2023-05-14 17:47:56 +02:00
oltolm b0de5970ce
Get the font directory from Windows (#13825) 2023-05-13 20:58:59 +02:00
Elad Ashkenazi db7f84f9f8
SPU/PPU/Debugger: Ensure ascending stack frames (#13833)
* PPU/Debugger: Ensure ascending stack frames

* SPU/Debugger: Ensure descending stack frame pointers
2023-05-10 11:23:09 +03:00
Megamouse 58140e1d3a Fix some warnings 2023-05-09 07:55:46 +02:00
Megamouse 315d9c308b Qt: fix game list event filter
Fixes a regression caused by copy pasting the list construction to its
own constructor.
2023-05-08 23:05:12 +02:00
Eladash d13c0ee393 SPU/Debugger: Detect stack-less functions 2023-05-08 19:27:21 +03:00
Zion Nimchuk 7740cac6dd Add linuxdeploy-plugin-checkrt for compatibility with older distros 2023-05-08 08:45:41 +02:00
Elad Ashkenazi ead8e5e0c3 PPU LLVM: Unbreak function linkage 2023-05-07 14:11:37 +03:00
RipleyTom 195de818b6 Fix rpcn config reset 2023-05-06 19:48:40 +02:00
RipleyTom 5c0113ce59 Deterministic FREST and FRSQEST 2023-05-06 12:59:34 +03:00
oltolm db2341c842 fix ASAN error: make overlay_pass destructor virtual 2023-05-06 10:17:58 +02:00
oltolm b7b87096d8 fix: make ASAN work on Windows 2023-05-06 10:17:58 +02:00
brian218 6a41b22a1b sys_fs: Further implemented cellFsArcadeHddSerialNumber (0xc0000007) 2023-05-06 10:26:37 +03:00
brian218 5696065727 sys_fs: Improved sys_fs_fcntl(0xc0000015 and 0xc000001c) by integrating duplicate code 2023-05-06 10:26:37 +03:00
brian218 e9281843bf sys_fs: Implemented mount_info_map to keep proper track of mounted devices 2023-05-06 10:26:37 +03:00
brian218 43184a271f sys_fs: Improved lv2_fs_object constructor 2023-05-06 10:26:37 +03:00
brian218 a7e1bc34de sys_fs: Improved the functionality of lv2_fs_object::get_mp() and the efficiency of mount&newfs syscalls 2023-05-06 10:26:37 +03:00
brian218 98c46f7eb0 sys_game: Fixed potential bugs in sys_game_get_system_sw_version()
sys_game: Implemented sys_game_set_system_sw_version()
2023-05-06 10:26:37 +03:00
Megamouse 3de0f042c6 Qt: filter for rpcs3_*.qm files when enumerating languages 2023-05-06 09:16:24 +02:00
Megamouse f115032095 Qt: implement flow layout game grid
This will allow us to properly style the grid and also remove the need to refresh the whole grid on a window resize
2023-05-06 06:31:58 +02:00
Megamouse 0b628cb50e cellPamf: Add missing error code 2023-05-06 06:31:58 +02:00
Ștefan Talpalaru 751775a04c CI: -DUSE_SDL=ON (on Linux) 2023-05-05 21:40:09 +03:00
Ștefan Talpalaru 177bb3c569 build: fix USE_SYSTEM_SDL 2023-05-05 21:40:09 +03:00
Ivan Chikish 3cf8c629fa X86 SigHandler: Add support for BEXTR instruction
BEXTR is emitted for znver CPUs in recent LLVM.
2023-05-05 18:03:50 +03:00
kd-11 3947250daa Whitespace fix 2023-05-05 16:59:06 +03:00
kd-11 96be211c88 gl: Fix typeless casts 2023-05-05 16:59:06 +03:00
kd-11 b00b8ae71b rsx: Allow swizzle flag to propagate as an override to surface properties 2023-05-03 01:26:14 +03:00
kd-11 45f416c4f1 rsx: Apply swizzle flag on data source as well
- The fact that the attribute is tacked on to the dest is a semantic error.
  It's the context that is swz\ln, not the source or dest. They both are one or the other.
2023-05-03 01:26:14 +03:00
kd-11 c58149f5b6 vk: Propagate swizzle flag in hw blit engine 2023-05-03 01:26:14 +03:00
kd-11 579a6c9311 rsx: Add a comment explaining the barycentric interpolation change 2023-05-02 20:46:39 +03:00
kd-11 08e7a23121 vk: Improved attribute interpolation for NVIDIA 2023-05-02 20:46:39 +03:00
RipleyTom bf190fd3d8 Fix deadlock in games_config 2023-05-02 07:51:22 +02:00
Megamouse ea3a73b598 Qt: fix invisible first game list icon on tiny icon sizes 2023-05-01 20:09:18 +02:00
RipleyTom 9989fb4bbc Force STATIC_LINK_LLVM on with BUILD_LLVM=ON 2023-05-01 17:27:09 +03:00
Megamouse 0524f4a540 MacOs: remove git dir from dmg 2023-04-30 18:26:19 +02:00
Megamouse 43febd392c Linux: remove git dir from AppImage 2023-04-30 18:26:19 +02:00
Megamouse dea894161a Windows: don't ship git folder 2023-04-30 18:26:19 +02:00
Megamouse 710f07049d VS: disable warnings of external dependencies (mainly silences Qt warning spam) 2023-04-30 18:26:19 +02:00
Megamouse fe977c4288 fix some warnings 2023-04-30 18:26:19 +02:00
Eladash f5b9d86e42 Qt/Utilities: Merge memory viewer with searcher 2023-04-30 12:41:55 +02:00
Ani 9ab4802d07 gl: Fix blur_intensity GL_INVALID_OPERATION error
blur_intensity is a float, so the cast needs to be f32 instead of s32
2023-04-30 12:02:14 +03:00
Zion Nimchuk f0828ebbc0 Use seperately bundled LLVM library 2023-04-30 04:40:35 +02:00
Zion Nimchuk 84b1624b23 Bring back removing the wayland-client lib 2023-04-30 04:17:26 +02:00
Zion Nimchuk 47da39a2ff Change AppImage packaging to actively maintained system
The previous system is basically unmaintained, this new AppImage
packager has proper support for Qt6, and active support from the
AppImage team.
In addition, I'm removing a bunch of our old lib hacks and the old ugly
C++ library check system.
2023-04-29 20:40:04 +02:00
Megamouse 7bec3b30b7 Qt: Allow parsing games.yml during gameplay
There is no need to restrict this anymore
2023-04-28 17:16:04 +02:00
Megamouse ad5a62b62d Loader: split add_only into own function
The new code does not require any modifications apart from loading vfs
2023-04-28 17:16:04 +02:00
Megamouse f080798000 Qt: clear game items before clearing the game list 2023-04-28 16:06:22 +02:00
Megamouse 6af81d649f VS: remove non-existent moc files from filter 2023-04-28 16:06:22 +02:00
Megamouse 5f3f8eeec6 Qt: fix squished icon column when opening rpcs3 after closing with an empty list 2023-04-28 16:06:22 +02:00
Megamouse 9b4302bc2f Qt: fix invalid pointer in IconReady slot 2023-04-28 16:06:22 +02:00
Megamouse fa618a2bf7 Qt: use shared_mutex in movie_item 2023-04-28 16:06:22 +02:00
Megamouse 6915025c7e Qt: don't mount dev_hdd0 in screenshot manager 2023-04-28 16:06:22 +02:00
Elad Ashkenazi 5cf80c05a5 savestates:/sys_spu: Fix join saving 2023-04-28 16:13:15 +03:00
Megamouse 711afeb688 Qt: only do a hard refresh when new games may have been added 2023-04-27 09:23:27 +02:00
Megamouse 96165cd21d Qt: keep game list data when toggling between list and grid layouts
There is no need to do a full hard refresh anymore.
2023-04-27 09:23:27 +02:00
Megamouse 1a07f40c4b Qt: fix futurewatcher cancel 2023-04-27 08:42:28 +02:00
Megamouse eb5ea82bb1 Qt: Fix data race and undefined behaviour in games_config 2023-04-27 08:42:28 +02:00
Megamouse cd9ff08235 Decrease some include madness 2023-04-26 21:37:44 +02:00
Megamouse 957713015a screenshot manager: use flow layout
This whole screenshot thing was really janky, as I added it in half a day or so. But this commit should make everything smooth.
Sadly there is no real lazy loading yet (icons are loaded async, but indiscriminately).
2023-04-26 18:07:16 +02:00
Megamouse a639772dfe Qt: async game list parsing 2023-04-26 18:07:16 +02:00
Megamouse 6c85d97d6c Qt: move experimental build warning to gui_application 2023-04-26 18:07:16 +02:00
kd-11 7feb13671a rsx: Fix up the framebuffer width if the pitch fits scissor but not the clip width 2023-04-25 13:07:12 +03:00
Megamouse 3f066cca4a Qt: fix adding vsh to gamelist 2023-04-25 04:49:41 +02:00
Megamouse c86d221ba5 Qt: lazy load save data icons 2023-04-25 00:58:57 +02:00
Megamouse 5870dad639 Qt: fix savedata dialog exception 2023-04-23 20:00:45 +02:00
Megamouse 53a70c6e77 Qt: lazy load trophy icons 2023-04-23 19:30:23 +02:00
Ivan Chikish 45fecf0059 SPU LLVM: disable AVX2 shift intrinsics
Was incorrectly checked.
2023-04-23 18:36:45 +03:00
Megamouse a6e4b77273 Qt: fix table item delegate usage 2023-04-23 09:25:27 +02:00
Megamouse f932cc4073 VS: fix filters 2023-04-23 09:25:27 +02:00
Eladash 6bf77166e1 Game List: Make Ctrl+f Focus On The Search Bar 2023-04-22 16:13:17 +02:00
Eladash 6b9d0d5df5 UI: Ignore trademark as a fallback when searching games
Also colons and hyphen.
2023-04-22 16:13:17 +02:00
Eladash 9778322d99 UI: Focus to game searchbar on load
Make return key press focus to game list's first entry.
2023-04-22 16:13:17 +02:00
Megamouse 6ff04ec91b Qt: Set icon size function properly 2023-04-22 15:45:54 +02:00
Megamouse c7700fcd72 Update FAudio to v 23.04 2023-04-22 15:00:02 +02:00
Megamouse 027b1d5cab Update SDL to v 2.26.5
This apparently contains some fixes for DS4 and DS5
2023-04-22 15:00:02 +02:00
Megamouse ce65a1c2a7 Update miniupnp to v 2.3.3 2023-04-22 15:00:02 +02:00
Megamouse 650b0c7c30 Qt: properly invalidate item pointer in grid mode 2023-04-22 14:28:23 +02:00
Megamouse 823b23f800 Qt: Lazy load game grid icons and optimize paint method for invisible items 2023-04-22 14:28:23 +02:00
Megamouse b47db88ded Qt: Remove unused list layout handling of repaint watcher 2023-04-22 14:28:23 +02:00
Megamouse 20b92f50d9 Qt: don't calculate sizes in grid mode 2023-04-22 14:28:23 +02:00
Megamouse b401ad85d1 Qt: lazy load game list icons and dir size 2023-04-22 14:28:23 +02:00
Megamouse e9df63119b Qt: multithreaded file testing during refresh 2023-04-22 14:28:23 +02:00
Megamouse caa6c9b471 Qt: Minor optimization during list refresh 2023-04-22 14:28:23 +02:00
Ivan Chikish bb8e43f16c SPU LLVM: fixup custom LICM pass 2023-04-22 03:07:06 +03:00
Megamouse 2c71d08ea2 Emu: Cache games.yml and only save when necessary 2023-04-21 20:18:24 +02:00
Megamouse 500f7901ac unself: rename SCEVersionInfo to version_header 2023-04-21 17:56:25 +02:00
Megamouse 5fb716fc21 unself: rename SectionInfo to segment_ext_header 2023-04-21 17:56:25 +02:00
Megamouse 31ef970f23 unself: some more documentation 2023-04-21 17:56:25 +02:00
Megamouse a770eaf500 unself: rename AppInfo to program_identification_header 2023-04-21 17:56:25 +02:00
Megamouse e171f3af41 unself: rename SelfHeader to ext_hdr 2023-04-21 17:56:25 +02:00
Ivan Chikish 1041284384 SPU LLVM: sink stores deeper in custom LICM pass 2023-04-21 18:11:59 +03:00
Megamouse 6555de6ef5 fix warnings 2023-04-21 16:41:06 +02:00
Eladash b81e77cffa Remove add_only from main_window::Boot args 2023-04-21 12:14:44 +02:00
Eladash a1741f21cc Optimize AddGamesFromDir a bit 2023-04-21 12:14:44 +02:00
Eladash 76a36f45bf Reduce IO With Game Library Loading 2023-04-21 12:14:44 +02:00
Luiz a767beec60 Path to LLVM library fixed in Debug 2023-04-20 12:10:34 +03:00
Ivan Chikish 183bea3b98 SPU LLVM: upgrade custom DSE pass 2023-04-20 11:12:31 +03:00
kd-11 6981cbb985 formatting 2023-04-19 14:21:15 +03:00
kd-11 fdfcc6c5ea gl: Refactor attachment clear logic
- Make the whole thing a standalone command to avoid unnecessary state meddling.
2023-04-19 14:21:15 +03:00
Megamouse b86ecf7441 Keep preceding 0 in firmware strings 2023-04-19 08:06:30 +02:00
Megamouse 5107d1b69b Keep second 0 in firmware strings 2023-04-19 08:06:30 +02:00
Megamouse e133c8c2c3 Qt: add option to reset time played 2023-04-19 00:36:35 +02:00
Megamouse 450ab7c289 Qt: add grid filters 2023-04-18 23:46:02 +02:00
Megamouse 32bfb808ae Qt: add checkbox to restart dialog 2023-04-18 20:08:21 +02:00
Ivan Chikish 1f19804cab BufferUtils: fix SSE2 path for byteswaps 2023-04-18 16:46:18 +03:00
kd-11 9ff6003dfc rsx: Add Ultra shader precision setting for costly accuracy settings 2023-04-18 16:25:16 +03:00
kd-11 f725ea7d0d vk: Promote barycentric interpolation to 64-bit 2023-04-18 16:25:16 +03:00
Ivan Chikish 39d17a94c6 SPU LLVM: make savestates unsavable inside the code 2023-04-18 12:19:15 +03:00
Ivan Chikish 8153e5338f SPU LLVM: optimize register stores
Custom implementation of DSE+LICM
2023-04-18 12:19:15 +03:00
RipleyTom 999caea021 Implement sceNpManagerGetCachedInfo 2023-04-17 21:13:44 +02:00
shockdude b70665865f Invert the DJ Hero Turntable crossfader axis bind.
On Xbox 360 turntables, Crossfade Left is Y Down, Crossfade Right is Y Up.
Also simplify turntable/left stick input.
2023-04-16 13:21:57 +02:00
shockdude 6a9e0c52c3 Round squircled axis values to nearest whole number 2023-04-16 10:41:44 +02:00
Ivan Chikish 44b3709d1d SPU LLVM: use volatile stores for PC update 2023-04-15 12:40:59 +03:00
kd-11 b060165817 jit: Fix vec_cmp_eq<u32>
- Emit pcmpeqd instead of the incorrect pcmpeqw
2023-04-15 12:16:15 +03:00
RipleyTom 98fc073f89 Fix tmp path in updater 2023-04-14 19:16:27 +02:00
Ivan Chikish ba29f0ccd1 SPU LLVM: use atomic loads in read channel count 2023-04-14 13:36:04 +03:00
Ivan Chikish 3473e19508 SPU LLVM: fix savestate safety guards
Volatile was removed since it prevented optimizations.
2023-04-14 07:26:30 +03:00
Ivan Chikish 22bd7dcc42 PPU LLVM: disable DSE pass and use volatile store/loads 2023-04-14 07:26:30 +03:00
Eladash 79d09d02ed Add savestate buttons to home menu 2023-04-13 20:46:37 +02:00
Megamouse a6313fa46c cellMic: fix mic type regression 2023-04-13 20:00:05 +02:00
Megamouse 2a7431bd61 cellMic: fallback to proper sampling rate if necessary 2023-04-13 20:00:05 +02:00
Megamouse 90851459c8 cellMic: change some log levels 2023-04-13 20:00:05 +02:00
Megamouse 27c9bf137c cellMic: fallback to 4,2,1 channels by default 2023-04-13 20:00:05 +02:00
Megamouse 2205790dd4 cellMic: add some error checks 2023-04-13 20:00:05 +02:00
Megamouse 0115c2f70a cellMic: minor format changes for readability 2023-04-13 20:00:05 +02:00
Elad Ashkenazi 7bce99d77b
Debugger: Fix step over (#13649) 2023-04-12 20:55:07 +02:00
kd-11 47b65868f4 Try even lower 2023-04-12 18:47:14 +03:00
kd-11 8735a06f3c vk: GTX970 workaround 2023-04-12 18:47:14 +03:00
RipleyTom d35fecbeea Forces deterministic FP operations when online 2023-04-12 15:31:36 +03:00
Eladash 0e388639cc Loader: Make executable analyzation not halt UI when launching games 2023-04-12 15:18:50 +03:00
RipleyTom 17e6ad1fe8 Fix deref in cellSaveData log 2023-04-12 11:58:24 +02:00
nastys a3f077c783 Update build-mac.sh 2023-04-12 11:04:30 +02:00
Joshua de Reeper 86b3229746 Skylander Portal: Trap Team Audio Transfers 2023-04-11 20:04:51 +02:00
Ivan Chikish 06b0e35fb9 Update to LLVM 16.0.1
Fix Zen4+ AVX-512 detection
2023-04-11 12:13:09 +03:00
oltolm 6fbca1acfd remove unnecessary pointer bitcasts 2023-04-09 12:45:18 +03:00
brian218 f0e36c6365 Updated BUILDING.md according to the changes made by #13622 2023-04-08 08:36:25 +02:00
RipleyTom e9cb7000cc Fix BUILD_LLVM option 2023-04-08 08:05:13 +02:00
RipleyTom 0e8b0e414a Improve cellMic and sys_usbd thread scheduling 2023-04-07 23:36:32 +02:00
headassbtw ec3114d6d8
Add alternate 3D display modes (#13582) 2023-04-07 20:08:07 +02:00
Megamouse 60fc51ed22 cellGcm: add more enums 2023-04-07 19:40:21 +02:00
Megamouse 603b775f4a llvm: fix submodule path
- Use official llvm repo
- Move llvm to 3rdparty
- Ignore SPIRV submodules in CI
2023-04-07 18:25:59 +02:00
kd-11 964ce3d6aa rsx: Add a clip_width workaround for some buggy games 2023-04-07 12:39:23 +03:00
Ivan Chikish fb88e1c1c9 Update to LLVM 16.0.0, switch to upstream LLVM 2023-04-06 10:19:31 +03:00
Megamouse 7081b89e97 Update dependencies
Update wolfssl to v.5.6.0-stable
Update curl to v8.0.1
Update SDL to v2.26.4
2023-04-05 22:54:53 +02:00
Elad Ashkenazi c6ab1aa227
Fix emulator crash when stopping emulation after being paused (#13530) 2023-04-05 21:53:01 +02:00
brian218 8a509afc20 sys_fs: Implemented CELL_FS_PATH path-as-device support 2023-04-05 18:08:55 +02:00
brian218 6a95e0877b sys_fs: Fix warning C6262 2023-04-05 18:08:55 +02:00
brian218 28c37ab465 sys_fs & VFS: Misc bug fixes 2023-04-05 18:08:55 +02:00
Elad Ashkenazi 842edbcbe7
Add Qt Creator .autosave files to .gitignore (#13597) 2023-03-31 17:05:51 +03:00
Megamouse 3e556c710b cellMusicExport: first implementation 2023-03-31 15:25:21 +02:00
Megamouse 4289ffef1c cellPhotoExport: add funcFinish check 2023-03-31 15:25:21 +02:00
RipleyTom 0c051a83a7 Fix mic thread usage 2023-03-30 08:14:28 +02:00
kd-11 82dedb1fbb vk: Fix vendor detection for apple 2023-03-29 17:31:06 +03:00
kd-11 04c0f309be vk: Obey safe/unsafe hint for D16F emulation 2023-03-29 17:31:06 +03:00
RipleyTom 8408d51359 Increase delay for GHL and TT int transfers 2023-03-29 11:25:18 +02:00
Megamouse a8ada492b2 cellMic: fix registration index 2023-03-28 20:26:04 +02:00
Megamouse 55d6ee65ae cellAudio: silence cellAudioSendAck and add pseudo code for it 2023-03-28 20:26:04 +02:00
Megamouse 69ecf8aea7 cellAudio: re-use event_sources array 2023-03-28 20:26:04 +02:00
Megamouse f2b51668b4 cellMic: use fixed index for devices 2023-03-28 20:26:04 +02:00
Megamouse c2527c9e1b cellMic: wait for registration of multiple input devices 2023-03-28 20:26:04 +02:00
Megamouse 0bcd45c1d4 cellMic: add some additional error check and silence log spam 2023-03-28 20:26:04 +02:00
Megamouse ecf0022fd1 cellMicGetSignalState: fake some more values
Maybe this improves the mic signal even more
2023-03-28 20:26:04 +02:00
shinra-electric 4d4a70ad0e Update MoltenVK to 1.2.3 (Vulkan SDK 1.3.243) 2023-03-25 09:34:18 +01:00
RipleyTom 0f45a8c180 Fix inaccuracies pointed out by PVS-Studio 2023-03-25 08:45:30 +01:00
kd-11 ad3e740c09 vk: Separate vertex and fragment stage push constant updates for overlays 2023-03-23 21:14:23 +03:00
Elad Ashkenazi 7e6cc02e09
Fix an emulator crash in Emulator::SaveSettings (#13567) 2023-03-21 10:12:39 +01:00
RipleyTom 7000ef4471 Fix timeout spam from signaling 2023-03-19 22:31:50 +01:00
Eladash 0beda6fa89 Savestates: Fix deadlock on savestate load 2023-03-18 12:07:17 +03:00
Eladash a41d2e43fd cellFsReaddir: Fix termination sequence 2023-03-18 12:07:17 +03:00
RipleyTom c98158b460 Add buf_to_hexstring 2023-03-18 01:51:35 +01:00
RipleyTom 02a53c582c Invite changes 2023-03-18 01:51:35 +01:00
RipleyTom 192f4825a2 Fix recvn high cpu usage 2023-03-17 23:50:40 +01:00
RipleyTom bcce3acd5f Signaling: report status inactive on unknown connection 2023-03-17 17:58:56 +01:00
RipleyTom 8cd6b9275a Fix timestamps in signaling_handler 2023-03-17 17:07:25 +01:00
Megamouse 5fa9dfac6a Trophies: log more specific errors on install failure 2023-03-17 15:50:05 +01:00
RipleyTom fe51c7b960 Use relative urls in .gitmodules 2023-03-17 15:17:18 +03:00
oltolm cf5346c263 use new LLVM API in SPURecompiler 2023-03-12 10:11:06 +03:00
Ivan Chikish 776b3b5efa SPU LLVM: fix regression from #13500
Fixes #13526
2023-03-11 19:48:55 +03:00
oltolm 520524285a
llvm: update code to new API (#13500)
* llvm: update code to new API

* llvm: remove OLDLLVM define
2023-03-11 01:57:21 +03:00
RipleyTom ec8cb1668c Fix hid_pad_handler 2023-03-10 15:23:55 +01:00
RipleyTom 1b7b59466d Add missing spinning icon from resources 2023-03-09 22:34:23 +01:00
Elad Ashkenazi e45e9c20dd
PPU: Do not break on unexpected TOC (#13490) 2023-03-09 16:53:44 +03:00
RipleyTom 450cb1771c Add better error handling for RequestSignalingInfos 2023-03-08 18:25:26 +01:00
RipleyTom f7a3d45c2c Use NBIO for RPCN 2023-03-08 13:11:33 +01:00
Eladash 65eb625843 cellSaveData: Slow save completion 2023-03-07 13:01:21 +01:00
Megamouse c06b957a8a hid: try to fix linux 2023-03-06 14:36:14 +01:00
Megamouse 05064dfaf4 cellVdec: revert RGBA alignment change 2023-03-05 22:49:49 +01:00
Megamouse 425610b98a Use win_error for WSAGetLastError 2023-03-05 22:49:49 +01:00
Megamouse 0d34b97948 overlays: apply message fade in during lifetime extension if necessary 2023-03-05 02:55:59 +01:00
Megamouse c6426245e4 overlays: refresh existing compile message expiration 2023-03-05 02:55:59 +01:00
Megamouse 6fe41870ab overlays: properly remove outdated messages from the queue.
Fixes zombie item glitch if a newer message has shorter duration than the older message
2023-03-05 02:55:59 +01:00
Megamouse 2d4e02f277 overlays: add ppu compile message if the progress dialog is unavailable 2023-03-05 02:55:59 +01:00
Megamouse 6d7d3fff6d Improve some decryption log messages 2023-03-05 02:55:59 +01:00
Megamouse cc145eaf2e patches: fix move_file/hide_file error 2023-03-04 19:18:36 +01:00
Megamouse da6d1d359c hid/ds4: add logging for PID and VID 2023-03-04 19:18:36 +01:00
Megamouse 92ae57c9ee Windows: log more descriptive errors 2023-03-04 18:34:56 +01:00
Megamouse 8409979dc5 Qt: Disable some network settings in global config. Re-enable RPCN in global config. 2023-03-04 18:34:56 +01:00
Elad Ashkenazi 8bc92a2cbb
VFS: Fix mounting non-existant paths (#13488) 2023-03-04 17:12:45 +01:00
RipleyTom 2de4c03faa Fix wolfssl connect 2023-03-03 22:51:01 +01:00
Eladash 382a7c94a2 Patches: Virtual move/remove game files patches 2023-03-03 20:56:11 +01:00
Megamouse 1d7a00666e rpcn: throw exception when using rpcn features without a proper config 2023-03-03 11:30:39 +01:00
Megamouse 14c0289542 Qt: disable psn setting in global settings
Also move some common code to helper functions
2023-03-03 09:05:30 +01:00
Megamouse 69ebdfd689 cellMic: random improvements 2023-03-03 08:27:42 +01:00
Megamouse fc21ece784 pkg install: return correct error if possible. Add more early outs and skip workers on error, 2023-03-02 23:27:20 +01:00
kd-11 a3ededdcf1 rsx: Implement deferred buffer allocations for GPU write 2023-03-02 12:48:58 +03:00
Ani 0178b20983 rpcs3_version: Bump to 0.0.27 2023-03-01 21:56:02 +00:00
JoãoPaulo f9142a1c56 Update FW 4.90 Latest Version
Updates the latest FW version according to: https://www.playstation.com/en-us/support/hardware/ps3/system-software/
List of changes:
This system software update improves system performance.
2023-03-01 20:25:24 +01:00
oltolm b19209c45c [3rdparty] update cubeb 2023-03-01 18:03:55 +01:00
Megamouse 73b5b9d7b7 cellRtc: fix out of bounds write
Turns out you should listen to warnings once in a while...
sprint actually wrote more than 3 characters into the microDigits buffer !!!
2023-03-01 10:15:21 +01:00
kd-11 0a9d646bd7 rsx: Workaround for clang build 2023-03-01 01:10:06 +03:00
kd-11 24edfe2190 rsx: Use simple_array for basic array of integers
- Some methods are getting spammed every draw call
2023-03-01 01:10:06 +03:00
kd-11 0bb8127372 rsx: Use emplace when constructing in-place.
- Unexpectedly high gains for msvc builds. GCC doesn't care, clang shits itself.
2023-03-01 01:10:06 +03:00
kd-11 1b8a69154f rsx: Use non-owning container to ellide a derpy allocation with msvc 2023-03-01 01:10:06 +03:00
illusion0001 f2155b49e2
Debugger: show CIA in register view (#13462) 2023-02-28 00:30:23 +01:00
Eladash 62c9b99e72 Update SPUThread.cpp 2023-02-27 14:17:05 +01:00
Elad Ashkenazi 2a344e1d87 cellMsgDialog: fix use-after-free 2023-02-27 14:17:05 +01:00
Megamouse ae14aa991d overlays: hotfix for return_code lifetime 2023-02-27 12:04:10 +01:00
Megamouse 2885c8a4ab cellSaveData: get rid of g_last_user_response 2023-02-27 10:24:06 +01:00
Megamouse 3d411431c6 input: disable ldd home menu for now 2023-02-26 22:17:55 +01:00
oltolm 1800faf0dd cellVdec.cpp: use lock_unlock instead of lock_guard 2023-02-26 22:20:07 +03:00
oltolm 19ded3809f fix out-of-bounds in VKGSRenderTypes.hpp 2023-02-26 22:20:07 +03:00
oltolm 40cd255051 fix: back() called an empty string in PPUThread.cpp 2023-02-26 22:20:07 +03:00
oltolm ad4677a67c fix use after move in cellVdec.cpp 2023-02-26 22:20:07 +03:00
RipleyTom d9e0d016c6 Fix for Windows ENOTCONN on connecting socket
Fixes Windows returns ENOTCONN when using recvfrom/sendto on connecting socket instead of the expected EAGAIN.
2023-02-26 10:35:20 +01:00
kd-11 c570fd03d1 rsx/overlays: Handle corner case where thread signal happens just before pop_all is called. 2023-02-26 02:30:16 +03:00
kd-11 1e0565f17b rsx/overlays: Fix emu close 2023-02-26 02:30:16 +03:00
Megamouse 3ff464641a Fix Visual Studio 17.5.0 compilation
For some reason there's an internal compiler error related to atomic wait.
I could work around this issue when I commented "mask = default_mask<X>;".
So after playing around a bit I had the suspicion that the VS parser can't handle some of the templatization.
Giving the decltype its own alias seems to fix this issue (and makes the code a bit more readable anyway in my opinion).
2023-02-25 19:20:55 +03:00
Megamouse 7cb3d305d4 main: set locale to C before doing anything else 2023-02-25 11:23:07 +01:00
Megamouse e46dba43ad config: try to fix float locale issues 2023-02-25 11:23:07 +01:00
Megamouse afad96a52a Qt: try to fix QString::toDouble locale nonsense 2023-02-25 11:23:07 +01:00
RipleyTom 1a00341e6b Forces local IP to bind address if set 2023-02-25 10:38:19 +01:00
kd-11 3388c8ed09 overlays/manager: Explicit ctor for the input context 2023-02-24 00:46:53 +03:00
kd-11 6d4967ffef [overlays] Implement input suspend+resume
- Tested with OSK + home menu. Requires hacks to enable this setup so it's mostly an academic achievement.
2023-02-24 00:46:53 +03:00
kd-11 b27366e1e6 rsx/overlays: Enable input hijacking 2023-02-24 00:46:53 +03:00
kd-11 95a29b5d1d rsx/overlays: Fix clang/msvc build 2023-02-24 00:46:53 +03:00
kd-11 d320867569 rsx/overlays: Add a name to the input thread context 2023-02-24 00:46:53 +03:00
kd-11 aabd388070 rsx/overlays: Remove some unused thread declarations 2023-02-24 00:46:53 +03:00
kd-11 7db6594358 rsx/overlays: Use lf_queue for a lock-free stack implementation 2023-02-24 00:46:53 +03:00
kd-11 388ca1c645 rsx/overlays: Fix build 2023-02-24 00:46:53 +03:00
kd-11 7c04b00e2b rsx/vk: Remove stale include 2023-02-24 00:46:53 +03:00
kd-11 dac0644f07 rsx/overlays: Fill in the user response when message dialog input loop exits and we're in blocking mode
- Avoids a race condition caused by the "blocking" call only updating results on cleanup/close
2023-02-24 00:46:53 +03:00
kd-11 7d103fe0f0 rsx/overlays: Fix crash 2023-02-24 00:46:53 +03:00
kd-11 901d9f3f6e rsx/overlays: Simplify attach-thread-input API
- Restructure the inputs to encourage shorter input signature.
2023-02-24 00:46:53 +03:00
kd-11 ddc9e74aa8 rsx/overlays: Putting it all together
- Migrate dialogs with input-only threads to use the unified input
  system
2023-02-24 00:46:53 +03:00
kd-11 12690de9de rsx/overlays: Refactor and implement callbacks for input token 2023-02-24 00:46:53 +03:00
Megamouse 6b30cdac09 Use u64 for system_time_t, as s64 doesn't make much sense in a microsecond context. 2023-02-22 23:57:20 +01:00
Megamouse ccb7528a59 fix some warnings 2023-02-22 23:57:20 +01:00
Ivan Chikish 01ed8a07af fixed_typemap.hpp: static allocation for m_init
This allows to safely call is_init<T>() at any time.
2023-02-23 00:54:35 +03:00
Megamouse a9f399d6cc patch_manager: fix focus loss during config value editing 2023-02-22 01:17:36 +01:00
Megamouse a527a485f8 patch_manager: add more decimal places to spinbox 2023-02-22 01:17:36 +01:00
Megamouse f0c8f6d47b patch_manager: check config values before applying them 2023-02-22 01:17:36 +01:00
Megamouse a29dc3893f patch_manager: change wording 2023-02-22 01:17:36 +01:00
Megamouse c6f392bf6c patch_manager: allow multiple dynamic values 2023-02-22 01:17:36 +01:00
Megamouse f2ded2fdb7 patch_manager: Add dropdown labels 2023-02-22 01:17:36 +01:00
Megamouse 080737fd1f patch_manager: add more dynamic to dynamic patches 2023-02-22 01:17:36 +01:00
Megamouse 1040757556 patch_manager: add ability to add dynamic patches 2023-02-22 01:17:36 +01:00
Megamouse 38d612e5ba fix some warnings 2023-02-22 00:15:11 +01:00
Megamouse c20aa2ad5f VS: fix miniupnp dependency 2023-02-22 00:15:11 +01:00
Megamouse a7c3753c5a cellMsgDialog: Improve some logging and localization 2023-02-21 23:35:13 +01:00
Megamouse ebf72eb126 overlays: add internal lock for progress bar texts 2023-02-21 23:35:13 +01:00
Megamouse be49a80bc7 overlays: use array for progress bars 2023-02-21 23:35:13 +01:00
brian218 23da770364 sys_game: LV2 board storage minor fixups 2023-02-21 22:57:37 +01:00
RipleyTom 6186ac0245 rpcn: signaling handler improvements & upnp
Simplify signaling by making Matching2 a layer over normal signaling.
Implements UPNP port forwarding
Implement sceNpMatching2AbortRequest
Fix reported bw in sceNpUtil
Hack for Fat Princess binding udp on 3658
Reenable CB for sceNpBasicAddPlayersHistoryAsync
Misc fixes
2023-02-21 15:41:41 +01:00
Megamouse 364c33060b Fix boot by RPCS3_GAMEID constants 2023-02-20 22:53:22 +01:00
Elad Ashkenazi 3922f76ab5
PINE: Fix crash on exit (#13409) 2023-02-20 09:59:40 +01:00
Megamouse bb2c9196f5 cellVdec: align RGBA/ARGB strides 2023-02-18 22:43:22 +01:00
Megamouse 1c8d3e0dca cellVdec: fix au_count race condition 2023-02-18 15:31:21 +01:00
Megamouse 6b556a5206 PINE: fix error format function 2023-02-17 19:33:58 +01:00
oltolm bbd308a908 fix order of static initialization: add comment 2023-02-17 11:58:40 +03:00
oltolm b5b8f7c35a fix order of static initialization 2023-02-17 11:58:40 +03:00
Megamouse de592267fe Create TEST12345/USRDIR for test elfs 2023-02-16 20:51:57 +01:00
Margen67 5bb89328d0 Remove whitespace 2023-02-15 08:58:02 +01:00
Megamouse 75fbb3d551 Qt: save last gs_frame screen and re-use it in no-gui mode 2023-02-14 08:03:26 +01:00
Megamouse eb0fb2fef7 Qt/CLI: Add option to select a screen for the game window 2023-02-14 08:03:26 +01:00
Megamouse b1b92e95ab Qt: move fullscreen cli arg from global to gs_frame 2023-02-14 08:03:26 +01:00
Megamouse 3a68b7ac0d Fix C00 boot from external HG games 2023-02-13 07:31:58 +01:00
Eladash 3976018980 Debugger: Print error codes stored in GPR 2023-02-12 23:10:20 +01:00
Megamouse 1dac708323 cellPad: move CellPadData to pad_types for convenience 2023-02-12 17:04:31 +01:00
Megamouse d4187242b9 cellPad/vsh: fix PS button recognition 2023-02-12 17:04:31 +01:00
Megamouse 61c0d81667 cellPad/vsh: fix sixaxis interaction
This allows you to influence the particles in the XMB
2023-02-12 17:04:31 +01:00
Megamouse c3e4b6da46 cellPad: allow opening the home menu with ldd pads
Speculative
2023-02-12 17:04:31 +01:00
Megamouse 38c7cf474d cellPad: add sanity check for indices in cellPadLdd functions 2023-02-12 17:04:31 +01:00
Megamouse ec4cbe5380 cellPad: simplify some code 2023-02-12 17:04:31 +01:00
Vestral 465ca97531 Fix displaying of audio device when it's disconnected 2023-02-10 04:19:20 +01:00
Megamouse 2f7a2d5134 Update hidapi from 0.13.0 to 0.13.1 2023-02-09 23:34:07 +01:00
Megamouse c1b5af21f0 Update SDL from 2.26.2 to 2.26.3 2023-02-09 23:34:07 +01:00
Megamouse cfb788941c overlays: review fixes 2023-02-09 20:36:35 +01:00
Megamouse 69435dd951 overlays: Fix linux compilation 2023-02-09 20:36:35 +01:00
Megamouse 3b09a39576 overlays: fix home menu date format 2023-02-09 20:36:35 +01:00
Megamouse 53f81ce9c7 overlays: fix home menu entry center alignment 2023-02-09 20:36:35 +01:00
Megamouse e064380a7d overlays: add message box to home menu 2023-02-09 20:36:35 +01:00
Megamouse 9375e255e1 overlays: add pages to home menu 2023-02-09 20:36:35 +01:00
Megamouse a56fc57a83 evdev: allow more buttons on sony guitar 2023-02-09 18:09:07 +01:00
Megamouse 4f75dc06b9 evdev: optimize get_next_button_press pad id check 2023-02-09 18:09:07 +01:00
Megamouse d3b7a5146c rsx_debugger: replace malloc with buffer cache
This also fixes a memory leak.
2023-02-09 00:02:43 +01:00
Megamouse bc487f43f7 cli: Add option to boot a game with a specific pad profile 2023-02-08 21:54:51 +01:00
Megamouse 088ac71930 cli: allow to start games in fullscreen
Technically this can be done through configs, but since it is easy to do, let's just add the cli option.
2023-02-08 21:54:51 +01:00
Eladash 27cad422b9 cellGame: Truncate excess of characters in TITLE_ID
In cellGameDataCheckCreate
2023-02-07 18:21:18 +03:00
Megamouse 5a63271f0e Fix openGl overlay colors 2023-02-07 13:40:47 +01:00
kd-11 9a35684507 rsx: Don't accept garbage shader input 2023-02-07 13:51:26 +03:00
RipleyTom 0d2714a1d9 FAudio cmake fix 2023-02-07 08:54:41 +01:00
Megamouse 553e4b28bf Disable 3rdparty FAudio if the SDL version is not available 2023-02-06 21:41:20 +01:00
Megamouse b579e45ed7 Update SDL download link 2023-02-06 21:41:20 +01:00
Megamouse 1662bcfae4 Qt: add copy context menu entry to log viewer 2023-02-06 20:43:53 +01:00
Elad Ashkenazi 8652b7d358
cellVdec: Fix AU decode count on callback (#13342) 2023-02-05 13:02:51 +01:00
Megamouse 1cf8aacc11 CLI: add option to boot rsx capture 2023-02-05 11:47:08 +01:00
Megamouse 13ef4c1236 Clarify unknown type log message 2023-02-05 09:36:56 +01:00
Megamouse 68dd25a4a5 Replace std::filesystem::u8path with TODO 2023-02-05 09:36:56 +01:00
Megamouse bcb1c6c080 Fix package installation exit condition after error occured 2023-02-05 09:36:56 +01:00
Megamouse 2372116acc Improve logging during package installations 2023-02-05 09:36:56 +01:00
kd-11 508dd2b509 rsx: Formatting change 2023-02-05 01:30:20 +03:00
kd-11 61b69eeed2 rsx/overlays: Force disable rounded rectangles on macOS 2023-02-05 01:30:20 +03:00
kd-11 dc8652806e rsx/overlays: Support disabling vertex-snap on a per-draw-call basis 2023-02-05 01:30:20 +03:00
kd-11 af6db7d895 rsx/overlays: Remove workaround no longer required 2023-02-05 01:30:20 +03:00
kd-11 64ec99be33 rsx: Unify UI rendering shaders 2023-02-05 01:30:20 +03:00
brian218 53e906d0f3 sys_game: Implemented sys_game_board_storage_write() & Made it modifiable 2023-02-04 22:19:59 +01:00
Elad Ashkenazi 780a6a7b40
sys_prx: Fix PRX module filename reading (#13339) 2023-02-04 21:24:24 +01:00
RipleyTom 737fbf661a Add more disconnected limitations in sys_net 2023-02-04 20:33:21 +01:00
kd-11 c0243a92d0 rsx/overlays: Re-export spinner
Fixes some incorrect black pixels
2023-02-04 17:36:09 +01:00
Megamouse 3a8fcd1b0b Update wolfssl from 5.5.0 to 5.5.4 2023-02-04 16:57:22 +01:00
Megamouse 04d9693b51 Update FAudio from 22.08 to 23.02 2023-02-04 16:57:22 +01:00
Nicolas Adenis-Lamarre 0023716053 - fix analog_t required for some games
- changing mapping to better fit to games (for example, select is rarely used)

Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2023-02-04 16:10:40 +01:00
kd-11 37b46df738 rsx/overlays/message-queue: Do not fade albedo, only alpha 2023-02-04 16:08:20 +03:00
illusion0001 ba06198012 GUI: Remove ANSI color code from TTY 2023-02-04 10:51:19 +01:00
Elad Ashkenazi acf9caa4ae
Game list: Use the latest game icon instead of 1.00's (#13340) 2023-02-04 07:41:30 +01:00
Megamouse d69e345bc0 SDL: Fix button presses
SDL currently always returns 1 if a button is pressed
2023-02-03 18:24:54 +01:00
Megamouse c5b25fa132 Remove obsolete shader compilation hint settings 2023-02-03 09:27:04 +01:00
kd-11 262ecda2bf rsx/overlays: Cache the loading animated icon
Smooths out some frametime spikes when showing the notification message
2023-02-03 09:13:27 +03:00
kd-11 f243539362 rsx/overlays: Make animation caching possible 2023-02-03 09:13:27 +03:00
kd-11 ec33891f6f rsx/overlays: Work around some commitee grandstanding shenanigans
ffs: https://bugs.launchpad.net/ubuntu/+source/gcc-8/+bug/1831385
2023-02-03 09:13:27 +03:00
kd-11 f007188fa0 rsx/overlays: Minor fixups 2023-02-03 09:13:27 +03:00
kd-11 170fd813f0 rsx/overlays: Ellide redundant clock read 2023-02-03 09:13:27 +03:00
kd-11 4c59359cf7 rsx/overlays: Add time unit to some measured variables 2023-02-03 09:13:27 +03:00
kd-11 ddf25b7869 rsx/overlays: Shorten notification fadeout 2023-02-03 09:13:27 +03:00
kd-11 4914f3b2c3 rsx/overlays: Fix msvc project files 2023-02-03 09:13:27 +03:00
kd-11 08faed7d86 rsx/overlays: Naming sense 2023-02-03 09:13:27 +03:00
kd-11 989e0f28d6 rsx/overlays: Remove redundant resize 2023-02-03 09:13:27 +03:00
kd-11 54f41095e9 rsx/overlay: Some cleanup in animated icon class 2023-02-03 09:13:27 +03:00
kd-11 faaa72d398 rsx: Reverse declaration order for animated icon 2023-02-03 09:13:27 +03:00
kd-11 97b36eb53c cmake: Add shader compile notification to build system 2023-02-03 09:13:27 +03:00
kd-11 2503525016 rsx/overlays: Move shader compiling notification to a separate cpp file 2023-02-03 09:13:27 +03:00
kd-11 e96fedfefe rsx/overlays: Darken background a bit 2023-02-03 09:13:27 +03:00
kd-11 f279d8d6d1 rsx: Lower shader notification duration to 5 seconds 2023-02-03 09:13:27 +03:00
kd-11 4bfba20877 rsx: Remove unnecessary debug pragma 2023-02-03 09:13:27 +03:00
kd-11 504bd93007 rsx: Implement overlay message queue stacking 2023-02-03 09:13:27 +03:00
kd-11 2f2fe72808 ui: Add 24x24 loading animation 2023-02-03 09:13:27 +03:00
kd-11 5babf47e70 build: Fix linux build 2023-02-03 09:13:27 +03:00
kd-11 78a588cacb rsx: Use animated icon and message queue for shader compiler notifications 2023-02-03 09:13:27 +03:00
kd-11 205f8a6479 rsx: Fix message queue order and positioning 2023-02-03 09:13:27 +03:00
kd-11 34c1e1a9ad rsx: Add support for rounded rectangles 2023-02-03 09:13:27 +03:00
kd-11 0885884839 rsx: Implement notification queue 2023-02-03 09:13:27 +03:00
Elad Ashkenazi c471120a80
System.cpp: Do not create VFS directories outside of RPCS3 dir (#13311) 2023-01-29 11:29:26 +01:00
Megamouse 3202cc7021 overlays/osk: fix y offset direction facepalm 2023-01-28 23:13:51 +01:00
Megamouse fc34b3f144 cellOskDialog: improve kb event hook callback 2023-01-28 21:51:36 +01:00
Megamouse fb974a4551 overlays/osk: clear on enter 2023-01-28 21:51:36 +01:00
Megamouse 3d99fea575 overlays/osk: Do not render preview background in separate windows mode 2023-01-28 21:51:36 +01:00
Megamouse feb04c64a8 overlays/osk: show dialog on key input 2023-01-28 21:51:36 +01:00
Megamouse d3dbf9e83f overlays/osk: Clear text properly in continuous mode 2023-01-28 21:51:36 +01:00
Megamouse 9b6d7a5275 cellOskDialog: don't wait for osk event_hook_callback 2023-01-28 21:51:36 +01:00
Megamouse 754fd03750 overlays/osk: hide title in separate window mode 2023-01-28 21:51:36 +01:00
Megamouse adfa5d63bb overlays/osk: fix dialog positioning 2023-01-28 21:51:36 +01:00
Megamouse 81ff956a48 cellOskDialog: use getter instead of weak_ptr 2023-01-28 21:51:36 +01:00
Megamouse daefe27fec overlays: allow keyboard input if pads are intercepted 2023-01-28 21:51:36 +01:00
Megamouse 6106ff8b31 overlays/osk: fix cellOskDialogExtInputDeviceLock 2023-01-28 21:51:36 +01:00
Megamouse 1e6c180690 overlays: don't flip if the overlay is invisible 2023-01-28 21:51:36 +01:00
Megamouse d1a950d59f overlays/osk: keep dialog open in continuous mode 2023-01-28 21:51:36 +01:00
Megamouse 641fadc1fb overlays/osk: handle input device change 2023-01-28 21:51:36 +01:00
Megamouse 5299061282 overlays/osk: visualize separate windows 2023-01-28 21:51:36 +01:00
kd-11 d0c029c83e rsx: Ignore bad face mode configuration 2023-01-28 21:11:32 +03:00
Eladash 5aced2e44b Print LV2 Syscall Usage only if increased since last print 2023-01-28 17:21:45 +01:00
Ani 18ab42dc83 readme: Remove Azure, rename Cirrus CI badges 2023-01-28 14:43:54 +01:00
Jan Beich a748508bc9 evdev_gun: enable udev code on BSDs
libudev is supported on DragonFly and FreeBSD, similar to libevdev.
NetBSD and OpenBSD can simply disable both via -DUSE_LIBEVDEV=OFF.

This reverts commit 337ee77a99.
2023-01-28 12:35:42 +00:00
shinra-electric 8b453e6a3b Update MoltenVK to 1.2.2 (VK 1.3.239) 2023-01-28 11:52:11 +00:00
Jan Beich 3196ada481 vk: Drop deprecated (239) and removed (240) header
In file included from rpcs3/Emu/System.cpp:55:
rpcs3/Emu/RSX/VK/VulkanAPI.h:17:10: fatal error: 'vulkan/vk_sdk_platform.h' file not found
 #include <vulkan/vk_sdk_platform.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~
2023-01-28 01:26:12 +01:00
RipleyTom 7c4734c24d Fix SDL CMake warnings 2023-01-27 17:02:13 +01:00
Malcolm Jestadt 813f7b50c1 SPU LLVM: Minor SUMB AVX-512 path optimization
- Tweak shuffle to allow LLVM to emit a cheap blend instruction instead of the expensive VPERMI2W instruction
2023-01-27 13:06:48 +03:00
Megamouse 6532d2b650 input: fix dynamic pad handler mode reset 2023-01-27 00:13:20 +01:00
Megamouse e0baad417a perfoverlay: fix minimal graph min/max calculation 2023-01-27 00:13:20 +01:00
Megamouse f6759de1e9 Qt: fix vfs dialog usb tab cast 2023-01-26 21:33:39 +01:00
brian218 7648171fe2 sys_usbd: Improved usb_handler_thread timing 2023-01-26 15:52:45 +01:00
brian218 71c3264ea7 USIO: Always resize the response vector to the given size 2023-01-26 15:52:45 +01:00
brian218 49455965c0 sys_game: Implemented sys_game_get_rtc_status() & Updated sys_game_board_storage_read() 2023-01-26 15:52:45 +01:00
kd-11 5f0467b084 rsx: Remove framebuffer_status_valid flag and move to state 2023-01-26 11:42:39 +03:00
kd-11 6adcabda29 rsx: Fix graphics state foot-gun 2023-01-26 11:42:39 +03:00
Anton Kourganov 52b67b46fc
Allow unbinding pad buttons by right clicking (#13283) 2023-01-23 22:00:08 +01:00
MSuih a700e3b39e Whitelist EA Active 2 accessories 2023-01-23 17:02:51 +01:00
Egor Romanovskiy 4fbbdf8732 sys_usbd: fix usb handler deinitialization 2023-01-23 12:32:09 +01:00
Elad Ashkenazi 9a91fef337
Deprecate HDD0/disc, make RPCS3/games movable (#13265) 2023-01-23 08:00:46 +01:00
nastys 53cc067c17
macOS CI: move to AArch64 VM (x64 builds) (#13155) 2023-01-21 21:21:41 +01:00
Megamouse d3183708e8 overlays: do not open home menu in VSH 2023-01-21 09:11:53 +01:00
Megamouse 44771150b7 overlays: add simple home menu 2023-01-21 09:11:53 +01:00
Megamouse ac2b2d82d2 overlays/osk: move pointer variables to fxo 2023-01-20 23:41:56 +01:00
Megamouse 11c42eb8d4 overlays/osk: add analog movement if CELL_OSKDIALOG_NO_INPUT_ANALOG is unset 2023-01-20 23:41:56 +01:00
Megamouse dc0230c476 overlays/osk: Fix layout and positioning 2023-01-20 23:41:56 +01:00
Megamouse 0a8c343e6e cellOskDialog: cellOskDialogSetSeparateWindowOption 2023-01-20 23:41:56 +01:00
Megamouse afdbef1a81 cellOskDialog: improve dictionary functions 2023-01-20 23:41:56 +01:00
Megamouse f659338e5e overlays/osk: implement first osk pointer 2023-01-20 23:41:56 +01:00
Megamouse 4a82d81efe overlays/osk: implement scaling 2023-01-20 23:41:56 +01:00
Megamouse 6b4208be9b overlays/osk: align osk position 2023-01-20 23:41:56 +01:00
Megamouse 3d78c7f43a cellOskDialog: fix error check and improve initialKeyLayout logic 2023-01-20 23:41:56 +01:00
Megamouse 34df4509af overlays/osk: implement "support languages"
Some languages/panels in the osk need to be activated by the developer.
They are not available otherwise.
So let's check if they were pre-configured and only add the panels if they are supported.
2023-01-20 23:41:56 +01:00
brian218 6c3b2b938a Fix emucore.vcxproj.filters 2023-01-20 13:05:33 +03:00
Egor Romanovskiy 59588b12c8 Fix BUILDING.md Vulkan SDK Version 2023-01-19 23:35:00 +01:00
Jan Beich 3eaa29e7c2 Thread: silence -Wsign-compare on FreeBSD aarch64
Utilities/Thread.cpp:1805:48: error: comparison of integers of different signs: 'uptr' (aka 'unsigned long') and '__register_t' (aka 'long') [-Werror,-Wsign-compare]
        const bool is_executing = uptr(info->si_addr) == RIP(context);
                                  ~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~
2023-01-19 18:49:06 +03:00
brian218 c3c2bb7ad8 USIO: Do not crash simply due to invalid commands 2023-01-18 08:09:35 +01:00
brian218 0e64c74a78 sys_usbd: Added buffer null check for sys_usbd_transfer_data() 2023-01-18 08:09:35 +01:00
brian218 d2dc57585c sys_fs: Improved sys_fs_fcntl(0xc0000015&0xc000001c) 2023-01-18 08:09:35 +01:00
brian218 e0fe7989e9 USB: Added VFS USB mass storage devices to the USB device list 2023-01-18 08:09:35 +01:00
Megamouse 709305df0e overlays: fix indentation 2023-01-18 00:24:00 +01:00
Megamouse 24445123fc Recording: Fix possible encoder segfault 2023-01-18 00:24:00 +01:00
Megamouse 450a64b58b cellUserInfo: fix potentially locked user dialogs 2023-01-18 00:24:00 +01:00
Megamouse b3a9c8d83f input: move config getters to base class 2023-01-17 02:01:03 +01:00
Megamouse 35c92723c7 input: fix ds4 led/rumble in pad settings 2023-01-17 01:07:57 +01:00
kd-11 719e7a9d56 rsx: Fix inadvertent signal override for MSAA 2023-01-17 02:24:21 +03:00
kd-11 eed9e56bf4 rsx: Allow vertex fetch from uninitialized register 2023-01-17 02:24:21 +03:00
Megamouse 1d214ed26a Qt: add system cmd dialog 2023-01-16 17:26:05 +01:00
Megamouse 2d9d92b7d7 Qt: Remove CELL_SYSUTIL_SYSTEM_MENU_CLOSE menu option
This never made any sense
2023-01-16 17:26:05 +01:00
xperia64 240cb2d627 Add output scaling filtering options, migrate FSR checkbox to these options 2023-01-16 13:52:51 +01:00
kd-11 bd69466e94 rsx: Fix some pipe state signal propagation routines 2023-01-16 15:20:53 +03:00
Elad Ashkenazi e6a7597444
PRX/savestates/VSH: Associate PRX with library, fix VSH browser (#13221)
* PRX/savestate:s Associate PRX with library

* VFS/Savestates: Fix host_root resolving

* Savestates: Fix segfault in ppu_initialize

* SPU: Avoid some log spam

* VSH/sys_vm: Fix limit on root processes
2023-01-15 23:12:54 +03:00
Megamouse 1852b370d7 Qt: Allow users to create shortcuts for existing bootable entries even after canceling the installation 2023-01-11 19:26:13 +01:00
Megamouse 12fa7c41f6 Qt: more package install fixes
- Clean directories if fill_path fails
- Fix check_target_app_version when installing multiple packages (compromise: no more optimized singular file installs for now)
2023-01-11 19:26:13 +01:00
Megamouse fc85ed8730 Qt: fix some package install cancellation issues
- Abort installation if any thread has errors
- Only clean the directories of packages that actually had errors
- Additionally clean the directories of packages that were cancelled before they could finish
- Clear boot path in case of error or cancelation
- Propagate result to caller
- Skip success message if the installation was canceled
2023-01-11 19:26:13 +01:00
Megamouse 65f10ff840 package_reader: fix some warnings 2023-01-11 19:26:13 +01:00
kd-11 6809d84a00 vk: Bump max number of suppported inline draw calls to 32k
- Surprisingly some games actually exhaust the entire 16k pool causing slowdown
2023-01-11 16:48:53 +03:00
kd-11 2752cd1390 rsx/vk: Fix some problems with dynamic state updates 2023-01-11 16:48:53 +03:00
kd-11 10b56415e8 vk: Avoid loading the whole dynamic state properties if only the shader changed
- Handles a common case where a game engine switches materials but uses the same configuration
  e.g rendering two types of wall or ground may need different shaders but similar state properties
2023-01-11 16:48:53 +03:00
kd-11 bd87c80943 rsx: Simplify the debug overlay print text routines.
- Greatly simplifies adding text
2023-01-11 16:48:53 +03:00
kd-11 f71e7ef1cc vk: Switch programs if the primitive type changed
- This will change when EXT_dynamic_state is integrated
2023-01-11 16:48:53 +03:00
kd-11 756ad17c2c Fix GCC11 compilation 2023-01-11 16:48:53 +03:00
kd-11 29c1b20b41 Fix compilation 2023-01-11 16:48:53 +03:00
kd-11 aa5097e0d4 glsl: Update fog enums in shaders 2023-01-11 16:48:53 +03:00
kd-11 2ccfee2e45 rsx: Propagate decode failures up the chain.
- Dumping invalid data should not crash
2023-01-11 16:48:53 +03:00
kd-11 bf1311b902 Fix GCC compilation 2023-01-11 16:48:53 +03:00
kd-11 71efb3bc84 rsx: Use gcm cast to handle input enum validation 2023-01-11 16:48:53 +03:00
kd-11 439bdde849 rsx: Fix printing of expected values 2023-01-11 16:48:53 +03:00
kd-11 c7fed20f3c vk: Short-circuit program load if state did not change
- TODO: Incorporate VK_EXT_extended_dynamic_state
2023-01-11 16:48:53 +03:00
kd-11 3dd6e5664c rsx: Do not call a dynamic function to simply test-and-set. Do it inline. 2023-01-11 16:48:53 +03:00
kd-11 d4ee308ffd vk: Fix rare crash when handling mixed depth format types 2023-01-11 16:48:53 +03:00
kd-11 a272f3e3b9 rsx: Improve performance by using an integral type to indicate error 2023-01-11 16:48:53 +03:00
kd-11 f6027719d2 rsx: Fix vertex decode 2023-01-11 16:48:53 +03:00
kd-11 38402e78c0 rsx: Fixup vertex enums in shaders 2023-01-11 16:48:53 +03:00
kd-11 eae1ac6558 refactor: Fix build 2023-01-11 16:48:53 +03:00
kd-11 0b019401bd Refactor gcm enums 2023-01-11 16:48:53 +03:00
kd-11 73cda2324a rsx/lv2: Refactor DMA control stuff after VSH work 2023-01-11 16:48:53 +03:00
kd-11 3dba894369 rsx: Minor refactoring RSXThread
- Part 1 of many
2023-01-11 16:48:53 +03:00
brian218 659ee81e80 USIO: Backup file fixup 2023-01-11 09:10:09 +01:00
Megamouse 99c307a68e Qt: move progress indication to own handler 2023-01-11 05:43:34 +01:00
Megamouse d28eea342a Qt: use play_sound callback instead of QSound 2023-01-10 20:57:32 +01:00
Megamouse 29078bc428 cellMouse: decrease some log levels 2023-01-10 20:57:32 +01:00
Megamouse 6bcb5ae66b Fix some includes and warnings 2023-01-10 20:57:32 +01:00
brian218 cf1e68fb0e USIO: Emulation Performance Optimization 2023-01-10 21:35:12 +03:00
Megamouse 43288a6760 Qt: add shortcut manager 2023-01-10 19:28:26 +01:00
UltraHDR 9ee7d04560 Set LSApplicationCategoryType to games
https://developer.apple.com/documentation/bundleresources/information_property_list/lsapplicationcategorytype
This makes it show up in the macOS Launchpad Games folder
2023-01-10 20:53:43 +03:00
Megamouse 16bf215d8a pine: fix some warnings 2023-01-10 19:51:25 +03:00
Megamouse 99ed77da8c pine: simplify writing strings 2023-01-10 19:51:25 +03:00
Megamouse b9f733c401 pine: replace goto with lambda 2023-01-10 19:51:25 +03:00
Megamouse 18966d424c Input: ignore F11 in keyboard pad handler (starts/stops recordings) 2023-01-09 21:06:51 +01:00
Megamouse c725b886e1 Qt: Disable ESC to exit fullscreen if kb shortcuts are disabled 2023-01-09 21:06:51 +01:00
Megamouse 9b7eaf5117 Improve error logging 2023-01-09 21:06:51 +01:00
Elad Ashkenazi 36a55660bf
Unbreak BSD 2023-01-09 20:20:13 +01:00
Elad Ashkenazi 0946e5945f
VSH Improvements (#13172)
* sys_prx: Implement PRX LIB register syscall

* VSH: partial log spam fix

* sys_process reboot fix

* Implement sys_memory_container_destroy_parent_with_childs

* sys_net: Implement SO_RCVTIMEO/SO_SENDTIMEO

* VSH: Implement sys_rsx_context_free

* PPU LLVM: distinguish PPU cache exec also by address

Fixes referencing multiple PRX.

* UI: Do not report size of apps inside /dev_flash
2023-01-09 20:03:01 +03:00
Ani 8ec1a5627d AppImage: Do not bundle libgmodule-2.0 and libglib-2.0 2023-01-09 08:19:53 +01:00
Ani df718bcb0f rpcs3_version: Bump to 0.0.26 2023-01-07 22:47:41 +00:00
Eladash 8eefbcae45 VSH/UI: Add VSH to game grid
* Custom VSH config.
* VSH shortcut creation.
2023-01-07 22:52:50 +01:00
Megamouse 8cf28730cb Update submodules 2023-01-07 21:50:02 +01:00
Megamouse f894e2b9a2 Qt: Fix open_dir for paths with multiple slashes 2023-01-07 16:07:41 +01:00
Megamouse e3cd31f057 update_manager: Simplify wchar conversion 2023-01-07 16:07:41 +01:00
Foxxcoon 05086cda3b Fix #11126 2023-01-07 16:40:39 +03:00
Elad Ashkenazi 7c2d6f8a23
PKG: Pack multiple PKGs into fast+efficient install (#13147) 2023-01-03 15:31:39 +03:00
kd-11 7423abb136 rsx: Remove incorrect hack 2023-01-02 23:03:39 +03:00
Megamouse 310fa7127d VS: Add SDL dependency to rpcs3 project 2022-12-30 22:02:41 +01:00
Elad Ashkenazi 3250c16cdc
Restrict package installation to 1 thread
It is possible that a package contains the same file multiple times.
This leads to possible corruption or installation failure when they are extracted on different threads.
(easy to reproduce with DeS)
2022-12-30 21:10:23 +01:00
Eladash 02f35383bd PKG: Implement Multi-threaded installation 2022-12-30 17:48:14 +03:00
Eladash 1d5fef4930 PKG: Create directories first 2022-12-30 17:48:14 +03:00
Eladash dddea008e9 unedat.cpp: Remove outdated lock 2022-12-30 17:48:14 +03:00
Elad Ashkenazi dd8ec8f09e PKG install hotfix 2022-12-30 17:48:14 +03:00
Megamouse 98dbbd84ac Qt: fix size watcher cancellation on soft refresh
Also setting the cancel flag manually since the canceled signal seems to be very unreliable (I managed to trigger it rarely)
2022-12-30 13:43:55 +01:00
Elad Ashkenazi 382a27cb2f
Allow to cancel dir size calculation (#13134) 2022-12-30 09:34:35 +01:00
Nekotekina eeda958f33 fs: fix read/read_at/write (Unix)
It's known that too huge read can require multiple syscalls.
2022-12-29 16:19:54 +03:00
Nekotekina 2f9cac8d18 fs: implement file::read_at
Reads from the given offset; does not seek; thread-safe.
2022-12-29 16:19:54 +03:00
kd-11 9d432187aa vk: Fix bug that made fall-out barriers never get triggered 2022-12-28 17:37:50 +03:00
kd-11 b13165f95a vk/rtts: Account for corner case where the same texture can be bound to more than 1 slot 2022-12-28 17:37:50 +03:00
kd-11 110c20d25f vk: Restructure framebuffer loop barrier management 2022-12-28 17:37:50 +03:00
kd-11 4def7f143c rsx: Fix logicOp behavior when blending is also active 2022-12-27 02:56:43 +03:00
kd-11 908d524631 vk: Add some missing PCI IDs 2022-12-27 02:00:28 +03:00
Megamouse 6c74274502 Qt: fix size_on_disk filetype 2022-12-25 17:16:49 +03:00
Eladash ee8cd82e9d Demote PRX export already loaded error 2022-12-25 16:10:32 +03:00
Eladash 820e692e57 PRX: Implement multi-referenced library management 2022-12-25 16:10:32 +03:00
Megamouse 5b95cfda40 Qt: Improve Check Config utility
Warn if the user selects a weird file.
Allow more file types and show them all by default.
2022-12-22 23:51:32 +01:00
Megamouse b2c4fed39c Qt: stop all async refresh threads on close 2022-12-22 21:47:47 +01:00
Megamouse 96c6dc01eb Qt: Implement config check in Utilities and log viewer 2022-12-22 09:09:51 +01:00
Megamouse f545532556 cellSaveData: add some more info to log error 2022-12-22 09:09:51 +01:00
Megamouse 8ac9968096 Qt: optimize log viewer file loading 2022-12-19 23:18:58 +01:00
Megamouse a9ee9a69a4 Qt: show some more info about the current log viewer state 2022-12-19 23:18:58 +01:00
Megamouse 46a50265a3 Qt: save some log viewer filter settings 2022-12-19 23:18:58 +01:00
kd-11 41e9e0b965 rsx: Restructure color format enum to clearly separate float from int formats 2022-12-19 23:13:25 +03:00
kd-11 388d090b91 rsx: Propagate surface format changes to shader ROP control 2022-12-19 23:13:25 +03:00
Ani 1a60fb3c96
cirrus: Update rpcs3-ci-bionic to 1.6 (#13064) 2022-12-18 16:07:11 +00:00
Elad Ashkenazi baa2768a69 StrUtil.h: Prevent an overflow in strcpy_trunc 2022-12-17 19:55:16 +01:00
kd-11 04fb86556a rsx: Fix surface metadata life-cycle
- Beware of clone operations. Blindly inheriting the parent's metadata is wrong.
- It is possible, especially when reusing a pre-existing slice, that the parent and child info has diverged
2022-12-17 20:16:58 +03:00
kd-11 90cf47cdce rsx: Handle some corner cases in surface locking 2022-12-17 20:16:58 +03:00
kd-11 bf96cbe980 rsx: Fix const RTV/DSV cast from texture cache 2022-12-17 20:16:58 +03:00
kd-11 66dc1cc15d rsx: Conditionally skip flush if no new data was introduced 2022-12-17 20:16:58 +03:00
kd-11 a05e3f02b8 rsx: Avoid expensive protection scan by sharing some data between surface and texture cache 2022-12-17 20:16:58 +03:00
Megamouse 8ec01450f8 Qt: check dir size async 2022-12-17 16:19:22 +01:00
Megamouse b2962e0522 Qt: show item count in category filter 2022-12-17 16:19:22 +01:00
Eladash 8980fc5524 rsx: Fix exceptions 2022-12-17 14:27:20 +01:00
Eladash f54da22f6f UI: Report Game Size On Disk, Make Game Removal An Informed Decision 2022-12-17 12:27:17 +01:00
kd-11 cebc0ec4a1 vk: Add missing memory barrier 2022-12-17 13:10:32 +03:00
brian218 812224f7f7 Stop LV2 Watchdog when CELL_SYSUTIL_REQUEST_EXITGAME is issued 2022-12-15 13:12:40 +03:00
brian218 d78e2dad29 sys_game: Made the LV2 Watchdog restarts the game forcefully 2022-12-15 13:12:40 +03:00
kd-11 7e35679ec2 vk: Revise some TRANSFER->TRANSFER barriers that introduced RAW hazards when copying images 2022-12-14 03:24:37 +03:00
kd-11 b39f457363 vk: Zero-initialize scratch VRAM allocations 2022-12-14 03:24:37 +03:00
Megamouse 18b7955384 SDL handler 2022-12-13 11:56:48 +01:00
Ani 0e625e6928 PSF: Add AS as valid category
Used for some PS3 Applications
2022-12-13 09:34:21 +01:00
brian218 65ae85061f
Misc and minor improvements of syscalls used by VSH (#13067) 2022-12-13 07:33:17 +01:00
Megamouse e2c1547d95 Qt: facepalm fix in open_dir 2022-12-12 20:19:07 +01:00
kd-11 2d5a427bd4 gl: Throw exception if we cannot initialize critical requirements 2022-12-12 14:23:06 +03:00
Megamouse 45bd0d1f25 rsx_debugger: fix overflow and some warning 2022-12-11 21:39:18 +01:00
Megamouse f38084f0cf Qt: don't show message if only the rpcs3 games dir shortcut was created 2022-12-11 21:39:18 +01:00
Ani 0d929a210f
NP: Disable some logging (#13061) 2022-12-11 16:49:14 +00:00
Megamouse 057f5beac6 Qt: remove cache dir when deleting games 2022-12-11 15:29:01 +01:00
kd-11 26021e11f7 gl: Require GLSL 450 when using barycentric extension 2022-12-11 15:21:58 +03:00
kd-11 941ecc76a1 ci: Update glslang to sdk-1.3.224.1 2022-12-11 15:21:58 +03:00
kd-11 12806af6aa Bump windows vulkan SDK version 2022-12-11 15:21:58 +03:00
kd-11 55886b0a50 gl: Fix shader extension requirements 2022-12-11 15:21:58 +03:00
kd-11 577b5ef2bd Support compiling with older SDK headers 2022-12-11 15:21:58 +03:00
kd-11 780c38a5e5 gl: Silence compiler warning spam 2022-12-11 15:21:58 +03:00
kd-11 6756bf7d4b rsx: Only request attribute interpolation if the GPU requires it and the driver supports it 2022-12-11 15:21:58 +03:00
kd-11 9c0b2338cf rsx: Fix shader compilation 2022-12-11 15:21:58 +03:00
kd-11 a0ef1a672c rsx: Implement interpolation using barycentrics 2022-12-11 15:21:58 +03:00
kd-11 1fd265d316 rsx: Properly flag the program control if needed 2022-12-11 15:21:58 +03:00
kd-11 e3b23822fd rsx: Pass on shader flags to the cache 2022-12-11 15:21:58 +03:00
brian218 ab3c8268f0
sys_sm: Implemented sys_sm_shutdown() (#13048) 2022-12-11 09:10:06 +01:00
Megamouse 6f306121a6 Qt: fix opening folders by using util functions 2022-12-10 22:54:26 +01:00
Megamouse 8399516475 cli: fix title_path 2022-12-10 18:18:16 +01:00
Megamouse a60ea61291 linux: fix shortcut cli args 2022-12-10 18:18:16 +01:00
Megamouse 64cff74861 Qt: simplify shortcut creation 2022-12-10 18:18:16 +01:00
Elad Ashkenazi e2c1e656b9 RSSX Debugger: Do not show invalid color buffers 2022-12-10 16:51:49 +01:00
brian218 cdc1d0c02b sys_fs: sys_fs_get_mount_info(): Made g_mp_sys_dev_root always reported as mounted 2022-12-10 15:28:04 +01:00
Eladash 151a0955cf rsx: Implement draw call stepping 2022-12-10 15:09:42 +01:00
Eladash 40406bd3fe RSX debugger: Implement Texture Dumper
Also fix many bugs in textures display.
2022-12-10 15:09:42 +01:00
Megamouse 1cc3e6e510 cellRec: hotfix for pre-recording 2022-12-10 04:10:40 +01:00
Megamouse 064ab58f3c cellRec: move data instead of memcpy 2022-12-10 03:24:40 +01:00
Megamouse 85c0a2e602 cellRec: add more logging 2022-12-10 03:24:40 +01:00
shinra-electric 809e880bd1
[3rdParty] Update MoltenVK to 1.3.236 & set MSL Fastmath to On Demand (#13035)
* Update MoltenVK to 1.2.236

* Change mvk_config.fastMathEnabled from a bool to Int

fastMathEnabled now has three options:
NEVER = 0
ALWAYS = 1 
ON_DEMAND = 2

On demand seems better, since it will use fast math except for shaders that are incompatible.
2022-12-09 20:49:56 +01:00
Eladash 7df093c94b Make it work with LLVM
Allow multiple entries for a single code.
2022-12-09 21:16:05 +03:00
Eladash f572e29a13 PPU: Add new patch function for SONIC 06 2022-12-09 21:16:05 +03:00
brian218 681a6ef73c Qt: Improved the shown path in overlay message "Recording stopped" 2022-12-09 16:40:38 +01:00
shinra-electric bf37087a10 Fix build errors by changing AVCodec* to a const
...rather than a variable. 

Allows RPCS3 to build on macOS again (Xcode 14.1)
2022-12-09 14:21:37 +03:00
Eladash a18b46d8ad Path hotfix 2022-12-09 12:20:57 +03:00
Eladash 74bb90b414 System.cpp: protect boot arguments 2022-12-09 12:20:57 +03:00
Eladash 8334767c16 GUI: bring relative game shortcut to the GUI 2022-12-09 12:20:57 +03:00
Eladash 0d126afb1f PKG: Ask to user if he wants to install game shortcut on PKG installation 2022-12-09 12:20:57 +03:00
Eladash b7d80ab335 Add support to boot using PS3 game path or TITLEID in CLI and shortcuts
Allowing to move of game directories without having to update the shortcut path. (as long as it is registered within RPCS3 UI).
2022-12-09 12:20:57 +03:00
Megamouse b0e376ae76 rsx/qt: add recording to game window 2022-12-08 21:08:37 +01:00
Megamouse a3bcb6c15a cellRec: implement proper recording
Everything should work mostly. I didn't find a game to test the external input though.
2022-12-08 21:08:37 +01:00
Megamouse 88269636d3 utils: implement video encoder and image sink 2022-12-08 21:08:37 +01:00
Megamouse 4f5076346d Qt: minor camera config warning fixes 2022-12-08 21:08:37 +01:00
Megamouse 89de913e95 Qt: reset screenshot toggle in gs_frame desctructor 2022-12-08 21:08:37 +01:00
Megamouse 0e73c4598e cellVideoExport: fix file paths 2022-12-08 21:08:37 +01:00
Megamouse 6b8aef9fdd cellAdec: fix some uninitialized member warnings 2022-12-08 21:08:37 +01:00
Jan Beich 1811dd67bf CI: switch FreeBSD to Clang/libc++ 15 2022-12-08 19:36:12 +01:00
brian218 6d4379059c sys_fs: Integrated get_mount_count() into sys_fs_get_mount_info_size() 2022-12-08 18:31:46 +01:00
brian218 a0f3704b41 sys_fs: Integrated the function of get_vfs() into get_mp() 2022-12-08 18:31:46 +01:00
brian218 9274b3f14d USIO: Fixed "Card Reader Not Connected" Error 2022-12-07 20:20:52 +01:00
brian218 0a3e540a10 sys_fs: get_vfs() minor fixup 2022-12-07 20:20:52 +01:00
Megamouse 4657afd899 Qt: remove entire cache dir of a serial on remove all caches 2022-12-07 18:55:56 +01:00
Megamouse 2082f06443 Qt: remove empty cache dirs if possible 2022-12-07 18:55:56 +01:00
Megamouse b49f8623f6 Windows: Check WSAStartup result 2022-12-07 18:11:01 +01:00
Megamouse 69e4138223 Try to fix dll checks 2022-12-07 00:00:45 +01:00
Elad Ashkenazi 5fec8666e3
Dont append main thread's ID on fatal error dialog (#13021) 2022-12-06 22:18:26 +01:00
Megamouse 8af4a94864 Qt: add context menu to trophy game table 2022-12-06 21:30:08 +01:00
Megamouse ab873129f8 Qt: add copy name and description to trophy context menu 2022-12-06 21:30:08 +01:00
kd-11 6155207407 ux: Instruct the user to delete the dlls from the installation folder. 2022-12-06 20:46:35 +01:00
kd-11 98a58daf57 Fix build 2022-12-06 20:46:35 +01:00
kd-11 0aaa40cd53 ux: Update vcredist links and optionally disable help text from error dialog 2022-12-06 20:46:35 +01:00
Megamouse a6b44ea1bb Qt: support fatal error as htmk 2022-12-06 20:46:35 +01:00
kd-11 ca0ca2e5a8 ux/core: Add module verification step for some critical libraries
- Prevents running the emu with downloaded dll files
2022-12-06 20:46:35 +01:00
RipleyTom 14a388b3fe Increase max number of skylanders to 8 2022-12-06 18:14:58 +01:00
Eladash 82a8d96fba sys_fs hotfix
Co-Authored-By: brian218 <17809637+brian218@users.noreply.github.com>
2022-12-03 17:53:39 +01:00
Elad Ashkenazi ad3ea966cb
Add RPCS3/games/ for automatic games detection, support PSN games outside HDD0 (#12982)
* SFO: Do not load PARAM.SFO with illegal TITLE_ID
* Add support for PSN games outside HDD0
* Add RPCS3/games/ for automatic game detection
2022-12-02 13:18:07 +03:00
brian218 8d9dd1d19c Implemented sys_fs_newfs() 2022-12-02 08:18:46 +01:00
Megamouse 337ee77a99 evdev_gun: "fix" BSD 2022-11-30 19:38:42 +01:00
Megamouse c09991ebdb evdev_gun: convert udev code to evdev 2022-11-30 19:38:42 +01:00
Megamouse 5188293242 evdev gun support cleanup 2022-11-30 19:38:42 +01:00
Nicolas Adenis-Lamarre 2805fe0a06 evdev gun support
supports guns via evdev. multiple guns.
extra buttons are configurable (guns can be configured for that).

Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2022-11-30 19:38:42 +01:00
Team XLink Developers b4757b514d
Add ability to have sockets bind to a local IP address (#12998) 2022-11-30 18:35:42 +03:00
Elad Ashkenazi 630edde10f
logs.cpp: fix regression (#12995)
Fixes #12994
2022-11-29 22:56:18 +03:00
Eladash e9e139c364 logs improvements
* Do not use unsafe pointer arithmetics exceeding existing memory. (exceeding m_fptr)
* Properly use the enire 32MB of the buffer, previously only 16MB were used for cuncurrent access.
* Fix a bug occurring after attempting to push 1TB (40 bits).
* Flush the log before hitting a debugging breakpoint.
2022-11-28 18:52:11 +03:00
Julien Reichardt 60c01ef9a9 Use uppercase RPCS3 name in the metainfo file 2022-11-28 06:20:48 +03:00
Megamouse 5dbadccd7f Log PSF path on error 2022-11-27 22:07:15 +01:00
Megamouse 49a968219f Silence some usually irrelevant errors 2022-11-27 22:07:15 +01:00
Eladash 8b934abcf2 Improve error_code, make HDD1 errors be warnings 2022-11-26 16:33:47 +03:00
Nekotekina fa74d3e88c vm: implement lock-free try_access with range locking 2022-11-26 09:30:11 +03:00
Nekotekina 1123e25136 Implement ref_ptr (see read_from_ptr)
Type `aref`: reference wrapper
2022-11-26 09:30:11 +03:00
Nekotekina 7c15001042 Implement read_from_ptr<>() util
Doing std::bit_cast on a "span".
Should be usable in constexpr.
2022-11-26 09:30:11 +03:00
Nekotekina bf388e5428 cfmt/StrFmt: support s128 formatting (untested) 2022-11-26 09:30:11 +03:00
Paweł Kotiuk 661be41c5a Update AppStream Metadata
Add some fields according to specification from https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
2022-11-24 20:45:04 +01:00
kd-11 8be4ac6869 gl: Fix rotation operations in blit engine 2022-11-22 12:15:18 +03:00
kd-11 81f9259063 gl: Add support for capture debug markers 2022-11-22 12:15:18 +03:00
kd-11 a97424d46c rsx: Fix low precision shader option 2022-11-22 12:15:18 +03:00
brian218 b639f3c8ec Fixed up lv2_fs_mount_point stuff & Fixed loop.tmp potential leak 2022-11-19 10:42:49 +01:00
brian218 13ca1a7f09 Further implemented sys_fs_get_mount_info() and sys_fs_get_mount_info_size() 2022-11-19 10:42:49 +01:00
brian218 16098c38c8 sys_ss_appliance_info_manager(): Fixed VSH error 80029567 and 80029564 2022-11-19 10:42:49 +01:00
kd-11 c4b259e0f8 rsx: Always enable ROP output quantization on NV 2022-11-18 23:06:47 +03:00
kd-11 e04855a0da rsx: Improve ROP output handling
- Perform 8-bit quantization/rounding before emulated operations like ALPHA_TEST
2022-11-18 23:06:47 +03:00
Megamouse 8199f97e7a Qt: add option to automatically resize the game window 2022-11-17 19:58:18 +01:00
Megamouse 2eef3ab645 Update glslang and SPIRV from sdk-1.3.224.1 to sdk-1.3.231.0 2022-11-17 16:04:18 +01:00
Megamouse d56ec56458 Update wolfssl from v5.4.0 to v5.5.0 2022-11-17 16:04:18 +01:00
Megamouse 0293415db1 Update curl from 7.84 to 7.86 2022-11-17 16:04:18 +01:00
Megamouse 6e935d9d84 Update pugixml from v1.12.1 to v1.13 2022-11-17 16:04:18 +01:00
Elad Ashkenazi 99ae561caa
cellPad: Noise-cancelling log changes (#12958) 2022-11-16 20:00:22 +01:00
MSuih 3f8421fc17 Add enable exclusive fullscreen mode setting 2022-11-14 17:50:13 +01:00
Megamouse 324b1039cf set cellVideoOutSetGamma to trace
It is spammed a lot in some games and we already know it works.
2022-11-12 11:23:58 +03:00
Megamouse 961d905433 Loader: disable unsupported PPU decoder settings 2022-11-12 11:23:58 +03:00
Megamouse 3c79f3943f Minor simplifcation in ppu_finalize 2022-11-12 11:23:58 +03:00
Megamouse 1e7b2c052a Loader: skip savestate check in add_only mode 2022-11-12 11:23:58 +03:00
Megamouse ff082b98cb VS: fix compilation on VS 17.4 2022-11-12 11:23:58 +03:00
kd-11 3236931416 Whitespace fix only 2022-11-11 12:09:23 +03:00
kd-11 ed0c798252 Wait for renderer to initialize before skipping it for system progress initialization. 2022-11-11 12:09:23 +03:00
kd-11 5943b802d7 grammar 2022-11-11 12:09:23 +03:00
Eladash b875a86e1d PRX: export functions on start() 2022-11-09 02:28:12 +03:00
Eladash 0a35a62235 sys_prx: Make PPU imports/exports thread-safe 2022-11-09 02:28:12 +03:00
kd-11 e98b07de03 vk: Set line width when rasterizing points (workaround)
- Fixes point rendering when using AMD drivers.
2022-11-07 23:12:31 +03:00
kd-11 de5217745c gl: Fix point size export 2022-11-07 23:12:31 +03:00
RipleyTom ec53adc2b7 Fix get_member_and_attrs 2022-11-07 12:31:18 +01:00
Eladash b57ab74ee7 cfg: Partial support for case-insensitivity for true-false settings 2022-11-05 10:36:46 +01:00
Eladash 69368d972d Savestates: Move "Start Paused" setting to UI 2022-11-05 10:36:46 +01:00
Ani a00f9e4211
rpcs3_version: Bump to 0.0.25 2022-11-01 21:50:08 +00:00
brian218 3cb9cd7724
sys_fs: Minor fixup (#12913)
Stubbed sys_fs_newfs
2022-11-01 19:49:50 +03:00
Eladash 9632d0ab8a Emu: fixup message when the application has crashed 2022-11-01 19:08:55 +03:00
brian218 68b68e676b sys_fs.cpp: Satisfy Clang 2022-10-31 18:53:09 +03:00
brian218 c7ced46707 Add support for mounting and unmounting CELL_FS_SIMPLEFS 2022-10-31 18:53:09 +03:00
brian218 ecc194cb62 Use DECR's Product Code when Debug Console Mode is enabled 2022-10-31 18:53:09 +03:00
Nekotekina a1b4ffcf52 VFS.cpp: fixup for mounting files 2022-10-31 14:20:02 +03:00
Nekotekina ae809ad320 Unexpected bugfixes
Mostly unaligned memory access.
Also includes workarounds for ubsan execution.
2022-10-31 14:20:02 +03:00
kd-11 7d1c18a569 Fix LOD bias widget title. 2022-10-31 13:39:37 +03:00
kd-11 71f034c4ea Move 'LOD bias addend' to debug tab 2022-10-31 13:39:37 +03:00
kd-11 b156b40f8f rsx: Fix clear color for formats with less than 32-bit width 2022-10-31 13:39:37 +03:00
Darkhost1999 8d5a9dc722
Add Texture lod bias to UI (#12905) 2022-10-30 21:06:53 +01:00
RipleyTom 06dc6909c4 implement sceNpManagerGetMyLanguages 2022-10-30 18:00:54 +01:00
capriots c639b7d5f4 cellAudioAdd6chData(): fix channel order 2022-10-30 04:50:02 +01:00
Megamouse a38e144320 overlays: use the system keyboard layout for osk 2022-10-29 22:56:08 +02:00
Megamouse 059c45f202 overlays: implement osk keyboard cursor actions 2022-10-29 22:56:08 +02:00
Megamouse eccceea7fb overlays: implement osk delete action 2022-10-29 22:56:08 +02:00
Megamouse ad340c3007 overlays/osk: Implement fallback for unknown keys
Note that those keys won't be passed to the cellOsk event hook callback
2022-10-29 22:56:08 +02:00
Elad Ashkenazi c214f45e14
Savestates/rsx/IO: Resume emulation on long START press, enable "Start Paused" by defaut (#12881)
* Savestates: Enable "Start Paused" by default
* Emu/rsx/IO: Resume emulation on long START press
* rsx: fix missing graphics with savestates' "Start Paused" setting
* rsx/overlays: Add simple reference counting for messages to hide them manually
* Move some code in Emulator::Pause() so thread pausing is the first thing done by this function
2022-10-29 19:53:00 +02:00
Elad Ashkenazi c8620070b9
Savestates/System.cpp: Realized fix for suspend mode (#12883) 2022-10-28 09:51:46 +02:00
brian218 61a371b106 Implemented sys_fs_mount() and sys_fs_unmount() 2022-10-28 08:51:41 +02:00
shinra-electric 5210df6882 [3rdParty] Update MoltenVK to 1.2.231 2022-10-25 07:22:44 +02:00
shinra-electric edb7991979 Remove MVK Semaphore Support Style options
This line is no longer needed as MVK will select the appropriate support style automatically. 

See https://github.com/KhronosGroup/MoltenVK/pull/1738
2022-10-25 07:22:44 +02:00
Elad Ashkenazi 90d6069a16 Update System.cpp 2022-10-24 18:54:53 +03:00
RipleyTom 880a4e3ca6 SceNpScore: improvements 2022-10-24 00:49:44 +02:00
Eladash 18e30c7e44 rsx: Implement custom fractional frame limit 2022-10-24 00:10:37 +02:00
Eladash 0113224cb6 cfg: Implement float config entry
Add missing string empty checks
2022-10-24 00:10:37 +02:00
Eladash d1bd936765 rsx: Unlimit texture LOD bias addend
It's a relative setting and actual bias ranges from -16 to +16, so the maximum difference an addend would make is 32.
2022-10-24 00:10:37 +02:00
kd-11 2c41eecdb1 rsx: Force position invariance on GPUs where it matters 2022-10-24 00:49:44 +03:00
Elad Ashkenazi 1a9e38a1dd
System.cpp: Minor regression fix (#12874)
Do not move savestate if the actual boot is unsuccessful.
2022-10-23 18:07:44 +03:00
Eladash 9f3f619774 Minor cleanup 2022-10-23 13:06:57 +02:00
Eladash 795e234c6f game list: Silence some warning 2022-10-23 13:06:57 +02:00
Eladash 23fdcbfeb8 Add one missing line, fix savestate restart 2022-10-23 13:06:57 +02:00
Eladash ee3e36672c Savestates: Rename savestate when booting the game regularly (suspend mode) 2022-10-23 10:49:58 +02:00
Eladash 119b4e4529 Savestates/Menu: Add "Create Savestate" Button 2022-10-23 10:49:58 +02:00
Eladash cc6112cbc4 Savestates: Auto-relaunch savestate when suspen mode is off 2022-10-23 10:49:58 +02:00
Eladash f16c9cd3c6 Savestates: Disable HDD1 saving optimization
HDD1 is very volatile, it was a bad idea not to save it.
2022-10-23 10:49:58 +02:00
Eladash 9e4c24baa3 qt: Add "suspend Emulation Mode Savestates" to advanced tab 2022-10-23 10:49:58 +02:00
Elad Ashkenazi 801609fb78 Make RPCS3 not delete savestate on boot by default 2022-10-23 10:49:58 +02:00
Megamouse 4c8630d29f sceNpTrophyRegisterContext: log tls error 2022-10-22 22:30:23 +02:00
Megamouse 4e426af114 Qt: replace nul character with 0 in the log viewer
Fixes cropped content
2022-10-22 22:30:23 +02:00
Megamouse 5b66fe47db sceNpTrophyCreateContext: do not log nul characters 2022-10-22 22:30:23 +02:00
RipleyTom 7ae9b15b5c sys_net: return appropriate packet size for P2P 2022-10-22 20:14:32 +03:00
RipleyTom 67323994fc Implement sceNpScoreSanitizeComment 2022-10-22 18:43:13 +02:00
kd-11 fcc7a7452a vk: Fix scratch buf size calculation when uploading DSVs 2022-10-22 15:11:40 +03:00
kd-11 1bb0caed6f gl: Add missing memory barrier after texture decode 2022-10-22 15:11:40 +03:00
Elad Ashkenazi 23a445619b Savestates: +1 Bug 2022-10-22 13:37:33 +02:00
RipleyTom 837d9ca688 Disable AlignConsecutiveAssignments 2022-10-22 11:32:04 +02:00
RipleyTom 9b121a6414 sys_net: improvements
sys_net: implement reusable addr for p2p sockets
sys_net: implement getpeername for P2PS
sys_net: sockets inherit NBIO from their parent
2022-10-22 11:32:04 +02:00
Megamouse 5f1aafb961 Dualsense: Enable improved rumble emulation (or so)
Also disable audio haptics to save power
2022-10-22 10:26:26 +02:00
Megamouse 615ff08d1a Dualsense: Release LEDs on when the handler is destroyed 2022-10-22 10:26:26 +02:00
Megamouse 3320d1e1c7 Dualsense: Read firmware version as seen in firmware installer 2022-10-22 10:26:26 +02:00
Megamouse 3deb177ab7 Dualsense: name some report members based on SDL2 2022-10-22 10:26:26 +02:00
Megamouse 41dad58489 Loader/Input: Process Qt events instead of yielding during init 2022-10-21 23:42:01 +02:00
Megamouse cb8a240f1a Qt/Input: Properly clear pad selection in pad settings
Fixes a rare issue that causes a newly selected pad handler with no pads to try to connect a previously selected pad from another handler.
2022-10-21 23:42:01 +02:00
Megamouse 871ef2cdfe Input: return pad connection in get_next_button_press
This fix some minor race condition in the UI that had no real consequences just by chance.
2022-10-21 23:42:01 +02:00
Megamouse 6c0bc43776 Input: change brightness data type in hid to u32 2022-10-21 23:42:01 +02:00
Megamouse a16d18d83c Input: rename misleading ThreadProc to process 2022-10-21 23:42:01 +02:00
Megamouse e499c3c6e3 Input: move m_is_init to base class 2022-10-21 23:42:01 +02:00
Megamouse ddd261c943 Input: refactor vibration
There's no need to deal with vibration levels outside of the handlers.
All we need to know is the 0-255 DS3 range which is given by the u8 type.
2022-10-21 23:42:01 +02:00
Vestral a1f9ff0aaa Cubeb: rewrite locking 2022-10-21 22:15:49 +02:00
Megamouse d636ea9338 Update dependencies
zlib  1.2.12 -> 1.2.13
libpng 1.6.37 -> 1.6.38
glslang sdk-1.3.216.0 -> sdk-1.3.224.1
SPIRV-Headers sdk-1.3.211.0 -> sdk-1.3.224.1
SPIRV-Tools sdk-1.3.211.0 -> sdk-1.3.224.1
2022-10-21 20:44:46 +02:00
Megamouse 1747e68d1d Fix warning 2022-10-21 20:44:46 +02:00
Elad Ashkenazi c4c710d39d
GUI TTY: fix a regression (#12855) 2022-10-21 19:05:21 +02:00
brian218 9a5dbda063 Changed the log level of LV2 Watchdog's being triggered 2022-10-21 17:38:59 +02:00
kd-11 bd9c876e36 gl: Handle clip plane switching using API calls and the state tracker 2022-10-21 13:45:45 +03:00
Eladash 903d847058 cellAudio: Implement setting to disable sampling skip 2022-10-21 09:32:49 +02:00
brian218 789e42e26f sys_sm_shutdown() log minor fixup 2022-10-21 02:09:08 +02:00
brian218 85e11ca341 USIO Input Enhancement 2022-10-20 21:00:38 +02:00
Eladash 0da81d22d3 SPU Profiler: fix CPU usage when emulation is paused
Avoid collecting samples when the thread paused.
2022-10-20 11:22:33 +03:00
Eladash 52b993095d SPU Profiler: nearly always print on Emu.Pause() 2022-10-20 11:22:33 +03:00
Megamouse 363e0a40e5 Input: Allow to toggle player LED (Dualsense and DS3) 2022-10-19 22:55:50 +02:00
Eladash 7ea0a6d642 sys_game_watchdog minor fixups 2022-10-18 13:08:48 +02:00
Megamouse 035d410a89 evdev: change default axis for gyro 2022-10-18 00:19:01 +02:00
Megamouse b0b42071f2 Input: Fix Dualsense gyro axis and adjust DS4 resolution 2022-10-18 00:19:01 +02:00
brian218 5c24009eb5 Implemented sys_game_watchdog syscalls 2022-10-17 20:32:01 +03:00
Eladash 00340f33c3 GUI/TTY: fix UI deadlock when TTY is being spammed 2022-10-17 19:12:51 +03:00
RipleyTom 01c285fc4a RPCN v0.7
Bump protocol version
Improve signaling RTT calculation for client
Implement score game data functions
Various sceNpScore fixes
Verify flatbuffer buffers
Use std::variant for transaction specific data
2022-10-17 09:57:10 +02:00
Eladash 87797e117e sys_spu: Some more fixes of wait flag misuse 2022-10-16 20:55:36 +03:00
Eladash a5cc9a5517 Update cellFsGetDirectoryEntries to use wait flag correctly 2022-10-16 20:55:36 +03:00
Eladash 806acf8cd0 sys_fs: Fixed placement of check_state() and add some bugfixes 2022-10-16 20:55:36 +03:00
kd-11 04f6302ecc Fix decode shader compilation 2022-10-16 19:58:30 +03:00
kd-11 1df977fae2 gl: Avoid including unnecessary headers 2022-10-16 19:58:30 +03:00
kd-11 9105c2cf4a gl: Refactor capabilities and add GLSL version detection support. 2022-10-16 19:58:30 +03:00
kd-11 6d43fcf8fb gl: Fall back to renderpass decoder on ATI drivers 2022-10-16 19:58:30 +03:00
Megamouse fafae1cbb5 cellRtc: Fix some param checks 2022-10-15 19:56:53 +02:00
brian218 419e673d5b Fix USIO Backup behavior 2022-10-15 14:38:43 +02:00
brian218 48f47de95c Added USB passthrough for H050 USJ PCB 2022-10-15 14:38:43 +02:00
brian218 44a1df4353 usb_device: Updated control_transfer in order to prevent some games from being frozen 2022-10-15 14:38:43 +02:00
Megamouse 13b3c78c7f Input: fix MMJOY axis identification 2022-10-15 13:17:16 +02:00
Megamouse e362c2c078 Input: fix some type warnings 2022-10-15 13:17:16 +02:00
Megamouse 814adbb8c4 Input: simplify InitPadConfig 2022-10-15 13:17:16 +02:00
Megamouse cf86b6c107 Input: keep old port status when reconnecting ldd pads
The port status might not change currently, but it should be more correct this way.
2022-10-12 22:30:09 +02:00
Megamouse 12a83e5a1c Input: simplify unnecessarily complex ldd reload 2022-10-12 22:30:09 +02:00
Megamouse 0f769eec81 Input: log more pad information 2022-10-12 21:01:02 +02:00
kd-11 0737c788fc rsx: Fix parsing of broken command streams with hanging begin/end commands without a pair.
- While these are game bugs, the parser shouldn't break on encountering them.
2022-10-12 11:19:52 +03:00
kd-11 3fe9aea5b5 rsx/overlays: Allow some basic communication from the UI components to the backend renderers 2022-10-11 23:13:12 +02:00
Megamouse ab6ba848b8 overlays: simplify overlay_media_list_dialog 2022-10-11 23:13:12 +02:00
Elad Ashkenazi 0a38800e44
Savestates: fix endless renaming of used savestates (#12780) 2022-10-11 17:02:25 +03:00
kd-11 6be5618d22 config: Add missing option 2022-10-11 14:00:34 +03:00
kd-11 95d9462a71 settings: Remove misleading comment 2022-10-11 14:00:34 +03:00
kd-11 e05cd9f47b qt: Add translation for shader precision 2022-10-11 14:00:34 +03:00
kd-11 aa09302ca0 Clean up some unnecessary changes
- Hopefully nothing breaks 🤞
2022-10-11 14:00:34 +03:00
kd-11 6d6b9fd269 Qt: Apply tooltip hover to parent groupbox.
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2022-10-11 14:00:34 +03:00
kd-11 6d265452cf rsxqt: Fix shader precision tooltip 2022-10-11 14:00:34 +03:00
kd-11 65d20f2d08 gl: Add mesa support for polygon offset 2022-10-11 14:00:34 +03:00
kd-11 a229e30b08 rsx: Implement RSX-compliant polygon offset 2022-10-11 14:00:34 +03:00
kd-11 d246a37b11 rsx: Move fp16 toggle to a global shader precision option 2022-10-11 14:00:34 +03:00
brian218 e839595053 Implemented sys_game_get_system_sw_version() 2022-10-11 08:32:49 +02:00
brian218 a711eb31f4 Corrected the implementation of sys_game_board_storage_read() 2022-10-11 08:32:49 +02:00
brian218 b117a6d4cd Improved the compatibility of USIO for old versions of games 2022-10-11 07:51:21 +02:00
Megamouse 36b1004e26 cubeb: ignore callbacks for unknown streams or contexts 2022-10-11 00:09:28 +02:00
Megamouse c75c47fdd2 cubeb: add some more logging and error checks 2022-10-11 00:09:28 +02:00
Megamouse 0f626c8d30 Qt: delay first log frame update
This fixes the log not scrolling automatically when we first open RPCS3 with a low log level.
2022-10-10 23:21:49 +02:00
Megamouse 021783dcc1 Qt: throw if a translation is expected in GetLocalizedSetting 2022-10-10 22:46:42 +02:00
Megamouse 1f339862db Qt: add missing translation comment 2022-10-10 22:46:42 +02:00
Megamouse 4446d9ce4b cellSubDisplay: add error checks 2022-10-10 21:26:27 +02:00
Elad Ashkenazi 92b08a4faf
rsx: Fixup a bug after mfc list optimization (#12782) 2022-10-10 04:04:41 +03:00
brian218 d311b4bd53 Update sys_game_board_storage_read() 2022-10-09 21:05:10 +03:00
Eladash a6dfc3be2f SPU: Enable the MFC list optimization for Atomic RSX FIFO 2022-10-09 19:27:46 +03:00
Eladash 750e7b73e3 Optimize vm::range_lock a bit
Bad conditions led to optimization misses and long-generated code.
2022-10-09 19:27:46 +03:00
Eladash 6a36967e6f SPU: Inline and batch MFC list transfers 2022-10-09 19:27:46 +03:00
kd-11 d6d7ade6e3 vk: Reload state on dynamic state changed 2022-10-09 03:00:39 +03:00
shinra-electric 151d98df51 Update based on feedback by GovanifY 2022-10-09 02:16:08 +03:00
shinra-electric fa744e53d3 Replace sprintf with snprintf to silence compiler warning
This fixes the following compiler deprecation warning

`warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.`
2022-10-09 02:16:08 +03:00
Elad Ashkenazi e0df2c584f rsx: Attempt to fix frame limiter 2022-10-09 01:33:40 +03:00
kd-11 3c88477270 Fixup for scissor/viewport invalidation rules 2022-10-07 15:27:54 +03:00
kd-11 df46e5137c gl: Fix texture reconstruction logic
- Use correct target types
- Fix key generation to apply differently for each target type
2022-10-07 11:53:34 +03:00
kd-11 ffe8133865 vk: Avoid unnecessary dynamic state updates 2022-10-07 11:53:34 +03:00
kd-11 7140e82189 rsx: Fix program invalidation rules 2022-10-07 11:53:34 +03:00
Elad Ashkenazi cb743da215 sys_spu: fixup raw spu destroy regression
Caused a missed cpu_thread::state notification which is required now.
2022-10-06 12:23:51 +03:00
Elad Ashkenazi 4d24ba1f35 PPU Precompilation: Abort compilation as soon as possible on Emu.Stop() 2022-10-06 12:23:51 +03:00
kd-11 87411da95f gl: Explicitly declare gl_Position as invariant when using MESA 2022-10-06 06:41:24 +03:00
Eladash d25d1ecb3a LV2: Avoid using multi-variable atomic waiting on cpu_thread::state wait 2022-10-04 16:28:34 +03:00
Eladash 2a00a88e2a SPU LLVM: don't force-enter process_mfc_cmd() because it's slower 2022-10-04 16:28:34 +03:00
Eladash b01220d2c5 debugger: Don't refresh no-thread window at a high rate 2022-10-04 16:28:34 +03:00
Eladash 58dd2bff41 Savestates: Fix unintentional pause when saving with HLE VDEC contexts 2022-10-04 14:14:38 +03:00
Eladash f34773ed73 Savestates: Make Ctrl+R work when not ingame
Restore old behavior of Ctrl+R making it restart emulation when stoppped.
2022-10-04 14:14:38 +03:00
Eladash 9b5cc7cda7 System.cpp: Fix RSX thread abort 2022-10-04 14:14:38 +03:00
Elad Ashkenazi 77db8f04b9 Savestates: fix saving in HLE functions 2022-10-04 14:14:38 +03:00
Eladash 9319bc579c cellAudio: Always send periodic sampling events 2022-10-04 13:41:57 +03:00
kd-11 73784b9e12 Fix GCC build 2022-10-03 12:57:16 +03:00
kd-11 533f960854 rsx: Handle some more corner cases 2022-10-03 12:57:16 +03:00
kd-11 765208a181 rsx: Avoid clobbering CELL memory when splitting fbos 2022-10-03 12:57:16 +03:00
kd-11 4417701ea7 rsx: Track orphaned surfaces' parent addresses 2022-10-03 12:57:16 +03:00
kd-11 f66eaf8f44 rsx: Add some handy util functions to simple_array 2022-10-03 12:57:16 +03:00
kd-11 0dd9c386ee Fix running the emulator with AUDIT enabled 2022-10-03 12:57:16 +03:00
Eladash af8c871411 Add origin PRX names for log messages 2022-10-02 20:03:27 +03:00
brian218 50e1e6596e USIO Backup Minor Optimization 2022-10-01 17:32:22 +03:00
Malcolm Jestadt d8897c585d PPU/SPU LLVM: Allow Zen4 cpus to use VPERMI2B/VPERMT2B instead of the vperm2b256to128 path
- Zen4 based cpus can process VPERM2B in a single uop, unlike intel where it is 3 uops.
2022-10-01 15:38:29 +03:00
Megamouse 7d32dc312f Qt: pad settings: clear input data on thread pause
Fixes incorrectly disabled buttons when changing from a handler with a disconnected pad to any other handler
2022-10-01 13:49:58 +02:00
RipleyTom eff1e4bd7e CELL_NET_CTL_INFO_IP_ADDRESS returns external address 2022-10-01 11:56:41 +02:00
nastys ac50b46608 Mac CI fixes 2022-10-01 11:01:21 +02:00
kd-11 a0e2a3db1d Fix underflow in ZCULL sync 2022-09-30 23:44:37 +03:00
Elad Ashkenazi 0cc981ec18 SPU: fix atomicity of inaccurate GETLLAR 2022-09-30 15:26:08 +03:00
RipleyTom 8170b91f76 sceNpScore: return error on 0 scores returned 2022-09-28 21:58:11 +02:00
RipleyTom d1a7bb0136 Fix faulty GetScoreFriendsRequest 2022-09-28 21:58:11 +02:00
RipleyTom 56caa10e56 Fix blocking raw socket recvfrom 2022-09-28 21:58:11 +02:00
brian218 926496b59d USIO: Save Game Settings - Full Implementation 2022-09-28 16:54:55 +03:00
kd-11 102d30db2d vk: Update support for framebuffer loops to comply with current spec 2022-09-28 12:55:31 +03:00
kd-11 5281a85b67 rsx: Fix compiler warnings 2022-09-28 12:55:31 +03:00
kd-11 de28c812e8 rsx: Re-evaluate color MRT setup when the surface target type changes 2022-09-28 12:55:31 +03:00
RipleyTom eea73deab3 RPCN v0.6 2022-09-27 23:39:54 +03:00
kd-11 67c02e3522 vk: Bump compute descriptor pool size to 8k
- TODO: This should be dynamic.
2022-09-27 14:58:47 +03:00
kd-11 19dd2a693b gl: Fix transform job assert 2022-09-27 14:58:47 +03:00
Ani 3df133652a
gui: Rename full width AVX-512 (#12709)
Some people think that this is a toggle to enable and disable AVX-512 support, let's make it more clear
2022-09-26 23:40:04 +01:00
xddxd 80d2034083 Update LLVM commit (Zen Detection) 2022-09-26 20:40:26 +01:00
shinra-electric db9389d24c
[macOS] Ask CMake to look in the right place for include & link directories (#12516)
* Ask CMake to look in the right place for include_directories and link_directories on macOS (arm64 and x86_64)

Homebrew installs to a different location on Arm Macs compared to Intel Macs. 

This change prevents this error when compiling on Arm:   
`ld: warning: directory not found for option '-L/opt/local/lib'`

Use STREQUAL instead of MATCHES, since MATCHES is supposed to be used with regular expressions. 

Also update the homebrew directories for Intel, since they were wrong.

Remove the conditional check for x86 Apple, as usr/local is part of the default search path.
Tested on Intel and the warning does not appear.
2022-09-26 18:07:05 +01:00
brian218 c996be321c sys_game_board_storage_read(): Add more known code & Improve byte casting 2022-09-26 17:17:49 +01:00
Nekotekina 6ff6a4989a Implement at32() util
Works like .at() but uses source location for "exception".
2022-09-26 18:04:15 +03:00
cohaereo 2655255d4d sys_net: Implement sys_net_bnet_sendmsg for native sockets 2022-09-25 18:24:47 +03:00
Eladash 8485afa3a5 PPU debugger: report ppu_thread::ack_suspend state 2022-09-25 14:31:39 +03:00
Eladash 2759091ede Debugger: Rewind SPU captures
Very basic implementation, can be improved.
2022-09-25 14:31:39 +03:00
Eladash ae02b71a85 Savestates/Debugger: fix mfc debug option with savestates 2022-09-25 14:31:39 +03:00
Eladash 4445569bb0 Savestates: Don't actually delete savestates 2022-09-25 14:31:39 +03:00
Nekotekina a604394b20 BufferUtils: fix regression on AVX path
primitive_restart_impl::upload_untouched was broken.
Bug in vec_broadcast_gpr on AVX path.
2022-09-24 17:23:12 +03:00
kd-11 dd8a337b14 rsx: Fix some more warnings 2022-09-22 23:46:48 +03:00
kd-11 0572d44996 gl: Fix enum collision 2022-09-22 23:46:48 +03:00
kd-11 38aa116c59 Fix build 2022-09-22 23:46:48 +03:00
kd-11 61666bae69 rsx: Fix hardware deswizzle not getting used when hardware deswizzle flag is not set 2022-09-22 23:46:48 +03:00
kd-11 362a26a404 gl: Fix D24X8 accelerated encode/decode
- PS3 D24X8 is swapped as a full word, unlike PC.
- Add missing paths to handle custom swap behavior.
2022-09-22 23:46:48 +03:00
kd-11 81fa3da101 gl: Minor optimization around test..set patterns in the state tracker 2022-09-22 23:46:48 +03:00
RipleyTom bd1fb86492 Fix pkg batch install dlg on linux 2022-09-22 19:41:09 +02:00
Elad Ashkenazi 238298f695
sys_ppu_thread: Fix surmixer hack (#12689)
* sys_ppu_thread: Fix surmixer hack

* Hotfix after #12678
2022-09-21 21:10:59 +03:00
Eladash 194f7375da SPU/LV2: Fix tiny race conditions 2022-09-21 20:35:34 +03:00
brian218 3581c5b078 USIO: Save Game Settings 2022-09-21 14:43:24 +03:00
Marc Riera c5572acd38 Allow USB passthrough for Densha de GO! controller 2022-09-21 12:04:16 +03:00
nastys acc2fea7e3
Update MoltenVK to 250e1f9 and single queue (#12620) 2022-09-20 11:12:27 +03:00
kd-11 3dc7b64fa1 rsx: Fix initialization of null cubemap resources 2022-09-19 19:13:46 +03:00
kd-11 79f2c21dfb gl: Restrict compute image bindings to [0-8]
NVIDIA only supports 8 compute image slots even on modern GPUs.
2022-09-19 01:37:10 +03:00
kd-11 df36c44bc2 gl: Avoid UBO/SSBO binding index collisions
- Some drivers don't like this. Actually only RADV.
- Almost all GPUs going back 15 years have a large number of UBO slots but limited SSBO slots.
  Move UBO slots up as we have tons more headroom there.
2022-09-19 01:37:10 +03:00
Nekotekina c4db65cc08 Fix one more warning 2022-09-18 18:35:17 +03:00
Nekotekina c86ddb3b7d cellImeJp: fix regression 2022-09-18 18:35:17 +03:00
Florin9doi a1aebdc5d6
Request macOS 10.14.+ permissions (#12600) 2022-09-17 18:26:22 +01:00
Nekotekina b49a1f27eb Warning fixes 2022-09-17 16:35:02 +03:00
brian218 e7fd84e031 USIO: Keep LastGameStatus Memory 2022-09-17 10:59:28 +03:00
Eladash 9d9e18f614 CPU preemption control: don't yield if we can't stop 2022-09-16 18:57:55 +03:00
Eladash c8199de188 CPU preemption control: Improve stutter elimination 2022-09-16 18:57:55 +03:00
Eladash fc331da883 CPU preemption control: remove yield before thread stop 2022-09-16 18:57:55 +03:00
Eladash b6d3fa8c66 CPU preemption control: avoidance in reservation operations 2022-09-16 18:57:55 +03:00
Eladash 3cebea1801 CPU preemption control: extend range to 400 2022-09-16 18:57:55 +03:00
Eladash 2e9ee81dcd CPU preemption control: Improve analysis 2022-09-16 18:57:55 +03:00
Eladash cf4da5c4d1 CPU preemption control: bugfixes 2022-09-16 18:57:55 +03:00
Eladash 9d1ec0b319 CPU preemption control: try to minimize sleep time gaps between setups 2022-09-16 18:57:55 +03:00
Eladash 9c5108c1ca CPU preemption control: Add one more debug variable 2022-09-16 18:57:55 +03:00
Eladash 2807be7080 SPU: Regression fix after #12648 2022-09-13 20:11:30 +03:00
Eladash ec7b18dab5 Implement independent CPU preemptions 2022-09-13 19:28:20 +03:00
brian218 b9e20dc5c9 sys_game_board_storage_read(): Fix regression after #12637 2022-09-13 12:57:43 +03:00
Eladash cfdc852f03 SPU: Power consumption reduction when using SPU inaccurate reservations 2022-09-13 11:21:01 +03:00
Eladash 92514e33bb Avoid reservation notifications in liblv2.sprx 2022-09-13 11:21:01 +03:00
kd-11 572a2a06d1 rsx: Properly reset occlusion counters even when the register is not in use. 2022-09-12 17:15:06 +03:00
Eladash f076fcd539 cellMusic: Implement some error checking 2022-09-12 15:04:23 +03:00
Eladash 4ac59875af ppu: add some debug information 2022-09-12 15:04:23 +03:00
Eladash 780ca38f2f SPU: Extend Inaccurate SPU reservations 2022-09-12 14:16:39 +03:00
Ethan Rushbrook 97ea5e9dba readme: improvements
Fixed platform availability
Fixed discord link (discord.me is not valid)
2022-09-12 13:34:58 +03:00
Yui 9e83bc6544
Add the ability to set the PSID from the configuration (#12637) 2022-09-12 13:23:13 +03:00
Eladash 37aefe5811 sys_ppu_thread: Fix max thread name size 2022-09-12 12:57:39 +03:00
kd-11 d686b48f65 rsx: Simplify FIFO concurrent access. 2022-09-09 23:17:27 +03:00
kd-11 f319362e35 vk: Fix queue concurrency behavior for images 2022-09-09 23:17:27 +03:00
kd-11 0d9b1654ec asm: Avoid ALU instructions on busy wait cycles 2022-09-09 23:17:27 +03:00
kd-11 940e726754 rsx: Minor FIFO cleanup 2022-09-09 23:17:27 +03:00
kd-11 f43824762a rsx: Get rid of an allocation in analyse_vertex_data that adds about 5% overhead.
This method is called many thousands of times per frame and that single allocation introduces a small perf hit.
Just get rid of it, it doesn't improve anything to have it there.
2022-09-09 23:17:27 +03:00
kd-11 cd53bb7eff rsx: Avoid on-the-fly ZCULL allocations with unordered_map 2022-09-09 23:17:27 +03:00
Eladash 60fc90bb8e System.cpp: Fix Create Firmware Cache 2022-09-08 19:38:11 +03:00
Nekotekina a9437d69ab simd_builder: fixups
Fix resetting vmask in reduce() step.
Fix AVX-512 loads in vec_load_unaligned().
Fix bzhi reg size in build_look().
2022-09-08 18:12:15 +03:00
Nekotekina 5d91caebe9 Linux: delete /tmp/perf.map on exit 2022-09-08 16:56:06 +03:00
Eladash eb4131e1c7 cellGame: Minor revert
I think there are many more bugs here..
2022-09-07 20:42:23 +03:00
Eladash 07f0ba213e SPU: Allow special channel storage in channel busy waiting period
Move code to SPUThread.cpp.
2022-09-07 20:42:23 +03:00
Eladash 48382564d1 SPU: Implement "quintuple" Inbound MBOX storage 2022-09-07 20:42:23 +03:00
Eladash 274386a078 rsx: Add some debugging information 2022-09-07 18:39:32 +03:00
Eladash 557d015662 System.cpp: Fix Create PPU Cache regression 2022-09-07 18:39:32 +03:00
Nekotekina 5985f0eefa BufferUtils: cleanup regarding ARM64 2022-09-07 17:59:07 +03:00
Nekotekina 82258915da BufferUtils: rewrite remaining intrinsic code with simd_builder 2022-09-07 17:59:07 +03:00
Nekotekina 11a1f090d3 BufferUtils: simd_builder refactoring
Some simplifications implemented.
2022-09-07 17:59:07 +03:00
sguo35 a0d48c588a spu/arm64: clean up assembly code generation
Clean up asmjit usage so we don't unnecessarily allocate memory
anymore for SPURecompiler functions.
2022-09-07 17:33:01 +03:00
Eladash 5e2424da58 IdManager.cpp: Fix cellFs IDs 2022-09-07 17:05:51 +03:00
Eladash 72a6696f5c cellGame Fix PS3 disc insert 2022-09-07 17:05:51 +03:00
brian218 9087116ee5 Fix USIO fault when it received unsupported FW commands 2022-09-07 16:42:37 +03:00
Eladash 89e0dcba5e cellVdec: Adjust for reservations 2022-09-07 16:05:56 +03:00
Eladash 7698064f5a SPU: Untangle VM lock to avoid deadlocks 2022-09-07 16:05:56 +03:00
Megamouse ab31e96385 Qt: batch stack suffix updates
No need to patch the suffix every single time. We can just do it when we exit the stack loop.
2022-09-05 21:20:14 +02:00
Megamouse a9dcad629b Qt: fix weird missing space in stack log 2022-09-05 21:20:14 +02:00
Megamouse e49679484a Qt: simplify log logic. We can in fact only flush once.
Also invert a negation
2022-09-05 21:20:14 +02:00
Elad Ashkenazi 290226539f
Fix ARM build (#12606) 2022-09-04 21:11:04 +03:00
brian218 75efc79930 Implemented sys_game_board_storage_read() 2022-09-04 13:28:05 +03:00
Nick Renieris 905496e926 PPU: Fix STVLX
Fixes Sly 2 and Sly 3 crash on boot (RSX desync).
2022-09-04 12:27:29 +03:00
srive 64579eef7e Update tooltips.h 2022-09-02 08:59:08 +02:00
Elad Ashkenazi e0a648240f Unlog sceNpUtilCmpNpId 2022-09-02 08:29:09 +02:00
Eladash 7bad8f3348 Savestates/SPU: Minor fixup after fb01ed55 2022-09-01 20:09:28 +03:00
Eladash 11a197a387 Savestates/RSX: fix unintentional vblank thread spin after abort 2022-09-01 20:09:28 +03:00
Eladash ee1384341e rsx: Implement atomic vertex upload (with Strict Rendering Mode) 2022-09-01 20:09:28 +03:00
Eladash fb01ed55e5 SPU: Fix potential deadlock in event queue syscalls 2022-09-01 19:03:38 +03:00
Elad Ashkenazi 5a0a5d9ff1
vm.cpp: Fix emulation stopping on SPU access violation (#12586) 2022-09-01 18:23:18 +03:00
Nekotekina 58e3232710 BufferUtils: Fix regression in upload_untouched 2022-09-01 17:39:04 +03:00
Ani 2cd7238e76 rpcs3_version: Bump to 0.0.24 2022-08-31 23:24:42 +01:00
Ani 21f0043b27
gui/themes: YoRHa by Ani (r3) (#11585) 2022-08-31 22:47:42 +01:00
Elad Ashkenazi b7599c0f30 Update Thread.cpp 2022-08-31 22:19:05 +03:00
Elad Ashkenazi d8494ef1ae Update Thread.cpp 2022-08-31 22:19:05 +03:00
Elad Ashkenazi 727b32e886 RawSPU: Do not assume GPU memory fault on SPU MMIO 2022-08-31 22:19:05 +03:00
Ani 8124efa505 cubeb: Update from 2022.04.13 to 2022.07.21 2022-08-31 17:59:35 +01:00
Ani a5cff4d797 glext: Update from 2021.04.20 to 2022.05.30 2022-08-31 17:59:35 +01:00
Ani d1e5828644 XAudio2: Update from 1.2.8 to 1.2.9 2022-08-31 17:59:35 +01:00
Ani 18d73d6d76 FAudio: Update from 22.07 to 22.08 2022-08-31 17:59:35 +01:00
Ani 4a3a24dcc1 7z: Update from 21.07 to 22.01 2022-08-31 17:59:35 +01:00
Eladash 591159c4a9 Debugger: Prevent possible "current instruction" duplication when the thread is running 2022-08-30 08:57:33 +02:00
Eladash 7baf959975 Avoid empty resume output when using PPU debug option 2022-08-30 08:57:33 +02:00
Eladash 3f02935844 Add some debugging information 2022-08-30 08:57:33 +02:00
RipleyTom f98251a05a Fixes -w leaking 2022-08-30 07:46:42 +02:00
Nekotekina 80f0741103 simd_builder: fix constant locations 2022-08-29 14:32:56 +03:00
Nekotekina e28707055b Implement simd_builder for x86
ASMJIT-based tool for building vectorized loops (such as ones in BufferUtils.cpp)
2022-08-28 18:38:52 +03:00
brian218 698c3415ea Fixed SIG: Thread terminated due to fatal error: Failed to read hex string: invalid argument
Fixed the error which occurred when a game attempted to read the VID/PID of an undefined VFS USB device:

SIG: Thread terminated due to fatal error: Failed to read hex string: invalid argument
(in file C:\Users\ContainerAdministrator\AppData\Local\Temp\cirrus-ci-build\rpcs3\Emu\Cell\lv2\sys_fs.cpp:1942[:25], in function sys_fs_fcntl)
2022-08-26 08:45:14 +02:00
Eladash daf43989fc Thread.h: Improve thread abort performance 2022-08-25 23:54:56 +03:00
Eladash c7586de280 Savestates/sys_fs: Fix saving encrypted and split-files file descriptors 2022-08-25 23:54:56 +03:00
Eladash 506b9deec5 Savestates/SPU LLVM: Improve saving performance 2022-08-25 23:54:56 +03:00
kd-11 1fc0191311 Fix build 2022-08-23 23:49:46 +03:00
kd-11 1f9e04f72d rsx/vk: Implement flushing surface cache blocks to linear mem 2022-08-23 23:49:46 +03:00
Eladash a71bdc761e SPU/Debugger: Improve debugging reservations
Simplify and make the debugging results more consistent.
2022-08-22 18:24:26 +03:00
Eladash 9d8f4d5cfa Bugfix after #12523 2022-08-22 18:24:26 +03:00
Eladash ee87fdc869 Fix GETLLAR spin detection 2022-08-22 08:33:22 +03:00
Eladash bf63a18c5f SPU Add ability to specify percentage of busy waiting 2022-08-21 15:02:01 +03:00
Eladash ddba30988b vm: Attempt to not remove cpu_flag::wait flag during access violation 2022-08-21 15:02:01 +03:00
Eladash b0e2c959eb SPU: Disable notification if no changes were made in PUTLLC 2022-08-21 15:02:01 +03:00
Eladash 28bec8e1bf SPU: Implement custom reservation condition in atomic wait 2022-08-21 15:02:01 +03:00
Eladash 86702186f2 PPU: Detect lwmutex reservation pattern and optimize it 2022-08-21 15:02:01 +03:00
Eladash 82b1a2bd7a SPU: add the concept of inaccurate reservations
Implement cellSpursRequestIdleSpu
2022-08-21 15:02:01 +03:00
Eladash d36cf71a2d Savestates: Fix PPU analysis when patches are applied 2022-08-21 15:02:01 +03:00
Eladash 1dd1062be1 PPU LLVM: Fix HLE function injection 2022-08-21 15:02:01 +03:00
Eladash c0e3b86064 SPU: Optimize spu_thread::get_events() 2022-08-21 15:02:01 +03:00
Eladash 6210a8491f SPU: Optimize and enable SPU GETLLAR Polling detection by default
* Make this setting guard all reservation waitings. (renamed)
* Revert atomic list usage: it's more expensive and not needed because it has a timeout and is not optimized for the rest of the waitables.
2022-08-21 15:02:01 +03:00
Eladash 33a4f05ffa SPU: Interleave loads/stores in reservation access utilities 2022-08-21 15:02:01 +03:00
Ani a74d3005f8
vk: Update FSR from 1.0 to 1.0.2 (#12538) 2022-08-20 17:37:42 +01:00
kd-11 bca833dad7 Fix surface reuse 2022-08-20 01:23:15 +03:00
kd-11 f981e05908 rsx: Do not lie about surface details 2022-08-20 01:23:15 +03:00
kd-11 b5abd777b0 rsx: Allow longer dispatch queues to accomodate games with high draw call count 2022-08-19 20:29:32 +03:00
Elad Ashkenazi b2c9add47e rsx: Fix semaphore timeout on boot
Allow semaphore timeout to be disabled again.
2022-08-19 15:40:20 +03:00
kd-11 a401a192b8 Fixup for dst_stage 2022-08-19 14:29:20 +03:00
kd-11 ad1b007dd1 Fix whitespace 2022-08-19 14:29:20 +03:00
kd-11 71e35c8b4d vk: Implement support for VK_EXT_attachment_feedback_loop_layout 2022-08-19 14:29:20 +03:00
kd-11 2e504b2dac rsx: Silence some warnings 2022-08-19 14:29:20 +03:00
Jan Beich 6e9df9e452 CI: upgrade FreeBSD to 13.1
FreeBSD doesn't support /latest and /quarterly package repos on EOL
versions. 13.0 reaches EOL on 2022-08-31, so avoid CI breakage.
2022-08-19 13:46:01 +03:00
Trevor Mack 8aa5899196 Update BUILDING.md
Updating the 'Configuring the Qt plugin' section with more details and for the new versions of the plugin.
2022-08-18 08:41:46 +02:00
Nekotekina b6608ad31d vm_native: rewrite win7 workaround 2022-08-15 12:26:17 +03:00
kd-11 edb39039dd Fix linux build 2022-08-14 23:53:50 +03:00
kd-11 bacf518189 rsx: Fix 2D intersection tests 2022-08-14 23:53:50 +03:00
kd-11 1244044647 util: Provide stack-trace utilities 2022-08-14 23:53:50 +03:00
kd-11 b960ce1426 vk: Align write length when pre-filling buffers with constant patterns 2022-08-14 23:53:50 +03:00
kd-11 c55a889c23 vk: Initialize buffer info blocks to avoid null descriptors 2022-08-14 23:53:50 +03:00
Megamouse 829af30568 evdev: add motion device 2022-08-14 11:04:57 +02:00
Eladash a3007e11ca SPU: Fix minor race in sys_spu_thread_receive_event
Check final cpu_state::state value for suspend state because that's the variable the thread waits on.
2022-08-12 15:20:48 +03:00
Eladash 9a981b5292 rsx_debugger: Fix memory leak 2022-08-12 15:20:48 +03:00
Eladash 4464a6c3f6 CG-Disasm: Name input/output vetex arrays 2022-08-12 15:20:48 +03:00
Eladash d30ac20fad Debugger: Fix and use centered PC by default
* Fix instruction-selection dependent functionality.
* Remove odd instruction position jumps in add/remove breakpoint.
* Make PC fixate at 1/3 of the frame because knowing future instructions is more important than knowing the previous.
2022-08-12 15:20:48 +03:00
Nekotekina 7bb2d94e53 vm: use sparse files to emulate overcommit memory
Fix shm::map_critical page flags.
2022-08-12 13:59:03 +03:00
Eladash 7ff4509858 sys_lwcond: Fix a loose notification in cond wait 2022-08-11 12:44:40 +03:00
Eladash f2997e4c00 LV2: Fix the most annoying race ever
Timeline of the race:
1. The PPU is in SLEEP state. state = suspend.
2. lv2_obj::awake is called on the traced thread and is now in ONPROC state, state = signal.
3. lv2_obj::awake is called by another thread externally with a priority higher than our traced thread and appends it to g_pending. state = suspend + signal.
4. lv2_obj::sleep/set_priority (higering priority) is called on any thread which is in ONPROC. Causing it to enter SLEEP or RUNNING state, while the traced thread is back in queue in ONPROC. state = suspend + signal.
5. The traced thread finally calls lv2_obj::awake on itself, g_pending decrements to 0 and we a have a rescheduling event, after XOR state = 0!!! (no signal)
6. In check_state: cpu_sleep_called is now true and remains this way.
7. Another thread with a higher prioty kicks in and appends the traced thread into g_pending. state = suspend.
8. The traced thread is at cpu_thread::cpu_wait(), and that's where it's gonna spend the rest of its life.
2022-08-11 12:44:40 +03:00
Eladash 133e9d4705 CPUThread.cpp: Fix cpu_flag::pending reset 2022-08-11 11:42:16 +03:00
Eladash 501ca4bcf5 logs: Prevent potential deadlock of the main thread in stack mode
If a thread logs faster than the GUI thread can print on screen.
2022-08-11 11:42:16 +03:00
Eladash 9212942724 kernel_explorer: Add info about ppu_thread::ack_suspend
The wording is bad but unless the emulation went downhill it shouldn't print on screen repeatedly.
2022-08-11 11:42:16 +03:00
Eladash 683c1a6512 LV2: Optimize sys_ppu_thread a bit 2022-08-11 11:42:16 +03:00
Eladash 9b0d33048c Savestates/LV2: Fix race on _sys_lwcond_queue_wait saving
cpu_flag::again modification requires exclusive access.
2022-08-11 11:42:16 +03:00
Eladash bc8bf2c329 sys_cond/lwcond: Fix waiting time in the debugger for mutex lock 2022-08-11 11:42:16 +03:00
Elad Ashkenazi f0002501f7 sys_mutex/lwmutex: Regression fixes after #12378 2022-08-11 11:42:16 +03:00
Elad Ashkenazi c4cc0154be LV2: Optimizations and fixes
Fix and optimize sys_ppu_thread_yield

Fix LV2 syscalls with timeout bug. (use ppu_thread::cancel_sleep instead)

Move timeout notification out of mutex scope

Allow g_waiting timeouts to be awaked in scope
2022-08-11 11:42:16 +03:00
shinra-electric cba4c3cdc4
[macOS] Update hid_pad_handler.cpp to prevent DS4 from disconnecting (#12493)
Prevents DS4 (and possibly DS3) from disconnecting from bluetooth after 15 minutes by using hidapi's non-exclusive mode. 
The most recent version of hidapi, 0.12 from two months ago, added "macOS-specific function(s) to open device(s) in non-exclusive mode".
2022-08-11 07:14:37 +02:00
kd-11 c51d3b5465 Workaround for msvc weirdness 2022-08-09 18:32:54 +03:00
kd-11 e179adc4a0 rsx: Refactor surface cache storage 2022-08-09 18:32:54 +03:00
Elad Ashkenazi 47f3740a70
System.cpp: Replace std::filesystem usage (#12474) 2022-08-08 05:46:32 +03:00
nastys 2880370047
Update MoltenVK (#12456) 2022-08-07 20:54:31 +01:00
kd-11 61a055a1c6 Tuning 2022-08-07 22:14:49 +03:00
kd-11 64b4cfa59f rsx: Erase surface background when reloading after a pitch mismatch 2022-08-07 22:14:49 +03:00
kd-11 c799ffd223 rsx: Stubs for pitch conversion 2022-08-07 22:14:49 +03:00
Eladash 2ec039365f shared_mutex: Optimize busy-waiting by detecting waiters and try to steal the notifying bit
Add an unused has_waiters() method.
2022-08-07 20:23:54 +03:00
Eladash 26e731b487 LV2: Re-add dropped optimization by previous commit
Currently only for lock-free syscalls.
2022-08-07 20:23:54 +03:00
Eladash 34bae90820 LV2: Move nearly all notifications out of all mutex scopes including IDM 2022-08-07 20:23:54 +03:00
Eladash b55a052a22 IdManager.h: Do not lock IDM mutex if the preliminary ID check failed
Optimizes common ESRCH failures. (lambda variants only atm)
2022-08-07 20:23:54 +03:00
Eladash 011aabe9ed LV2: Make sys_mutex and sys_lwmutex lock-free, add some busy waiting in sys_mutex_lock 2022-08-07 20:23:54 +03:00
Eladash a17a6527f6 LV2: Move memory unlocking outside of mutex ownership and make it conditional 2022-08-07 20:23:54 +03:00
Eladash 122c6256ca A fix of _spurs::add_workload 2022-08-07 20:23:54 +03:00
Eladash 73aaff1b29 LV2: allocation-free synchronization syscalls
* Show waiters' ID in kernel explorer.
* Remove deque dependency from sys_sync.h
2022-08-07 20:23:54 +03:00
Eladash c7fbc16357 SPU: Postpone notifications to afterward group mutex ownership 2022-08-07 20:23:54 +03:00
Eladash bc728db15b LV2: Add busy waiting before entering atomic wait 2022-08-07 20:23:54 +03:00
Eladash 2eebbd307d LV2: Minor optimization regarding signal flag 2022-08-07 20:23:54 +03:00
Eladash dc851a729e LV2: Postpone thread notifications to afterward mutex ownership(s) 2022-08-07 20:23:54 +03:00
Eladash 6007fd630f Do not use lv2_obj::g_waiting when not needed in sys_timer_usleep 2022-08-07 20:23:54 +03:00
Megamouse cb0ecb2afb cellPngEnc 2022-08-06 10:35:10 +02:00
sguo35 84a785ea67 arm64: implement pshufb intrinsic 2022-08-05 22:53:11 +02:00
sguo35 cc1e4d2194 ppu/arm64: don't restore rsp on ppu_gateway return
Don't restore rsp on ppu_gateway return, since it can be reentrant. Also
change some registers to align with the x86 version's 32bit/64bit
usages.
2022-08-05 22:53:11 +02:00
Megamouse b2d84dcebd Qt: Add save filtered log to menu of log viewer 2022-08-05 20:50:51 +02:00
Megamouse 958d77ba52 Qt: filter log viewer when opening a file 2022-08-05 20:50:51 +02:00
Megamouse c4b38869ab Input: fix pad initialization 2022-08-05 20:16:21 +02:00
Eladash fd1968dd22 Savestates: Save SFO directory path for PSN games 2022-08-05 19:19:16 +03:00
Elad Ashkenazi 88b80ebdf5
sys_net: Fix missing locks in some syscalls (#12459) 2022-08-04 21:31:34 +03:00
kd-11 2445ab8d8e Fix RSX capture playback 2022-08-04 19:01:45 +03:00
Elad Ashkenazi 0e1931f178
sys_lwcond: Fix rare race on mode 3 signal (#12413) 2022-08-04 14:13:51 +03:00
kd-11 3e923b4993 rsx: Optimize VTX_FMT_SNORM16 decoding
- Cuts down SNORM16 overhead by ~65%
2022-08-03 23:33:31 +03:00
kd-11 8181498d86 gl: Alias UBO/SSBO slots to avoid exceeding the available number of binding slots.
- The sets are different anyway and should not overwrite each other in a proper driver.
2022-08-03 23:33:31 +03:00
kd-11 57dd611111 gl: Fix incomplete stencil view of depth-stencil texture
- Samplers must use point sampling for stencil views
2022-08-03 23:33:31 +03:00
Eladash b3162bd41c rsx/vp: Fix SNORM16 vertex decoding 2022-08-03 18:11:46 +03:00
Elad Ashkenazi cd2adbad9a Update rsx_methods.cpp 2022-08-03 17:15:59 +03:00
Elad Ashkenazi 99730ac4f9 Update rsx_methods.cpp 2022-08-03 17:15:59 +03:00
Elad Ashkenazi d2ab3383ad Update rsx_methods.cpp 2022-08-03 17:15:59 +03:00
Elad Ashkenazi 3b15a6b39e Update rsx_methods.cpp 2022-08-03 17:15:59 +03:00
Elad Ashkenazi 651e58f443 rsx: Trivial optimization 2022-08-03 17:15:59 +03:00
Eladash 769f9e33e9 Savestates/RSX: Fix fifo_control::restore_state 2022-08-03 15:35:41 +03:00
Eladash cf77bb7cfc Savestates/MSVC: Replace bugged std::unique (compiler bug) 2022-08-03 15:35:41 +03:00
Megamouse c75b76ddf5 cellPhotoImport: fallback to extension if sub_type is unknown 2022-08-02 01:43:23 +02:00
Megamouse 4dec8d7925 cellPhotoImport: allow dev_hdd1 2022-08-02 01:43:23 +02:00
Megamouse 934e7b614c cellPhotoExport/cellVideoExport: fix filenames 2022-08-02 01:43:23 +02:00
Megamouse 416b14de72 cellPhotoExport: first implementation 2022-08-01 19:11:14 +02:00
Megamouse b87099c790 cellVideoExport: fix some copy pasta errors and prevent file overwrite 2022-08-01 19:11:14 +02:00
kd-11 052725fdc7 rsx: Do not require ZCULL buffer binding to enable ZPASS counting
- ZPASS data is still accessible in unbuffered mode.
  The only thing that buffered ZCULL enables is something closer to early-Z where large blocks of pixels can be dicarded earlier.
  It is strictly a performance optimization and not required for ZPASS to work.
- Update ZCULL stat calculations to take into account unbuffered Z
2022-08-01 00:23:54 +03:00
Megamouse f90b79791f HLE: fix file not found errors in media functions 2022-07-31 16:45:05 +02:00
RipleyTom 4c32c95b33
Enable wolfssl fast-math option (#12427) 2022-07-30 18:19:19 +01:00
Megamouse c00d47cc99 Update wolfssl to v5.4.0-stable 2022-07-30 14:33:14 +02:00
Megamouse ea53c7dc85 Update curl to curl-7_84_0 2022-07-30 14:33:14 +02:00
Megamouse 2b923c681e Update FAudio to 22.07 2022-07-30 14:33:14 +02:00
Elad Ashkenazi 7a8e918519 Update System.cpp 2022-07-30 08:33:09 +02:00
Elad Ashkenazi d99ae3809d Update keyboard_pad_handler.cpp 2022-07-29 13:45:19 +02:00
Malcolm Jestadt 51e6d0a336 SPU LLVM: Add integer compare optimization for FCMGT 2022-07-29 11:59:59 +03:00
Megamouse 228844c017 overlays: fix line wrapping and position of lines
- Fix off by one issue when we wrapping a line caused by unnecessary zeroed whitespaces.
- Fix centering of lines that end with carriage return caused by overzealous reset of counters.
- Remove fabs where there shouldn't be any
2022-07-29 09:26:45 +02:00
Megamouse 87e628a9e9 cellPhotoDecode: optimize get_scaled_image 2022-07-29 08:05:35 +02:00
Megamouse e6885e25b5 Qt: fix image ratio in screenshot_manager_dialog 2022-07-29 03:14:29 +02:00
Megamouse f31ffc4596 Implement cellPhotoDecode 2022-07-28 09:06:48 +02:00
Megamouse 4114f00c05 cellPhotoImport: fix vfs path and add some logging 2022-07-28 09:06:48 +02:00
Megamouse 8f7209f886 cellMusicSelectionContext: fix log message facepalm 2022-07-27 07:39:55 +02:00
Megamouse d80146c704 cellMusic: Fix resume, fast forward and rewind
- Sadly rewind does not work with the QMediaPlayer on windows
2022-07-27 07:39:55 +02:00
Megamouse 577f379a12 implement cellPhotoImport 2022-07-26 17:27:35 +02:00
Megamouse 3d73915358 cellSearch: improve populate_photo_info, read image headers 2022-07-26 17:27:35 +02:00
Megamouse a5317d50a5 cellMusicSelectionContext: log playlist 2022-07-26 17:27:35 +02:00
MSuih 143bd6cc80 Fix typo in tooltips.h 2022-07-25 21:28:24 +02:00
MSuih 5cc8f970c0 Fix minor issues with issue templates 2022-07-25 21:28:24 +02:00
kd-11 c9058280e0 vk: Fix a potential deadlock 2022-07-25 21:05:31 +03:00
kd-11 5af50cfd55 vk: Handle corner cases
- Fix up flush sequence in DMA handling (WCB)
- Do not request resource sharing if queue family is not different!
2022-07-25 21:05:31 +03:00
kd-11 d846142f0c vk: Reimplement compliant async texture streaming
- Use CONCURRENT queue access instead of fighting with queue acquire/release via submit chains.
  The minor benefits of forcing EXCLUSIVE mode are buried under the huge penalty of multiple vkQueueSubmit.
  Batching submits does not help alleviate this situation. We simply must avoid interrupting execution.
2022-07-25 21:05:31 +03:00
Elad Ashkenazi 0ba0f9d2b9
Disable Disc update redirection for manual ELF loader (#12381) 2022-07-22 20:35:15 +02:00
Elad Ashkenazi f4f9c1865e
Savestates: Implement compatibility with disc Demon's Souls (#12379)
* Savestates: Implement compatibility with virtual /dev_bdvd/PS3_GAME
2022-07-22 19:23:23 +03:00
Megamouse c40439ae6b cellMusic/Decode: implement playlist shuffle and repeat 2022-07-22 08:42:43 +02:00
Megamouse 683fa2a392 Mount custom dev_bdvd if a disc game was mounted from dev_hdd0 2022-07-22 07:36:49 +02:00
kd-11 246bf1df64 Use C++17 ctor for string_view 2022-07-21 22:29:40 +03:00
kd-11 9a868e9239 gl: Silence compiler warning 2022-07-21 22:29:40 +03:00
kd-11 ab3cde1939 gl: Do some macro patching for intel driver 2022-07-21 22:29:40 +03:00
kd-11 bec3e156fb vk: Disable robust buffer access for ANV
- Robust access is nice, but we don't actually need it
2022-07-21 22:29:40 +03:00
Megamouse 086afbbaa5 overlays: implement back and focus in media_list_dialog 2022-07-21 01:36:33 +02:00
Megamouse cd4d73114c overlays: fix media_list_dialog title 2022-07-21 01:36:33 +02:00
Megamouse 14ca506774 Qt/savedata: use rsx overlays selection_code 2022-07-21 01:36:33 +02:00
MSuih 984bf67d84
Replace issue templates with issue forms (#12373) 2022-07-20 20:22:12 +01:00
Eladash 2b3ae8b638 Revert another change 2022-07-20 18:11:52 +03:00
Eladash bb9ae18c71 Savestates: Fix sys_rwlock_wunlock saving 2022-07-20 18:11:52 +03:00
Eladash ce01457510 Fix futile wait regression in sys_lwcond_signal 2022-07-20 18:11:52 +03:00
Megamouse d1a46b491e cellMusic: add some error checks and copy context to callback 2022-07-20 07:09:38 +02:00
Elad Ashkenazi 31df99f7d6
Logs: Flush unreported errors when turning off Stack Cell errors (#12366) 2022-07-19 17:05:51 +02:00
Eladash 5e11b2b056 log_frame: Minor fix for stack mode 2022-07-19 10:43:51 +03:00
Eladash d106934336 Savestates: Fix saving sys_mutex_unlock 2022-07-19 10:43:51 +03:00
Eladash 68718361a7 Allow non-existing paths in vfs::retrieve 2022-07-19 10:43:51 +03:00
Eladash c887865d54 Perform cleanup after Emulator::Load failures 2022-07-19 10:43:51 +03:00
Eladash dc48944979 Prefer BDVD over HDD0 in vfs::retrieve 2022-07-19 10:43:51 +03:00
Eladash d22b8b1d3a Savestates: Do not restart after Ctrl+S for now 2022-07-19 10:43:51 +03:00
Eladash 56619b20cf Savestates: savestate reload fix 2022-07-19 10:43:51 +03:00
Eladash 12ebf77e22 Savestates: save sys_spu_initialize settings 2022-07-19 10:43:51 +03:00
Megamouse 845af8bd96 cellGifDec: random stuff because I was bored 2022-07-18 22:23:25 +02:00
kd-11 680f08c2b8 gl: Destroy barrier signals correctly 2022-07-18 18:58:22 +03:00
kd-11 82bac4173e gl: Reuse scratch images 2022-07-18 18:58:22 +03:00
kd-11 8a8fda3e02 gl: Combine RGBA8/D24S8 readback and byteswap into one operation 2022-07-18 18:58:22 +03:00
kd-11 1c5b685398 gl: Only toggle state settings that are relevant to the current RSX state 2022-07-18 18:58:22 +03:00
kd-11 e95084f138 gl: Use DSA for imageview configuration and avoid needless bind operations 2022-07-18 18:58:22 +03:00
kd-11 e12d268662 gl: Implement support for texture1D decode 2022-07-18 18:58:22 +03:00
kd-11 6a3f17cd36 gl: Fix compute invocation counts for format handling code 2022-07-18 18:58:22 +03:00
Erik S. V. Jansson db0774a81b Fix spirv/glslang.vcxproj build to support spaces.
e.g. cloning into D:\Source Code\C++\rpcs3 will cause spirv and glslang
to error during MSBuild. All other parts of rpcs3 compile fine so these
are probably the only places which fail when the project is placed in a
path with spaces in it. I've at least been able to compile + run rpcs3.
2022-07-18 01:27:56 +03:00
Megamouse 34615d3a74 cellMic: slow down if no mics are configured 2022-07-17 19:31:05 +02:00
Zion Nimchuk 189499c10b Fix shellcheck errors 2022-07-17 15:14:02 +03:00
Zion Nimchuk de613a8a98 Docker version bump 2022-07-17 15:14:02 +03:00
Eladash c0369b2e10 sys_net: Implement sys_net_abort 2022-07-17 14:53:03 +03:00
Megamouse 07ebbb6c84 cellSysutilAvc2SetStreamingTarget: remove ensure 2022-07-16 20:09:13 +02:00
sguo35 73ed657e00 spu/arm64: fix 16 byte branch patch alignment 2022-07-15 12:37:33 +03:00
sguo35 b37217b181 windows: fix build for asmjit update 2022-07-15 12:37:33 +03:00
sguo35 b02e6e222f arm64: enable fma and "avx" on Apple and Cortex CPUs 2022-07-15 12:37:33 +03:00
sguo35 c52abed4d3 spu: implement ubertrampoline generator for arm64
Implement the ubertrampoline generator for arm64. It generally follows
the x86 version, but uses asmjit to generate code instead of writing raw
opcodes to memory, trading memory usage for readability. Currently the
trampoline implementation is fairly inefficient in terms of instruction
size and is substantially larger than the x86 version.
2022-07-15 12:37:33 +03:00
sguo35 9e57efe82c spu: implement assembly functions for arm64 2022-07-15 12:37:33 +03:00
sguo35 77ab872bec spu: remove rotqby C++ impl
rotqby C++ implementation is broken, since replacing it with the
intrinsic version reliably fixes spurs test. A conditional branch
immediately after a rotqby instruction will fail using the C++ version
but succeed using the intrinsic.
2022-07-15 12:37:33 +03:00
sguo35 27acebc5f5 spu: use portable llvm recompiler on arm64
Since there is not yet an arm64 version of the assembly (fast) version.
2022-07-15 12:37:33 +03:00
sguo35 2755d9941c ppu: fix a bug where arm64 sp wasn't being saved
ASMJIT can silently fail and drop instructions when invalid operations
are performed (e.g. loading/storing sp). Explicitly move sp to a gp
register before doing loads/stores to fix this.
2022-07-15 12:37:33 +03:00
sguo35 488982f424 spu: external function calls should be marked non-tail
Mark external function calls as non-tail, since they aren't tail calls
and assuming they are will cause returns to fail in Arm64 GHC CC.
2022-07-15 12:37:33 +03:00
sguo35 086e12c6ca mac: mmap calls should initialize with r/w page perms
Mac/Arm64 pages should be R/W by default due to 16k page
incompatibility. Without this there will be segfaults due to invalid
permissions.
2022-07-15 12:37:33 +03:00
sguo35 9b19f16698 arm64: add optimized 16byte ld/st for armv8.4a+
16B ldp/stp are atomic on v8.4a+. See Arm Architecture Reference Manual,
"Changes to single-copy atomicity in Armv8.4". Add load/release atomic
impls for this instruction and add detection for 8.4a+ capability.
2022-07-15 12:37:33 +03:00
sguo35 b13fd68848 [3rdparty] update asmjit dependency 2022-07-15 12:37:33 +03:00
Eladash 3e51426379 Savestates/SPU: Kill emulation when its safe to save SPU state 2022-07-15 09:30:53 +03:00
Megamouse 105781fa76 overlays: properly align lines with leading or trailing whitespace 2022-07-14 23:32:20 +02:00
Megamouse d2be12bb07 overlays: find missing characters lost during wrapped rendering 2022-07-14 23:32:20 +02:00
Megamouse fdc15e12c4 overlays: properly calculate offsets for wrapped text 2022-07-14 23:32:20 +02:00
Eladash e548743cbf Fixup rsx cpatures 2022-07-14 18:50:31 +03:00
Megamouse 7499f875a6 cellCrossControllerInitialize: add dialog 2022-07-13 19:12:46 +02:00
kd-11 cdef752a9c gl: Fix 2D->3D splat in CopyBufferToImage 2022-07-13 02:09:58 +03:00
kd-11 1483941bea gl: Implement row alignment in CopyBufferToImage routines 2022-07-13 02:09:58 +03:00
kd-11 9cc15be7f2 Fix linux build 2022-07-13 02:09:58 +03:00
kd-11 453e1bfaec gl: Silence compiler warning 2022-07-13 02:09:58 +03:00
kd-11 82439327fa gl: Support loading data from SSBO using compute shaders
- Gives better performance than using raw draw calls.
- Does not work with all formats. The draw call version is still used when needed.
2022-07-13 02:09:58 +03:00
kd-11 f60002e87d gl: Optimize memory barriers a bit
- Move waits to server side
- Increase the scratch buffer size to avoid waiting on barriers
2022-07-13 02:09:58 +03:00
kd-11 9fc6382909 gl: Finalize BGRA storage format internals
- Performance is terrible but it works properly now
2022-07-13 02:09:58 +03:00
kd-11 ebad08aa97 gl: Fix image creation for virtual formats 2022-07-13 02:09:58 +03:00
kd-11 599f1dd157 gl: Properly match BGRA RTT formats 2022-07-13 02:09:58 +03:00
kd-11 bb5ce67d57 gl: Handle corner cases for CopyBufferToImage
- Handle 3D textures and cubemaps
- Handle writing to mip > 0
2022-07-13 02:09:58 +03:00
kd-11 f948ce399e gl: Implement CopyBufferToImage in software
- Overrides the drivers CopyBufferToImage handling where possible
2022-07-13 02:09:58 +03:00
kd-11 954c60947d gl: Avoid calling gl functions without a context even if the object is GL_NONE
- While calling glDestroyXXXX with GL_NONE is a no-op, calling it without a context will crash some drivers.
2022-07-13 02:09:58 +03:00
kd-11 98b6783c05 gl: Fix image views broken after refactor 2022-07-13 02:09:58 +03:00
kd-11 0894d2886a Fix build 2022-07-13 02:09:58 +03:00
kd-11 4995b4abe3 gl: Do not use raw GL image copy command for RSX data 2022-07-13 02:09:58 +03:00
kd-11 35ef19cfc8 gl: Refactor the rest of GLHelpers 2022-07-13 02:09:58 +03:00
kd-11 09824a718f gl: Separate BGRA8 storage from RGBA8 2022-07-13 02:09:58 +03:00
Megamouse f4e85af53c sceNpUtil: implement skeleton bandwidth test 2022-07-12 22:45:40 +02:00
Eladash 74a909cfbc logs: Batch log messages (optimization) 2022-07-12 21:37:06 +02:00
Eladash 0bfdfd8433 Savestates: Implement Ctrl+R to reload the most recent savestate
Ctrl+R no longer means Resume emulation, this functionality has been transferred to Ctrl+P which is also capable of pausing the emulation. (so it's now a toggle)
2022-07-12 15:15:42 +03:00
Eladash 1f5cf776b2 Savestates: Fix "Suspend Emulation Savestate Mode" setting 2022-07-12 15:15:42 +03:00
Eladash cdd6840826 Savestates/SPU: Complete fix for saving sys_spu_thread_receive_event 2022-07-12 15:15:42 +03:00
Eladash ab27ee4cf4 Savestates/RSX: Save NV406E semaphore waiting 2022-07-12 15:15:42 +03:00
Eladash 6211295155 atomic.hpp: Truncation warning fix 2022-07-12 15:15:42 +03:00
Eladash befd7ceb89 Savestates/sys_spu: Minor fix in saving sys_spu_thread_receive_event 2022-07-10 14:19:59 +03:00
Eladash 2cead6f328 Savestates/SPU: Fix saving sys_spu_thread_send_event 2022-07-10 14:19:59 +03:00
Eladash 4e3d58f75a Savestates: Fix crash when savestating before PPU/SPU compilation finishes
Unintentional concurrent access to m_ar ptr itself.
2022-07-10 14:19:59 +03:00
Eladash 24fddf1ded rsx: Fix emu stopping crash when using multi-threaded rsx
FXO signaled abort before it completed its work, leading to unsignalled vk::fence and deadlock. Fix it by deregistering it from FXO.
2022-07-10 14:19:59 +03:00
Eladash 87cd65ff03 Savestates: support game collections 2022-07-10 14:19:59 +03:00
Eladash 219e3d61f8 Minor fix in shm::map_critical 2022-07-10 14:19:59 +03:00
Eladash 4ade06f36f Savestates/RSX: Restore the ZCULL control state
And fix the ZCULL control state at the initial state of RSX.
2022-07-10 14:19:59 +03:00
Nekotekina 786510a937 Use gettid() on Linux, don't use std:🧵:id
pthread_self() returns a large opaque pointer which is harder to use.
2022-07-10 12:22:28 +03:00
Megamouse 0c6df39a45 cellSearch: more error checks and shuffle 2022-07-09 16:39:10 +02:00
Vestrel 648ad0cd90
cellAudio: fix downmix if device doesn't support multichannel (#12328)
* cellAudio: fix downmix if device doesn't support multichannel
* Downmix in 2 stages
2022-07-09 15:25:28 +02:00
Megamouse cd0d43382f Qt: fix custom settings audio device corruption 2022-07-08 23:56:10 +02:00
Vestrel 98b730c806
Audio: device switching and channel count detection (#12246) 2022-07-08 17:13:38 +02:00
Nekotekina 4b787b22c8 Implement FN (lambda shortener)
Useful for some higher order functions.
Allows to make short lambdas even shorter.
2022-07-08 14:47:41 +03:00
Nekotekina 5c6f5a1610 Cleanse LOG_CONSTINIT macro
Should be unnecessary.
2022-07-08 14:47:41 +03:00
Eladash 0b8d5f7b98 Savestates: Fix argv 2022-07-08 12:57:43 +03:00
Eladash 314d481dcd Savestates: Fix typo in page size setting 2022-07-08 12:57:43 +03:00
Eladash 0980c68e6f Savestates: Increase timeout for emulation stopping 2022-07-08 12:57:43 +03:00
Eladash 983bfa2088 Savestates: Decryption of executable fix 2022-07-08 12:57:43 +03:00
Eladash 3a9928de65 Savestates: Log file descriptor information 2022-07-08 12:57:43 +03:00
Eladash 1fd5fb2f7e Savestates: Fix minor race with LV2 timers 2022-07-08 12:57:43 +03:00
Eladash 4ac88fa8d3 Savestates/RSX: Save drawing context 2022-07-08 12:57:43 +03:00
Eladash 5f8f9e33f1 RSX/Savestates: Replace GCM hack with a proper fix 2022-07-08 12:57:43 +03:00
Eladash f0c71ae2ae Savestates: Fix saving sys_event_queue_destroy 2022-07-08 12:57:43 +03:00
Megamouse 0c7ecdc954 cellMusicDecode: add more error checks and silence some log messages 2022-07-08 07:55:46 +02:00
Elad Ashkenazi 73a687df7d Savestates/Not Savestates: Fix exitspawn to HDD0 executable with mounted BDVD 2022-07-07 21:59:39 +02:00
Megamouse b683110e72 cellGem/overlays: show cursor if necessary 2022-07-07 12:40:23 +02:00
Megamouse 3840015e7d cellGem: implement basic ds3 cursor movement 2022-07-06 21:49:31 +02:00
Megamouse 639b8112b6 Input: make move handler dynamic 2022-07-06 21:49:31 +02:00
Megamouse 2bf17f5d3c input: fix horrible pad hacks 2022-07-06 21:49:31 +02:00
Megamouse 4823d4c32a input: add background input option
Adds an option to disable background input to the IO tab in the settings dialog.
This will disable pad input as well as ps move and overlays input when the window is unfocused.
2022-07-06 21:49:31 +02:00
Eladash c8c035eeef Regression fix 2022-07-06 20:07:09 +02:00
Eladash 155bd09fd0 Savestates: Cleanup v128 usage
It's compatible with bitwise serialization so it is faster to load/save it this way.
2022-07-06 19:43:25 +03:00
Eladash f546e5a8ef VM/Savestates: Replace bugged read-only block optimization 2022-07-06 19:43:25 +03:00
Eladash 2ccb0c8f42 SPU LLVM/Savestates: Remove unneeded store insurance and add related fix 2022-07-06 19:43:25 +03:00
Eladash 05303ce6c6 GUI: regression fix
Improperly resolved git conflict when rebasing savestates.
2022-07-06 19:43:25 +03:00
Eladash d8f3029952 Log LV2 periodic timers 2022-07-06 19:43:25 +03:00
Eladash 09c28f75b3 Savestates: Fix LV2 timers (fixes audio in some games) 2022-07-06 19:43:25 +03:00
Eladash 57671e267d Savestates: save cellAudioOut 2022-07-06 19:43:25 +03:00
Eladash b692108f1e Savestates: HLE state saving POC in sys_lwmutex 2022-07-06 19:43:25 +03:00
Eladash 2815aecd0c Savestates: Save SPU decrementer state 2022-07-06 19:43:25 +03:00
Megamouse b9f2b1e7c6 Qt: add UUID reset button 2022-07-05 09:09:00 +02:00
Eladash bd9ba7ef1f Remove incorrect Emu.IsStopped() checks 2022-07-05 08:25:36 +02:00
Eladash a015bd1ebd Savestates: Add missing position placement 2022-07-05 08:25:36 +02:00
Eladash d6cf167d52 Savestates: Minor optimization of size 2022-07-05 08:25:36 +02:00
Eladash 3fc2194fd5 Savestates: Fix zombie PPU threads saving 2022-07-05 08:25:36 +02:00
Eladash 72c14994f0 Savestates: Fix memory containers initialization (invalidates old savestates) 2022-07-05 08:25:36 +02:00
kd-11 fddb6a31a7 Use utils::c_page_size 2022-07-04 22:35:05 +03:00
kd-11 278ae7763a Use better macro notation 2022-07-04 22:35:05 +03:00
kd-11 5cafaef0a9 Aarch64 fixes for RSX 2022-07-04 22:35:05 +03:00
Elad Ashkenazi fcd297ffb2
Savestates Support For PS3 Emulation (#10478) 2022-07-04 16:02:17 +03:00
Ani 969b9eb89d
rpcs3_version: Bump to 0.0.23 2022-07-02 13:20:41 +01:00
Megamouse 4fb5bd76fb Qt: Use exe dir instead emu dir for updates
This should fix the auto-updater when EmulatorDir is set to a different location
2022-06-30 22:19:32 +02:00
Megamouse 8043bb9087 Qt: log uuid
This creates and logs a unique identifier and saves it to a file.
The ID will be logged for statistical purposes and stay the same until recreated.
2022-06-30 21:36:11 +02:00
Nekotekina 69912ba3c7 Partial revert for cf0fcf5a2a 2022-06-30 14:38:14 +03:00
nastys 19034d9dff fix macos ci 2022-06-29 10:48:21 +03:00
Eladash cf0fcf5a2a SPU: Implement execution wake-up delay 2022-06-28 19:54:25 +03:00
Eladash 149c593d89 Make fs::get_parent_dir/fs::pending_file use string_view as argument 2022-06-27 15:03:39 +03:00
Megamouse ab5a33fc31 Qt: Properly repaint the Emulation menu icons 2022-06-27 10:13:03 +02:00
Eladash f5a55b3024 rsx: Fixup after #12052 for frame limiter off 2022-06-25 17:39:07 +03:00
Eladash 7422ab9e55 rsx: Do not discard flip notifications 2022-06-25 15:30:41 +02:00
Eladash f66256cc13 rsx: PS3 Native frame limiter improvements, add Infinite frame limiter
* Do not wait on DEVICE 0x30 semaphore, it seems like it is something to do with queue command synchronization.
 - This also fixes cellGcmSetFlipWithWaitLabel which is built specifically to enable accurate RSX flipping time, its waiting command is confirmed to be placed **AFTER** DEVICE 0x30 waiting.
* Fix default vsync state to be enabled. (and set it to enabled in cellGcmSetVBlankFrequency as well)
* Add experimental "Infinite" frame limiter mode.
* Fix spurious enabling of second vblank.
2022-06-25 15:30:41 +02:00
Megamouse 9cf7a63c77 Emu: Implement BlockingCallFromMainThread
Reduces some copy-paste clutter throughout the project
2022-06-25 14:01:40 +03:00
Megamouse 7842812e24 Qt: fix music handler destructor 2022-06-24 19:50:22 +02:00
Nekotekina ec59d7d26b Fixup for Emu.EjectDisc() 2022-06-24 19:55:44 +03:00
Nekotekina ea23525f66 sys_fs: Add mountpoint for /dev_ps2disc 2022-06-24 19:55:44 +03:00
Megamouse 87762a9b17 cellGame: implement disc change callbacks 2022-06-24 17:34:21 +02:00
Elad Ashkenazi bc3a899acf
Debugger: Simplify and optimize #12269 (#12275) 2022-06-24 11:26:44 +02:00
Eladash 5e01ffdfd8 Debugger: Optimize cpu_thread::dump_regs()
Reuse string buffer. Copies and reallocations are expensive with such large strings.
2022-06-23 22:41:32 +02:00
Eladash 794cbd8708 Debugger: Refresh at 100hz during debugger interaction (was 20hz) 2022-06-23 22:41:32 +02:00
Megamouse 661b485b58 HLE: more error checks 2022-06-22 21:47:06 +02:00
Eladash 64399d45c1 vm: Make falloc return value bool
Allow to check properly for the success of 0 address allocation.
2022-06-22 21:01:37 +03:00
Nekotekina 653a9e6e7f Debugger: always print cpu_thread::dump_misc()
Was removed for some reason.
2022-06-22 18:53:29 +03:00
Eladash 71e07dc6c7 IdManager.h: Improvements
* Ensure ::PtrSame<T, Derived> is true.
* Allow id_base, id_step and id_count to be of enumeration type.
* Fix potential deadlock in kernel explorer.

idm::select:
* Allow to select multiple inherited object types for idm::select.
* Allow function reference types. (they don't allow access to operator() directly, use deducing std::function constructor instead)
* Ensure ::is_same_ptr<T, object_type> is true.
2022-06-22 17:24:47 +03:00
Elad Ashkenazi 69ceebeb05
Debugger: Hide breakpoint and callstack list if unused (#12266) 2022-06-21 23:42:42 +02:00
Eladash ccb2724fc4 Debugger: Implement SPU breakpoints 2022-06-21 16:59:45 +03:00
Eladash ec6d6adebc RSX Memory Viewer: Fix local memory displaying 2022-06-21 16:59:45 +03:00
Eladash 3899248305 RSX Debugger: Stable NOP skipping
Allow addresses of NOP blocks to remain consistent in between debugger position changes except for the first which can shrink or grow.
2022-06-21 16:59:45 +03:00
Megamouse 4557992334 Qt: add optional states to toolbar icons 2022-06-20 21:15:14 +02:00
Eladash d0e9108800 SPU: Implement "double" SNR storage 2022-06-20 20:50:11 +03:00
Eladash dc80d000aa SPU Disasm: Detect sys_event_flag_set_bit syscall 2022-06-20 20:50:11 +03:00
sguo35 775caabeeb [ppu] Fix function trampoline for arm64
- Refactor function manager trampoline to be cleaner
- Add trampoline impl for arm64
- Force all JIT entrypoints on Apple to toggle W^X
2022-06-20 15:08:27 +03:00
sguo35 e8b6e95f8e [3rdparty] Disable warnings for soundtouch dependency
Disabling warnings for soundtouch allows Clang to compile in debug mode.
2022-06-20 15:08:27 +03:00
sguo35 d2614d01fd [ppu] fix a macOS arm64 regression
Always override the LLVM triple to prevent linking errors.
2022-06-20 15:08:27 +03:00
isJuhn 4262794668 Implement PINE IPC Server 2022-06-19 17:56:50 +02:00
capriots a6237e5473
cellAudio(Out): properly implement all downmixing modes (#12252) 2022-06-19 17:08:03 +02:00
Megamouse 0b14d785ca stub cellHttp 2022-06-19 07:07:31 +02:00
capriots 6bdf415adb Fix audio renderer not resetting after cellAudioOutConfigure() was called 2022-06-19 06:09:29 +02:00
Megamouse ebabdd37b4 cellAudioOut: fix sound_mode exception
Turns out some games don't configure proper channel counts after all,
which triggers an ensure in cellAudioOutGetState.
Let's select the current sound_mode in cellAudioOutConfigure.
Keep the old one if no match was found.

Also moves some code from AudioBackend to cellAudioOut for thread safety (see mutex).
2022-06-18 18:17:43 +02:00
Megamouse 11c5230628 stub cellSysutilRegisterCallbackDispatcher 2022-06-15 20:46:24 +02:00
Megamouse bfe029bb0c cellSysutil: implement some bgm fxo stuff 2022-06-15 20:46:24 +02:00
Megamouse cbf12bb54b cellSysutil: stub cellSysutilGameDataExit functions 2022-06-15 20:46:24 +02:00
Megamouse b01d8e01e3 cellSysutilRegisterCallback: fix potential read out of bounds 2022-06-15 20:46:24 +02:00
Megamouse 985b222123 Update SPIR-V to v2022.2 2022-06-14 18:25:32 +02:00
Megamouse b4b8929ab1 Update curl to v7.83.1 2022-06-14 18:25:32 +02:00
Megamouse 48a217648c Update glslang to v11.10.0 2022-06-14 18:25:32 +02:00
Megamouse 12ae714c70 Update wolfssl to v5.3.0-stable 2022-06-14 18:25:32 +02:00
Megamouse 2c51887668 Update hidapi to v0.12.0 2022-06-14 18:25:32 +02:00
Megamouse 69e11136e8 Update FAudio to v22.06 2022-06-14 18:25:32 +02:00
Ivan c2190f71ca
SPU/PPU LLVM: fix triple setup (regression fix) (#12228) 2022-06-14 18:13:43 +03:00
Elad Ashkenazi 5378fee1c3
SPUAnalyzer.h: Add missing category check functions (#12222)
Some instructions were moved into integer category.
2022-06-14 16:04:24 +03:00
Jeff Guo cefc37a553
PPU LLVM arm64+macOS port (#12115)
* BufferUtils: use naive function pointer on Apple arm64

Use naive function pointer on Apple arm64 because ASLR breaks asmjit.
See BufferUtils.cpp comment for explanation on why this happens and how
to fix if you want to use asmjit.

* build-macos: fix source maps for Mac

Tell Qt not to strip debug symbols when we're in debug or relwithdebinfo
modes.

* LLVM PPU: fix aarch64 on macOS

Force MachO on macOS to fix LLVM being unable to patch relocations
during codegen. Adds Aarch64 NEON intrinsics for x86 intrinsics used by
PPUTranslator/Recompiler.

* virtual memory: use 16k pages on aarch64 macOS

Temporary hack to get things working by using 16k pages instead of 4k
pages in VM emulation.

* PPU/SPU: fix NEON intrinsics and compilation for arm64 macOS

Fixes some intrinsics usage and patches usages of asmjit to properly
emit absolute jmps so ASLR doesn't cause out of bounds rel jumps. Also
patches the SPU recompiler to properly work on arm64 by telling LLVM to
target arm64.

* virtual memory: fix W^X toggles on macOS aarch64

Fixes W^X on macOS aarch64 by setting all JIT mmap'd regions to default
to RW mode. For both SPU and PPU execution threads, when initialization
finishes we toggle to RX mode. This exploits Apple's per-thread setting
for RW/RX to let us be technically compliant with the OS's W^X
    enforcement while not needing to actually separate the memory
    allocated for code/data.

* PPU: implement aarch64 specific functions

Implements ppu_gateway for arm64 and patches LLVM initialization to use
the correct triple. Adds some fixes for macOS W^X JIT restrictions when
entering/exiting JITed code.

* PPU: Mark rpcs3 calls as non-tail

Strictly speaking, rpcs3 JIT -> C++ calls are not tail calls. If you
call a function inside e.g. an L2 syscall, it will clobber LR on arm64
and subtly break returns in emulated code. Only JIT -> JIT "calls"
should be tail.

* macOS/arm64: compatibility fixes

* vm: patch virtual memory for arm64 macOS

Tag mmap calls with MAP_JIT to allow W^X on macOS. Fix mmap calls to
existing mmap'd addresses that were tagged with MAP_JIT on macOS. Fix
memory unmapping on 16K page machines with a hack to mark "unmapped"
pages as RW.

* PPU: remove wrong comment

* PPU: fix a merge regression

* vm: remove 16k page hacks

* PPU: formatting fixes

* PPU: fix arm64 null function assembly

* ppu: clean up arch-specific instructions
2022-06-14 15:28:38 +03:00
Eladash 264253757c rsx: Improve Null Renderer 2022-06-12 20:54:42 +03:00
Ani 2512e958fa
glsl: Avoid implicit int->uint conversions (#12220) 2022-06-12 18:05:43 +01:00
Nekotekina cb2c0733e2 SPU LLVM: fix vrangeps usage in clamp_smax 2022-06-12 16:40:04 +02:00
Elad Ashkenazi 280aa6da91
rsx: Fix NV406E semaphore_acquire timeout detection (#12205) 2022-06-12 12:34:29 +03:00
Megamouse 9554adda28 Qt: remove "Send Exit CMD" menu option
This is pointless now, since we always exit games with this command.
2022-06-12 11:17:30 +02:00
Megamouse f3fa7119ac Qt: Also parse changelog with "Background" update 2022-06-12 09:19:18 +02:00
Malcolm Jestadt 0d022d420b RSX: Add more wide paths for upload_untouched
- Adds AVX512 path for upload_untouched u16 with primitive restart, and
  AVX2 and AVX512 paths for upload_untouched without restart
- The AVX512 paths handle the remainder in simd code with masking, which
  provided a large speedup
- On my i5-1135G7 in demons souls benchmarking a scene in boletaria with
  a lot of geometry on screen via perf:
SSE4_1                      0.64%
AVX2                        0.59%
AVX512                      0.56%
AVX512 w/ remainder masking 0.51%
2022-06-12 06:23:55 +03:00
Elad Ashkenazi ec530a2c91
rsx: Suggest to try setting RSX FIFO Accuracy to a higher mode of accuracy on crash (#12204) 2022-06-11 23:26:12 +02:00
Malcolm Jestadt ebeeafc94f SPU LLVM: Use vrangeps in clamp_smax
- This instruction can clamp a value between a range of values, something which previously needed 2 instructions.
- With the immediate byte set to 0x2 it will compute the minimum between the absolute value of the first input and the second input, and then copy the sign from the first input to the result.
2022-06-11 18:25:31 +03:00
Elad Ashkenazi 17e28ae85d SPU LLVM: Improve expression matching detection for moved registers 2022-06-11 16:13:58 +03:00
RipleyTom da6434a65a
Implements sys_fs_fcntl 0xC0000008 & 0xC000001A (#11957) 2022-06-11 13:12:42 +01:00
Megamouse a2623b1a9a DS3: fix other report size check.
The Report size also seems to be generic here, so let's only check if anything got returned at all.
Also add missing logging for result < 0.
2022-06-10 18:46:12 +02:00
Elad Ashkenazi 1738b38536
vm_native.cpp: Use Windows 10 memory mapping API (the correct API) 2022-06-10 14:27:02 +03:00
Megamouse 7235647e67 DS3: fix report size check.
The Report size seems to be generic here, so let's only check if anything got returned at all.
2022-06-10 06:47:01 +02:00
Megamouse 2a1e3b2b77 sys_rsxaudio: use max channel count from configured sound_modes 2022-06-09 18:59:13 +02:00
Megamouse 61823a5d62 sys_rsxaudio: only update config if the fxo is initialized 2022-06-09 18:59:13 +02:00
Megamouse ba96c6f3bb cellAudioOut: properly implement downMixer
If the PS3 downMixer is enabled, the game uses 8 channel input and 2 or 6 channel output
2022-06-09 18:59:13 +02:00
Megamouse fd8931c87e cellAudio: simplify sound mixer
There was no need to treat the first mix differently if all it did was init the buffer anyway.
Let's just always memset to zero.
2022-06-09 18:59:13 +02:00
kd-11 7530b3c971 vk: Fix image view search and destroy 2022-06-09 02:13:55 +03:00
Malcolm Jestadt 64616f1408 SPU LLVM: Microfixes
- Avoid vpermb path in shufb when op.ra == op.rb
- Reverse indices with (c ^ 0xf) rather than (~c) in vpermb path, vpternlogd is a 3 input operation and requires needless mov instructions to avoid destroying inputs
2022-06-08 22:50:30 +03:00
Elad Ashkenazi 004d9b09b8 LLVM: Fix 0 vector constant observation 2022-06-08 19:31:39 +03:00
Nekotekina 8d46840e09 Enable ppu_feed_data in PPU Interpreter 2022-06-07 15:24:50 +03:00
Nekotekina 753a12f436 Enable call history in PPU Interpreter 2022-06-07 15:24:50 +03:00
Megamouse 8e667e69f6 initial cellGameThemeInstall and cellGameThemeInstallFromBuffer 2022-06-07 07:37:30 +02:00
Megamouse 4d09be25aa cellMsgDialog: send DRAWING_END on abort 2022-06-06 20:07:01 +02:00
Eladash 0f499e36fb Optimize emulation stopping for when cellSysutilCheckCallback is not called 2022-06-06 19:21:41 +02:00
Eladash f5beaabded cellSysutil: Implement DRAWING callbacks
Also fixed a minor race in cellUserInfo regarding status of dialog
2022-06-06 19:21:41 +02:00
Elad Ashkenazi 248809ca1f cellGame: Revert cellGameDataCheckCreate2 change for now 2022-06-06 13:41:20 +02:00
Eladash f9bc7458d4 rsx: Resurgence of HLE GCM 2022-06-06 12:56:25 +02:00
Megamouse c4459dff40 Qt: use dedicated thread for getting input in the pad settings
This fixes the slow motion and rubber banding in the pad settings dialog while using HID handlers.
Previously everything was running on the main thread including the UI updates.
This meant that the poll rate was simply too slow and we were never up to date with the current data.
2022-06-06 00:15:27 +02:00
Eladash 16381929ba vm_var.h: Ensure 16-bytes alignment of gvar
Some PPU instructions require memory to be aligned otherwise they produce different results. I've already seen their usage in cellSaveData disassembly so may as well ensure it for all.
2022-06-05 20:47:49 +02:00
Eladash f1b03b36f7 cellGame: Make stats storage non-temporary, fix cbSet->setParam initial value 2022-06-05 20:47:49 +02:00
Megamouse e9ba6fd034 Qt: use unique_ptr for Ui objects. Should fix some mem-leaks 2022-06-05 19:07:03 +02:00
Megamouse bb03e17e2d HID: optimize get_next_button_press a bit 2022-06-05 19:07:03 +02:00
Megamouse 09875a5180 HID: properly check return values and report IDs 2022-06-05 19:07:03 +02:00
Megamouse 4912202cfa HID: zeroize buffers before getting a report, use std::array 2022-06-05 19:07:03 +02:00
Megamouse f57da6655c DualSense: Fix firmware report on newer versions
Newer versions of the DualSense return 64, while old versions return 65.
2022-06-05 19:07:03 +02:00
Megamouse ac34714837 CellAudioOut: Add some placeholders to CellAudioOutCodingType 2022-06-05 13:34:34 +02:00
Megamouse b4ce31cae3 cellAudioOut: update TODO comments for CELL_AUDIO_OUT_SECONDARY 2022-06-05 13:34:34 +02:00
Megamouse 5dffbca636 cellAudioOut: Only add LPCM 2ch. to secondary output 2022-06-05 13:34:34 +02:00
Megamouse fec9fcda7d Fix msvc parsing error caused by different naming 2022-06-05 13:34:34 +02:00
Megamouse 306776626a cellAudioOut: set latency to 13 2022-06-05 13:34:34 +02:00
Megamouse 15be6827ea cellAudioOutGetConfigure: Store and return set config seperately 2022-06-05 13:34:34 +02:00
Megamouse 8c0a786918 cellAudioOutConfigure: don't return error on unsupported config
Apparently the config simply isn't changed
2022-06-05 13:34:34 +02:00
Megamouse 8aa67114a9 cellAudioOut: Prefer 7.1 if available and supported
Select 7.1 as initial mode if the PARAM.SFO supports it and we enabled it
2022-06-05 13:34:34 +02:00
Megamouse 1bbb26334a cellAudioOut: Use bev_bdvd for disc game PARAM.SFO
Game Data PARAM.SFO does not contain SOUND_FORMAT
2022-06-05 13:34:34 +02:00
Malcolm Jestadt 1227b0a633 SPU LLVM: Reneable icelake shufb paths
- The previous code works just fine
2022-06-05 13:08:00 +03:00
kd-11 6c315e8aee gl: Disallow overlapping binding points 2022-06-05 10:13:41 +03:00
Elad Ashkenazi 88faac7bbc
rsx: Minor fixup (#12165) 2022-06-04 15:04:27 +01:00
Elad Ashkenazi 9bb7e8d614
rsx: Implement atomic FIFO fetching (stability improvement) (non-default setting) (#12107) 2022-06-04 15:35:06 +03:00
kd-11 286f97fad0 rsx: Reduce some error spam 2022-06-04 14:02:33 +03:00
kd-11 f0a02e0d9d gl: Fix leaking texture views 2022-06-04 14:02:33 +03:00
kd-11 8185bfe893 gl: Track image destruction and remove handles from state tracker
- Handles are reused for different resources which can cause problems
2022-06-04 14:02:33 +03:00
kd-11 d577cebd89 gl: Refactor image and command-context handling
- Move texture object code out of the monolithic header
- All texture binds go through the shared state
- Transient texture binds use a dedicated temp image slot shared with native UI
2022-06-04 14:02:33 +03:00
Malcolm Jestadt 0e5514003a SPU LLVM: Optimize LQR/STQR
- Avoid type mismatch between adds that prevented llvm from combining the operations
2022-06-03 16:16:28 +03:00
kd-11 167161d8ce rsx: Restore some accidentally removed depth-format conversion macros 2022-06-03 11:54:09 +03:00
kd-11 b8b0ecabd8 gl: Fix data pointer on the optimized AMD path 2022-06-03 11:54:09 +03:00
kd-11 bb05de2e80 gl: Fix copypasta 2022-06-03 11:54:09 +03:00
kd-11 7890e87234 gl: Fix warning 2022-06-03 11:54:09 +03:00
kd-11 25c05867d6 gl: Fix ring buffer remove() function
- Fixes crash on running a second game in the same session
2022-06-03 11:54:09 +03:00
kd-11 a421270c19 gl: Use new scratch buffer system 2022-06-03 11:54:09 +03:00
kd-11 764fb57fdc gl: Implement scratch ring buffer with memory barriers 2022-06-03 11:54:09 +03:00
kd-11 3fd846687e gl: Refactor buffer object code 2022-06-03 11:54:09 +03:00
kd-11 ff9c939720 gl: Assume decode buffer is to be used as SSBO as this seems to be a hint to the driver about where to put the buffer
Part of OpenGL's achilles' heel - the API does not distinguish between VRAM and SYSTEM memory at all and relies on developers wrestling with the driver's heurestic algorithm for this.
2022-06-03 11:54:09 +03:00
kd-11 234db2be3f gl: Fix texture binding in overlay renderer 2022-06-03 11:54:09 +03:00
kd-11 fc44d53bb0 gl: Reset buffer size on destroying the GPU handle 2022-06-03 11:54:09 +03:00
kd-11 555a4b5f5c gl: Suggest readback buffer as ssbo if it is not provided
- We're likely to jump into a compute or readback pass anyway.
2022-06-03 11:54:09 +03:00
kd-11 a6e6df1445 gl: Implement fast texture readback for D24X8 and RGBA8/BGRA8 2022-06-03 11:54:09 +03:00
RipleyTom 2010d697c8 feat: add boot test menu entry 2022-06-03 01:15:54 +02:00
Megamouse 26045a9be5 Move test elfs to test dir
TEST12345 is already taken by dev builds
2022-06-02 23:19:34 +02:00
Megamouse 06e5b8a06a cellAudioOut: add stereo, 5.1 and 7.1 for covenience 2022-06-02 13:12:04 +02:00
Megamouse 94aef197dd cellAudioOut: switch to manual multi-selection of format as seen on PS3 2022-06-02 13:12:04 +02:00
Megamouse a86e7eeba0 cellAudioOut: Always add Linear PCM 2 Ch., also add 5.1 when 7.1 is selected 2022-06-02 13:12:04 +02:00
Megamouse 95a3ce68ce cellAudioOut: log all added sound modes 2022-06-02 13:12:04 +02:00
Megamouse 9ab1e69697 cellAudioOut: simplify sfo access and make it foolproof 2022-06-02 13:12:04 +02:00
Megamouse 4f03cf7e1e PSF: move resolution flags to enum 2022-06-02 13:12:04 +02:00
Megamouse 60d80fd5fc PSF: move sound format flags to enum 2022-06-02 13:12:04 +02:00
Megamouse 350d3ad386 cellAudioOut: fix AC3/DTS mixup 2022-06-02 13:12:04 +02:00
Megamouse d6065e8814 cellAudioOut: add sound modes even if they aren't supported 2022-06-02 13:12:04 +02:00
Megamouse 363808a57b cellAudioOut: simplify sound mode initialization 2022-06-02 13:12:04 +02:00
Megamouse 3402835c8e cellAudioOut: apply review fixes, add some comments 2022-06-02 13:12:04 +02:00
Megamouse 911d37e4d7 cellAudioOut: use 2 channel LPCM by default and also use it as fallback 2022-06-02 13:12:04 +02:00
Megamouse 72e1e242a3 cellAudio: use format instead of downmix 2022-06-02 13:12:04 +02:00
Megamouse c42ff338e7 cellAudioOutGetSoundAvailability: return channel count based on available sound modes 2022-06-02 13:12:04 +02:00
Megamouse 4f81fcd5cc cellAudioOutConfigure: move sound_modes to fxo, implement waitForEvent 2022-06-02 13:12:04 +02:00
Megamouse d47f1ef406 cellAudio: Implement application based downmix settings 2022-06-02 13:12:04 +02:00
Nekotekina 422246825b vm: workaround bigger native page size for 4k pages
Always allocate full memory block if native page size > 4k
2022-06-02 12:56:49 +03:00
Nekotekina b0ccd2a8a0 Implement utils::c_page_size (unused)
Query platform memory page size.
2022-06-02 12:56:49 +03:00
Nekotekina 76c72351a5 rsx_methods: fix warning 2022-06-02 12:56:49 +03:00
Megamouse 03df3c5293 cellAudioQuit: do not clear event queues
They seem to be handled independently.
2022-05-31 23:38:29 +02:00
RipleyTom dd31574b4f fix: changes execl to execv for compatibility with checkrt 2022-05-31 22:55:31 +02:00
kd-11 eb52ac55a7 gl: Fix AMD buffer decode 2022-05-31 23:34:14 +03:00
kd-11 d167582f6b gl: Implement on-chip buffer-to-d24x8 conversion 2022-05-31 23:34:14 +03:00
kd-11 dd6cb054a7 gl: Add missing viewport save 2022-05-31 23:34:14 +03:00
kd-11 b97557ce7b gl: Use DSA for compressed texture upload 2022-05-31 23:34:14 +03:00
kd-11 964fd1095e gl: Properly preserve texture state
- Remove rogue glBindTexture calls and use gl commandstate object instead
2022-05-31 23:34:14 +03:00
kd-11 fcc6c2384b Fix linux build 2022-05-31 23:34:14 +03:00
kd-11 a5d73f41b5 gl: Remove debug message 2022-05-31 23:34:14 +03:00
kd-11 1b305bf789 gl: Workaround for poor AMD OpenGL performance
- Turns out the AMD driver really hates it if you render with a mapped index buffer.
  The driver internally seems to make a copy of the consumed indices and uses that. Very slow.
  I was able to isolate this after observing that glDrawArrays is not entirely shit, but glDrawElements duration scaled linearly with the number of vertices.
2022-05-31 23:34:14 +03:00
kd-11 943752db30 gl: Compute optimizations
- Keep buffers around longer to allow driver heurestics to work
- Properly initialize the shaders to allow optimal workgroup dispatch size
2022-05-31 23:34:14 +03:00
kd-11 60a2a39e88 gl: Deswizzle textures on the GPU 2022-05-31 23:34:14 +03:00
kd-11 532563e861 gl: Update some more buffer-object functions 2022-05-31 23:34:14 +03:00
kd-11 3ee27bd434 gl: Optimize consumption of buffer objects when uploading textures 2022-05-31 23:34:14 +03:00
kd-11 55e68441cb gl: Commit to bindless framebuffer object management 2022-05-31 23:34:14 +03:00
kd-11 7ec481d99b rsx: Allocate scratch memory using simple array with no default initialize
- This cuts down processing time significantly by eliminating calls to memset_stosb
2022-05-31 23:34:14 +03:00
kd-11 129e947720 gl: Improve CS throughput
- Avoids making too many invocations, especially given the 1D nature of some GPU dispatch handlers
2022-05-31 23:34:14 +03:00
kd-11 e964060a6a gl: Handle texture binding using the global state tracker 2022-05-31 23:34:14 +03:00
kd-11 74696d2e44 gl: Commit to a consistent global state 2022-05-31 23:34:14 +03:00
kd-11 78746fdb6f gl: Commit to using DSA for internal buffer management
- Gets rid of spammy BindBuffer calls on every draw
2022-05-31 23:34:14 +03:00
kd-11 ed2068fb03 gl: Rewrite buffer mapping 2022-05-31 23:34:14 +03:00
kd-11 b61c4d3693 gl: Fix stat counters 2022-05-31 23:34:14 +03:00
kd-11 81b9952e34 gl: Do not allow cross-aspect bitcasts
- There is special handling for some cross-aspect bitcasts in vulkan, but this is not possible using OpenGL
2022-05-31 23:34:14 +03:00
brian2081 64958264c5 Fix issue #12137 2022-05-31 23:06:46 +03:00
Elad Ashkenazi bda52a51a7
Debugger: Show HEX view of floating-point PPU registers 2022-05-31 07:36:10 +02:00
Megamouse bab4136411 Qt: fix tooltips and widget states in settings 2022-05-30 23:38:16 +02:00
Darkhost1999 e4fe335e75
Qt: add vblank_ntsc_fixup to UI (#12042) 2022-05-30 20:17:43 +02:00
Darkhost1999 0a7ac4d42a
Qt: Misc text updates (#12110) 2022-05-30 19:35:41 +02:00
Elad Ashkenazi 95233b5299 rsx: Fix deadlock in vm::_page_unmap 2022-05-30 11:53:34 +03:00
RipleyTom 8b6f68abcf fix: parsing bug in read_metadata 2022-05-29 22:36:30 +02:00
Malcolm Jestadt e9dfb3cb63 SPU LLVM: Fixup for inline MFC transfers
- Could previsouly segfault when src and dst were swapped. Just use unaligned instructions instead.
2022-05-29 19:08:36 +03:00
Vestral 5b0badc215 sys_rsxaudio: timer fix 2022-05-29 14:59:12 +02:00
Malcolm Jestadt 6f4398889e SPU LLVM: Optimize inline MFC transfers
- Use wider instructions when possible
2022-05-29 15:32:25 +03:00
Eladash dd4722fc1f rsx: Fix second VBLANK time
Turns out that both VBLANK time and flip time clock at 80Mhz which is MFTB rate, just that cellGcmGetLastFlipTime is missing conversion to microseconds, so odd.
2022-05-29 14:23:28 +02:00
Eladash eec27f0e89 Revert "rsx: Fix FLIP time"
This reverts commit 256eb17ae5.
2022-05-29 14:23:28 +02:00
RipleyTom baf51a2e2f fix: unset APPDIR before launching new appimage 2022-05-29 08:09:07 +02:00
Eladash 256eb17ae5 rsx: Fix FLIP time 2022-05-28 13:00:42 +02:00
Elad Ashkenazi 610d29dab0 rsx: Fix VBLANK time 2022-05-28 13:00:42 +02:00
Malcolm Jestadt 5ad4b6249e Update LLVM commit
- Contains a commit that makes AVX-512 code size smaller
2022-05-27 18:40:57 +03:00
RipleyTom aaef4a2d5b More verbose errors in nt_p2p_port 2022-05-27 08:56:39 +02:00
GooseWing 557bd3f438
gui/themes: Nekotekina by GooseWing (update) (#11588) 2022-05-27 08:15:58 +02:00
Eladash 27b28cf6ec sys_spu: Fix spu_thread_group_terminate deadlock 2022-05-26 18:04:52 +03:00
Jan Beich cc150cc2c6 build/cmake: unbreak USE_SYSTEM_FLATBUFFERS after bec0b6e8c3
-- Checking for module 'flatbuffers>=2.0.0'
--   Found flatbuffers, version 2.0.6
CMake Error at 3rdparty/CMakeLists.txt:24 (message):
  Flatbuffers flatc execute failed with: ''
2022-05-26 09:32:52 +02:00
Megamouse 345bda69ec Overlays: Add screenshot message to queue 2022-05-26 08:52:12 +02:00
Gabriel Costa 478b6b53a9
Add base-devel to Arch Linux in Building.md 2022-05-26 08:01:39 +02:00
Eladash a9a1204ab9 sys_rsx: Full reset of flip semaphore 2022-05-25 17:36:28 +03:00
Eladash e7ced1aeab Debugger: Implement SPU mailbox content display 2022-05-25 17:36:28 +03:00
Eladash 56f95934f5 Fix cellVdec regression to be harmonized with the new interrupts model 2022-05-25 17:36:28 +03:00
Megamouse 88ee62be26
cellAdec: fix uninitialized default size of AVPacketHolder (#12077) 2022-05-25 11:40:51 +02:00
Eladash 961d41d0bd RawSPU: Reinvoke pending interrupts if missed 2022-05-25 11:46:51 +03:00
kd-11 9c824aa0b5 vk: Enable event scope hack for INTEL proprietary drivers 2022-05-24 20:11:31 +03:00
kd-11 efff2a78c8
vk: Restructure how the conditional render evaluation is done (#12071)
Fixes conditional render fast-path
2022-05-24 11:11:21 +03:00
Vestral 608f823516 sys_rsxaudio: Add id to kernel explorer and some fixes 2022-05-23 13:10:46 +02:00
RipleyTom e68ffdbc81 Add a message overlay 2022-05-23 08:38:02 +02:00
RipleyTom 3dc9a8b980 fix lv2_socket_native::accept 2022-05-23 07:36:51 +02:00
RipleyTom bec0b6e8c3 Add regeneration for system flatbuffers users 2022-05-22 23:43:04 +02:00
RipleyTom 8c01612851 Warn about LTO and adds an option to remove LTO flags 2022-05-22 23:03:20 +02:00
MSuih b0e5db0eb0 Limit range of wake-up delay slider + adjust tooltip 2022-05-22 22:32:19 +02:00
kd-11 7c8fbc35bc rsx: Move PS3-compliant behavior to a new option 2022-05-21 16:35:35 +03:00
kd-11 b637429e44 Fix display flickering 2022-05-21 16:35:35 +03:00
kd-11 d52bb78d2c rsx: Trivial non-blocking display synchronization 2022-05-21 16:35:35 +03:00
Eladash 1be36fe6a9 Remove all HDD0's temporary game data created by cellGame at boot 2022-05-21 10:57:12 +03:00
Eladash 1088375b38 Wipe clean VSH's temporary directory of choice at boot 2022-05-21 10:57:12 +03:00
Eladash 285322982f Do not dare to touch HDD1 cache during game process respawn! 2022-05-21 10:57:12 +03:00
kd-11 4e6be9172a rsx: Asynchronously flush the pipelines when handing ZCULL memory access violations 2022-05-21 10:06:32 +03:00
kd-11 0e1333ed5f rsx: Deadlock avoidance of accurate RSX reservations 2022-05-21 10:06:32 +03:00
Eladash cd74fb6a6d rsx: Implement HW accurate frame limiter 2022-05-20 22:40:48 +02:00
kd-11 ec2d529832 rsx: Separate loop interrupts from graphics state
- The interrupts are for multithreaded signals andmake the main loop run more aggressively for the next cycle
2022-05-20 16:29:27 +03:00
kd-11 257556bbf5 rsx: Add eng lock before flagging memory unmap
- This is much better than polling on atomics every cycle for something that happens a few times during gameplay
2022-05-20 16:29:27 +03:00
kd-11 93d93b4805 rsx: Fix typo 2022-05-20 16:29:27 +03:00
kd-11 e368453751 rsx: Rework loop interrupts a bit
- Reset backend interrupt in core handler
- Separate memory config interrupt from regular backend interrupt
2022-05-20 16:29:27 +03:00
kd-11 d0dc095c84 rsx: Silence some log spam 2022-05-20 16:29:27 +03:00
kd-11 360fdca5ac vk: Avoid multimap when handling image views 2022-05-20 16:29:27 +03:00
kd-11 e1b95913ea rsx/zcull: Improve deadlock avoidance
- Do not acquire eng lock while holding the page lock
  RSXThread may be waiting on the page lock and will never ack the pause request
2022-05-20 16:29:27 +03:00
kd-11 a3ea9e2985 rsx/zcull: Less aggressive disabling of optimizations 2022-05-20 16:29:27 +03:00
kd-11 e9bf3e13d0 rsx/zcull: Pause the main thread before flushing reports 2022-05-20 16:29:27 +03:00
kd-11 9e02471ded Fix VS 2022-05-20 16:29:27 +03:00
kd-11 094fda0e73 Crash fix 2022-05-20 16:29:27 +03:00
kd-11 d2de560060 rsx: Improve sync_hint callback interface 2022-05-20 16:29:27 +03:00
kd-11 5315eb546f rsx: Stop spamming ZCULL update method
- This has a negative impact when ZCULL is active due to spamming __rdtsc
- While the method is fast, it is not free and some checks are done before the instruction can be emitted
  Let's use the saved time to actually get something useful done
2022-05-20 16:29:27 +03:00
kd-11 7fa521a046 rsx/vk: Redesign how conditional rendering hints work
- Pass a sync address to the backend
- Ignore the hint if the query is running in lazy mode
- Do not submit CBs too close to each other. Submits are expensive
2022-05-20 16:29:27 +03:00
kd-11 0244c4046e rsx: Lower performance hit due to frequency fetch 2022-05-20 16:29:27 +03:00
kd-11 7e8c93bea2 Random optimization 2022-05-20 16:29:27 +03:00
kd-11 8cd7a44a25 gcm: Force HLE of cellGcmGetTimestamp
- This is the only way to know if a report is being used for ZCULL or timestamps only.
  If the game is not reading the ZCULL data, the access guards will detect it and optimize usage around that.
2022-05-20 16:29:27 +03:00
kd-11 9a1e6cc3e8 rsx: Implement RSX reports area access detection and optimize around it
- If nobody is reading RSX reports, do not be in a hurry to write them
- Requires HLE of some methods (cellGcmGetTimestamp) to function correctly
2022-05-20 16:29:27 +03:00
kd-11 34220ec447 lv2: Make some struct declarations uniform 2022-05-20 16:29:27 +03:00
kd-11 f0135a02f5 vk: Unconditionally enable hw acceleration for conditional evaluation 2022-05-20 16:29:27 +03:00
kd-11 0b7e013fbe rsx: Simplify ZCULL logic a bit 2022-05-20 16:29:27 +03:00
kd-11 850eef0c1a rsx: Move ZCULL logic to its own file
- It's over 1k lines of code in its own namespace; it really should be in its own file
2022-05-20 16:29:27 +03:00
Elad Ashkenazi 5a581f46df Add a constraint about vm area approx matching 2022-05-19 21:29:18 +03:00
Eladash b334621d76 PPU DisAssembler: Prevent false function descriptor detection 2022-05-19 21:29:18 +03:00
Elad Ashkenazi a768855a7a Update PPUThread.cpp 2022-05-19 18:16:53 +03:00
Eladash 7ddeb0d00f Implement sys_process_exit3 2022-05-19 13:59:52 +03:00
Eladash 2ba437b6dc SPU: Implement timer freezing ability 2022-05-14 22:03:47 +03:00
Eladash f2920bc30d Debugger: Fix instruction "pop-in" when resizing
Display incomplete elements.
2022-05-14 10:46:07 +02:00
Eladash d043f46270 Fix recursion in the debugger 2022-05-14 10:46:07 +02:00
Megamouse 1e1b111678 sceNp: register custom menu 2022-05-13 21:52:14 +02:00
Eladash 1f5ce4f619 Loader: Fix out-of-bounds access of string
There was no need to manually align size, it only creates a bug with memcpy usage.
2022-05-13 19:53:48 +03:00
Eladash 524da5dc54 LV2: Memory state post-exitspawn fixes
* Fix memory capacity if SDK version of the following executable differs from the original process'.
* Keep user memory containers, they are not freed at exitspawn!

Hw test 4bf60023ee
2022-05-13 13:15:07 +03:00
Eladash a2a6303a22 PPU LLVM: Precompile system-internal executables if booting a dev_flash's program 2022-05-12 19:55:07 +03:00
Eladash 6805d8c7e0 SPU: Fix race on SPU Mailbox last value reading 2022-05-12 13:44:12 +03:00
Megamouse 5ae9de4e3b CLI: add decrypt option 2022-05-11 21:13:20 +02:00
RipleyTom 2f9b930c6b Fix for ticket parsing 2022-05-11 19:03:54 +02:00
Nekotekina e243ef5907 PPU: implement accurate FRES
Implemented with an accurate lookup table.
2022-05-11 10:46:08 +03:00
doesthisusername 7b162c7513 PPU: implement quasi-accurate FRSQRTE
Denormals are handled like zeros.
NaN handling is inaccurate in some cases.

Co-authored-by: Nekotekina <nekotekina@gmail.com>
2022-05-11 10:46:08 +03:00
JoãoPaulo 5b8f105308 Update FW 4.89 Latest Version
Updates the latest FW version according to: https://www.playstation.com/en-us/support/hardware/ps3/system-software/
List of changes:
Version 4.89
Signing in to PlayStation Network now requires a device password for enhanced account protection.
Account creation for PlayStation Network and some account management features are no longer available on the console. Use your PC or mobile browser to use account management features with improved performance, speed, and safety.
2022-05-11 00:17:01 +02:00
NicknineTheEagle 1df47352cc Implemented sceNpDrmGetTimelimit 2022-05-10 23:24:00 +02:00
NicknineTheEagle e4225cbab8 Fixed duplicate prefix in SELF log 2022-05-10 23:24:00 +02:00
NicknineTheEagle 83ca7654b1 Return NPD header in verify_npdrm_self_headers and VerifyEDATHeaderWithKLicense 2022-05-10 23:24:00 +02:00
NicknineTheEagle 8065dbc2e7 Unified NPD header in unedat.h 2022-05-10 23:24:00 +02:00
Eladash d03fcad9bd cellAudio: Some bugfixes
* Reading position storage is 16 bytes aligned according to hw test.
* Fix cellAudioGetPortConfig portSize reporting, now matches PS3.
* Remove ghost code about unearthly 6 channels cellAudio port mode.
2022-05-10 22:39:34 +02:00
Megamouse e494fc04e5 sceNp: add some constants 2022-05-10 21:55:35 +02:00
Eladash d77c9139ad Debugger: Show constant-formed attribute of register value 2022-05-10 22:34:29 +03:00
RipleyTom 4479d99a9a Implement sceNpManagerGetTicketParam 2022-05-10 21:04:15 +02:00
Megamouse 072c289f5e Qt: add new vfs usb tab 2022-05-10 19:39:35 +02:00
Megamouse a538f655be sys_fs_fcntl: hook up usb device info 2022-05-10 19:39:35 +02:00
Megamouse b888a6ba37 VFS: Add device_info to vfs config 2022-05-10 19:39:35 +02:00
Eladash de988f6a76 MSELF extractor: Ensure the files' dwellings 2022-05-10 09:58:59 +03:00
Megamouse 2b325de680 Workaround: Force audio provider
This hides the audio_provider box in the settings and forces the proper provider based on boot path.
Stop-gap solution until we decided what to do with vsh settings.
2022-05-08 02:08:20 +02:00
Megamouse d83fac4247 cellAudio: fix timestamp exception 2022-05-08 02:08:20 +02:00
Nekotekina 0a5ea859ea atomic.cpp: fix race in cond_id_lock() 2022-05-07 21:25:38 +03:00
Megamouse 9a93b150f0 input: properly log hid_error (strfmt wchar_t) 2022-05-07 17:12:31 +02:00
Megamouse 5476b9098e cellHttp: add more errors 2022-05-07 14:46:57 +02:00
Megamouse e5a75cfd1c sceNpTrophyGetTrophyUnlockState: handle read_only 2022-05-07 13:58:05 +02:00
Megamouse 1f745c4588 sceNpTrophyRegisterContext: add read_only check 2022-05-07 13:58:05 +02:00
Megamouse 6c7f49d563 sceNpTrophy: don't use TROPHY.TRP in CreateContext 2022-05-07 13:58:05 +02:00
Megamouse dae51a4a2b sceNpTrophy: remove confirmed comment 2022-05-07 13:58:05 +02:00
Megamouse d113324a90 sceNpTrophyRegisterContext: handle SHOW_ERROR_EXIT 2022-05-07 13:58:05 +02:00
Eladash 1cab99b3ca Make CPU Profiler able to print stats which sum up the records of all SPU threads
Hitherto the statistics have been exclusively thread-specific.

Other improvements:
* Fixed container management so a collision of a new element with an older element of the record will become impossible.
* Added thread name to thread-specific information printing.
* Fixed condition to abort SPU block statistics collection, now matches SPU LLVM Profiler's.
* Fix possible division by 0 by checking `samples`.
2022-05-07 12:57:54 +03:00
Nekotekina f7d08d3371 ELF: fix sh_flag bitset enum 2022-05-06 15:44:29 +03:00
RipleyTom 02d22dca95 Add Top Shot Elite controllers to whitelist 2022-05-05 22:33:50 +02:00
Megamouse 7764cb2b80 Qt: disable mouse movement mode groupbox 2022-05-05 21:39:12 +02:00
Eladash be5f8413ca
Avoid using PUTLLC in PUTLLUC if we know SPU LR has already been raised (#11940) 2022-05-05 22:15:08 +03:00
RipleyTom ce48d880d9 Fix for device2host control transfers 2022-05-05 19:24:01 +02:00
RipleyTom 8d950620b7 dnshook: add asterisk support 2022-05-05 18:49:39 +02:00
Nekotekina 10b33d0f79 SPU: optimize conflicting PUTLLUC (No-TSX)
Enable previously TSX-only optimization.
2022-05-05 19:16:16 +03:00
Megamouse 2706486559 input: add absolute mouse movement mode 2022-05-05 16:50:39 +02:00
Vestrel d1e468fefb
sys_rsxaudio: Initial implementation (#11907) 2022-05-05 15:47:44 +02:00
RipleyTom 0ac90ac395 sys_net: ensures return from raw socket calls 2022-05-05 14:37:54 +02:00
Megamouse fef779feca cellRec: fix pOpt pointer type 2022-05-05 12:23:12 +02:00
Megamouse ced890301c cellRec: fix some warning 2022-05-05 12:23:12 +02:00
Megamouse 7d73d90c1a cellGameExec: fix warnings 2022-05-05 12:23:12 +02:00
Darkhost1999 4e40260f1f
Add Force_Disable_Exclusive_Fullscreen_Mode to UI (#11923) 2022-05-05 11:19:03 +02:00
Eladash 3aebb8cb41 Tentative fix for unreadable ELF sections without flags 2022-05-05 07:33:07 +03:00
Eladash fcbeb2fa22 Remove slow vm::writer_lock usage from SPUThread.cpp 2022-05-04 23:36:57 +03:00
Eladash 7a3cbf1876 Fix Emulator::argv state after failed PS3 exitspawn 2022-05-04 23:36:57 +03:00
Eladash 3dda72e47f SPU: Cache reservation memory direct access handle (optimization) 2022-05-04 20:28:55 +03:00
Nekotekina 1458349cb3 Update commits.lst 2022-05-04 16:12:32 +03:00
Nekotekina a2bfd5fcfc Minor AArch64 support changes 2022-05-04 16:12:32 +03:00
Nekotekina 6501374a34 Add supporters 2022-05-04 16:12:32 +03:00
Eladash 63669000ab PPU Loader Fix removing writablity permission for RSX/SPU writable segments 2022-05-04 12:03:10 +03:00
Eladash f9a62667cf SPU/PPU Loader: Implement linker/PS3 compiler executable files loading 2022-05-03 20:47:36 +03:00
Megamouse 6cc1466baa halfplement cellRec 2022-05-03 18:19:31 +02:00
Megamouse bcd77ac65e halfplement cellVideoExport 2022-05-03 18:19:31 +02:00
Nekotekina 0786a0a088 PPU LLVM: match interpreter for VEXPTEFP/VLOGEFP 2022-05-03 08:27:44 +03:00
Eladash c14e79f8df Debugger: Fix instruction selection 2022-05-02 17:01:02 +03:00
Eladash 8cc6a30557 Debugger: Fix instruction pointer for good 2022-05-02 17:01:02 +03:00
Nekotekina 5c1f79ab26 vm: remove g_mutex, use g_range_lock instead
Simplification and performance improvements.
2022-05-02 10:29:28 +03:00
Ani 799c4837d3 rpcs3_version: Bump to 0.0.22 2022-05-01 15:23:47 +02:00
Eladash 5eeb79ffa1 Fix forced HLE injection 2022-05-01 09:21:49 +02:00
Eladash 159f9494a9 Debugger: Keep instruction's panel up-to-date with memory changes 2022-04-30 14:01:31 +03:00
RipleyTom 8316469cfc Update libusb to v1.0.26 2022-04-29 02:04:52 +02:00
kd-11 7a434d19a6 rsx/vp: Zero-initialize temporary registers 2022-04-28 01:31:07 +03:00
kd-11 95ac7724a6 Fix typos 2022-04-28 01:31:07 +03:00
kd-11 e236ba4daf rsx: Improve lowered precision comparison emulation 2022-04-28 01:31:07 +03:00
RipleyTom 5746df4046
sceNpMatching2CreateContext checks psn state (#11887) 2022-04-27 22:16:16 +01:00
trigger e9570d1a00 Update buid instructions for Arch
The qt5-multimedia dependency is required for compilation on Arch Linux, otherwise you will receive the following error.

```
CMake Error at 3rdparty/qt5.cmake:12 (target_link_libraries):
  The link interface of target "3rdparty_qt5" contains:

    Qt5::Multimedia
```
2022-04-26 23:23:34 +02:00
Megamouse e0d3a3b0ed cellOskDialog: do not intercept input unless we actually show a dialog 2022-04-26 00:51:38 +02:00
Megamouse 3183d73e4d OSK/overlays: fix initial input interception
Don't use default interception if we already intercept with custom params.
2022-04-26 00:51:38 +02:00
Megamouse c8700dd246 Input: log interception and its source function 2022-04-26 00:51:38 +02:00
Eladash 08ebc59db0 Fix instructions editor, implement preview for to-be-edited instructions 2022-04-25 20:15:10 +02:00
Eladash 7329fa9cf5 TRPLoader: Use std::string_view 2022-04-25 20:15:10 +02:00
Eladash 27becdec97 TAR: Allow to use save_directory with a buffer not 512-bytes aligned 2022-04-25 20:15:10 +02:00
Megamouse 8d662e9327 overlays: enable key repeat by default 2022-04-25 19:44:56 +02:00
Megamouse ff7636ea01 OSK/overlays: handle keyboard enter and escape 2022-04-25 19:44:56 +02:00
Megamouse 8f14f392fd overlays: ignore input if kb pad handler is active 2022-04-25 19:44:56 +02:00
Megamouse a1abc79f28 cellOskDialog: add event_hook_callback logging
And refactor the callback a bit
2022-04-25 19:44:56 +02:00
Megamouse 5fad7e1b87 OSK: flush key input to prevent key event spam 2022-04-25 19:44:56 +02:00
Megamouse 3d0f751211 cellMusic: lower some log levels to reduce spam 2022-04-25 19:44:56 +02:00
Megamouse 8864f944e2 cellOskDialog: implement dimmer_enabled 2022-04-25 19:44:56 +02:00
Megamouse 918984ee64 overlays: only log actual input loop errors 2022-04-25 19:44:56 +02:00
Megamouse b29f106c51 cellOskDialog: implement base_color 2022-04-25 19:44:56 +02:00
Megamouse 71f8280c5e cellOskDialog: implement KeyboardEventHookCallback 2022-04-25 19:44:56 +02:00
Megamouse 0ff293707a OSK: allow device input during interception 2022-04-25 19:44:56 +02:00
Megamouse 9adab801ac cellOskDialog: implement device mask and lock 2022-04-25 19:44:56 +02:00
Megamouse 43e7776f4d cellOskDialog: add some error checks and TODOs 2022-04-25 19:44:56 +02:00
Megamouse aee91b4f6f OSK: Ignore gamepad input if a key was pressed 2022-04-25 19:44:56 +02:00
Megamouse ffd36ea662 OSK: handle keyboard input 2022-04-25 19:44:56 +02:00
Megamouse abf80cc112 keyboard: use std::array, default init, + KbButton 2022-04-25 19:44:56 +02:00
shockdude 43d26fa6b6 Make Guitar Hero Live Guitar GHTV button bindable
Also make emulated interrupt transfer as fast as possible
2022-04-24 20:18:36 +02:00
RipleyTom d02a8ba2b9 Update flatbuffers to v2.0.6 2022-04-24 19:43:40 +02:00
Megamouse 9acc606e4d Log: add ability to force log all errors 2022-04-24 19:11:34 +02:00
Megamouse e52386ccfb Log: ensure fmt 2022-04-24 19:11:34 +02:00
Megamouse 1d40c06c19 Log: Add spacer between error and fmt if necessary 2022-04-24 19:11:34 +02:00
Megamouse c175cdf3d8 cellVdec: send AUDONE even when the queue is being flushed/restarted
Fixes GT6 regression
2022-04-24 17:39:49 +02:00
Megamouse 7924784215 cellVdec: log sequence id of commands 2022-04-24 17:39:49 +02:00
Megamouse 06cbc96722 cellVdecStartSeq: log level warning 2022-04-24 17:39:49 +02:00
Megamouse dcda332a93 cellVdec: send AUDONE before PICOUT 2022-04-24 17:39:49 +02:00
Megamouse eac4e991bd cellVdec: add callback and command id logging 2022-04-24 17:39:49 +02:00
Megamouse 9284344480 cellVdec: fix cellVdecStartSeq (restart mode) 2022-04-24 17:39:49 +02:00
Megamouse 2c03467eec cellVdec: improve logging a bit 2022-04-24 17:39:49 +02:00
Megamouse b67cda7cbb cellVdec: add handle to more log messages 2022-04-24 17:39:49 +02:00
Jan Beich f04655c814 Thread: define how to access PC on BSD aarch64 after 580bd2b25e
Utilities/Thread.cpp:1799:51: error: no member named 'pc' in '__mcontext'
        const bool is_executing = uptr(info->si_addr) == RIP(context);
                                                         ^~~~~~~~~~~~
Utilities/Thread.cpp:1800:62: error: no member named 'pc' in '__mcontext'
        const u32 insn = is_executing ? 0 : *reinterpret_cast<u32*>(RIP(context));
                                                                    ^~~~~~~~~~~~
Utilities/Thread.cpp:1836:90: error: no member named 'pc' in '__mcontext'
        std::string msg = fmt::format("Segfault %s location %p at %p.\n", cause, info->si_addr, RIP(context));
                                                                                                ^~~~~~~~~~~~
Utilities/Thread.cpp:1229:46: note: expanded from macro 'RIP'
 #define RIP(context) ((context)->uc_mcontext.pc)
                       ~~~~~~~~~~~~~~~~~~~~~~ ^

Based on https://github.com/mozilla/gecko-dev/commit/480b73c38c73
2022-04-24 15:40:33 +03:00
Nekotekina cd6aa0774f Reduce stack usage in atomic_wait_engine::notify_all 2022-04-24 13:26:28 +03:00
Nekotekina 6d3052c5dd Optimization: disable atomic_wait_engine notify callback for SPU
Disable placebo callback calls in notify_all.
Don't use callback at all if TSX.
Based on kd-11 findings.
2022-04-24 13:15:54 +03:00
Megamouse fb27ed4deb libav: remove deprecated option refcounted_frames
According to fe85afbf8c/doc/APIchanges (L743)
this option is deprecated and obsolete for the newer send/receive logic.
Should fix runtime exceptions with newer ffmpeg versions.
2022-04-24 11:05:22 +02:00
Megamouse 572a335c38 curl: fix cmake 2022-04-24 10:23:17 +02:00
nastys f21b298e5e Make MSL Fast Math and software vkSemaphore optional 2022-04-24 09:25:13 +02:00
Megamouse b7c1750485 curl: update from 7.79.1 to 7.82.0 2022-04-24 08:26:26 +02:00
Ani bfd10d7b06 glslang: Update from 11.7.1 to 11.9.0 2022-04-24 08:26:26 +02:00
Ani ed801de016 zlib: Update from v1.2.11 to v1.2.12 2022-04-24 08:26:26 +02:00
Ani 9df6e97c88 pugixml: Update from v1.11.4 to v1.12.1 2022-04-24 08:26:26 +02:00
Ani e7c5f48d15 FAudio: Update from 21.11 to 22.04 2022-04-24 08:26:26 +02:00
Ani 7ef112cf30 7z: Update from 19.00 to 21.07 2022-04-24 08:26:26 +02:00
Vestral f6de42a2ae Update cubeb to latest version 2022-04-24 08:00:17 +02:00
Megamouse 8acb62f6ee HLE: simplify some error formats 2022-04-22 20:56:21 +02:00
Megamouse 1d6fbf1c35 cellGameGetParamString: fix patch mode 2022-04-22 20:56:21 +02:00
Eladash f92b487947 rsx: Allow NV0039 0x2100 2022-04-22 18:20:23 +03:00
Megamouse 6a67155404 Qt: fix access to uninitialized Pad object
Fixes a crash when opening the pad settings before the pad handlers are initialized.
2022-04-22 00:00:34 +02:00
Megamouse f42e647430 cellVdec: use av_error_to_string 2022-04-21 22:22:33 +02:00
Megamouse 7c65c1e3aa cellVdec: Remove irritating while loop 2022-04-21 22:22:33 +02:00
Megamouse 9f51003366 cellVdecGetPicture and cellVdecGetPictureExt swap
This fixes a possible issue with the error handling order.
2022-04-21 22:22:33 +02:00
Megamouse 512eb93a62 cellVdecDecodeAu: fix param check 2022-04-21 22:22:33 +02:00
Megamouse 9c919db9ae cellVdec: fix out format line offsets
Fixes video output in Uncharted 2
2022-04-21 22:22:33 +02:00
Megamouse 61ada2c1dc cellVdec: call av_dict_free 2022-04-21 22:22:33 +02:00
Megamouse bd5bff321e cellVdecDecodeAuEx2: some REd guesswork 2022-04-21 22:22:33 +02:00
Megamouse ee3a302cf2 cellVdecDecodeAu: add codec type check 2022-04-21 22:22:33 +02:00
Megamouse fb3752a8ef CellVdecDivxSpecificInfo2 (who knows if this is correct...) 2022-04-21 22:22:33 +02:00
Megamouse 548b748f50 CellVdecPicAttr 2022-04-21 22:22:33 +02:00
Megamouse 771009f333 cellVdec: add more error logging 2022-04-21 22:22:33 +02:00
Megamouse db731d307e CELL_CODEC_PTS_INVALID, CELL_CODEC_DTS_INVALID 2022-04-21 22:22:33 +02:00
Megamouse c6f3f386df cellVdec: implement CELL_VDEC_ERROR_SEQ 2022-04-21 22:22:33 +02:00
Megamouse 8d781a737b Qt: Replace some deprecated Qt5 stuff 2022-04-21 21:23:10 +02:00
Megamouse e9af0bb72b cellGameGetParamString: check_mode for category 2022-04-21 20:56:11 +02:00
Megamouse d8bbec9594 libav: log more error codes as string 2022-04-21 08:10:01 +02:00
Eladash f1a37da94c Update main_window.cpp 2022-04-20 08:28:46 +02:00
kd-11 bca7b02ae9 Fix compressed pitch calculation 2022-04-19 22:58:29 +03:00
sguo35 e761b3235c macos: fix build for arm64
Adds arm64 branches to some x86 specific code and modifies some casting
logic to make Clang happy
2022-04-18 17:53:54 +03:00
sguo35 219ddf3e11 build-macos: fix cmake config for arm64 2022-04-18 17:53:54 +03:00
Timo654 afae58b231 Interpret negative values in game patches 2022-04-18 17:01:19 +03:00
nastys b5db0d0397 MoltenVK as a submodule 2022-04-17 17:04:26 +02:00
RipleyTom 563af4211a sys_net: Fix race between dnshook and nc 2022-04-17 00:06:21 +02:00
Megamouse 184bd51b87 Qt: Add timestamp filter to log viewer
This is incredibly useful if you want to copy paste two logs into Meld for example
2022-04-16 20:49:50 +02:00
RipleyTom 895af3c3ab
sys_net: SYS_NET_ENETDOWN for offline dns rqsts (#11822) 2022-04-16 13:00:04 +01:00
Eladash 6783bcd273 Log a snippet of guest thread code at crash 2022-04-15 22:34:51 +03:00
Eladash 1d51f3af0c RSX-Debugger: Implement backwards scrolling
* Use 2 points of known true RSX code roots and follow them in order to peek at the current section of valid RSX code:
These roots are: current RSX instruction address and the last targeted address by a branch instruction.
2022-04-15 22:34:51 +03:00
RipleyTom 26d8120168 sys_net fixes and extra logging 2022-04-15 19:43:23 +02:00
Megamouse 21f744e218 windows: fix git version script release check
Hopefully
2022-04-15 00:45:51 +02:00
Megamouse 841f815be3 Qt: unify version displays
The only version that is different is the game window due to some formatting.
And the update message due to some logic that is better left unchanged.
2022-04-14 23:16:40 +02:00
Megamouse 3c231ee9b7 windows: adjust git version script to cirrus ci 2022-04-14 23:16:40 +02:00
Megamouse 3d31e2f2a9 test 2022-04-14 18:37:34 +02:00
Megamouse 8516e9da70 Add git fallback to git-version-gen.cmd
%ProgramFiles% points to the x86 folder on cirrus, but git only exists in Program Files
2022-04-14 13:35:59 +02:00
RipleyTom d6b0263144 sys_net fixes
Fix lv2_socket_p2ps::connect
Fix sys_net_bnet_poll
2022-04-14 09:18:58 +02:00
RipleyTom 91768c025c Add some error handling to sys_usbd 2022-04-14 08:26:23 +02:00
kd-11 57aee92bfe rsx: Separate guest flip timer from host timing operations 2022-04-13 23:39:01 +03:00
kd-11 89de1a8cf6 overlays: Fix frame timing 2022-04-13 23:39:01 +03:00
Zion ccd4724263 Set BUILD_SOURCEBRANCHNAME on Cirrus to fix build warning 2022-04-13 21:34:00 +02:00
Zion f6a06a5618 Update with new cirrus GitHub key 2022-04-13 20:19:31 +03:00
Zion Nimchuk 5684b5909f Move binary release deployment from Azure to Cirrus 2022-04-13 18:05:16 +02:00
kd-11 60cbd7a88c Automatically determine the epsilon value programatically 2022-04-13 15:48:28 +03:00
kd-11 2db68acab9 rsx: Implement Z value snapping to account for precision errors 2022-04-13 15:48:28 +03:00
Megamouse b04bd5fa74 patch_manager: check if address has hex format 2022-04-12 10:21:21 +02:00
RipleyTom 4d26535758 sys_net: bind & getsockname accuracy 2022-04-12 08:58:17 +02:00
Megamouse 5407e42b76 Qt: add last thread actions option to log viewer 2022-04-11 23:59:55 +02:00
Megamouse 8f02ea1d42 Qt: add show threads option to log viewer 2022-04-11 23:59:55 +02:00
Megamouse 3ed5a935fb Qt: allow to filter the log viewer with log levels 2022-04-11 00:12:51 +02:00
Megamouse f24b0c2ffe Qt: Allow to filter the log multiple times 2022-04-11 00:12:51 +02:00
clienthax 127ad508b4 Add stubs. 2022-04-10 18:28:57 +02:00
RipleyTom cbc067b490 Fix get_roomdata_external_list callback event id 2022-04-10 15:42:26 +02:00
RipleyTom 4087b4e6b9 sys_net: fix dns redirection 2022-04-10 15:12:33 +02:00
Eladash c35da0085f PARAM.SFO loader improvement 2022-04-10 14:31:13 +02:00
RipleyTom f8ea50caae sys_net: Fix return values being tagged as errors 2022-04-10 11:15:41 +02:00
Megamouse 20801615f3 cellOskDialogAbort: always send finished event
No idea if this is really correct, but it fixes the PS-Home OSK dialog freeze.
2022-04-10 08:38:36 +02:00
Megamouse 9279736fe6 cellOskDialog: fix cellOskDialogAbort error format 2022-04-10 08:38:36 +02:00
Megamouse d84a0c6503 cellGameGetBootGameInfo 2022-04-10 08:38:36 +02:00
RipleyTom 8fb2d04ce8 rpcn: validate callbacks before queuing them 2022-04-10 00:23:32 +02:00
RipleyTom c06cb4664a Various sys_net improvements
Implement P2PS select
Adjust P2P sendto return value
2022-04-09 21:56:53 +02:00
Megamouse 039d19dacf Patch manager: detailed message box for long logs 2022-04-09 21:26:06 +02:00
Megamouse 4dfb47cdd9 Patch manager: check for invalid value node 2022-04-09 21:26:06 +02:00
Megamouse 499fe3e218 Patch manager: add node location to patch errors 2022-04-09 21:26:06 +02:00
RipleyTom 855b23b3fe re-add scope to sys_net_bnet_poll 2022-04-09 20:24:08 +03:00
RipleyTom 72b2876b6a
sys_net refactor (#11740) 2022-04-09 14:51:22 +02:00
Nekotekina f4d0286109 Add SPU XFloat Accuracy combobox 2022-04-08 22:46:09 +03:00
Megamouse 544cec0434 revert cellSysutilAvc2Load
I think I mistook the subfunc for the main func
2022-04-08 20:07:58 +02:00
Megamouse bcc097718f cellSysutilAvc2 fixes 2022-04-08 20:07:58 +02:00
Megamouse 0dc176b4f1 cellSysutilAvc2EstimateMemoryContainerSize 2022-04-08 20:07:58 +02:00
Megamouse 47401cba1f cellSysutilAvc2: more improvements 2022-04-08 20:07:58 +02:00
Megamouse 8a2826f3a9 cellSysutilAvc2SetWindowString: add strlen check 2022-04-08 20:07:58 +02:00
Megamouse 81f8ece236 cellSysutilAvc2InitParam: remove overzealous code.
The function is intended as a constructor, so it doesn't make sense to check struct members
2022-04-08 20:07:58 +02:00
Megamouse 3c2cf79675 cellSysutilAvc2: more stubs and errors 2022-04-08 20:07:58 +02:00
Megamouse a841ba4084 cellSysutilAvc2: more constants 2022-04-08 20:07:58 +02:00
Megamouse 3024026d9e cellSysutilAvc2: format some enums
Makes them more readable
2022-04-08 20:07:58 +02:00
Megamouse fb03a3bf67 Qt: Implement simple filter in log viewer 2022-04-08 01:25:44 +02:00
kd-11 e53bbd668b rsx: Fix surface cache scanning and removal 2022-04-05 14:07:05 +03:00
kd-11 fc05511354 rsx: Optimize software sampling further for the 6-tap kernel 2022-04-04 16:51:03 +03:00
kd-11 ca35a75a7d rework weighting scheme 2022-04-04 16:51:03 +03:00
kd-11 15b7e4f05e 6-tap experiment 2022-04-04 16:51:03 +03:00
kd-11 49c84f099a rsx/glsl: Fixup 2022-04-04 16:51:03 +03:00
kd-11 43b267ea51 glsl: Rewrite MS sampling implementation 2022-04-04 16:51:03 +03:00
kd-11 a8441b28e8 rsx: Implement basic 2D bilinear filtering for MSAA images 2022-04-04 16:51:03 +03:00
Megamouse 3002e592c3 gs_frame: remove unnecessary CallFromMainThread
Qt events should run on the main thread anyway.
2022-04-01 18:38:37 +02:00
Megamouse 4f12f8b04f Qt: fix GracefulShutdown regression
By replacing Emu.Stop() with GracefulShutdown() in gs_frame::close(), the game window was now unknowingly closed recursively, causing RPCS3 to crash in some cases.
Let's just ignore any consecutive calls to close() from now on.
Also don't close the window internally on a close event. request a shutdown instead.
2022-04-01 18:38:37 +02:00
Megamouse 36e3939ec2 Emu: actually wait 5 seconds during GraceFulShutdown 2022-04-01 18:38:37 +02:00
Megamouse c803bf1849 soundtouch: fix debug build 2022-04-01 02:24:27 +02:00
Megamouse ee98f577e2 sceNpTrophyGetTrophyIcon: SCE_NP_TROPHY_ERROR_HIDDEN
And prevent some possible segfaults
2022-03-31 23:02:35 +02:00
kd-11 4a86638ce8 rsx: Avoid unnecessary memprotect syscalls 2022-03-29 12:35:32 +03:00
kd-11 e037b5c438 rsx: Handle in-place image swaps when locking data for WCB/WDB
- Rare, but possible if a surface address is switched from color to depth usage
- In such a case, deref the old image and ref the new one to avoid leaks
2022-03-29 12:35:32 +03:00
kd-11 f45343a345 rsx: Handle DMA block init where empty pages exist in the range 2022-03-29 12:35:32 +03:00
kd-11 94a7e52c1f rsx: Disable ref count on exit 2022-03-28 19:55:34 +03:00
kd-11 2b42895bc7 rsx: Reduce log spam a bit 2022-03-28 19:55:34 +03:00
kd-11 d98d152d23 rsx: Fix leaking surface cache refs from texture cache
- Lock surfaces in use by texture cache to prevent complete deletion
- Remove discarded surfaces from the reprotect cache to avoid uaf
2022-03-28 19:55:34 +03:00
kd-11 b645a7faf5 vk: Rebuild swapchain in case of unexpected errors during present 2022-03-28 19:55:34 +03:00
kd-11 ffa841e7c1 vk: Force resolve explicitly for transfer operations 2022-03-28 19:55:34 +03:00
Nekotekina 98cee991ef PPU: fix step execution after BP 2022-03-27 11:37:11 +03:00
Nekotekina 0a617a05d0 PPU: correct behaviour under external debugger
May require setting "Assume External Debugger" to true.
2022-03-26 23:09:20 +03:00
kd-11 e66d6a9399 Fix interpreter 2022-03-26 16:10:18 +03:00
kd-11 ef65c47592 vk: Restore UBO alignment
- NV requires some very large alignment thresholds
2022-03-26 16:10:18 +03:00
kd-11 1592ecdc55 rsx: Invalidate transform block on program change
- Since each program now does a remap of the outputs, we need to reupload the constants
- This is not a loss, constants are almost always changing between draw calls anyway
2022-03-26 16:10:18 +03:00
kd-11 96742852eb Fix OGL 2022-03-26 16:10:18 +03:00
kd-11 de0e660d28 rsx: Handle vertex shaders with no constant references
- If no vc[] refs exist, do not upload anything!
2022-03-26 16:10:18 +03:00
kd-11 d057ffe80f rsx: Fix program generation and compact referenced data blocks 2022-03-26 16:10:18 +03:00
kd-11 9a2d4fe46b rsx: Relocatable transform constants 2022-03-26 16:10:18 +03:00
JohnHolmesII e650d11b30 CI: Update Vulkan to minimum version 2022-03-24 10:09:16 +01:00
RipleyTom a4d715e25d Warning Fixes 2022-03-23 19:35:10 +01:00
kd-11 af0e1f609e Fix vulkan compilation warnings 2022-03-23 11:26:06 +03:00
kd-11 1ab5b481ff Fix ambiguous comparison operator warning 2022-03-23 11:26:06 +03:00
kd-11 26ee1246ae rsx: Block size back down to 4MB
- 4M is a good compromise, a 720p surface occupies just under 4MB
2022-03-23 11:26:06 +03:00
kd-11 d0402332f7 rsx: Bump surface cache block size to 16M 2022-03-23 11:26:06 +03:00
kd-11 43c7417906 rsx: Rework ranged map
- Adds metadata lookup for intersecting range calculations
- Make fetch/put methods more explicit
2022-03-23 11:26:06 +03:00
kd-11 56540a55ec Fix linux 2022-03-23 11:26:06 +03:00
kd-11 35ec4de776 rsx: Optimize surface store for faster scanning 2022-03-23 11:26:06 +03:00
Silent c5748983f6 WolfSSL: Use a custom UTF-8 aware _stat on Windows 2022-03-21 15:47:27 +01:00
Silent 791ee013ac Update WolfSSL submodule 2022-03-21 15:47:27 +01:00
aliaspider 5797673daa fix vfs::host::rename.
- resolve_path requires the path to be valid and can only be used before
the call to fs::rename, not after.
2022-03-21 08:49:01 +03:00
Megamouse 3972022fa2 evdev: improve latency 2022-03-20 04:27:06 +01:00
C.W. Betts 39201e5042 Fix macdeployqt.
This is based off of the instructions found here: https://riptutorial.com/qt/example/24133/integrating-with-cmake
2022-03-18 13:19:36 +01:00
Megamouse ff34a73fbd cellSaveData: CELL_SAVEDATA_FOCUSPOS_NEWDATA
Untested, but focus position is clamped anyway.
2022-03-18 08:09:50 +01:00
Megamouse 539ac32806 Decrease log spam in case that per core cpu usage cannot be queried 2022-03-18 01:47:23 +01:00
Megamouse 7a86cffd0a Revert writable folder check
This doesn't seem to work as intended
2022-03-18 00:33:52 +01:00
kd-11 bc7ed8eaab rsx/vk: Rework MSAA implementation 2022-03-17 22:02:20 +03:00
Megamouse 9c5ed01130 Add rpcs3 location checks to main
Don't allow running RPCS3 from temp dirs.
Abort if the folder has no write permissions.
2022-03-17 18:59:38 +01:00
Megamouse e58906cb4d cpu_stats: fmt::win_error_to_string 2022-03-16 22:20:23 +01:00
Megamouse 7a1a4541c0 StrFmt: print src_loc error as string 2022-03-16 22:20:23 +01:00
Megamouse 04df392866 Log cpu usage periodically 2022-03-16 19:42:06 +01:00
nastys f3a325fe1a Build on Monterey and set target to 11.6 2022-03-14 08:28:02 +01:00
nastys ce7b1576e0 Low Power Mode detection
Change low to reduced

Low Power Mode detection

Fix namespace space

Low Power Mode detection

Fix namespace space

Low Power Mode detection
2022-03-14 08:28:02 +01:00
Megamouse 686d2759f4 cellMic: remove cellMicRead error spam 2022-03-12 20:48:36 +01:00
kd-11 78b8bd80e4 rsx: Unconditionally set MSAA flags if MSAA is active 2022-03-11 01:15:13 +03:00
kd-11 1943d9819f rsx: Clean up surface cache routines around RTT invalidate 2022-03-10 20:43:58 +03:00
NicknineTheEagle 1670769119 Use simpler C00 unlock EDAT check in GUI 2022-03-09 22:39:30 +03:00
kd-11 59a0cf94ab rsx: Fix msvc build 2022-03-08 22:06:26 +03:00
kd-11 3e4faf602a rsx: Fix clang build 2022-03-08 22:06:26 +03:00
kd-11 454a724f4e rsx: Reduce the performance impact of enabling the profiling timer
- Just use TSC if available
2022-03-08 22:06:26 +03:00
kd-11 cfecbb24ca rsx: Avoid calling slow functions every draw call
- Use TSC for timing where interval duration matters.
- Use atomic counter for ordering timestamps otherwise.
2022-03-08 22:06:26 +03:00
kd-11 762b594927 rsx: Fully process texture if surface cache configuration changed 2022-03-08 22:06:26 +03:00
kd-11 8d3d290e33 rsx: Fix build 2022-03-08 22:06:26 +03:00
kd-11 0df903090d rsx: Optimize metrics a bit
- For some reason this has a massive impact on performance above some arbitrary threshold of calls
  Shows up under surface_cache::get_merged_memory_region when doing gathers.
2022-03-08 22:06:26 +03:00
kd-11 6812fa4764 rsx: Fix surface write coherency when MSAA is active 2022-03-08 22:06:26 +03:00
Megamouse cd97d74f0f cellMusic/Decode: add SelectContents functions 2022-03-08 09:02:59 +01:00
Megamouse 00f6763228 cellMusic: fix qt music handler resume 2022-03-06 12:57:38 +01:00
Megamouse aafd74f9ea cellMusicDecode: initial implementation
Implements the basic functionality of cellMusicDecode.
Works with Space Invaders (if you add the list selection from the other PR).
Probably fixes SSX custom music.
2022-03-05 18:34:27 +01:00
nastys f61ee85f80 Fix macOS CI Qt path 2022-03-05 14:33:54 +01:00
Megamouse e33b130606 Fix some enumeration warnings 2022-03-03 08:25:46 +01:00
Megamouse 15e74357cf cellMusic: implement qt music handler 2022-03-03 08:25:46 +01:00
kd-11 0dbfe314a3 vk: Encode image type when caching resources 2022-03-01 21:51:55 +03:00
kd-11 00a1864a95 Revert "rsx: Downgrade depth-1 3D images to 2D (#11593)"
This reverts commit 6c096b72b5.
2022-03-01 21:51:55 +03:00
kd-11 6c096b72b5
rsx: Downgrade depth-1 3D images to 2D (#11593)
- Fixes problems with implicit view types derived from dimensions.
2022-03-01 10:45:50 +03:00
Ani a8e62e1bc1 rpcs3_version: Bump to 0.0.21 2022-03-01 00:29:49 +01:00
Megamouse 42aa8f263a Qt: store pad settings state and remove max size 2022-02-28 08:19:13 +01:00
nastys af95ff5f8b Round macOS icon 2022-02-27 11:16:50 +01:00
nastys f0093375b8 Set min macOS version to 11.6 2022-02-27 11:16:50 +01:00
Ani 7d26e61d82
gui/themes: YoRHa by Ani (r2) (#10785)
- Styled Log Viewer
- Styled CG Disasm's text boxes
- Fixed list widget checkbox and row styling
- Fixed missing styling on Debugger
- Fixed text alignment on table headers
- Fixed QSpinBox buttons
- Styled disabled QSpinbox
- Styled Pad Settings tabs to look the same as Settings Dialog
- Centered Pad Settings tabs
- Separated first row from game list table headers so there's some 
spacing in between when highlighting that row
- Refactored some code to style global QT properties instead of specific 
RPCS3 elements
- Separated RPCS3 specific code from global code
2022-02-26 12:49:43 +00:00
kd-11 e035000864 vk: Do not enable passthrough DMA unconditionally (yet)
- There are still some kinks to work out. Host labels do not fix all the bugs which means I missed something.
2022-02-26 10:28:46 +03:00
kd-11 6db5d83615 Flush dma offloader on texture read sema 2022-02-25 10:53:55 +03:00
Eladash 86a04a867b
Qt: show time of day in 'last played' game info, log current time when RPCS3 boots (#11220) 2022-02-23 23:40:18 +01:00
kd-11 f3823232e0 Disable passthrough DMA for proprietary intel driver 2022-02-23 21:15:08 +03:00
kd-11 6b8b23c401 vk: Drain the label queue before using the CPU fallback to avoid out-of-order signals
- This avoids crashes in some game engines which expect RSX semaphores to signal in the order they are submitted.
2022-02-23 12:57:04 +03:00
kd-11 6fd2a9b677 rsx: Remove leftover dprints 2022-02-23 12:57:04 +03:00
kd-11 da559b5568 vk/rsx: Tuning and optimization for host labels 2022-02-23 12:57:04 +03:00
kd-11 24587ab459 rsx: Add the option to the advanced tab 2022-02-23 12:57:04 +03:00
kd-11 c7e49b58a8 rsx: Implement host GPU sync labels 2022-02-23 12:57:04 +03:00
Megamouse c5680c29bd Qt: set organization name 2022-02-22 14:19:29 +01:00
Megamouse 1144121d08 shortcuts: add some logging, fix shortcut path 2022-02-22 14:19:29 +01:00
Megamouse fa6736e69d update_manager: add some logging 2022-02-22 14:19:29 +01:00
kd-11 10e6b43a2f Drop redundant declaration 2022-02-21 23:58:01 +03:00
kd-11 0809e7cf9f Fix build 2022-02-21 23:58:01 +03:00
kd-11 12fd43e1c6 vk: Remove unused variables 2022-02-21 23:58:01 +03:00
kd-11 397a795e75 vk: Remove hardcoded command buffer list length 2022-02-21 23:58:01 +03:00
kd-11 1f9ade0ab6 vk: Remove pointless function (VKGSRender::open_command_buffer)
A relic of the past, back before we wrote wrappers for raw handles.
2022-02-21 23:58:01 +03:00
kd-11 83407c386c vk: Move renderer types to a separate file
- Makes my life easier managing conflicts
2022-02-21 23:58:01 +03:00
kd-11 b791d90b35 vk: Rewrite command buffer chains 2022-02-21 23:58:01 +03:00
nastys 574e934bf3 macOS: Implement shortcuts 2022-02-21 19:11:52 +01:00
nastys b57ea3a229 Fix macOS builds 2022-02-21 19:11:52 +01:00
Megamouse 771f3c49e5 windows: fix windows shortcut paths 2022-02-21 01:14:53 +01:00
Megamouse 13e1305a76 linux: fix shortcut icon aspect ratio 2022-02-21 01:14:53 +01:00
Megamouse 9214df482e Unbreak macOS builds 2022-02-20 21:06:46 +01:00
Megamouse b1a9e87ecf cellSearch: fix cellSearchStartListSearch
Fixes listing BGM in Gundam.
The returned content was always empty.
Playback of the tracks will still require a MusicSelectionContext and cellMusic playback, which isn't implemented yet.
2022-02-20 21:06:46 +01:00
Megamouse 0a34403ef8 Qt: create rpcs3 shortcuts 2022-02-20 13:23:27 +01:00
Megamouse e5bb0ba004 Qt: properly hide metal sempahore if not apple 2022-02-20 13:23:27 +01:00
Megamouse 2147fe479c cellSearch: more logging 2022-02-20 12:29:37 +01:00
Megamouse 93e7988df7 rsx: add boost mode shortcut 2022-02-20 11:56:11 +01:00
nastys 7801e8368b Add MoltenVK Semaphore setting 2022-02-20 08:47:16 +01:00
Megamouse 91d7f28c67 cellSearch: log audio and video metadata 2022-02-19 14:27:47 +01:00
Megamouse 8171c7766c cellSearch: silence irrelevant log error 2022-02-19 14:27:47 +01:00
Megamouse 3f69ceac40 cellMusic: fix cellMusicSetVolume log messages 2022-02-19 14:27:47 +01:00
Megamouse 4be9e0d396 RSX: Fix rsx capture stop
RSX captures froze on stop, at least with Vulkan.
2022-02-16 19:50:57 +01:00
RipleyTom 6bd8a93ff4 Fixes some unchecked derefs in sceNp logging 2022-02-16 17:08:58 +01:00
Eladash e39797d860 Fix sys_fs_close FD state logging 2022-02-16 18:09:13 +03:00
kd-11 254ddcad51 vk/dma: Initialize COW DMA block contents to avoid leaks
- It is possible to lose data when uploading since the result of map_dma can change types and handles.
- Consider sync-on-exit for inherited spans

Not a problem when using passthrough DMA, but this extension does not work properly on NVIDIA + windows
2022-02-16 16:33:27 +03:00
kd-11 abd8bd6f36 Bump vulkan headers requirement 2022-02-15 22:30:59 +03:00
Eladash fd6c33980b
cellSaveData: Check filename format of savedata files (#11502) 2022-02-14 22:03:40 +03:00
kd-11 2d5d5746d1 gl: Harmonize format conversion values
- Return values that are true to the PS3, not the host.
2022-02-13 15:31:39 +03:00
kd-11 314b63eebf vk: Drop unused native format ABGR8 2022-02-13 15:31:39 +03:00
kd-11 f382d54e9a gl: Remove pointless assert 2022-02-13 15:31:39 +03:00
kd-11 9581e4ff98 qt: Add translation resources 2022-02-13 14:39:42 +03:00
kd-11 b7a57ac4b0 qt: Update tooltips 2022-02-13 14:39:42 +03:00
kd-11 df5295ae85 vk: Per work-queue scratch resources
- Avoids parallel tasks from trampling over each other's data
2022-02-13 14:39:42 +03:00
kd-11 c8ad8b18bb vk: Ignore queue transfer stuff when using 'fast' mode 2022-02-13 14:39:42 +03:00
kd-11 44cc254620 Fix linux build 2022-02-13 14:39:42 +03:00
kd-11 cef512a123 vk: Spec-compliant async compute 2022-02-13 14:39:42 +03:00
Megamouse 7895d43a98 Terminate headless rpcs3 if nothing was booted 2022-02-12 12:46:07 +01:00
Megamouse 4f4a80cc04 Use RPCS3/asmjit fork 2022-02-12 02:54:00 +01:00
Megamouse d6597038ee Input: multithreaded handlers
Implements naive multithreading for input handlers.
2022-02-10 20:38:11 +01:00
kd-11 ec3e8de780 rsx: End the current frame before performing cache cleanup to release in-flight data 2022-02-10 22:20:56 +03:00
kd-11 f667b52cca vk: Rewrite resource management 2022-02-10 22:20:56 +03:00
kd-11 48b54131f6 vk: Fix up multiple resource allocation routines
- Originally part of async bringup. Imported to allow smoother transition.
2022-02-10 22:20:56 +03:00
Megamouse d172b9add6 Rename CallAfter to CallFromMainThread 2022-02-07 19:42:08 +01:00
kd-11 2d9f21a2ea rsx: Lower performance warnings to 'warn' level instead of 'error' level to avoid causing panic for users 2022-02-07 09:25:01 +03:00
kd-11 247759b75b rsx: Fix memory tagging and add some security checks 2022-02-07 09:25:01 +03:00
RipleyTom 987166f4da Fix IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP 2022-02-06 20:37:12 +01:00
kd-11 90d368ae30 vk: Speed up cached image search a bit 2022-02-06 15:49:50 +03:00
kd-11 a2d33a7d76 vk: Fix WCB crash 2022-02-06 15:49:50 +03:00
kd-11 51f9310b9f vk: Silence compiler warnings 2022-02-06 15:49:50 +03:00
kd-11 dca3d477c9 vk: Use image hot-cache for faster allocation times
- Creating new images is expensive.
- We can keep around a set of images that have been recently discarded and use them instead of creating new ones from scratch each time.
2022-02-06 15:49:50 +03:00
Megamouse 02cdf8ac63 Qt: save settings dialog window state 2022-02-06 13:02:16 +01:00
nastys 6b370e85d5 Add overlay animations 2022-02-06 12:26:34 +01:00
Megamouse 05e80aad90 Qt: make patch manager dialog resizable 2022-02-06 00:09:27 +01:00
Megamouse 4ad255b8e0 Qt: make about dialog resizable 2022-02-06 00:09:27 +01:00
Megamouse 09a60cdefa Qt: add scrollbar to settings dialog 2022-02-06 00:09:27 +01:00
Megamouse eacf5a3813 Qt: adjust wording for updates 2022-02-05 12:22:54 +01:00
Eladash e951c619c5
Implement Emulator::GracefulShutdown() 2022-02-05 11:49:29 +01:00
RipleyTom 6c5b8dc31c rpcn: add cookie impl to tickets 2022-02-03 13:25:15 +01:00
Megamouse fd0e7a4efa Qt: fix compat download abort 2022-02-01 21:21:42 +01:00
Megamouse a4c4548c3a input: add enumeration threads for each hid_pad_handler
There was a roughly 60 ms lag for each hid handler every 2 seconds. (sucks if you use all 3 hid handlers)
2022-02-01 19:28:04 +01:00
Megamouse 8efc29972d input: add missing nullptr checks for pad 2022-02-01 19:28:04 +01:00
Vestral 7977fbb9c5 Audio: prevent click at play/pause
Cubeb uses internal rate resampler and it's not being flushed during call to stream_stop.
This results in noticeable click when emulator is unpaused.
Reset last sample buffer on pause for all backends.
2022-01-31 21:20:57 +01:00
Vestral 681bab558b XAudio: fix deinitialization order 2022-01-31 21:20:57 +01:00
Vestral 107107107c SoundTouch resampler integration 2022-01-31 21:20:57 +01:00
Hyogi Sim 3a804674c9 Fix linkage error on debug build with clang-13
Debug build with clang-13 fails with "undefined references" to the
static const members in spu_channel class. This patch replaces the const
definitions with constexpr constants.
2022-01-31 17:05:18 +03:00
Malcolm Jestadt 91673f8fdc SPU LLVM: Add relaxed xfloat option
- This new setting is on by default
- It's active when approximate default is disabled
- Approximate xfloat is now exposed to the gui
2022-01-31 08:02:48 +03:00
kd-11 86919ec0e1 rsx: Validate requested images before attempting to upload them
- Do not allow dimensions of 0 to reach the backend APIs
2022-01-30 14:58:51 +03:00
kd-11 0e320d17c1 vk: Fix 'grow' behavior when we reach the size limit
- Just swap out the current heap ptr and spawn a fresh one. Chances are, we can spare 1GB of host memory.
2022-01-30 10:56:15 +03:00
kd-11 d063f0b335 vk: Fix working buffer calculation for emulated D16F operations 2022-01-30 10:56:15 +03:00
Eladash 781b2b4548
Implement fs::isfile (#11447) 2022-01-29 22:10:48 +03:00
nastys bb65e6797f macOS CI: Don't hardcode moltenVK and llvm version-specific paths 2022-01-27 11:40:32 +03:00
Megamouse b0f0641564 Windows Hotfix: Update hidapi 2022-01-26 22:02:27 +01:00
Nekotekina 16aae4eb77 Fixup creating image path 2022-01-26 15:46:16 +03:00
Nekotekina 3a1082fe0d Fix overlays::image_info constructor 2022-01-26 15:46:16 +03:00
Nekotekina dba2baba9c Implement utils::memory_map_fd (partial)
Improve JIT profiling dump format (data + name, mmap)
Improve objdump interception util (better speed, fix bugs)
Rename spu_ubertrampoline to __ub+number
2022-01-26 15:46:16 +03:00
kd-11 ffe00e8619 gl: Clean up format bitcast checks and register D32F type for FORMAT_CLASS16F
- Also hides a dangerous export for vulkan, same as GL
2022-01-26 12:08:36 +03:00
kd-11 3fa45ff994 Fix missing typeless info update 2022-01-26 12:08:36 +03:00
Eladash 73ff506b88 overlay_controls.cpp: Improve image_info ctor withstandability 2022-01-26 10:35:52 +03:00
kd-11 3a1676e558 vk: Fix float16 requirement issue 2022-01-25 21:34:21 +03:00
Nekotekina 0db9850a73 Add loop building utilities for ASMJIT
Refactor copy_data_swap_u32 a bit
2022-01-25 03:16:37 +03:00
Nekotekina 11ee1f3eb2 Improve JIT profiling on Linux
Add JIT object dumping functionality.
Add source for objdump interception utility.
2022-01-25 03:16:37 +03:00
Nekotekina 14951d8713 Fix abuse of fs::pending_file
Debug dumps don't fall into category which needs atomic rewrite.
2022-01-24 22:39:01 +03:00
Nekotekina 065ee621b8 Call avcodec_register_all in case of old ffmpeg
Apparently it's still possible to break without it.
2022-01-24 22:39:01 +03:00
Nekotekina 12c83b340d Remove built_function
With today's branch prediction techniques, it's hardly useful.
2022-01-24 22:21:41 +03:00
nastys d2897bc6a0 macOS: Fix DS3 init on Monterey 2022-01-24 20:16:57 +01:00
kd-11 5920372929 qt: Encourage users to use better ZCULL synchronization options
- From looking at logs, users are not actually changing ZCULL settings because they do not realize how slow 'Precise' mode is.
  By marking precise as the 'slowest' mode, we can get the message across that better options exist.
- Also updates the tooltips with more useful information.
2022-01-24 19:14:27 +03:00
kd-11 1fa82eec89 vk: Rework format feature validation
- Requirements have changed a lot over the years. We no longer blit Z formats around for example because they never support linear filtering
- Removing some unused requirements allows more hardware to be usable
2022-01-24 19:14:27 +03:00
RipleyTom 8c2fd50957 Add a QGroupBox in RPCN password window 2022-01-23 11:04:18 +01:00
kd-11 2f7d38bb81 rsx: Improve coverage checking logic to handle 3D and cubemap resources 2022-01-23 00:03:03 +03:00
kd-11 4f8b5849b7 rsx: Take depth into account when calculating coverage 2022-01-23 00:03:03 +03:00
kd-11 7f216f2581 rsx: Fix local slice height calculation 2022-01-23 00:03:03 +03:00
kd-11 6ffd38c393 vk: Only enable DCC workaround if the format features allow it 2022-01-22 13:16:48 +03:00
nastys 801e7f3c2f macOS: Implement texture swizzling for 16-bit formats 2022-01-22 00:17:17 +01:00
nastys c7140df5f8 Initial support for Apple GPUs 2022-01-22 00:17:17 +01:00
nastys 6b5f0957ce Disable macOS swizzling workaround 2022-01-22 00:17:17 +01:00
Jan Beich f2ed50e6b0 cellVdec: constify AVInputFormat for ffmpeg >= 5.0
rpcs3/Emu/Cell/Modules/cellAdec.cpp:326:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
                        input_format = av_find_input_format("oma");
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:332:19: error: assigning to 'AVInputFormat *' from 'const AVInputFormat *' discards qualifiers
                        input_format = av_find_input_format("mp3");
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Jan Beich 511ca82e30 cellAVdec: constify AVCodec for ffmpeg >= 5.0
rpcs3/Emu/Cell/Modules/cellAdec.cpp:325:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_ATRAC3P);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellAdec.cpp:331:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_MP3);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:143:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_MPEG2VIDEO);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:148:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_H264);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rpcs3/Emu/Cell/Modules/cellVdec.cpp:153:12: error: assigning to 'AVCodec *' from 'const AVCodec *' discards qualifiers
                        codec = avcodec_find_decoder(AV_CODEC_ID_MPEG4);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-01-21 21:36:17 +03:00
Nekotekina 00274bb4da PPU: port FP convert instructions to Aarch64 2022-01-21 16:07:48 +03:00
Nekotekina a4d94a83b9 PPU/simd.hpp: minor changes in DP instructions 2022-01-21 13:57:46 +03:00
Nekotekina 0de9960772 PPU: rewrite MFOCRF+MFCR instructions 2022-01-21 12:49:52 +03:00
Nekotekina aa7c9dd15d PPU: rewrite LVSL/LVSR instructions
Make the tables endian-agnostic.
2022-01-21 00:05:40 +03:00
Nekotekina 628354ba92 Use global variable in gv_zeroupper 2022-01-20 21:16:00 +03:00
Nekotekina 17b1a34ebf PPU: rewrite LVLX/LVRX/STVLX/STVRX instructions 2022-01-20 21:16:00 +03:00
Nekotekina 349f251d14 PPU LLVM: use masked stores for STVLX/STVRX
Drop maskmove intrinsic, not portable.
Its implicit NT hint may also hurt performance.
2022-01-20 21:16:00 +03:00
kd-11 3942a464fe vk: Avoid leaking descriptor copies 2022-01-20 19:21:24 +03:00
kd-11 2331dc3256 vk: Keep the total number of allocated samplers under control 2022-01-20 19:21:24 +03:00
Nekotekina 8c3fb3998c PPU: fix crash on SSE41 CPU in internal builder 2022-01-20 14:42:58 +03:00
Nekotekina 327c577024 PPU: print internal interpreter build error 2022-01-20 14:42:58 +03:00
Nekotekina d572d90bb7 PPU: fixup for old CPU
Abort building interpreter function when out of registers.
2022-01-20 08:31:08 +03:00
Nekotekina b42fae0989 PPU: refactor shift and splat instructions
Fix utils::rol32/64 functions.
Fix immediate clamping in splat instructions.
Other fixes.
2022-01-19 23:01:31 +03:00
Megamouse d92008abe4 Qt: fix RestoreDefaults crash
For some reason rpcs3 crashes when I restore the defaults of multiple configs one after another in the settings dialog.
Using the other signal seems to work.
I don't wanna investigate this nonsense though, so I'll just accept the fix as is.
2022-01-19 20:41:05 +01:00
Megamouse 484a3e6824 Qt: check for patch updates 2022-01-18 20:24:31 +01:00
Nekotekina 08b02efc6c ARM: don't calibrate TSC, use cntfrq_el0 info 2022-01-18 04:21:42 +03:00
Nekotekina 4728478247 PPU: improve interpreter codegen
Implement more sensible check for EVEX prefix and SSE
2022-01-18 04:20:06 +03:00
Nekotekina 4704367382 Remove unnecessary asmjit::imm_ptr 2022-01-18 00:10:32 +03:00
Nekotekina 14cca55b50 PPU: refactor vector rounding instructions
Fix: nearbyint -> roundeven
2022-01-18 00:10:32 +03:00
Nekotekina 248f9424ac PPU: refactor VPack instructions 2022-01-18 00:10:19 +03:00
Nekotekina b404d37eb0 PPU: more interpreter refactoring (VPERM)
Notably, runtime-built SSSE3 version of VPERM.
Some other instructions are refactored and vectorized.
Aarch64 impl of multiple instructions including VPERM.
2022-01-18 00:10:19 +03:00
Nekotekina 14170afe8a Fix PPU decoder settings dialog 2022-01-18 00:10:19 +03:00
RipleyTom 58fdf58150 Force close socket in sys_net_bnet_close 2022-01-17 21:27:20 +01:00
kd-11 000ec71629 Fix invalid descriptor setup if subdraw0 has broken vertex setup 2022-01-17 12:38:10 +03:00
kd-11 3e794e7fdb rsx: Optimize 8-bit rounding logic a bit
- NV hw does not like the raw use of round()
2022-01-17 10:28:23 +03:00
kd-11 c38ca21a81 rsx: Round up 8-bit ROP output on NVIDIA cards
- NV GPUs have a tendancy to be off by a very small margin, breaking rendering when greaterThan/lessThan checks are used.
- NOTE: Currently this setting is using the sRGB flag which indicates 8-bit output.
  Only one game is currently known to care about this behaviour so this is good enough for now.
2022-01-17 10:28:23 +03:00
kd-11 f923eaf09a rsx: Surface format remapping enhancements 2022-01-17 10:28:23 +03:00
Nekotekina 5b980b99a0 PPU: Rename new ppu_use_nj_bit setting to flip it back
Some mistakes were made.
2022-01-16 01:34:47 +03:00
Nekotekina 22240777aa PPU Interpreter: fix accuracy flag dispatch 2022-01-16 01:00:37 +03:00
Nekotekina f95395b351 PPU LLVM: improve accuracy of VSL/VSR
Passes tests, should now be equal to interpreter.
2022-01-15 21:13:31 +03:00
Nekotekina df24cff0b1 PPU LLVM: fix VMINFP and VMAXFP accuracy
PPU cache needs to be cleared.
2022-01-15 17:36:57 +03:00
Nekotekina 6dda047128 PPU LLVM: fix VNMSUBFP sign handling
PPU cache needs to be cleared.
2022-01-15 17:36:57 +03:00
Nekotekina e9efa73eed PPU: restore previous NJ mode handling option
Fix the divergence between PPU Interpreter and LLVM.
2022-01-15 17:36:57 +03:00
Megamouse 1c0b3fc7e0 Qt: Fix accurateXFloat enabled state in settings dialog 2022-01-15 13:48:03 +01:00
Nekotekina 580bd2b25e Initial Linux Aarch64 support
* Update asmjit dependency (aarch64 branch)
* Disable USE_DISCORD_RPC by default
* Dump some JIT objects in rpcs3 cache dir
* Add SIGILL handler for all platforms
* Fix resetting zeroing denormals in thread pool
* Refactor most v128:: utils into global gv_** functions
* Refactor PPU interpreter (incomplete), remove "precise"
* - Instruction specializations with multiple accuracy flags
* - Adjust calling convention for speed
* - Removed precise/fast setting, replaced with static
* - Started refactoring interpreters for building at runtime JIT
*   (I got tired of poor compiler optimizations)
* - Expose some accuracy settings (SAT, NJ, VNAN, FPCC)
* - Add exec_bytes PPU thread variable (akin to cycle count)
* PPU LLVM: fix VCTUXS+VCTSXS instruction NaN results
* SPU interpreter: remove "precise" for now (extremely non-portable)
* - As with PPU, settings changed to static/dynamic for interpreters.
* - Precise options will be implemented later
* Fix termination after fatal error dialog
2022-01-15 06:48:04 +03:00
kd-11 d6aa834b5f vk: Enable shading rate hack for all GPUs
- This is a hack, ideally we should be using coverage-based masking when writing the exploded texture.
- We do not have access to the fragment coverage mask and it is non-trivial to integrate it in a competent manner.
2022-01-14 10:21:38 +03:00
MSuih f526027778
Revert recent file system changes (#11370)
* Revert "FS: use std::filesystem::u8path"

This reverts commit cd016be86e.

* Revert "VFS: fix missing path deliminators"

This reverts commit 84753db574.

* Revert "Bugfix of Emulator::Load disc path searching"

This reverts commit b9179de288.

* Revert "fs: Reimplement path resolving using std::filesystem::weakly_canonical"

This reverts commit 0c4b2ff06b.
2022-01-13 07:24:04 +03:00
Malik Idrees Hasan Khan 949e93bec7
Fix typos (#11361) 2022-01-12 23:21:02 +01:00
Megamouse cd016be86e FS: use std::filesystem::u8path 2022-01-13 00:07:25 +03:00
Megamouse 84753db574 VFS: fix missing path deliminators 2022-01-13 00:07:25 +03:00
Eladash ef0bee9228 aes.cpp: Use secured memory resetting 2022-01-12 03:37:39 +03:00
Eladash a60cee6536 Update PPUTranslator::MTFSFI for its intention to be clearer 2022-01-12 03:37:39 +03:00
Eladash 108846055b shared_ptr.cpp: Remove std::swap specialization 2022-01-12 03:37:39 +03:00
Eladash b9179de288 Bugfix of Emulator::Load disc path searching
Turns out fs::file does not always fail when provding a path to a directory.
2022-01-12 03:37:39 +03:00
Eladash 0c4b2ff06b fs: Reimplement path resolving using std::filesystem::weakly_canonical 2022-01-12 03:37:39 +03:00
Silent 8c9090fd03 WolfSSL: Use a custom UTF-8 aware fopen on Windows
Fixes loading cacert.pem from Unicode directories
2022-01-12 03:35:15 +03:00
nastys ef66b002e0
Implement proper macOS version check (#11352) 2022-01-11 23:17:26 +01:00
nastys 0d1c0e72a6 macOS: Increase thread stack size to 8 MiB 2022-01-11 08:05:17 +03:00
nastys 37f24d8c1c Log maxfiles to file and stderr on *NIX 2022-01-11 08:05:17 +03:00
nastys 3571e6ef85 macOS: Set correct maxfiles (fixes shader cache and SPU LLVM) 2022-01-11 08:05:17 +03:00
nastys ed542b2cb4 macOS: Fix arrow keys 2022-01-10 22:54:06 +01:00
nastys b950651487 Update wolfssl 2022-01-10 20:34:12 +01:00
nastys 09700360f7 macOS: Warn if Vulkan is not supported 2022-01-10 19:18:49 +03:00
nastys 29a6db8960 Disable OpenGL on macOS 2022-01-10 19:18:49 +03:00
kd-11 6d737e61fd rsx: Use 32 bit integers for pitch
- RSX max pitch = 65536 which requires 17 bits
2022-01-10 12:27:30 +03:00
kd-11 d874ca5d8c cellGame: Fall back to VERSION field if APP_VER is missing from PARAM.SFO 2022-01-10 12:27:30 +03:00
Vestrel 1adc408ad7
More sys_uart packets (#11332)
* Additional sys_uart packets added
2022-01-10 03:43:54 +03:00
kd-11 83026fd263 rsx: use coverage ratio to determine when too much data is overlapping 2022-01-07 22:55:27 +03:00
kd-11 92824b6729 rsx: Rework invalidation tagging 2022-01-07 22:55:27 +03:00
kd-11 7563655221 rsx: Bump surface removal threshold values
- It is much slower to attempt surface removal than to render duplicates on the host GPU
2022-01-07 22:55:27 +03:00
kd-11 6889b48973 rsx: Add optimized version of section removal code 2022-01-07 22:55:27 +03:00
Vestral 9766d87126 cellAudio: fix enqueued samples computation 2022-01-07 09:48:51 +01:00
Eladash bba528e2ae
rsx: Fix wrong fault report in initialization (#11323)
* rsx: Fix wrong fault report in initialization

* Ensure emu.isstopped() == true at RPCS3 startup

Based on zero initialization.
2022-01-05 20:41:01 +03:00
nastys 7c39c1de9b macOS CI 2022-01-04 21:23:53 +01:00
nastys 81c2fb508b Fix macOS hidapi CMakeLists 2022-01-04 21:23:53 +01:00
clienthax 350257e1a4 Fcntl 0xc0000007, 0xc0000015, 0xc000001c 2022-01-04 22:47:06 +03:00
Florin9doi 0e07d3c58f USB: Improve SingStar emulation 2022-01-04 18:03:23 +01:00
Ani 0d4543ca2a
llvm: Update to latest submodule commit (#11325) 2022-01-03 02:33:20 +00:00
陈俊嘉 20cc2d7267 Add multi-config generator build support for Windows. 2022-01-02 23:59:54 +01:00
RipleyTom 39a832d07f hidapi CMakeLists.txt fix 2022-01-02 23:33:19 +01:00
Megamouse 13136ec083 Rebase hidapi to 0.11.0 2022-01-02 23:33:19 +01:00
Malcolm Jestadt 31a5a77ae5 SPU: Use REP MOVSB in do_dma_transfer
- Try to use REP MOVSB when the size of the transfer is above a certain threshold
- This threshold is determined by the ERMS and FSRM cpuid flags
- The threshold values are (roughly) taken from GLIBC
- A threshold of 0xFFFFFFFF indicates that the cpu has neither flag
2022-01-02 21:35:46 +03:00
Megamouse 1c014299eb HLE: fix some types 2022-01-02 18:18:31 +03:00
kd-11 7c47b0029c gl: Fully drop alignment restriction for compressed textures
- This is just not part of spec, there is no enforcement for multiple of block size for width or height of s3tc compressed images.
- This restriction does indeed exist for ASTC and ETC but we're not using those formats.
2022-01-02 14:29:38 +03:00
Ani 61d9852632
rpcs3_version: Bump to 0.0.20 (#11318) 2022-01-01 00:32:14 +00:00
Nekotekina cb2748ae08 Update ASMJIT (new upstream API) 2021-12-29 02:45:00 +03:00
Alex James 900d7df40f GDB: Rework to_hex/hex_to functions
macOS defines uint64 as an alias of unsigned long long. Drop the length
modifiers to resolve the warning on macOS:

rpcs3/rpcs3/Emu/GDB.cpp:107:37: warning: format specifies type 'unsigned long *' but the argument has type 'u64 *' (aka 'unsigned long long *') [-Wformat]
        sscanf_s(val.c_str(), "%" HEX_U64, &result);
                               ~~~~~~~~~~  ^~~~~~~

Also use std::from_chars to implement hex_to_{u8,u32,u64} instead of
sscanf.
2021-12-28 02:02:44 +03:00
clienthax 6837370a62 Handle SYS_NET_IPPROTO_IP get/setsockopt
Improve net logging.

Should allow latest vsh to load (Depending on windows version apparantly..)
2021-12-27 20:58:09 +03:00
Nekotekina 9cfdd8afea Fix builds on additional platforms
LLVMIntelJITEvents is awailable only Windows/Linux
2021-12-27 16:17:53 +03:00
Nekotekina 7b24df0957 Update LLVM commit 2021-12-27 02:24:28 +03:00
Nekotekina 122555fb66 Add an error check in JITAnnouncer event listener
This is a bit strange one.
2021-12-26 22:01:20 +03:00
Nekotekina d836033212 LLVM: enable some JIT events (Intel, Perf)
Made some related adjustments.
Currently incomplete.
2021-12-26 16:41:37 +03:00
Nekotekina 510041a873 rsx_methods.cpp: optimize compile time (120s to 10s)
Untemplate NV308A_COLOR
2021-12-26 14:40:21 +03:00
Nekotekina 8b4b6ba946 copy_data_swap_u32: build AVX-512 path 2021-12-26 14:40:21 +03:00
Nekotekina d36a715b24 Disable built_function on __APPLE__
Workaround for #11287
2021-12-26 14:40:21 +03:00
Nekotekina 599e00d6da BufferUtils: remove dead code (vertex streaming)
RIP. It won't be useful.
2021-12-26 14:40:21 +03:00
Nekotekina 3cd8891ab8 Re-refactor copy_data_swap_u32 again
Drop AVX2 path for now, since it usually operates on small data.
Rely on automatic SSE vectorization on recent compilers.
Side refactoring on JIT.h to workaround weird conflict issue.
2021-12-26 14:40:21 +03:00
Nekotekina e3e6fb5489 Don't use vm::preallocated flag in patch enclave allocs 2021-12-26 14:40:21 +03:00
kd-11 a9303acfdf rsx: Fix zclip w scaling 2021-12-26 12:50:31 +03:00
Josh Lay b4ec4f46b8 Fedora (35): Adjust to Pipewire adoption ++QT deps
Provided build steps didn't work on Fedora 35, these packages seem to settle things 😄
2021-12-26 09:20:56 +01:00
Eladash 6ee9d0f35f sys_rsx: Outlaw mapping sys_vm memory to RSX IO address-space 2021-12-25 02:22:49 +03:00
nastys a0040e6fb1
macOS: Implement texture converter for Metal (2) (#11289)
* macOS: Implement texture converter for Metal (2)

* Fix texture conversion formatting
2021-12-24 15:46:37 +03:00
kd-11 28d7af313b rsx: Remove noisy debug print 2021-12-24 15:13:33 +03:00
kd-11 39ef39aa4e rsx: Exercise caution when testing for overlaps in invalidated sections 2021-12-24 15:13:33 +03:00
kd-11 d9a1308624 Drop libwayland-client from official appimages 2021-12-24 11:35:50 +03:00
kd-11 56dd09f4fe rsx: Handle floating point shenanigans
- If near and far clip are too close together, the API will not distinguish between them leading to out of bounds values
2021-12-22 22:08:53 +03:00
kd-11 de495952fd rsx: Enable fallback for devices without wide integer Z buffers 2021-12-22 22:08:53 +03:00
kd-11 1ce5349199 rsx: Remove zclip hackery
- Calculates precise Z value as requested by the game
- Works properly if the underlying Z format matches the PS3 1:1 but may cause minor problems otherwise
2021-12-22 22:08:53 +03:00
Nekotekina dcd011048d Implement "built_function" utility (runtime-generated assembly)
Similar to build_function_asm, but links without indirection.
Achieved by emitting code directly into a byte array.
2021-12-22 19:27:20 +03:00
Nekotekina 12e3c9e08b Use PAUSE in vk::query_pool_manager::get_query_result 2021-12-21 23:28:09 +03:00
Nekotekina 262ff01619 Use aligned stores in write_index_array_data_to_buffer
Ensure that target buffer is cache line aligned.
Improve stx::make_single to support alignment.
2021-12-21 23:28:09 +03:00
Nekotekina 76ccaf5e6f BufferUtils: refactoring
Optimize CPU capability tests for arch-tuned builds.
Separate streaming and non-streaming utilities.
Rewritten copy_data_swap_u32(_cmp) with AVX2 path.
2021-12-21 23:28:09 +03:00
nastys 47e4a95d8f
Fix remap_vector redefinition on macOS (#11271) 2021-12-21 10:36:09 +01:00
Nekotekina c0bafbc804 TSX: enable same data optimization for PUTLLC 2021-12-19 20:23:01 +03:00
Nekotekina 61c64d1060 TSX: refactoring M
Remove first stage 'optimistic' transactions.
2021-12-19 20:23:01 +03:00
Nekotekina 3e1e1a683c TSX/PPU: fix conditional store regression 2021-12-17 21:48:01 +03:00
Megamouse 18f59d3be8 Input: fix min stick input of keyboard pad handler 2021-12-17 17:21:44 +01:00
Megamouse bf739aa156 Input: implement stick multipliers for keyboard 2021-12-17 17:21:44 +01:00
RipleyTom 43b7d1fe98 Add missing virtual destructors to some base class 2021-12-15 18:05:55 +03:00
Megamouse cc21d1b3cf cellSaveData: prevent some potential crashes due to corrupt files 2021-12-14 20:30:47 +01:00
nastys 08333e0876
macOS moltenVK support and SIGBUS handling (#11252) 2021-12-12 21:35:56 +01:00
Malcolm Jestadt 2f93df480b SPU LLVM: Disable affineqb shufb paths temporarilly 2021-12-10 19:32:10 +03:00
Megamouse 56fe450959 Qt: fix screenshot path creation 2021-12-10 17:27:52 +01:00
clienthax 6f9adbd162 Debug SPRX check 2021-12-10 14:23:26 +01:00
Megamouse f48c535802 cellAudio: Recover XAudio on failed initialization 2021-12-09 01:46:44 +01:00
Megamouse 5f7e5a9844 cellAudio: relax FAudio error handling 2021-12-09 01:46:44 +01:00
Megamouse 3f3b4bc363 cellAudio: recover Cubeb on failed initialization 2021-12-09 01:46:44 +01:00
Megamouse 68466f05b6 cellAudio: move some stuff to cpp 2021-12-09 01:46:44 +01:00
Megamouse e6b4655142 cellAudio: use members instead of config values 2021-12-09 01:46:44 +01:00
xddxd f690d55045 Remove unnecessary define 2021-12-09 01:21:11 +01:00
kd-11 d523f9cc6b rsx: Avoid skipping input mask checks due to static flow control 2021-12-08 23:58:32 +03:00
kd-11 7ca15c60bb rsx: Improve image aspect tests
- Replace old format-based detection with proper aspect test.
  Explicit image aspect has been available for a long time, but older
  code was not updated.
2021-12-08 23:58:32 +03:00
Nekotekina 8abd3e8bb4 PPU LLVM: fix bitcast usage to enable constant folding 2021-12-07 15:35:51 +03:00
Nekotekina 6730dc1dc4 LLVM DSL: print some debug info in get_const_vector<v128> 2021-12-07 13:21:24 +03:00
Nekotekina 6b40d69a8f Introduce coroutine support (util/coro.hpp)
Implement coroutine types `lazy` and `generator` in stx namespace.
Implement fs::list_dir_recursively.
2021-12-07 13:04:10 +03:00
Nekotekina d6420b8803 Put std::hash specialization out of std 2021-12-07 13:04:10 +03:00
Megamouse a4ad0a9468 cellVideoOutConfigure: treat unknown aspect as AUTO 2021-12-06 20:50:57 +01:00
Void48 a09fd80905 Update README.md 2021-12-06 12:05:52 +01:00
Malcolm Jestadt 0617e9e14b SPU LLVM: Fix vgf2p8affineqb usage
- Reverse the order of the bytes in the selection masks. Previously it was assumed that byte 0 would determine the output of bit 0, but byte 7 determines the output of bit 0.
2021-12-06 12:34:11 +03:00
Eladash cb4711203b logging: Tell apart PPU access violation caused by executing unmapped memory 2021-12-05 01:22:32 +03:00
Nekotekina e3e39e8de3 PPU LLVM: rewrite and optimize saturation bit
Use vector accumulator
2021-12-03 00:14:06 +03:00
Nekotekina 209b14fbac PPU LLVM: inline remaining vector instructions 2021-12-03 00:14:06 +03:00
Nekotekina 04c9d01390 PPU LLVM: modernize most vector instructions
Rewritten VSUM instructions:
VSUMSWS, VSUM2SWS, VSUM4SBS, VSUM4SHS, VSUM4UBS
2021-12-03 00:14:06 +03:00
Nekotekina c9d8e59dbf PPU LLVM: allow to drop setting SAT flag (optimization, module-wide)
Implement ppu_attr::has_mfvscr (partially, module-wide search).
If this instruction isn't found, allow to drop setting SAT flag.
It's based on presumption that only MFVSCR can retrieve SAT flag.
2021-12-03 00:14:06 +03:00
Nekotekina 86b194014b PPU LLVM: rewrite more packing instructions
Rewritten VPKUHUM, VPKUHUS, VPKUWUM, VPKUWUS.
Decoupled saturation test from sat pack pattern.
2021-12-03 00:14:06 +03:00
Nekotekina e7c827f73b PPU LLVM: rewrite some packing instructions
Rewritten VPKSHSS, VPKSHUS, VPKSWSS, VPKSWUS.
Decoupled saturation test from sat pack pattern.
2021-12-03 00:14:06 +03:00
Nekotekina abe498f35c PPU LLVM: modernize some code with new DSL
PPU: rewritten instructions VMHADDSHS, VMHRADDSHS
PPU: added optimized path for VPERM (ra=rb)
2021-12-03 00:14:06 +03:00
DH 49c02854f5 [rsx] reduce size of config structs 2021-12-02 21:36:57 +03:00
DH cccfb89aa0 [Config] Use std::less<> for std::map<...>
Reduces amount of string copies
[Utilities] fmt::replace_all: avoid creation of temporary strings
2021-12-02 21:36:57 +03:00
DH 2981867375 sys_spu_thread: Removed unused field access 2021-12-02 21:36:57 +03:00
DH 56d922999f Fixed debug build compilation errors
const_str_t constructor without arguments shoud be constexpr for usage as default initializer in constexpr functions
2021-12-02 21:36:57 +03:00
DH 813c3298ad [Utilities] Fixed area_base operator* scalar type 2021-12-02 21:36:57 +03:00
kd-11 02832d9623
rsx: Add some sensible fallbacks (#11219)
* rsx: Add some sensible fallbacks

* Update GLPresent.cpp

* Update VKPresent.cpp

* Update rsx_utils.h

* Update rsx_utils.cpp
2021-12-02 16:02:08 +03:00
Eladash 0ab36ef44d
sys_spu: Implement SPU image segment info checks (#11211) 2021-12-02 13:17:10 +03:00
kd-11 9bb46aa944 rsx: Simplify unconstrained aspect ratio conversion
- There is a reason resolutions are defined by only a height variable.
2021-12-01 21:55:53 +01:00
Megamouse 474baca6d8 rsx: default initialize RsxDisplayInfo 2021-12-01 21:55:53 +01:00
Megamouse 88d0b7d135 cellAvconfExt: add some trivial param checks 2021-12-01 21:55:53 +01:00
Megamouse aea1ec2594 avconf: Add const to fxo references 2021-12-01 21:55:53 +01:00
kd-11 22a7b026e7 rsx: Fix image scaling
- Specifically fixes a corner case where double transforms are required.
  Technically this can be made more readable using transformation matrices:
  * M1 = transform_virtual_to_physical()
  * M2 = transform_image_to_virtual()
  * M3 = M1 * M2
  * Result = Input * M3
  But we don't use a CPU-side matrix library and it is not reasonable to do this on the GPU.
2021-12-01 21:55:53 +01:00
Megamouse c8d4a0dcdc VK/GL: honor game's aspect ratio when scaling 2021-12-01 21:55:53 +01:00
Eladash f16949c292
fs::file: always use strict reading mode for large reads (#11206) 2021-12-01 19:09:07 +03:00
Jan Beich f910a152f1
CI: switch FreeBSD to Clang/libc++ 13 (#11214) 2021-11-30 16:12:37 +00:00
Megamouse 270c2e58a0 Update xxHash to version 0.8.1 2021-11-29 22:12:39 +01:00
Megamouse a586d1c529 Update glslang to version 11.7.1 2021-11-29 22:12:39 +01:00
Megamouse 09b047611b Update FAudio to version 21.11 2021-11-29 22:12:39 +01:00
Vestral e5005597fe CellAudio fixes 2021-11-29 20:43:00 +01:00
kd-11 38bfefcdfa vk: Fix incorrect mixed transfer modes for mipmapped VTC 2021-11-28 01:44:21 +03:00
kd-11 44fe6f6d39 rsx: Fix sloppy format matching test 2021-11-27 17:47:41 +03:00
RipleyTom 4fe17fcecf
sys_usbd improvements (#11202) 2021-11-27 01:49:35 +00:00
RipleyTom 276ee81da8 Ignore Log subsection for config obsolete check 2021-11-25 19:42:12 +01:00
RipleyTom 5e158bd3f2 Impl sys_usbd_get_device_location 2021-11-25 00:53:00 +01:00
clienthax 2b924175aa
Emulated v406 usio 2021-11-24 21:59:48 +01:00
Vestrel 37a722cc1d
Audio backend improvements
Callback based audio update.
Upgraded common backend interface.
Added Cubeb backend.
Support multiple audio providers.
Dropped pulse, alsa, openal backends.
2021-11-24 19:41:05 +01:00
orbea a84223bdc6 rpcs3: Fix the DATADIR path for AppImage
Even when DATADIR is defined the other paths may still be correct.

Fixes: https://github.com/RPCS3/rpcs3/issues/11195
2021-11-24 19:14:06 +01:00
kd-11 4df1a938b1 Unused var 2021-11-24 16:02:24 +03:00
kd-11 94a3b1cfe8 rsx: Roll back some optimizations
- Just use RGB565 for all blit targets. Avoids really dumb transforms done by GPU hw.
- When X16 is used, all the channels get written to R channel alone. CmdBlit does perform format conversion!
- gl: Force image copy when blit is requested with compatible targets. Avoids format conversion issues.
2021-11-24 16:02:24 +03:00
kd-11 a21c6c4628 rsx: Fix handling of scaling requests for packed formats
- One does not simply interpolate RGB565 components as U16 data!
2021-11-24 16:02:24 +03:00
kd-11 58f0fa3ca5 gl: Enable handling of X16 blit targets 2021-11-24 16:02:24 +03:00
kd-11 97bd8f7bc1 rsx: Update sampler format class when inheriting mipmap slices/sections 2021-11-24 16:02:24 +03:00
clienthax 4c0ef37a5c Stub uvc camera init 2021-11-23 23:41:13 +01:00
AniLeo 1df8f52a9f vk: Remove lavapipe workaround
Current lavapipe version now has support for 
shaderStorageBufferArrayDynamicIndexing
2021-11-23 22:48:46 +01:00
shockdude f9434091c3
sys_usbd: make emulated turntable interrupt transfer as fast as possible
Also add missing mutex
2021-11-23 02:19:36 +00:00
orbea 59f253ba24 cmake: Use GNUInstalldirs 2021-11-22 21:45:55 +01:00
Eladash c52d447381 sys_fs: Place all path-format checks upfront, implement more checks 2021-11-22 21:03:07 +03:00
Eladash 524b065bc8 Debugger: Show PPU reservation data
Asterisk marks the offset of data that had been given to the guest PPU code.
2021-11-22 14:48:34 +03:00
Eladash f7b55ec8d4 lv2: Add missing reservation disowning in lv2_obj::yield 2021-11-22 14:48:34 +03:00
Megamouse e7fc2bfa3b Input: Log path on hid_open_path error 2021-11-22 09:41:12 +01:00
Megamouse 22e3075c64 cellSaveData: always log setList and setBuf
For debugging
2021-11-20 08:43:46 +01:00
Megamouse 09ead539a5 improvise CELL_SAVEDATA_ERRDIALOG_NOREPEAT 2021-11-20 08:43:46 +01:00
Megamouse 5272dd951b Qt: simplify callbacks.resolve_path 2021-11-20 08:43:46 +01:00
Megamouse 7eee9e7b05 overlays: simplify backup icon copy procedure 2021-11-20 08:43:46 +01:00
Eladash e5eb727110 Memory Searcher: Peek full string in log, fix case-insensitive search 2021-11-20 07:57:34 +01:00
Eladash 7352a5a495 GUI: Rename memory string searching tool to "Memory Searcher" 2021-11-20 07:57:34 +01:00
Nekotekina 3d859a7493 Update LLVM commit (fixup) 2021-11-18 18:47:54 +03:00
RipleyTom 3587cfd2df Update SpuTest to v1.1.2 2021-11-18 15:50:31 +01:00
Megamouse de2be90636 Qt: only show prefix for fatal messages
Always messages are supposed to be humanly readable
2021-11-17 22:53:20 +01:00
Artur 9f35c3f52d Properly recognize triggers and axes for evdev pads. 2021-11-17 21:29:24 +01:00
RipleyTom 22910c02a9
Implement sceNpManagerGetPsHandle (#11164) 2021-11-17 18:02:01 +00:00
Nekotekina fef8905dc2 Update LLVM commit 2021-11-16 15:13:34 +03:00
Megamouse 0f7534c755 VK: fix NVIDIA driverVersion check 2021-11-16 09:31:16 +01:00
Megamouse 4d0330bf82 rsx: fix possible segfault 2021-11-16 09:31:16 +01:00
Megamouse 026efd96b2 cellKbCnvRawCode: use proper constants
and comment out unreachable code
2021-11-16 09:31:16 +01:00
Megamouse f6af5ff13a cellRtcGetDaysInMonth: fix param check 2021-11-16 09:31:16 +01:00
Megamouse 0d7b7585a8 Some typo/warning fixes 2021-11-16 09:31:16 +01:00
Eladash 6283600b84
Qt: Fix log prefix in log_frame 2021-11-16 09:02:43 +01:00
Megamouse f6e04ffdd2 overlays: add stick input to native dialogs 2021-11-16 01:38:33 +01:00
Megamouse 44b42f68fd overlays: add R3, L3 and PS buttons
Unused at the moment
2021-11-16 01:38:33 +01:00
Megamouse 56241838c0 input: add made up CELL_PAD_CTRL_PS enum
And remove useless comment about 0x0 buttons. It's a bitmap, so 0x0 is literally useless.
2021-11-16 01:38:33 +01:00
Megamouse 26475f8f40 cellGem: add comment about hack 2021-11-16 01:38:33 +01:00
Megamouse ff5e31f396 overlays: add system sounds 2021-11-15 23:03:30 +01:00
kd-11 59b1c324a9 rsx: Properly implement immediate mode rendering
- Treat the draw commands as being consumed on-the-fly with ATTR0 as provoking attribute
- Analysing streams sent to RSX and the results implies they are consumed fully inline.
  This only makes sense if a provoking attribute is present. The 'static' register is truly the immediate register for the draw.
2021-11-15 18:14:15 +03:00
kd-11 1f627caa81 rsx: Clear some leaking register state between runs 2021-11-15 18:14:15 +03:00
Megamouse 7dc3a50ddf Fix headless mode 2021-11-14 17:07:18 +01:00
Eladash cfe08de951
Account empty EDAT (#11146)
* Improve sys_fs_open logging
2021-11-14 02:15:27 +03:00
Eladash 48ad959697
sys_event: Fix PPU queue forced uproot of waiters (#11147) 2021-11-13 20:22:54 +03:00
陈俊嘉 05881ffa62
Disable vulkan in Windows build when HAVE_VULKAN is off and other cmake build fixes. (#11118)
* Make WolfSSL build support multi-config generator.
Fix a build error in Windows when using QT's moc.
Disable vulkan in Windows build when HAVE_VULKAN is off.

* add WIN32_LEAN_AND_MEAN definition to VS project.
add HAVE_VULKAN definition to VS project.
Define NTSTATUS in main.cpp.
2021-11-13 16:11:49 +01:00
Megamouse 8b3ed7b599 Qt: fix initial pad settings dialog size and position 2021-11-11 23:06:57 +01:00
cglmrfreeman 48ad7ca3a0
Update OpenSUSE Qt5 dependencies (#11135) 2021-11-11 19:57:23 +01:00
Megamouse cbec04cd0f Curl: fix --verbose-curl option 2021-11-11 17:37:22 +01:00
Malcolm Jestadt 3fde455932 SPU LLVM: Optimize branch following ORX
- test the input of ORX directly for zeroes, instead of the result
2021-11-11 12:58:38 +03:00
RipleyTom ba727e13ae Fixes rpcn_client.h func ptr comparison warning 2021-11-11 08:11:14 +01:00
RipleyTom 2248007c9a Add HAVE_SNI definition to curl build for wolfssl 2021-11-11 07:35:59 +01:00
Megamouse 2359ba9aed curl: add verbose logging
and really verbose logging i you use --verbose-curl
2021-11-11 00:36:42 +01:00
RipleyTom b736691bde Special nullptr optParam->cbFunc case fix 2021-11-10 20:03:11 +01:00
RipleyTom 50bf528f3f NP: add signaling_handler wakeup on connect queue 2021-11-10 12:43:45 +01:00
kd-11 7e3eab9915 rsx: Fix texture state propagation between unrelated draw calls
- Older games can load all textures before a draw sequence and then swap shaders for different draws.
- Optimizations in texture state streaming make it so that only referenced data is carried forward.
2021-11-09 12:39:49 +03:00
RipleyTom dc0793b731 NP: Implement sceNpMatching2DeleteServerContext 2021-11-08 13:10:40 +03:00
RipleyTom c194804fec NP: Implement sceNpBasicGetFriendListEntry 2021-11-08 13:10:40 +03:00
RipleyTom d41e405420 NP: Cache Manager + improvements 2021-11-08 13:10:40 +03:00
RipleyTom 516cb959cb rpcn: new allocator + refactoring of np_handler 2021-11-08 13:10:40 +03:00
RipleyTom 704e74b904 rpcn: extra changes 2021-11-08 13:10:40 +03:00
Nick Renieris b70f08d850 The Velocity Improvements: RoomData/RoomMemberData commands & fixes
modules/np2: Correct some SceNpMaching2 ptr type endianness
np/handler: Use STL .contains() method
Ignore USECRYPTO & USESIGNATURE in recvfrom/sendto
Implement RoomData/RoomMemberData commands
2021-11-08 13:10:40 +03:00
Ani 53f2594983
llvm: Add AVX-512 detection for Alderlake (#11121) 2021-11-07 15:23:51 +00:00
Malcolm Jestadt 7573d7289b SPU LLVM: Hook up 128 bit spu verification
- Also fix FMA enablement for sapphirerapids
2021-11-06 21:12:12 +03:00
Megamouse f9abe40494 Qt: fix initial TSX selection 2021-11-06 13:47:43 +01:00
Megamouse 88bb26afb4 vk: make upscaler dynamic
The config option was marked as dynamic, but was never actually changed ingame
2021-11-06 01:02:54 +01:00
Megamouse dac0baac0d Qt: improve fsr tooltip area 2021-11-06 01:02:54 +01:00
kd-11 f7eacf70ec rsx: Restore shader disassembler to working state 2021-11-05 23:55:07 +03:00
Megamouse 067b35217a Qt: Consider TSX-FA in settings dialog 2021-11-04 23:34:10 +01:00
xddxd c3888f5bbb
Specify the compiler for llvm_build (#11110) 2021-11-04 21:28:19 +00:00
Megamouse af3ef02ca0 fix npDrmIsAvailable 2021-11-04 21:41:07 +01:00
Eladash c49ebba648 Fixes of PS3 filesystem EDAT/SDAT handling
* Return EFSSPEIFIC if encountered corrupted EDAT or an unmatched key in sys_fs_open and sys_fs_read.
* Fix validate_dev_klic() for license-free EDAT.
* Fix EDATADecrypter::ReadData() for when size + pos > file_size but pos < file_size.
* Try to save up to 16 decryption keys. Educated guess based on NPDRM file descriptors count llimit.
* Return LICENCE_NOT_FOUND if needed RAP file is not found in sceNpDrmIsAvailable.
* Check additional sys_fs_open errors for sceNpDrmOpen. (EISDIR, ENOTMOUNTED)
2021-11-04 21:32:15 +03:00
kd-11 933d96af5f vk: Do not clip region using renderpass renderarea, we have scissor for that 2021-11-04 21:05:15 +03:00
Whatcookie bf6044fced
SPU/SYSINFO: Disable TSX by default for TSX-FA cpus (#11105)
- Also detect the new RTM_ALWAYS_ABORT bit in cpuid
- This new bit indicates that RTM is disabled in the microcode
- On cpus with RTM_ALWAYS_ABORT TSX can be renabled by writing 0x4 to the msr 0x0000010F
2021-11-04 16:44:25 +00:00
Ani 1a0392bf15
CPUTranslator: Enable FMA for alderlake CPUs (#11106) 2021-11-03 19:31:46 +00:00
kd-11 ad00c44231 rsx: Configure pitch correctly for pitch-zero textures (1D) 2021-11-03 16:58:30 +03:00
Nekotekina 69f321a471 LLVM 13 2021-11-02 20:11:08 +03:00
Malcolm Jestadt 37383f4217 SPU ASMJIT: Disable 512 wide spu verification
- Apparantly this crashes every game.
2021-11-01 20:04:26 +03:00
Eladash b84e95d768 rsx: Fixate time stamp of VBLANK 2021-11-01 10:04:53 +01:00
Eladash 4369fb234e rsx: Fix typo in VBLANK processing regarding emulation pause 2021-11-01 10:04:53 +01:00
Eladash 58040d478a rsx: Implement NTSC fixup mode, improve VBLANK accuracy 2021-11-01 10:04:53 +01:00
AniLeo 46a54f5474 rpcs3_version: Bump to 0.0.19 2021-11-01 03:05:52 +00:00
Eladash e31173e33e
GUI: Always show thread name for fatal messages (#11090) 2021-10-31 13:24:41 +01:00
kd-11 5b0ef401f7 rsx: Fix sampling in X when 0 pitch is given
- A pitch of 0 still allows 1-dimensional addressing.
2021-10-31 14:32:42 +03:00
Megamouse 1650dd1c7d overlays: fix graph offset error after applying new config
I already had this figured out last time but forgot the dynamic config use case.
2021-10-31 10:14:08 +01:00
Megamouse 84f123041a overlays: fix offset of right edge oriented graphs when detail level is none 2021-10-31 10:14:08 +01:00
Megamouse f258ae795c Add more logging for Emulator Stop events
This should give us more insight into the conditions that cause emulation stops.
This may also help find false issue reports.
2021-10-31 04:12:47 +01:00
Megamouse 33e80a733d overlays: fix trophy notification sound in queue 2021-10-30 22:44:30 +02:00
Megamouse 20331a77ce Qt: multithreaded trophy icon refresh 2021-10-30 22:44:30 +02:00
Megamouse 4e6b37ca04 Qt: fix missing vfs mount 2021-10-30 22:44:30 +02:00
Eladash 646ad3eed4 SPU DisAsm: Force decimal point insertion for constant floats 2021-10-30 21:33:06 +02:00
Eladash edcc2a9e0d PS3 String Searcher: Implement instruction searching in embedded SPU images 2021-10-30 21:33:06 +02:00
Megamouse 0e20acdf55 overlays: add optional sound to trophy popup 2021-10-30 17:16:45 +02:00
Megamouse f262e77fbd overlays: add fade to trophy notification pop-ups 2021-10-30 17:16:45 +02:00
Megamouse 244aa6879a overlays: fix trophy notification pop-up locations 2021-10-30 17:16:45 +02:00
Megamouse e9fe90244f Emu: Move VFS mount to Init 2021-10-29 19:46:11 +02:00
Eladash a90376a7c4 SPU DisAsm: Print SPU floats 2021-10-29 19:15:21 +02:00
Megamouse aff7d8a994 Qt: fix QSvg deployment 2021-10-28 23:54:56 +02:00
Megamouse 7f4b6b1ae7 Qt: Use svg instead of png 2021-10-28 21:01:27 +02:00
kd-11 78bcb0fd53 rsx: Do not reuse/destroy sections that have references held
- Avoids a situation where blit-dst and blit-src have overlapping ranges. Uploading blit-dst destroys blit-src and vice-versa.
  This is not the end of the world, but blit-src should be kept around until the operation is completed to avoid stale references!
2021-10-27 12:30:43 +03:00
kd-11 c733e794de gl: Use real image dimensions when decoding compressed textures
- Image size is already correctly calculated using block dimensions
2021-10-27 12:30:43 +03:00
kd-11 99fc90648b gl: Disable shader interpreter if hardware does not support bindless textures 2021-10-27 12:30:43 +03:00
kd-11 2587545eed gl: Fix decoding of wide, swizzled textures
- Handle pre-byteswapped data (swizzled usually) in the compute-safe path
2021-10-27 12:30:43 +03:00
capriots ac300c7356 Correct channel order
Documentation says the order is Front L, Front R, Center, LFE, Surround L, Surround R, Rear L, Rear R
2021-10-27 10:24:02 +03:00
Megamouse 2af2db2cbf Lower some log spam
These functions probably aren't perfect, but they spam a lot of unnecessary log messages.
2021-10-27 00:25:27 +02:00
Megamouse d5ca9dacb6 Qt: add sound-effect to screenshots 2021-10-26 09:18:37 +02:00
Megamouse 5e436984a2 cellCamera: fix qt handler crash if object is destroyed from another thread 2021-10-24 15:01:43 +02:00
Megamouse be972f04ac cellGem: hook up camera 2021-10-24 15:01:43 +02:00
illusion0001 00c87a8fc9 Screenshot: add Title ID to filename 2021-10-24 13:12:01 +02:00
Megamouse e51656e070 Qt: Add camera settings dialog 2021-10-24 11:32:35 +02:00
Megamouse 9dc6d920ce cellCamera: don't flip qt image vertically by default 2021-10-24 11:32:35 +02:00
Megamouse 354db953e6 Qt: add QtMultimedia to ci 2021-10-24 11:32:35 +02:00
Megamouse e67cf68321 cellCamera: fix compilation on linux 2021-10-24 11:32:35 +02:00
Megamouse 60d35e17ac cellCamera: support all formats and set RGB32 if possible 2021-10-24 11:32:35 +02:00
Megamouse d161d8c545 cellCamera: add some more logging and fix some warnings 2021-10-24 11:32:35 +02:00
Megamouse f66b29f043 cellCamera: Implement dynamic camera selection 2021-10-24 11:32:35 +02:00
Megamouse 77f6db2543 cellCamera: fix some typos (fixes camera attachment in Kung Fu Live) 2021-10-24 11:32:35 +02:00
Megamouse 5eabe9aa33 cellCamera: silence some log errors 2021-10-24 11:32:35 +02:00
Megamouse 76c1681173 cellCamera: fix regular YUV422 conversion of qt camera handler 2021-10-24 11:32:35 +02:00
Megamouse 67ba381dfe cellCamera: fix qt camera handler format 2021-10-24 11:32:35 +02:00
Megamouse 9a6285942b cellCamera: fix buffer allocation 2021-10-24 11:32:35 +02:00
Megamouse d93f16fe87 cellCamera: log qt camera handler status strings 2021-10-24 11:32:35 +02:00
Megamouse 214c1ccc7e cellCamera: move camera handler interaction to seperate functions 2021-10-24 11:32:35 +02:00
Megamouse d1ac92fd99 cellCamera: improve image conversion speed 2021-10-24 11:32:35 +02:00
Megamouse 263b7854c1 cellCamera: sprinkle some mutexes and handle disconnected cameras during open phase 2021-10-24 11:32:35 +02:00
Megamouse 843aed228e cellCamera: fix camera interaction 2021-10-24 11:32:35 +02:00
Megamouse bf71b1fcf7 cellCamera: fix buffer size for YUV 2021-10-24 11:32:35 +02:00
Megamouse 81c216f330 cellCamera: add error handling to qt camera 2021-10-24 11:32:35 +02:00
Megamouse e4b242955c cellCamera: implement CELL_CAMERA_READ_DIRECT 2021-10-24 11:32:35 +02:00
Megamouse 3fac832567 cellCamera: fix qt camera width and height for non-default resolutions 2021-10-24 11:32:35 +02:00
Megamouse 08011e9b78 cellCamera: Add qt camera handler 2021-10-24 11:32:35 +02:00
Eladash ee7ed1fdc3 Allow booting any ELF inside disc directory, not just ones at 'PS3_GAME/USRDIR/' 2021-10-24 11:03:51 +02:00
Megamouse d63a712cc5 Qt: fix richtext_item_delegate palette
We have to use the styled palette instead of the default palette in order to fix the style of lists as seen the pkg installer.
2021-10-24 10:38:50 +02:00
illusion0001 c549d7154b Screenshot: sort folders by Title IDs 2021-10-24 05:24:18 +02:00
shockdude 590483b81f Add emulated Guitar Hero Live guitar controller in Settings I/O tab 2021-10-24 03:04:07 +02:00
Eladash 9ba9d9424e [Win32] Allow renaming uppercase RAP/EDAT to lowercase with drag-and-drop from /exdata 2021-10-24 02:22:45 +02:00
RipleyTom 962e140cea fix: cleanup basic handler in np term 2021-10-23 08:31:59 +02:00
Eladash 9afa960979 Fix possible fs::create_path recursion overflow 2021-10-22 15:37:47 +03:00
Ani 8b4f3fa775 glslang: Update from 11.5.0 to 11.6.0 2021-10-21 22:35:23 +02:00
Ani 5fb0b2c190 stb_truetype: Update from 1.25 to 1.26 2021-10-21 22:35:23 +02:00
Ani 266ab28145 cURL: Update from 7.77.0 to 7.79.1 2021-10-21 22:35:23 +02:00
Ani 2acac67570 FAudio: Update from 21.07 to 21.10 2021-10-21 22:35:23 +02:00
Ani 361ef33856 XAudio2: Update from 1.2.6 to 1.2.8 2021-10-21 22:35:23 +02:00
Eladash c0c52c33b9 SPU: Implement interrupts handling for remaining events 2021-10-20 15:46:50 +03:00
kd-11 4ed92f4155 vk: Fully allow CB change in emit_geometry
- upload_vertex_data can trigger a flush to CELL which will result in CB flush.
  Ensure CB state is correctly reloaded in such a situation.
2021-10-20 12:05:39 +03:00
Megamouse cb953a418f Linux: add org.mate.ScreenSaver as fallback 2021-10-20 02:09:28 +02:00
Megamouse 9c1f258be3 Qt: remove pad settings size constraint
This might fix some scrolling issues (or add more)
2021-10-19 22:09:02 +02:00
Eladash c6641748ce
vm_native.cpp: Fix DeviceIoControl usage (#11029) 2021-10-19 12:53:08 +03:00
Eladash 12efd29121
SPU/PPU DisAsm: Implement more constant formation patterns 2021-10-17 12:15:58 +02:00
Eladash a4bd1755cf PPUDisAsm: Fix MFSPR/MTSPR disassembly 2021-10-16 15:03:52 +02:00
RipleyTom 683c061e60 sys_net: getsockname on unbound p2p socket fix 2021-10-16 11:41:20 +02:00
RipleyTom 0e625e193e sys_net: redirects 0.0.0.0 packets on windows 2021-10-16 11:41:20 +02:00
Eladash 43302f937c PPUDisAsm: Fixup SC printing, support LV1 syscalls 2021-10-16 10:56:31 +02:00
Megamouse 792ac5ed64 DS4: add version check 2021-10-15 01:20:15 +02:00
Megamouse 90548468ee mmjoy: add member prefix to blacklist 2021-10-15 01:20:15 +02:00
Megamouse 1584aba387 sceNpDrmIsAvailable: fix error check
No idea where I saw this check. Probably looked at the wrong function
2021-10-14 22:06:12 +02:00
RipleyTom caea340985 RPCN: Set error state on empty login/password 2021-10-14 19:28:20 +02:00
RipleyTom ab6c74b3c1 Enables resend token button 2021-10-13 21:18:29 +02:00
Malcolm Jestadt f06c8b22e8 PPU/SPU LLVM: Emulate VPERM2B with a 256 bit wide VPERMB
- Save 1 uop by using 256 wide VPERMB instead of VPERM2B. (Compiles down to a vinserti128 and vpermb)
2021-10-13 17:51:54 +03:00
RipleyTom 68fdc49528 Defaults to 127.0.0.1 when failing to discover IP 2021-10-13 08:17:29 +02:00
shockdude cd73d738e5
Add emulated DJ Hero turntable controller in Settings I/O tab 2021-10-12 23:29:19 +02:00
Eladash ab50e5483e
GUI Utilities: Implement instruction search, PPU/SPU disasm improvements (#10968)
* GUI Utilities: Implement instruction search in PS3 memory
* String Searcher: Case insensitive search
* PPU DisAsm: Comment constants with ORI
* PPU DisAsm: Add 64-bit constant support
* SPU/PPU DisAsm: Print CELL errors in disasm
* PPU DisAsm: Constant comparison support
2021-10-12 23:12:30 +03:00
RipleyTom 8a72bdb422 rpcn: wait for signal before connect 2021-10-12 20:20:32 +02:00
RipleyTom df39bd39b0 Fix rpcn create/login not returning proper error 2021-10-12 17:30:46 +02:00
kd-11 d58df667b9 rsx: Fix some texture decode instructions
- Fix TEX1D_PROJ definition
- Make TEX3D_PROJ cubemap-compatible
2021-10-12 13:47:08 +03:00
Jan Beich 7a24642c56 vm_native: simplify vm.overcommit sysctl
dragonfly$ sysctl vm.overcommit
sysctl: unknown oid 'vm.overcommit'

freebsd$ rg VM_OVERCOMMIT /usr/include
/usr/include/vm/vm_param.h
89:#define VM_OVERCOMMIT                12      /* vm.overcommit */
2021-10-12 02:11:58 +03:00
Jan Beich 1a90adfb5e vm_native: unbreak runtime on FreeBSD after 63104af8e9
shm_open() returns a file descriptor on success, not zero. As SHM_ANON
only exists on FreeBSD which also has memfd_create use the same code
as on Linux.

$ rpcs3
[...]
Verification failed (in file rpcs3/util/vm_native.cpp:478[:4], in function shm) (errno=2)
Segmentation fault
2021-10-12 02:11:58 +03:00
Megamouse 3832d4fa1c sceNpFriendlist: some improvements 2021-10-12 00:40:27 +02:00
Megamouse 8f328b2624 sceNpCustomMenu: improvements 2021-10-12 00:40:27 +02:00
Megamouse 80ef348600 sceNp: more error checks 2021-10-12 00:40:27 +02:00
Megamouse e2a9c0a8f3 sceNpInit: fix error check order 2021-10-12 00:40:27 +02:00
Megamouse 780a234467 sceNpDrmIsAvailable: add param checks 2021-10-12 00:40:27 +02:00
RipleyTom ea9dc9317d rpcn v0.4.0 2021-10-11 22:20:20 +02:00
Eladash 15af1bca69 PPU DisAsm: Fix CMPLI disassembly 2021-10-11 19:34:01 +03:00
kd-11 479150b214 rsx: Fix decoding of linear cubemaps
- 128-byte boundary is not observed in linear tiling. Verified in hw.
2021-10-10 16:15:28 +03:00
kd-11 e1d1d16227 gl: Alias register binding points a bit
- While aliasing is easy to break, it allows outdated hw to run
2021-10-10 16:15:28 +03:00
Megamouse 877dd1f98d DS4: add ZEROPLUS Brook Mars controller 2021-10-10 10:34:03 +02:00
Megamouse 7df7ac57cc input: log hid_get_feature_report return values 2021-10-10 10:34:03 +02:00
Megamouse e5793acd78 Qt: write version changes to update.log 2021-10-10 10:08:31 +02:00
Eladash 24e76f2960 fs: Add fs::write_new, promotes safe file creation (no overwrite) 2021-10-10 09:34:50 +02:00
Eladash 75e66ab5e0 Make pad and patches config savinng atomic 2021-10-10 09:34:50 +02:00
kd-11 b3725baf5a rsx: Rewrite shader decompiler texture dispatch 2021-10-09 15:10:36 +03:00
kd-11 f1d9a014c0 vk: Silence compiler warning 2021-10-09 15:10:36 +03:00
RipleyTom 8e3112734e Add edat install support 2021-10-07 14:27:34 +02:00
Megamouse eb850681ee cellKb: implement key repeat
- Implements key repeat functionality
- Fixes an issue where games registered keys repeatedly even though we weren't actually setting multiple key presses.
2021-10-07 09:49:53 +02:00
Megamouse 70308d05f3 Update yaml-cpp 2021-10-05 20:16:11 +02:00
Megamouse c7e5a62909 Add missing cpu_flag formatting 2021-10-05 20:16:11 +02:00
Megamouse f72d148d37 Fix config mode reset 2021-10-05 20:16:11 +02:00
Megamouse d8435163bb input: increase mouse acceleration maximum 2021-10-04 21:21:32 +02:00
Megamouse af11546b1e Overlays: fix small performance overlay font sizes 2021-10-04 19:57:57 +02:00
Eladash 63f16d7a46 GUI Utilities: Implement PS3 SDAT/EDAT decryption 2021-10-02 11:29:01 +02:00
Megamouse c765de81d4 Fix clang-format for new ugly lambda indentations 2021-10-02 09:15:54 +02:00
Silent 02e1c49818
Set up VS environment before calling cmake in glslang and spirv (#10952)
This makes VS use its own cmake instead of the one in PATH,
if available.
2021-10-02 00:07:58 +01:00
Eladash 71b15c1fa6
Suggest tweaking the setting "Stub PPU Traps" after PPU trap (#10921) 2021-09-30 21:33:55 +03:00
Eladash 65e9388f00 Update unpkg.cpp 2021-09-30 21:33:28 +03:00
Eladash 056d43eca7 PKG: Simplify files management 2021-09-30 20:48:47 +03:00
Nekotekina 55ec4808f1 SPU LLVM Fixup for VDBPSADBW
Fixes #10947
2021-09-30 17:53:47 +03:00
Malcolm Jestadt 2cfa5406e7 LLVM DSL: reimplement vdbpsadbw 2021-09-30 13:22:35 +03:00
Malcolm Jestadt 86716dc37b SPU LLVM: Optimize branches following byteswaps
- The first element can be extracted via vmovd rather than vpextrd, which saves 1 uop.
2021-09-30 13:22:35 +03:00
Malcolm Jestadt f9ab077908 SPU LLVM: Use VDBPSADBW in SUMB
- This instruction can be used to sum bytes horrizontally if the second input vector is all zeroes.
2021-09-30 13:22:35 +03:00
Megamouse 8b3a3e4ac8 Qt/Linux: Properly hide taskbar progress when done 2021-09-29 22:38:50 +02:00
Megamouse 45f5819ef3 Qt/Linux: Implement SignalFailure with dbus 2021-09-29 22:38:50 +02:00
Megamouse 3f55067414 Qt: Add sound if download fails 2021-09-29 22:38:50 +02:00
Megamouse 797b69fe8f Qt: fix downloader taskbar progress 2021-09-29 22:38:50 +02:00
Megamouse 019fa390f2 settings_dialog: Add Restore Defaults button
Only works for config.yml for now (not gui settings)
2021-09-29 19:52:00 +02:00
Megamouse 42de2a3e0b settings: Fixup for ranged combobox fallback
# Conflicts:
#	3rdparty/SPIRV/SPIRV-Headers
#	3rdparty/SPIRV/SPIRV-Tools
#	3rdparty/yaml-cpp/yaml-cpp
#	3rdparty/zlib/zlib
2021-09-29 19:52:00 +02:00
kd-11 f90bf2dd40 vk: Use a dynamic number of descriptor allocations 2021-09-29 01:20:32 +03:00
kd-11 dc8fc9fc79 vk: Clean up around vkQueueSubmit handling
- Explicitly declare one version for CB flush and the other for Async flush
- Always flush descriptors on CB flush in case of page fault handling.
  Other threads other than offloader can also enter the method and require normal flow.
- Fix overlapping interrupt IDs.
- Minor formatting fixes
2021-09-28 23:18:26 +03:00
kd-11 3d49976b3c vk: Add deregister event for sets
- Unused in practice, but this is more for peace of mind.
2021-09-28 17:43:15 +03:00
kd-11 eed38e1bbc vk: Make the new descriptor system spec compliant 2021-09-28 17:43:15 +03:00
kd-11 9595297a3a Whitespace fix 2021-09-28 17:43:15 +03:00
kd-11 7c5b5d25e3 vk: Implement descriptor allocation batching 2021-09-28 17:43:15 +03:00
kd-11 2e22a0d9bb rsx: Optimize thread self-tests 2021-09-28 17:43:15 +03:00
kd-11 ba2a8ebf2e vk: Enable deferred descriptor updates via descriptor-indexing 2021-09-28 17:43:15 +03:00
kd-11 381c7544fa Optimize basic descriptor batching 2021-09-28 17:43:15 +03:00
kd-11 4752c4014b vk: Implement basic descriptor updates batching 2021-09-28 17:43:15 +03:00
kd-11 24642a4c18 vk: Refactor descriptors a bit 2021-09-28 17:43:15 +03:00
kd-11 62979c7bd9 vk: Enable descriptor indexing extension if supported 2021-09-28 17:43:15 +03:00
kd-11 7b9fb7ad9c rsx: refactor rsx_utils a bit
- Move obviously standalone things to their own utility files
2021-09-28 17:43:15 +03:00
kd-11 7f830d555d vk: Simplify texture cache OOM tracking a bit 2021-09-28 17:43:15 +03:00
kd-11 9aafd8c09f rsx: Avoid get_system_time for simple draw ordering 2021-09-28 17:43:15 +03:00
kd-11 6781eb7c76 rsx: Avoid calling get_system_time() every draw call 2021-09-28 17:43:15 +03:00
kd-11 3e09b97f58 rsx: Minor optimization; avoid preparing unused vertex streams
- Also discards unused program state variables
2021-09-28 17:43:15 +03:00
Eladash e7b9513d4a Bugfix after recent PPU patches pr 2021-09-28 12:12:12 +03:00
Eladash 34c36c73ee Debugger/Disasm: Name PPU Syscalls 2021-09-28 12:12:12 +03:00
Megamouse 2821eb7397 Remove some lwmutex log spam
I don't know if there's a reason for the warning message.
So I'll just change it and see how many developers throw insults at me :)
2021-09-26 21:28:17 +03:00
Eladash 65c9cd99cd Patches/PPU: Implement HLE/LLE/With-TOC function call patches
Example patches:
  [ jumpf, 0x12340, "cellGcmSys:cellGcmSetFlip"] // Places a call to cellGcmSetFlip at 0x12340
  [ jumpf, 0x12340, "cellGcmSys:0xDC09357E"] // Same, using FNID
  [ jumpf, 0x12340, 0x2345678 ] # Function OPD based call eading OPD at 0x2345678
2021-09-26 20:49:57 +03:00
Megamouse b217e8384c Qt: Fix SnapSlider in settings
The SnapSlider function is used to snap the current slider to certain values if modified with the mouse.
But it only triggered if the user was dragging the handle of the slider and not if the bar itself was clicked.

This is fixed by using an eventFilter that listens for mousepress and mouserelease events instead of the sliderPressed and sliderReleased signals.
Maybe this is a Qt bug, but I don't want to bother with reporting this right now.
2021-09-26 12:08:40 +02:00
Ani df96be199b config: Remove Lower SPU Priority setting 2021-09-26 00:29:21 +01:00
Ani ecc55048c5 ui: Remove SPU Cache from settings dialog 2021-09-26 00:29:21 +01:00
Ani e58911cc95 config: Disable SPU loop detection by default 2021-09-26 00:29:21 +01:00
Megamouse 269c4604aa VFS: move VFS settings to seperate file 2021-09-25 19:21:59 +03:00
Megamouse 8f1dc7a2d4 Fix VFS regression
Implements cfg_mode
2021-09-25 19:21:59 +03:00
Megamouse da91a841b7 VFS: add logging to mount 2021-09-25 19:21:59 +03:00
Megamouse 4323ca4a01 Remove unused lambda 2021-09-25 19:21:59 +03:00
Eladash fff0c96bf3 Debugger: Implement editing instruction for entire SPU group 2021-09-24 21:05:11 +03:00
Ani 7167fbf545
ci: Switch QT mirror (#10918) 2021-09-23 20:37:36 +01:00
kd-11 e4aff539b0 vk: Fix scanning for upload heap types.
- HOST_CACHED support must be prioritized, but is not a mandate.
- Scan for that flag explicitly and fall back to uncached if it is not supported.
- Uncached memory is too slow for our requirements to contend with cached memory.
2021-09-23 01:45:37 +03:00
Eladash d0e31f4ec3 sys_fs: Add write log messages for SDATA/EDATA 2021-09-22 14:57:16 +03:00
Eladash 3e06446297 sys_fs: Fix sys_fs_read/write when nbytes is 0 2021-09-22 14:57:16 +03:00
Eladash 4237039d53 sys_fs: Fix SDATA/EDATA file-stat 2021-09-22 14:57:16 +03:00
Eladash 5ae7dbf77c Fix cellFsSdataOpenByFd flags 2021-09-22 14:57:16 +03:00
Megamouse f1037f75d9 perf_overlay: fix initial graph positions with detail level none 2021-09-22 08:06:58 +02:00
Megamouse a7cb513a89 cellOsk: partially implement continuous mode 2021-09-21 23:22:26 +02:00
Megamouse e3ec71c683 cellOsk: partially implement cellOskDialogExtUpdateInputText 2021-09-21 23:22:26 +02:00
Megamouse f7870d4968 cellOsk: do not notify INPUT_ENTERED on each input
Apparently the event is only sent when a user confirms the dialog during any continuous mode with seperate windows.
2021-09-21 23:22:26 +02:00
Megamouse 80ef0ce9b5 cellOsk: reset options after unload 2021-09-21 23:22:26 +02:00
Megamouse 696a3c4a42 cellOsk: stub some settings 2021-09-21 23:22:26 +02:00
Megamouse 81a01134bb cellOsk: fix dialog abort w/o user interaction 2021-09-21 23:22:26 +02:00
Megamouse 70c291753c cellOsk: dont send INPUT_ENTERED unless continuous 2021-09-21 23:22:26 +02:00
kd-11 3c7ada8e83 rsx: Fix 3D texture decode
- 3D mipmaps are shrunk in all 3 axes, they are not 2D array textures.
- Fixes mip1-mipN for all situations
2021-09-21 19:53:46 +03:00
kd-11 46b3027981 rsx: Invariably clear the texture state if referenced. 2021-09-21 19:53:46 +03:00
kd-11 334999f639 vk: Enable sampler mirror-clamped-to-edge as an extension 2021-09-21 19:53:46 +03:00
kd-11 dabfce5c82 rsx: Rework how depth/stencil initialization+clear works 2021-09-21 19:53:46 +03:00
kd-11 0a8d9a12ab vk: Rewrite memory initialization 2021-09-21 19:53:46 +03:00
kd-11 19b2da2590 Enable stencil export extension when required 2021-09-21 19:53:46 +03:00
Eladash 17a074e1ac
Fix memory leak in cellOskDialog (#10895) 2021-09-21 11:29:32 +03:00
Eladash 38d5f688b3 cellAudio fix 2021-09-20 07:59:34 +02:00
Megamouse e307a1b4bd input: fix keyboard_pad_handler pressure sensitivity 2021-09-19 23:46:51 +02:00
Megamouse a50e22a11f Overlays: Fix position of centered perf-overlay 2021-09-19 20:30:02 +02:00
AniLeo c995505023 edat: Check for the correct directory 2021-09-18 18:20:55 +01:00
AniLeo 1f8f428a59 unpkg: Don't append title ID to license packages 2021-09-18 18:20:55 +01:00
Eladash e10c6cbaf7 SPU: cpu_work() fixup, fix recursion in AV handler 2021-09-18 19:43:55 +03:00
Eladash 5870da0b55 SPU MFC: Add shuffling in steps setting 2021-09-18 19:43:55 +03:00
Eladash 5f729d4dbf GUI Settings: Add MFC Delay Command checkbox
Limited control over "MFC Commands Shuffling Limit" setting.
2021-09-18 19:43:55 +03:00
Megamouse ebde86b967 CLI: add "high-res-timer" argument (defaults to 1) 2021-09-18 00:58:05 +02:00
Megamouse 14a425e487 rsx: wait when emulation is paused
This decreases my cpu usage by to <1% during Emu.Pause()
2021-09-17 23:13:24 +02:00
Megamouse 1f1d1da87b silence some warnings 2021-09-17 23:13:24 +02:00
Megamouse 129ade2f73 System: only init fxo objects if a game is started
The progress_dialog and patch system aren't needed unless a game is started.
Before, they were both initialized everytime we added a single game to the game list or even when simply started RPCS3.
This both means that a thread was needlessly idling all the time and even worse: The patch.yml was read countless times when we didn't need it.
2021-09-17 22:45:14 +02:00
Eladash c37c6fb6de System.cpp: Remove outdated and bugged code-block 2021-09-17 22:15:48 +02:00
Eladash 5736fa3351 Fix Emulator::IsPathInsideDir 2021-09-17 22:15:48 +02:00
Eladash 3e84a2acc0 PKG: Implement SDATA decryption 2021-09-17 22:15:48 +02:00
Eladash 77c252a4c0 PKG: Debugging messages 2021-09-17 22:15:48 +02:00
Eladash e4f92ddf77 GUI: PARAM.SFO formatting 2021-09-17 22:15:48 +02:00
Eladash 1f3b1e1c99 Implement Emulator::GetFakeCat()
I still have nightmares about that cat.
2021-09-17 22:15:48 +02:00
Eladash 73bdf7481e Emu: Fix disc game move from hdd0/game 2021-09-17 22:15:48 +02:00
kd-11 c2ab3c664c rsx: Fix stupid overflow 2021-09-17 20:12:08 +03:00
Eladash ddec5d6908 CPUThread: Prevent recursive check_state calls 2021-09-17 14:02:22 +03:00
Eladash 975aae1d13 SPU MFC: Implement MFC commands execution shuffling 2021-09-17 11:38:10 +03:00
Nekotekina 9e62ca562b SPU LLVM: implement SQRT and DIV pattern detection (xf) 2021-09-17 10:23:43 +03:00
Nekotekina d28b0ba2fa SPU LLVM: implement spu_re, spu_rsqrte
Improve matching with peek_through_bitcasts() helper.
Implement erase_stores() helper.
2021-09-17 10:23:43 +03:00
Nekotekina aba332d4c4 SPU LLVM: make intrinsics for most xfloat instructions 2021-09-17 10:23:43 +03:00
Nekotekina 543fb7a9cb LLVM DSL / SPU LLVM: implement infinite precision shifts
Remove old make_*** helpers in favor of matcheable expressions.
2021-09-17 10:23:43 +03:00
Nekotekina 67b3fc70f8 LLVM DSL: implement absd and match helpers
Matcheable expression absd(a, b) (absolute difference).
2021-09-17 10:23:43 +03:00
Nekotekina 2268aa9093 LLVM DSL: reimplement fre, frsqe, fmax, fmin 2021-09-17 10:23:43 +03:00
Nekotekina 4b8ee85995 LLVM DSL: reimplement pshufb, add 'calli'
Implement postponed custom intrinsic replacement.
Make bitcast operator static like other ones.
2021-09-17 10:23:43 +03:00
Nekotekina 86ead1b93b SPU LLVM: implement FI instruction
Use approximate reciprocal in FRSQEST.
2021-09-17 10:23:43 +03:00
Nekotekina 7ec7f261b1 LLVM DSL: implement fpcast 2021-09-17 10:23:43 +03:00
Nekotekina 1685769bd9 LLVM DSL: reimplement fmuladd, force hw fma if present 2021-09-17 10:23:43 +03:00
Nekotekina 2acb6ed60d SPU LLVM: optimize SHUFB for permutation-only shuffles
Drop constant generation when unused.
2021-09-17 10:23:43 +03:00
Nekotekina 144244e902 SPU LLVM: implement missing constant mask handling in SHUFB 2021-09-17 10:23:43 +03:00
Nekotekina 7cf9d1380b LLVM DSL: add line number in get_const_vector automatically 2021-09-17 10:23:43 +03:00
Nekotekina f188019244 LLVM DSL: reimpelement fsqrt, fabs 2021-09-17 10:23:43 +03:00
Nekotekina 38dfc88e8d LLVM DSL: reimplement avg 2021-09-17 10:23:43 +03:00
Nekotekina 95c36221fa LLVM DSL: reimplement ctlz, ctpop 2021-09-17 10:23:43 +03:00
NicknineTheEagle b30ac48513 Refresh game list after installing RAP files via menus 2021-09-16 23:54:53 +02:00
NicknineTheEagle 4fcc1c0f31 Fully implement sceNpDrmVerifyUpgradeLicense 2021-09-16 23:54:53 +02:00
Megamouse 1a2fad4eac
cellSearch: more stubs and implementations (#10578) 2021-09-16 22:05:29 +01:00
Megamouse da4f4dafbd overlays: Show feedback while stopping ppu compilation 2021-09-16 22:18:43 +02:00
Eladash e5876b3a1b Fix BDVD path setting 2021-09-16 21:28:52 +03:00
Eladash 9c2d94ca1a sys_prx: Improve sys_prx_get_module_info error checking 2021-09-16 19:09:18 +03:00
Eladash ae4f837f57 sys_prx: Implement sys_prx_get_module_id_by_address 2021-09-16 19:09:18 +03:00
polar c6c4aa4634
cmake corrections (#10782) 2021-09-16 13:59:08 +01:00
xddxd bcda172ae7 Switch from r16ui to r16 2021-09-16 14:09:21 +03:00
xddxd d511e76a63 Enable the precise occlusion query feature 2021-09-16 14:09:21 +03:00
Megamouse 56e982375e
Qt: add changelog to updater (#10844) 2021-09-16 04:34:06 +01:00
Megamouse e3eaf5f29e Qt: Reset stick positions on pad handler change
Fixes weird stick positions when pads are disconnected or not sticks are not supported.
2021-09-15 21:43:29 +02:00
Megamouse e56609d836 Qt: Relocate pad handler parameter changes 2021-09-15 21:43:29 +02:00
Megamouse 460fb66949 Qt: reset config when null pad handler is selected 2021-09-15 21:43:29 +02:00
Megamouse b955469721 Qt: fix player selection checks 2021-09-15 21:43:29 +02:00
Megamouse 6378e16fdf Emu.Load: add more logging 2021-09-15 21:43:29 +02:00
Eladash 8b48fd95fe Fix sys_prx_start/stop_module for older firmware
The old structure is only 32 bytes long, not containing prologue/epilogue functions.
2021-09-15 18:08:58 +03:00
Eladash 5600430a05 Fix user_interface::alloc_thread_bit() usage 2021-09-13 22:36:53 +03:00
Eladash 50ad7ba1f6 vm: Fix vm::unmap
* Make vm::unmap atomic, squash the memory unmapping process inside this function while still using the same VM mutex ownership.
* Make vm::unmap not fail due to random vm::get calls, shared_ptr reference count is no longer a condition.
* Fix sys_mmapper_free_address spuriously failing with EBUSY due to random vm::get calls.
* Fix sys_vm_unmap race condition due to non-atomic vm::unmap.
* Add an optional verification block ptr arg to vm::unmap, used by patches.
2021-09-13 20:53:34 +03:00
Eladash fe6cb4774e
Fixup default config-path (#10863)
Fixes #10862
2021-09-12 21:28:48 +03:00
Eladash 91fefd4671 Fix vm::try_alloc regression 2021-09-12 19:05:26 +03:00
Eladash 677d5f09ce Add debugging info for when sys_tty_write is executed 2021-09-12 19:05:26 +03:00
Eladash c7f5475b56 Improve sys_fs_close logging 2021-09-12 19:05:26 +03:00
陈俊嘉 42e3add6a1
BUILD: a couple of cmake msvc compile fixes (#10799)
* cmake: a couple of msvc compile fixes

Throw error when using multi-config generators.
Add USE_MSVC_STATIC_CRT option for statically linking with CRT.
Set curl's CURL_STATIC_CRT aligned with USE_MSVC_STATIC_CRT.
Fix cmake configs of 7z and OpenAL in msvc build.
Remove unecessary hard coded compiling and linking flags.
Use debug option in windeployqt when configuring for a debug build.
Search for windeployqt tool in configure time.
Add vcpkg's Qt support.

* Fix some typos
2021-09-11 23:55:53 +02:00
Megamouse 8dc98bbc1b Add support for sc vtrm crypto
For VSH for @Clienthax
2021-09-11 21:13:46 +02:00
Eladash f98595bee5 Patches/PPU: Add jump_link patch type 2021-09-10 11:46:39 +03:00
Eladash fafefb2cf5 Fixup No.3 after #10779 2021-09-10 11:46:39 +03:00
Eladash 1cbcf7e1ad Reimplement config selection for game startup
* Implement manual selection of config file.
* Implement default config option.
* Fix bug which led to 'force global config' to not work in some games. (any game using process relaunch such most game collections, RDR, MGS4 etc)
* Relax CLI config purpose - instead the emulator forever ignoring any other config except for the one provided in arg, use it only for the CLI-booted game.
2021-09-09 21:56:50 +02:00
Eladash df080fbc53 Ensure frozen emulation for special executables inspection modes 2021-09-09 19:30:54 +02:00
Eladash bd66dfedc9 Do not allow to unpause after fatal error occured in emulation
* Plus fix #10590
2021-09-09 19:30:54 +02:00
Megamouse 69faf14a79 System: remove deprecated custom config location 2021-09-08 21:56:50 +02:00
Megamouse 1a443cf6b5 Qt: remove deprecated playtime code 2021-09-08 21:56:50 +02:00
Megamouse 2fb68bfc03 Qt: release scaled pixmaps from memory if possible 2021-09-08 20:40:34 +02:00
Megamouse 4d70c483b2 Qt: release unused data when switching list modes 2021-09-08 20:40:34 +02:00
Megamouse 29256df5b1 input: make pad_thread a named_thread 2021-09-08 20:15:28 +02:00
Megamouse a74156fe5b input: reimplement lost optimization
We don't need to check all the buttons constantly
2021-09-08 20:15:28 +02:00
Megamouse 57473ff98d Qt: Add missing Boot confirmation 2021-09-08 20:15:28 +02:00
Talkashie 00618995d9 fix
Makes things more consistent.

There were cases where both "Alt-Enter" and "Alt+Enter" were being used, so I made them all use the same style.

Added more commas and periods to give a more natural flow of sentences.
2021-09-07 13:26:08 +02:00
Eladash 6a340afb8a Log emulation pause/unpause events 2021-09-07 08:51:59 +02:00
Eladash dfbc49513d Debugger/Disasm: Name SPU Syscalls 2021-09-07 01:13:57 +02:00
Megamouse 7bb830a228
Enable PPU java mode handling by default (#10825)
I don't remember if we had decided to do this, so I'll just make a PR and Ani or Neko can merge if needed.
2021-09-06 20:26:23 +01:00
kd-11 b3f002f68f Add enums for zcull precision control 2021-09-06 20:04:03 +03:00
kd-11 ea949a5f28 Add ZCULL control options to the GUI 2021-09-06 20:04:03 +03:00
kd-11 53457262d4 rsx: Implement ZPASS results scaling for precise stats 2021-09-06 20:04:03 +03:00
kd-11 472efc08eb rsx: Implement precise ZCULL stats 2021-09-06 20:04:03 +03:00
Megamouse 0525070898 remove deprecated avcodec_register_all
We already use newer avcodec code anyway.
2021-09-06 10:00:34 +02:00
Megamouse cbc1c472d5 VS: add missing generated file 2021-09-05 10:16:25 +02:00
Megamouse aca9884e76 input: fix custom pad config loading 2021-09-05 10:16:25 +02:00
Megamouse 17fb601c02 input: fix custom pad config saving 2021-09-05 10:16:25 +02:00
Megamouse 76ac8ffbd6 input: fix custom pad config removal 2021-09-05 10:16:25 +02:00
Eladash fe0c164de2 sys_net: Anti-log spam enhancement 2021-09-04 11:58:59 +02:00
Eladash ea2c5294df cellCamera: Anti-Log spam enhancement 2021-09-04 11:58:59 +02:00
Megamouse 3c0681ad6d Qt: patch creator 2021-09-04 10:39:32 +02:00
Megamouse 0debcfed0a Silence some warnings 2021-09-02 19:39:42 +02:00
Nekotekina 06f733a7f2 Fixup No.2 for #10779 2021-09-01 16:56:38 +03:00
Nekotekina ad6a72e369 Fixup for #10779 2021-09-01 14:38:20 +03:00
Eladash b40ed5bdb7
Patches/PPU: Extend and improve patching capabilities (code allocations, jumps to any address) (#10779)
* Patches/PPU: Implement dynamic code allocation + Any-Address jump patches

Also fix deallocation path of fixed allocation patches.
2021-09-01 13:38:17 +03:00
polar ee6e4c493d
BUILD: Refactor wolfssl submodule (#10780) 2021-09-01 09:58:05 +02:00
Ani 9c0c8f2bc7
rpcs3_version: Bump to 0.0.18 2021-08-31 23:03:30 +01:00
Malcolm Jestadt 43cc62d267 SPU LLVM: Add m_use_vnni
- Alderlake and Sapphirerapids will require an update to the llvm fork before they can be detected
2021-08-31 14:02:05 +03:00
Malcolm Jestadt d304b52391 SPU LLVM: Add VNNI optimized variant of sumb
- Uses vpdpbusd to horrizontally add values, for some reason this is much faster than the normal horizontal add instructions.
2021-08-31 14:02:05 +03:00
Malcolm Jestadt a86b278115 SPU LLVM: Expand byteswap elimination to more instructions 2021-08-31 14:02:05 +03:00
Justin Lewis ae491f04a1
Fixes build issue with LLVM on Windows with cmake (#10776)
LLVM fails to build on Windows with C++ 20 standard.  When building LLVM
on Windows, we use C++ 14 already.  This commit changes the c++ standard
to be picked by each subdirectory rather than the standard being picked
by the root level cmake file.
2021-08-31 11:07:49 +01:00
RipleyTom 1e108d97b2 Removes need for sys/sysctl.h on linux 2021-08-31 12:30:22 +03:00
Nekotekina f0ab4b51dc Update commits 2021-08-30 14:42:16 +03:00
Nekotekina 8db02dcf40 Fixup get-commit-db utility 2021-08-30 14:42:16 +03:00
Nekotekina 63104af8e9 vm_native: detect overcommit support on FreeBSD and other OS
Used in sparse memory initialization code.
2021-08-30 14:42:16 +03:00
kd-11 b5dcfb3431 rsx: Rework gamma override mask from RGBA to ARGB to match other per-channel mask registers 2021-08-30 11:41:19 +03:00
kd-11 a5e455d8ed rsx/fp: Handle signed operator precedence
This was marked TODO for a long time
- Unsigned remap seems to be overriden by gamma mask (Resistance 3)
- We already know sign mask overrides gamma mask from UE3 titles
2021-08-30 11:41:19 +03:00
Eladash 6781373727
Patch cooperate with system SPU group creation (#10791) 2021-08-29 22:03:17 +03:00
Megamouse b07960d3bc input: move pressure sensitivity to the handlers
This removes a data race where the button was kept pressed but the values ingame could vary
2021-08-29 10:41:22 +02:00
Megamouse 977d729ee0 input: use buffers during button translation
This should reduce some random noise by assgning the values once instead of twice
2021-08-29 10:41:22 +02:00
Megamouse a33b2afe08 input: remove inconvenient pad mutex
It takes too long to wait for some handlers after all, causing stutter.
2021-08-29 10:41:22 +02:00
Megamouse 2eb0d19a75 input: rename some variables 2021-08-29 10:41:22 +02:00
Megamouse 9ecd1e37fa add log message for downloader 2021-08-29 10:41:22 +02:00
kd-11 3ab9e04db7 rsx: Fix surface access bit flags
- The previous enumeration was a holdover from older access management.
- A bitflag of 0 seriously messes up the mask tests
2021-08-29 11:10:30 +03:00
Eladash f185aba5fc Mark "Disable Logging", add explanatory log message 2021-08-28 20:35:30 +02:00
Megamouse 2431fcc2a1 windows: fix get-commit-db 2021-08-28 18:29:46 +02:00
Megamouse 1060e93783 curl: log errors 2021-08-28 17:37:52 +02:00
Megamouse 5aee8a8a81 pad settings: Check duplicate button assignment 2021-08-28 11:15:43 +02:00
Megamouse 28b9f4238a pad settings: disable more stuff during key input 2021-08-28 11:15:43 +02:00
Megamouse a09c2dbdd7 Qt: fix newlines. someone™️ changed to richtext 2021-08-28 11:15:43 +02:00
Megamouse e1a5a24a93 Qt: remove obsolete lambda 2021-08-28 11:15:43 +02:00
Eladash ddb042148d Patches/LLVM: Implement Complex Patches Support 2021-08-26 23:04:32 +03:00
Eladash 2d9929059f
vm: Fix an overflow at vm::alloc, fix vm::find_map (#10760)
* The statement addr += align could have overflowed resulting in either infinite loop or allocating memory outside of the region (illegal).
Add a check checking if it's the last iteration of the loop, then break without adding.

* vm::find_map condition didn't consider the size of the map to be allocated, allowing illegal occupation of [<=0xB000'0000]-0xCFFF'FFFF. (0xC000'0000-0xCFFF'FFFF is reserved for RSX)
2021-08-26 18:14:08 +03:00
kd-11 b0e352c44e Add missing const 2021-08-26 13:55:00 +03:00
kd-11 2ff407ac6a rsx/fp: Fix perspective correction handling
- Perspective correction flag multiplies VP output by HPOS.w.
  NOTE: Not the same as division by w when it comes to NaN/Inf problems!!
- Restructure indexed loads a bit to avoid re-initializing registers unnecessarily
2021-08-26 13:55:00 +03:00
kd-11 b0e5de4c9c rsx: Texcoord control mask affects decompiler output! 2021-08-26 13:55:00 +03:00
Megamouse 970fe0df12 input: revert stupid ideas
In order to make input more "atomic" I added man in the middle interfaces to decrease the delay between input and cellPad.
But I failed to notice that this introduced a data race between both ends of the pipeline.
I hope the new mutex location doesn't cause any noticeable input lag.
2021-08-26 08:48:03 +02:00
Megamouse 38097783b8 input: fix keyboard handler port status
🤦
2021-08-26 05:01:16 +02:00
Megamouse ae1729bd8a fix MSVC filters 2021-08-26 05:01:16 +02:00
Megamouse 72f0637efe Windows/Audio: add listener for device change
For some reason XAudio2 doesn't automatically change the device anymore.
So let's just listen for the OnDefaultDeviceChanged event and update the cell audio thread if necessary.
2021-08-25 22:44:16 +02:00
Eladash 4e139ee080 vm: Fix vm::page_protect error checking 2021-08-24 18:52:01 +03:00
kd-11 57b9acec62 rsx: Implement indexed dynamic attribute load 2021-08-24 16:52:18 +03:00
kd-11 c1f31d37f5 fsr: Mark output images explicitly as nonreadable 2021-08-24 15:30:46 +03:00
陈俊嘉 4b2f56e035
Checkout wolfssl to v4.8.1-stable. (#10732)
* Checkout wolfssl to v4.8.1-stable.
Some CMake config fixes for wolfssl.

* Remove unnecessary wolfssl config.
2021-08-24 08:10:28 +01:00
polar d84d82c166
BUILD: Refactor yaml-cpp submodule (#10745)
* moved yaml-cpp files into seperate directory
2021-08-24 06:39:26 +01:00
Megamouse f44e50b9cd mmjoy: fix pressure sensitivity button
It defaulted to JOY_POVFORWARD (same dumb facepalm bug as with XInput earlier)
2021-08-24 00:01:38 +02:00
Whatcookie d0451932bf
Offset get_timebased_time at game boot (#10744)
- Avoids game bugs in the case where games convert the value read from the clock to a float before performing delta time calculations
2021-08-23 13:06:02 +01:00
kd-11 92749f011e vk: Experimental workaround to just disable compression
Applies some flags to disable aggressive optimizations on some hw.
Currently applies to AMD cards which will avoid compression if mutable
format is enabled.
This is a temporary workaround.
2021-08-23 09:34:56 +03:00
kd-11 9080d09583 vk: Add support for other formats as FSR output 2021-08-23 09:34:56 +03:00
kd-11 afc71341a5 vk: Add RADV to list of drivers with unreliable 'OUT_OF_DATE' notification when window size changes 2021-08-23 09:34:56 +03:00
Ani 1cdb2c6a26
vk: Register newer Navi GPUs (#10740) 2021-08-22 13:18:38 +01:00
Whatcookie c62deeefd4
SPU LLVM: Add approximate FCEQ/FCMEQ (#8729)
- It's 100% accurate, but will sit under approx xfloat anyways
- Attempts to use a single instruction when 1 value is constant
2021-08-22 10:13:34 +03:00
kd-11 4953e79588 Add workaround for wayland session 2021-08-21 21:40:19 +03:00
Marco 5c0bf14554
Whitelist Kamen Rider Summonride Portal sys_usbd (#10722)
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-08-21 11:08:56 +03:00
Megamouse 62102293b5 Input: fix keyboard stick lerp 2021-08-21 00:56:50 +02:00
kd-11 3eb37344cd rsx/fp: Fix indexed TEX[n] loads 2021-08-20 11:59:05 +03:00
Eladash fcfeac818f
Loader: Improve just-in-time installation of disc game files (#10719)
* rsx: Indexed access to surface attributes
2021-08-19 08:49:59 +03:00
Justin Lewis c13a46b07b
Fix warnings about using deprecated inet_ntoa function (#10698)
* Replaced inet_ntoa with inet_ntop.

The warning in question is: "Warning	C4996	'inet_ntoa': Use
inet_ntop() or InetNtop() instead or define
_WINSOCK_DEPRECATED_NO_WARNINGS"
2021-08-18 07:16:38 +03:00
kd-11 705693ecf8 rsx: Fixup image-in data length calculations 2021-08-17 23:10:42 +03:00
kd-11 8848dc6673 vk: Improve driver compatibility
- Add workarounds to disable compression on mesa drivers
- Separate intel proprietary vs mesa into two enumerants
2021-08-17 20:19:45 +03:00
Nick Renieris 47e784d5d0 gl/vk: Scale line width & point size by resolution scaling 2021-08-17 19:29:46 +03:00
Eladash a346767a72 rsx: Improve rsx::recover_fifo() to take a hint from driver wake-up delay 2021-08-17 16:40:41 +03:00
Eladash 107641626a rsx: Implement crash-proofing for image_in dst/src formats 2021-08-17 16:40:41 +03:00
Eladash 83624e1f68 rsx: Implement crash-proofing for src/dst image_in address 2021-08-17 16:40:41 +03:00
Eladash 2ce164be09 rsx: Implement crash-proofing for 308A_COLOR dst address 2021-08-17 16:40:41 +03:00
Lctrs 24d7374a22
support building with system faudio 21.08+ (#10708) 2021-08-15 20:37:05 +01:00
Megamouse aa48bd91f4 input: fix pad defaults when config file was empty 2021-08-15 21:02:38 +02:00
Megamouse ac986c7c61 fix some warnings 2021-08-15 21:02:38 +02:00
Megamouse cad96cef72 input: redesign pad profiles 2021-08-15 08:24:35 +02:00
Eladash 41cfa6349a GUI: Display PKG information & installation confirmation from main menu 2021-08-14 23:26:11 +02:00
Eladash 62beaf299f
Remove old RSX instructions viewer (#10710) 2021-08-14 21:20:11 +03:00
kd-11 b928cb0223 vk: Fix unused variable error 2021-08-13 22:46:36 +03:00
kd-11 4b2562d02a vk: Silence maybe-uninitialized warnings 2021-08-13 22:46:36 +03:00
kd-11 b5faa8f83c vk: Properly calculate cubemap memory size 2021-08-13 22:46:36 +03:00
Megamouse 53bfc6fa59 cellGem: fix floating point warning 2021-08-13 20:45:18 +02:00
Megamouse adece0b73e Qt: fix updater menu button
It kept auto accepting
2021-08-13 20:45:18 +02:00
Eladash 063df64108 SPU/event queue: Implement protocol for SPU queue 2021-08-13 08:58:09 +03:00
Eladash f1f93b8f81 SPU: Remove outdated assertation 2021-08-13 08:58:09 +03:00
Eladash 5784ffc972 Fixup PPU breakpoints 2021-08-12 22:24:54 +03:00
Eladash 91737b11fe Fix sys_spu_thread_group_resume
Do not remove suspend flag when SPU group state is not SPU_THREAD_GROUP_STATUS_RUNNING after operation!
2021-08-12 22:24:54 +03:00
Eladash bf61c826d5 SPU/event queue: Atomically resume SPU group 2021-08-12 22:24:54 +03:00
Megamouse 5816505e61 input: fix player id if handler has 2 or more pads 2021-08-10 21:31:29 +02:00
dio-gh 6e1c7a2c16 Change the FSR tooltip to not Bri'ish English
Apparently artefacts is not a typo, but the en-gb spelling?
2021-08-10 20:36:20 +02:00
kd-11 c9afb3daaa rsx: Significantly reduce the applied subpixel bias when handling unnormalized access
- If a large value is set (e.g 0.5) rounding will sample 'up' and we can read the wrong texel
2021-08-10 12:02:19 +03:00
Eladash 7fdbadf645 patch_manager: Prefer specific patches over global patches 2021-08-09 18:12:17 +02:00
Megamouse 27c86422c7 input: fix keyboard pad handler 2021-08-09 14:38:33 +02:00
Megamouse 1b775febcd evdev: fix axis_orientations index 2021-08-09 14:38:33 +02:00
Megamouse f0d51899c1 input: fix minor data race
While usually not exposed to the user, there was a slight chance that user input was read in a dirty state.
This became apparent during usage of the new pressure sensitivity button
2021-08-09 11:29:46 +02:00
Zion 3fa9d23627 Add startupWMClass to linux .desktop Fixes #10685 2021-08-09 09:08:44 +02:00
Megamouse 2b18813115 input: fix pressure sensitivity button 2021-08-09 01:05:15 +02:00
Megamouse 430fd759fe sys_net: add missing range checks 2021-08-08 21:06:07 +02:00
Eladash 0556837e3b
kernel_explorer: Fix VM object formatting (#10666)
* kernel_explorer: Fix VM object formatting
* kernel-explorer: Fix type of tree_item_names
unordered_map is completely unordered.. while with array-alike type (such as initializer_list) you can control the order of elements.
* kernel_explorer: Add control data ptr info (lwcond/lwmutex)
* kernel_explorer: Restrict lwmutex data reading furthher
2021-08-07 21:38:03 +02:00
Megamouse d4802cc766 input: Add pressure sensitivity button 2021-08-07 21:03:34 +02:00
kd-11 0031c41630 rsx: Check all attachments when generating pipeline hash key 2021-08-07 19:38:39 +03:00
kd-11 f745971cc8
rsx: Fix coordinate scaling for shadow access (#10668)
- For shadow2DProj the 3rd coordinate is actually the depth value, do not scale
2021-08-06 22:49:50 +01:00
kd-11 456b649b19 vk: Do not force check for successful texture cache load
The following set of conditions can fail
1. We hit a RTT owned texture
2. The texture is invalidated (failed memory integrity test) and set to write/read-through

In this situation, RTT overlap check will skip this surface, and a match can be found in texture cache if WCB/WDB is enabled.
The incoming hit however has no managed payload. This is expected behavior, the search should load from CPU.
2021-08-06 22:07:23 +03:00
Matias Moran 4035dcf8e3 ui: fix spacing on gpu tab
just changed back what didn't seem important from kd's changes lol
2021-08-06 19:43:03 +03:00
kd-11 dff5707e19 Formatting fix 2021-08-06 17:18:48 +03:00
kd-11 0f5603a4bc Disable warnings around 3rdparty header 2021-08-06 17:18:48 +03:00
kd-11 a4c1fcb59a Fix 3rdparty imports for case-sensitive platforms (fixes *NIX build) 2021-08-06 17:18:48 +03:00
kd-11 d0a824996b vk: Add basic support for FSR 1.0
- Only implemented for image upscaling.
- Disabled by default. Emulators cannot ensure upscalers are injected at the right rendering step.
- GUI integration not implemented.
2021-08-06 17:18:48 +03:00
kd-11 69b34693f0 vk: Simplify compute job cleanup on exit
- Just call destroy automatically on object destruct
2021-08-06 17:18:48 +03:00
kd-11 9a63ed6c50 vk: Unbind global renderer if it is destroyed 2021-08-06 17:18:48 +03:00
kd-11 6f6eda6413 vk/device: Formatting fixes only (EOL) 2021-08-06 17:18:48 +03:00
Nekotekina 86d2316089 sys_net/NP: set some init dependencies
Ensure finalization order of network threads.
This should prevent some crashes.
2021-08-06 10:41:40 +03:00
Nekotekina 064fc81697 Fix warnings 2021-08-06 10:41:40 +03:00
Megamouse b7e4de6ea5 Qt: purge gui settings 2021-08-05 22:56:38 +02:00
Megamouse a146aabcaf cellGem: Disable Alignment Checks 2021-08-05 13:10:08 +02:00
Eladash 9ecb6c4e34 Fix sys_spu_thread_group_create 2021-08-05 08:12:34 +03:00
Megamouse 3ccfb86e1b cellGem: use existing constant for sphere radius 2021-08-05 02:26:20 +02:00
Megamouse 9c21f43df6 cellGem: fix Deadstorm Pirates regression 2021-08-05 02:02:34 +02:00
Megamouse 87c07679e1 cellGem: add calibration logic with 0.5 second delay 2021-08-05 02:02:34 +02:00
Megamouse 6de4c27b32 cellGem: fix controller connection check 2021-08-05 02:02:34 +02:00
Megamouse 995e9b5f9f cellGem: reset struct on controller reset 2021-08-05 02:02:34 +02:00
Megamouse e03f323fdd cellGem: add some more checks 2021-08-05 02:02:34 +02:00
Megamouse f2bca2ef67 cellGem: set cellGemGetCameraState values 2021-08-05 02:02:34 +02:00
Megamouse 0b88d5f077 cellGem: implement cellGemHSVtoRGB 2021-08-05 02:02:34 +02:00
Eladash 9f67e00e40 sys_spu: Add one more limiting SPU threads creation condition 2021-08-04 21:39:57 +03:00
Eladash 9d71369b2c Fixup HLE lwmutex 2021-08-04 21:39:57 +03:00
Megamouse 2dd0f488a1 cellGem: cellGemPrepareVideoConvert update 2021-08-04 20:28:34 +02:00
Megamouse dd7f24b20e cellGem: fix mouse positions 2021-08-04 20:28:34 +02:00
Megamouse ccb7531289 cellGem: update cellGemGetState 2021-08-04 20:28:34 +02:00
Megamouse 4d0179174a cellGem: add more mouse buttons 2021-08-04 20:28:34 +02:00
Megamouse 3ddcf60a11 cellGem: add some more error checks 2021-08-04 20:28:34 +02:00
Megamouse 3b581aaf94 cellGem: disable tracking in cellGemForceRGB 2021-08-04 20:28:34 +02:00
Megamouse 0c68a6afdd cellGem: improve hue handling 2021-08-04 20:28:34 +02:00
Megamouse fd29382290 cellGem: fix fake move calibration status flag
Apparently OCCURRED means that there are flags to be checked, while SUCCEEDED means that everything went smoothly.
2021-08-04 20:28:34 +02:00
Megamouse 1d3f91a1b8 cellGem: add ext_id and SHARP_SHOOTER_DEVICE_ID 2021-08-04 20:28:34 +02:00
Megamouse 999252a806 cellGem: fix typos, add some comments and reorder 2021-08-04 20:28:34 +02:00
kd-11 da3c9948e6 rsx: Revert use of std::has_single_bit
- Zero is not a power of 2 in this situation, and we do not want to treat it as such
2021-08-04 20:28:25 +03:00
kd-11 daa8265a47 rsx: Fix interpreter texture fetch 2021-08-04 20:28:25 +03:00
Eladash f807ebf9ba PPU: Improve accuracy of "Accurate PPU 128 reservations" mode 2021-08-04 18:18:59 +03:00
Eladash 8c3a4c260e Bugfix of sys_lwmutex_destroy 2021-08-04 09:03:17 +03:00
Eladash 06f4dfb9f1 SPU: Implement sys_spu_initialize and limit of physical SPU threads 2021-08-04 08:26:32 +03:00
Megamouse af89eb5404 ppu compilation: fix facepalm (double increase) 2021-08-03 08:39:57 +02:00
Megamouse dc0a086400 sys_prx_unload_module: fix log message 2021-08-03 08:39:57 +02:00
kd-11 8aec943093 Use c++20 has_single_bit for POT test 2021-08-03 00:36:04 +03:00
kd-11 99b6963fab rsx: Improve unnormalized coordinate sampling
- Improve rounding when sampling nearest neighbour. This is mostly a problem with NVIDIA
- Implement unnormalized 3D sampling
2021-08-03 00:36:04 +03:00
kd-11 b3c65b7bca rsx: Implement vtc encoding for NVIDIA OpenGL support 2021-08-03 00:36:04 +03:00
kd-11 0ec526c5f1 rsx: Do not use VTC tiling on NPOT textures
- Seems to be ignored for 'normal' textures. Mostly verified through games.
2021-08-03 00:36:04 +03:00
Emmanuel Gil Peyrot 8af694da2e Crypto/ec: Make internal functions static
This reduces the size of the stripped .o by 3 KiB, and the non-stripped
one by 21 KiB, when not doing LTO.
2021-08-01 12:21:17 +03:00
Nekotekina 05d1b3605e Fixup for SPU Debug mode (bad SHA1)
Should fix crashes due to read out of bounds.
2021-08-01 10:12:08 +03:00
Nekotekina 5ba8daf518 Fix thread time/cycles report with respect to thread pool
Fix all RUSAGE stats as well (POSIX)
2021-08-01 09:59:00 +03:00
Nekotekina 286e154d05 SPU Profiler: adjust accumulation logic
Don't append trampoline time to verification time.
2021-08-01 09:59:00 +03:00
Eladash a0c1b250b6 Fix HLE LWMutex setting - Implement dynamic initialization of HLE functions 2021-07-31 21:47:22 +03:00
Megamouse 6527eef655 System: add progress update on existing modules
This could cause dialogs to seemingly finish at e.g. 50/100 modules because the existing modules weren't accounted for.
2021-07-31 16:06:18 +02:00
Eladash f39a0a5fbe Debugger: Add some error pop-ups for invalid operations
* Show error window when setting breakpoints on these conditions:
- SPU/RSX are selected. (not supported)
- When using non-interpreters decoders.
- Non-executable memory is specified.
* Do not allow instruction stepping for non-interpreters decoders.
* Clear breakpoints when the game is stopped.
* Fix setting breakpoints on HLE functions.
2021-07-31 15:27:30 +02:00
Eladash a06a93d5ba Fix sys_storage_read 2021-07-30 17:22:43 +03:00
kd-11 f6e4cc14a2 vk: Fix a few incorrectly calculated scratch buffer sizes 2021-07-30 12:43:21 +03:00
Nekotekina 658b4f70ef Fix some warnings 2021-07-30 09:31:36 +03:00
Nekotekina fc5840cda6 SPU Cache: allow to dump cache upon startup
Print also some stats (if SPU Debug is enabled).
2021-07-30 09:21:11 +03:00
Nekotekina 2f6db5802f Fix CPU Profiler regression 2021-07-30 09:21:11 +03:00
ibancel 77c191df42 Qt: add fullscreen mouse lock setting 2021-07-29 22:55:55 +02:00
Eladash d85bb3f4eb
vm_ptr.h: Improve try_read() (#10627) 2021-07-29 21:14:29 +03:00
Jan Beich 3a6399aaaa vm_native: add workaround for FreeBSD 12
rpcs3/util/vm_native.cpp:302:16: error: no member named 'memfd_create' in the global namespace
                                m_file = ::memfd_create_("2M", c_mfd_huge_2mb);
                                         ~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
 #define memfd_create_ memfd_create
                       ^
rpcs3/util/vm_native.cpp:308:15: error: no member named 'memfd_create' in the global namespace
                        m_file = ::memfd_create_("", 0);
                                 ~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
 #define memfd_create_ memfd_create
                       ^
2021-07-29 20:48:10 +03:00
Jan Beich de6f3b5653 vm_native: enable memfd_create on FreeBSD 2021-07-29 20:48:10 +03:00
Megamouse 0262076bfe Qt: move java mode setting to advanced tab 2021-07-29 12:42:04 +02:00
Megamouse 7aca2785b6 Qt: abort batch PPU compilation on dialog cancel 2021-07-29 10:18:20 +02:00
Megamouse 6dc35a3772 Qt: add nullptr checks in msg_dialog_frame 2021-07-29 10:18:20 +02:00
Megamouse 2efc4812d7 Qt/System: reset boot path after directory scan
This should fix the "Play" Button after batch compiling PPU caches.
Previously you would start the last compiled game, which was kinda weird.
2021-07-29 10:18:20 +02:00
Megamouse bb9c063e80 Remove unused ppu_initialize declaration 2021-07-29 10:18:20 +02:00
Megamouse 22e51e1615 System: add vsh.self when scanning vsh/module 2021-07-29 10:18:20 +02:00
Megamouse 03a46a499e System: make IsPathInsideDir a member function 2021-07-29 10:18:20 +02:00
Megamouse f0e01ceb8f Qt: compile vsh/module instead of vsh.self 2021-07-29 10:18:20 +02:00
Megamouse c2c74982c4 Qt: fix vsh ppu compilation and add compile stage
It was aborted immediately (hilarious).
2021-07-29 10:18:20 +02:00
Megamouse c390c02acb Qt: Compile entire sys folder for firmware 2021-07-29 10:18:20 +02:00
Megamouse 56d46b5a49 Qt: disable VSH boot if not installed 2021-07-29 10:18:20 +02:00
Megamouse 0a7a12bbff RSX: fix 'Working buffer not big enough' 2021-07-27 23:59:12 +02:00
kd-11 ace187cdd0 vk: Fix scratch allocation when doing GPU deswizzle
- We have to use double the memory because the transformation does not occur in-place like normal bswap
2021-07-27 19:56:31 +03:00
Megamouse 0aa1aff6ba StrFmt: fix comma placement in format_byte_array 2021-07-27 11:37:07 +02:00
kd-11 c54ddabe0b vk: Handle out of memory errors that are deferred during texture binding
- Set out-of-memory flag if we have a failure to build a subresource.
- Mark textures as requiring reload in case of references to invalid data.
- TODO: This is overly complicated and can be handled better with a smart restructure.
2021-07-27 10:52:21 +03:00
kd-11 e5029c532b vk: Fix comparison between composite memory types 2021-07-27 10:52:21 +03:00
kd-11 a4cd9e022a vk: Force explicit minimum size declaration for scratch buffers 2021-07-27 10:52:21 +03:00
kd-11 99bbcd15e1 vk: Fix undefined format class for typeless helpers 2021-07-27 10:52:21 +03:00
kd-11 9d11c8cbb5 vk: Allow creating temporary subresources to fail if we run out of memory. 2021-07-27 10:52:21 +03:00
kd-11 92d1534917 rsx: Set composite images upload context based on their actual contents 2021-07-27 10:52:21 +03:00
kd-11 abd8bbd6ef vk: Allocate enough scratch memory for GPU deswizzle
- Forgot to take alignment into account.
2021-07-27 10:52:21 +03:00
kd-11 13abe785a9 vk: Try to spread memory usage evenly across compatible types if possible
- Avoids running into budget constraints if you just dump everything into one heap
2021-07-27 10:52:21 +03:00
kd-11 6a9d1edee1 vk: Fix use-after-free hazard by checking if we're faulting from within the texture cache
- If we're using the texture cache, DO NOT delete resources.
2021-07-25 20:55:09 +03:00
kd-11 69bdbe97a8 vk: Make use of multi-pool memory types 2021-07-25 20:55:09 +03:00
kd-11 de7ed1cbe9 vk: Scrap minimum scratch buffer size and just allocate what is requested. 2021-07-25 20:55:09 +03:00
kd-11 7d3bbd3cf7 vk: Dynamically select panic boundaries based on resolution scale 2021-07-25 20:55:09 +03:00
kd-11 59e7379010 vk: Implement heap aggregation
- Aggregate heaps of same type under one object and allow allocator to try each matching type.
2021-07-25 20:55:09 +03:00
Eladash be9be6e5c9 Make sys_prx_unload_module use success type logging 2021-07-24 14:23:47 +03:00
Megamouse 867f0e1f02 fix warning 2021-07-23 00:09:46 +02:00
Megamouse 202aed560b Qt: add option to auto install updates 2021-07-23 00:09:46 +02:00
polar fdc9619e7c
Fixed issue with SDL2 version sometimes casuing build failure (#10599) 2021-07-22 03:11:03 +01:00
Megamouse 737b0dfd42 Qt: use last window state when leaving fullscreen 2021-07-21 02:39:26 +02:00
Megamouse 66371457fd Qt: fix game window positions if the window is bigger than the screen
If the screen was smaller than the game window, then the window would pop up top right offscreen.
The fix itself was really simple and obvious from the beginning, just some missing clamping.
But I figured it might be less confusing if I add some prosa.
Especially because it took me a couple of hours to figure out why I made it so complex in the first place.
Btw, there might still be some offset to the left occasionally, but that seems to be an upstream issue
2021-07-21 01:15:01 +02:00
p01arst0rm 1d85c9d201 fix shared FAudio build 2021-07-21 00:24:28 +02:00
p01arst0rm 3a026a7dc3 system faudio fix 2021-07-21 00:24:28 +02:00
kd-11 0502f7881f vk: Disable async texture streaming on all NVIDIA cards 2021-07-20 23:00:00 +03:00
Megamouse 50354253c8 replace some random Emu.Pause with fatal errors 2021-07-20 19:47:00 +02:00
Megamouse 954d83b6a0 Qt: fix BatchCreatePPUCaches cancel 2021-07-20 09:46:51 +02:00
Megamouse f83a877331 Qt: Add VSH to BatchCreatePPUCaches 2021-07-20 09:46:51 +02:00
Megamouse 2a8d740d63 Qt: Add Boot VSH option 2021-07-20 09:46:51 +02:00
Eladash c84e5489f2
vsh.self: Fix execution on default settings (#10586) 2021-07-20 00:36:32 +02:00
Matias aa08df0455
Include different case files on file selection filters (#10587)
* Include upper-case .PUP files on firmware selection window filter
* Include uppercase files on a few more filters
2021-07-19 21:47:21 +02:00
Ilya Oleinik e51d16aa37 Initial implementation of sys_uart 2021-07-19 19:20:43 +03:00
Eladash 98e40d12ef sys_ppu: Implement sys_ppu_thread_rename 2021-07-19 12:37:33 +02:00
Eladash e6e0210e73 Extend ppu_thread::call_history_t formatter 2021-07-19 09:28:46 +02:00
Eladash 83a2f06e3a PPU debugger: Make calling history detect common LLE functions trampolines 2021-07-19 09:28:46 +02:00
Eladash a5c3c7d2e5
cellSaveData/UNIX: Optimize IO (#10574) 2021-07-18 21:08:04 +02:00
clienthax 65b2a0d538 stub rsxaudio 2021-07-18 21:08:03 +03:00
clienthax d099148961 sys_hid vsh 2021-07-18 14:20:33 +02:00
Eladash 6f901636bf rsx: Fix vertical windows' clip 2021-07-18 13:44:23 +02:00
Eladash b087d79a08 PPU debugger: Implement function names at the starting instruction 2021-07-18 13:23:18 +02:00
Eladash 904ec44a8c PPU debugger: Add instruction disasm for PPU calling history 2021-07-18 13:23:18 +02:00
Eladash 6f6503ee32 cellSaveData: Fixup funcDone result check 2021-07-17 23:30:26 +02:00
clienthax 441713d959
sys_storage vsh implementation (#10559)
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-07-17 22:06:40 +02:00
clienthax e75e437a4a sys_ss vsh stubs 2021-07-17 21:35:47 +02:00
kd-11 0d87d909c6 vk: Fix double-spill for invalidated resources 2021-07-17 21:28:11 +03:00
kd-11 2d4df57d87 vk: Fix nul deref in spill code
- Restores code lost in a rebase
2021-07-17 21:28:11 +03:00
kd-11 b7df539871 vk: Fix null deref in texture cache when dumping temporary storage 2021-07-17 21:28:11 +03:00
kd-11 d53f2f10fb rsx/vk: Improve recovery during OOM situations
- Do not spill when running on IGP with only one heap as it will just crash anyway.
- Do not handle collapse operations when OOM. This will likely just crash and there are better ways to handle old surfaces.
- Spill or remove everything not in the current working set
- TODO: MSAA spill without VRAM allocations
2021-07-17 21:28:11 +03:00
Eladash 5940247200 Make little use of formatting byte arrays 2021-07-17 20:02:21 +02:00
Eladash 9a392d2b5c vm_ptr.h: Do not allow dereferencing for void ptr
Do not create vm::ref from it as well.
2021-07-17 20:02:21 +02:00
Eladash a981c65d2f Minor fixup of vm::ptr
const pointers shouldn't disable reading, they should disable writing.
2021-07-17 20:02:21 +02:00
Eladash 81805945ce LV2: Fix IPC key reading from attributes 2021-07-17 20:02:21 +02:00
Eladash 70a3c5d440 Fixup byte array formatter 2021-07-17 20:02:21 +02:00
clienthax 7fe15f5f8d
Stub sys_fs mount functions for vsh (#10561)
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-07-17 19:19:13 +02:00
clienthax 9c5c4457b6 Stub libfs_utility_init to bypass FSCK checks by vsh. 2021-07-17 18:56:07 +02:00
clienthax 1e605de31e sys_sm_get_ext_event2 stub 2021-07-17 18:35:26 +02:00
Eladash 1e9afdc289 Formatting Library: Implement byte arrays formatting 2021-07-17 18:10:43 +02:00
Eladash 1f6ca25820 Implement TAR-based directory archiver
* Implement the ability to save directory contents as TAR.
  With the ability to customize saving of specific files and also select which files are saved and which aren't.

* Implement full original TAR USTAR 255 characters path support.
* Implement file modification time and access time support for extracted/archived TAR.
2021-07-17 17:50:18 +02:00
Eladash 8e2c34a003 PPU debugger: Implement PPU calling history 2021-07-17 17:28:23 +02:00
clienthax c2f0fbcd82 Stub sys_io for vsh. 2021-07-17 17:06:57 +02:00
clienthax 85b33e9cae Hack for msmw2.sprx timeout. 2021-07-17 14:39:36 +02:00
ZeeWanderer 6250e478f4 [MSVC] glslang fix + vs2022 fixes
- glslang - fixed wrong path to common props
 - emucore - fixed for VS2022, its a 64 bit app now
 - common_default.props - use C++20 standard for VS2022 and further
2021-07-17 02:52:03 +02:00
Eladash 66368debf8 Win32 FS: Implement support for large reads/writes 2021-07-16 18:48:20 +03:00
kd-11 aaac4c1bde Clang workaround for c++20 non-compliance 2021-07-15 18:05:35 +03:00
kd-11 974a3c8807 Fix linux build 2021-07-15 18:05:35 +03:00
kd-11 369f1132f3 Formatting fixes
- Non-functional stuff, move along
2021-07-15 18:05:35 +03:00
kd-11 2524c35638 vk: Improve handling of texture cache temporary resources
- Temp resources from the texture cache are used to hold composite objects being sent to the GPU and can waste a lot of memory.
- Remove them if we run out of memory as they can linger around for a long time.
2021-07-15 18:05:35 +03:00
kd-11 d906ccc77e vk: Switch on the new VRAM management system 2021-07-15 18:05:35 +03:00
kd-11 a2f93b0696 rsx: Implement a simple cache eviction routine
- Can remove all non-essential textures from the cache except those passed as an exclusion list
2021-07-15 18:05:35 +03:00
kd-11 77c9dff054 vk: Minor whitespace fix
- Non-functional formatting and warning fixes
2021-07-15 18:05:35 +03:00
kd-11 09f9f21261 vk: Add overallocation quota for texture cache 2021-07-15 18:05:35 +03:00
kd-11 5f6d1644cf vk: Refactor VkTextureCache by moving most of the code to cpp file
- Makes adding next set of changes easier
2021-07-15 18:05:35 +03:00
kd-11 c18e5e07cc vk: Implement VRAM spilling
- The idea is to shift memory to "shared graphics memory" when VRAM is running out
2021-07-15 18:05:35 +03:00
kd-11 000414c47d vk: Refactor surface cache by moving code to cpp file 2021-07-15 18:05:35 +03:00
kd-11 2ffa8f4623 vk: Rename rsx::vk_render_targets to vk::surface_cache
- Makes some changes much easier going forward to pull in vk-specific stuff into vk namespace.
- TODO: The same thing needs to happen with GL
2021-07-15 18:05:35 +03:00
kd-11 53c9fb3e00 vk: Improve memory load balancing and reporting
- Track pool usage
- Take allocation percentages into account when making decisions on whether there is overloading or not
2021-07-15 18:05:35 +03:00
kd-11 342b25d00e vk: Expose memory heap sizes to the runtime.
- This will help to make decisions regarding VRAM utilization instead of relying on budget blindly
2021-07-15 18:05:35 +03:00
kd-11 88abf3a6ba vk: Introduce the concept of VRAM allocation pools
- Each buffer or image has to declare which pool it belongs to. This will aid with memory management down the line.
2021-07-15 18:05:35 +03:00
kd-11 71a5e5333a rsx: Fix invalid reference when purging unlocked sections 2021-07-15 18:05:35 +03:00
Nekotekina 5dfa908835 fmt: add support for std::u8string 2021-07-15 17:07:41 +03:00
Nekotekina ea0c559bc3 fmt: implement char8_t string support 2021-07-15 17:07:41 +03:00
Ani 15ae06a7c4 SPIRV-Tools: Revert to 2020.4
Currently not being used, could eventually be removed
2021-07-14 19:51:36 +01:00
Ani b6a0296d00 azure: Update VulkanSDK checksum
From 1.2.154.1 to 1.2.182.0
2021-07-14 11:25:05 +01:00
Ani 2f361e94dd SPIRV-Tools: Update from 2020.4 to 2020.5 2021-07-14 10:43:16 +01:00
Ani 89c2bb5cf1 VulkanSDK: Update from 1.2.154.1 to 1.2.182.0 2021-07-14 10:43:16 +01:00
Ani b164345561 glext: Update from 2020.04.23 to 2021.04.20 2021-07-14 10:43:16 +01:00
Ani 3cc212940c stb_truetype: Update from 1.24 to 1.25 2021-07-14 10:43:16 +01:00
Ani 2aec81330b stb_image: Update from 2.26 to 2.27 2021-07-14 10:43:16 +01:00
Ani f16b387ad9 curl: Update from 7.76.1 to 7.77.0 2021-07-14 10:43:16 +01:00
Ani 0a6968cfe5 glslang: Update from 11.4.0 to 11.5.0 2021-07-14 10:43:16 +01:00
Ani 8f19d11f29 FAudio: Update from 21.04 to 21.07 2021-07-14 10:43:16 +01:00
RipleyTom a34201ebff
Fix deref in sceNpMatching2CreateContext (#10539) 2021-07-14 00:11:14 +01:00
Eladash 6a7324ab3e kernel_explorer: Atomic PPU state updates 2021-07-10 22:20:37 +03:00
Megamouse f4d0261387 Qt: add more Qt blockingMapped workarounds
This probably won't fix anything, but better be safe than sorry
2021-07-10 13:29:39 +02:00
Megamouse 7f7bd961e2 Qt: kernel_explorer optimizations
- roughly 10 times faster update from scratch on average
- removed some unused function
- added fatals for unexpected node failure
2021-07-10 08:18:38 +02:00
Megamouse fcbacf8afd sys_usbd: add PlayTV SCEH-0036 2021-07-08 22:06:48 +02:00
Megamouse e75de44907 cellGame: treat media apps as CELL_GAME_GAMETYPE_HDD
This is kinda hacky but it fixes some errors in PlayTv
2021-07-08 22:06:48 +02:00
Megamouse 161fa95066 cellGame: improve logging 2021-07-08 22:06:48 +02:00
Megamouse 8f8605ab2f Mount bdvd_dir regardless of patch category 2021-07-08 22:06:48 +02:00
Megamouse 544a458f20 Qt: show patch version for disc games regardless of the patch category
Patches for disc games can also appear as "TV App" etc.
2021-07-08 22:06:48 +02:00
polar 285b9dad83
Refactor faudio submodule (#10397)
* updated bad header import
* added faudio shared library option
2021-07-08 21:31:45 +02:00
Megamouse 770a607ba5 Qt: add PPU LLVM Java Mode Handling to debug tab 2021-07-02 19:34:06 +02:00
Eladash a2d4bd4fff kernel-explorer: Add logging ability 2021-07-02 12:29:59 +02:00
Eladash fe8d524352 Improve kernel-explorer's user experience
* Default width of dialog has been increased to fit PPU, SPURS and filesystem objects' description length.
* Height has been increased as well to allow viwing more objects at once.
* Added title of the game to the kernel explorer's windows' title.
2021-07-02 12:29:59 +02:00
Megamouse e212f16962 sceNp: fix invalid ctx dereference
Fixes "Buzz! Quiz Player" Offline Gameplay
2021-07-01 23:09:23 +02:00
Ani 020fdcc781 rpcs3_version: Bump to 0.0.17 2021-06-30 20:14:13 +01:00
kd-11 194bfc54d1 rsx: Implement dynamic vertex offset updates
- Vertex offsets can be updated mid-draw to dynamically render different meshes without breaking up draws
2021-06-30 10:07:33 +03:00
Eladash 9b050a33e4 Fix HLE callbacks within context of HLE PPU stack variables 2021-06-28 14:31:28 +03:00
Eladash b6fccee6a4 Improve ppu_thread::stack_push
Save actual stack memory allocation size locally. (not in PS3 memory)
2021-06-28 14:09:24 +03:00
Eladash 23468a2d07 vm_ptr.h: Use concepts 2021-06-28 14:01:58 +03:00
kd-11 2c7c1c501d rsx: Implement support for extended vertex programs
- Some games are kinda pushing it with RSX register space and spilling VP data into adjacent unused space.
2021-06-28 10:52:05 +03:00
Eladash 3cbdc3a198 VFS: Fix paths override 2021-06-27 17:49:33 +03:00
Eladash dcb2e8cd9e rsx: Improve VBLANK accuracy 2021-06-27 16:39:08 +03:00
Nekotekina 571bdfc828 Fixup for #10490
Restore explicit signaling of RSX thread for now.
2021-06-27 14:02:32 +03:00
Eladash 0aed00a758
Improve thread aborting mechanism (#10490)
Call pseudo-virtual operator=(thread_state) of thread context.
2021-06-27 11:43:48 +03:00
Eladash 58847fa2ca sys_fs: Fix ENOTMOUNTED of open 2021-06-26 14:53:22 +03:00
Megamouse bba5285740 Qt: apply gui settings on regular apply and save
This fixes the annoying issue of accidentally clicking the dialogs save or apply buttons after changing stylesheets.
2021-06-25 20:27:26 +02:00
Megamouse e7234fd4b2 Qt: replace old grey config icons in gamegrid mode 2021-06-25 19:58:20 +02:00
Long 400002e64c
Increase some icons' visibility in dark themes. (#10485)
* Update custom config, controller, combo icons.

Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-06-25 19:40:42 +03:00
Kilowog01 d59707bc4b
Trophy notification improvements (#10482)
* Makes the text more similar to the original PS3 trophy notification.
2021-06-25 16:25:44 +03:00
kd-11 926fa73fee vk: Remove unused input from attachment clear pass 2021-06-25 14:45:36 +03:00
kd-11 cd8cb9cced rsx: Don't leak data during partial clears
- Partial clears either in active clear channels or scissor region must get barrier inserts to load previous data.
- Fixes some incorrectly discarded data during clear where data in untouched/uninitialized channels is lost.
2021-06-25 14:45:36 +03:00
Megamouse fad79a96a2 media_info: improve error logging 2021-06-25 09:41:32 +03:00
Megamouse b6128c5dfa cellSearch: extend media_info for video files 2021-06-25 09:41:32 +03:00
Megamouse 68a1da31a0 cellSearch: move audio info to separate util file 2021-06-25 09:41:32 +03:00
Megamouse 2c2003aa5b move try_to_int64 to StrUtil 2021-06-25 09:41:32 +03:00
Megamouse f4bcf9ad1d Qt: fix warning 2021-06-25 09:41:32 +03:00
Megamouse 7e0f2f9b12 sceNp: add some more constants 2021-06-25 09:41:32 +03:00
Eladash 50be3bd2e5
kernel-explorer: devirtualize lv2_fs_object and print more information (#10487)
* Make lv2_fs_object an "abstract" structure with protected constructor.
* Improve kernel-explorer information for filesystem objects.
2021-06-24 16:47:14 +03:00
Nekotekina 3c614d95b8 fs: alternative fs::pending_file implementation (Win32)
Use MOVEFILE_WRITE_THROUGH instead of sync() on commit().
2021-06-20 22:08:24 +03:00
Eladash aaa20c0ff0
cellCamera/cellGem: Fix time stretching setting (#10476) 2021-06-20 21:25:13 +03:00
Eladash 0531b3d801
rsx: Fix emulation stopping in cpu_thread::is_paused poll (#10475)
Ignore pause flags if thread is stopped.
2021-06-20 20:00:12 +03:00
Eladash 40493c564f GUI: Add PPU threads to debug tab 2021-06-20 19:27:33 +03:00
Eladash bbaa93c846
RSX Cache: Prevent crash on failure to obtain cache directory (#10474) 2021-06-19 16:57:07 +03:00
Nekotekina 72680c7707 sys_fs: improve sys_fs_open accuracy for /dev_bdvd
Based on software test.
2021-06-18 17:47:49 +03:00
Eladash 039ca6e839 Fix cellMouse/Keyboard initialization 2021-06-17 20:43:43 +02:00
kd-11 9fadd48ea3 vk: Ensure async scheduler thread is never auto-spawned by fxo
- This thread is a resource hog for design reasons.
2021-06-17 00:43:20 +03:00
kd-11 4bf9700562 rsx: Remove unused variable leftover from refactoring 2021-06-17 00:43:20 +03:00
kd-11 966aec7ad7 rsx: Resync excluded memory regions to avoid memory tests failing after flush events
- This is a mostly correct fix, but a corner case exists that can leak old data to the surface cache
2021-06-15 15:42:16 +03:00
kd-11 78972cd611 rsx: Refactor surface inheritance logic 2021-06-15 15:42:16 +03:00
Eladash 24e4a43ec4
lv2_timer: manage timers by separate thread (#10445)
Substitutes missing abort op for lv2_obj manager.
2021-06-15 15:04:51 +03:00
kd-11 c3415bcff2 rsx: Fixup for byte order when passing data via vertex registers that are not inline arrays (register vertex data and push buffers) 2021-06-14 23:20:35 +03:00
Megamouse 35a380676e Qt: add missing key auto repeat checks 2021-06-14 19:02:59 +02:00
kd-11 d3ff67ffb5 rsx: Pass vertex attributes streamed via register write in PS3-correct format
- TODO: Optimize this, we can avoid the double bswap in FIFO and then in attribute push
  Not very important since nobody is doing register push in high-performance path.
2021-06-14 10:24:03 +03:00
Nekotekina 6f874be41b vm_native: bypass rpcs3_vm creation if overcommit is enabled (Linux)
Unfortunately, different systems need different approach here.
2021-06-12 19:12:59 +03:00
Eladash cb0929d933 Logs: Prevent minor race in Emu.Run() regarding logging levels 2021-06-12 13:14:04 +03:00
Nekotekina dfbd63df94 vm_native.cpp: change rpcs3_vm name/location priority (Win32)
Prefer temp directory, rename to rpcs3_vm_sparse.tmp
Try to remove archive attribute (doesn't work well).
2021-06-11 19:15:21 +03:00
Eladash 76bfe54c7e Improve bitwise serialization trait 2021-06-11 16:54:17 +03:00
Megamouse 9cbcce671d Qt: Fix Play/Pause/Resume Shortcuts 2021-06-11 08:28:42 +02:00
Eladash 0628a5d931 serialization.hpp: Fixes 2021-06-11 08:59:02 +03:00
Nekotekina 696be6aacd Implement fmt::ensure (assert-like with formatted message) + fmt::tie
Arguments should be provided via fmt::tie() due to some limitations.
Allow to specify simple message (non-formatting) for plain ::ensure().
Remove redundant function for narrow error.
2021-06-10 21:16:57 +03:00
Megamouse 766cc2d42f Qt: fix empty game list phenomenon 2021-06-10 17:45:09 +02:00
Megamouse 2dc6adc038 Qt: fix possible race in RepaintIcons
This might also improve performance while scrubbing the icon size slider
2021-06-10 00:24:04 +02:00
Megamouse 27cc5c8a63 Qt: invalidate invisible game item pointers 2021-06-10 00:24:04 +02:00
Megamouse d0c4b2de9f Rebase hidapi 2021-06-09 23:35:06 +02:00
kd-11 cd6552d344 vk: Properly destroy renderpass cache 2021-06-09 22:35:50 +03:00
kd-11 20bd723e7c rsx: Add floor workaround for GPUs with rounding issues
- Mainly affects nvidia where x/w * w can sometimes return a value smaller than x.
  In such conditions, floor(x) will return x-1 if x is an integer which is horribly wrong and exaggerates minor precision drift to great proportions.
2021-06-09 10:55:55 +03:00
Nekotekina 2d3fe7ce1c fixed_typemap.hpp: add range iterator
Remove recently added functions.
2021-06-09 00:07:15 +03:00
Eladash 4f76211551 Hotfix #10411 2021-06-08 20:12:32 +03:00
Eladash c918f395b9 Make rsx::simple_array compatible with serialization 2021-06-08 19:29:46 +03:00
Eladash 4a4f318e24 System.cpp: Move some Emu.Stop() code to a more strategic placement 2021-06-08 19:29:46 +03:00
Eladash e7b1fc6696 Fixup serialization utility 2021-06-08 19:29:46 +03:00
Eladash 76bf720adf Improve emulation stopping speed
Split phases of signalling threads and joining them.
2021-06-08 18:26:14 +03:00
Eladash 2169e8d935 Implement serialization.hpp, remove cereal submodule
Bump RSX capture version, use new serializer.
2021-06-07 16:28:42 +03:00
kd-11 ddbe496097 rsx: Fix depth/color mismatch resolve in texture cache
- Sometimes we need a depth texture but only a color texture is available.
2021-06-07 01:03:49 +03:00
kd-11 3f80d0b7d8 rsx: Fix surface deduplication crash 2021-06-07 01:03:49 +03:00
Megamouse 2eebecfb17 Qt: Fix concurrency bug in trophy manager
The missing mutex frequently caused a crash after I improved the individual trophy folder parsing by deferring icon loading to when it is actually needed.
2021-06-06 19:26:21 +02:00
Megamouse 70c24a9466 Qt: Only load trophy icons on a need to know basis
Also cache existing trophy icons
2021-06-06 19:26:21 +02:00
Megamouse 4ab2e40d8a Qt: simplify zero padding in trophy icon path 2021-06-06 19:26:21 +02:00
kd-11 568af756cc rsx: Fix expired sampler descriptors
- Rebuilding when strict mode is enabled was incomplete.
  The copy has to be redone if the source has been updated.
2021-06-06 15:37:47 +03:00
Megamouse f5366c91a7 Qt: kind of lazy loading icons 2021-06-06 09:38:13 +02:00
xddxd b5f1f50a16 Get rid of mobile Kepler class and add some missing GPUs 2021-06-06 08:07:43 +02:00
kd-11 6ac9e6f9c4 gl: Add some debug visualization to internally verify consistency 2021-06-05 21:02:14 +03:00
kd-11 39815801aa rsx: Implement proper decoding for some obscure fragment instructions
PK4UBG and UP4UBG were dropped from the NV_fragment_program spec in 2002.
Not much information about them remains but seems pretty straightforward.
2021-06-05 21:02:14 +03:00
Eladash 11ab9b7fa9
Fix sys_event_flag_wait result set (#10404)
Set result upon syscall exit, not at the beginning.
2021-06-05 16:41:02 +03:00
Zion Nimchuk baa422e65b Revert "moved build options to options.cmake"
This reverts commit 5ddb1d6649.
2021-06-05 07:46:09 +03:00
Eladash a7f1e788e6
Fix missing game licence logging (#10402) 2021-06-04 20:06:04 +02:00
polar 6c44664c19
BUILD: Refactor zlib submodule (#10393) 2021-06-02 07:33:50 +02:00
Nekotekina f2d6b52561 Fix span copy after refactoring
- Add range check at fast path.
- Fix typo in element by element copying.
Should fix #10385
2021-06-01 21:18:25 +03:00
JoãoPaulo 8405314399 Update FW 4.87 Latest Version
Updates the latest FW version according to: https://www.playstation.com/en-us/support/system-updates/ps3/
List of changes:
2021-06-01 20:20:52 +03:00
Nekotekina 3321ada41e Unify .gitmodules url as relative ones.
Don't specify SSH or HTTPS explicitly.
2021-06-01 19:42:10 +03:00
Zion Nimchuk ff8aa9112a Bump GLIBCXX version requirement to 3.4.29 thanks to using brand new compiler features Fixes #10378 2021-06-01 16:41:57 +01:00
Zion Nimchuk 0fc3e5fa1e Explicitely include CMakeDependantOption for CMAKE_DEPENDANT_OPTION 2021-06-01 16:41:57 +01:00
kd-11 98f534b1bd vk: Rewrite partial clear shader
- Completely removes the feedback loop and replaces with hardware channel masking
2021-06-01 12:54:10 +03:00
kd-11 f85881c18c vk: Enable use of input attachments 2021-06-01 12:54:10 +03:00
polar b8b5b93b63
BUILD: Refactor spirv submodule (#10384)
* relocated SPIRV files

* updated gitmodule paths for Vulkan submodules

* cleaned up Vulkan child builds

* updated gitignore
2021-06-01 09:53:58 +02:00
Megamouse 20e25cd928 Qt: fix game list custom config icon refresh
I accidentally forgot to update the custom config icon after custom config creation/removal.
This happened during some refactoring back in mid-april.
2021-06-01 09:31:23 +02:00
Megamouse a7d4da25a4 remove cirrus FreeBSD 12.2 build 2021-05-31 23:01:13 +03:00
Megamouse ac83871214 impressive typo fix 2021-05-31 23:01:13 +03:00
Nekotekina a1608b636f span: implement as_span workarounds as utils::bless
Minor cleanup.
2021-05-31 15:46:34 +03:00
Nekotekina d862817485 vm::ref: remove erroneous default constructor 2021-05-31 15:31:20 +03:00
Nekotekina 63210449c6 Don't use -fconcepts anymore 2021-05-31 15:31:20 +03:00
kd-11 4a32b70aec vk: Validate pipeline state before compiling in case of shader cache moved between GPUs/drivers 2021-05-30 22:35:34 +03:00
kd-11 9199b1b1d8 vk: Improve compatibility with sub-par drivers and hardware
- Adds workarounds for INTEL + MSAA
- Adds support for younger drivers where all features may not be
  implemented.
  Things that won't out-right break the emulation can be
disabled.
2021-05-30 22:35:34 +03:00
Ani a49446c9e9
Replace gsl::span for std::span (c++20) (#7531)
* Replace gsl::span for std::span (c++20)
* Replace gsl::byte with std::byte

Co-authored-by: Bevan Weiss <bevan.weiss@gmail.com>
2021-05-30 17:10:46 +03:00
Nekotekina f5e529db61 shared_ptr.hpp: don't use fake objects
This lifts the limitation for casting with abstract classes.
Use new C++20 feature (constexpr allocator) to test viability.
Add SamePtr concept to types.hpp
2021-05-30 15:07:17 +03:00
Nekotekina eec9578619 types.hpp: add PtrCastable concept 2021-05-29 18:32:13 +03:00
Eladash d81a5b1423 SPU LLVM: Add missing WRCH PC updates 2021-05-29 15:26:52 +03:00
Megamouse 3cbe42df0a pads: Remove outdated DualSense battery note 2021-05-29 12:46:21 +02:00
Megamouse a2da525064 cellVdec: silence "Unsupported time_base" error log spam 2021-05-29 12:46:21 +02:00
Malcolm Jestadt 7c2b08b9b6 SPU LLVM: Expand branch optimizations for more instructions 2021-05-29 13:07:35 +03:00
Megamouse 99af70ae59 Include limits.h 2021-05-29 10:09:56 +02:00
Megamouse 5a0b93742c overlays: move more code to cpp 2021-05-29 10:09:56 +02:00
polar 7c7cc3914d
BUILD: Refactor glslang submodule (#10361)
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-29 09:47:51 +03:00
Megamouse 0d64b0f94d VS: fix libPng ProjectReference in emucore 2021-05-29 08:17:30 +02:00
Megamouse f18e80e899 fix some warning spam 2021-05-29 08:17:30 +02:00
Megamouse 210999b874 perf_overlay: fix guide line locations
The guide lines falsely started from the top and not from the bottom, as all datapoints do.
2021-05-29 08:17:30 +02:00
Megamouse 046d029e89 try to fix pad interception 2021-05-29 07:43:09 +02:00
Eladash 7d89938624 cellPad: do not use recusrive mutex 2021-05-28 20:25:16 +03:00
Eladash 6ff9aab2ca Fix cpu_thread::check_state() cpu_flag::temp support 2021-05-28 20:25:16 +03:00
Eladash 5f47730fc0 Fix reservations handling in logs
Remove reservation cb.
2021-05-28 20:25:16 +03:00
kd-11 9e62e98f79
rsx: Minor refactoring (#10358)
- Fix some misnomers.
- Allow finer grained control over texture section creation routines.
2021-05-27 23:44:07 +01:00
kd-11 763828837b
vk: Forcefully unmap DMA blocks before destroying them (#10359)
- While the vulkan spec explicitly allows destroying mapped blocks, GPUOpen vma_alloc does not.
- Strangely, this issue does not afflict linux users, only windows.
2021-05-27 23:03:46 +01:00
kd-11 f9d9d12f11 vk: Fix slow bo upload + copy when using RADV
- This reverts commit dbcf1b5a03bfef18f404aa6827515af319abd744.
- Avoid unmapping buffers used for GPU upload/download. It is very slow
  on some platforms.
2021-05-27 22:49:13 +03:00
kd-11 56f7359da4 vk: Workaround for slow bo transfer (pinned<->VRAM) when using RADV
- perf shows extremely high number of cycles wasted in memmove glibc method
2021-05-27 01:27:15 +03:00
Megamouse 6fed80333c perf_overlays: only calculate metrics on update
This should give a significant performance boost
2021-05-26 23:26:12 +02:00
Megamouse befd38d9ae perf_overlays: only compile dirty graphs
This should give a small performance boost
2021-05-26 23:26:12 +02:00
Megamouse 98b668b3a8 perf_overlays: add avg and 1p high/low 2021-05-26 23:26:12 +02:00
Eladash f103004aa0
sys_prx/overlay: Fix disambiguator of module names opened by FD (#10340)
Don't append zero offset.
2021-05-26 23:38:17 +03:00
Megamouse 5b4631dcf9 Set min gcc version to 11 2021-05-26 21:43:42 +02:00
polar 177933e212
Refactor hidapi submodule (#10346)
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-26 22:03:53 +03:00
Megamouse 83d3658ef0 scale debug overlay based on current dpi settings
Depending on the dpi settings, the debug overlay was almost unreadable.
I also took the liberty to refactor some redundant client size calls and to add some margin to the left of the debug text.
2021-05-26 20:31:29 +02:00
Eladash 44f0ca08e2 Simplify PPU exit 2021-05-25 22:47:23 +03:00
kd-11 338dc62474
vk: Fixup on linux + RADV combo (#10341) 2021-05-25 20:40:53 +01:00
kd-11 a736350859 rsx/vk: Use backend configuration to track options that can be modified on a per-device basis 2021-05-25 20:54:17 +03:00
kd-11 156b092dc9 vk: Lock passthrough DMA behind the async streaming option
- Without async streaming this option can introduce artifacts.
  The correct fix for it is to use async streaming which allows the GPU to process texture data in parallel with rendering.
  Without streaming enabled the GPU can sometimes pull stale data via DMA when rendering and find the CPU has modified it.
2021-05-25 20:54:17 +03:00
kd-11 122bb4d829 vk: Avoid repeated chip_class lookup by using generic global function 2021-05-25 20:54:17 +03:00
kd-11 7508949ca8 vk: Add workarounds to disable incompatible options 2021-05-25 20:54:17 +03:00
JohnHolmesII c882c8f417 CI: Add FreeBSD 13 2021-05-25 17:45:40 +02:00
Megamouse ac59073071 perf_overlay: update interval config update 2021-05-25 11:04:45 +03:00
Nekotekina 7311c161f6 vm_native: fix Linux/Posix sparse file check
Fix fast path condition (xnor is not ==, facepalm).
Increase probe size.
Should fix #10334
Closes #10335

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2021-05-25 09:55:43 +03:00
Eladash 9ba3e6d3f7 sys_mmapper: Fix IPC-enabled instances memory consumption 2021-05-24 23:16:06 +03:00
Nekotekina 5db38c0127 vm_native: improve sparse file check (Linux/BSD)
Use lseek(FIND_DATA) to check for sparse file support.
2021-05-24 18:21:52 +03:00
Nekotekina 191cb92300 vm_native: improve sparse file implementation (Win32)
Fix sparse attribute set/check, improve logic.
Implement actual check of file data.
Ask to restart RPCS3 first time (Win7 bug).
2021-05-24 18:21:52 +03:00
Nekotekina 2491aad6f2 types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
2021-05-23 19:43:51 +03:00
Nekotekina 4b239a0b87 types.hpp: rewrite _u16-_u64 suffixes
_u48 is unused and gone, blends into _u64.
2021-05-23 07:33:54 +03:00
Nekotekina 2768727e2f types.hpp: replace custom std::bit_cast
Remove memcpy version.
Use builtin instead.
2021-05-23 07:33:19 +03:00
Eladash 309759b725 kernel-explorer: Save self mem-container ID and use it 2021-05-23 05:37:37 +03:00
Zion 18627960d7
Bump gcc to 11, shellcheck and SDL2 (#10324) 2021-05-22 13:36:23 +03:00
Nekotekina 160b131de3 types.hpp: implement smin, smax, amin, amax
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.

Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00
Nekotekina 613777afde vm_native: try to workaround another bug (Win32)
Resize sparse file gradually.
2021-05-22 08:16:54 +03:00
Eladash dcfd29c2d9 kernel-explorer: Implement PPU scheduler state information 2021-05-21 18:12:36 +02:00
Eladash a7d0c4fb1e kernel-explorer: Fix horrible performance 2021-05-21 16:37:29 +02:00
Eladash 3a2b9f83ec TROPUSR: Optimization 2021-05-21 16:43:34 +03:00
Eladash 48870f3e8b TROPUSR: Loader Improvements
* Replace invalid TROPUSR.DAT with empty new ones. (+report an error)
* Fix return code of Load whenever TROPUSR.DAT hadn't existed before.
* Add header magic test.
* sceNpTrophyRegisterContext will abort if TROPUSR.DAT generation failed.
2021-05-21 16:43:34 +03:00
David Carlier 1f93fc902b crypto light refactoring.
using volatile f/p guaranting assembly will generate call* instruction on memset for secure buffer zeroing. usage in sha1 api as well.
2021-05-21 16:34:38 +03:00
Nekotekina c646476ca8 logs.hpp: another fixup for RPCS3.log
Don't print channel names for initial messages.
2021-05-21 00:41:37 +03:00
Nekotekina de94f6c2f6 logs.hpp: fix fatal typo 2021-05-20 19:10:51 +03:00
Eladash f0c4aa6777 Fix bugs due to clocks scale setting being dynamic 2021-05-20 13:38:36 +02:00
Eladash 0811d2d527 Fix bug of sys_rsx_context_attribute
Mistake of reversing.
2021-05-20 09:25:51 +03:00
Eladash 3abf14beef Update sys_rsx_context_attribute 2021-05-20 09:25:51 +03:00
Eladash 638f20c80f Improve get_current_cpu_thread() 2021-05-20 09:25:51 +03:00
Nekotekina 04cac6cd33 logs.hpp: refactoring (logs::message)
Make .error/.warning/... callable objects which can be pointed to.
Make .always() more hard to access.
Memory layout optimizations.
2021-05-20 01:08:32 +03:00
Nekotekina 1d0f6eebdc Improve error_code (new formatting constructor)
Minor cleanup in formatting utilities.
2021-05-19 22:41:16 +03:00
Nekotekina 16620f6835 vm_native: sparse file fixup (Win32)
Clear file if it occupies blocks.
Makes it more fool-proof and fixes possible bug.
2021-05-19 22:41:16 +03:00
Nekotekina 88bfd3c3a7 Update commits 2021-05-19 22:41:16 +03:00
Nekotekina 4b11a4256e Add supporters 2021-05-19 22:41:16 +03:00
Megamouse 1dc00ccedd edat: Remove redundant logging 2021-05-19 21:09:18 +02:00
Megamouse 7832acbceb Minor change in msg_dialog_frame
This shouldn't have any impact
2021-05-19 20:24:06 +02:00
Lctrs 0042f4e16e metainfo: move away from deprecated appdata 2021-05-19 19:55:58 +03:00
Lctrs ffc9211ce2 metainfo: make license explicit 2021-05-19 19:55:58 +03:00
Nekotekina 8217840acc Simplify error_code class
Remove "not an error" detection trait. Use fixed CellNotAnError class.
Use constructor overload to disable reporting it.
2021-05-19 00:48:45 +03:00
Nekotekina cd7253bac9 Downgrade LLVM to previous commit (fixup) 2021-05-18 23:21:46 +03:00
Nekotekina d3b0a3dc46 bs_t<>: add all_of() and none_of()
Convenience functions.
2021-05-18 21:40:59 +03:00
Nekotekina e91dd3e373 Update LLVM
Includes some fixups and more PMADDWD/PMULHW detections.
2021-05-18 17:27:26 +03:00
Nekotekina 6e497ae372 vm: disable sparse files on win7 2021-05-18 13:31:46 +03:00
Emmanuel Gil Peyrot 7398200980 3rdparty: Add option to build against system xxhash
Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2021-05-17 20:29:13 +02:00
Emmanuel Gil Peyrot 8ed42410bf 3rdparty: Add option to build against system pugixml
Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2021-05-17 20:29:13 +02:00
Emmanuel Gil Peyrot 8f271861f5 3rdparty: Add option to build against system flatbuffers
Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2021-05-17 20:29:13 +02:00
Emmanuel Gil Peyrot f6a70e2e08 3rdparty: Fix building with system wolfssl
It only installs a .pc file and nothing cmake, so we can use pkg-config
instead.

https://github.com/wolfSSL/wolfssl/pull/4043 is required when building
wolfssl against gcc 11.

Signed-off-by: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
2021-05-17 20:29:13 +02:00
Malcolm Jestadt 52780e65e7 SPU LLVM: Optimize branching
- Detect a pattern where vpmovmskb and a check against the sign bit can be used instead of checking against zero
2021-05-17 16:59:20 +03:00
Eladash 57cd4ff3c6
Move HLE table address to FXO (#10284) 2021-05-17 14:22:27 +03:00
Eladash 2e28e2d293 lv2: Fix overflows of periodic timers 2021-05-17 13:17:45 +03:00
Hula Hoop 13e2f26a67 Make RPCS3 license explicit in README 2021-05-17 13:15:51 +03:00
Megamouse 73b77525eb fix azure builds 2021-05-16 08:31:05 +02:00
kd-11 a84cf030bb Fixup
FreeBSD + concepts = fail
2021-05-15 23:51:12 +03:00
kd-11 af05ebe428 Update cmakelists 2021-05-15 23:51:12 +03:00
kd-11 c5a06dab0a rsx: Refactor program texture state handling to be persistent across shader swaps 2021-05-15 23:51:12 +03:00
polar 11bace8804
BUILD: Move buildfiles & improved prop includes (#10251)
* moved buildfiles to subdirectory

* fix msvc build

* fix cmake build
2021-05-15 20:20:12 +02:00
Eladash 7a9a46e093 kernel-explorer: Implement SPU ports/interrupt tags information 2021-05-15 09:00:12 +03:00
Eladash 8bd58b1ad4 Remove lv2_event_queue::check(weak_ptr) 2021-05-15 00:31:14 +03:00
Eladash c681395fb2 sys_interrupt: weak_ptr -> shared_ptr 2021-05-15 00:31:14 +03:00
Eladash 33580e0aa1 sys_timer: weak_ptr -> shared_ptr 2021-05-15 00:31:14 +03:00
Eladash 47436bd774 sys_spu: weak_ptr -> shared_ptr 2021-05-15 00:31:14 +03:00
Eladash a992a5fba9 cellAudio: weak_ptr -> shared_ptr 2021-05-15 00:31:14 +03:00
Eladash 94e2f464e3 CPU Profiler: weak_ptr -> shared_ptr 2021-05-15 00:31:14 +03:00
Eladash 56471f4ad4 SPU: Optimize SPU ports/queues 2021-05-15 00:31:14 +03:00
Eladash cacb852a1e Emulation stopping bugfix 2021-05-14 15:35:07 +03:00
Nekotekina 6dca588370 SPU LLVM: improve MPYH instruction
Rewritten to use 16-bit multiplication, as in SPU ASMJIT.
2021-05-13 23:16:53 +03:00
Nekotekina cdf25d902a Update LLVM commit
* Improve (V)PMADDWD detection (should fix #9999).
  Implements #9999 in a different manner.
* Update PreserveAll CC to save full AVX-512 state.
* More fixes for gcc-11 (actually workarounds).
2021-05-13 23:16:21 +03:00
Nekotekina 2a26bc6668 Fix page mapping rights to file mapping 2021-05-13 13:49:24 +03:00
Paul 4e12e70929
Add Intel's Rocket Lake 11th gen cpu. (#10205)
This does nothing but may be required later.
2021-05-13 11:34:37 +03:00
Nekotekina f0ad20a250 Implement const_str_t<> helper 2021-05-13 10:23:33 +03:00
Nekotekina 8ae727ca04 lv2_obj::create: fix pessimizing move
Could have been preventing copy elision.
2021-05-13 10:23:33 +03:00
Nekotekina 5b6537674f Enable -Wattributes warnings 2021-05-13 10:23:33 +03:00
Nekotekina 126141cdce vm_native: improve sparse file handling
Don't specify O_TRUNC every time.
Add portable support test (Linux/Unix).
Use PAGE_WRITECOPY (Windows).
2021-05-13 10:23:33 +03:00
octopoulo fe17c83020 reverted comment 2021-05-12 15:28:30 +03:00
octopoulo b8928d230a gl: Intel GPU shader fix 2021-05-12 15:28:30 +03:00
kd-11 675c9a7945 vk: Ensure MSAA surfaces are in RW state before attempting to transfer data. 2021-05-12 13:04:09 +03:00
kd-11 1a73b0a0da rsx: Fix transfer barriers not triggering resolve target initialization 2021-05-12 12:32:24 +03:00
Eladash f7b845d49c fs: Optimize filesystem handle reconstruction 2021-05-12 12:12:34 +03:00
Nekotekina 0bd64a0e72 Don't fatal on sparse file initialization failure
Also try two different locations (Win32).
2021-05-10 00:39:28 +03:00
Eladash acded1e08a
rsx: Move sys_rsx info to rsx::thread (#10258) 2021-05-09 19:16:14 +01:00
kd-11 a4f4b81e6b vk: Add some more debugging utils for RDC captures
- Labels make life so much easier
2021-05-09 13:07:47 +03:00
kd-11 0b18ec8208 vk: Allow flipping without wait 2021-05-09 13:07:47 +03:00
kd-11 e3944bc67f rsx: Handle transfer_read differently from transfer_write
- Transfer writes are expected to clobber surface cache contents. Do NOT reload from CPU memory for writes.
- TODO: During transfer write to surface cache objects, lock memory if it was unlocked to avoid silly problems.
2021-05-09 13:07:47 +03:00
kd-11 b085284c55 rsx: Ignore write-to-self via blit engine. 2021-05-09 13:07:47 +03:00
Eladash 31b55e0030 event queue: Structure size efficiency 2021-05-09 10:58:14 +03:00
Eladash 7a4918e4a4 kernel explorer: Implement interrupt handler/service information 2021-05-09 10:58:14 +03:00
Eladash 1e1880893a sys_interrupt: Save ID of self tag/handler 2021-05-09 10:58:14 +03:00
Eladash 363cc60c82 sys_event: Save ID of self event queue 2021-05-09 10:58:14 +03:00
David Carlier b09970f159 couple of warning build fixes 2021-05-09 09:25:40 +02:00
Megamouse 52930a7597 VS: fix some filters 2021-05-07 22:51:08 +02:00
Megamouse 96fa531566 Qt: allow renaming of the current user
Since the dialog cannot be opened ingame, there should be no reason to disable the rename user option.
2021-05-07 22:51:08 +02:00
Eladash 64997662d2 LV2: Fixup for IPC
* Fix typo in lv2_obj::create.
* Always save ipc_key as 0 for non-shared object creations, regardless of thbe value set by creation attribute.
* Show IPC key of shared memory (sys_mmapper) memory objects in kernel explorer.
2021-05-07 14:58:22 +03:00
Eladash 900ebf6583
sys_event: Typo fix (#10246) 2021-05-07 09:34:25 +01:00
polar ce94a4ecea
BUILD: Refactor libpng submodule (#10238)
* relocate libpng files

* fix cmake build

* fix MSVC build
2021-05-07 10:07:42 +02:00
Eladash 7b6482c01d
LV2: Improve IPC support (#10206)
* Remove custom event queue's IPC management of favour of universal LV2 approach.
* Move ipc_manager to FXO.
* Fix ipc_manager internal storage memory leak: deallocate entry when IPC object destroyed.
* Rewrite lv2_obj::create to be simpler (remove many duplicated code).
* Always execute lv2_obj::create under both IPC and IDM mutexes at once (not in non-atomic single-steps). Fixing potential case where concurrency can cause IDM to contain 2 or more different objects with the same IPC key with SYS_SYNC_NOT_CARE (instead of the same object).
* Do not rely on smart ptr reference count to tell if the object exists. Use similar approach as event queues as it makes error checkings accurate.
* Optimize lv2_event_port by using std::shared_ptr for queue which wasn't allowed before.
2021-05-07 09:58:30 +03:00
Zion a043e95d24
Remove libopengl.so.0 hack, and use LEGACY CMake OpenGL option for AppImage builds (#10234) 2021-05-07 03:14:31 +01:00
David CARLIER f56ecb6d3f
stblib: disable another unsupported clang warning (#10244) 2021-05-07 01:26:21 +01:00
Nekotekina e24ada37bf fs: implement fs::get_temp_dir() (Win32)
Trying to workaround issues with sparse files (#10231)
2021-05-05 19:38:36 +03:00
Nekotekina 546b52200b vm: disable locking main/video/stack for now (TODO) 2021-05-04 19:18:57 +03:00
Nekotekina 327c000c82 Implement s128 type (based on u128) 2021-05-04 18:02:52 +03:00
Nekotekina 1b0b2fe21e vm: add "hook" memory (32G)
Implement overcommit emulation for shm.
2021-05-04 18:02:52 +03:00
Nekotekina e327d47169 vm_native: add cow flag to map functions
CoW is copy-on-write mapping type.
2021-05-04 09:53:19 +03:00
p01arst0rm 35ee550171 changed discord-rpc to discordRPC 2021-05-04 01:27:41 +02:00
p01arst0rm f27325fd98 relocated openal cmake 2021-05-04 01:27:41 +02:00
p01arst0rm 2447fdb90d relocated stblib files 2021-05-04 01:27:41 +02:00
p01arst0rm 7ab13a44d7 relocated discord-rpc cmake 2021-05-04 01:27:41 +02:00
p01arst0rm 1745c8c607 changed USE_SYS_LIBUSB to USE_SYSTEM_LIBUSB 2021-05-04 01:27:41 +02:00
p01arst0rm c6c5faa95c buildsystem refactoring cleanup 2021-05-03 08:01:25 +02:00
polar df39bac449
BUILD: Refactor asmjit submodule (#10230)
* relocated asmjit files

* fix cmake build

* fix MSVC build
2021-05-02 19:59:38 +02:00
HerrHulaHoop c3bf9bd4a0 Correct mismatched licenses in Crypto
5 files in Crypto were licensed under GPL-3.0-only which is
incompatible with our project's GPL-2.0-only license. They have now
been corrected to use GPL-2.0-or-later.
2021-05-02 13:39:50 +03:00
Zion Nimchuk 1ac82546ec Bundle libOpengl.so.0 manually. Fixes issue #10226 2021-05-01 22:25:21 +02:00
polar b09b0bc43b
BUILD: Refactor curl submodule (#10228)
* relocate curl files

* fix cmake build

* fix MSVC build
2021-05-01 21:56:56 +02:00
Eladash 0224c7a9eb SPU TG: Simplify state of saved SPU image data
Save only entry points instead of sys_spu_image structure.
2021-05-01 19:43:00 +03:00
p01arst0rm ca0d38d19d fix relative links to common_default* props 2021-05-01 18:38:42 +02:00
polar b62ac7a046
BUILD: Refactor 7zlib (#10222)
* relocate 7z files

* fix MSVC build

* fix cmake build
2021-05-01 18:07:28 +02:00
Eladash daa53b77cf Simplify named_thread construction 2021-05-01 18:08:03 +03:00
Ani b8477a470f rpcs3_version: Bump to 0.0.16 2021-04-30 21:42:14 +01:00
Ani 2f44523e6d .github: Update issue templates
Mention settings must be as close to defaults as possible and that game 
patches must be disabled when reporting issues
2021-04-30 21:14:51 +01:00
Ani 2fa5f6f242 .github: Update PR-BUILD.md 2021-04-30 21:14:51 +01:00
Ani a86cce5d70 Update BUILDING.md
- Update Vulkan SDK references to match the version currently used in CI 
(1.2.154)
- Update Python to the oldest still supported version (3.6), also the 
version currently available on bionic
- Update leftover minimum required CMake version to 3.16.9
2021-04-30 21:14:51 +01:00
Ani 9856f170a7 .github: Update CONTRIBUTING.md
Modernize it a little bit
2021-04-30 21:14:51 +01:00
Megamouse ba35619718 curl: fix visual studio build 2021-04-30 17:07:05 +01:00
Ani 37331d8ead stblib: Ignore new 3rdparty warnings 2021-04-30 17:07:05 +01:00
Ani d17784b231 curl: Update from v7.72.0 to v7.76.1 2021-04-30 17:07:05 +01:00
Ani 18e1b45388 stblib: Update stb_truetype from v1.21 to v1.24 2021-04-30 17:07:05 +01:00
Ani 9b083f801c stblib: Update stb_image from v2.22 to v2.26 2021-04-30 17:07:05 +01:00
Ani f0907d6f96 pugixml: Update from v1.9-git to v1.11.4 2021-04-30 17:07:05 +01:00
Megamouse 71d58e3a67 rsx: remove unused tile functions 2021-04-30 08:23:16 +02:00
Megamouse 37425d6fcd GL: Remove unused copy functions 2021-04-30 08:23:16 +02:00
Megamouse 1f295bba5b VK: ReSharper warning fixes 2021-04-30 08:23:16 +02:00
Megamouse a50be7a912 GL: resharper findings (too lazy for const functions) 2021-04-30 08:23:16 +02:00
Ani f9d52ea5b9 OpenAL: Update include from 1.20.1 to 1.21.1 2021-04-30 00:02:08 +01:00
Ani e192869e15 XAudio2: Update from 1.2.0 to 1.2.6
Microsoft.XAudio2.Redist 1.2.0 to 1.2.6
2021-04-30 00:02:08 +01:00
Ani f1be9bbf6c FAudio: Update from 20.03-git to 21.04 2021-04-30 00:02:08 +01:00
Megamouse d331ff3193 overlays: implement text_align::right 2021-04-30 00:30:26 +02:00
Megamouse 035a187c42 user-overlays: add sanity check for enter button 2021-04-30 00:30:26 +02:00
Megamouse 3c37036f7a save-overlays: add entry size info 2021-04-30 00:30:26 +02:00
Megamouse 14b6d6291b save-overlays: add localization 2021-04-30 00:30:26 +02:00
Megamouse 5720a32bc5 save-overlays: change list entry contents.
There's no need to tell the user that the entry is for game xy, they are already playing that game.
On a real PS3 only the subtitle and the date are displayed.
2021-04-30 00:30:26 +02:00
Megamouse 11f57f259c cellSaveData: keep focus after confirmation cancel
It was very annoying to be thrown to beginning of the list after cancelling the confirmation.
2021-04-30 00:30:26 +02:00
Nekotekina 3fc6375ec5 Use consteval (experimental) 2021-04-29 23:16:43 +03:00
Nekotekina f8e05f8e3c Remove redundant operators != 2021-04-29 22:57:40 +03:00
Ani 98c0b3a2b1 glslang: Disable precompile headers 2021-04-29 20:20:40 +01:00
Ani 6423c23a9a glslang: Update to 11.4.0
From SDK-candidate-26-Jul-2020
2021-04-29 20:20:40 +01:00
polar dece8a69f6
BUILD: Refactor libusb submodule (#10169)
* relocate module files
* fix cmake errors
* moved & updated libusb MSVC build file
2021-04-29 16:50:18 +01:00
Nekotekina 5724d2d4c7 Simplify umax
Add operator less and conversion operator.
2021-04-29 12:21:12 +03:00
Nekotekina b1736b6411 Simplify utils::umulh64 (MSVC) 2021-04-29 09:45:57 +03:00
Nekotekina 703ec474f5 Fixup for sys_time_get_timezone (3rd path)
Also simplify Linux path a bit.
2021-04-29 00:07:22 +03:00
xddxd 64a109d28a Toolchain upgrades
CI/FreeBSD: unbreak build with bundled libc++ 12

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2021-04-28 23:50:39 +03:00
Jan Beich dc2ec17886 CI/FreeBSD: stop caching downloaded packages
Packages on /latest get out of date pretty quickly, anyway.
2021-04-28 20:44:06 +03:00
kd-11 1d9dd8d29d vk: Add support for tagging objects to ease debugging
- Makes use of VK_EXT_debug_utils
2021-04-28 16:53:02 +03:00
kd-11 8b0e1d6c03 rsx: Make renderdoc compatibility mode a general option 2021-04-28 16:53:02 +03:00
Megamouse f1a9f6263e Rename Rockband to Rock Band 2021-04-27 23:33:46 +02:00
Nekotekina a049c6fd6b Implement sys_time_get_timezone syscall
Try to get system timezone automatically.
Attempt to address #10195.
2021-04-27 22:21:58 +03:00
kd-11 9609767c51 vk: Refactor render target code 2021-04-26 00:33:05 +03:00
Nekotekina 86a8e0716f Test alterable aggregates via overriding be_t
Checking how it might look like without introducing too many changes.
Alteration of its behaviour as a "template template" argument allows:
 - normal access
 - easier aggregate inspection
 - memory access interception
2021-04-25 19:00:16 +03:00
Nekotekina b5e9f09972 fmt: support numeric u128 formatting 2021-04-25 18:17:38 +03:00
Nekotekina 4d9a167f56 u128: add multiplication support (for MSVC) 2021-04-25 18:17:38 +03:00
Nekotekina b704cc8375 shared_ptr.hpp: implement make_single_value(), make_shared_value()
A function that constructs single_ptr from its argument.
Type can be deduced from the argument (unlike make_single).
2021-04-25 18:17:38 +03:00
Nekotekina e34c956196 shared_ptr.hpp: add invoke operator 2021-04-25 18:17:38 +03:00
clienthax 7197dd751a
Fcntl e0000025 (#10172)
Co-authored-by: Eladash <elad3356p@gmail.com>
2021-04-24 21:43:09 +03:00
David Carlier 0b9e4ffe54 Mac OS build update and simplification, recent releases of macOS has clock_gettime support. 2021-04-24 12:55:21 +03:00
Megamouse 486ba6121d Qt: fix window position of update dialog 2021-04-24 11:46:51 +02:00
Megamouse 1015c126d7 fix formatting (somehow broken by copy pasta) 2021-04-24 11:46:51 +02:00
Megamouse 1caf81811a Move unspecific Emulator code out of System.cpp 2021-04-24 11:21:22 +03:00
kd-11 4c2a11b6d0 vk: Fix broken FBO swizzle for depth textures. WDB was basically broken for these. 2021-04-24 00:19:50 +03:00
Megamouse 8fd3b26308 sys: more constants 2021-04-23 22:46:15 +02:00
Megamouse 617d21fa84 sys_prx: more constants 2021-04-23 22:02:52 +02:00
Megamouse 4a88ffe250 Fix typo causing unreachable code 2021-04-23 22:02:52 +02:00
Megamouse 41b68ef353 some more constants 2021-04-23 22:02:52 +02:00
Eladash 72c85744b9 kernel-explorer: Show bound queue to port information
Show its IPC key or ID, depends on the queue's type.
2021-04-23 21:34:05 +03:00
Eladash c7b5bbd467 Fix emulation restart 2021-04-23 20:59:02 +03:00
David Carlier 082bbc7336 Following up on MacOS build fix.
Specialisation of llvm_value_t to allow build with LLVM this time.
2021-04-23 15:20:40 +03:00
Megamouse 087dccd194 Implement most of cellUserInfo 2021-04-23 05:50:19 +03:00
Nekotekina 61450335a5 named_thread: use concepts, improve constructors
Better default thread name detection.
2021-04-21 17:19:53 +03:00
Nekotekina 67649d7976 SPU LLVM: restore lost comment 2021-04-21 13:33:44 +03:00
Malcolm Jestadt 6247969ede SPU LLVM: Absolute final fixes for icelake shufb paths
- The constant mask was accessing bits in reverse order of what was expected
2021-04-21 11:00:02 +03:00
Malcolm Jestadt efd38fa940 SPU LLVM: Improve byteswap elimination
- Use the data before it has been swapped rather than relying on a second byteswap to cancel out the first
2021-04-20 23:24:21 +03:00
Malcolm Jestadt 551472220e SPU LLVM: Remove icelake shufb paths for now 2021-04-20 23:24:21 +03:00
p01arst0rm 01703b1350 moved cmake_modules to project root 2021-04-20 21:38:47 +03:00
p01arst0rm e9d785475e removed redundant cmake version check 2021-04-20 21:38:47 +03:00
p01arst0rm 9e008996ab swap STREQUAL for MATCHES 2021-04-20 21:38:47 +03:00
p01arst0rm bcfae17219 unified missmatched indentation in CMake files 2021-04-20 21:38:47 +03:00
dio-gh ddea45160b GUI: take out some unwise shortcuts
Removes the ability to stop or restart emulation via keyboard shortcuts
while the game is running. Prevents loss of work that can happen due to
the current bindings conflicting with very-widely established shortcuts.

Ctrl+C and Ctrl+E will now be unbound, and Ctrl+R will now mean Resume.
Strings that mention these keybinds were adjusted accordingly.
2021-04-20 19:46:47 +03:00
Malcolm Jestadt 53f13a9721 SPU LLVM: Final fixup for icelake shufb paths
- The cause of the problems was due to the constant mask for gf2p9affineqb being used as the first argument, instead of the second argument.
2021-04-20 13:07:24 +03:00
Megamouse 3e33f064bf overlays: hotfix for dialog interaction
Turns out there was an undocumented reason for this.
Nobody warned me that "It's a trap!".
I wonder how this hasn't summoned a shitstorm yet.
2021-04-20 00:42:11 +02:00
Megamouse aa0afc9a4e Input: avoid mouse events when unused 2021-04-20 00:06:23 +02:00
Eladash a0d1cf26d0 Reduce precompilation failure log level (error -> notice) 2021-04-19 23:18:31 +03:00
Megamouse 01d14aed80 fix null chars in hostname log message 2021-04-19 21:54:27 +02:00
Megamouse 3c4c830e20 Qt: Speed up Log Viewer 2021-04-19 21:25:19 +02:00
Nekotekina 0c9c481cee Use requires syntax in more places
Change style in some places.
2021-04-19 16:51:40 +03:00
Nekotekina 7dae376646 Implement fill_array() utility 2021-04-19 12:33:32 +03:00
Nekotekina ccb89bd76a MSVC: disable throwing new 2021-04-19 12:33:32 +03:00
Megamouse b2317543c8 Qt: Fix initial gs_frame position on multi-monitor 2021-04-19 10:44:48 +02:00
p01arst0rm b812ef2771 removed space between and its opening parentheses 2021-04-19 08:59:28 +03:00
David Carlier 7618e7f3fb FreeBSD/clang update proposal.
silence few build warnings, VKDMA: disable Intel chipset for host buffer as it requires root privilege.
2021-04-18 19:56:21 +03:00
David Carlier b6732fbae9 MacOs build fix proposal.
Made on Big Sur, removing few unnecessary old specifics.
Build with LLVM homebrew.
2021-04-18 17:18:09 +03:00
clienthax 68fa377d13 Add dev_flash2+3 2021-04-18 14:49:29 +03:00
Nekotekina 7a9561b966 vm_native: document some unmap_critical behaviour (posix) 2021-04-18 13:13:15 +03:00
Nekotekina c061991c43 vm_native: supply only one madvise flag at a time 2021-04-18 13:13:15 +03:00
Megamouse bdac1d9bfd Qt: fix type mismatch crash of game grid items 2021-04-18 09:58:54 +02:00
David Carlier 266c4209c4 VM: FreeBSD c_madv_no_dump/dump constants support. 2021-04-17 20:47:36 +03:00
Nekotekina fb26da1cb0 bs_t<>: create BitSetEnum concept
Try concepts instead of SFINAE.
2021-04-17 19:23:19 +03:00
Nekotekina d623720f4d Fix condition for -Wno-attributes (regression) 2021-04-17 16:26:41 +03:00
Nekotekina 9d4fcbf946 bs_t<>: fix/cleanup some operators 2021-04-17 15:54:33 +03:00
p01arst0rm 896db3806d replaced CMAKE_COMPILER_IS_GNUCXX with CMAKE_CXX_COMPILER_ID 2021-04-17 15:54:27 +03:00
Megamouse 691b986e36 keyboard pads: release all keys on FocusOut event 2021-04-17 14:03:50 +02:00
Megamouse 5416f60643 basic keyboard: release all keys on FocusOut event 2021-04-17 14:03:50 +02:00
Eladash 67e2e154fa Replace simple_type with std::common_type 2021-04-17 10:27:55 +03:00
Megamouse 330dea181a Qt: unify some movie hover code and fix cellLeave 2021-04-16 23:18:13 +02:00
Megamouse 7bc673002f overlays: fix dirty state of message dialog 2021-04-16 23:18:13 +02:00
Megamouse ae8d1a3a60 Qt: smoother scrolling in savedata manager 2021-04-16 21:26:24 +02:00
Megamouse 27975e9dfd Qt: remove uncritical deprecated notes and titles
This also fixes a savedata notes bug.
The detail section notes were always taken from the deprecated settings.
2021-04-16 21:26:24 +02:00
Megamouse bff938ccf5 Qt: optimize game list repaint with new logic
We now pass a shared pointer to the icon items, so there is no need to trigger a full refresh of the list anymore.
Sadly this doesn't apply to the game grid.
2021-04-16 11:21:04 +02:00
Megamouse 53f317e076 Qt: use gifs as icons on hover if available. 2021-04-16 11:21:04 +02:00
Malcolm Jestadt 0a7df9d02e SPU LLVM: add AVX-512 SPU verification
- This is hidden behind a new setting, as some cpus may downclock agressively when executing 512 wide instructions
2021-04-16 09:35:26 +03:00
Nekotekina 408ffd3d2c fxo: add debug name to the typeinfo 2021-04-15 20:01:29 +03:00
Nekotekina a211895e28 shared_ptr.hpp: use for fs::virtual_device
Add new constructors for single_ptr and shared_ptr.
Change virtual device prefix format.
2021-04-15 17:26:47 +03:00
Nekotekina 19763f8973 Remove unnecessary default:breaks 2021-04-15 15:23:59 +03:00
Desterly 99d6f9c7a9 Skylander - Traptanium portal cleanup
- Remove "Status" query responses from reset request
- Add additional request types for newer portal
2021-04-15 12:10:22 +02:00
Desterly 63e4ac80bd Skylander - Change portal version
Switch emulation to the Traptanium portal.   This portal is universal
and works with all games.
2021-04-15 12:10:22 +02:00
polar 24983ea329 removed whitespace
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-04-15 11:37:35 +02:00
p01arst0rm 6cab5b5591 removed extra perentheses pair 2021-04-15 11:37:35 +02:00
p01arst0rm c9d2aed286 small collection of fixes 2021-04-15 11:05:15 +03:00
Eladash a16cc3ac8a lv2: Remove flags from IPC-supported objects 2021-04-15 10:31:40 +03:00
TotalCaesar659 ba1699a831 Fix typo 2021-04-14 20:01:18 +02:00
Megamouse 20c69a0e3e overlays: make auto-repeat buttons configurable
and properly reset the auto-repeat timer whenever a new button was pressed
2021-04-13 20:57:05 +02:00
Megamouse bdc5ed094b overlays: implement OSK password mode 2021-04-13 20:57:05 +02:00
Megamouse 088d22675b overlays: fix osk placeholder 2021-04-13 20:57:05 +02:00
Megamouse fc9b3c13e6 misc: fix old some style casts and redundancies 2021-04-13 20:57:05 +02:00
kd-11 14a64e2529 rsx: Handle rare rounding issue where position.w is very close to zero 2021-04-13 21:26:23 +03:00
Megamouse f5415fb4ac overlays: dynamically change dialog background 2021-04-13 19:13:56 +02:00
Megamouse 20076ed57e Qt: Properly disable perfoverlay datapoint sliders 2021-04-13 19:13:56 +02:00
Michał Karczewski 006b8574ae Update BUILDING.md
There is no `qt515-meta-minimal` package under mentioned package repository, but `qt515base` allows to build CMake configuration
2021-04-13 10:00:52 +03:00
p01arst0rm 1de7ac3c67 added inline suggestion to patch_engine_version to prevent duplicate includes 2021-04-13 09:14:53 +03:00
kd-11 8d1fc18941 vk: Fix mip level packed pitch calculation 2021-04-13 00:14:16 +03:00
kd-11 06dc99ab85 rsx: Fix decompression of RB_RG textures.
- Removes several subtle hacks that hid the real issue.
  A compressed texture has more than one texel per 'block'.
2021-04-11 21:36:36 +03:00
p01arst0rm e4059dfe6a added pvs-studio artifacts to gitignore 2021-04-11 19:44:57 +03:00
p01arst0rm 4048b1e515 added inline suggestion to settings_location to prevent duplicate includes 2021-04-11 18:38:02 +03:00
Nekotekina ccb46df905 Minor fixups (removed unnecessary code) 2021-04-11 16:36:02 +03:00
Megamouse a16d8ba3ea More random changes 2021-04-11 14:01:51 +03:00
xddxd a485957130 Cirrus warning fix 2021-04-11 01:18:23 +03:00
Eladash 56d34e0e80 Enforce backslash at the end of emulated drives paths 2021-04-10 23:51:49 +03:00
Eladash 11824b3916 Win32 FS: Improve fs::create_dir 2021-04-10 23:51:49 +03:00
Eladash 5ca6381624 Implement "PPU LLVM Precompilation" control setting 2021-04-10 18:06:46 +03:00
xddxd 024b184008 Cirrus build 2021-04-10 17:21:01 +03:00
Megamouse 7a105333dc Qt: fix vfs dir remove button enabled state 2021-04-10 15:18:16 +02:00
Megamouse 332eb5fbd6 Log firmware after Emu was initialized 2021-04-10 15:18:16 +02:00
Megamouse 5b0dac797c Remove deprecated user management code 2021-04-10 15:18:16 +02:00
Eladash 86ddc00bb1 Suggest adding RPCS3 to anti-virus whitelist on firmware/PKG installation failure 2021-04-10 10:37:20 +02:00
Nekotekina 3107f37864 Fix psf::load error for error::stream 2021-04-10 00:43:08 +03:00
Megamouse 17f5fec538
sceNp: fix rap file regression (#10084) 2021-04-09 21:37:57 +01:00
Megamouse 03b76b4606 Emu: some cleanup 2021-04-09 21:03:49 +02:00
Eladash a3e8a61547 PSF: Fix string_view optimization
Avoid redundant copies of std::string.
2021-04-09 20:58:30 +03:00
Eladash a8d5a8734a Loader/cellGame: Do not crash on invalid PSF files 2021-04-09 20:58:30 +03:00
Nekotekina 10bbb7fa1f Fix some warnings (deprecate enum arithmetics) 2021-04-09 10:26:13 +03:00
Nekotekina 8c5f2b249c shared_ptr.hpp: further fixes
Improved is_same_ptr() trait (added third "maybe" category).
Fallback to pseudo-runtime check in certain cases (if "maybe").
Fix single_ptr moving assignment operator.
2021-04-09 10:26:13 +03:00
Nekotekina 332c512eed shared_ptr.hpp: minor optimization (GCC hotfix)
Use thread_local for dummy objects (doesn't work on MSVC).
Couldn't find better way to remove fake static objects completely.
In a sense that they don't appear in object files.
2021-04-09 10:26:13 +03:00
Megamouse d10584ac6c DRM: Search all user directories for rap files 2021-04-09 08:47:59 +02:00
Eladash d2b761b7de Log error about HG games booted outside of /dev_hdd0 2021-04-08 23:57:00 +03:00
Eladash 49c5ce30cc Emulation: Fix boot path resolving
* Fix /dev_flash executables path arg. (/host_root is wrong for it)
* Fix usage of /host_root for homebrew applications when it is not mounted, use /app_home.
* Fix path source detection. (don't get fooled by path slashes repetitions, symlinks, '.', ".." and ('\' on Windows))
* Unescape tail of /dev_hdd0 paths.
2021-04-08 23:57:00 +03:00
Nekotekina 95725bf7fc Add -Werror=missing-noreturn (GCC, clang)
May be useful to diagnose functions which fail assertions unconditionally.
2021-04-08 10:29:47 +03:00
Nekotekina 94c62b1eec shared_ptr.hpp: improve is_same_ptr<> trait
Don't always return true on MSVC.
2021-04-08 10:29:47 +03:00
Megamouse 02febd3f65 Workaround: Skip progress_dialog during gameplay 2021-04-06 21:39:34 +03:00
Megamouse 497fbb17a8 progress_dialog fixes 2021-04-06 21:39:34 +03:00
p01arst0rm 5ddb1d6649 moved build options to options.cmake 2021-04-06 15:23:56 +03:00
Nick Renieris 396c129d41 vm: Flag names (refactoring) 2021-04-06 13:07:54 +03:00
cglmrfreeman f64a7bb820 Update OpenSUSE dependencies
Added `libqt5gui-private-headers-devel` dependency to fix `fatal error: qpa/qplatformnativeinterface.h: No such file or directory`
2021-04-05 11:14:59 +03:00
Eladash 4a9be0a8d2 core: Move IDM to FXO 2021-04-04 17:29:32 +03:00
Megamouse bf1756448e overlays: fix taskbar progress reset 2021-04-04 13:38:10 +03:00
Nekotekina ed8f60431f Fixup for progress dialog closing logic
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-04-03 23:25:02 +03:00
Nekotekina 6f1f75bc8f Minor progress dialog refactoring
Add rsx::overlays::progress_dialog class (identical to message_dialog).
Don't use Emu.CallAfter() for native dialogs.
Make g_progr_ptotal waitable.
2021-04-03 22:38:04 +03:00
Nekotekina 963d150e93 Fix some -Weffc++ warnings (part 2) 2021-04-03 21:54:15 +03:00
Nekotekina c1f1b1174d Update commits 2021-04-03 21:54:15 +03:00
Nekotekina 1ddeef71c6 Fix some typos 2021-04-03 21:54:15 +03:00
Megamouse b7eefeac8b hotfix: skip progr dialogs if msg dialogs are open 2021-04-03 20:37:40 +02:00
Eladash e57f36fc5b Quick sys_sm_get_params implementation 2021-04-03 17:23:40 +03:00
Eladash 32116086b3 Implement _sys_prx_register_module loading imports/exports functionality 2021-04-03 17:23:40 +03:00
Eladash 878da3b474 Implement get_cellos_appname()
Identifying vsh.self and possibly other operating system executables in the future.
2021-04-03 17:23:40 +03:00
Eladash 73320d4180 Output all fatal log messages to Console/debugger as well 2021-04-03 08:47:58 +02:00
Eladash a1d31f640a Set userland firmware SPRX directory as the default PS3 decryption tool path 2021-04-02 20:54:33 +02:00
Megamouse 9c7230e79f cli: set user-id per command line 2021-04-02 11:50:28 +02:00
Megamouse 98687d474b Move system info to extra line 2021-04-02 07:14:23 +02:00
Eladash 7b57b8f2ca debugger: Implement ability to pause entire emulation on breakpoint 2021-04-01 19:11:55 +03:00
Eladash 55c98bfaef Fix #9879 and fix firmware confirmation dialog when auto-start is disabled 2021-04-01 14:09:02 +03:00
Nekotekina e9a45a2f45 Implement scoped_progress_dialog
Create Emu/system_progress.hpp
Remove atomic g_progr_show
2021-03-31 23:40:09 +02:00
Nekotekina 2212a131ef Fix some -Weffc++ warnings (part 1) 2021-03-31 11:27:09 +03:00
Nekotekina deacf05769 Enable -Wdeprecated-copy
Some classes violated the Rule of 3(5) in their special operator definitions.
2021-03-31 11:27:09 +03:00
Megamouse 870224cde0 Emu/overlay: ingame native overlay PPU compilation 2021-03-31 09:38:30 +02:00
Megamouse e557c962fb Qt: gs_frame position updates 2021-03-30 19:09:01 +02:00
Eladash 5a3c218239 thread-pool: Fix default rounding mode 2021-03-30 11:13:47 +03:00
Eladash 1e71deb0db rsx: Compile shaders when CELL is not running 2021-03-30 11:13:47 +03:00
Eladash dea1d01de2 Fix Emulator::Stop race with IDM
Newly created threads' state could have not been flagged with exit.
2021-03-30 10:21:54 +03:00
Eladash e9bea1c742 Emu: Do not obey auto-exit setting after creating firmware cache 2021-03-30 10:21:54 +03:00
Eladash d51bb8b1cc Fix Emulator::Pause race with IDM 2021-03-30 10:21:54 +03:00
Eladash aad5283786 Fix Emulator::IsPaused() 2021-03-30 10:21:54 +03:00
Megamouse 66df38957b add AppIcon to fatal_error_dialog 2021-03-29 23:32:15 +02:00
xddxd 7cbafd603a
Get rid of non-LLVM build configurations (#10030)
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-03-29 22:45:48 +03:00
dio-gh 3e48c9744b upgrade icons to a modern design
Credits go to @DAGINATSUKO, and @hcorion for the svg version.
2021-03-29 22:24:40 +03:00
Megamouse a982280400 Qt: Drop int for QT_SCALE_FACTOR_ROUNDING_POLICY 2021-03-29 20:37:33 +02:00
Megamouse d62983e1a2 Qt: Properly set QT_SCALE_FACTOR_ROUNDING_POLICY 2021-03-29 20:37:33 +02:00
Megamouse 90ac24e524 Qt: set find_dialog "next" button to default 2021-03-29 19:19:24 +02:00
Megamouse 0b2ba98238 Qt: add option to hide the log prefix 2021-03-29 19:19:24 +02:00
xddxd 916ce7899b LLVM Clang-cl support and ninja build
Also update the submodule
2021-03-28 17:24:48 +03:00
xddxd b978aa6dca Wording changes and tooltip fix for unsupported CPUs 2021-03-26 18:56:16 +01:00
Megamouse 6565855005 Qt: clean global cfg before adding custom cfgs 2021-03-26 09:08:30 +01:00
Megamouse 9f80a55652 Qt: don't show updater if booted with cli arg 2021-03-25 23:39:42 +01:00
xddxd 9d895e6b15 Scheduler overhaul 2021-03-26 00:29:44 +03:00
Megamouse a7acb84b8b Qt: Remove unused GUI entries when saving a config 2021-03-25 20:34:00 +01:00
Megamouse 8d54453981 Qt: Fix debugger breakpoint deletion 2021-03-24 20:47:51 +01:00
Megamouse 452fb59c74 Qt: select target item in debugger list
This should make it easier to spot the item
2021-03-24 20:47:51 +01:00
Megamouse ba45daff35 Qt: some cleanup in debugger 2021-03-24 20:47:51 +01:00
Nekotekina b3fb6d7d18 Add and fix -Wredundant-decls (GCC) 2021-03-23 22:48:57 +03:00
Nekotekina 5dc3467337 vm: fix reservation_update notification
Rare function.
2021-03-23 21:09:37 +03:00
Nekotekina 729757b1dd atomic.hpp: allow raw notify_all by pointer 2021-03-23 20:58:42 +03:00
Nekotekina 393f9d329d atomic.cpp: allow non-standard sizes in atomic wait (>16) 2021-03-23 20:52:56 +03:00
Nekotekina 820390b7ed atomic.cpp: remove raw_notify and simplify internal logic
Also permit zero size in waiters.
2021-03-23 20:19:10 +03:00
Nekotekina e0790f758e Add some warnings (GCC, clang) 2021-03-23 16:40:44 +03:00
Eladash 2f333424a6 Improve ELF/Trophy loader's error checking 2021-03-23 16:05:23 +03:00
Eladash a67b347966
debugger: Fix SPU memory viewing (#10007)
* debugger: Fix SPU memory viewing

* Fix terminal recovery from page faults (hack allocation)
2021-03-23 13:33:07 +03:00
Megamouse dedf09017a VS: try to unbreak debug builds 2021-03-23 09:11:04 +01:00
Megamouse cd07ab5b5f VS: fix release build 2021-03-23 00:46:26 +01:00
Megamouse 6892cb1c7e Qt: prepare for removal of deprecated GUI settings
If you remove a custom name and already had a deprecated name before, you'll never get rid of it.
This applies to all of the deprecated settings.
2021-03-22 23:47:11 +01:00
Megamouse b518a9a338 VS: fix release Optimization 2021-03-22 20:19:36 +01:00
Megamouse 54d078f379 VS: fix AdditionalIncludeDirectories 2021-03-22 20:19:36 +01:00
Eladash b0a0533a4f Memory string searcher improvements
* Search the entire PS3 4GB address space instead of a small area of memory which is meant mostly for PRX/SELF memory aka vm::main segment. This limitation rendered string searcher nearly useless.
* Implement hexadecimal byte-string, hexadecimal integer, float and double value search formats.
* Multi-thread searching.
* Optimize searching algorithm vastly.
* Fix crash on empty string, report an error.
* Implement case-insensitive string search.
2021-03-22 18:37:26 +03:00
Megamouse 399f20ae54 Qt: Fix debugger step shortcuts 2021-03-22 10:44:30 +01:00
Megamouse 554ba9d6a6 Qt: Allow package installation through cli
Adds --installpkg cli option
2021-03-21 18:44:11 +01:00
Megamouse 2c05e9719d cfg: simplify get_nodes 2021-03-20 20:54:26 +03:00
Megamouse cb9e7358d2 cfg: log unused config entries 2021-03-20 20:54:26 +03:00
Megamouse ae01e1d2c3 cfg: move get_name to _base 2021-03-20 20:54:26 +03:00
Zion Nimchuk 2766e5ca6f Fix some minor shellcheck errors in github upload and windows build scripts 2021-03-20 15:09:48 +03:00
Zion Nimchuk ca0c4f2cc0 Run shellcheck on all build scripts to ensure quality 2021-03-20 15:09:48 +03:00
Megamouse 70c98fff19 Make cli fw installation more foolproof 2021-03-20 11:57:04 +01:00
Romain TISSERAND b5698ee101 Add command-line option to install firmware 2021-03-20 11:57:04 +01:00
Nekotekina 379138af27 Fix NtSetTimerResolution in no-gui mode (Win32)
Add dummy persistent timer with 10ms period.
Replace QTimer invocation with Emu.CallAfter().
This way, headless and no-gui modes should be affected by it.
2021-03-19 22:26:48 +03:00
Eladash 1864419561 Fix SPU mapped memory page size 2021-03-19 22:25:08 +03:00
Megamouse c4a8bb26fb VS: move projects to 3rdParty 2021-03-19 19:52:51 +03:00
Eladash a9ddb1d3b3 GUI: Implement full extraction of PUP
* Implement full extraction of PS3UPDAT.PUP.
* Implement TAR extraction via GUI.
* Use VFS to implement missing PS3 filesystem characters escaping.
* Use VFS to error on illegal paths. (illegal paths such as malware pointing to "/../../..and so on../C:/Windows")
2021-03-19 17:51:09 +01:00
Eladash 314670a347 Improve firmware installation error handling
* Add new error types and descriptions.
* Do not crash on missing 0x100 and 0x300 PUP file entries.
* Report an error on missing PUP package inner files.
* Fix overflow in file-size against header check.
* Move all header errors to pup_object class.
* Move verbose error descriptions to pup_object class.
* Minor optimizations.
2021-03-19 17:51:09 +01:00
Eladash ad49c54531
Fix race in render_creator (#9939) 2021-03-18 12:09:42 +03:00
Megamouse 43ac33c2b4 cellSaveDataEnableOverlay 2021-03-18 11:11:34 +03:00
Nekotekina 83fdcff178 Add commits 2021-03-17 23:53:31 +03:00
Nekotekina ee4009e123 Add supporters 2021-03-17 23:53:10 +03:00
Nekotekina 2decf1ecda Rename and move g_tls_current_cpu_thread inside cpu_thread
Don't declare extern inside get_current_cpu_thread().
Possible workaround for gcc-11.
2021-03-17 23:49:48 +03:00
Eladash 1d7fbd6a9a Fix sceNpTrophyGet(Trophy/Game)Icon 2021-03-17 22:31:57 +03:00
Eladash 1213708b72
Replace some log errors (#9980) 2021-03-17 17:19:35 +03:00
Megamouse 6cc5428d5e Qt: make some scrollbars thicker.
How are we supposed to grab them if they are so tiny?
2021-03-17 08:49:03 +01:00
Nekotekina 8fcebebae3 Implement lv2_mp_flag::cache
Identify /dev_hdd1 without unsafe path comparison.
2021-03-16 19:37:03 +03:00
Nekotekina f801dc6558 Save all 8 syscall_args 2021-03-16 19:33:37 +03:00
Eladash 8716ac554f Fix sys_raw_spu_destroy 2021-03-16 19:31:52 +03:00
Eladash d7b4753007 Make gamedata installation atomic as real PS3 2021-03-16 19:31:52 +03:00
Eladash a9b0d25c01
PPU Debugger: Fixup for syscall arguments (#9932) 2021-03-16 16:20:45 +03:00
Eladash 4c7fc8a70a
Improve fs::container_stream::write (#9976)
Add overflow condition.
2021-03-16 14:03:58 +03:00
Megamouse f8e9ea45ba Qt: add bright arrows for tree views 2021-03-15 22:41:00 +01:00
Nekotekina 1b6c14be8d SPIRV: disable error on warnings 2021-03-15 22:31:05 +03:00
Eladash a5bb925a3d Thread.cpp: Add missing newline 2021-03-15 20:41:33 +03:00
shockdude 6a14849381
sys_usbd: DJ Hero Turntable Emulation (#9965)
* Initial Turntable Emulation
2021-03-14 23:48:50 +03:00
Megamouse f93dbb8f49 Qt: dont scale small icons, deal with size instead 2021-03-14 19:56:11 +01:00
Megamouse f83b19cecf Qt: Fix wide game icons (weird copy pasta error) 2021-03-14 19:56:11 +01:00
Megamouse 1e09be19f5 Qt: Fix PaintedPixmap crash if icon is null 2021-03-14 19:56:11 +01:00
Megamouse c1de0bc28c workaround for clang compilation 2021-03-14 16:46:16 +01:00
Megamouse 1a5a0f5eca overlays: Fix aspect ratio of custom bakground images 2021-03-14 16:46:16 +01:00
Megamouse 8b0cd60be9 Qt: Fix game icon canvas size 2021-03-14 16:46:16 +01:00
Megamouse 2239a52e9b Qt: Import Custom Shader Loading Icons
and refactor icon import
2021-03-14 16:46:16 +01:00
kd-11 c9214ce6c0 vk: Disable async streaming by default 2021-03-14 16:39:55 +03:00
Nekotekina bb9b5e6aff Enable -Wtautological-compare 2021-03-13 23:01:37 +03:00
Nekotekina 0327ecc5c1 Enable -Wduplicated-cond (GCC) 2021-03-13 18:46:59 +03:00
Nekotekina ccdea1c4ad Enable -Wduplicated-branches (GCC) 2021-03-13 18:03:08 +03:00
Nekotekina c22e1e71f0 Continue fixing strict aliasing warnings 2021-03-13 18:02:37 +03:00
Eladash aff63028d4 SCE Decryption: Detect illegal RAP files 2021-03-13 11:51:40 +01:00
Eladash 7a7b168af3 GUI: Atomic RAP file installation 2021-03-13 11:51:40 +01:00
Eladash bdf6a1c70e GUI: Handle all PUP files in drag-and-drop 2021-03-13 11:51:40 +01:00
Eladash d1e07434a1 GUI: Handle uppercase RAP file extension 2021-03-13 11:51:40 +01:00
Megamouse c0d823f1d8 Qt: Fix square custom icons 2021-03-13 10:19:39 +01:00
Megamouse 8d0947f07f Qt: Option for Custom Icons 2021-03-13 10:19:39 +01:00
Megamouse 161d8ef47a Qt: Center Custom Icons 2021-03-13 10:19:39 +01:00
Megamouse 8c139206d7 Qt: Import Custom Icons 2021-03-13 10:19:39 +01:00
jtscott e3a7fddddf Resolve minor typo 'verion' 2021-03-13 01:16:01 +01:00
Eladash 923ba6f3bb Fix sysutil_send_system_cmd at Emu.Stop() 2021-03-12 21:01:48 +03:00
Eladash 729cd9284e debugger: Fix PPU threads pausing 2021-03-12 13:01:12 +03:00
kd-11 140c5bfc3e Add asynchronous streaming to the GUI and auto-enable it
- Hopefully not many users are on very weak GPUs
2021-03-12 02:27:05 +03:00
kd-11 a5f0faefc3 vk: Check for uninitialized target before going into any scaling op 2021-03-12 02:27:05 +03:00
kd-11 608f8de347 vk: Solve GPU hang/reset due to waiting on events that are never signaled
- TODO: Some refactoring may be required to pair the primary and secondary CB and avoid such blunders
2021-03-12 02:27:05 +03:00
kd-11 3e8a00d264 Basic fixups 2021-03-12 02:27:05 +03:00
kd-11 7d5a72c9e0 vk: Add options to system configuration 2021-03-12 02:27:05 +03:00
kd-11 48d0f80a86 vk: Add an alternate async queue scheduler
- This version violates spec but does not rely on CPU threads to keep the GPU from hanging. It's ironically much safer to use.
2021-03-12 02:27:05 +03:00
kd-11 bd6c187fcd vk: Tune event polling for higher throughput 2021-03-12 02:27:05 +03:00
kd-11 585837a3f0 vk: Support new fxo usage pattern 2021-03-12 02:27:05 +03:00
kd-11 b4e821c28d vk: Flip on async texture uploads 2021-03-12 02:27:05 +03:00
kd-11 589ac1c5d4 vk: Optimization - avoid touching the mutex at all if possible even when there is no contention 2021-03-12 02:27:05 +03:00
kd-11 c9e8b87c60 vk: Properly clean up async scheduler 2021-03-12 02:27:05 +03:00
kd-11 41f5158247 vk: Sync main pipe with async jobs if any 2021-03-12 02:27:05 +03:00
kd-11 d2993474fb vk: Lazy-initialize image resource on first use when owned by a separate queue 2021-03-12 02:27:05 +03:00
kd-11 77e312fb99 vk: Add the async task scheduler 2021-03-12 02:27:05 +03:00
Eladash cd6ef2958b Add information about unnamed/main threads in logs and fatal dialog
* If thread is unnamed, keep log name empty for main thread, otherwise print thread id. In fatal dialog, main thread can be handled differently (with special remark that it's main thread).
* Always print thread id in fatal dialog, regardless of thread type.

Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-03-11 22:55:06 +03:00
Megamouse 40f3adc45f Overlays: Implement individual pulse 2021-03-11 20:48:12 +01:00
Eladash cfa2d4aaa8 Loader: Log FNID of imported/exported functions 2021-03-11 15:23:58 +03:00
arabek bdefeaf6f9 Use maybe_unused macro for chip var
Var chip is only used in the WIN32 ifdef block - use maybe_unused to silence the compiler warning about unused variable.
2021-03-11 14:33:04 +03:00
Eladash 0958c10f88
Improve TAR loader (#9908)
* Fix header magic test.
* Rewrite code to not use so many filesystem calls.
* Add many more error checks.
* Add missing NUL filetype.
* octalToDecimal(header.size) has been fixed to use fixed 12 characters range instead of endless string.
* Add many optimizations.
* Fix possible signed overflows with int, use the unisgned u64 type instead which allows for greater files as well.
* Log errors.
2021-03-11 02:26:39 +03:00
Nekotekina 4adf412049 Fix std::bit_cast misuse 2021-03-10 16:11:30 +03:00
Nekotekina 03332c340d Implement utils::bless (pointer cast)
Tries to workaround strict aliasing troubles.
Don't confuse with std::bless which works differently.
2021-03-10 16:02:00 +03:00
Eladash 63ecb56b51 PPU interpreter hotfix 2021-03-10 13:41:13 +03:00
Megamouse cbd895a29c
Move code to cpp (#9938)
* GL: move GLOverlays code to cpp
* GL: move GLCompute code to cpp
* VK: move VKOverlays code to cpp
* VK: move VKCompute code to cpp
2021-03-10 00:58:08 +01:00
Nekotekina 9cbe77904d Revert changes in BufferUtils.cpp
Should fix #9933
2021-03-09 19:19:24 +03:00
Nekotekina a6350d5dd1 Fixup write_gather (Linux, BSD)
Split iovec into small portions (256 for now)
2021-03-09 15:54:04 +03:00
Nekotekina 19b5b47b26 Add -Wnull-dereference (commented out) 2021-03-09 15:54:04 +03:00
Eladash 52a0b38379
Workaround segfaults in Vulkan enumeration thread (#9935)
* Workaround segfaults in Vulkan enumeration thread
2021-03-09 13:50:58 +01:00
Nekotekina a4fdbf0a88 Enable -Wstrict-aliasing=1 (GCC)
Fixed partially.
2021-03-09 03:10:15 +03:00
Nekotekina 3990e2d3e6 Add -Wclobbered and -Wcast-function-type (no effect) 2021-03-09 03:10:15 +03:00
Nekotekina 53af2dbb3f Add/fix warning -Wignored-qualifiers (GCC/clang)
Fix simple_array::const_iterator as a part of it.
2021-03-09 03:09:50 +03:00
Nekotekina 5bdd1cf837 Remove some redundant code
Potential fix for future warnings.
2021-03-09 03:09:50 +03:00
dio-gh 5dfe3f414d fix colors for skyline (dark)
Fixes debugger colors in the dark Skyline stylesheet.
2021-03-09 01:07:32 +01:00
dio-gh 324fa10918 fix colors for skyline (bright)
Fixes debugger colors and the notice-level log message colors, the latter to the gray that is noted in the color palette.
2021-03-09 01:07:32 +01:00
dio-gh aad06faf1f fix debugger instr coloring
Fixes the missing color highlights from the currently executing instruction and the breakpoints.
2021-03-09 01:07:32 +01:00
Megamouse 1a3c01154a make from_hdd0_game check lowercase 2021-03-08 22:58:19 +03:00
xddxd df338f0552 Move sys_crashdump to it's own file and make it a module itself 2021-03-08 22:57:35 +03:00
Malcolm Jestadt e5d0e035d0 SPU LLVM: Rearange FM instruction for better performance
- Doesn't eliminate any instructions, but allows for better out of order execution.
2021-03-08 15:48:36 +03:00
xddxd 6d91a9fe6f Possible workaround for mobile Kepler chips 2021-03-08 15:46:03 +03:00
Megamouse 935e398930 patch_manager: expand first search results 2021-03-08 12:05:00 +01:00
Eladash 2afc7cbaaa
GUI: Implement MSELF extraction tool (#9909)
* MSELF: fix overflow

* GUI: Implement MSELF extraction tool

* VS: fix mself files in vcxproj

* fix

* Update mself.cpp

* fixed
2021-03-07 17:59:37 +01:00
Megamouse 1b5cf118e7 Input/Qt: implement XInput battery level 2021-03-07 11:48:19 +01:00
Megamouse a3a4c0a906 overlays: don't count initial garbage values.
This might also shave off some microseconds.
2021-03-07 00:52:11 +01:00
Megamouse 3ae7debc17 Qt: Do not allow updates during emulation 2021-03-07 01:56:25 +03:00
Megamouse dab53f4e41 Cleanup Emu before the update reboot 2021-03-07 01:56:25 +03:00
Megamouse 9da7910fc9 Fix auto updates. Don't pass exe as arg0 to execl 2021-03-07 01:56:25 +03:00
Nekotekina 3609eb25c9 Implement thread_ctrl::is_main() 2021-03-06 23:10:31 +03:00
Nekotekina 55c75d2c87 Implement thread_ctrl::get_tid() 2021-03-06 23:10:31 +03:00
Nekotekina ded828dfc9 sysinfo.cpp: Implement utils::main_tid (main thread id)
Careful.
2021-03-06 23:10:31 +03:00
Nekotekina c69c70cf5f Another minor fix for fmt::split
Doesn't affect existing code.
If there are 2 or more separator, choose closest.
2021-03-06 19:30:09 +03:00
Nekotekina 7cd79714fa Minor fix for fmt::split with empty string
Doesn't affect existing code, I believe.
Return at least 1 empty string if is_skip_empty=false.
2021-03-06 19:26:41 +03:00
Nekotekina 87af905018 Enable -Wunused-parameter 2021-03-06 18:07:08 +03:00
Megamouse 7205a93751 add some log messages for debugging 2021-03-06 18:06:21 +03:00
GitArUs f8097a428c
Allow games to list all savedata (#9547)
* cellSaveData - allow games to list all savedata, not only those they own.

Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-03-06 16:01:04 +03:00
Eladash 228988ca2b Fix utils::get_firmware_version()
* Do not crash on invalid file contents.
* Do not crash on unexpected file.open() error.
2021-03-06 14:53:40 +03:00
Megamouse d2b0b019ec DualSense: Fix initial ingame LED update 2021-03-06 11:15:54 +01:00
Eladash a5d74c5e96 GUI: Improve missing firmware handling
* Install PS3UPDAT.PUP at the spot when booting games whenever firmware is missing. The option to boot games without firmware is still supported when all firmware SPRX are HLEd in firmware settings.
* Pop-up a confirmation dialog in firmware installation if firmware is already installed.
2021-03-06 10:34:49 +01:00
Megamouse 3e7e077fad DS3/DS4: fix battery LED update 2021-03-06 02:07:02 +01:00
Megamouse dbb03ae2d7 dualsense: implement lightbar pulse (low battery) 2021-03-06 02:07:02 +01:00
Megamouse 06d2c5357b dualsense: fix LED updates 2021-03-06 02:07:02 +01:00
Megamouse c8e7530e37 dualsense: get hardware and firmware version 2021-03-06 02:07:02 +01:00
Megamouse cdffaa1598 dualsense: implement battery level 2021-03-06 02:07:02 +01:00
Megamouse b836d2497d dualsense: minor cleanup 2021-03-06 02:07:02 +01:00
Megamouse bdd94f053c Qt: reset battery progress bar when not supported. 2021-03-06 02:07:02 +01:00
Megamouse f88c3ae417 Qt: fix settings_dialog layout. Add stretches. 2021-03-05 14:46:52 +03:00
Megamouse b09ac19e61 VS 16.9.0 compilation workaround 2021-03-05 14:46:52 +03:00
Timothy Redaelli 826dc7d5a6 Fix linking with system curl 2021-03-04 12:22:19 +03:00
Timothy Redaelli fa5a2b6a85 SPUThread.cpp: remove "__attribute__((always_inline))"
cmp_rdata and mov_rdata are using __attribute__((always_inline)),
without inline, that is not supported on current g++ (see RPCS3#1546).

Moreover __attribute__((always_inline)) is a noop if used without inline so
just remove it.

A proper fix is to move the 2 functions in an header file as static
(with FORCE_INLINE) so it can be correctly inlined by the compiler.
2021-03-04 12:17:27 +03:00
Nekotekina 8b8120cfb7 Add commits 2021-03-03 17:38:36 +03:00
Nekotekina e6a3b59229 endian.hpp: simplify be_t/le_t constructors 2021-03-03 17:37:51 +03:00
RipleyTom 0eb0b1e1c9 Add some GT6 devices to whitelist 2021-03-03 17:30:16 +03:00
kd-11 1becd2f788 vk: Remove redundant double barrier
- Luckily it was not too harmful in single queue submissions
2021-03-03 13:17:04 +03:00
Megamouse 7c0b93f815 perf overlay: Don't allow 0 or 1 datapoint count
Doesn't render anyway
2021-03-03 00:33:46 +01:00
Megamouse fa852c7dbe perf overlay: add missing graph vertex
And fix potential division by 0
2021-03-03 00:33:46 +01:00
Megamouse 73ca2119ed perf overlay: add datapoint settings to GUI 2021-03-03 00:33:46 +01:00
Megamouse 86dbb859b7 perf overlay: add datapoint count config settings 2021-03-03 00:33:46 +01:00
Megamouse e1e370999e perf overlays: fix dynamic font resize of graphs 2021-03-03 00:33:46 +01:00
Megamouse 038c708a0a perf overlays: add detail level none (hides FPS) 2021-03-03 00:33:46 +01:00
Nekotekina c71bc25090 PPU: remove artificial 0x20000000 barrier for debug stats
Change it to 0xE0000000 (SPU demarcation line)
2021-03-02 21:58:49 +03:00
Nekotekina 52fe86b56c fixed_typemap.hpp: make it a bit fool-proof
Require objects to be non-copyable (move is still allowed).
2021-03-02 21:58:49 +03:00
Eladash 004ebfdaee SPU debugger: Implement MFC journal
* Allow to dump up to 1820 commands with up 128 bytes of data each, using key D with the debugger.
2021-03-02 21:57:51 +03:00
Eladash d0edd44a69 Atomic trophy status updates 2021-03-02 19:19:27 +03:00
Nekotekina ea5e837bd6 fixed_typemap.hpp: return reference 2021-03-02 16:08:14 +03:00
Nekotekina bbf52f3cea named_thread: fix bugs in std::forward usage
Fix few misused threads and other bugs.
2021-03-02 16:08:14 +03:00
Nekotekina d788b12a8e fixed_typemap.hpp: reduce indirection
Backported some changes from auto_typemap.hpp
Implemented methods init(), reset(), clear()
Disabled recreation support.
2021-03-02 16:08:14 +03:00
Nekotekina 8a9320c4ef auto_typemap.hpp: reduce indirection
Implement is_init() method.
Implement optional Size template arg for further optimization.
2021-03-02 16:08:14 +03:00
Nekotekina 5cc9bd7702 typeindices.hpp: upgrade with size and align info
This allows contiguous allocation (as in an aggregate).
2021-03-02 16:08:14 +03:00
Nekotekina aa7e2376ec shared_ptr.hpp: minor fixup for arrays 2021-03-02 16:08:14 +03:00
Eladash ff211a9508 LLVM: Do not crash on failure to create cache file 2021-03-02 16:07:51 +03:00
Megamouse 930895a218 DS3: fix LED battery status 2021-03-02 01:29:28 +01:00
Megamouse 3452e18da1 DS3: fix linux output report 2021-03-02 00:45:42 +01:00
Megamouse b5d4b5a21c DS3: fix regression: pad data is cleared even if there is no new data 2021-03-01 14:37:49 +01:00
Megamouse 2dc798d539 DS3: fix battery_level aquisition 2021-03-01 14:37:49 +01:00
Megamouse 805d52987f Qt/Input: set player LED in pad settings 2021-03-01 14:37:49 +01:00
Megamouse c2467b7b38 ds3: add led battery indicators (Linux only atm)
needs testing. maybe doesn't work
2021-03-01 14:37:49 +01:00
Megamouse 22b8cfd0ba input: add some sanity checks 2021-03-01 14:37:49 +01:00
Megamouse 10a55f16cc DS3: implement player LEDs 2021-03-01 14:37:49 +01:00
Ani 8e4451d1ab
rpcs3_version: Bump to 0.0.15 (#9866) 2021-02-28 23:32:23 +00:00
Megamouse 0b5c6350ae
cellScreenshot: fix overlay scaling (#9867)
* cellScreenshot: fix overlay scaling
2021-02-28 23:00:49 +00:00
Eladash 48cd56acc2
Report deadlocked thread names in failures to stop emulation (#9865)
* Report deadlocked thread names in failures to stop emulation

Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-03-01 01:06:48 +03:00
Nekotekina 71e16bfac3 shared_ptr.hpp: minor fixup 2021-03-01 00:28:28 +03:00
Nekotekina b7c579adf9 Tentative fix for -Wattributes
These warnings enabled conditionally for GCC 10.1+.
2021-03-01 00:22:32 +03:00
Eladash 461fa6a88a
Firmware installation bugfixes (#9855)
* Fix race condition in PUP installation abortion.
* Fix freezes of emulator in case the PUP installation failed due to filesystem errors.
* Use fs::create_path as opposed to fs::create_dir as it is can create upper directories in case they are missing and is better in error handling.
* Report TAR errors on failure to create directories.
* Fix pup_object constructor to not crash on invalid PUP file header. (report an error)
* Fix pup_object::validate_hashes to not crash on invalid PUP file entries. (report an error)
* Do not call Qt functions inside a named_thread because it is wrong.
2021-02-28 22:59:27 +03:00
Florin9doi dfee46604a Buzz settings 2021-02-28 22:36:47 +03:00
Megamouse a7c9827ad4
Improve cellScreenshot (#9851)
* Fix screenshot logging

* Update libpng to 1.6.37

* cellScreenshot: Write text chunks
* cellScreenshot: add overlay image
* screenshot_manager: add /dev_hdd0/photo/

* read_png_file: use deleter instead of manual close

* cellScreenshot: use Qt for overlays
* cellScreenshot: don't apply overlay to regular img
* screenshot_manager: add mount hack for VFS
* cellScreenshot: escape the whole path
2021-02-28 22:05:04 +03:00
Nekotekina f580bee32c Rewrite cellNetCtlNetStartDialogLoadAsync hack 2021-02-28 20:20:17 +03:00
Nekotekina de9d859f4a named_thread: implement task queue
atomic_ptr: implement push_head()

thread_ctrl::state() triggers task queue execution.
2021-02-28 20:20:17 +03:00
Nekotekina 3aaa0172d5 named_thread: implement "default" event loop
Fixup "sleepy" thread at startup on Windows.
Permit threads which lack operator()() overload.
2021-02-28 20:16:13 +03:00
Nekotekina 29e7eda887 named_thread: rewrite result_storage
Use SFINAE as permitted by std::invoke_result_t<>
2021-02-28 20:16:13 +03:00
Megamouse 7cb32a3680 Qt: set parent for QThread
This may or may not have caused a leak
2021-02-28 18:48:34 +03:00
Megamouse a4d4ab1df9 remove unused variable 2021-02-28 18:48:34 +03:00
kd-11 4bef176e9b vk: Fix inadvertent self-assign 2021-02-28 18:00:20 +03:00
kd-11 d2de8a87bf vk: Explicit initialization of command pool queue family 2021-02-26 15:08:14 +03:00
kd-11 12cad7c393 vk: Add per-queue-family scratch resources and double buffer them 2021-02-26 15:08:14 +03:00
kd-11 be1238cc95 vk: Add support for queue family migration and refactor some texture upload code 2021-02-26 15:08:14 +03:00
RipleyTom 67378c7dea Add CELL_NET_CTL_INFO_DHCP_HOSTNAME impl 2021-02-26 11:58:42 +03:00
Eladash c13039396c
Fix stop count incremention in Emu.Stop (#9843)
Until emulation is completely stopped, further CallAfter callbacks may be issued with incorrect stop count memorized.
2021-02-25 14:37:31 +03:00
Megamouse e940632d93 Fix Nan in cpu_stats::get_usage
And apply same logic to linux and windows
2021-02-25 13:08:27 +03:00
Megamouse 6db25aa7fa overlays: Fix cpu usage in low detail mode 2021-02-25 13:08:27 +03:00
Eladash 0012f39384 Fix TTY handling of control characters 2021-02-24 16:42:39 +03:00
kd-11 0e7e5b59ae vk: Handle old GPUs without proper async queues 2021-02-23 23:22:41 +03:00
kd-11 d459da1378 Formatting fixes only
- Mostly remove camelcase usage in old code.
- Properly annotate vulkan API imports with _vk prefix to make it clear they are not regular variables.
2021-02-23 23:22:41 +03:00
Nekotekina 3063369322 vk::render_device::create: try to remove failing assertion 2021-02-23 19:46:37 +03:00
Nekotekina a90ad62fc0 Remove garbage SPUW perf report 2021-02-23 18:24:50 +03:00
Nekotekina cd01a1eb09 Move CPUStats.h -> util/cpu_stats.cpp 2021-02-23 18:24:50 +03:00
Nekotekina 090a769bf6 Implement fs::sync (Linux/POSIX) 2021-02-23 18:24:50 +03:00
Nekotekina 014846cf31 cellSaveData: fix minor issues 2021-02-23 18:24:50 +03:00
Megamouse b83cb2dbf5
product_info: add Harmonix Pro-Drum Kit (#9822)
Co-authored-by: DrGeelfood <79338929+DrGeelfood@users.noreply.github.com>
2021-02-23 18:23:53 +03:00
Eladash 112b7f6571 Fix Emulation::CallAfter
Most CallAfter usages were extremely wrong when ordered after Emu.Stop(). could result in anywhere from emulation stopping hangs to even segfaults.
track_emu_state = true is now the default, I haven't found cases which need need it disabled.
2021-02-23 17:55:36 +03:00
Eladash 68a878264c Minor GUI fix for PPU interpreter at "precompilation" 2021-02-23 17:35:45 +03:00
Megamouse a771f168eb overlays: fix perf overlay switching detail levels
The body was lagging behind the text. This was fixed by calling an updated version of init() on settings change.
This introduced spikes in the frametime graph, so the data had to become members and m_force_update was adjusted to not interfere with data aquisition.
2021-02-23 13:27:54 +03:00
Megamouse 79b5b79de1 overlays: fix initial size of perf_overlay body
You could see that it was not properly adjusted in the first frame in high detail mode.
2021-02-23 13:27:54 +03:00
Megamouse 7cc8380330 overlays: fix perf_metrics_overlay division by 0 2021-02-23 13:27:54 +03:00
Megamouse e91df31f8c overlays: Fix perf_metrics_overlay visibility
Also change auto type to compiled_resource in order to silence a warning about accidental copy by value
2021-02-23 13:27:54 +03:00
Megamouse 663b2c9c5e overlays: Fix frametime graph spikes
The frametime_timer was restarted at the end of the update method, instead of immediately after reading its value.
This means that the frametime was lower than expected when an expensive task was executed in-between.
2021-02-23 13:27:54 +03:00
RipleyTom 801467e565 Fix rpcn registration 2021-02-23 13:17:49 +03:00
Eladash 447d2b6f93 Atomic RSX capture writes 2021-02-23 11:29:23 +03:00
Eladash 9ccf39b27f Atomic SPU LS capture writes 2021-02-23 11:29:23 +03:00
Eladash d4af8dd89a Fix atomicity of savedata/trophy data writes 2021-02-23 11:29:23 +03:00
Eladash 932f31e37b Atomic PARAM.SFO writes 2021-02-23 11:29:23 +03:00
Megamouse 0878db4e17 remove unused variable 2021-02-23 05:03:38 +01:00
Megamouse 037586d7bb fix no-gui crash if no firmware was installed
It's a bit mysterious, but the confirmation box doesn't like being called in this mode.
So let's just return false.
2021-02-23 05:03:38 +01:00
kd-11 cb7cf40b5e vk: Move queue family management from swapchain to logical device 2021-02-23 00:04:53 +03:00
kd-11 3632412c48 vk/dma: Simplify map_dma interface 2021-02-23 00:04:53 +03:00
Nekotekina 4b858648e5 Add supporters 2021-02-22 19:37:42 +03:00
Nekotekina 85bebebb36 Add commits 2021-02-22 19:37:32 +03:00
Nekotekina 980be9e0e8 JIT.cpp: fix overcommit bug (should have been Linux-specific)
Closes #9820

Co-authored-by: Eladash <elad3356p@gmail.com>
2021-02-22 13:35:01 +03:00
Nekotekina ad1027455a Fix minor inconsistency in utils::memory_reset (Linux) 2021-02-22 13:00:01 +03:00
Nekotekina 9dc238187f Simplify utils::align() a bit
std::is_unsigned implies std::is_integral I believe.
2021-02-22 13:00:01 +03:00
Eladash 73d45f3bf0 Remove vm::cleanup_unlock 2021-02-22 12:47:45 +03:00
Eladash 96400234a8 Remove cpu_thread destructor 2021-02-22 12:47:45 +03:00
Megamouse 2e5f321583 evdev: fix build 2021-02-22 10:45:40 +01:00
Megamouse 5a9b29b73a hid: log more info when adding a device
And minor format changes
2021-02-22 10:45:40 +01:00
Megamouse 1b2260132b only call hid_exit when all hid_handlers are done 2021-02-22 10:45:40 +01:00
Megamouse 1479468730 Input: fix build 2021-02-22 10:45:40 +01:00
Megamouse f0b7afd7cc cellPad: minor optimization 2021-02-22 10:45:40 +01:00
Megamouse 870d26f9d8 Input: replace a bunch of static_pointer_cast 2021-02-22 10:45:40 +01:00
Megamouse f6d465667a Input: unify some more code 2021-02-22 10:45:40 +01:00
Megamouse aaae30cb84 DS3: inherit from hid_pad_handler 2021-02-22 10:45:40 +01:00
Megamouse fbb9396813 DualSense: inherit from hid_pad_handler 2021-02-22 10:45:40 +01:00
Megamouse b9a4abce0e DS4: inherit from hid_pad_handler 2021-02-22 10:45:40 +01:00
Megamouse d0cc5c0fc7 DS4: enumerate devices periodically 2021-02-22 10:45:40 +01:00
kd-11 b7c2bfbcde vk: Fix cyclic read-write in dma_block::load/flush
Some DMA block entries are stubs whose parents are DMA_block_EXT
entries.
Performing load() in this case becomes a memcpy(address,
same_address_again, length) which wastes performance and introduces
bugs.
2021-02-22 01:13:31 +03:00
RipleyTom 8be2a55ccc Add mutex lock for NP changes 2021-02-21 18:04:55 +03:00
RipleyTom 81270f3142 Remove now useless code from sys_bnet_connect 2021-02-21 18:04:55 +03:00
Eladash eb0d006168
Fix most of "[x] thread is too sleepy" at Emu.Stop() (#9813)
* Fixes some thread sleep/wait calls
2021-02-21 16:43:02 +03:00
Oschowa a47bda026b Audio/AL: Request our default sampling rate (48kHz) from AL when creating the
context.
Otherwise AL might downsample and output in 44.1kHz unnecessarily, which
happens at least on my system. Also tested on an audio device that
doesn't support 48kHz to makes sure that still works.
2021-02-20 14:31:38 +03:00
RipleyTom 5129d0da45 check alcGetString return pointers 2021-02-20 07:39:56 +01:00
Eladash b86ec2ffcf Fix potential overflows in utils::aligned_div, utils::rounded_div 2021-02-19 16:10:03 +03:00
Eladash 20eb4352fb
debugger: Fix single stepping (#9793) 2021-02-19 14:53:09 +03:00
Nekotekina e76d8eb046 Fix -Wstring-aliasing (gcc) 2021-02-18 19:38:22 +03:00
Nekotekina c8fefc4434 Fix -Wpessimizing-move (Clang) 2021-02-18 14:38:56 +03:00
Nekotekina 2c18d67769 Fix -Wsometimed-uninitialized (Clang) 2021-02-18 14:15:52 +03:00
Nekotekina 428771f1d7 Fix -Wself-assign (clang) 2021-02-18 14:07:22 +03:00
Nekotekina 038148bf06 Fix almost all GCC warnings 2021-02-17 22:59:04 +03:00
RipleyTom 6786734d95 Fix mic device default in config 2021-02-17 18:15:58 +03:00
Nekotekina 1446254a03 Add error on missing 'override'
For consistency.
2021-02-15 20:21:30 +03:00
Nekotekina 3bcd76bd4e Fix regression (incorrectly removed specialization)
Changed CRLF->LF in VKPipelineCompiler.h
2021-02-15 17:05:51 +03:00
Nekotekina 0bcece4585 Make -Woverloaded-virtual an error
Had to devirtualize some functions.
2021-02-15 15:50:05 +03:00
Nekotekina 035ab590ec Reset -ftemplate-depth to normal
It became obsolete.
2021-02-15 14:40:29 +03:00
Nekotekina 8e6e57de86 Enable -Wunused-function warning 2021-02-15 14:39:53 +03:00
Eladash 4c1026436f Log "Missing Firmware" if firmware is missing 2021-02-15 09:50:52 +01:00
kd-11 9f97bab717 vk: Fixup and refactor for exclusive fullscreen stuff 2021-02-15 10:27:36 +03:00
13xforever 76518d4c59 add a hidden option to prevent switching to exclusive full screen mode
this is helpful for people streaming RPCS3, or to prevent disabling HDR mode in Windows
2021-02-14 22:01:33 +03:00
kd-11 eba7d3b172 rsx: Add duplicate section detection when there are too many sections in the surface cache
- Check for useless sections.
  Helps in games that create a bunch of sections randomly for one-time use
2021-02-14 20:42:34 +03:00
kd-11 b8311caa6b vk: Silence some compiler warnings 2021-02-14 20:42:34 +03:00
Eladash 5b044a93c1
Fix vm::falloc() for misaligned args (#9764)
Force addr/size alignment.
2021-02-14 13:19:14 +03:00
Eladash f009d36811 Update log messages of PPU/SPU hashes and patches applied 2021-02-14 09:35:42 +01:00
Eladash f43260bd58
Atomic waiting refactoring (#9208)
* Use atomic waitables instead instead of global thread wait as often as possible.
* Add ::is_stopped() and and ::is_paued() which can be used in atomic loops and with atomic wait. (constexpr cpu flags test functions)
* Fix notification bug of sys_spu_thread_group_exit/terminate. (old bug, enhanced by #9117)
* Function time statistics at Emu.Stop() restored. (instead of current "X syscall failed with 0x00000000 : 0")
2021-02-13 17:50:07 +03:00
Eladash cf384795d2 debugger: Improve PPU string constraints 2021-02-13 16:00:26 +03:00
Eladash 423cc1685c PPU LLVM: Reduce PRX/OVL compilation memory usage a little 2021-02-13 13:05:41 +03:00
Nekotekina 0a23a5ef50 Rewrite fs::get_parent_dir
Don't analyse full path if possible.
2021-02-12 21:43:30 +03:00
Nekotekina 629d608d4f Patch engine: add bd32, bd64 and utf8 patch types
bd32 is the same as be32 with a hint it's not executable.
utf8 is NOT null-terminated string, null can be added manually.
2021-02-12 21:43:30 +03:00
Nekotekina 00be247913 Add commits to the list 2021-02-12 21:43:30 +03:00
Eladash 5ed0cc293d Fix PS3 process exit/exitspawn 2021-02-12 19:39:47 +03:00
Eladash 5401cb7392 kernel explorer: Display all PRX/OVL segments 2021-02-12 15:27:59 +03:00
Eladash e26ae9899c Reimplement/fix PRX patches 2021-02-12 15:27:59 +03:00
Alex Saveau 48296c2ba6
Fixup for multi-thread shader compilation (loading stage) (#9762)
* Multi-thread shader compilation

This offers a huge improvement in startup performance. With around 13,000 shaders we go from ~1:30 to under 10 seconds. It looks like this was the original intention of the author given the outer scope recompile variable.

Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
2021-02-12 14:39:35 +03:00
Ani b858fceb4f vk: Support incomplete lavapipe
Disable features still unimplemented by lavapipe when using it:
- samplerAnisotropy
- shaderStorageBufferArrayDynamicIndexing
- wideLines
as of mesa 21.1.0-dev (aea36ee05e9, 2020-02-10)
2021-02-11 14:49:37 +03:00
kd-11 195fb1cf66 rsx: Improve texture cache invalidate
- Bunch of improvements
- Properly signal renderer to rebind textures!
- TODO: Range checks, should be pretty easy
2021-02-10 11:37:14 +03:00
kd-11 52acc23ecf rsx: Fix protection bug 2021-02-10 11:37:14 +03:00
kd-11 0a34fc4bcd vk: Offload garbage collection to offloader thread 2021-02-10 11:37:14 +03:00
kd-11 bec91aab7b rsx: Relax inheritance checks a bit
- It is not a fatal error for a texture to be defined where a framebuffer once existed.
2021-02-10 11:37:14 +03:00
kd-11 5a049d41fd gpu-open/vma: Optimize CheckAllocation method
- Avoids doing useless work. The scanning algorithm is painfully slow on hardware with alignment requirement > 1
- Upto 50ms saved for ~600 allocations when many small allocations exist
2021-02-10 11:37:14 +03:00
kd-11 6f4dbf4fcd vk/vma: Always use aligned requests
- Performance optimization when combined with vma optimizations added by me
2021-02-10 11:37:14 +03:00
kd-11 bf66c36ba4 rsx/texture_cache: Add support for reusing dirty images if possible
- Avoids a silly situation where a texture is discarded and an identical copy created immediately afterward.
  Unfortunately allocating memory blocks is really slow so avoid it as much as possible.
2021-02-10 11:37:14 +03:00
kd-11 0c10f47e85 rsx: Lower cache block length to 256 pages
- Drastically lowers time wasted iterating blocks when many small objects
  are present
2021-02-10 11:37:14 +03:00
kd-11 1bad9a939f rsx: Refactor texture cache utils
- Also lays groundwork for optional hashed sections
2021-02-10 11:37:14 +03:00
Megamouse 8d6504d6e3 GUI: initial log viewer 2021-02-09 22:56:28 +01:00
Ivan 04c187deb5 Revert "Replace GetEmuDir() with GetExeDir() in handle_rpcs3"
This reverts commit f9eb6a31bd.
2021-02-09 22:24:09 +03:00
Megamouse bc938ce630 dualsense: implement player LEDs 2021-02-09 19:21:37 +01:00
Megamouse e5f95a450d dualsense: update description 2021-02-09 19:21:37 +01:00
Megamouse b31d38eef7 LED settings: set modal and add has_battery check 2021-02-09 19:21:37 +01:00
Megamouse db402cb8af dualsense: add player LED support 2021-02-09 19:21:37 +01:00
Megamouse 1af6550db7 dualsense: add lightbar support 2021-02-09 19:21:37 +01:00
Megamouse 7795f5207f dualsense: fix switched motors
The left one seems to be the large motor
2021-02-09 19:21:37 +01:00
Megamouse a9b8a50c31 dualsense: add output report structs based on linux driver 2021-02-09 19:21:37 +01:00
Megamouse a9418fa1e7 dualsense: implement SetPadData for rumble in GUI 2021-02-09 19:21:37 +01:00
Megamouse 08f48d27e8 Input: minor simplification
This might prevent some copy paste error in the future
2021-02-09 19:21:37 +01:00
Megamouse 25a66da4ca Input: rename some functions 2021-02-09 19:21:37 +01:00
Megamouse ff61bc9e7c dualsense: add mic button 2021-02-09 19:21:37 +01:00
Megamouse 3e8f4ba018 dualsense: add gyro support 2021-02-09 19:21:37 +01:00
Jordy Vieira f9eb6a31bd Replace GetEmuDir() with GetExeDir() in handle_rpcs3 2021-02-09 20:06:26 +03:00
Nekotekina 4f8cac731b Fix SAFE_BUFFERS attribute for GCC 2021-02-09 12:33:50 +03:00
Nekotekina 3e496f6625 Add -fstack-protector (Non-MSVC) 2021-02-09 12:06:17 +03:00
kd-11 2d62f9c4c5
vk: Improve spec compliance (#9748)
- Always comply when running under strict mode
- Only allow hacky transport for known-to-work GPUs
2021-02-08 22:11:01 +00:00
Eladash 78811b8816 GUI: Always remove manually added fonts in OnChangeStyleSheetRequest() 2021-02-08 21:38:53 +01:00
Eladash e38cd5149a Fix firmware updating/reinstallation 2021-02-08 21:38:53 +01:00
Megamouse dc2a1e270a Qt: Repaint log on stylesheet change 2021-02-08 13:24:07 +03:00
Megamouse 44ab50553d Qt: Replace relative paths in stylesheets instead of changing the working directory 2021-02-07 20:07:58 +03:00
Megamouse 7c683c368d Qt: Fix weird naming issue on linux 2021-02-07 20:07:58 +03:00
Megamouse 62ca7a9b60 Qt: Simplify stylesheet logic 2021-02-07 20:07:58 +03:00
Nekotekina 632e36ab44 Qt: fix stylesheets on various platforms
Replace relative paths to resources.
Paths should start from GuiConfigs.
2021-02-07 14:09:50 +03:00
Nekotekina 0057c89eaa PPU Analyser: follow fallbacks in some cases
Fallback is an "invisible" branch to the next instruction.
This may be necessary for certain cases when patches are used.
2021-02-07 11:02:45 +03:00
Nekotekina 9e9a55df46 PPU LLVM: compile instructions from patches
For now, only as a single instruction at a time.
2021-02-07 11:02:31 +03:00
Nekotekina 9463238490 PPU Analyser: minor fixups for end pointer
Add more sanity checks for sections.
Remove some redundancy.
2021-02-07 11:02:31 +03:00
Nekotekina b7ff2ecffb Patch system: export some info for future use
For now it's just a list of addresses.
For now it's not used (just a stub).
2021-02-07 11:02:31 +03:00
Eladash fad89f1c3b
Fix tiny race in PPU breakpoints (#9731)
If the PPU has just being paused by the debugger, before it entered the breakpoint handler, the PPU would continue onto the next instruction skipping the breakpoint but then being paused on it instead.
2021-02-07 00:25:40 +03:00
Nekotekina 5063eefa96 Fixup for downloader 2021-02-06 15:21:00 +03:00
Nekotekina 1b34fa26ac Update commits.lst (example) 2021-02-06 12:57:14 +03:00
Nekotekina 25827c12a3 Make out of source builds get copy of /GuiConfigs/, /git/, etc.
Reduce quality of kot-bg.jpg.
2021-02-06 12:55:14 +03:00
Nekotekina cb32fd15ee Add supporters 2021-02-06 00:37:53 +03:00
Nekotekina d6dcab443d Updater: add minor sanity check 2021-02-06 00:37:53 +03:00
Nekotekina c32fec774f Create mini-cache for commits
Located in bin/git/commits.lst;
Created with GitHub API with --get-commit-db key.
Can be lazily appended with the same key.
2021-02-06 00:37:53 +03:00
kd-11 ddac4686a7 rsx: Clear vertex output register if nothing is written to it
- On NVIDIA GPUs, gl_Position is not initialized. Always clear to 0 to avoid on-screen crap
2021-02-05 22:22:07 +03:00
Megamouse 2865865382 Don't use std::exit during Qt initialization 2021-02-05 17:32:48 +01:00
Eladash 7ce835e878
Support logger stopping at std::exit (#9722) 2021-02-05 17:07:17 +03:00
Megamouse 7e0fdbbe99 Fix rpcs3.vcxproj 2021-02-04 23:11:05 +01:00
Megamouse fd1f2ca1c6 Rename some variables to snake_case 2021-02-04 23:11:05 +01:00
Nekotekina a6a92f7b6b Qt: remove Q_OBJECT for mouse/kb handlers
Had to move QObject in parent list for g_fxo changes.
2021-02-04 23:11:05 +01:00
Eladash 4f85f151fd SPU: Always signal the debugger about termination 2021-02-03 15:05:38 +03:00
Eladash 478ae0715e Tiny fix for zombie PPU threads 2021-02-03 15:05:38 +03:00
Megamouse 714eb6dcc5 Disable LimitCacheSize option in custom configs
It doesn't make sense on a per game basis and is used before loading them anyway
2021-02-02 18:37:18 +01:00
Megamouse 89942ed92a optimize add_only boot process
No need for hardcore stuff while adding games to the list
2021-02-02 18:37:18 +01:00
Megamouse 6ed9251f44 Remove tooltip event filter from gamelist
Fixes a weird issue where tooltips for the wrong game would popup.
I don't know why the event filter was needed.
Maybe the tooltips didn't work otherwise back then or it was just some copy paste from google.
2021-02-02 15:46:42 +01:00
Megamouse 2c32a721fc Allow BootGame with indirect paths 2021-02-02 13:21:26 +01:00
Nekotekina 08aaae7999 PPU LLVM: workaround patch handling
Try to address #9704
2021-02-02 10:33:13 +03:00
Nekotekina 78bad361ab Fix fs::unread (Linux)
Detach from fs::lock
Handle existing file case (unlink it).
2021-02-02 01:05:53 +03:00
Eladash 2005c89baa memory viewer: Implement RSX mode
* Set the ground for RSX modes of register editor and insttruction editor, do not use shared ptrs directly.
* Make register editor and instruction editor modeless to allow to copypaste values from thread context etc in the background.
2021-02-02 01:05:36 +03:00
Megamouse 8c6aa9db31 Print report_fatal_error to cmd
useful if used like:
start /w ./rpsc3 --headless <path>
2021-02-01 21:44:23 +01:00
Nekotekina 58eef983e2 PPU Analyser: fix constraints for all elfs.
Added for main executable and OVLs.
Forgot to use it not just for SPRX.
2021-02-01 19:14:24 +03:00
Nekotekina 390b192f0a TSX: workaround for check_state freezes 2021-02-01 19:14:24 +03:00
Nekotekina 7b40859eff Remove unused header 2021-02-01 19:14:01 +03:00
Nekotekina d0126f0fa0 Fix freezes in HLE Vdec and SPU LLVM precompilation.
Freezes could accidentally occur on close or ingame.
Deprecate range-for loop on lf_queue.
This is a part of PR #9208

Co-authored-by: Eladash <elad3356p@gmail.com>
2021-02-01 19:14:01 +03:00
Nekotekina 0c034ad7de PPU LLVM: upgrade to GHC call conv
Get rid of some global variables.
Implement ppu_escape (unused yet).
Bump PPU cache version to v4.
2021-02-01 11:30:50 +03:00
Nekotekina aeeceb7d0b Minor fixups 2021-02-01 11:30:50 +03:00
Nekotekina d5f16ce272 PPU Analyser: better constraints for SPRX 2021-02-01 11:30:50 +03:00
Nekotekina c89362f6a2 PPU LLVM: don't use module name as PRX indicator 2021-02-01 11:30:50 +03:00
Nekotekina 8a029159cd PPU Analyser: compile certain functions on per-instruction basis
PPU LLVM: optimize small blocks
2021-02-01 11:30:50 +03:00
Nekotekina 891ebd0cb1 PPU Analyser: use reloc info (disabled for now)
Add blocks from relocations.
2021-02-01 11:30:50 +03:00
Nekotekina 382509d778 PPU LLVM: Implement inline __add_get_ov 2021-02-01 11:30:50 +03:00
Nekotekina f9ee8978ff PPU LLVM: improve analyser
Compile possibly executable holes between detected functions.
Add unused "PPU LLVM Greedy Mode" option (for future updates).
Add "nounwind" attribute to compiled functions (reduces size).
2021-02-01 11:30:50 +03:00
Eladash e71c2df39d Debugger: Add some more shortcut descriptions in F1 helper 2021-02-01 00:21:50 +03:00
Eladash cfc7865f82 Debugger: Allow to unpause a thread which has been paused by global pause 2021-02-01 00:21:50 +03:00
Nekotekina cf6606065d PPU: fix some typos in asm code 2021-01-31 20:00:04 +03:00
Megamouse 9feb92df1b More informative Error message on Vulkan driver crash
The message might not be the only reason, but at least it might help someone like me, who had no idea what he was looking at.
2021-01-31 15:51:21 +01:00
Megamouse be26810cd7 RSX: Implement set_value for progress dialogs 2021-01-31 15:02:26 +01:00
Megamouse df79b6c238 RSX: update shader loading dialog at 60 fps
Looks much smoother
2021-01-31 15:02:26 +01:00
Eladash 82c86ed2f7 Implement standalone OVL (overlay) loading mode
* Allow to load OVL alone.
* Add error checks in ppu_load_exec(), do not crash on error.
* Fix crash on exit from standalone PRX mode, allow kernel explorer to work with it as well for the added OVL mode.
2021-01-31 15:47:05 +03:00
Eladash 9077563dac Add missing destructor of progress dialog 2021-01-31 12:55:20 +01:00
Eladash 8d15f44b33 Fix ppu progress dialog percentage 2021-01-31 12:55:20 +01:00
Eladash b3fbada10e Fix potential crash of progress dialog 2021-01-31 12:55:20 +01:00
Megamouse 31cdd7bdd2 Prevent minor race in Progress Dialog Server 2021-01-31 12:18:32 +03:00
Megamouse c464e90d5d Fix stop exit of check_only ppu_initialize 2021-01-31 12:18:32 +03:00
Megamouse 670d2b191c Minor optimization for check_only ppu_initialize 2021-01-31 12:18:32 +03:00
Megamouse 7bddb87306 Simplify compile threads 2021-01-31 12:18:32 +03:00
Megamouse 2025f02105 Search for more game data directories.
Also properly remove duplicate paths
2021-01-31 11:42:33 +03:00
Megamouse 1078626eea Fix ppu compilation progress dialog
We could only increase the value because we completely based the dialog on cellMsgDialog.
This led to an issue where the dialog would increase its maximum and thus decrease the current percentage.
It then couldn't decrease and was stuck on the old percentage.
2021-01-30 21:34:16 +01:00
Eladash 16c6b44f55
Fix #9680 (#9687)
Fix regression from #9680
2021-01-30 19:05:02 +03:00
Eladash 6b3b06df25 rsx: Set frame limit to auto by default 2021-01-30 16:53:14 +03:00
Eladash e3b3b0cda7
PPU LLVM: Precompile all executable (PRX, MSELF, overlay) code at startup (#9680)
* Precompile LLVM cache at startup of games, like the GUI "Create PPU Cache" option.
* Allow OVL (overlay) precompilation as well (used by certain games).

Co-authored-by: Megamouse <studienricky89@googlemail.com>
Co-authored-by: Nekotekina <nekotekina@gmail.com>
2021-01-30 16:08:22 +03:00
Nekotekina bb2cc196a6 Fixup for preloading SPRX from MSELF
Forgot to append the offset.
Forgot to use different loop variable.
2021-01-29 21:26:34 +03:00
Eladash d3bc96a201 Fix minor issue with usage of STL thread::hardware_concurrency() 2021-01-29 18:23:29 +03:00
Nekotekina 11ba6e45ab Add MSELF support to SPRX precompilation.
Add ppu_precompile() function in PPUThread.cpp

Co-authored-by: Eladash <elad3356p@gmail.com>
2021-01-29 13:34:43 +03:00
Eladash a742501a4f Do not account RSX for TSX pauses 2021-01-29 10:31:15 +03:00
Eladash 70346028c5 Fix GCM HLE
Oops.
2021-01-29 10:31:15 +03:00
Megamouse 3359458175 Handle missing cases of Emu.BootGame failure 2021-01-28 20:54:27 +01:00
Nekotekina 6784301376 Check for rsx::thread existence in Emu.Stop/Pause/Resume 2021-01-28 20:23:13 +03:00
Megamouse 51d19e7c31 Input: remove debug error 2021-01-28 18:02:23 +01:00
Eladash 0652870204 New RSX Debugger 2021-01-28 17:40:26 +03:00
Nekotekina 67dd6754a6 Seal cereal includes in util/cereal.cpp 2021-01-28 10:48:53 +03:00
Nekotekina 34274ec391 Purge unused typeid() invocations 2021-01-28 10:23:29 +03:00
Eladash 28feea0447 Unfatal Segfaults 2021-01-27 21:54:29 +03:00
Nekotekina 53267e283b PPU LLVM: implement ppu_finalize
Properly free certain compiled PRX/OVL modules (except dev_flash)
2021-01-27 18:03:49 +03:00
Nekotekina 15ed963a29 UI: Add supporters 2021-01-27 14:23:26 +03:00
Nekotekina c652d0b183 Detect execution access violation
Don't try to handle it, treat as fatal.
2021-01-27 11:53:10 +03:00
Nekotekina 22c55cbcfa Add trace logging to thread_ctrl::set_thread_affinity_mask 2021-01-26 19:59:48 +03:00
Nekotekina c24d89dd34 Threads: fix typo in emergency_exit (dump useful info) 2021-01-26 19:58:47 +03:00
Nekotekina f10ea1fb9b Thread pool: try to fix resetting affinity mask
Attempt to address #9657
2021-01-26 16:45:36 +03:00
Nekotekina eb72cc9f04 Thread pool: reset thread affinity mask 2021-01-25 22:05:38 +03:00
Nekotekina ee288340b0 Implement thread_ctrl::scoped_priority
RAII priority control (+1, or -1)
2021-01-25 21:49:16 +03:00
Nekotekina a69248299d SPU: Don't use shm::map_critical in SPU LS allocations
Use shm::try_map instead until proper area is found.
2021-01-25 17:45:47 +03:00
Nekotekina caa83d20f7 vm_native.cpp: implement shm::try_map
Treats addr as a hint, emulating windows behaviour.
2021-01-25 16:55:19 +03:00
Malcolm Jestadt 486d48e4f8 SPU LLVM: Optimize ROTQBY family for VBMI
- Avoid masking pshufb index by 0xf by using vpermb instead.
- Also fix conversion of vperm2b index to ShuffleVector index.
2021-01-25 13:18:23 +03:00
Nekotekina 8480674708 Thread pool: reset priority 2021-01-24 16:45:28 +03:00
Ani 7c62574e59 spu: Restore workers priority after initialization 2021-01-24 16:40:59 +03:00
kd-11 22584fb2d1 vk/dma: Disable pasthrough DMA for NVIDIA+windows
- The driver seems to cache page mapping as long as allocation has not been removed
- This is undesirable as we cannot stop the emulator to remove stale allocations every time a page is unmapped
2021-01-24 14:24:55 +03:00
kd-11 90ac9165e2 vk/dma: Unmap pages from GPU when they are unmapped in Cell 2021-01-24 14:24:55 +03:00
kd-11 bcb69a54b2 gl: Avoid type shenanigans used to fake byteswap for select formats
- Just use the reversed type instead.
  The new uploader backend combines swizzle+swap so there is no need for tricks anymore
2021-01-24 14:24:55 +03:00
kd-11 f93cb262ba vk/dma: Fix multiple logical bugs
- Fix range chaining.
- Add validation checks that no overlaps exist.
2021-01-24 14:24:55 +03:00
kd-11 67949bb5b7 vk/dma: Allow interoperability between pass-through and write-back DMA caching types 2021-01-24 14:24:55 +03:00
kd-11 e56da4eb46 vk: Workaround for amdgpu kernel driver 2021-01-24 14:24:55 +03:00
kd-11 f7fdfe52bc vk: Fix custom event signals 2021-01-24 14:24:55 +03:00
kd-11 7de0ff337b vk: Polishing and cleanup
Some spec violations fixes
Make the option dynamic
2021-01-24 14:24:55 +03:00
kd-11 e1c0a917fa vk/dma: Modify default page size to 64k 2021-01-24 14:24:55 +03:00
kd-11 ead180aa60 win32: Be a bit more optimistic with allocated ranges; we get contiguous ranges more often than not 2021-01-24 14:24:55 +03:00
kd-11 58d367d704 vk: Add host-imported DMA buffers 2021-01-24 14:24:55 +03:00
kd-11 a1ab6c28c1 vk/rsx: Fix some more bugs 2021-01-24 14:24:55 +03:00
kd-11 59e46f09b7 vk/dma: Disable memory inheritance
- It is not possible to emulate passthrough memory cleanly, and we don't need to
  A stupid race condition appears when trying to synchronize DMA blocks with memory inheritance.
  Since the usage pattern is to acquire a range and then load or write+flush, this new data is going to be..
  overwritten by the commandbuffer execution sequence later. Acquiring a scratch buffer to hold CPU content during the transition is not worth the effort..
  as the data will be destroyed anyway during the transfer process immediately afterwards.

  Fixes data corruption when moving data around using the emulated DMA passthrough
2021-01-24 14:24:55 +03:00
kd-11 7766076042 rsx/vk: DMA stuff 2021-01-24 14:24:55 +03:00
Eladash b96864c7e6 rsx: Improve gs frame exit workaround
Move to close(), hide before potential hanging at Emu.Stop()
2021-01-23 12:45:53 +03:00
Eladash 79513f06a4 rsx/gui: Delay game window pop-up until first frame 2021-01-23 12:45:53 +03:00
RipleyTom 00ff53499a fix UserInfo2_to_SceNpUserInfo2 2021-01-22 20:51:10 +03:00
Eladash 142b44d4be debugger: Implement F1 helper 2021-01-22 00:39:41 +01:00
Eladash 7f28489c70 Improve ppu_thread_cleaner a bit
Always join thread.
2021-01-21 21:32:13 +03:00
Eladash a58c12db0b SPU: fixup after #9630
Co-Authored-By: Ivan <nekotekina@gmail.com>
2021-01-21 21:32:13 +03:00
Eladash 12e1be2626 Implement thread_ctrl::wait_on (see #9208) 2021-01-21 18:31:51 +03:00
Eladash f81674232e Remove SPU and PPU destructors 2021-01-21 18:31:51 +03:00
kd-11 eb086b0e3f rsx: Add support shadow1D and shadowCube 2021-01-21 10:24:49 +03:00
kd-11 b6b9085773 rsx: Use unsigned variables to avoid sign problems when calculating stipple bits 2021-01-21 10:24:49 +03:00
Nekotekina 241989c5fa Fix new warnings
Added CELL_GCM_CONTEXT_DMA_NOTIFY_MAIN_0+ enums.
Added CELL_GCM_CONTEXT_DMA_TO_MEMORY_GET_NOTIFY0+ enums.

Co-authored-by: Eladash <elad3356p@gmail.com>
2021-01-20 12:27:37 +03:00
Nekotekina f944573b3c Fix old warnings: remove strncpy
Use strcpy_trunc instead.
Change some sce structs.
2021-01-20 12:26:09 +03:00
Nekotekina c66b155dcb Remove unnecessary fmt::throw_exception destructor body
Tested with GCC and Clang in Debug mode, it now works.
2021-01-20 09:02:25 +03:00
RipleyTom 5662867730 Change the way skylander ID is generated 2021-01-20 08:46:39 +03:00
Eladash dbecf0fa50 Introducing RSX debugger entry (main debugger) 2021-01-19 22:55:12 +03:00
Megamouse 62cb532460 Qt: hotfix for downloader
I accidentally broke the download progress bar in the last related PR.
I should've put more trust in the sanity of the younger version of myself.
This should fix it.
2021-01-18 22:41:31 +01:00
Nekotekina f9bc682115 Refactor some 'offending' code a bit (no effect)
It appears linkage errors were rare even in debug mode (GCC/clang).
2021-01-18 21:58:28 +03:00
Nekotekina 6cf0c5cd6d Fix fmt::throw_exception destructor v2
Remove destructor for MSVC.
2021-01-18 21:19:34 +03:00
Nekotekina 8a2a76da1e texture_cache: fix some warnings in AUDIT 2021-01-18 13:49:59 +03:00
Nekotekina e07484f057 Rewrite fmt::throw_exception destructor
Add _DEBUG in debug mode for consistency with MSVC.
2021-01-18 13:49:16 +03:00
Eladash 0070fce286
Compilation fix (#9622) 2021-01-18 13:41:39 +03:00
Malcolm Jestadt a2e8e3090c SPU LLVM: Optimize FSM following comparison
- FSM following a comparison instruction can be optimized to a single shuffle instruction
2021-01-17 16:52:44 +03:00
Nekotekina 0ac68def49 vm_native.cpp: minor compilation fix 2021-01-17 15:14:11 +03:00
Nekotekina def364fe28 SPU LLVM: add splat_scalar helper
Unrolls into zshuffle from the preferred slot.
2021-01-17 15:13:28 +03:00
Alex James c06707c891 CMake: Unset LIBUSB_LIBRARIES when using libusb submodule
If the system has libusb installed but USE_SYS_LIBUSB is false, the
static libusb will link against the system libusb (as pkg_check_modules
sets LIBUSB_LIBRARIES, and 3rdparty/libusb_cmake/libusb.cmake links the
usb-1.0-static target with LIBUSB_LIBRARIES). Unset LIBUSB_LIBRARIES to
avoid this when using the libusb submodule.
2021-01-17 13:51:03 +03:00
Alex James d7a8d385d8 CMake: Use find_package to find SDL2
This ensures that the SDL2 uses an absolute library path, which is
necessary when SDL2 isn't present in the default link directories (e.g.
on macOS).
2021-01-17 13:51:03 +03:00
Nekotekina 3567c43fb5 LLVM: generate trampolines for "null" functions
Embed name into the trampoline for easier debugging.
Only warn about it during the compilation phase.
2021-01-15 21:38:33 +03:00
Nekotekina aaaeb66cc8 vm: Minor fix in vm::close
Supplied size was wrong.
2021-01-15 20:12:30 +03:00
Nekotekina 4ed76a15ff Use different approach in shm::unmap_critical (Linux)
For now, set protection to PROT_NONE.
Attempt to address #9609
2021-01-15 20:11:09 +03:00
Nekotekina b5837d1271 Memory: use MADV_DONTDUMP if available (Linux)
Also refactor other madvise() usage
2021-01-15 19:54:41 +03:00
Eladash e4c3b1c2bd vm: Remove vm::dealloc_verbose_nothrow 2021-01-15 17:37:52 +03:00
Nekotekina ea916fd7e1 Memory: fix critical bug in shm::unmap_critical (Linux)
It was leaving holes in reserved areas.
Windows is unaffected.
2021-01-14 18:04:29 +03:00
Nekotekina 4bee8dc37f Crypto: modernize key_vault.h
Use constexpr, remove warning guards
2021-01-14 15:23:52 +03:00
Nekotekina 8b01d05146 Crypto: modernize ec.h
Add const, use u8
2021-01-14 15:17:07 +03:00
Nekotekina 376e564cff Crypto: make global vars in ec.cpp thread_local 2021-01-14 12:01:41 +03:00
Nekotekina caf02d1841 Crypto: don't modify EDAT_IV (all zeros)
I didn't notice where it gets restored to zeros.
2021-01-13 21:57:38 +03:00
Nekotekina 6cf73fad13 Crypto: workaround -Wunused-variable
Ignore for key vault for now.
2021-01-13 19:02:14 +03:00
Megamouse cfe660ab35 Qt/curl: fix segfault in curl
The QThread lived longer than the m_curl object.
This lead to a crash when closing RPCS3 while the download is still in progress.
2021-01-13 19:01:58 +03:00
Megamouse 8eaf76394c Qt/Input: Use ellipsis as "mouse deadzone"
This is experimental and smoothens the existing square shaped deadzone
2021-01-13 11:25:33 +01:00
Megamouse a692adefd7 Remove legacy patch support 2021-01-13 10:39:17 +01:00
Eladash e05f1c37ad memory viewer: Close all instances after emulation exit 2021-01-12 23:57:36 +03:00
Eladash 923fcc3b3d utils::shm: Hotfix after #9578 2021-01-12 23:57:36 +03:00
Eladash c50b9bc4b4
utils::shm: Make map_self() atomic (#9578) 2021-01-12 19:53:18 +03:00
Eladash e1f95ceb54
sceNpTrophy: Fix sceNpTrophyRegisterContext for handler abortion (#9586)
* Implement handler abortion during context registration.
* Fixed recursive calls to sceNpTrophy functions such as by callbacks from registering context.
* Turns out the reader lock for context registeration was incorrect because ctxt->tropusr and trophy directory are being modified. Made it an exclusive lock after callback.
2021-01-12 19:14:51 +03:00
Megamouse eb77495d5f Implement richtext_item_delegate
And use it in pkg_install_dialog
2021-01-12 14:13:15 +01:00
Megamouse 270d602a26 Add filename to multi pkg installation
Some packages are indistinguishable otherwise
2021-01-12 14:13:15 +01:00
Megamouse dd41ee68de Simplify numbered_widget_item 2021-01-12 14:13:15 +01:00
Megamouse 46dc40f3f1 Add filename to single pkg installation
Some file info is indistinguishable otherwise
2021-01-12 14:13:15 +01:00
Megamouse 7c7af2e102 fix rebase conflicts 2021-01-12 14:13:15 +01:00
Megamouse 36189b8c3b Try to distinguish between Update and DLC (Part 2) 2021-01-12 14:13:15 +01:00
Megamouse cde802b16c Move blocking code in order to free the explorer 2021-01-12 14:13:15 +01:00
Megamouse 1500e5f588 Try to distinguish between Update and DLC 2021-01-12 14:13:15 +01:00
Megamouse fbe91fb245 fix linux compilation 2021-01-12 14:13:15 +01:00
Megamouse 321e7d6977 Don't hide the PKG install progress dialog after each package 2021-01-12 14:13:15 +01:00
Megamouse 56488a4ac9 Use boolean values in unedat 2021-01-12 14:13:15 +01:00
Megamouse 4a75f44d47 Minor include cleanup in utlis.h 2021-01-12 14:13:15 +01:00
Megamouse deb4b03200 Add VERSION fallback to GetPkgInfo 2021-01-12 14:13:15 +01:00
Megamouse df94c906da Add more info to PKG install progress dialog
And fix installation of single packages
2021-01-12 14:13:15 +01:00
Megamouse 4d50d9daa4 unpkg: add missing break and some cleanup 2021-01-12 14:13:15 +01:00
Megamouse 0624bdc72d Use package reader in pkg_install_dialog 2021-01-12 14:13:15 +01:00
Megamouse ccec6e53c0 Rename package_reader member variables 2021-01-12 14:13:15 +01:00
Megamouse 68d411918d Read patchsets from compat db 2021-01-12 14:13:15 +01:00
Nekotekina f14d47bfe6 LLVM: log certain null functions 2021-01-12 15:39:43 +03:00
Nekotekina 0af452720e RSX: Fix possible bug in memory streaming utils 2021-01-12 15:06:31 +03:00
Nekotekina db8e6fe7a7 Enable -Wunused-variable 2021-01-12 14:34:14 +03:00
Nekotekina 631d7d0ce7 Enable -Wunknown-pragmas 2021-01-12 13:01:17 +03:00
Nekotekina ed345e5b65 Enable -Winvalid-offsetof 2021-01-12 13:01:17 +03:00
Nekotekina d3a66af7d6 Enable -Wcomment warning 2021-01-12 13:01:17 +03:00
Megamouse 52deff06ba
Random stuff (#9589)
* minor coding style adjustment

* Qt: simplify osk dialog buttons

* replace std::find_if with convenience functions

* RSX: use sv in swizzle comparison

idk, I'll remove this if it was intentional.

* overlays/osk: rename enter to return

This one confused me and make me look for a bug that caused the "enter" key to be disabled, while it was actually the return key (obviously xD).
2021-01-12 12:59:50 +03:00
Megamouse 838cbe1840 tiny include fix 2021-01-11 13:04:46 +03:00
Eladash 70804e2ba6 kernel explorer: Make it single-instance tool 2021-01-10 20:30:23 +01:00
Eladash 07c925223b rsx: Fix index array offset bits 2021-01-10 18:40:02 +03:00
kd-11 c2cbc62be6 vk: Refactor some uber-headers
- VKHelpers was the rug everything was swept under for a long time.
  This commit essentially deprecates its usage across most of the backend.
2021-01-10 12:04:31 +03:00
Nekotekina 9d74d42f2a Fix compilation for gcc-11
In response to #9557
2021-01-09 14:38:01 +03:00
Nekotekina a36f25c7b2 Update LLVM to latest commit 2021-01-09 11:05:12 +03:00
Nekotekina 86fb5412fa Update ASMJIT to oldstable 2021-01-09 11:05:11 +03:00
Nekotekina c5b9ab3aca Update ASMJIT submodule URL 2021-01-09 11:05:11 +03:00
Eladash bf6f43ec3a Utils: Rewrite fmt::split 2021-01-08 22:23:48 +03:00
Megamouse 36159c2bd4 Add comment for deprecated avcodec_register_all
Apparently this is now done automatically and doesn't even need to be called at all
2021-01-08 14:36:49 +03:00
Megamouse 72e1d03860 Qt: ugly fix for ugly deprecation warning
Apparently Qt wants us to implement each comparison on our own, and there is no simple replacement for this.
2021-01-08 14:36:49 +03:00
Megamouse ed1b8f2545 game_list: fix deprecation warning
We only need to check if the data is valid for clicks on empty space in the game grid. I don't remember why I initially checked < 0
2021-01-08 14:36:49 +03:00
Nekotekina 1ad0f24ecd Fix or silence Qt warnings 2021-01-07 13:18:48 +03:00
Nekotekina 586440622b Silence another warning (clang) 2021-01-07 12:46:45 +03:00
Nekotekina 6231b07d2a Silence one warning (clang) 2021-01-07 12:42:15 +03:00
Nekotekina 1dcf5e4f85 Error on no return type warning
Added non-existing noreturn destructor to fmt::throw_exception (for clang).
2021-01-07 11:56:16 +03:00
Nekotekina 9ba8f4795c Remove redundant #pragma once 2021-01-06 23:33:37 +03:00
Eladash 951fe3491e PS3 Loader: Fix sections memorizing 2021-01-06 23:21:38 +03:00
Nekotekina 6ae1f1b02c VFS: fixup handling . and .. after #9528 2021-01-05 16:16:01 +03:00
Nekotekina 673e84920b fixed_typemap.hpp: remove useless reporters 2021-01-05 16:16:01 +03:00
Eladash d1e1c14dc3 VFS: Escape path components which end with space or period 2021-01-05 16:15:47 +03:00
Megamouse 11db3151ae
VK refactoring Part 2 (#9542) 2021-01-05 10:49:03 +03:00
Josh Lay 65f81aca0f Docs: Update BUILDING.md (Fedora)
The package `qt5-devel` isn't available, but the `qt5-qtbase-devel` package is 😄 

Before:
```
[root@workstation ~]# dnf install alsa-lib-devel cmake glew glew-devel libatomic libevdev-devel libudev-devel openal-devel qt5-devel qt5-qtbase-private-devel vulkan-devel
Last metadata expiration check: 0:06:39 ago on Mon 04 Jan 2021 08:00:59 PM CST.

Package alsa-lib-devel-1.2.4-5.fc33.x86_64 is already installed.
Package cmake-3.18.4-2.fc33.x86_64 is already installed.
Package glew-2.1.0-8.fc33.x86_64 is already installed.
Package libatomic-10.2.1-9.fc33.i686 is already installed.
Package libatomic-10.2.1-9.fc33.x86_64 is already installed.
Package systemd-devel-246.7-2.fc33.x86_64 is already installed.
No match for argument: qt5-devel
Package vulkan-loader-devel-1.2.148.1-1.fc33.x86_64 is already installed.
Error: Unable to find a match: qt5-devel
[root@workstation ~]#
```
After:
```
[root@workstation ~]# dnf install alsa-lib-devel cmake glew glew-devel libatomic libevdev-devel libudev-devel openal-devel qt5-qtbase-devel qt5-qtbase-private-devel vulkan-devel
[...]
Installed:
  cups-devel-1:2.3.3op1-1.fc33.x86_64            glew-devel-2.1.0-8.fc33.x86_64  libevdev-devel-1.9.1-3.fc33.x86_64  openal-soft-devel-1.19.1-9.fc33.x86_64 
  qt5-qtbase-private-devel-5.15.2-2.fc33.x86_64 

Complete!
[root@workstation ~]# 
```
Build verified working on Fedora 33 with 187216096d
2021-01-05 10:27:56 +03:00
matoro 187216096d Build: Add include for building on certain configs 2021-01-04 10:04:51 +03:00
kd-11 3f9b699eef rsx: Fix ambiguous call to min(float16_t, float) 2021-01-04 02:28:24 +03:00
kd-11 5f8564c655 Update Utilities/Thread.cpp
Co-authored-by: Bird Egop <sampletext32@bk.ru>
2021-01-03 19:31:18 +03:00
kd-11 cbe0000d23 Improved Zen chip detection 2021-01-03 19:31:18 +03:00
Eladash 0e278d2299 rsx: Make FP shader cache load lock-free 2021-01-03 01:47:07 +03:00
Eladash 21d725daa5 rsx: Fix shader cache of 2 or less pipelines 2021-01-03 01:47:07 +03:00
Eladash 247e90b3d0 rsx: Shaders cache loading and saving bugfixes
* Fixed crash whenever files are missing from the cache.
* Fixed crash whenever files are empty.
* Fixed crash whenever file creation/overwrite of cache files failed. (handled by fs::write_file)
* Fixed crash whenever there are any subdirectories inside the pipelines cache directories.
* Overwrite invalid shader cache files if encountered such.
* Optimizations have been added.
2021-01-03 01:47:07 +03:00
1867 changed files with 352396 additions and 181901 deletions

View file

@ -1,26 +1,26 @@
#!/bin/sh -ex
# Pull all the submodules except llvm
# Pull all the submodules except some
# Note: Tried to use git submodule status, but it takes over 20 seconds
# shellcheck disable=SC2046
git submodule -q update --init --depth 1 $(awk '/path/ && !/llvm/ { print $3 }' .gitmodules)
# Prefer newer Clang than in base system (see also .ci/install-freebsd.sh)
# libc++ isn't in llvm* packages, so download manually
fetch https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/libcxx-11.0.0.src.tar.xz
tar xf libcxx-11.0.0.src.tar.xz
export CC=clang11 CXX=clang++11
export CXXFLAGS="$CXXFLAGS -nostdinc++ -isystem $PWD/libcxx-11.0.0.src/include"
git config --global --add safe.directory .
git submodule -q update --init --depth 1 $(awk '/path/ && !/llvm/ && !/opencv/ && !/libpng/ && !/libsdl-org/ && !/curl/ && !/zlib/ && !/libusb/ && !/feralinteractive/ { print $3 }' .gitmodules)
CONFIGURE_ARGS="
-DWITH_LLVM=OFF
-DWITH_LLVM=ON
-DUSE_SDL=OFF
-DUSE_PRECOMPILED_HEADERS=OFF
-DUSE_NATIVE_INSTRUCTIONS=OFF
-DUSE_SYSTEM_FFMPEG=ON
-DUSE_SYSTEM_CURL=ON
-DUSE_SYSTEM_LIBPNG=ON
-DUSE_SYSTEM_LIBUSB=ON
-DUSE_SYSTEM_OPENCV=ON
"
# base Clang workaround (missing clang-scan-deps)
CONFIGURE_ARGS="$CONFIGURE_ARGS -DCMAKE_CXX_SCAN_FOR_MODULES=OFF"
# shellcheck disable=SC2086
cmake -B build -G Ninja $CONFIGURE_ARGS
cmake --build build

55
.ci/build-linux-aarch64.sh Executable file
View file

@ -0,0 +1,55 @@
#!/bin/sh -ex
cd rpcs3 || exit 1
shellcheck .ci/*.sh
git config --global --add safe.directory '*'
# Pull all the submodules except some
# shellcheck disable=SC2046
git submodule -q update --init $(awk '/path/ && !/llvm/ && !/opencv/ && !/libsdl-org/ && !/curl/ && !/zlib/ { print $3 }' .gitmodules)
mkdir build && cd build || exit 1
if [ "$COMPILER" = "gcc" ]; then
# These are set in the dockerfile
export CC="${GCC_BINARY}"
export CXX="${GXX_BINARY}"
export LINKER=gold
else
export CC="${CLANG_BINARY}"
export CXX="${CLANGXX_BINARY}"
export LINKER="${LLD_BINARY}"
fi
export LINKER_FLAG="-fuse-ld=${LINKER}"
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_NATIVE_INSTRUCTIONS=OFF \
-DUSE_PRECOMPILED_HEADERS=OFF \
-DCMAKE_EXE_LINKER_FLAGS="${LINKER_FLAG}" \
-DCMAKE_MODULE_LINKER_FLAGS="${LINKER_FLAG}" \
-DCMAKE_SHARED_LINKER_FLAGS="${LINKER_FLAG}" \
-DUSE_SYSTEM_CURL=ON \
-DUSE_SDL=ON \
-DUSE_SYSTEM_SDL=ON \
-DUSE_SYSTEM_FFMPEG=OFF \
-DUSE_SYSTEM_OPENCV=ON \
-DUSE_DISCORD_RPC=ON \
-DOpenGL_GL_PREFERENCE=LEGACY \
-DLLVM_DIR=/opt/llvm/lib/cmake/llvm \
-DSTATIC_LINK_LLVM=ON \
-DBUILD_RPCS3_TESTS="${RUN_UNIT_TESTS}" \
-DRUN_RPCS3_TESTS="${RUN_UNIT_TESTS}" \
-G Ninja
ninja; build_status=$?;
cd ..
# If it compiled succesfully let's deploy.
if [ "$build_status" -eq 0 ]; then
.ci/deploy-linux.sh "aarch64"
fi

View file

@ -1,65 +1,66 @@
#!/bin/sh -ex
# Setup Qt variables
export QT_BASE_DIR=/opt/qt${QTVERMIN}
export PATH=$QT_BASE_DIR/bin:$PATH
export LD_LIBRARY_PATH=$QT_BASE_DIR/lib/x86_64-linux-gnu:$QT_BASE_DIR/lib
cd rpcs3 || exit 1
# Pull all the submodules except llvm, since it is built separately and we just download that build
shellcheck .ci/*.sh
git config --global --add safe.directory '*'
# Pull all the submodules except some
# Note: Tried to use git submodule status, but it takes over 20 seconds
# shellcheck disable=SC2046
git submodule -q update --init $(awk '/path/ && !/llvm/ { print $3 }' .gitmodules)
# Download pre-compiled llvm libs
curl -sLO https://github.com/RPCS3/llvm-mirror/releases/download/custom-build/llvmlibs-linux.tar.gz
mkdir llvmlibs
tar -xzf ./llvmlibs-linux.tar.gz -C llvmlibs
git submodule -q update --init $(awk '/path/ && !/llvm/ && !/opencv/ && !/libsdl-org/ && !/curl/ && !/zlib/ { print $3 }' .gitmodules)
mkdir build && cd build || exit 1
if [ "$COMPILER" = "gcc" ]; then
# These are set in the dockerfile
export CC=${GCC_BINARY}
export CXX=${GXX_BINARY}
export CC="${GCC_BINARY}"
export CXX="${GXX_BINARY}"
export LINKER=gold
# We need to set the following variables for LTO to link properly
export AR=/usr/bin/gcc-ar-$GCCVER
export RANLIB=/usr/bin/gcc-ranlib-$GCCVER
export AR=/usr/bin/gcc-ar-"$GCCVER"
export RANLIB=/usr/bin/gcc-ranlib-"$GCCVER"
export CFLAGS="-fuse-linker-plugin"
else
export CC=${CLANG_BINARY}
export CXX=${CLANGXX_BINARY}
export CC="${CLANG_BINARY}"
export CXX="${CLANGXX_BINARY}"
export LINKER=lld
export AR=/usr/bin/llvm-ar-$LLVMVER
export RANLIB=/usr/bin/llvm-ranlib-$LLVMVER
export AR=/usr/bin/llvm-ar-"$LLVMVER"
export RANLIB=/usr/bin/llvm-ranlib-"$LLVMVER"
fi
export CFLAGS="$CFLAGS -fuse-ld=${LINKER}"
export LINKER_FLAG="-fuse-ld=${LINKER}"
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_LLVM_SUBMODULE=OFF \
-DLLVM_DIR=llvmlibs/lib/cmake/llvm/ \
-DUSE_NATIVE_INSTRUCTIONS=OFF \
-DUSE_PRECOMPILED_HEADERS=OFF \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_CXX_FLAGS="$CFLAGS" \
-DCMAKE_EXE_LINKER_FLAGS="${LINKER_FLAG}" \
-DCMAKE_MODULE_LINKER_FLAGS="${LINKER_FLAG}" \
-DCMAKE_SHARED_LINKER_FLAGS="${LINKER_FLAG}" \
-DCMAKE_AR="$AR" \
-DCMAKE_RANLIB="$RANLIB" \
-DUSE_SYSTEM_CURL=ON \
-DUSE_SDL=ON \
-DUSE_SYSTEM_SDL=ON \
-DUSE_SYSTEM_FFMPEG=OFF \
-DUSE_SYSTEM_OPENCV=ON \
-DUSE_DISCORD_RPC=ON \
-DOpenGL_GL_PREFERENCE=LEGACY \
-DLLVM_DIR=/opt/llvm/lib/cmake/llvm \
-DSTATIC_LINK_LLVM=ON \
-DBUILD_RPCS3_TESTS="${RUN_UNIT_TESTS}" \
-DRUN_RPCS3_TESTS="${RUN_UNIT_TESTS}" \
-G Ninja
ninja; build_status=$?;
cd ..
# If it compiled succesfully let's deploy depending on the build pipeline (Azure Pipelines).
# Azure publishes PRs as artifacts only.
{ [ "$IS_AZURE" = "true" ];
} && SHOULD_DEPLOY="true" || SHOULD_DEPLOY="false"
if [ "$build_status" -eq 0 ] && [ "$SHOULD_DEPLOY" = "true" ]; then
.ci/deploy-linux.sh
# If it compiled succesfully let's deploy.
if [ "$build_status" -eq 0 ]; then
.ci/deploy-linux.sh "x86_64"
fi

125
.ci/build-mac-arm64.sh Executable file
View file

@ -0,0 +1,125 @@
#!/bin/sh -ex
# shellcheck disable=SC2086
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
export HOMEBREW_NO_ENV_HINTS=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
brew install -f --overwrite --quiet pipenv googletest opencv@4 ffmpeg@5 "llvm@$LLVM_COMPILER_VER" glew sdl3 vulkan-headers
brew unlink --quiet ffmpeg qtbase qtsvg qtdeclarative
brew link -f --quiet "llvm@$LLVM_COMPILER_VER" ffmpeg@5
# moltenvk based on commit for 1.4.0 release
export HOMEBREW_DEVELOPER=1 # Prevents blocking of local formulae
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/ea2bec5f1f4384e188d7fc0702ab21a20a2ced08/Formula/m/molten-vk.rb
/opt/homebrew/bin/brew install -f --overwrite --formula --quiet ./molten-vk.rb
export HOMEBREW_DEVELOPER=0
export CXX=clang++
export CC=clang
export BREW_PATH;
BREW_PATH="$(brew --prefix)"
export BREW_BIN="/opt/homebrew/bin"
export BREW_SBIN="/opt/homebrew/sbin"
export CMAKE_EXTRA_OPTS='-DLLVM_TARGETS_TO_BUILD=arm64'
export WORKDIR;
WORKDIR="$(pwd)"
# Setup ccache
if [ ! -d "$CCACHE_DIR" ]; then
mkdir -p "$CCACHE_DIR"
fi
# Get Qt
if [ ! -d "/tmp/Qt/$QT_VER" ]; then
mkdir -p "/tmp/Qt"
git clone https://github.com/engnr/qt-downloader.git
cd qt-downloader
git checkout f52efee0f18668c6d6de2dec0234b8c4bc54c597
sed -i '' "s/'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/'qt{0}_{0}{1}{2}'.format(major, minor, patch), 'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/g" qt-downloader
sed -i '' "s/'{}\/{}\/qt{}_{}\/'/'{0}\/{1}\/qt{2}_{3}\/qt{2}_{3}\/'/g" qt-downloader
cd "/tmp/Qt"
"$BREW_PATH/bin/pipenv" run pip3 uninstall py7zr requests semantic_version lxml
"$BREW_PATH/bin/pipenv" run pip3 install py7zr requests semantic_version lxml --no-cache
mkdir -p "$QT_VER/macos" ; ln -s "macos" "$QT_VER/clang_64"
sed -i '' 's/args\.version \/ derive_toolchain_dir(args) \/ //g' "$WORKDIR/qt-downloader/qt-downloader"
"$BREW_PATH/bin/pipenv" run "$WORKDIR/qt-downloader/qt-downloader" macos desktop "$QT_VER" clang_64 --opensource --addons qtmultimedia qtimageformats -o "$QT_VER/clang_64"
fi
cd "$WORKDIR"
ditto "/tmp/Qt/$QT_VER" "qt-downloader/$QT_VER"
export Qt6_DIR="$WORKDIR/qt-downloader/$QT_VER/clang_64/lib/cmake/Qt$QT_VER_MAIN"
export SDL3_DIR="$BREW_PATH/opt/sdl3/lib/cmake/SDL3"
export PATH="$BREW_PATH/opt/llvm@$LLVM_COMPILER_VER/bin:$WORKDIR/qt-downloader/$QT_VER/clang_64/bin:$BREW_BIN:$BREW_SBIN:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin:$PATH"
export LDFLAGS="-L$BREW_PATH/lib $BREW_PATH/opt/ffmpeg@5/lib/libavcodec.dylib $BREW_PATH/opt/ffmpeg@5/lib/libavformat.dylib $BREW_PATH/opt/ffmpeg@5/lib/libavutil.dylib $BREW_PATH/opt/ffmpeg@5/lib/libswscale.dylib $BREW_PATH/opt/ffmpeg@5/lib/libswresample.dylib $BREW_PATH/opt/llvm@$LLVM_COMPILER_VER/lib/c++/libc++.1.dylib $BREW_PATH/lib/libSDL3.dylib $BREW_PATH/lib/libGLEW.dylib $BREW_PATH/opt/llvm@$LLVM_COMPILER_VER/lib/unwind/libunwind.1.dylib -Wl,-rpath,$BREW_PATH/lib"
export CPPFLAGS="-I$BREW_PATH/include -I$BREW_PATH/include -no-pie -D__MAC_OS_X_VERSION_MIN_REQUIRED=140000"
export CFLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000"
export LIBRARY_PATH="$BREW_PATH/lib"
export LD_LIBRARY_PATH="$BREW_PATH/lib"
export VULKAN_SDK
VULKAN_SDK="$BREW_PATH/opt/molten-vk"
ln -s "$VULKAN_SDK/lib/libMoltenVK.dylib" "$VULKAN_SDK/lib/libvulkan.dylib" || true
export VK_ICD_FILENAMES="$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json"
export LLVM_DIR
LLVM_DIR="$BREW_PATH/opt/llvm@$LLVM_COMPILER_VER"
# exclude ffmpeg, LLVM, opencv, and sdl from submodule update
# shellcheck disable=SC2046
git submodule -q update --init --depth=1 --jobs=8 $(awk '/path/ && !/ffmpeg/ && !/llvm/ && !/opencv/ && !/SDL/ && !/feralinteractive/ { print $3 }' .gitmodules)
# 3rdparty fixes
sed -i '' "s/extern const double NSAppKitVersionNumber;/const double NSAppKitVersionNumber = 1343;/g" 3rdparty/hidapi/hidapi/mac/hid.c
mkdir build && cd build || exit 1
export MACOSX_DEPLOYMENT_TARGET=14.0
"$BREW_PATH/bin/cmake" .. \
-DBUILD_RPCS3_TESTS="${RUN_UNIT_TESTS}" \
-DRUN_RPCS3_TESTS="${RUN_UNIT_TESTS}" \
-DUSE_SDL=ON \
-DUSE_DISCORD_RPC=ON \
-DUSE_VULKAN=ON \
-DUSE_ALSA=OFF \
-DUSE_PULSE=OFF \
-DUSE_AUDIOUNIT=ON \
-DUSE_SYSTEM_FFMPEG=ON \
-DLLVM_CCACHE_BUILD=OFF \
-DLLVM_BUILD_RUNTIME=OFF \
-DLLVM_BUILD_TOOLS=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_TOOLS=OFF \
-DLLVM_INCLUDE_UTILS=OFF \
-DLLVM_USE_PERF=OFF \
-DLLVM_ENABLE_Z3_SOLVER=OFF \
-DUSE_NATIVE_INSTRUCTIONS=OFF \
-DUSE_SYSTEM_MVK=ON \
-DUSE_SYSTEM_FAUDIO=OFF \
-DUSE_SYSTEM_SDL=ON \
-DUSE_SYSTEM_OPENCV=ON \
"$CMAKE_EXTRA_OPTS" \
-DLLVM_TARGET_ARCH=arm64 \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DCMAKE_IGNORE_PATH="$BREW_PATH/lib" \
-DCMAKE_IGNORE_PREFIX_PATH=/opt/homebrew/opt \
-DCMAKE_CXX_FLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)" \
-G Ninja
"$BREW_PATH/bin/ninja"; build_status=$?;
cd ..
# If it compiled succesfully let's deploy.
if [ "$build_status" -eq 0 ]; then
.ci/deploy-mac-arm64.sh
fi

View file

@ -1,27 +1,127 @@
#!/bin/sh -ex
export CCACHE_SLOPPINESS=pch_defines,time_macros
export CMAKE_PREFIX_PATH=/usr/local/opt/qt5/
export PATH="/usr/local/opt/ccache/libexec:$PATH"
# shellcheck disable=SC2086
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
export HOMEBREW_NO_ENV_HINTS=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
# Setup vulkan and gfx-rs/portability
curl -sLO https://github.com/gfx-rs/portability/releases/download/latest/gfx-portability-macos-latest.zip
unzip -: gfx-portability-macos-latest.zip
curl -sLO https://github.com/KhronosGroup/Vulkan-Headers/archive/sdk-1.1.106.0.zip
unzip -: sdk-*.zip
mkdir vulkan-sdk
ln -s "${PWD}"/Vulkan-Headers*/include vulkan-sdk/include
mkdir vulkan-sdk/lib
cp target/release/libportability.dylib vulkan-sdk/lib/libVulkan.dylib
# Let macdeployqt locate and install Vulkan library
install_name_tool -id "${PWD}"/vulkan-sdk/lib/libVulkan.dylib vulkan-sdk/lib/libVulkan.dylib
export VULKAN_SDK="${PWD}/vulkan-sdk"
brew install -f --overwrite --quiet ccache pipenv "llvm@$LLVM_COMPILER_VER"
brew link -f --overwrite --quiet "llvm@$LLVM_COMPILER_VER"
# shellcheck disable=SC3009
rm /usr/local/bin/{idle3.14,pip3.14,pydoc3.14,python3.14,python3.14-config} && \
rm /usr/local/bin/{idle3,pip3,pydoc3,python3,python3-config}
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
arch -x86_64 /usr/local/bin/brew install -f --overwrite --quiet opencv@4 ffmpeg@5 "llvm@$LLVM_COMPILER_VER" glew sdl3 vulkan-headers
arch -x86_64 /usr/local/bin/brew unlink --quiet ffmpeg qtbase qtsvg qtdeclarative
arch -x86_64 /usr/local/bin/brew link -f --overwrite --quiet "llvm@$LLVM_COMPILER_VER" ffmpeg@5
# Pull all the submodules except llvm
# Note: Tried to use git submodule status, but it takes over 20 seconds
# moltenvk based on commit for 1.4.0 release
export HOMEBREW_DEVELOPER=1 # Prevents blocking of local formulae
wget https://raw.githubusercontent.com/Homebrew/homebrew-core/ea2bec5f1f4384e188d7fc0702ab21a20a2ced08/Formula/m/molten-vk.rb
arch -x86_64 /usr/local/bin/brew install -f --overwrite --formula --quiet ./molten-vk.rb
export HOMEBREW_DEVELOPER=0
export CXX=clang++
export CC=clang
export BREW_X64_PATH;
BREW_X64_PATH="$("/usr/local/bin/brew" --prefix)"
export BREW_BIN="/usr/local/bin"
export BREW_SBIN="/usr/local/sbin"
export CMAKE_EXTRA_OPTS='-DLLVM_TARGETS_TO_BUILD=X86'
export WORKDIR;
WORKDIR="$(pwd)"
# Get Qt
if [ ! -d "/tmp/Qt/$QT_VER" ]; then
mkdir -p "/tmp/Qt"
git clone https://github.com/engnr/qt-downloader.git
cd qt-downloader
git checkout f52efee0f18668c6d6de2dec0234b8c4bc54c597
sed -i '' "s/'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/'qt{0}_{0}{1}{2}'.format(major, minor, patch), 'qt{0}_{0}{1}{2}'.format(major, minor, patch)]))/g" qt-downloader
sed -i '' "s/'{}\/{}\/qt{}_{}\/'/'{0}\/{1}\/qt{2}_{3}\/qt{2}_{3}\/'/g" qt-downloader
cd "/tmp/Qt"
"/opt/homebrew/bin/pipenv" --python "/opt/homebrew/bin/python3" run pip3 install py7zr requests semantic_version lxml
mkdir -p "$QT_VER/macos" ; ln -s "macos" "$QT_VER/clang_64"
sed -i '' 's/args\.version \/ derive_toolchain_dir(args) \/ //g' "$WORKDIR/qt-downloader/qt-downloader"
"/opt/homebrew/bin/pipenv" --python "/opt/homebrew/bin/python3" run "$WORKDIR/qt-downloader/qt-downloader" macos desktop "$QT_VER" clang_64 --opensource --addons qtmultimedia qtimageformats -o "$QT_VER/clang_64"
fi
cd "$WORKDIR"
ditto "/tmp/Qt/$QT_VER" "qt-downloader/$QT_VER"
export Qt6_DIR="$WORKDIR/qt-downloader/$QT_VER/clang_64/lib/cmake/Qt$QT_VER_MAIN"
export SDL3_DIR="$BREW_X64_PATH/opt/sdl3/lib/cmake/SDL3"
export PATH="/opt/homebrew/opt/llvm@$LLVM_COMPILER_VER/bin:$WORKDIR/qt-downloader/$QT_VER/clang_64/bin:$BREW_BIN:$BREW_SBIN:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin:$PATH"
# shellcheck disable=SC2155
export LDFLAGS="-L$BREW_X64_PATH/lib -Wl,-rpath,$BREW_X64_PATH/lib,-L$(brew --prefix llvm)/lib/c++"
export CPPFLAGS="-I$BREW_X64_PATH/include -msse -msse2 -mcx16 -no-pie -D__MAC_OS_X_VERSION_MIN_REQUIRED=140000"
export CFLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000"
export LIBRARY_PATH="$BREW_X64_PATH/opt/llvm@$LLVM_COMPILER_VER/lib:$BREW_X64_PATH/lib"
export LD_LIBRARY_PATH="$BREW_X64_PATH/opt/llvm@$LLVM_COMPILER_VER/lib:$BREW_X64_PATH/lib"
export VULKAN_SDK
VULKAN_SDK="$BREW_X64_PATH/opt/molten-vk"
ln -s "$VULKAN_SDK/lib/libMoltenVK.dylib" "$VULKAN_SDK/lib/libvulkan.dylib"
export VK_ICD_FILENAMES="$VULKAN_SDK/share/vulkan/icd.d/MoltenVK_icd.json"
export LLVM_DIR
LLVM_DIR="$BREW_X64_PATH/opt/llvm@$LLVM_COMPILER_VER"
# exclude ffmpeg, LLVM, opencv, and sdl from submodule update
# shellcheck disable=SC2046
git submodule -q update --init $(awk '/path/ && !/llvm/ { print $3 }' .gitmodules)
git submodule -q update --init --depth=1 --jobs=8 $(awk '/path/ && !/ffmpeg/ && !/llvm/ && !/opencv/ && !/SDL/ && !/feralinteractive/ { print $3 }' .gitmodules)
# 3rdparty fixes
sed -i '' "s/extern const double NSAppKitVersionNumber;/const double NSAppKitVersionNumber = 1343;/g" 3rdparty/hidapi/hidapi/mac/hid.c
mkdir build && cd build || exit 1
cmake .. -DWITH_LLVM=OFF -DUSE_NATIVE_INSTRUCTIONS=OFF -G Ninja
ninja
export MACOSX_DEPLOYMENT_TARGET=14.0
"/opt/homebrew/bin/cmake" .. \
-DBUILD_RPCS3_TESTS=OFF \
-DRUN_RPCS3_TESTS=OFF \
-DUSE_SDL=ON \
-DUSE_DISCORD_RPC=ON \
-DUSE_VULKAN=ON \
-DUSE_ALSA=OFF \
-DUSE_PULSE=OFF \
-DUSE_AUDIOUNIT=ON \
-DUSE_SYSTEM_FFMPEG=ON \
-DLLVM_CCACHE_BUILD=OFF \
-DLLVM_BUILD_RUNTIME=OFF \
-DLLVM_BUILD_TOOLS=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_TOOLS=OFF \
-DLLVM_INCLUDE_UTILS=OFF \
-DLLVM_USE_PERF=OFF \
-DLLVM_ENABLE_Z3_SOLVER=OFF \
-DUSE_NATIVE_INSTRUCTIONS=OFF \
-DUSE_SYSTEM_MVK=ON \
-DUSE_SYSTEM_FAUDIO=OFF \
-DUSE_SYSTEM_SDL=ON \
-DUSE_SYSTEM_OPENCV=ON \
"$CMAKE_EXTRA_OPTS" \
-DLLVM_TARGET_ARCH=X86_64 \
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
-DCMAKE_SYSTEM_PROCESSOR=x86_64 \
-DCMAKE_TOOLCHAIN_FILE=buildfiles/cmake/TCDarwinX86_64.cmake \
-DCMAKE_IGNORE_PATH="$BREW_X64_PATH/lib" \
-DCMAKE_IGNORE_PREFIX_PATH=/usr/local/opt \
-DCMAKE_CXX_FLAGS="-D__MAC_OS_X_VERSION_MIN_REQUIRED=140000" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_OSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)" \
-G Ninja
"/opt/homebrew/bin/ninja"; build_status=$?;
cd ..
# If it compiled succesfully let's deploy.
if [ "$build_status" -eq 0 ]; then
.ci/deploy-mac.sh
fi

View file

@ -0,0 +1,61 @@
#!/bin/sh -ex
git config --global --add safe.directory '*'
# Pull all the submodules except some
# Note: Tried to use git submodule status, but it takes over 20 seconds
# shellcheck disable=SC2046
git submodule -q update --init $(awk '/path/ && !/llvm/ && !/opencv/ && !/ffmpeg/ && !/curl/ && !/FAudio/ && !/zlib/ { print $3 }' .gitmodules)
mkdir build && cd build || exit 1
export CC="clang"
export CXX="clang++"
export LINKER=lld
export LINKER_FLAG="-fuse-ld=${LINKER}"
if [ -n "$LLVMVER" ]; then
export AR="llvm-ar-$LLVMVER"
export RANLIB="llvm-ranlib-$LLVMVER"
else
export AR="llvm-ar"
export RANLIB="llvm-ranlib"
fi
cmake .. \
-DCMAKE_PREFIX_PATH=/clang64 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_NATIVE_INSTRUCTIONS=OFF \
-DUSE_PRECOMPILED_HEADERS=OFF \
-DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_CXX_FLAGS="$CFLAGS" \
-DCMAKE_EXE_LINKER_FLAGS="${LINKER_FLAG}" \
-DCMAKE_MODULE_LINKER_FLAGS="${LINKER_FLAG}" \
-DCMAKE_SHARED_LINKER_FLAGS="${LINKER_FLAG}" \
-DCMAKE_AR="$AR" \
-DCMAKE_RANLIB="$RANLIB" \
-DUSE_SYSTEM_CURL=ON \
-DUSE_FAUDIO=OFF \
-DUSE_SDL=ON \
-DUSE_SYSTEM_SDL=OFF \
-DUSE_SYSTEM_FFMPEG=ON \
-DUSE_SYSTEM_OPENCV=ON \
-DUSE_SYSTEM_OPENAL=OFF \
-DUSE_DISCORD_RPC=ON \
-DOpenGL_GL_PREFERENCE=LEGACY \
-DWITH_LLVM=ON \
-DLLVM_DIR=/clang64/lib/cmake/llvm \
-DVulkan_LIBRARY=/clang64/lib/libvulkan-1.dll.a \
-DSTATIC_LINK_LLVM=ON \
-DBUILD_RPCS3_TESTS=OFF \
-DRUN_RPCS3_TESTS=OFF \
-G Ninja
ninja; build_status=$?;
cd ..
# If it compiled succesfully let's deploy.
if [ "$build_status" -eq 0 ]; then
.ci/deploy-windows-clang.sh "x86_64"
fi

View file

@ -2,58 +2,79 @@
cd build || exit 1
CPU_ARCH="${1:-x86_64}"
if [ "$DEPLOY_APPIMAGE" = "true" ]; then
DESTDIR=appdir ninja install
QT_APPIMAGE="linuxdeployqt.AppImage"
DESTDIR=AppDir ninja install
curl -sL "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" > "$QT_APPIMAGE"
chmod a+x "$QT_APPIMAGE"
"./$QT_APPIMAGE" --appimage-extract
./squashfs-root/AppRun ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
ls ./appdir/usr/lib/
rm -r ./appdir/usr/share/doc
rm ./appdir/usr/lib/libxcb*
cp "$(readlink -f /lib/x86_64-linux-gnu/libnsl.so.1)" ./appdir/usr/lib/libnsl.so.1
export PATH=/rpcs3/build/squashfs-root/usr/bin/:${PATH}
curl -fsSLo /usr/bin/linuxdeploy "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-$CPU_ARCH.AppImage"
chmod +x /usr/bin/linuxdeploy
curl -fsSLo /usr/bin/linuxdeploy-plugin-qt "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-$CPU_ARCH.AppImage"
chmod +x /usr/bin/linuxdeploy-plugin-qt
curl -fsSLo linuxdeploy-plugin-checkrt.sh https://github.com/darealshinji/linuxdeploy-plugin-checkrt/releases/download/continuous/linuxdeploy-plugin-checkrt.sh
chmod +x ./linuxdeploy-plugin-checkrt.sh
# Embed newer libstdc++ for distros that don't come with it (ubuntu 16.04)
mkdir -p appdir/usr/optional/ ; mkdir -p appdir/usr/optional/libstdc++/
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./appdir/usr/optional/libstdc++/
rm ./appdir/AppRun
curl -sL https://github.com/RPCS3/AppImageKit-checkrt/releases/download/continuous2/AppRun-patched-x86_64 -o ./appdir/AppRun
chmod a+x ./appdir/AppRun
curl -sL https://github.com/RPCS3/AppImageKit-checkrt/releases/download/continuous2/exec-x86_64.so -o ./appdir/usr/optional/exec.so
export EXTRA_PLATFORM_PLUGINS="libqwayland.so"
export EXTRA_QT_PLUGINS="svg;wayland-decoration-client;wayland-graphics-integration-client;wayland-shell-integration;waylandcompositor"
# Compile checker binary for AppImageKit-checkrt
APPIMAGE_EXTRACT_AND_RUN=1 linuxdeploy --appdir AppDir --plugin qt --plugin checkrt
# This may need updating if you update the compiler or rpcs3 uses newer c++ features
# See https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/config/abi/pre/gnu.ver
# for which definitions correlate to which CXXABI version.
# Currently we target a minimum of GLIBCXX_3.4.26 and CXXABI_1.3.11
printf "#include <bits/stdc++.h>\nint main(){std::make_exception_ptr(0);std::pmr::get_default_resource();}" | $CXX -x c++ -std=c++2a -o ./appdir/usr/optional/checker -
# Remove libwayland-client because it has platform-dependent exports and breaks other OSes
rm -f ./AppDir/usr/lib/libwayland-client.so*
# Package it up and send it off
./squashfs-root/usr/bin/appimagetool /rpcs3/build/appdir
ls
# Remove libvulkan because it causes issues with gamescope
rm -f ./AppDir/usr/lib/libvulkan.so*
COMM_TAG="$(grep 'version{.*}' ../rpcs3/rpcs3_version.cpp | awk -F[\{,] '{printf "%d.%d.%d", $2, $3, $4}')"
# Remove unused Qt6 libraries
rm -f ./AppDir/usr/lib/libQt6VirtualKeyboard.so*
rm -f ./AppDir/usr/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so*
# Remove git directory containing local commit history file
rm -rf ./AppDir/usr/share/rpcs3/git
# Download translations
mkdir -p "./AppDir/usr/translations"
ZIP_URL=$(curl -fsSL "https://api.github.com/repos/RPCS3/rpcs3_translations/releases/latest" \
| grep "browser_download_url" \
| grep "RPCS3-languages.zip" \
| cut -d '"' -f 4)
if [ -z "$ZIP_URL" ]; then
echo "Failed to find RPCS3-languages.zip in the latest release. Continuing without translations."
else
echo "Downloading translations from: $ZIP_URL"
curl -L -o translations.zip "$ZIP_URL" || {
echo "Failed to download translations.zip. Continuing without translations."
exit 0
}
unzip -o translations.zip -d "./AppDir/usr/translations" >/dev/null 2>&1 || \
echo "Failed to extract translations.zip. Continuing without translations."
rm -f translations.zip
fi
curl -fsSLo /uruntime "https://github.com/VHSgunzo/uruntime/releases/download/v0.3.4/uruntime-appimage-dwarfs-$CPU_ARCH"
chmod +x /uruntime
/uruntime --appimage-mkdwarfs -f --set-owner 0 --set-group 0 --no-history --no-create-timestamp \
--compression zstd:level=22 -S26 -B32 --header /uruntime -i AppDir -o RPCS3.AppImage
APPIMAGE_SUFFIX="linux_${CPU_ARCH}"
if [ "$CPU_ARCH" = "x86_64" ]; then
# Preserve back compat. Previous versions never included the full arch.
APPIMAGE_SUFFIX="linux64"
fi
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ../rpcs3/rpcs3_version.cpp)
COMM_COUNT="$(git rev-list --count HEAD)"
COMM_HASH="$(git rev-parse --short=8 HEAD)"
RPCS3_APPIMAGE="rpcs3-v${COMM_TAG}-${COMM_COUNT}-${COMM_HASH}_linux64.AppImage"
RPCS3_APPIMAGE="rpcs3-v${COMM_TAG}-${COMM_COUNT}-${COMM_HASH}_${APPIMAGE_SUFFIX}.AppImage"
mv ./RPCS3*.AppImage "$RPCS3_APPIMAGE"
# If we're building using Azure Pipelines, let's copy over the AppImage artifact
# If we're building using a CI, let's copy over the AppImage artifact
if [ -n "$BUILD_ARTIFACTSTAGINGDIRECTORY" ]; then
cp "$RPCS3_APPIMAGE" ~/artifacts
cp "$RPCS3_APPIMAGE" "$ARTDIR"
fi
FILESIZE=$(stat -c %s ./rpcs3*.AppImage)
SHA256SUM=$(sha256sum ./rpcs3*.AppImage | awk '{ print $1 }')
echo "${SHA256SUM};${FILESIZE}B" > /rpcs3/GitHubReleaseMessage.txt
fi
if [ "$DEPLOY_PPA" = "true" ]; then
export DEBFULLNAME="RPCS3 Build Bot"
echo "${SHA256SUM};${FILESIZE}B" > "$RELEASE_MESSAGE"
fi

20
.ci/deploy-llvm.sh Normal file
View file

@ -0,0 +1,20 @@
#!/bin/sh -ex
# First let's print some info about our caches
"$(cygpath -u "$CCACHE_BIN_DIR")"/ccache.exe --show-stats -v
# BUILD_blablabla is Azure specific, so we wrap it for portability
ARTIFACT_DIR="$BUILD_ARTIFACTSTAGINGDIRECTORY"
BUILD="llvmlibs_mt.7z"
# Package artifacts
7z a -m0=LZMA2 -mx9 "$BUILD" ./build/lib/Release-x64/llvm_build
# Generate sha256 hashes
# Write to file for GitHub releases
sha256sum "$BUILD" | awk '{ print $1 }' | tee "$BUILD.sha256"
echo "$(cat "$BUILD.sha256");$(stat -c %s "$BUILD")B" > GitHubReleaseMessage.txt
# Move files to publishing directory
cp -- "$BUILD" "$ARTIFACT_DIR"
cp -- "$BUILD.sha256" "$ARTIFACT_DIR"

76
.ci/deploy-mac-arm64.sh Executable file
View file

@ -0,0 +1,76 @@
#!/bin/sh -ex
# shellcheck disable=SC2086
cd build || exit 1
# Gather explicit version number and number of commits
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ../rpcs3/rpcs3_version.cpp)
COMM_COUNT=$(git rev-list --count HEAD)
COMM_HASH=$(git rev-parse --short=8 HEAD)
AVVER="${COMM_TAG}-${COMM_COUNT}"
# AVVER is used for GitHub releases, it is the version number.
echo "AVVER=$AVVER" >> ../.ci/ci-vars.env
cd bin
mkdir "rpcs3.app/Contents/lib/" || true
cp "$(realpath /opt/homebrew/opt/llvm@$LLVM_COMPILER_VER/lib/c++/libc++abi.1.0.dylib)" "rpcs3.app/Contents/Frameworks/libc++abi.1.dylib"
cp "$(realpath /opt/homebrew/opt/gcc/lib/gcc/current/libgcc_s.1.1.dylib)" "rpcs3.app/Contents/Frameworks/libgcc_s.1.1.dylib"
cp "$(realpath /opt/homebrew/lib/libsharpyuv.0.dylib)" "rpcs3.app/Contents/lib/libsharpyuv.0.dylib"
cp "$(realpath /opt/homebrew/lib/libintl.8.dylib)" "rpcs3.app/Contents/lib/libintl.8.dylib"
rm -rf "rpcs3.app/Contents/Frameworks/QtPdf.framework" \
"rpcs3.app/Contents/Frameworks/QtQml.framework" \
"rpcs3.app/Contents/Frameworks/QtQmlModels.framework" \
"rpcs3.app/Contents/Frameworks/QtQuick.framework" \
"rpcs3.app/Contents/Frameworks/QtVirtualKeyboard.framework" \
"rpcs3.app/Contents/Plugins/platforminputcontexts" \
"rpcs3.app/Contents/Plugins/virtualkeyboard" \
"rpcs3.app/Contents/Resources/git"
../../.ci/optimize-mac.sh rpcs3.app
# Download translations
mkdir -p "rpcs3.app/Contents/translations"
ZIP_URL=$(curl -fsSL "https://api.github.com/repos/RPCS3/rpcs3_translations/releases/latest" \
| grep "browser_download_url" \
| grep "RPCS3-languages.zip" \
| cut -d '"' -f 4)
if [ -z "$ZIP_URL" ]; then
echo "Failed to find RPCS3-languages.zip in the latest release. Continuing without translations."
else
echo "Downloading translations from: $ZIP_URL"
curl -L -o translations.zip "$ZIP_URL" || {
echo "Failed to download translations.zip. Continuing without translations."
exit 0
}
unzip -o translations.zip -d "rpcs3.app/Contents/translations" >/dev/null 2>&1 || \
echo "Failed to extract translations.zip. Continuing without translations."
rm -f translations.zip
fi
# Hack
install_name_tool -delete_rpath /opt/homebrew/lib RPCS3.app/Contents/MacOS/rpcs3 || echo "Hack for deleting rpath /opt/homebrew/lib not needed"
install_name_tool -delete_rpath /opt/homebrew/opt/llvm@$LLVM_COMPILER_VER/lib RPCS3.app/Contents/MacOS/rpcs3 || echo "Hack for deleting rpath /opt/homebrew/opt/llvm@$LLVM_COMPILER_VER/lib not needed"
# Need to do this rename hack due to case insensitive filesystem
mv rpcs3.app RPCS3_.app
mv RPCS3_.app RPCS3.app
# NOTE: "--deep" is deprecated
codesign --deep -fs - RPCS3.app
echo "[InternetShortcut]" > Quickstart.url
echo "URL=https://rpcs3.net/quickstart" >> Quickstart.url
echo "IconIndex=0" >> Quickstart.url
ARCHIVE_FILEPATH="$BUILD_ARTIFACTSTAGINGDIRECTORY/rpcs3-v${COMM_TAG}-${COMM_COUNT}-${COMM_HASH}_macos_arm64.7z"
"/opt/homebrew/bin/7z" a -mx9 "$ARCHIVE_FILEPATH" RPCS3.app Quickstart.url
FILESIZE=$(stat -f %z "$ARCHIVE_FILEPATH")
SHA256SUM=$(shasum -a 256 "$ARCHIVE_FILEPATH" | awk '{ print $1 }')
cd ..
echo "${SHA256SUM};${FILESIZE}B" > "$RELEASE_MESSAGE"
cd bin

77
.ci/deploy-mac.sh Executable file
View file

@ -0,0 +1,77 @@
#!/bin/sh -ex
# shellcheck disable=SC2086
cd build || exit 1
# Gather explicit version number and number of commits
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ../rpcs3/rpcs3_version.cpp)
COMM_COUNT=$(git rev-list --count HEAD)
COMM_HASH=$(git rev-parse --short=8 HEAD)
AVVER="${COMM_TAG}-${COMM_COUNT}"
# AVVER is used for GitHub releases, it is the version number.
echo "AVVER=$AVVER" >> ../.ci/ci-vars.env
cd bin
mkdir "rpcs3.app/Contents/lib/"
cp "$(realpath /usr/local/opt/llvm@$LLVM_COMPILER_VER/lib/c++/libc++abi.1.0.dylib)" "rpcs3.app/Contents/Frameworks/libc++abi.1.dylib"
cp "$(realpath /usr/local/opt/llvm@$LLVM_COMPILER_VER/lib/unwind/libunwind.1.dylib)" "rpcs3.app/Contents/Frameworks/libunwind.1.dylib"
cp "$(realpath /usr/local/opt/gcc/lib/gcc/current/libgcc_s.1.1.dylib)" "rpcs3.app/Contents/Frameworks/libgcc_s.1.1.dylib"
cp "$(realpath /usr/local/lib/libsharpyuv.0.dylib)" "rpcs3.app/Contents/lib/libsharpyuv.0.dylib"
cp "$(realpath /usr/local/lib/libintl.8.dylib)" "rpcs3.app/Contents/lib/libintl.8.dylib"
rm -rf "rpcs3.app/Contents/Frameworks/QtPdf.framework" \
"rpcs3.app/Contents/Frameworks/QtQml.framework" \
"rpcs3.app/Contents/Frameworks/QtQmlModels.framework" \
"rpcs3.app/Contents/Frameworks/QtQuick.framework" \
"rpcs3.app/Contents/Frameworks/QtVirtualKeyboard.framework" \
"rpcs3.app/Contents/Plugins/platforminputcontexts" \
"rpcs3.app/Contents/Plugins/virtualkeyboard" \
"rpcs3.app/Contents/Resources/git"
../../.ci/optimize-mac.sh rpcs3.app
# Download translations
mkdir -p "rpcs3.app/Contents/translations"
ZIP_URL=$(curl -fsSL "https://api.github.com/repos/RPCS3/rpcs3_translations/releases/latest" \
| grep "browser_download_url" \
| grep "RPCS3-languages.zip" \
| cut -d '"' -f 4)
if [ -z "$ZIP_URL" ]; then
echo "Failed to find RPCS3-languages.zip in the latest release. Continuing without translations."
else
echo "Downloading translations from: $ZIP_URL"
curl -L -o translations.zip "$ZIP_URL" || {
echo "Failed to download translations.zip. Continuing without translations."
exit 0
}
unzip -o translations.zip -d "rpcs3.app/Contents/translations" >/dev/null 2>&1 || \
echo "Failed to extract translations.zip. Continuing without translations."
rm -f translations.zip
fi
# Need to do this rename hack due to case insensitive filesystem
mv rpcs3.app RPCS3_.app
mv RPCS3_.app RPCS3.app
# Hack
install_name_tool -delete_rpath /usr/local/lib RPCS3.app/Contents/MacOS/rpcs3
#-delete_rpath /usr/local/Cellar/sdl3/3.2.8/lib
# NOTE: "--deep" is deprecated
codesign --deep -fs - RPCS3.app
echo "[InternetShortcut]" > Quickstart.url
echo "URL=https://rpcs3.net/quickstart" >> Quickstart.url
echo "IconIndex=0" >> Quickstart.url
ARCHIVE_FILEPATH="$BUILD_ARTIFACTSTAGINGDIRECTORY/rpcs3-v${COMM_TAG}-${COMM_COUNT}-${COMM_HASH}_macos.7z"
"/opt/homebrew/bin/7z" a -mx9 "$ARCHIVE_FILEPATH" RPCS3.app Quickstart.url
FILESIZE=$(stat -f %z "$ARCHIVE_FILEPATH")
SHA256SUM=$(shasum -a 256 "$ARCHIVE_FILEPATH" | awk '{ print $1 }')
cd ..
echo "${SHA256SUM};${FILESIZE}B" > "$RELEASE_MESSAGE"
cd bin

View file

@ -0,0 +1,57 @@
#!/bin/sh -ex
# source ci-vars.env
# shellcheck disable=SC1091
. .ci/ci-vars.env
cd build || exit 1
CPU_ARCH="${1:-x86_64}"
echo "Deploying rpcs3 windows clang $CPU_ARCH"
# BUILD_blablabla is CI specific, so we wrap it for portability
ARTIFACT_DIR=$(cygpath -u "$BUILD_ARTIFACTSTAGINGDIRECTORY")
MSYS2_CLANG_BIN=$(cygpath -w /clang64/bin)
MSYS2_USR_BIN=$(cygpath -w /usr/bin)
echo "Installing dependencies of: ./bin/rpcs3.exe (MSYS2 dir is '$MSYS2_CLANG_BIN', usr dir is '$MSYS2_USR_BIN')"
cmake -DMSYS2_CLANG_BIN="$MSYS2_CLANG_BIN" -DMSYS2_USR_BIN="$MSYS2_USR_BIN" -Dexe=./bin/rpcs3.exe -P ../buildfiles/cmake/CopyRuntimeDependencies.cmake
# Prepare compatibility and SDL database for packaging
mkdir ./bin/config
mkdir ./bin/config/input_configs
curl -fsSL 'https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt' 1> ./bin/config/input_configs/gamecontrollerdb.txt
curl -fsSL 'https://rpcs3.net/compatibility?api=v1&export' | iconv -t UTF-8 1> ./bin/GuiConfigs/compat_database.dat
# Download translations
mkdir -p ./bin/share/qt6/translations
ZIP_URL=$(curl -fsSL "https://api.github.com/repos/RPCS3/rpcs3_translations/releases/latest" \
| grep "browser_download_url" \
| grep "RPCS3-languages.zip" \
| cut -d '"' -f 4)
if [ -z "$ZIP_URL" ]; then
echo "Failed to find RPCS3-languages.zip in the latest release. Continuing without translations."
else
echo "Downloading translations from: $ZIP_URL"
curl -L -o translations.zip "$ZIP_URL" || {
echo "Failed to download translations.zip. Continuing without translations."
exit 0
}
unzip -o translations.zip -d "./bin/share/qt6/translations" >/dev/null 2>&1 || \
echo "Failed to extract translations.zip. Continuing without translations."
rm -f translations.zip
fi
# Package artifacts
7z a -m0=LZMA2 -mx9 "$BUILD" ./bin/*
# Generate sha256 hashes
# Write to file for GitHub releases
sha256sum "$BUILD" | awk '{ print $1 }' | tee "$BUILD.sha256"
echo "$(cat "$BUILD.sha256");$(stat -c %s "$BUILD")B" > GitHubReleaseMessage.txt
# Move files to publishing directory
mkdir -p "$ARTIFACT_DIR"
cp -- "$BUILD" "$ARTIFACT_DIR"
cp -- "$BUILD.sha256" "$ARTIFACT_DIR"

View file

@ -1,15 +1,41 @@
#!/bin/sh -ex
# BUILD_blablabla is Azure specific, so we wrap it for portability
# First let's print some info about our caches
"$(cygpath -u "$CCACHE_BIN_DIR")"/ccache.exe --show-stats -v
# BUILD_blablabla is CI specific, so we wrap it for portability
ARTIFACT_DIR="$BUILD_ARTIFACTSTAGINGDIRECTORY"
# Remove unecessary files
rm -f ./bin/rpcs3.exp ./bin/rpcs3.lib ./bin/rpcs3.pdb
rm -f ./bin/rpcs3.exp ./bin/rpcs3.lib ./bin/rpcs3.pdb ./bin/vc_redist.x64.exe
# Prepare compatibility database for packaging, as well as
# certificate for ssl (auto-updater)
curl -sL 'https://rpcs3.net/compatibility?api=v1&export' | iconv -t UTF-8 > ./bin/GuiConfigs/compat_database.dat
curl -sL 'https://curl.haxx.se/ca/cacert.pem' > ./bin/cacert.pem
# Prepare compatibility and SDL database for packaging
mkdir ./bin/config
mkdir ./bin/config/input_configs
curl -fsSL 'https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt' 1> ./bin/config/input_configs/gamecontrollerdb.txt
curl -fsSL 'https://rpcs3.net/compatibility?api=v1&export' | iconv -t UTF-8 1> ./bin/GuiConfigs/compat_database.dat
# Download translations
mkdir -p ./bin/qt6/translations
ZIP_URL=$(curl -fsSL "https://api.github.com/repos/RPCS3/rpcs3_translations/releases/latest" \
| grep "browser_download_url" \
| grep "RPCS3-languages.zip" \
| cut -d '"' -f 4)
if [ -z "$ZIP_URL" ]; then
echo "Failed to find RPCS3-languages.zip in the latest release. Continuing without translations."
else
echo "Downloading translations from: $ZIP_URL"
curl -L -o translations.zip "$ZIP_URL" || {
echo "Failed to download translations.zip. Continuing without translations."
exit 0
}
unzip -o translations.zip -d "./bin/qt6/translations" >/dev/null 2>&1 || \
echo "Failed to extract translations.zip. Continuing without translations."
rm -f translations.zip
fi
# Download SSL certificate (not needed with CURLSSLOPT_NATIVE_CA)
#curl -fsSL 'https://curl.haxx.se/ca/cacert.pem' 1> ./bin/cacert.pem
# Package artifacts
7z a -m0=LZMA2 -mx9 "$BUILD" ./bin/*
@ -20,5 +46,5 @@ sha256sum "$BUILD" | awk '{ print $1 }' | tee "$BUILD.sha256"
echo "$(cat "$BUILD.sha256");$(stat -c %s "$BUILD")B" > GitHubReleaseMessage.txt
# Move files to publishing directory
mv -- "$BUILD" "$ARTIFACT_DIR"
mv -- "$BUILD.sha256" "$ARTIFACT_DIR"
cp -- "$BUILD" "$ARTIFACT_DIR"
cp -- "$BUILD.sha256" "$ARTIFACT_DIR"

View file

@ -1,10 +1,13 @@
# Variables set by Azure Pipelines
IS_AZURE
# Variables set by CI
BUILD_REASON
BUILD_SOURCEVERSION
BUILD_ARTIFACTSTAGINGDIRECTORY
BUILD_REPOSITORY_NAME
BUILD_SOURCEBRANCHNAME
APPDIR
ARTDIR
RELEASE_MESSAGE
RUN_UNIT_TESTS
# Variables for build matrix
COMPILER
DEPLOY_APPIMAGE

View file

@ -1,13 +0,0 @@
#!/bin/sh -e
# Export variables for later stages of the Azure pipeline
# Values done in this manner will appear as environment variables
# in later stages.
# From pure-sh-bible
# Setting 'IFS' tells 'read' where to split the string.
while IFS='=' read -r key val; do
# Skip over lines containing comments.
[ "${key##\#*}" ] || continue
echo "##vso[task.setvariable variable=$key]$val"
done < ".ci/azure-vars.env"

13
.ci/generate-qt-ts.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/sh -ex
mkdir -p ../translations
LUPDATE_PATH=$(find /usr -name lupdate -type f 2>/dev/null | head -n 1)
if [ -z "$LUPDATE_PATH" ]; then
echo "Error: lupdate not found!"
exit 1
else
echo "lupdate found at: $LUPDATE_PATH"
$LUPDATE_PATH -recursive . -ts ../translations/rpcs3_template.ts
sed -i 's|filename="\.\./|filename="./|g' ../translations/rpcs3_template.ts
fi

3
.ci/get_keys-windows.sh Normal file → Executable file
View file

@ -1,4 +1,3 @@
#!/bin/sh -ex
curl -L -o "./llvm.lock" "https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win/llvmlibs_mt.7z.sha256"
curl -L -o "./glslang.lock" "https://github.com/RPCS3/glslang/releases/download/custom-build-win/glslanglibs_mt.7z.sha256"
curl -fLo "./llvm.lock" "https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-${LLVM_VER}/llvmlibs_mt.7z.sha256"

View file

@ -16,7 +16,7 @@ generate_post_data()
EOF
}
curl -s \
curl -fsS \
-H "Authorization: token ${RPCS3_TOKEN}" \
-H "Accept: application/vnd.github.v3+json" \
--data "$(generate_post_data)" "https://api.github.com/repos/$UPLOAD_REPO_FULL_NAME/releases" >> release.json
@ -24,11 +24,11 @@ curl -s \
cat release.json
id=$(grep '"id"' release.json | cut -d ':' -f2 | head -n1 | awk '{$1=$1;print}')
id=${id%?}
echo ${id:?}
echo "${id:?}"
upload_file()
{
curl -s \
curl -fsS \
-H "Authorization: token ${RPCS3_TOKEN}" \
-H "Accept: application/vnd.github.v3+json" \
-H "Content-Type: application/octet-stream" \

View file

@ -2,17 +2,17 @@
# NOTE: this script is run under root permissions
# shellcheck shell=sh disable=SC2096
# RPCS3 often needs recent Qt5 and Vulkan-Headers
# RPCS3 often needs recent Qt and Vulkan-Headers
sed -i '' 's/quarterly/latest/' /etc/pkg/FreeBSD.conf
export ASSUME_ALWAYS_YES=true
pkg info # debug
# Prefer newer Clang than in base system (see also .ci/build-freebsd.sh)
pkg install llvm11
# WITH_LLVM
pkg install "llvm$LLVM_COMPILER_VER"
# Mandatory dependencies (qt5-dbus and qt5-gui are pulled via qt5-widgets)
pkg install git ccache cmake ninja qt5-qmake qt5-buildtools qt5-widgets qt5-concurrent glew openal-soft ffmpeg
# Mandatory dependencies (qtX-base is pulled via qtX-multimedia)
pkg install git ccache cmake ninja "qt$QT_VER_MAIN-multimedia" "qt$QT_VER_MAIN-svg" glew openal-soft ffmpeg pcre2
# Optional dependencies (libevdev is pulled by qt5-gui)
pkg install pkgconf alsa-lib pulseaudio sdl2 evdev-proto vulkan-headers vulkan-loader
# Optional dependencies (libevdev is pulled by qtX-base)
pkg install pkgconf alsa-lib pulseaudio sdl3 evdev-proto vulkan-headers vulkan-loader opencv

21
.ci/optimize-mac.sh Executable file
View file

@ -0,0 +1,21 @@
#!/bin/sh
file_path=$(find "$1/Contents/MacOS" -type f -print0 | head -n 1)
if [ -z "$file_path" ]; then
echo "No executable file found in $1/Contents/MacOS" >&2
exit 1
fi
target_architecture="$(lipo "$file_path" -archs)"
if [ -z "$target_architecture" ]; then
exit 1
fi
# shellcheck disable=SC3045
find "$1" -type f -print0 | while IFS= read -r -d '' file; do
echo Thinning "$file" -> "$target_architecture"
lipo "$file" -thin "$target_architecture" -output "$file" || true
done

63
.ci/setup-llvm.sh Normal file
View file

@ -0,0 +1,63 @@
#!/bin/sh -ex
# Resource/dependency URLs
CCACHE_URL="https://github.com/ccache/ccache/releases/download/v4.11.2/ccache-4.11.2-windows-x86_64.zip"
DEP_URLS=" \
$CCACHE_URL"
# CI doesn't make a cache dir if it doesn't exist, so we do it manually
[ -d "$DEPS_CACHE_DIR" ] || mkdir "$DEPS_CACHE_DIR"
# Pull the llvm submodule
# shellcheck disable=SC2046
git submodule -q update --init --depth=1 -- 3rdparty/llvm
# Git bash doesn't have rev, so here it is
rev()
{
echo "$1" | awk '{ for(i = length($0); i != 0; --i) { a = a substr($0, i, 1); } } END { print a }'
}
# Usage: download_and_verify url checksum algo file
# Check to see if a file is already cached, and the checksum matches. If not, download it.
# Tries up to 3 times
download_and_verify()
{
url="$1"
correctChecksum="$2"
algo="$3"
fileName="$4"
for _ in 1 2 3; do
[ -e "$DEPS_CACHE_DIR/$fileName" ] || curl -fLo "$DEPS_CACHE_DIR/$fileName" "$url"
fileChecksum=$("${algo}sum" "$DEPS_CACHE_DIR/$fileName" | awk '{ print $1 }')
[ "$fileChecksum" = "$correctChecksum" ] && return 0
done
return 1;
}
# Some dependencies install here
[ -d "./build/lib_ext/Release-x64" ] || mkdir -p "./build/lib_ext/Release-x64"
for url in $DEP_URLS; do
# Get the filename from the URL and remove query strings (?arg=something).
fileName="$(rev "$(rev "$url" | cut -d'/' -f1)" | cut -d'?' -f1)"
[ -z "$fileName" ] && echo "Unable to parse url: $url" && exit 1
# shellcheck disable=SC1003
case "$url" in
*ccache*) checksum=$CCACHE_SHA; algo="sha256"; outDir="$CCACHE_BIN_DIR" ;;
*) echo "Unknown url resource: $url"; exit 1 ;;
esac
download_and_verify "$url" "$checksum" "$algo" "$fileName"
7z x -y "$DEPS_CACHE_DIR/$fileName" -aos -o"$outDir"
done
# Setup ccache tool
[ -d "$CCACHE_DIR" ] || mkdir -p "$(cygpath -u "$CCACHE_DIR")"
CCACHE_SH_DIR=$(cygpath -u "$CCACHE_BIN_DIR")
mv "$CCACHE_SH_DIR"/ccache-*/* "$CCACHE_SH_DIR"
cp "$CCACHE_SH_DIR"/ccache.exe "$CCACHE_SH_DIR"/cl.exe

View file

@ -0,0 +1,39 @@
#!/bin/sh -ex
CPU_ARCH="${1:-win64}"
COMPILER="${2:-msvc}"
# These are CI specific, so we wrap them for portability
REPO_NAME="$BUILD_REPOSITORY_NAME"
REPO_BRANCH="$BUILD_SOURCEBRANCHNAME"
PR_NUMBER="$BUILD_PR_NUMBER"
# Gather explicit version number and number of commits
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ./rpcs3/rpcs3_version.cpp)
COMM_COUNT=$(git rev-list --count HEAD)
COMM_HASH=$(git rev-parse --short=8 HEAD)
# Format the above into filenames
if [ -n "$PR_NUMBER" ]; then
AVVER="${COMM_TAG}-${COMM_HASH}"
BUILD_RAW="rpcs3-v${AVVER}_${CPU_ARCH}_${COMPILER}"
BUILD="${BUILD_RAW}.7z"
else
AVVER="${COMM_TAG}-${COMM_COUNT}"
BUILD_RAW="rpcs3-v${AVVER}-${COMM_HASH}_${CPU_ARCH}_${COMPILER}"
BUILD="${BUILD_RAW}.7z"
fi
# BRANCH is used for experimental build warnings for pr builds, used in main_window.cpp.
# BUILD is the name of the release artifact
# BUILD_RAW is just filename
# AVVER is used for GitHub releases, it is the version number.
BRANCH="${REPO_NAME}/${REPO_BRANCH}"
# SC2129
{
echo "BRANCH=$BRANCH"
echo "BUILD=$BUILD"
echo "BUILD_RAW=$BUILD_RAW"
echo "AVVER=$AVVER"
} >> .ci/ci-vars.env

View file

@ -1,42 +1,40 @@
#!/bin/sh -ex
# These are Azure specific, so we wrap them for portability
REPO_NAME="$BUILD_REPOSITORY_NAME"
REPO_BRANCH="$SYSTEM_PULLREQUEST_SOURCEBRANCH"
PR_NUMBER="$SYSTEM_PULLREQUEST_PULLREQUESTID"
# Resource/dependency URLs
# Qt mirrors can be volatile and slow, so we list 2
QT_HOST="http://mirrors.ocf.berkeley.edu/qt/"
#QT_HOST="http://qt.mirror.constant.com/"
#QT_HOST="http://mirrors.ocf.berkeley.edu/qt/"
QT_HOST="http://qt.mirror.constant.com/"
QT_URL_VER=$(echo "$QT_VER" | sed "s/\.//g")
QT_VER_MSVC_UP=$(echo ${QT_VER_MSVC} | tr '[:lower:]' '[:upper:]')
QT_PREFIX="online/qtsdkrepository/windows_x86/desktop/qt${QT_VER_MAIN}_${QT_URL_VER}/qt.qt${QT_VER_MAIN}.${QT_URL_VER}.win64_${QT_VER_MSVC}_64/${QT_VER}-0-${QT_DATE}"
QT_SUFFIX="-Windows-Windows_10-${QT_VER_MSVC_UP}-Windows-Windows_10-X86_64.7z"
QT_BASE_URL="${QT_HOST}${QT_PREFIX}qtbase${QT_SUFFIX}"
QT_WINE_URL="${QT_HOST}${QT_PREFIX}qtwinextras${QT_SUFFIX}"
QT_DECL_URL="${QT_HOST}${QT_PREFIX}qtdeclarative${QT_SUFFIX}"
QT_TOOL_URL="${QT_HOST}${QT_PREFIX}qttools${QT_SUFFIX}"
LLVMLIBS_URL='https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win/llvmlibs_mt.7z'
GLSLANG_URL='https://github.com/RPCS3/glslang/releases/download/custom-build-win/glslanglibs_mt.7z'
VULKAN_SDK_URL="https://www.dropbox.com/s/kn005de7gsv5whe/VulkanSDK-1.2.154.1-Installer.exe"
QT_VER_MSVC_UP=$(echo "${QT_VER_MSVC}" | tr '[:lower:]' '[:upper:]')
QT_PREFIX="online/qtsdkrepository/windows_x86/desktop/qt${QT_VER_MAIN}_${QT_URL_VER}/qt${QT_VER_MAIN}_${QT_URL_VER}/qt.qt${QT_VER_MAIN}.${QT_URL_VER}."
QT_PREFIX_2="win64_${QT_VER_MSVC}_64/${QT_VER}-0-${QT_DATE}"
QT_SUFFIX="-Windows-Windows_11_24H2-${QT_VER_MSVC_UP}-Windows-Windows_11_24H2-X86_64.7z"
QT_BASE_URL="${QT_HOST}${QT_PREFIX}${QT_PREFIX_2}qtbase${QT_SUFFIX}"
QT_DECL_URL="${QT_HOST}${QT_PREFIX}${QT_PREFIX_2}qtdeclarative${QT_SUFFIX}"
QT_TOOL_URL="${QT_HOST}${QT_PREFIX}${QT_PREFIX_2}qttools${QT_SUFFIX}"
QT_MM_URL="${QT_HOST}${QT_PREFIX}addons.qtmultimedia.${QT_PREFIX_2}qtmultimedia${QT_SUFFIX}"
QT_SVG_URL="${QT_HOST}${QT_PREFIX}${QT_PREFIX_2}qtsvg${QT_SUFFIX}"
LLVMLIBS_URL="https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-${LLVM_VER}/llvmlibs_mt.7z"
VULKAN_SDK_URL="https://www.dropbox.com/scl/fi/sjjh0fc4ld281pjbl2xzu/VulkanSDK-${VULKAN_VER}-Installer.exe?rlkey=f6wzc0lvms5vwkt2z3qabfv9d&dl=1"
CCACHE_URL="https://github.com/ccache/ccache/releases/download/v4.11.2/ccache-4.11.2-windows-x86_64.zip"
DEP_URLS=" \
$QT_BASE_URL \
$QT_WINE_URL \
$QT_DECL_URL \
$QT_TOOL_URL \
$QT_MM_URL \
$QT_SVG_URL \
$LLVMLIBS_URL \
$GLSLANG_URL \
$VULKAN_SDK_URL"
$VULKAN_SDK_URL\
$CCACHE_URL"
# Azure pipelines doesn't make a cache dir if it doesn't exist, so we do it manually
[ -d "$CACHE_DIR" ] || mkdir "$CACHE_DIR"
# CI doesn't make a cache dir if it doesn't exist, so we do it manually
[ -d "$DEPS_CACHE_DIR" ] || mkdir "$DEPS_CACHE_DIR"
# Pull all the submodules except llvm, since it is built separately and we just download that build
# Note: Tried to use git submodule status, but it takes over 20 seconds
# shellcheck disable=SC2046
git submodule -q update --init --depth 1 $(awk '/path/ && !/llvm/ { print $3 }' .gitmodules)
git submodule -q update --init --depth=1 --jobs=8 $(awk '/path/ && !/FAudio/ && !/llvm/ && !/feralinteractive/ { print $3 }' .gitmodules)
# Git bash doesn't have rev, so here it is
rev()
@ -55,61 +53,44 @@ download_and_verify()
fileName="$4"
for _ in 1 2 3; do
[ -e "$CACHE_DIR/$fileName" ] || curl -L -o "$CACHE_DIR/$fileName" "$url"
fileChecksum=$("${algo}sum" "$CACHE_DIR/$fileName" | awk '{ print $1 }')
[ -e "$DEPS_CACHE_DIR/$fileName" ] || curl -fLo "$DEPS_CACHE_DIR/$fileName" "$url"
fileChecksum=$("${algo}sum" "$DEPS_CACHE_DIR/$fileName" | awk '{ print $1 }')
[ "$fileChecksum" = "$correctChecksum" ] && return 0
rm "$CACHE_DIR/$fileName"
done
return 1;
}
# Some dependencies install here
[ -d "./lib" ] || mkdir "./lib"
[ -d "./build/lib_ext/Release-x64" ] || mkdir -p "./build/lib_ext/Release-x64"
for url in $DEP_URLS; do
# Get the filename from the URL. Breaks if urls have js args, so don't do that pls
fileName="$(rev "$(rev "$url" | cut -d'/' -f1)")"
# Get the filename from the URL and remove query strings (?arg=something).
fileName="$(rev "$(rev "$url" | cut -d'/' -f1)" | cut -d'?' -f1)"
[ -z "$fileName" ] && echo "Unable to parse url: $url" && exit 1
# shellcheck disable=SC1003
case "$url" in
*qt*) checksum=$(curl -L "${url}.sha1"); algo="sha1"; outDir='C:\Qt\' ;;
*llvm*) checksum=$(curl -L "${url}.sha256"); algo="sha256"; outDir="." ;;
*glslang*) checksum=$(curl -L "${url}.sha256"); algo="sha256"; outDir="./lib/Release - LLVM-x64" ;;
*qt*) checksum=$(curl -fL "${url}.sha1"); algo="sha1"; outDir="$QTDIR/" ;;
*llvm*) checksum=$(curl -fL "${url}.sha256"); algo="sha256"; outDir="./build/lib_ext/Release-x64" ;;
*ccache*) checksum=$CCACHE_SHA; algo="sha256"; outDir="$CCACHE_BIN_DIR" ;;
*Vulkan*)
# Vulkan setup needs to be run in batch environment
# Need to subshell this or else it doesn't wait
download_and_verify "$url" "$VULKAN_SDK_SHA" "sha256" "$fileName"
cp "$CACHE_DIR/$fileName" .
_=$(echo "$fileName /S" | cmd)
cp "$DEPS_CACHE_DIR/$fileName" .
_=$(echo "$fileName --accept-licenses --default-answer --confirm-command install" | cmd)
continue
;;
*) echo "Unknown url resource: $url"; exit 1 ;;
esac
download_and_verify "$url" "$checksum" "$algo" "$fileName"
7z x -y "$CACHE_DIR/$fileName" -aos -o"$outDir"
7z x -y "$DEPS_CACHE_DIR/$fileName" -aos -o"$outDir"
done
# Gather explicit version number and number of commits
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ./rpcs3/rpcs3_version.cpp)
COMM_COUNT=$(git rev-list --count HEAD)
COMM_HASH=$(git rev-parse --short=8 HEAD)
# Format the above into filenames
if [ -n "$PR_NUMBER" ]; then
AVVER="${COMM_TAG}-${COMM_HASH}"
BUILD="rpcs3-v${AVVER}_win64.7z"
else
AVVER="${COMM_TAG}-${COMM_COUNT}"
BUILD="rpcs3-v${AVVER}-${COMM_HASH}_win64.7z"
fi
# BRANCH is used for experimental build warnings for pr builds, used in main_window.cpp.
# BUILD is the name of the release artifact
# AVVER is used for GitHub releases, it is the version number.
BRANCH="${REPO_NAME}/${REPO_BRANCH}"
echo "BRANCH=$BRANCH" > .ci/azure-vars.env
echo "BUILD=$BUILD" >> .ci/azure-vars.env
echo "AVVER=$AVVER" >> .ci/azure-vars.env
# Setup ccache tool
[ -d "$CCACHE_DIR" ] || mkdir -p "$(cygpath -u "$CCACHE_DIR")"
CCACHE_SH_DIR=$(cygpath -u "$CCACHE_BIN_DIR")
mv "$CCACHE_SH_DIR"/ccache-*/* "$CCACHE_SH_DIR"
cp "$CCACHE_SH_DIR"/ccache.exe "$CCACHE_SH_DIR"/cl.exe

View file

@ -1,19 +0,0 @@
env:
CIRRUS_CLONE_DEPTH: 0 # Unshallow clone to obtain proper GIT_VERSION
freebsd_task:
matrix:
- name: FreeBSD 12.2
freebsd_instance:
image_family: freebsd-12-2
cpu: 8
memory: 8G
env:
CCACHE_MAXSIZE: 300M # 3x clean build, rounded
CCACHE_DIR: /tmp/ccache_dir
ccache_cache:
folder: /tmp/ccache_dir
packages_cache:
folder: /var/cache/pkg
install_script: "sh -ex ./.ci/install-freebsd.sh"
script: "./.ci/build-freebsd.sh"

View file

@ -1,5 +1,5 @@
Standard: c++20
UseTab: ForIndentation
UseTab: AlignWithSpaces
TabWidth: 4
IndentWidth: 4
AccessModifierOffset: -4
@ -16,11 +16,12 @@ AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false
AllowShortLambdasOnASingleLine: Empty
Cpp11BracedListStyle: true
IndentCaseLabels: false
SortIncludes: false
ReflowComments: true
AlignConsecutiveAssignments: true
AlignConsecutiveAssignments: false
AlignTrailingComments: true
AlignAfterOpenBracket: DontAlign
ConstructorInitializerAllOnOneLineOrOnePerLine: false

View file

@ -1,6 +1,6 @@
# Getting Started
Before getting started using the emulator, read the [Quickstart Guide](https://rpcs3.net/quickstart) and the [FAQ](https://rpcs3.net/faq). After reading those, if you need support, visit our [Forums](https://forums.rpcs3.net).
Before getting started using the emulator, read the [Quickstart Guide](https://rpcs3.net/quickstart). After reading it, if you need support, check out [How to ask for Support](https://github.com/RPCS3/rpcs3/wiki/How-to-ask-for-Support).
# Issue Reporting
@ -8,13 +8,12 @@ Before getting started using the emulator, read the [Quickstart Guide](https://r
**Before reporting an issue:**
- Check if your system matches all the minimum requirements listed in the [Quickstart Guide](https://rpcs3.net/quickstart);
- Check if the issue is meaningful for the team (e.g. The Last of Us doesn't work is obvious and therefore useless);
- Search older issues/forum threads to see if your issue was already submitted.
- Use understandable English. It doesn't need to be perfect, but clear enough to understand your message.
- While reporting issues, don't forget to include details about your system (OS, CPU, GPU, etc.), as well as the RPCS3.log file.
- Search older issues/forum threads to see if your issue was already submitted;
- Use understandable English. It doesn't need to be perfect, but clear enough to understand your message;
- While reporting issues, please follow the template for the type of issue you've selected (Regression Report, Bug Report or Feature Request), which is prefilled on the issue's textbox.
Submitting your test results for Commercial Games must be done on our forums. Please read the [Game Compatibility](https://github.com/RPCS3/rpcs3/wiki/Game-Compatibility) wiki page before doing so.
# Contributing
Check the [Coding Style Guidelines](https://github.com/RPCS3/rpcs3/wiki/Coding-Style), [Roadmap](https://github.com/RPCS3/rpcs3/wiki/Roadmap) and [Developer Information](https://github.com/RPCS3/rpcs3/wiki/Developer-Information). If you have any questions, hit us up on our [Discord Server](https://discord.me/RPCS3) in the **#development** channel.
Check the [Coding Style Guidelines](https://github.com/RPCS3/rpcs3/wiki/Coding-Style) and [Developer Information](https://github.com/RPCS3/rpcs3/wiki/Developer-Information). If you have any questions, hit us up on our [Discord Server](https://discord.gg/rpcs3) in the **#development** channel.

1
.github/FUNDING.yml vendored
View file

@ -1,2 +1 @@
patreon: Nekotekina
custom: https://rpcs3.net/alipay

View file

@ -1,62 +0,0 @@
---
name: Regression report
about: If something used to work before, but now it doesn't
title: ''
labels: ''
assignees: ''
---
## Please do not ask for help or report compatibility regressions here, use [RPCS3 Discord server](https://discord.me/RPCS3) or [forums](https://forums.rpcs3.net/) instead.
## Quick summary
Please briefly describe what has stopped working correctly.
## Details
Please describe the regression as accurately as possible.
#### 1. Please provide _exact_ build (or commit) information that introduced the regression you're reporting.
* Please see [How to find the build that caused a regression](https://wiki.rpcs3.net/index.php?title=Help:Using_different_versions_of_RPCS3#How_to_find_the_build_that_caused_a_regression.3F) in our wiki.
* You can find [History of RPCS3 builds](https://rpcs3.net/compatibility?b) here.
#### 2. Please attach TWO logs:
* One for the build with regression.
* One for the build that works as expected.
##### How to obtain RPCS3's log:
* Run the game until you find the regression.
* Completely close RPCS3, or move to the next step in case it has crashed.
* Locate RPCS3's log file:
+ ```RPCS3.log``` (It can show up as just RPCS3 and have a notepad icon)
or
+ ```RPCS3.log.gz``` (It can show up as RPCS3.log and have a zip or rar icon)
![image](https://user-images.githubusercontent.com/44116740/84433247-aa15fa80-ac36-11ea-913e-6fe25a1d040e.png)
On Linux it will be in ```~/.cache/rpcs3/```.
On Windows it will be near the executable.
* Attach the log:
+ Drag and drop your log file into the issue.
+ Or upload it to the cloud, such as Dropbox, Mega etc.
#### 3. If you describe graphical regression, please provide an RSX capture and a RenderDoc capture that demonstrate it.
* To create an RSX capture, use _Create_ _RSX_ _Capture_ under _Utilities_.
Captures will be stored in RPCS3 folder → captures.
+ Compress your capture with 7z, Rar etc.
And drag and drop it into the issue.
+ Or upload it to the cloud, such as Dropbox, Mega etc.
* To create a RenderDoc capture, please refer to [RenderDoc's documentation](https://renderdoc.org/docs/how/how_capture_frame.html).
#### 4. Please attach screenshots of your problem.
* Enable performance overlay with at least medium level of detail.
You can find it in _Emulator_ tab in _Settings_.
#### 5. Please provide comparison with real PS3.
#### 6. Please provide your system configuration:
* OS
* CPU
* GPU
* Driver version
* etc.
#### Please include.
* Anything else you deem to be important

View file

@ -0,0 +1,93 @@
name: Regression report
description: If something used to work before, but now it doesn't
title: "[Regression] Enter a title here"
labels: []
body:
- type: markdown
attributes:
value: |
# Summary
Please do not ask for help or report compatibility regressions here, use [RPCS3 Discord server](https://discord.gg/rpcs3) or [forums](https://forums.rpcs3.net/) instead.
- type: textarea
id: quick-summary
attributes:
label: Quick summary
description: Please briefly describe what has stopped working correctly.
validations:
required: true
- type: textarea
id: details
attributes:
label: Details
description: Please describe the regression as accurately as possible. Include screenshots if neccessary.
validations:
required: false
- type: markdown
attributes:
value: |
# Identify the regressed build
Please provide the _exact_ build (or commit) information that introduced the regression you're reporting.
* Please see [How to find the build that caused a regression](https://wiki.rpcs3.net/index.php?title=Help:Using_different_versions_of_RPCS3#How_to_find_the_build_that_caused_a_regression.3F) in our wiki.
* You can find [History of RPCS3 builds](https://rpcs3.net/compatibility?b) here.
Make sure you're running with settings as close to default as possible
* **Do NOT enable any emulator game patches when reporting issues**
* Only change settings that are required for the game to work
- type: input
id: regressed-build
attributes:
label: Build with regression
description: Provide _exact_ build (or commit) information that introduced the regression you're reporting.
placeholder: v0.0.23-13948-31df99f7
validations:
required: true
- type: markdown
attributes:
value: |
# Log files
Obtaining the log file:
* Run the game until you find the regression.
* Completely close RPCS3 and locate the log file.
RPCS3's Log file will be ```RPCS3.log.gz``` (sometimes shows as RPCS3.log with zip icon) or ```RPCS3.log``` (sometimes shows as RPCS3 wtih notepad icon).
* On Windows it will be in the ```log``` folder inside your RPCS3 folder.
* On Linux it will be in ```~/.cache/rpcs3/```
* On MacOS it will be in ```~/Library/Caches/rpcs3```. If you're unable to locate it copy paste the path in Spotlight and hit enter.
- type: textarea
id: logs
attributes:
label: Attach two log files
description: |
Attach one file for the build with regression and another for a build that works.
Drag & drop the files into this input field, or upload them to another service (f.ex. Dropbox, Mega) and provide a link.
validations:
required: true
- type: markdown
attributes:
value: |
# Other details
If you describe a graphical regression, please provide an RSX capture and/or a RenderDoc capture that demonstrate it.
* To create an RSX capture, use _Create_ _RSX_ _Capture_ under _Utilities_.
* Captures will be stored in RPCS3 folder → captures.
* To create a RenderDoc capture, please refer to [RenderDoc's documentation](https://renderdoc.org/docs/how/how_capture_frame.html).
- type: textarea
id: captures
attributes:
label: Attach capture files for visual issues
description: Compress your capture with 7z, Rar etc. and attach it here, or upload it to the cloud (Dropbox, Mega etc) and add a link to it.
validations:
required: false
- type: textarea
id: system-info
attributes:
label: System configuration
description: Provide information about your system, such as operating system, CPU and GPU model, GPU driver version and other information that describes your system configuration.
validations:
required: false
- type: textarea
id: other-details
attributes:
label: Other details
description: Include anything else you deem to be important.
validations:
required: false

View file

@ -1,55 +0,0 @@
---
name: Bug report
about: If something doesn't work correctly in RPCS3
title: ''
labels: ''
assignees: ''
---
## Please do not ask for help or report compatibility regressions here, use [RPCS3 Discord server](https://discord.me/RPCS3) or [forums](https://forums.rpcs3.net/) instead.
## Quick summary
Please briefly describe what is not working correctly.
## Details
Please describe the problem as accurately as possible.
#### 1. Please attach RPCS3's log.
* Run the game until you find the issue.
* Completely close RPCS3, or move to the next step in case it has crashed.
* Locate RPCS3's log file:
+ ```RPCS3.log``` (It can show up as just RPCS3 and have a notepad icon)
or
+ ```RPCS3.log.gz``` (It can show up as RPCS3.log and have a zip or rar icon)
![image](https://user-images.githubusercontent.com/44116740/84433247-aa15fa80-ac36-11ea-913e-6fe25a1d040e.png)
On Linux it will be in ```~/.cache/rpcs3/```.
On Windows it will be near the executable.
* Attach the log:
+ Drag and drop your log file into the issue.
+ Or upload it to the cloud, such as Dropbox, Mega etc.
#### 2. If you describe graphical issue, please provide an RSX capture and a RenderDoc capture that demonstrate it.
* To create an RSX capture, use _Create_ _RSX_ _Capture_ under _Utilities_.
Captures will be stored in RPCS3 folder → captures.
+ Compress your capture with 7z, Rar etc.
And drag and drop it into the issue.
+ Or upload it to the cloud, such as Dropbox, Mega etc.
* To create a RenderDoc capture, please refer to [RenderDoc's documentation](https://renderdoc.org/docs/how/how_capture_frame.html).
#### 3. Please attach screenshots of your problem.
* Enable performance overlay with at least medium level of detail.
You can find it in _Emulator_ tab in _Settings_.
#### 4. Please provide comparison with real PS3.
#### 5. Please provide your system configuration:
* OS
* CPU
* GPU
* Driver version
* etc.
#### Please include.
* Anything else you deem to be important

78
.github/ISSUE_TEMPLATE/2-bug-report.yml vendored Normal file
View file

@ -0,0 +1,78 @@
name: Bug report
description: If something doesn't work correctly in RPCS3
title: "Enter a title here"
labels: []
body:
- type: markdown
attributes:
value: |
# Summary
Please do not ask for help or report compatibility regressions here, use [RPCS3 Discord server](https://discord.gg/rpcs3) or [forums](https://forums.rpcs3.net/) instead.
- type: textarea
id: quick-summary
attributes:
label: Quick summary
description: Please briefly describe what is not working correctly.
validations:
required: true
- type: textarea
id: details
attributes:
label: Details
description: |
Please describe the problem as accurately as possible.
Provide a comparison with a real PS3, if possible.
validations:
required: false
- type: markdown
attributes:
value: |
# Log files
Provide a log file that includes the bug you're reporting.
Obtaining the log file:
* Run the game until you find the regression.
* Completely close RPCS3 and locate the log file.
RPCS3's Log file will be ```RPCS3.log.gz``` (sometimes shows as RPCS3.log with zip icon) or ```RPCS3.log``` (sometimes shows as RPCS3 wtih notepad icon).
* On Windows it will be in the ```log``` folder inside your RPCS3 folder.
* On Linux it will be in ```~/.cache/rpcs3/```
* On MacOS it will be in ```~/Library/Caches/rpcs3```. If you're unable to locate it copy paste the path in Spotlight and hit enter.
- type: textarea
id: logs
attributes:
label: Attach a log file
description: |
Drag & drop the files into this input field, or upload them to another service (f.ex. Dropbox, Mega) and provide a link.
validations:
required: true
- type: markdown
attributes:
value: |
# Other details
If you describe a graphical issue, please provide an RSX capture and/or a RenderDoc capture that demonstrate it.
* To create an RSX capture, use _Create_ _RSX_ _Capture_ under _Utilities_.
* Captures will be stored in RPCS3 folder → captures.
* To create a RenderDoc capture, please refer to [RenderDoc's documentation](https://renderdoc.org/docs/how/how_capture_frame.html).
- type: textarea
id: captures
attributes:
label: Attach capture files for visual issues
description: Compress your capture with 7z, Rar etc. and attach it here, or upload it to the cloud (Dropbox, Mega etc) and add a link to it.
validations:
required: false
- type: textarea
id: system-info
attributes:
label: System configuration
description: Provide information about your system, such as operating system, CPU and GPU model, GPU driver version and other information that describes your system configuration.
validations:
required: false
- type: textarea
id: other-details
attributes:
label: Other details
description: Include anything else you deem to be important.
validations:
required: false

View file

@ -1,41 +0,0 @@
---
name: Feature Request
about: If RPCS3 lacks a feature you would like to see
title: '[Feature Request] Enter Feature Title Here'
labels: ''
assignees: ''
---
## Please do not ask for help or report compatibility regressions here, use [RPCS3 Discord server](https://discord.me/RPCS3) or [forums](https://forums.rpcs3.net/) instead.
## Quick summary
Please briefly describe what feature you would like RPCS3 to have.
## Details
Please describe the feature as accurately as possible.
#### 1. Please describe, what part of RPCS3 would be affected by your feature:
* Gameplay
* Debugging
* UI
* Patches
* Installation
* Github
* CI
* etc.
#### 2. Please tell us, why your feature is important to RPCS3.
#### 3. Please attach screenshots of the feature implemented in other projects.
#### 4. Please provide your system configuration:
* OS
* CPU
* GPU
* Driver version
* etc.
#### Please include.
* Anything else you deem to be important

View file

@ -0,0 +1,36 @@
name: Feature request
description: If RPCS3 lacks a feature you would like to see
title: "[Feature request] Enter a title here"
labels: []
body:
- type: markdown
attributes:
value: |
Please do not ask for help or report compatibility regressions here, use [RPCS3 Discord server](https://discord.gg/rpcs3) or [forums](https://forums.rpcs3.net/) instead.
- type: textarea
id: quick-summary
attributes:
label: Quick summary
description: Please briefly describe what feature you would like RPCS3 to have.
validations:
required: true
- type: textarea
id: details
attributes:
label: Details
description: Please describe the feature as accurately as possible.
validations:
required: false
- type: markdown
attributes:
value: |
Please include the following information:
* What part of RPCS3 would be affected by your feature? (Gameplay, Debugging, UI, Patches, Installation, CI etc.)
* Why your feature is important to RPCS3.
* If the feature is implemented in other projects, attach screenshots.
* If this feature is something that a game is trying to use, upload a log file for it.
RPCS3's Log file will be ```RPCS3.log.gz``` (sometimes shows as RPCS3.log with zip icon) or ```RPCS3.log``` (sometimes shows as RPCS3 wtih notepad icon).
* On Windows it will be in the ```log``` folder inside your RPCS3 folder.
* On Linux it will be in ```~/.cache/rpcs3/```
* On MacOS it will be in ```~/Library/Caches/rpcs3```. If you're unable to locate it copy paste the path in Spotlight and hit enter.

14
.github/ISSUE_TEMPLATE/4-advanced.md vendored Normal file
View file

@ -0,0 +1,14 @@
---
name: Advanced
about: For developers and experienced users only
title: ''
labels: ''
assignees: ''
---
## Please do not ask for help or report compatibility regressions here, use [RPCS3 Discord server](https://discord.gg/rpcs3) or [forums](https://forums.rpcs3.net/) instead.
You're using the advanced template. You're expected to know what to write in order to fill in all the required information for proper report.
If you're unsure on what to do, please return back to the issue type selection and choose different category.

View file

@ -4,7 +4,7 @@ contact_links:
url: https://rpcs3.net/quickstart
about: Everything you need to know to install and configure emulator, and add games
- name: Ask for help
url: https://discord.me/RPCS3
url: https://discord.gg/rpcs3
about: If you have some questions or need help, please use our Discord server instead of GitHub
- name: Report game compatibility
url: https://forums.rpcs3.net/thread-196671.html

20
.github/PR-BUILD.md vendored
View file

@ -1,20 +0,0 @@
## How to test a PR build
Please take into account, that RPCS3 build usually takes some time (about 20 min), so you can't access a build, if a PR was just submitted.
- Open a PR you want to test
- Scroll to the very bottom and locate "Checks" section
- Expand all checks
You are supposed to see something like this
![image](https://user-images.githubusercontent.com/44116740/102790039-f98f6d00-43b5-11eb-9134-2359b732508d.png)
- Click on **Linux_Build** or **Windows_Build** __Details__
- Click **View more details on Azure Pipelines** at the very bottom
![image](https://user-images.githubusercontent.com/44116740/102790281-45daad00-43b6-11eb-90e7-0fa8c37c31c6.png)
- Click on *1 artifact produced*
![image](https://user-images.githubusercontent.com/44116740/102790526-9a7e2800-43b6-11eb-9925-be1ea1c8bdad.png)
- Select a build for your OS and click three dots on the right, Click **Download artifacts**
![image](https://user-images.githubusercontent.com/44116740/102790636-c9949980-43b6-11eb-9692-1e3ba567b9be.png)
- Congratulations! You are now downloading RPCS3 build for specific PR.
Please note, that PR builds are not supposed to be stable, because they contain new changesets.

View file

@ -1,3 +0,0 @@
<!-- Please include a summary of the change and which issue is fixed. -->
[How to test this PR](.github/PR-BUILD.md)

72
.github/workflows/llvm.yml vendored Normal file
View file

@ -0,0 +1,72 @@
name: Build LLVM
defaults:
run:
shell: bash
on:
workflow_dispatch:
concurrency:
group: ${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ github.workspace }}/artifacts/
jobs:
Windows_Build:
if: github.event_name == 'workflow_dispatch'
name: LLVM Windows (MSVC)
runs-on: windows-2025
env:
COMPILER: msvc
CCACHE_SHA: '1f39f3ad5aae3fe915e99ad1302633bc8f6718e58fa7c0de2b0ba7e080f0f08c'
CCACHE_BIN_DIR: 'C:\ccache_bin'
CCACHE_DIR: 'C:\ccache'
CCACHE_INODECACHE: 'true'
CCACHE_SLOPPINESS: 'time_macros'
DEPS_CACHE_DIR: ./dependency_cache
steps:
- name: Checkout repository
uses: actions/checkout@main
with:
fetch-depth: 0
- name: Restore Dependencies Cache
uses: actions/cache/restore@main
id: restore-dependencies-cache
with:
path: ${{ env.DEPS_CACHE_DIR }}
key: "${{ runner.os }}-${{ env.COMPILER }}-llvm-${{ env.CCACHE_SHA }}"
restore-keys: ${{ runner.os }}-${{ env.COMPILER }}-llvm
- name: Download and unpack dependencies
run: .ci/setup-llvm.sh
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@main
- name: Compile LLVM
shell: pwsh
run: msbuild 3rdparty\llvm\llvm_build.vcxproj /p:SolutionDir="$(pwd)/" /p:Configuration=Release /v:minimal /p:Platform=x64 /p:PreferredToolArchitecture=x64 /p:CLToolPath=${{ env.CCACHE_BIN_DIR }} /p:UseMultiToolTask=true /p:CustomAfterMicrosoftCommonTargets="${{ github.workspace }}\buildfiles\msvc\ci_only.targets"
- name: Pack up build artifacts
run: |
mkdir -p "${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}"
.ci/deploy-llvm.sh
- name: Upload artifacts (7z)
uses: actions/upload-artifact@main
with:
name: LLVM for Windows (MSVC)
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}
compression-level: 0
if-no-files-found: error
- name: Save Dependencies Cache
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: ${{ env.DEPS_CACHE_DIR }}
key: ${{ steps.restore-dependencies-cache.outputs.cache-primary-key }}

34
.github/workflows/qt-ts.yml vendored Normal file
View file

@ -0,0 +1,34 @@
name: Generate Translation Template
on:
workflow_dispatch:
push:
branches:
- master
paths:
- 'rpcs3/**'
jobs:
Generate_Translation_Template:
name: Generate Translation Template
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Install Qt Tools
run: |
sudo apt update
sudo apt install -y qt6-l10n-tools
- name: Generate .ts file using lupdate (Qt)
working-directory: rpcs3
run: |
../.ci/generate-qt-ts.sh
- name: Upload translation template
uses: actions/upload-artifact@main
with:
name: RPCS3_Translation_Template
path: translations/rpcs3_template.ts
compression-level: 0

444
.github/workflows/rpcs3.yml vendored Normal file
View file

@ -0,0 +1,444 @@
name: Build RPCS3
defaults:
run:
shell: bash
on:
push:
branches:
- master # Only trigger push event on 'master' branch
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true
env:
BUILD_REPOSITORY_NAME: ${{ github.repository }}
BUILD_SOURCEBRANCHNAME: ${{ github.ref_name }}
BUILD_PR_NUMBER: ${{ github.event.pull_request.number }}
BUILD_SOURCEVERSION: ${{ github.sha }}
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ github.workspace }}/artifacts/
jobs:
Linux_Build:
# Only run push event on master branch of main repo, but run all PRs
if: github.event_name != 'push' || (github.repository == 'RPCS3/rpcs3' && github.ref_name == 'master')
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04
docker_img: "rpcs3/rpcs3-ci-jammy:1.7"
build_sh: "/rpcs3/.ci/build-linux.sh"
compiler: clang
UPLOAD_COMMIT_HASH: d812f1254a1157c80fd402f94446310560f54e5f
UPLOAD_REPO_FULL_NAME: "rpcs3/rpcs3-binaries-linux"
- os: ubuntu-24.04
docker_img: "rpcs3/rpcs3-ci-jammy:1.7"
build_sh: "/rpcs3/.ci/build-linux.sh"
compiler: gcc
- os: ubuntu-24.04-arm
docker_img: "rpcs3/rpcs3-ci-jammy-aarch64:1.7"
build_sh: "/rpcs3/.ci/build-linux-aarch64.sh"
compiler: clang
UPLOAD_COMMIT_HASH: a1d35836e8d45bfc6f63c26f0a3e5d46ef622fe1
UPLOAD_REPO_FULL_NAME: "rpcs3/rpcs3-binaries-linux-arm64"
- os: ubuntu-24.04-arm
docker_img: "rpcs3/rpcs3-ci-jammy-aarch64:1.7"
build_sh: "/rpcs3/.ci/build-linux-aarch64.sh"
compiler: gcc
name: RPCS3 Linux ${{ matrix.os }} ${{ matrix.compiler }}
runs-on: ${{ matrix.os }}
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
DEPLOY_APPIMAGE: true
APPDIR: "/rpcs3/build/appdir"
ARTDIR: "/root/artifacts"
RELEASE_MESSAGE: "/rpcs3/GitHubReleaseMessage.txt"
COMPILER: ${{ matrix.compiler }}
UPLOAD_COMMIT_HASH: ${{ matrix.UPLOAD_COMMIT_HASH }}
UPLOAD_REPO_FULL_NAME: ${{ matrix.UPLOAD_REPO_FULL_NAME }}
RUN_UNIT_TESTS: github.event_name == 'pull_request' && 'ON' || 'OFF'
steps:
- name: Checkout repository
uses: actions/checkout@main
with:
fetch-depth: 0
- name: Restore build Ccache
uses: actions/cache/restore@main
id: restore-build-ccache
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ runner.os }}-ccache-${{ matrix.compiler }}-${{ runner.arch }}-${{github.run_id}}
restore-keys: ${{ runner.os }}-ccache-${{ matrix.compiler }}-${{ runner.arch }}-
- name: Docker setup and build
run: |
docker pull --quiet ${{ matrix.docker_img }}
docker run \
-v $PWD:/rpcs3 \
--env-file .ci/docker.env \
-v ${{ env.CCACHE_DIR }}:/root/.ccache \
-v ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}:${{ env.ARTDIR }} \
${{ matrix.docker_img }} \
${{ matrix.build_sh }}
- name: Upload artifacts
uses: actions/upload-artifact@main
with:
name: RPCS3 for Linux (${{ runner.arch }}, ${{ matrix.compiler }})
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}/*.AppImage
compression-level: 0
- name: Deploy master build to GitHub Releases
if: |
github.event_name != 'pull_request' &&
github.repository == 'RPCS3/rpcs3' &&
github.ref == 'refs/heads/master' &&
matrix.compiler == 'clang'
env:
RPCS3_TOKEN: ${{ secrets.RPCS3_TOKEN }}
run: |
COMM_TAG=$(awk '/version{.*}/ { printf("%d.%d.%d", $5, $6, $7) }' ./rpcs3/rpcs3_version.cpp)
COMM_COUNT=$(git rev-list --count HEAD)
COMM_HASH=$(git rev-parse --short=8 HEAD)
export AVVER="${COMM_TAG}-${COMM_COUNT}"
.ci/github-upload.sh
- name: Save build Ccache
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.restore-build-ccache.outputs.cache-primary-key }}
Mac_Build:
# Only run push event on master branch of main repo, but run all PRs
if: github.event_name != 'push' || (github.repository == 'RPCS3/rpcs3' && github.ref_name == 'master')
strategy:
fail-fast: false
matrix:
include:
- name: Intel
build_sh: .ci/build-mac.sh
UPLOAD_COMMIT_HASH: 51ae32f468089a8169aaf1567de355ff4a3e0842
UPLOAD_REPO_FULL_NAME: rpcs3/rpcs3-binaries-mac
- name: Apple Silicon
build_sh: .ci/build-mac-arm64.sh
UPLOAD_COMMIT_HASH: 8e21bdbc40711a3fccd18fbf17b742348b0f4281
UPLOAD_REPO_FULL_NAME: rpcs3/rpcs3-binaries-mac-arm64
name: RPCS3 Mac ${{ matrix.name }}
runs-on: macos-14
env:
CCACHE_DIR: /tmp/ccache_dir
QT_VER: '6.10.1'
QT_VER_MAIN: '6'
LLVM_COMPILER_VER: '21'
RELEASE_MESSAGE: ../GitHubReleaseMessage.txt
UPLOAD_COMMIT_HASH: ${{ matrix.UPLOAD_COMMIT_HASH }}
UPLOAD_REPO_FULL_NAME: ${{ matrix.UPLOAD_REPO_FULL_NAME }}
RUN_UNIT_TESTS: github.event_name == 'pull_request' && 'ON' || 'OFF'
steps:
- name: Checkout repository
uses: actions/checkout@main
with:
fetch-depth: 0
- name: Restore Build Ccache
uses: actions/cache/restore@main
id: restore-build-ccache
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ runner.os }}-ccache-${{ matrix.name }}-${{github.run_id}}
restore-keys: ${{ runner.os }}-ccache-${{ matrix.name }}-
- name: Restore Qt Cache
uses: actions/cache/restore@main
id: restore-qt-cache
with:
path: /tmp/Qt
key: ${{ runner.os }}-qt-${{ matrix.name }}-${{ env.QT_VER }}
restore-keys: ${{ runner.os }}-qt-${{ matrix.name }}-${{ env.QT_VER }}
- name: Build
run: ${{ matrix.build_sh }}
- name: Upload artifacts
uses: actions/upload-artifact@main
with:
name: RPCS3 for Mac (${{ matrix.name }})
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}
compression-level: 0
- name: Export Variables
run: |
while IFS='=' read -r key val; do
# Skip lines that are empty or start with '#'
[[ -z "$key" || "$key" =~ ^# ]] && continue
echo "$key=$val" >> "${{ github.env }}"
done < .ci/ci-vars.env
- name: Deploy master build to GitHub Releases
if: |
github.event_name != 'pull_request' &&
github.repository == 'RPCS3/rpcs3' &&
github.ref == 'refs/heads/master'
env:
RPCS3_TOKEN: ${{ secrets.RPCS3_TOKEN }}
run: .ci/github-upload.sh
- name: Save Build Ccache
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.restore-build-ccache.outputs.cache-primary-key }}
- name: Save Qt Cache
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: /tmp/Qt
key: ${{ steps.restore-qt-cache.outputs.cache-primary-key }}
Windows_Build:
# Only run push event on master branch of main repo, but run all PRs
if: github.event_name != 'push' || (github.repository == 'RPCS3/rpcs3' && github.ref_name == 'master')
name: RPCS3 Windows
runs-on: windows-2025
env:
COMPILER: msvc
QT_VER_MAIN: '6'
QT_VER: '6.10.1'
QT_VER_MSVC: 'msvc2022'
QT_DATE: '202511161843'
LLVM_VER: '19.1.7'
VULKAN_VER: '1.3.268.0'
VULKAN_SDK_SHA: '8459ef49bd06b697115ddd3d97c9aec729e849cd775f5be70897718a9b3b9db5'
CCACHE_SHA: '1f39f3ad5aae3fe915e99ad1302633bc8f6718e58fa7c0de2b0ba7e080f0f08c'
CCACHE_BIN_DIR: 'C:\ccache_bin'
CCACHE_DIR: 'C:\ccache'
CCACHE_INODECACHE: 'true'
CCACHE_SLOPPINESS: 'time_macros'
DEPS_CACHE_DIR: ./dependency_cache
UPLOAD_COMMIT_HASH: 7d09e3be30805911226241afbb14f8cdc2eb054e
UPLOAD_REPO_FULL_NAME: "RPCS3/rpcs3-binaries-win"
steps:
- name: Checkout repository
uses: actions/checkout@main
with:
fetch-depth: 0
- name: Setup NuGet
uses: nuget/setup-nuget@v2
- name: Restore NuGet packages
run: nuget restore rpcs3.sln
- name: Setup env
shell: pwsh
run: |
echo "QTDIR=C:\Qt\${{ env.QT_VER }}\${{ env.QT_VER_MSVC }}_64" >> ${{ github.env }}
echo "VULKAN_SDK=C:\VulkanSDK\${{ env.VULKAN_VER }}" >> ${{ github.env }}
- name: Get Cache Keys
run: .ci/get_keys-windows.sh
- name: Restore Build Ccache
uses: actions/cache/restore@main
id: restore-build-ccache
with:
path: ${{ env.CCACHE_DIR }}
key: "${{ runner.os }}-ccache-${{ env.COMPILER }}-${{github.run_id}}"
restore-keys: ${{ runner.os }}-ccache-${{ env.COMPILER }}-
- name: Restore Dependencies Cache
uses: actions/cache/restore@main
id: restore-dependencies-cache
with:
path: ${{ env.DEPS_CACHE_DIR }}
key: "${{ runner.os }}-${{ env.COMPILER }}-${{ env.QT_VER }}-${{ env.VULKAN_SDK_SHA }}-${{ env.CCACHE_SHA }}-${{ hashFiles('llvm.lock') }}"
restore-keys: ${{ runner.os }}-${{ env.COMPILER }}-
- name: Download and unpack dependencies
run: |
.ci/setup-windows.sh
.ci/setup-windows-ci-vars.sh win64 msvc
- name: Export Variables
run: |
while IFS='=' read -r key val; do
# Skip lines that are empty or start with '#'
[[ -z "$key" || "$key" =~ ^# ]] && continue
echo "$key=$val" >> "${{ github.env }}"
done < .ci/ci-vars.env
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@main
- name: Compile RPCS3
shell: pwsh
run: msbuild rpcs3.sln /p:Configuration=Release /v:minimal /p:Platform=x64 /p:PreferredToolArchitecture=x64 /p:CLToolPath=${{ env.CCACHE_BIN_DIR }} /p:UseMultiToolTask=true /p:CustomAfterMicrosoftCommonTargets="${{ github.workspace }}\buildfiles\msvc\ci_only.targets"
- name: Run Unit Tests
if: github.event_name == 'pull_request'
shell: pwsh
run: build\lib\Release-x64\rpcs3_test.exe
- name: Pack up build artifacts
run: |
mkdir -p "${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}"
.ci/deploy-windows.sh
- name: Upload artifacts (7z)
uses: actions/upload-artifact@main
with:
name: RPCS3 for Windows (MSVC)
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}
compression-level: 0
if-no-files-found: error
- name: Deploy master build to GitHub Releases
if: |
github.event_name != 'pull_request' &&
github.repository == 'RPCS3/rpcs3' &&
github.ref == 'refs/heads/master'
env:
RPCS3_TOKEN: ${{ secrets.RPCS3_TOKEN }}
run: .ci/github-upload.sh
- name: Save Build Ccache
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.restore-build-ccache.outputs.cache-primary-key }}
- name: Save Dependencies Cache
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: ${{ env.DEPS_CACHE_DIR }}
key: ${{ steps.restore-dependencies-cache.outputs.cache-primary-key }}
Windows_Build_Clang:
# Only run push event on master branch of main repo, but run all PRs
if: github.event_name != 'push' || (github.repository == 'RPCS3/rpcs3' && github.ref_name == 'master')
name: RPCS3 Windows Clang
runs-on: windows-2025
strategy:
matrix:
include:
- msys2: clang64
compiler: clang
arch: win64
env:
CCACHE_DIR: 'C:\ccache'
steps:
- name: Checkout repository
uses: actions/checkout@main
with:
fetch-depth: 0
- name: Setup msys2
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.msys2 }}
update: true
cache: true
install: |
mingw-w64-clang-x86_64-clang
mingw-w64-clang-x86_64-ccache
mingw-w64-clang-x86_64-cmake
mingw-w64-clang-x86_64-lld
mingw-w64-clang-x86_64-ninja
mingw-w64-clang-x86_64-llvm
mingw-w64-clang-x86_64-ffmpeg
mingw-w64-clang-x86_64-opencv
mingw-w64-clang-x86_64-glew
mingw-w64-clang-x86_64-vulkan
mingw-w64-clang-x86_64-vulkan-headers
mingw-w64-clang-x86_64-vulkan-loader
mingw-w64-clang-x86_64-gtest
mingw-w64-clang-x86_64-qt6-base
mingw-w64-clang-x86_64-qt6-declarative
mingw-w64-clang-x86_64-qt6-multimedia
mingw-w64-clang-x86_64-qt6-svg
base-devel
curl
git
p7zip
- name: Restore build Ccache
uses: actions/cache/restore@main
id: restore-build-ccache
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ runner.os }}-ccache-${{ matrix.compiler }}-${{ runner.arch }}-${{ github.run_id }}
restore-keys: ${{ runner.os }}-ccache-${{ matrix.compiler }}-${{ runner.arch }}-
- name: Build RPCS3
shell: msys2 {0}
run: |
export CCACHE_DIR=$(cygpath -u "$CCACHE_DIR")
echo "CCACHE_DIR=$CCACHE_DIR"
.ci/setup-windows-ci-vars.sh ${{ matrix.arch }} ${{ matrix.compiler }}
.ci/build-windows-clang.sh
- name: Save build Ccache
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.restore-build-ccache.outputs.cache-primary-key }}
- name: Upload artifacts
uses: actions/upload-artifact@main
with:
name: RPCS3 for Windows (${{ runner.arch }}, ${{ matrix.compiler }})
path: ${{ env.BUILD_ARTIFACTSTAGINGDIRECTORY }}
compression-level: 0
if-no-files-found: error
FreeBSD_Build:
# Only run push event on master branch of main repo, but run all PRs
if: github.event_name != 'push' || (github.repository == 'RPCS3/rpcs3' && github.ref_name == 'master')
name: RPCS3 FreeBSD
runs-on: ubuntu-latest
timeout-minutes: 60
env:
CCACHE_DIR: ${{ github.workspace }}/ccache
QT_VER_MAIN: '6'
LLVM_COMPILER_VER: '19'
steps:
- name: Checkout repository
uses: actions/checkout@main
with:
fetch-depth: 0
- name: Restore Build Ccache
uses: actions/cache/restore@main
id: restore-build-ccache
with:
path: ${{ env.CCACHE_DIR }}
key: FreeBSD-ccache-${{github.run_id}}
restore-keys: FreeBSD-ccache-
- name: FreeBSD build
id: root
uses: vmactions/freebsd-vm@v1
with:
envs: 'QT_VER_MAIN LLVM_COMPILER_VER CCACHE_DIR'
usesh: true
run: .ci/install-freebsd.sh && .ci/build-freebsd.sh
- name: Save Build Ccache
if: github.ref == 'refs/heads/master'
uses: actions/cache/save@main
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.restore-build-ccache.outputs.cache-primary-key }}

35
.gitignore vendored
View file

@ -9,7 +9,7 @@
# Compiled Static libraries
*.lai
*.la
# *.a # Commented out since OpenAL Soft's binaries use this extension.
*.a
*.opensdf
*.sdf
*.suo
@ -31,20 +31,24 @@
*.wav
/build
/build-*
/lib
/tmp
/ipch
/packages
/rpcs3/Debug
/rpcs3/Release
/llvm_build
/3rdparty/llvm_build
/Vulkan/Vulkan-build
/Vulkan/glslang-build
/Vulkan/spirv-tools-build
!/bin
/bin/*
# Audio DLLs
!/bin/soft_oal.dll
!/bin/xaudio2_9redist.dll
# Test Programs
!/bin/test/
# Themes
!/bin/GuiConfigs/
/bin/GuiConfigs/*.ini
@ -62,6 +66,8 @@
*.vcxproj.user
enc_temp_folder/*
CMakeSettings.json
*PVS-Studio*
PVS/*
# Ignore other system generated files
x64/*
@ -96,6 +102,11 @@ rpcs3/rpcs3_autogen/*
# QtCreator
CMakeLists.txt.user
*.autosave
# Sublime Text
*.sublime-project
*.sublime-workspace
# CLion
/.idea/*
@ -104,15 +115,11 @@ CMakeLists.txt.user
# macOS
.DS_Store
# 7zlib
/3rdparty/7z/**/*.lib
# yaml-cpp
yaml-cpp.pc
# libusb
/3rdparty/libusb_cmake/config.h
/3rdparty/libusb_cmake/libusb-1.0.pc
_ReSharper.*/
CMakeUserPresets.json
# ssl certificate
cacert.pem
.cache/
.lldbinit

129
.gitmodules vendored
View file

@ -1,77 +1,114 @@
[submodule "rpcs3-ffmpeg"]
path = 3rdparty/ffmpeg
url = https://github.com/RPCS3/ffmpeg-core
url = ../../RPCS3/ffmpeg-core.git
ignore = dirty
[submodule "asmjit"]
path = asmjit
url = https://github.com/kobalicek/asmjit
path = 3rdparty/asmjit/asmjit
url = ../../asmjit/asmjit.git
branch = master
ignore = dirty
[submodule "llvm"]
path = llvm
url = https://github.com/RPCS3/llvm-mirror
[submodule "3rdparty/llvm/llvm"]
path = 3rdparty/llvm/llvm
url = ../../llvm/llvm-project.git
ignore = dirty
[submodule "Vulkan/glslang"]
path = Vulkan/glslang
url = https://github.com/KhronosGroup/glslang.git
ignore = dirty
[submodule "Vulkan/spirv-tools"]
path = Vulkan/spirv-tools
url = https://github.com/KhronosGroup/SPIRV-Tools.git
ignore = dirty
[submodule "Vulkan/spirv-headers"]
path = Vulkan/spirv-headers
url = https://github.com/KhronosGroup/SPIRV-Headers.git
ignore = dirty
[submodule "3rdparty/cereal"]
path = 3rdparty/cereal
url = https://github.com/RPCS3/cereal.git
[submodule "3rdparty/glslang"]
path = 3rdparty/glslang/glslang
url = ../../KhronosGroup/glslang.git
ignore = dirty
[submodule "3rdparty/zlib"]
path = 3rdparty/zlib
url = https://github.com/madler/zlib
path = 3rdparty/zlib/zlib
url = ../../madler/zlib
ignore = dirty
[submodule "3rdparty/hidapi"]
path = 3rdparty/hidapi
url = https://github.com/RPCS3/hidapi
path = 3rdparty/hidapi/hidapi
url = ../../libusb/hidapi.git
branch = master
ignore = dirty
[submodule "3rdparty/pugixml"]
path = 3rdparty/pugixml
url = https://github.com/zeux/pugixml
ignore = dirty
[submodule "3rdparty/xxHash"]
path = 3rdparty/xxHash
url = https://github.com/Cyan4973/xxHash
url = ../../zeux/pugixml.git
ignore = dirty
[submodule "3rdparty/yaml-cpp"]
path = 3rdparty/yaml-cpp
url = https://github.com/RPCS3/yaml-cpp.git
path = 3rdparty/yaml-cpp/yaml-cpp
url = ../../RPCS3/yaml-cpp.git
ignore = dirty
[submodule "3rdparty/libpng"]
path = 3rdparty/libpng
url = https://github.com/glennrp/libpng.git
path = 3rdparty/libpng/libpng
url = ../../glennrp/libpng.git
ignore = dirty
[submodule "3rdparty/libusb"]
path = 3rdparty/libusb
url = https://github.com/libusb/libusb.git
path = 3rdparty/libusb/libusb
url = ../../libusb/libusb.git
ignore = dirty
[submodule "3rdparty/FAudio"]
path = 3rdparty/FAudio
url = https://github.com/FNA-XNA/FAudio.git
ignore = dirty
[submodule "3rdparty/span"]
path = 3rdparty/span
url = https://github.com/tcbrindle/span
url = ../../FNA-XNA/FAudio.git
ignore = dirty
[submodule "3rdparty/curl"]
path = 3rdparty/curl
url = https://github.com/curl/curl.git
path = 3rdparty/curl/curl
url = ../../curl/curl.git
ignore = dirty
[submodule "3rdparty/wolfssl"]
path = 3rdparty/wolfssl
url = https://github.com/wolfSSL/wolfssl.git
path = 3rdparty/wolfssl/wolfssl
url = ../../wolfSSL/wolfssl.git
ignore = dirty
[submodule "3rdparty/flatbuffers"]
path = 3rdparty/flatbuffers
url = https://github.com/google/flatbuffers.git
url = ../../google/flatbuffers.git
ignore = dirty
[submodule "3rdparty/cubeb/cubeb"]
path = 3rdparty/cubeb/cubeb
url = ../../mozilla/cubeb.git
ignore = dirty
[submodule "3rdparty/SoundTouch/soundtouch"]
path = 3rdparty/SoundTouch/soundtouch
url = ../../RPCS3/soundtouch.git
ignore = dirty
[submodule "3rdparty/libsdl-org/SDL"]
path = 3rdparty/libsdl-org/SDL
url = ../../libsdl-org/SDL.git
ignore = dirty
[submodule "3rdparty/miniupnp/miniupnp"]
path = 3rdparty/miniupnp/miniupnp
url = ../../miniupnp/miniupnp.git
ignore = dirty
[submodule "3rdparty/rtmidi/rtmidi"]
path = 3rdparty/rtmidi/rtmidi
url = ../../thestk/rtmidi
ignore = dirty
[submodule "3rdparty/zstd/zstd"]
path = 3rdparty/zstd/zstd
url = ../../facebook/zstd
ignore = dirty
[submodule "3rdparty/7zip/7zip"]
path = 3rdparty/7zip/7zip
url = ../../ip7z/7zip.git
ignore = dirty
[submodule "3rdparty/OpenAL/openal-soft"]
path = 3rdparty/OpenAL/openal-soft
url = ../../kcat/openal-soft.git
ignore = dirty
[submodule "3rdparty/stblib/stb"]
path = 3rdparty/stblib/stb
url = ../../nothings/stb.git
ignore = dirty
[submodule "3rdparty/opencv/opencv"]
path = 3rdparty/opencv/opencv
url = ../../Megamouse/opencv_minimal.git
ignore = dirty
[submodule "3rdparty/fusion/fusion"]
path = 3rdparty/fusion/fusion
url = ../../xioTechnologies/Fusion.git
ignore = dirty
[submodule "3rdparty/discord-rpc/discord-rpc"]
path = 3rdparty/discord-rpc/discord-rpc
url = ../../Vestrel/discord-rpc
ignore = dirty
[submodule "3rdparty/GPUOpen/VulkanMemoryAllocator"]
path = 3rdparty/GPUOpen/VulkanMemoryAllocator
url = ../../GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
ignore = dirty
[submodule "3rdparty/feralinteractive/feralinteractive"]
path = 3rdparty/feralinteractive/feralinteractive
url = ../../FeralInteractive/gamemode.git
ignore = dirty

202
3rdparty/7z/7z.h vendored
View file

@ -1,202 +0,0 @@
/* 7z.h -- 7z interface
2017-04-03 : Igor Pavlov : Public domain */
#ifndef __7Z_H
#define __7Z_H
#include "7zTypes.h"
EXTERN_C_BEGIN
#define k7zStartHeaderSize 0x20
#define k7zSignatureSize 6
extern const Byte k7zSignature[k7zSignatureSize];
typedef struct
{
const Byte *Data;
size_t Size;
} CSzData;
/* CSzCoderInfo & CSzFolder support only default methods */
typedef struct
{
size_t PropsOffset;
UInt32 MethodID;
Byte NumStreams;
Byte PropsSize;
} CSzCoderInfo;
typedef struct
{
UInt32 InIndex;
UInt32 OutIndex;
} CSzBond;
#define SZ_NUM_CODERS_IN_FOLDER_MAX 4
#define SZ_NUM_BONDS_IN_FOLDER_MAX 3
#define SZ_NUM_PACK_STREAMS_IN_FOLDER_MAX 4
typedef struct
{
UInt32 NumCoders;
UInt32 NumBonds;
UInt32 NumPackStreams;
UInt32 UnpackStream;
UInt32 PackStreams[SZ_NUM_PACK_STREAMS_IN_FOLDER_MAX];
CSzBond Bonds[SZ_NUM_BONDS_IN_FOLDER_MAX];
CSzCoderInfo Coders[SZ_NUM_CODERS_IN_FOLDER_MAX];
} CSzFolder;
SRes SzGetNextFolderItem(CSzFolder *f, CSzData *sd);
typedef struct
{
UInt32 Low;
UInt32 High;
} CNtfsFileTime;
typedef struct
{
Byte *Defs; /* MSB 0 bit numbering */
UInt32 *Vals;
} CSzBitUi32s;
typedef struct
{
Byte *Defs; /* MSB 0 bit numbering */
// UInt64 *Vals;
CNtfsFileTime *Vals;
} CSzBitUi64s;
#define SzBitArray_Check(p, i) (((p)[(i) >> 3] & (0x80 >> ((i) & 7))) != 0)
#define SzBitWithVals_Check(p, i) ((p)->Defs && ((p)->Defs[(i) >> 3] & (0x80 >> ((i) & 7))) != 0)
typedef struct
{
UInt32 NumPackStreams;
UInt32 NumFolders;
UInt64 *PackPositions; // NumPackStreams + 1
CSzBitUi32s FolderCRCs; // NumFolders
size_t *FoCodersOffsets; // NumFolders + 1
UInt32 *FoStartPackStreamIndex; // NumFolders + 1
UInt32 *FoToCoderUnpackSizes; // NumFolders + 1
Byte *FoToMainUnpackSizeIndex; // NumFolders
UInt64 *CoderUnpackSizes; // for all coders in all folders
Byte *CodersData;
} CSzAr;
UInt64 SzAr_GetFolderUnpackSize(const CSzAr *p, UInt32 folderIndex);
SRes SzAr_DecodeFolder(const CSzAr *p, UInt32 folderIndex,
ILookInStream *stream, UInt64 startPos,
Byte *outBuffer, size_t outSize,
ISzAllocPtr allocMain);
typedef struct
{
CSzAr db;
UInt64 startPosAfterHeader;
UInt64 dataPos;
UInt32 NumFiles;
UInt64 *UnpackPositions; // NumFiles + 1
// Byte *IsEmptyFiles;
Byte *IsDirs;
CSzBitUi32s CRCs;
CSzBitUi32s Attribs;
// CSzBitUi32s Parents;
CSzBitUi64s MTime;
CSzBitUi64s CTime;
UInt32 *FolderToFile; // NumFolders + 1
UInt32 *FileToFolder; // NumFiles
size_t *FileNameOffsets; /* in 2-byte steps */
Byte *FileNames; /* UTF-16-LE */
} CSzArEx;
#define SzArEx_IsDir(p, i) (SzBitArray_Check((p)->IsDirs, i))
#define SzArEx_GetFileSize(p, i) ((p)->UnpackPositions[(i) + 1] - (p)->UnpackPositions[i])
void SzArEx_Init(CSzArEx *p);
void SzArEx_Free(CSzArEx *p, ISzAllocPtr alloc);
UInt64 SzArEx_GetFolderStreamPos(const CSzArEx *p, UInt32 folderIndex, UInt32 indexInFolder);
int SzArEx_GetFolderFullPackSize(const CSzArEx *p, UInt32 folderIndex, UInt64 *resSize);
/*
if dest == NULL, the return value specifies the required size of the buffer,
in 16-bit characters, including the null-terminating character.
if dest != NULL, the return value specifies the number of 16-bit characters that
are written to the dest, including the null-terminating character. */
size_t SzArEx_GetFileNameUtf16(const CSzArEx *p, size_t fileIndex, UInt16 *dest);
/*
size_t SzArEx_GetFullNameLen(const CSzArEx *p, size_t fileIndex);
UInt16 *SzArEx_GetFullNameUtf16_Back(const CSzArEx *p, size_t fileIndex, UInt16 *dest);
*/
/*
SzArEx_Extract extracts file from archive
*outBuffer must be 0 before first call for each new archive.
Extracting cache:
If you need to decompress more than one file, you can send
these values from previous call:
*blockIndex,
*outBuffer,
*outBufferSize
You can consider "*outBuffer" as cache of solid block. If your archive is solid,
it will increase decompression speed.
If you use external function, you can declare these 3 cache variables
(blockIndex, outBuffer, outBufferSize) as static in that external function.
Free *outBuffer and set *outBuffer to 0, if you want to flush cache.
*/
SRes SzArEx_Extract(
const CSzArEx *db,
ILookInStream *inStream,
UInt32 fileIndex, /* index of file */
UInt32 *blockIndex, /* index of solid block */
Byte **outBuffer, /* pointer to pointer to output buffer (allocated with allocMain) */
size_t *outBufferSize, /* buffer size for output buffer */
size_t *offset, /* offset of stream for required file in *outBuffer */
size_t *outSizeProcessed, /* size of file in *outBuffer */
ISzAllocPtr allocMain,
ISzAllocPtr allocTemp);
/*
SzArEx_Open Errors:
SZ_ERROR_NO_ARCHIVE
SZ_ERROR_ARCHIVE
SZ_ERROR_UNSUPPORTED
SZ_ERROR_MEM
SZ_ERROR_CRC
SZ_ERROR_INPUT_EOF
SZ_ERROR_FAIL
*/
SRes SzArEx_Open(CSzArEx *p, ILookInStream *inStream,
ISzAllocPtr allocMain, ISzAllocPtr allocTemp);
EXTERN_C_END
#endif

80
3rdparty/7z/7zAlloc.c vendored
View file

@ -1,80 +0,0 @@
/* 7zAlloc.c -- Allocation functions
2017-04-03 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include <stdlib.h>
#include "7zAlloc.h"
/* #define _SZ_ALLOC_DEBUG */
/* use _SZ_ALLOC_DEBUG to debug alloc/free operations */
#ifdef _SZ_ALLOC_DEBUG
#ifdef _WIN32
#include <windows.h>
#endif
#include <stdio.h>
int g_allocCount = 0;
int g_allocCountTemp = 0;
#endif
void *SzAlloc(ISzAllocPtr p, size_t size)
{
UNUSED_VAR(p);
if (size == 0)
return 0;
#ifdef _SZ_ALLOC_DEBUG
fprintf(stderr, "\nAlloc %10u bytes; count = %10d", (unsigned)size, g_allocCount);
g_allocCount++;
#endif
return malloc(size);
}
void SzFree(ISzAllocPtr p, void *address)
{
UNUSED_VAR(p);
#ifdef _SZ_ALLOC_DEBUG
if (address != 0)
{
g_allocCount--;
fprintf(stderr, "\nFree; count = %10d", g_allocCount);
}
#endif
free(address);
}
void *SzAllocTemp(ISzAllocPtr p, size_t size)
{
UNUSED_VAR(p);
if (size == 0)
return 0;
#ifdef _SZ_ALLOC_DEBUG
fprintf(stderr, "\nAlloc_temp %10u bytes; count = %10d", (unsigned)size, g_allocCountTemp);
g_allocCountTemp++;
#ifdef _WIN32
return HeapAlloc(GetProcessHeap(), 0, size);
#endif
#endif
return malloc(size);
}
void SzFreeTemp(ISzAllocPtr p, void *address)
{
UNUSED_VAR(p);
#ifdef _SZ_ALLOC_DEBUG
if (address != 0)
{
g_allocCountTemp--;
fprintf(stderr, "\nFree_temp; count = %10d", g_allocCountTemp);
}
#ifdef _WIN32
HeapFree(GetProcessHeap(), 0, address);
return;
#endif
#endif
free(address);
}

19
3rdparty/7z/7zAlloc.h vendored
View file

@ -1,19 +0,0 @@
/* 7zAlloc.h -- Allocation functions
2017-04-03 : Igor Pavlov : Public domain */
#ifndef __7Z_ALLOC_H
#define __7Z_ALLOC_H
#include "7zTypes.h"
EXTERN_C_BEGIN
void *SzAlloc(ISzAllocPtr p, size_t size);
void SzFree(ISzAllocPtr p, void *address);
void *SzAllocTemp(ISzAllocPtr p, size_t size);
void SzFreeTemp(ISzAllocPtr p, void *address);
EXTERN_C_END
#endif

1771
3rdparty/7z/7zArcIn.c vendored

File diff suppressed because it is too large Load diff

36
3rdparty/7z/7zBuf.c vendored
View file

@ -1,36 +0,0 @@
/* 7zBuf.c -- Byte Buffer
2017-04-03 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "7zBuf.h"
void Buf_Init(CBuf *p)
{
p->data = 0;
p->size = 0;
}
int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc)
{
p->size = 0;
if (size == 0)
{
p->data = 0;
return 1;
}
p->data = (Byte *)ISzAlloc_Alloc(alloc, size);
if (p->data)
{
p->size = size;
return 1;
}
return 0;
}
void Buf_Free(CBuf *p, ISzAllocPtr alloc)
{
ISzAlloc_Free(alloc, p->data);
p->data = 0;
p->size = 0;
}

35
3rdparty/7z/7zBuf.h vendored
View file

@ -1,35 +0,0 @@
/* 7zBuf.h -- Byte Buffer
2017-04-03 : Igor Pavlov : Public domain */
#ifndef __7Z_BUF_H
#define __7Z_BUF_H
#include "7zTypes.h"
EXTERN_C_BEGIN
typedef struct
{
Byte *data;
size_t size;
} CBuf;
void Buf_Init(CBuf *p);
int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc);
void Buf_Free(CBuf *p, ISzAllocPtr alloc);
typedef struct
{
Byte *data;
size_t size;
size_t pos;
} CDynBuf;
void DynBuf_Construct(CDynBuf *p);
void DynBuf_SeekToBeg(CDynBuf *p);
int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAllocPtr alloc);
void DynBuf_Free(CDynBuf *p, ISzAllocPtr alloc);
EXTERN_C_END
#endif

52
3rdparty/7z/7zBuf2.c vendored
View file

@ -1,52 +0,0 @@
/* 7zBuf2.c -- Byte Buffer
2017-04-03 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include <string.h>
#include "7zBuf.h"
void DynBuf_Construct(CDynBuf *p)
{
p->data = 0;
p->size = 0;
p->pos = 0;
}
void DynBuf_SeekToBeg(CDynBuf *p)
{
p->pos = 0;
}
int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAllocPtr alloc)
{
if (size > p->size - p->pos)
{
size_t newSize = p->pos + size;
Byte *data;
newSize += newSize / 4;
data = (Byte *)ISzAlloc_Alloc(alloc, newSize);
if (!data)
return 0;
p->size = newSize;
if (p->pos != 0)
memcpy(data, p->data, p->pos);
ISzAlloc_Free(alloc, p->data);
p->data = data;
}
if (size != 0)
{
memcpy(p->data + p->pos, buf, size);
p->pos += size;
}
return 1;
}
void DynBuf_Free(CDynBuf *p, ISzAllocPtr alloc)
{
ISzAlloc_Free(alloc, p->data);
p->data = 0;
p->size = 0;
p->pos = 0;
}

128
3rdparty/7z/7zCrc.c vendored
View file

@ -1,128 +0,0 @@
/* 7zCrc.c -- CRC32 init
2017-06-06 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "7zCrc.h"
#include "CpuArch.h"
#define kCrcPoly 0xEDB88320
#ifdef MY_CPU_LE
#define CRC_NUM_TABLES 8
#else
#define CRC_NUM_TABLES 9
#define CRC_UINT32_SWAP(v) ((v >> 24) | ((v >> 8) & 0xFF00) | ((v << 8) & 0xFF0000) | (v << 24))
UInt32 MY_FAST_CALL CrcUpdateT1_BeT4(UInt32 v, const void *data, size_t size, const UInt32 *table);
UInt32 MY_FAST_CALL CrcUpdateT1_BeT8(UInt32 v, const void *data, size_t size, const UInt32 *table);
#endif
#ifndef MY_CPU_BE
UInt32 MY_FAST_CALL CrcUpdateT4(UInt32 v, const void *data, size_t size, const UInt32 *table);
UInt32 MY_FAST_CALL CrcUpdateT8(UInt32 v, const void *data, size_t size, const UInt32 *table);
#endif
typedef UInt32 (MY_FAST_CALL *CRC_FUNC)(UInt32 v, const void *data, size_t size, const UInt32 *table);
CRC_FUNC g_CrcUpdateT4;
CRC_FUNC g_CrcUpdateT8;
CRC_FUNC g_CrcUpdate;
UInt32 g_CrcTable[256 * CRC_NUM_TABLES];
UInt32 MY_FAST_CALL CrcUpdate(UInt32 v, const void *data, size_t size)
{
return g_CrcUpdate(v, data, size, g_CrcTable);
}
UInt32 MY_FAST_CALL CrcCalc(const void *data, size_t size)
{
return g_CrcUpdate(CRC_INIT_VAL, data, size, g_CrcTable) ^ CRC_INIT_VAL;
}
#define CRC_UPDATE_BYTE_2(crc, b) (table[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8))
UInt32 MY_FAST_CALL CrcUpdateT1(UInt32 v, const void *data, size_t size, const UInt32 *table)
{
const Byte *p = (const Byte *)data;
const Byte *pEnd = p + size;
for (; p != pEnd; p++)
v = CRC_UPDATE_BYTE_2(v, *p);
return v;
}
void MY_FAST_CALL CrcGenerateTable()
{
UInt32 i;
for (i = 0; i < 256; i++)
{
UInt32 r = i;
unsigned j;
for (j = 0; j < 8; j++)
r = (r >> 1) ^ (kCrcPoly & ((UInt32)0 - (r & 1)));
g_CrcTable[i] = r;
}
for (i = 256; i < 256 * CRC_NUM_TABLES; i++)
{
UInt32 r = g_CrcTable[(size_t)i - 256];
g_CrcTable[i] = g_CrcTable[r & 0xFF] ^ (r >> 8);
}
#if CRC_NUM_TABLES < 4
g_CrcUpdate = CrcUpdateT1;
#else
#ifdef MY_CPU_LE
g_CrcUpdateT4 = CrcUpdateT4;
g_CrcUpdate = CrcUpdateT4;
#if CRC_NUM_TABLES >= 8
g_CrcUpdateT8 = CrcUpdateT8;
#ifdef MY_CPU_X86_OR_AMD64
if (!CPU_Is_InOrder())
#endif
g_CrcUpdate = CrcUpdateT8;
#endif
#else
{
#ifndef MY_CPU_BE
UInt32 k = 0x01020304;
const Byte *p = (const Byte *)&k;
if (p[0] == 4 && p[1] == 3)
{
g_CrcUpdateT4 = CrcUpdateT4;
g_CrcUpdate = CrcUpdateT4;
#if CRC_NUM_TABLES >= 8
g_CrcUpdateT8 = CrcUpdateT8;
g_CrcUpdate = CrcUpdateT8;
#endif
}
else if (p[0] != 1 || p[1] != 2)
g_CrcUpdate = CrcUpdateT1;
else
#endif
{
for (i = 256 * CRC_NUM_TABLES - 1; i >= 256; i--)
{
UInt32 x = g_CrcTable[(size_t)i - 256];
g_CrcTable[i] = CRC_UINT32_SWAP(x);
}
g_CrcUpdateT4 = CrcUpdateT1_BeT4;
g_CrcUpdate = CrcUpdateT1_BeT4;
#if CRC_NUM_TABLES >= 8
g_CrcUpdateT8 = CrcUpdateT1_BeT8;
g_CrcUpdate = CrcUpdateT1_BeT8;
#endif
}
}
#endif
#endif
}

25
3rdparty/7z/7zCrc.h vendored
View file

@ -1,25 +0,0 @@
/* 7zCrc.h -- CRC32 calculation
2013-01-18 : Igor Pavlov : Public domain */
#ifndef __7Z_CRC_H
#define __7Z_CRC_H
#include "7zTypes.h"
EXTERN_C_BEGIN
extern UInt32 g_CrcTable[];
/* Call CrcGenerateTable one time before other CRC functions */
void MY_FAST_CALL CrcGenerateTable(void);
#define CRC_INIT_VAL 0xFFFFFFFF
#define CRC_GET_DIGEST(crc) ((crc) ^ CRC_INIT_VAL)
#define CRC_UPDATE_BYTE(crc, b) (g_CrcTable[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8))
UInt32 MY_FAST_CALL CrcUpdate(UInt32 crc, const void *data, size_t size);
UInt32 MY_FAST_CALL CrcCalc(const void *data, size_t size);
EXTERN_C_END
#endif

115
3rdparty/7z/7zCrcOpt.c vendored
View file

@ -1,115 +0,0 @@
/* 7zCrcOpt.c -- CRC32 calculation
2017-04-03 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "CpuArch.h"
#ifndef MY_CPU_BE
#define CRC_UPDATE_BYTE_2(crc, b) (table[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8))
UInt32 MY_FAST_CALL CrcUpdateT4(UInt32 v, const void *data, size_t size, const UInt32 *table)
{
const Byte *p = (const Byte *)data;
for (; size > 0 && ((unsigned)(ptrdiff_t)p & 3) != 0; size--, p++)
v = CRC_UPDATE_BYTE_2(v, *p);
for (; size >= 4; size -= 4, p += 4)
{
v ^= *(const UInt32 *)p;
v =
(table + 0x300)[((v ) & 0xFF)]
^ (table + 0x200)[((v >> 8) & 0xFF)]
^ (table + 0x100)[((v >> 16) & 0xFF)]
^ (table + 0x000)[((v >> 24))];
}
for (; size > 0; size--, p++)
v = CRC_UPDATE_BYTE_2(v, *p);
return v;
}
UInt32 MY_FAST_CALL CrcUpdateT8(UInt32 v, const void *data, size_t size, const UInt32 *table)
{
const Byte *p = (const Byte *)data;
for (; size > 0 && ((unsigned)(ptrdiff_t)p & 7) != 0; size--, p++)
v = CRC_UPDATE_BYTE_2(v, *p);
for (; size >= 8; size -= 8, p += 8)
{
UInt32 d;
v ^= *(const UInt32 *)p;
v =
(table + 0x700)[((v ) & 0xFF)]
^ (table + 0x600)[((v >> 8) & 0xFF)]
^ (table + 0x500)[((v >> 16) & 0xFF)]
^ (table + 0x400)[((v >> 24))];
d = *((const UInt32 *)p + 1);
v ^=
(table + 0x300)[((d ) & 0xFF)]
^ (table + 0x200)[((d >> 8) & 0xFF)]
^ (table + 0x100)[((d >> 16) & 0xFF)]
^ (table + 0x000)[((d >> 24))];
}
for (; size > 0; size--, p++)
v = CRC_UPDATE_BYTE_2(v, *p);
return v;
}
#endif
#ifndef MY_CPU_LE
#define CRC_UINT32_SWAP(v) ((v >> 24) | ((v >> 8) & 0xFF00) | ((v << 8) & 0xFF0000) | (v << 24))
#define CRC_UPDATE_BYTE_2_BE(crc, b) (table[(((crc) >> 24) ^ (b))] ^ ((crc) << 8))
UInt32 MY_FAST_CALL CrcUpdateT1_BeT4(UInt32 v, const void *data, size_t size, const UInt32 *table)
{
const Byte *p = (const Byte *)data;
table += 0x100;
v = CRC_UINT32_SWAP(v);
for (; size > 0 && ((unsigned)(ptrdiff_t)p & 3) != 0; size--, p++)
v = CRC_UPDATE_BYTE_2_BE(v, *p);
for (; size >= 4; size -= 4, p += 4)
{
v ^= *(const UInt32 *)p;
v =
(table + 0x000)[((v ) & 0xFF)]
^ (table + 0x100)[((v >> 8) & 0xFF)]
^ (table + 0x200)[((v >> 16) & 0xFF)]
^ (table + 0x300)[((v >> 24))];
}
for (; size > 0; size--, p++)
v = CRC_UPDATE_BYTE_2_BE(v, *p);
return CRC_UINT32_SWAP(v);
}
UInt32 MY_FAST_CALL CrcUpdateT1_BeT8(UInt32 v, const void *data, size_t size, const UInt32 *table)
{
const Byte *p = (const Byte *)data;
table += 0x100;
v = CRC_UINT32_SWAP(v);
for (; size > 0 && ((unsigned)(ptrdiff_t)p & 7) != 0; size--, p++)
v = CRC_UPDATE_BYTE_2_BE(v, *p);
for (; size >= 8; size -= 8, p += 8)
{
UInt32 d;
v ^= *(const UInt32 *)p;
v =
(table + 0x400)[((v ) & 0xFF)]
^ (table + 0x500)[((v >> 8) & 0xFF)]
^ (table + 0x600)[((v >> 16) & 0xFF)]
^ (table + 0x700)[((v >> 24))];
d = *((const UInt32 *)p + 1);
v ^=
(table + 0x000)[((d ) & 0xFF)]
^ (table + 0x100)[((d >> 8) & 0xFF)]
^ (table + 0x200)[((d >> 16) & 0xFF)]
^ (table + 0x300)[((d >> 24))];
}
for (; size > 0; size--, p++)
v = CRC_UPDATE_BYTE_2_BE(v, *p);
return CRC_UINT32_SWAP(v);
}
#endif

591
3rdparty/7z/7zDec.c vendored
View file

@ -1,591 +0,0 @@
/* 7zDec.c -- Decoding from 7z folder
2019-02-02 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include <string.h>
/* #define _7ZIP_PPMD_SUPPPORT */
#include "7z.h"
#include "7zCrc.h"
#include "Bcj2.h"
#include "Bra.h"
#include "CpuArch.h"
#include "Delta.h"
#include "LzmaDec.h"
#include "Lzma2Dec.h"
#ifdef _7ZIP_PPMD_SUPPPORT
#include "Ppmd7.h"
#endif
#define k_Copy 0
#define k_Delta 3
#define k_LZMA2 0x21
#define k_LZMA 0x30101
#define k_BCJ 0x3030103
#define k_BCJ2 0x303011B
#define k_PPC 0x3030205
#define k_IA64 0x3030401
#define k_ARM 0x3030501
#define k_ARMT 0x3030701
#define k_SPARC 0x3030805
#ifdef _7ZIP_PPMD_SUPPPORT
#define k_PPMD 0x30401
typedef struct
{
IByteIn vt;
const Byte *cur;
const Byte *end;
const Byte *begin;
UInt64 processed;
BoolInt extra;
SRes res;
const ILookInStream *inStream;
} CByteInToLook;
static Byte ReadByte(const IByteIn *pp)
{
CByteInToLook *p = CONTAINER_FROM_VTBL(pp, CByteInToLook, vt);
if (p->cur != p->end)
return *p->cur++;
if (p->res == SZ_OK)
{
size_t size = p->cur - p->begin;
p->processed += size;
p->res = ILookInStream_Skip(p->inStream, size);
size = (1 << 25);
p->res = ILookInStream_Look(p->inStream, (const void **)&p->begin, &size);
p->cur = p->begin;
p->end = p->begin + size;
if (size != 0)
return *p->cur++;;
}
p->extra = True;
return 0;
}
static SRes SzDecodePpmd(const Byte *props, unsigned propsSize, UInt64 inSize, const ILookInStream *inStream,
Byte *outBuffer, SizeT outSize, ISzAllocPtr allocMain)
{
CPpmd7 ppmd;
CByteInToLook s;
SRes res = SZ_OK;
s.vt.Read = ReadByte;
s.inStream = inStream;
s.begin = s.end = s.cur = NULL;
s.extra = False;
s.res = SZ_OK;
s.processed = 0;
if (propsSize != 5)
return SZ_ERROR_UNSUPPORTED;
{
unsigned order = props[0];
UInt32 memSize = GetUi32(props + 1);
if (order < PPMD7_MIN_ORDER ||
order > PPMD7_MAX_ORDER ||
memSize < PPMD7_MIN_MEM_SIZE ||
memSize > PPMD7_MAX_MEM_SIZE)
return SZ_ERROR_UNSUPPORTED;
Ppmd7_Construct(&ppmd);
if (!Ppmd7_Alloc(&ppmd, memSize, allocMain))
return SZ_ERROR_MEM;
Ppmd7_Init(&ppmd, order);
}
{
CPpmd7z_RangeDec rc;
Ppmd7z_RangeDec_CreateVTable(&rc);
rc.Stream = &s.vt;
if (!Ppmd7z_RangeDec_Init(&rc))
res = SZ_ERROR_DATA;
else if (s.extra)
res = (s.res != SZ_OK ? s.res : SZ_ERROR_DATA);
else
{
SizeT i;
for (i = 0; i < outSize; i++)
{
int sym = Ppmd7_DecodeSymbol(&ppmd, &rc.vt);
if (s.extra || sym < 0)
break;
outBuffer[i] = (Byte)sym;
}
if (i != outSize)
res = (s.res != SZ_OK ? s.res : SZ_ERROR_DATA);
else if (s.processed + (s.cur - s.begin) != inSize || !Ppmd7z_RangeDec_IsFinishedOK(&rc))
res = SZ_ERROR_DATA;
}
}
Ppmd7_Free(&ppmd, allocMain);
return res;
}
#endif
static SRes SzDecodeLzma(const Byte *props, unsigned propsSize, UInt64 inSize, ILookInStream *inStream,
Byte *outBuffer, SizeT outSize, ISzAllocPtr allocMain)
{
CLzmaDec state;
SRes res = SZ_OK;
LzmaDec_Construct(&state);
RINOK(LzmaDec_AllocateProbs(&state, props, propsSize, allocMain));
state.dic = outBuffer;
state.dicBufSize = outSize;
LzmaDec_Init(&state);
for (;;)
{
const void *inBuf = NULL;
size_t lookahead = (1 << 18);
if (lookahead > inSize)
lookahead = (size_t)inSize;
res = ILookInStream_Look(inStream, &inBuf, &lookahead);
if (res != SZ_OK)
break;
{
SizeT inProcessed = (SizeT)lookahead, dicPos = state.dicPos;
ELzmaStatus status;
res = LzmaDec_DecodeToDic(&state, outSize, (const Byte *)inBuf, &inProcessed, LZMA_FINISH_END, &status);
lookahead -= inProcessed;
inSize -= inProcessed;
if (res != SZ_OK)
break;
if (status == LZMA_STATUS_FINISHED_WITH_MARK)
{
if (outSize != state.dicPos || inSize != 0)
res = SZ_ERROR_DATA;
break;
}
if (outSize == state.dicPos && inSize == 0 && status == LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK)
break;
if (inProcessed == 0 && dicPos == state.dicPos)
{
res = SZ_ERROR_DATA;
break;
}
res = ILookInStream_Skip(inStream, inProcessed);
if (res != SZ_OK)
break;
}
}
LzmaDec_FreeProbs(&state, allocMain);
return res;
}
#ifndef _7Z_NO_METHOD_LZMA2
static SRes SzDecodeLzma2(const Byte *props, unsigned propsSize, UInt64 inSize, ILookInStream *inStream,
Byte *outBuffer, SizeT outSize, ISzAllocPtr allocMain)
{
CLzma2Dec state;
SRes res = SZ_OK;
Lzma2Dec_Construct(&state);
if (propsSize != 1)
return SZ_ERROR_DATA;
RINOK(Lzma2Dec_AllocateProbs(&state, props[0], allocMain));
state.decoder.dic = outBuffer;
state.decoder.dicBufSize = outSize;
Lzma2Dec_Init(&state);
for (;;)
{
const void *inBuf = NULL;
size_t lookahead = (1 << 18);
if (lookahead > inSize)
lookahead = (size_t)inSize;
res = ILookInStream_Look(inStream, &inBuf, &lookahead);
if (res != SZ_OK)
break;
{
SizeT inProcessed = (SizeT)lookahead, dicPos = state.decoder.dicPos;
ELzmaStatus status;
res = Lzma2Dec_DecodeToDic(&state, outSize, (const Byte *)inBuf, &inProcessed, LZMA_FINISH_END, &status);
lookahead -= inProcessed;
inSize -= inProcessed;
if (res != SZ_OK)
break;
if (status == LZMA_STATUS_FINISHED_WITH_MARK)
{
if (outSize != state.decoder.dicPos || inSize != 0)
res = SZ_ERROR_DATA;
break;
}
if (inProcessed == 0 && dicPos == state.decoder.dicPos)
{
res = SZ_ERROR_DATA;
break;
}
res = ILookInStream_Skip(inStream, inProcessed);
if (res != SZ_OK)
break;
}
}
Lzma2Dec_FreeProbs(&state, allocMain);
return res;
}
#endif
static SRes SzDecodeCopy(UInt64 inSize, ILookInStream *inStream, Byte *outBuffer)
{
while (inSize > 0)
{
const void *inBuf;
size_t curSize = (1 << 18);
if (curSize > inSize)
curSize = (size_t)inSize;
RINOK(ILookInStream_Look(inStream, &inBuf, &curSize));
if (curSize == 0)
return SZ_ERROR_INPUT_EOF;
memcpy(outBuffer, inBuf, curSize);
outBuffer += curSize;
inSize -= curSize;
RINOK(ILookInStream_Skip(inStream, curSize));
}
return SZ_OK;
}
static BoolInt IS_MAIN_METHOD(UInt32 m)
{
switch (m)
{
case k_Copy:
case k_LZMA:
#ifndef _7Z_NO_METHOD_LZMA2
case k_LZMA2:
#endif
#ifdef _7ZIP_PPMD_SUPPPORT
case k_PPMD:
#endif
return True;
}
return False;
}
static BoolInt IS_SUPPORTED_CODER(const CSzCoderInfo *c)
{
return
c->NumStreams == 1
/* && c->MethodID <= (UInt32)0xFFFFFFFF */
&& IS_MAIN_METHOD((UInt32)c->MethodID);
}
#define IS_BCJ2(c) ((c)->MethodID == k_BCJ2 && (c)->NumStreams == 4)
static SRes CheckSupportedFolder(const CSzFolder *f)
{
if (f->NumCoders < 1 || f->NumCoders > 4)
return SZ_ERROR_UNSUPPORTED;
if (!IS_SUPPORTED_CODER(&f->Coders[0]))
return SZ_ERROR_UNSUPPORTED;
if (f->NumCoders == 1)
{
if (f->NumPackStreams != 1 || f->PackStreams[0] != 0 || f->NumBonds != 0)
return SZ_ERROR_UNSUPPORTED;
return SZ_OK;
}
#ifndef _7Z_NO_METHODS_FILTERS
if (f->NumCoders == 2)
{
const CSzCoderInfo *c = &f->Coders[1];
if (
/* c->MethodID > (UInt32)0xFFFFFFFF || */
c->NumStreams != 1
|| f->NumPackStreams != 1
|| f->PackStreams[0] != 0
|| f->NumBonds != 1
|| f->Bonds[0].InIndex != 1
|| f->Bonds[0].OutIndex != 0)
return SZ_ERROR_UNSUPPORTED;
switch ((UInt32)c->MethodID)
{
case k_Delta:
case k_BCJ:
case k_PPC:
case k_IA64:
case k_SPARC:
case k_ARM:
case k_ARMT:
break;
default:
return SZ_ERROR_UNSUPPORTED;
}
return SZ_OK;
}
#endif
if (f->NumCoders == 4)
{
if (!IS_SUPPORTED_CODER(&f->Coders[1])
|| !IS_SUPPORTED_CODER(&f->Coders[2])
|| !IS_BCJ2(&f->Coders[3]))
return SZ_ERROR_UNSUPPORTED;
if (f->NumPackStreams != 4
|| f->PackStreams[0] != 2
|| f->PackStreams[1] != 6
|| f->PackStreams[2] != 1
|| f->PackStreams[3] != 0
|| f->NumBonds != 3
|| f->Bonds[0].InIndex != 5 || f->Bonds[0].OutIndex != 0
|| f->Bonds[1].InIndex != 4 || f->Bonds[1].OutIndex != 1
|| f->Bonds[2].InIndex != 3 || f->Bonds[2].OutIndex != 2)
return SZ_ERROR_UNSUPPORTED;
return SZ_OK;
}
return SZ_ERROR_UNSUPPORTED;
}
#define CASE_BRA_CONV(isa) case k_ ## isa: isa ## _Convert(outBuffer, outSize, 0, 0); break;
static SRes SzFolder_Decode2(const CSzFolder *folder,
const Byte *propsData,
const UInt64 *unpackSizes,
const UInt64 *packPositions,
ILookInStream *inStream, UInt64 startPos,
Byte *outBuffer, SizeT outSize, ISzAllocPtr allocMain,
Byte *tempBuf[])
{
UInt32 ci;
SizeT tempSizes[3] = { 0, 0, 0};
SizeT tempSize3 = 0;
Byte *tempBuf3 = 0;
RINOK(CheckSupportedFolder(folder));
for (ci = 0; ci < folder->NumCoders; ci++)
{
const CSzCoderInfo *coder = &folder->Coders[ci];
if (IS_MAIN_METHOD((UInt32)coder->MethodID))
{
UInt32 si = 0;
UInt64 offset;
UInt64 inSize;
Byte *outBufCur = outBuffer;
SizeT outSizeCur = outSize;
if (folder->NumCoders == 4)
{
UInt32 indices[] = { 3, 2, 0 };
UInt64 unpackSize = unpackSizes[ci];
si = indices[ci];
if (ci < 2)
{
Byte *temp;
outSizeCur = (SizeT)unpackSize;
if (outSizeCur != unpackSize)
return SZ_ERROR_MEM;
temp = (Byte *)ISzAlloc_Alloc(allocMain, outSizeCur);
if (!temp && outSizeCur != 0)
return SZ_ERROR_MEM;
outBufCur = tempBuf[1 - ci] = temp;
tempSizes[1 - ci] = outSizeCur;
}
else if (ci == 2)
{
if (unpackSize > outSize) /* check it */
return SZ_ERROR_PARAM;
tempBuf3 = outBufCur = outBuffer + (outSize - (size_t)unpackSize);
tempSize3 = outSizeCur = (SizeT)unpackSize;
}
else
return SZ_ERROR_UNSUPPORTED;
}
offset = packPositions[si];
inSize = packPositions[(size_t)si + 1] - offset;
RINOK(LookInStream_SeekTo(inStream, startPos + offset));
if (coder->MethodID == k_Copy)
{
if (inSize != outSizeCur) /* check it */
return SZ_ERROR_DATA;
RINOK(SzDecodeCopy(inSize, inStream, outBufCur));
}
else if (coder->MethodID == k_LZMA)
{
RINOK(SzDecodeLzma(propsData + coder->PropsOffset, coder->PropsSize, inSize, inStream, outBufCur, outSizeCur, allocMain));
}
#ifndef _7Z_NO_METHOD_LZMA2
else if (coder->MethodID == k_LZMA2)
{
RINOK(SzDecodeLzma2(propsData + coder->PropsOffset, coder->PropsSize, inSize, inStream, outBufCur, outSizeCur, allocMain));
}
#endif
#ifdef _7ZIP_PPMD_SUPPPORT
else if (coder->MethodID == k_PPMD)
{
RINOK(SzDecodePpmd(propsData + coder->PropsOffset, coder->PropsSize, inSize, inStream, outBufCur, outSizeCur, allocMain));
}
#endif
else
return SZ_ERROR_UNSUPPORTED;
}
else if (coder->MethodID == k_BCJ2)
{
UInt64 offset = packPositions[1];
UInt64 s3Size = packPositions[2] - offset;
if (ci != 3)
return SZ_ERROR_UNSUPPORTED;
tempSizes[2] = (SizeT)s3Size;
if (tempSizes[2] != s3Size)
return SZ_ERROR_MEM;
tempBuf[2] = (Byte *)ISzAlloc_Alloc(allocMain, tempSizes[2]);
if (!tempBuf[2] && tempSizes[2] != 0)
return SZ_ERROR_MEM;
RINOK(LookInStream_SeekTo(inStream, startPos + offset));
RINOK(SzDecodeCopy(s3Size, inStream, tempBuf[2]));
if ((tempSizes[0] & 3) != 0 ||
(tempSizes[1] & 3) != 0 ||
tempSize3 + tempSizes[0] + tempSizes[1] != outSize)
return SZ_ERROR_DATA;
{
CBcj2Dec p;
p.bufs[0] = tempBuf3; p.lims[0] = tempBuf3 + tempSize3;
p.bufs[1] = tempBuf[0]; p.lims[1] = tempBuf[0] + tempSizes[0];
p.bufs[2] = tempBuf[1]; p.lims[2] = tempBuf[1] + tempSizes[1];
p.bufs[3] = tempBuf[2]; p.lims[3] = tempBuf[2] + tempSizes[2];
p.dest = outBuffer;
p.destLim = outBuffer + outSize;
Bcj2Dec_Init(&p);
RINOK(Bcj2Dec_Decode(&p));
{
unsigned i;
for (i = 0; i < 4; i++)
if (p.bufs[i] != p.lims[i])
return SZ_ERROR_DATA;
if (!Bcj2Dec_IsFinished(&p))
return SZ_ERROR_DATA;
if (p.dest != p.destLim
|| p.state != BCJ2_STREAM_MAIN)
return SZ_ERROR_DATA;
}
}
}
#ifndef _7Z_NO_METHODS_FILTERS
else if (ci == 1)
{
if (coder->MethodID == k_Delta)
{
if (coder->PropsSize != 1)
return SZ_ERROR_UNSUPPORTED;
{
Byte state[DELTA_STATE_SIZE];
Delta_Init(state);
Delta_Decode(state, (unsigned)(propsData[coder->PropsOffset]) + 1, outBuffer, outSize);
}
}
else
{
if (coder->PropsSize != 0)
return SZ_ERROR_UNSUPPORTED;
switch (coder->MethodID)
{
case k_BCJ:
{
UInt32 state;
x86_Convert_Init(state);
x86_Convert(outBuffer, outSize, 0, &state, 0);
break;
}
CASE_BRA_CONV(PPC)
CASE_BRA_CONV(IA64)
CASE_BRA_CONV(SPARC)
CASE_BRA_CONV(ARM)
CASE_BRA_CONV(ARMT)
default:
return SZ_ERROR_UNSUPPORTED;
}
}
}
#endif
else
return SZ_ERROR_UNSUPPORTED;
}
return SZ_OK;
}
SRes SzAr_DecodeFolder(const CSzAr *p, UInt32 folderIndex,
ILookInStream *inStream, UInt64 startPos,
Byte *outBuffer, size_t outSize,
ISzAllocPtr allocMain)
{
SRes res;
CSzFolder folder;
CSzData sd;
const Byte *data = p->CodersData + p->FoCodersOffsets[folderIndex];
sd.Data = data;
sd.Size = p->FoCodersOffsets[(size_t)folderIndex + 1] - p->FoCodersOffsets[folderIndex];
res = SzGetNextFolderItem(&folder, &sd);
if (res != SZ_OK)
return res;
if (sd.Size != 0
|| folder.UnpackStream != p->FoToMainUnpackSizeIndex[folderIndex]
|| outSize != SzAr_GetFolderUnpackSize(p, folderIndex))
return SZ_ERROR_FAIL;
{
unsigned i;
Byte *tempBuf[3] = { 0, 0, 0};
res = SzFolder_Decode2(&folder, data,
&p->CoderUnpackSizes[p->FoToCoderUnpackSizes[folderIndex]],
p->PackPositions + p->FoStartPackStreamIndex[folderIndex],
inStream, startPos,
outBuffer, (SizeT)outSize, allocMain, tempBuf);
for (i = 0; i < 3; i++)
ISzAlloc_Free(allocMain, tempBuf[i]);
if (res == SZ_OK)
if (SzBitWithVals_Check(&p->FolderCRCs, folderIndex))
if (CrcCalc(outBuffer, outSize) != p->FolderCRCs.Vals[folderIndex])
res = SZ_ERROR_CRC;
return res;
}
}

286
3rdparty/7z/7zFile.c vendored
View file

@ -1,286 +0,0 @@
/* 7zFile.c -- File IO
2017-04-03 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "7zFile.h"
#ifndef USE_WINDOWS_FILE
#ifndef UNDER_CE
#include <errno.h>
#endif
#else
/*
ReadFile and WriteFile functions in Windows have BUG:
If you Read or Write 64MB or more (probably min_failure_size = 64MB - 32KB + 1)
from/to Network file, it returns ERROR_NO_SYSTEM_RESOURCES
(Insufficient system resources exist to complete the requested service).
Probably in some version of Windows there are problems with other sizes:
for 32 MB (maybe also for 16 MB).
And message can be "Network connection was lost"
*/
#define kChunkSizeMax (1 << 22)
#endif
void File_Construct(CSzFile *p)
{
#ifdef USE_WINDOWS_FILE
p->handle = INVALID_HANDLE_VALUE;
#else
p->file = NULL;
#endif
}
#if !defined(UNDER_CE) || !defined(USE_WINDOWS_FILE)
static WRes File_Open(CSzFile *p, const char *name, int writeMode)
{
#ifdef USE_WINDOWS_FILE
p->handle = CreateFileA(name,
writeMode ? GENERIC_WRITE : GENERIC_READ,
FILE_SHARE_READ, NULL,
writeMode ? CREATE_ALWAYS : OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
return (p->handle != INVALID_HANDLE_VALUE) ? 0 : GetLastError();
#else
p->file = fopen(name, writeMode ? "wb+" : "rb");
return (p->file != 0) ? 0 :
#ifdef UNDER_CE
2; /* ENOENT */
#else
errno;
#endif
#endif
}
WRes InFile_Open(CSzFile *p, const char *name) { return File_Open(p, name, 0); }
WRes OutFile_Open(CSzFile *p, const char *name) { return File_Open(p, name, 1); }
#endif
#ifdef USE_WINDOWS_FILE
static WRes File_OpenW(CSzFile *p, const WCHAR *name, int writeMode)
{
p->handle = CreateFileW(name,
writeMode ? GENERIC_WRITE : GENERIC_READ,
FILE_SHARE_READ, NULL,
writeMode ? CREATE_ALWAYS : OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
return (p->handle != INVALID_HANDLE_VALUE) ? 0 : GetLastError();
}
WRes InFile_OpenW(CSzFile *p, const WCHAR *name) { return File_OpenW(p, name, 0); }
WRes OutFile_OpenW(CSzFile *p, const WCHAR *name) { return File_OpenW(p, name, 1); }
#endif
WRes File_Close(CSzFile *p)
{
#ifdef USE_WINDOWS_FILE
if (p->handle != INVALID_HANDLE_VALUE)
{
if (!CloseHandle(p->handle))
return GetLastError();
p->handle = INVALID_HANDLE_VALUE;
}
#else
if (p->file != NULL)
{
int res = fclose(p->file);
if (res != 0)
return res;
p->file = NULL;
}
#endif
return 0;
}
WRes File_Read(CSzFile *p, void *data, size_t *size)
{
size_t originalSize = *size;
if (originalSize == 0)
return 0;
#ifdef USE_WINDOWS_FILE
*size = 0;
do
{
DWORD curSize = (originalSize > kChunkSizeMax) ? kChunkSizeMax : (DWORD)originalSize;
DWORD processed = 0;
BOOL res = ReadFile(p->handle, data, curSize, &processed, NULL);
data = (void *)((Byte *)data + processed);
originalSize -= processed;
*size += processed;
if (!res)
return GetLastError();
if (processed == 0)
break;
}
while (originalSize > 0);
return 0;
#else
*size = fread(data, 1, originalSize, p->file);
if (*size == originalSize)
return 0;
return ferror(p->file);
#endif
}
WRes File_Write(CSzFile *p, const void *data, size_t *size)
{
size_t originalSize = *size;
if (originalSize == 0)
return 0;
#ifdef USE_WINDOWS_FILE
*size = 0;
do
{
DWORD curSize = (originalSize > kChunkSizeMax) ? kChunkSizeMax : (DWORD)originalSize;
DWORD processed = 0;
BOOL res = WriteFile(p->handle, data, curSize, &processed, NULL);
data = (void *)((Byte *)data + processed);
originalSize -= processed;
*size += processed;
if (!res)
return GetLastError();
if (processed == 0)
break;
}
while (originalSize > 0);
return 0;
#else
*size = fwrite(data, 1, originalSize, p->file);
if (*size == originalSize)
return 0;
return ferror(p->file);
#endif
}
WRes File_Seek(CSzFile *p, Int64 *pos, ESzSeek origin)
{
#ifdef USE_WINDOWS_FILE
LARGE_INTEGER value;
DWORD moveMethod;
value.LowPart = (DWORD)*pos;
value.HighPart = (LONG)((UInt64)*pos >> 16 >> 16); /* for case when UInt64 is 32-bit only */
switch (origin)
{
case SZ_SEEK_SET: moveMethod = FILE_BEGIN; break;
case SZ_SEEK_CUR: moveMethod = FILE_CURRENT; break;
case SZ_SEEK_END: moveMethod = FILE_END; break;
default: return ERROR_INVALID_PARAMETER;
}
value.LowPart = SetFilePointer(p->handle, value.LowPart, &value.HighPart, moveMethod);
if (value.LowPart == 0xFFFFFFFF)
{
WRes res = GetLastError();
if (res != NO_ERROR)
return res;
}
*pos = ((Int64)value.HighPart << 32) | value.LowPart;
return 0;
#else
int moveMethod;
int res;
switch (origin)
{
case SZ_SEEK_SET: moveMethod = SEEK_SET; break;
case SZ_SEEK_CUR: moveMethod = SEEK_CUR; break;
case SZ_SEEK_END: moveMethod = SEEK_END; break;
default: return 1;
}
res = fseek(p->file, (long)*pos, moveMethod);
*pos = ftell(p->file);
return res;
#endif
}
WRes File_GetLength(CSzFile *p, UInt64 *length)
{
#ifdef USE_WINDOWS_FILE
DWORD sizeHigh;
DWORD sizeLow = GetFileSize(p->handle, &sizeHigh);
if (sizeLow == 0xFFFFFFFF)
{
DWORD res = GetLastError();
if (res != NO_ERROR)
return res;
}
*length = (((UInt64)sizeHigh) << 32) + sizeLow;
return 0;
#else
long pos = ftell(p->file);
int res = fseek(p->file, 0, SEEK_END);
*length = ftell(p->file);
fseek(p->file, pos, SEEK_SET);
return res;
#endif
}
/* ---------- FileSeqInStream ---------- */
static SRes FileSeqInStream_Read(const ISeqInStream *pp, void *buf, size_t *size)
{
CFileSeqInStream *p = CONTAINER_FROM_VTBL(pp, CFileSeqInStream, vt);
return File_Read(&p->file, buf, size) == 0 ? SZ_OK : SZ_ERROR_READ;
}
void FileSeqInStream_CreateVTable(CFileSeqInStream *p)
{
p->vt.Read = FileSeqInStream_Read;
}
/* ---------- FileInStream ---------- */
static SRes FileInStream_Read(const ISeekInStream *pp, void *buf, size_t *size)
{
CFileInStream *p = CONTAINER_FROM_VTBL(pp, CFileInStream, vt);
return (File_Read(&p->file, buf, size) == 0) ? SZ_OK : SZ_ERROR_READ;
}
static SRes FileInStream_Seek(const ISeekInStream *pp, Int64 *pos, ESzSeek origin)
{
CFileInStream *p = CONTAINER_FROM_VTBL(pp, CFileInStream, vt);
return File_Seek(&p->file, pos, origin);
}
void FileInStream_CreateVTable(CFileInStream *p)
{
p->vt.Read = FileInStream_Read;
p->vt.Seek = FileInStream_Seek;
}
/* ---------- FileOutStream ---------- */
static size_t FileOutStream_Write(const ISeqOutStream *pp, const void *data, size_t size)
{
CFileOutStream *p = CONTAINER_FROM_VTBL(pp, CFileOutStream, vt);
File_Write(&p->file, data, &size);
return size;
}
void FileOutStream_CreateVTable(CFileOutStream *p)
{
p->vt.Write = FileOutStream_Write;
}

83
3rdparty/7z/7zFile.h vendored
View file

@ -1,83 +0,0 @@
/* 7zFile.h -- File IO
2017-04-03 : Igor Pavlov : Public domain */
#ifndef __7Z_FILE_H
#define __7Z_FILE_H
#ifdef _WIN32
#define USE_WINDOWS_FILE
#endif
#ifdef USE_WINDOWS_FILE
#include <windows.h>
#else
#include <stdio.h>
#endif
#include "7zTypes.h"
EXTERN_C_BEGIN
/* ---------- File ---------- */
typedef struct
{
#ifdef USE_WINDOWS_FILE
HANDLE handle;
#else
FILE *file;
#endif
} CSzFile;
void File_Construct(CSzFile *p);
#if !defined(UNDER_CE) || !defined(USE_WINDOWS_FILE)
WRes InFile_Open(CSzFile *p, const char *name);
WRes OutFile_Open(CSzFile *p, const char *name);
#endif
#ifdef USE_WINDOWS_FILE
WRes InFile_OpenW(CSzFile *p, const WCHAR *name);
WRes OutFile_OpenW(CSzFile *p, const WCHAR *name);
#endif
WRes File_Close(CSzFile *p);
/* reads max(*size, remain file's size) bytes */
WRes File_Read(CSzFile *p, void *data, size_t *size);
/* writes *size bytes */
WRes File_Write(CSzFile *p, const void *data, size_t *size);
WRes File_Seek(CSzFile *p, Int64 *pos, ESzSeek origin);
WRes File_GetLength(CSzFile *p, UInt64 *length);
/* ---------- FileInStream ---------- */
typedef struct
{
ISeqInStream vt;
CSzFile file;
} CFileSeqInStream;
void FileSeqInStream_CreateVTable(CFileSeqInStream *p);
typedef struct
{
ISeekInStream vt;
CSzFile file;
} CFileInStream;
void FileInStream_CreateVTable(CFileInStream *p);
typedef struct
{
ISeqOutStream vt;
CSzFile file;
} CFileOutStream;
void FileOutStream_CreateVTable(CFileOutStream *p);
EXTERN_C_END
#endif

176
3rdparty/7z/7zStream.c vendored
View file

@ -1,176 +0,0 @@
/* 7zStream.c -- 7z Stream functions
2017-04-03 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include <string.h>
#include "7zTypes.h"
SRes SeqInStream_Read2(const ISeqInStream *stream, void *buf, size_t size, SRes errorType)
{
while (size != 0)
{
size_t processed = size;
RINOK(ISeqInStream_Read(stream, buf, &processed));
if (processed == 0)
return errorType;
buf = (void *)((Byte *)buf + processed);
size -= processed;
}
return SZ_OK;
}
SRes SeqInStream_Read(const ISeqInStream *stream, void *buf, size_t size)
{
return SeqInStream_Read2(stream, buf, size, SZ_ERROR_INPUT_EOF);
}
SRes SeqInStream_ReadByte(const ISeqInStream *stream, Byte *buf)
{
size_t processed = 1;
RINOK(ISeqInStream_Read(stream, buf, &processed));
return (processed == 1) ? SZ_OK : SZ_ERROR_INPUT_EOF;
}
SRes LookInStream_SeekTo(const ILookInStream *stream, UInt64 offset)
{
Int64 t = offset;
return ILookInStream_Seek(stream, &t, SZ_SEEK_SET);
}
SRes LookInStream_LookRead(const ILookInStream *stream, void *buf, size_t *size)
{
const void *lookBuf;
if (*size == 0)
return SZ_OK;
RINOK(ILookInStream_Look(stream, &lookBuf, size));
memcpy(buf, lookBuf, *size);
return ILookInStream_Skip(stream, *size);
}
SRes LookInStream_Read2(const ILookInStream *stream, void *buf, size_t size, SRes errorType)
{
while (size != 0)
{
size_t processed = size;
RINOK(ILookInStream_Read(stream, buf, &processed));
if (processed == 0)
return errorType;
buf = (void *)((Byte *)buf + processed);
size -= processed;
}
return SZ_OK;
}
SRes LookInStream_Read(const ILookInStream *stream, void *buf, size_t size)
{
return LookInStream_Read2(stream, buf, size, SZ_ERROR_INPUT_EOF);
}
#define GET_LookToRead2 CLookToRead2 *p = CONTAINER_FROM_VTBL(pp, CLookToRead2, vt);
static SRes LookToRead2_Look_Lookahead(const ILookInStream *pp, const void **buf, size_t *size)
{
SRes res = SZ_OK;
GET_LookToRead2
size_t size2 = p->size - p->pos;
if (size2 == 0 && *size != 0)
{
p->pos = 0;
p->size = 0;
size2 = p->bufSize;
res = ISeekInStream_Read(p->realStream, p->buf, &size2);
p->size = size2;
}
if (*size > size2)
*size = size2;
*buf = p->buf + p->pos;
return res;
}
static SRes LookToRead2_Look_Exact(const ILookInStream *pp, const void **buf, size_t *size)
{
SRes res = SZ_OK;
GET_LookToRead2
size_t size2 = p->size - p->pos;
if (size2 == 0 && *size != 0)
{
p->pos = 0;
p->size = 0;
if (*size > p->bufSize)
*size = p->bufSize;
res = ISeekInStream_Read(p->realStream, p->buf, size);
size2 = p->size = *size;
}
if (*size > size2)
*size = size2;
*buf = p->buf + p->pos;
return res;
}
static SRes LookToRead2_Skip(const ILookInStream *pp, size_t offset)
{
GET_LookToRead2
p->pos += offset;
return SZ_OK;
}
static SRes LookToRead2_Read(const ILookInStream *pp, void *buf, size_t *size)
{
GET_LookToRead2
size_t rem = p->size - p->pos;
if (rem == 0)
return ISeekInStream_Read(p->realStream, buf, size);
if (rem > *size)
rem = *size;
memcpy(buf, p->buf + p->pos, rem);
p->pos += rem;
*size = rem;
return SZ_OK;
}
static SRes LookToRead2_Seek(const ILookInStream *pp, Int64 *pos, ESzSeek origin)
{
GET_LookToRead2
p->pos = p->size = 0;
return ISeekInStream_Seek(p->realStream, pos, origin);
}
void LookToRead2_CreateVTable(CLookToRead2 *p, int lookahead)
{
p->vt.Look = lookahead ?
LookToRead2_Look_Lookahead :
LookToRead2_Look_Exact;
p->vt.Skip = LookToRead2_Skip;
p->vt.Read = LookToRead2_Read;
p->vt.Seek = LookToRead2_Seek;
}
static SRes SecToLook_Read(const ISeqInStream *pp, void *buf, size_t *size)
{
CSecToLook *p = CONTAINER_FROM_VTBL(pp, CSecToLook, vt);
return LookInStream_LookRead(p->realStream, buf, size);
}
void SecToLook_CreateVTable(CSecToLook *p)
{
p->vt.Read = SecToLook_Read;
}
static SRes SecToRead_Read(const ISeqInStream *pp, void *buf, size_t *size)
{
CSecToRead *p = CONTAINER_FROM_VTBL(pp, CSecToRead, vt);
return ILookInStream_Read(p->realStream, buf, size);
}
void SecToRead_CreateVTable(CSecToRead *p)
{
p->vt.Read = SecToRead_Read;
}

375
3rdparty/7z/7zTypes.h vendored
View file

@ -1,375 +0,0 @@
/* 7zTypes.h -- Basic types
2018-08-04 : Igor Pavlov : Public domain */
#ifndef __7Z_TYPES_H
#define __7Z_TYPES_H
#ifdef _WIN32
/* #include <windows.h> */
#endif
#include <stddef.h>
#ifndef EXTERN_C_BEGIN
#ifdef __cplusplus
#define EXTERN_C_BEGIN extern "C" {
#define EXTERN_C_END }
#else
#define EXTERN_C_BEGIN
#define EXTERN_C_END
#endif
#endif
EXTERN_C_BEGIN
#define SZ_OK 0
#define SZ_ERROR_DATA 1
#define SZ_ERROR_MEM 2
#define SZ_ERROR_CRC 3
#define SZ_ERROR_UNSUPPORTED 4
#define SZ_ERROR_PARAM 5
#define SZ_ERROR_INPUT_EOF 6
#define SZ_ERROR_OUTPUT_EOF 7
#define SZ_ERROR_READ 8
#define SZ_ERROR_WRITE 9
#define SZ_ERROR_PROGRESS 10
#define SZ_ERROR_FAIL 11
#define SZ_ERROR_THREAD 12
#define SZ_ERROR_ARCHIVE 16
#define SZ_ERROR_NO_ARCHIVE 17
typedef int SRes;
#ifdef _WIN32
/* typedef DWORD WRes; */
typedef unsigned WRes;
#define MY_SRes_HRESULT_FROM_WRes(x) HRESULT_FROM_WIN32(x)
#else
typedef int WRes;
#define MY__FACILITY_WIN32 7
#define MY__FACILITY__WRes MY__FACILITY_WIN32
#define MY_SRes_HRESULT_FROM_WRes(x) ((HRESULT)(x) <= 0 ? ((HRESULT)(x)) : ((HRESULT) (((x) & 0x0000FFFF) | (MY__FACILITY__WRes << 16) | 0x80000000)))
#endif
#ifndef RINOK
#define RINOK(x) { int __result__ = (x); if (__result__ != 0) return __result__; }
#endif
typedef unsigned char Byte;
typedef short Int16;
typedef unsigned short UInt16;
#ifdef _LZMA_UINT32_IS_ULONG
typedef long Int32;
typedef unsigned long UInt32;
#else
typedef int Int32;
typedef unsigned int UInt32;
#endif
#ifdef _SZ_NO_INT_64
/* define _SZ_NO_INT_64, if your compiler doesn't support 64-bit integers.
NOTES: Some code will work incorrectly in that case! */
typedef long Int64;
typedef unsigned long UInt64;
#else
#if defined(_MSC_VER) || defined(__BORLANDC__)
typedef __int64 Int64;
typedef unsigned __int64 UInt64;
#define UINT64_CONST(n) n
#else
typedef long long int Int64;
typedef unsigned long long int UInt64;
#define UINT64_CONST(n) n ## ULL
#endif
#endif
#ifdef _LZMA_NO_SYSTEM_SIZE_T
typedef UInt32 SizeT;
#else
typedef size_t SizeT;
#endif
typedef int BoolInt;
/* typedef BoolInt Bool; */
#define True 1
#define False 0
#ifdef _WIN32
#define MY_STD_CALL __stdcall
#else
#define MY_STD_CALL
#endif
#ifdef _MSC_VER
#if _MSC_VER >= 1300
#define MY_NO_INLINE __declspec(noinline)
#else
#define MY_NO_INLINE
#endif
#define MY_FORCE_INLINE __forceinline
#define MY_CDECL __cdecl
#define MY_FAST_CALL __fastcall
#else
#define MY_NO_INLINE
#define MY_FORCE_INLINE
#define MY_CDECL
#define MY_FAST_CALL
/* inline keyword : for C++ / C99 */
/* GCC, clang: */
/*
#if defined (__GNUC__) && (__GNUC__ >= 4)
#define MY_FORCE_INLINE __attribute__((always_inline))
#define MY_NO_INLINE __attribute__((noinline))
#endif
*/
#endif
/* The following interfaces use first parameter as pointer to structure */
typedef struct IByteIn IByteIn;
struct IByteIn
{
Byte (*Read)(const IByteIn *p); /* reads one byte, returns 0 in case of EOF or error */
};
#define IByteIn_Read(p) (p)->Read(p)
typedef struct IByteOut IByteOut;
struct IByteOut
{
void (*Write)(const IByteOut *p, Byte b);
};
#define IByteOut_Write(p, b) (p)->Write(p, b)
typedef struct ISeqInStream ISeqInStream;
struct ISeqInStream
{
SRes (*Read)(const ISeqInStream *p, void *buf, size_t *size);
/* if (input(*size) != 0 && output(*size) == 0) means end_of_stream.
(output(*size) < input(*size)) is allowed */
};
#define ISeqInStream_Read(p, buf, size) (p)->Read(p, buf, size)
/* it can return SZ_ERROR_INPUT_EOF */
SRes SeqInStream_Read(const ISeqInStream *stream, void *buf, size_t size);
SRes SeqInStream_Read2(const ISeqInStream *stream, void *buf, size_t size, SRes errorType);
SRes SeqInStream_ReadByte(const ISeqInStream *stream, Byte *buf);
typedef struct ISeqOutStream ISeqOutStream;
struct ISeqOutStream
{
size_t (*Write)(const ISeqOutStream *p, const void *buf, size_t size);
/* Returns: result - the number of actually written bytes.
(result < size) means error */
};
#define ISeqOutStream_Write(p, buf, size) (p)->Write(p, buf, size)
typedef enum
{
SZ_SEEK_SET = 0,
SZ_SEEK_CUR = 1,
SZ_SEEK_END = 2
} ESzSeek;
typedef struct ISeekInStream ISeekInStream;
struct ISeekInStream
{
SRes (*Read)(const ISeekInStream *p, void *buf, size_t *size); /* same as ISeqInStream::Read */
SRes (*Seek)(const ISeekInStream *p, Int64 *pos, ESzSeek origin);
};
#define ISeekInStream_Read(p, buf, size) (p)->Read(p, buf, size)
#define ISeekInStream_Seek(p, pos, origin) (p)->Seek(p, pos, origin)
typedef struct ILookInStream ILookInStream;
struct ILookInStream
{
SRes (*Look)(const ILookInStream *p, const void **buf, size_t *size);
/* if (input(*size) != 0 && output(*size) == 0) means end_of_stream.
(output(*size) > input(*size)) is not allowed
(output(*size) < input(*size)) is allowed */
SRes (*Skip)(const ILookInStream *p, size_t offset);
/* offset must be <= output(*size) of Look */
SRes (*Read)(const ILookInStream *p, void *buf, size_t *size);
/* reads directly (without buffer). It's same as ISeqInStream::Read */
SRes (*Seek)(const ILookInStream *p, Int64 *pos, ESzSeek origin);
};
#define ILookInStream_Look(p, buf, size) (p)->Look(p, buf, size)
#define ILookInStream_Skip(p, offset) (p)->Skip(p, offset)
#define ILookInStream_Read(p, buf, size) (p)->Read(p, buf, size)
#define ILookInStream_Seek(p, pos, origin) (p)->Seek(p, pos, origin)
SRes LookInStream_LookRead(const ILookInStream *stream, void *buf, size_t *size);
SRes LookInStream_SeekTo(const ILookInStream *stream, UInt64 offset);
/* reads via ILookInStream::Read */
SRes LookInStream_Read2(const ILookInStream *stream, void *buf, size_t size, SRes errorType);
SRes LookInStream_Read(const ILookInStream *stream, void *buf, size_t size);
typedef struct
{
ILookInStream vt;
const ISeekInStream *realStream;
size_t pos;
size_t size; /* it's data size */
/* the following variables must be set outside */
Byte *buf;
size_t bufSize;
} CLookToRead2;
void LookToRead2_CreateVTable(CLookToRead2 *p, int lookahead);
#define LookToRead2_Init(p) { (p)->pos = (p)->size = 0; }
typedef struct
{
ISeqInStream vt;
const ILookInStream *realStream;
} CSecToLook;
void SecToLook_CreateVTable(CSecToLook *p);
typedef struct
{
ISeqInStream vt;
const ILookInStream *realStream;
} CSecToRead;
void SecToRead_CreateVTable(CSecToRead *p);
typedef struct ICompressProgress ICompressProgress;
struct ICompressProgress
{
SRes (*Progress)(const ICompressProgress *p, UInt64 inSize, UInt64 outSize);
/* Returns: result. (result != SZ_OK) means break.
Value (UInt64)(Int64)-1 for size means unknown value. */
};
#define ICompressProgress_Progress(p, inSize, outSize) (p)->Progress(p, inSize, outSize)
typedef struct ISzAlloc ISzAlloc;
typedef const ISzAlloc * ISzAllocPtr;
struct ISzAlloc
{
void *(*Alloc)(ISzAllocPtr p, size_t size);
void (*Free)(ISzAllocPtr p, void *address); /* address can be 0 */
};
#define ISzAlloc_Alloc(p, size) (p)->Alloc(p, size)
#define ISzAlloc_Free(p, a) (p)->Free(p, a)
/* deprecated */
#define IAlloc_Alloc(p, size) ISzAlloc_Alloc(p, size)
#define IAlloc_Free(p, a) ISzAlloc_Free(p, a)
#ifndef MY_offsetof
#ifdef offsetof
#define MY_offsetof(type, m) offsetof(type, m)
/*
#define MY_offsetof(type, m) FIELD_OFFSET(type, m)
*/
#else
#define MY_offsetof(type, m) ((size_t)&(((type *)0)->m))
#endif
#endif
#ifndef MY_container_of
/*
#define MY_container_of(ptr, type, m) container_of(ptr, type, m)
#define MY_container_of(ptr, type, m) CONTAINING_RECORD(ptr, type, m)
#define MY_container_of(ptr, type, m) ((type *)((char *)(ptr) - offsetof(type, m)))
#define MY_container_of(ptr, type, m) (&((type *)0)->m == (ptr), ((type *)(((char *)(ptr)) - MY_offsetof(type, m))))
*/
/*
GCC shows warning: "perhaps the 'offsetof' macro was used incorrectly"
GCC 3.4.4 : classes with constructor
GCC 4.8.1 : classes with non-public variable members"
*/
#define MY_container_of(ptr, type, m) ((type *)((char *)(1 ? (ptr) : &((type *)0)->m) - MY_offsetof(type, m)))
#endif
#define CONTAINER_FROM_VTBL_SIMPLE(ptr, type, m) ((type *)(ptr))
/*
#define CONTAINER_FROM_VTBL(ptr, type, m) CONTAINER_FROM_VTBL_SIMPLE(ptr, type, m)
*/
#define CONTAINER_FROM_VTBL(ptr, type, m) MY_container_of(ptr, type, m)
#define CONTAINER_FROM_VTBL_CLS(ptr, type, m) CONTAINER_FROM_VTBL_SIMPLE(ptr, type, m)
/*
#define CONTAINER_FROM_VTBL_CLS(ptr, type, m) CONTAINER_FROM_VTBL(ptr, type, m)
*/
#ifdef _WIN32
#define CHAR_PATH_SEPARATOR '\\'
#define WCHAR_PATH_SEPARATOR L'\\'
#define STRING_PATH_SEPARATOR "\\"
#define WSTRING_PATH_SEPARATOR L"\\"
#else
#define CHAR_PATH_SEPARATOR '/'
#define WCHAR_PATH_SEPARATOR L'/'
#define STRING_PATH_SEPARATOR "/"
#define WSTRING_PATH_SEPARATOR L"/"
#endif
EXTERN_C_END
#endif

View file

@ -1,27 +0,0 @@
#define MY_VER_MAJOR 19
#define MY_VER_MINOR 00
#define MY_VER_BUILD 0
#define MY_VERSION_NUMBERS "19.00"
#define MY_VERSION MY_VERSION_NUMBERS
#ifdef MY_CPU_NAME
#define MY_VERSION_CPU MY_VERSION " (" MY_CPU_NAME ")"
#else
#define MY_VERSION_CPU MY_VERSION
#endif
#define MY_DATE "2019-02-21"
#undef MY_COPYRIGHT
#undef MY_VERSION_COPYRIGHT_DATE
#define MY_AUTHOR_NAME "Igor Pavlov"
#define MY_COPYRIGHT_PD "Igor Pavlov : Public domain"
#define MY_COPYRIGHT_CR "Copyright (c) 1999-2018 Igor Pavlov"
#ifdef USE_COPYRIGHT_CR
#define MY_COPYRIGHT MY_COPYRIGHT_CR
#else
#define MY_COPYRIGHT MY_COPYRIGHT_PD
#endif
#define MY_COPYRIGHT_DATE MY_COPYRIGHT " : " MY_DATE
#define MY_VERSION_COPYRIGHT_DATE MY_VERSION_CPU " : " MY_COPYRIGHT " : " MY_DATE

View file

@ -1,55 +0,0 @@
#define MY_VS_FFI_FILEFLAGSMASK 0x0000003FL
#define MY_VOS_NT_WINDOWS32 0x00040004L
#define MY_VOS_CE_WINDOWS32 0x00050004L
#define MY_VFT_APP 0x00000001L
#define MY_VFT_DLL 0x00000002L
// #include <WinVer.h>
#ifndef MY_VERSION
#include "7zVersion.h"
#endif
#define MY_VER MY_VER_MAJOR,MY_VER_MINOR,MY_VER_BUILD,0
#ifdef DEBUG
#define DBG_FL VS_FF_DEBUG
#else
#define DBG_FL 0
#endif
#define MY_VERSION_INFO(fileType, descr, intName, origName) \
LANGUAGE 9, 1 \
1 VERSIONINFO \
FILEVERSION MY_VER \
PRODUCTVERSION MY_VER \
FILEFLAGSMASK MY_VS_FFI_FILEFLAGSMASK \
FILEFLAGS DBG_FL \
FILEOS MY_VOS_NT_WINDOWS32 \
FILETYPE fileType \
FILESUBTYPE 0x0L \
BEGIN \
BLOCK "StringFileInfo" \
BEGIN \
BLOCK "040904b0" \
BEGIN \
VALUE "CompanyName", "Igor Pavlov" \
VALUE "FileDescription", descr \
VALUE "FileVersion", MY_VERSION \
VALUE "InternalName", intName \
VALUE "LegalCopyright", MY_COPYRIGHT \
VALUE "OriginalFilename", origName \
VALUE "ProductName", "7-Zip" \
VALUE "ProductVersion", MY_VERSION \
END \
END \
BLOCK "VarFileInfo" \
BEGIN \
VALUE "Translation", 0x409, 1200 \
END \
END
#define MY_VERSION_INFO_APP(descr, intName) MY_VERSION_INFO(MY_VFT_APP, descr, intName, intName ".exe")
#define MY_VERSION_INFO_DLL(descr, intName) MY_VERSION_INFO(MY_VFT_DLL, descr, intName, intName ".dll")

306
3rdparty/7z/Aes.c vendored
View file

@ -1,306 +0,0 @@
/* Aes.c -- AES encryption / decryption
2017-01-24 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "Aes.h"
#include "CpuArch.h"
static UInt32 T[256 * 4];
static const Byte Sbox[256] = {
0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,
0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,
0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,
0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,
0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,
0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,
0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,
0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,
0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,
0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16};
void MY_FAST_CALL AesCbc_Encode(UInt32 *ivAes, Byte *data, size_t numBlocks);
void MY_FAST_CALL AesCbc_Decode(UInt32 *ivAes, Byte *data, size_t numBlocks);
void MY_FAST_CALL AesCtr_Code(UInt32 *ivAes, Byte *data, size_t numBlocks);
void MY_FAST_CALL AesCbc_Encode_Intel(UInt32 *ivAes, Byte *data, size_t numBlocks);
void MY_FAST_CALL AesCbc_Decode_Intel(UInt32 *ivAes, Byte *data, size_t numBlocks);
void MY_FAST_CALL AesCtr_Code_Intel(UInt32 *ivAes, Byte *data, size_t numBlocks);
AES_CODE_FUNC g_AesCbc_Encode;
AES_CODE_FUNC g_AesCbc_Decode;
AES_CODE_FUNC g_AesCtr_Code;
static UInt32 D[256 * 4];
static Byte InvS[256];
static const Byte Rcon[11] = { 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36 };
#define xtime(x) ((((x) << 1) ^ (((x) & 0x80) != 0 ? 0x1B : 0)) & 0xFF)
#define Ui32(a0, a1, a2, a3) ((UInt32)(a0) | ((UInt32)(a1) << 8) | ((UInt32)(a2) << 16) | ((UInt32)(a3) << 24))
#define gb0(x) ( (x) & 0xFF)
#define gb1(x) (((x) >> ( 8)) & 0xFF)
#define gb2(x) (((x) >> (16)) & 0xFF)
#define gb3(x) (((x) >> (24)))
#define gb(n, x) gb ## n(x)
#define TT(x) (T + (x << 8))
#define DD(x) (D + (x << 8))
void AesGenTables(void)
{
unsigned i;
for (i = 0; i < 256; i++)
InvS[Sbox[i]] = (Byte)i;
for (i = 0; i < 256; i++)
{
{
UInt32 a1 = Sbox[i];
UInt32 a2 = xtime(a1);
UInt32 a3 = a2 ^ a1;
TT(0)[i] = Ui32(a2, a1, a1, a3);
TT(1)[i] = Ui32(a3, a2, a1, a1);
TT(2)[i] = Ui32(a1, a3, a2, a1);
TT(3)[i] = Ui32(a1, a1, a3, a2);
}
{
UInt32 a1 = InvS[i];
UInt32 a2 = xtime(a1);
UInt32 a4 = xtime(a2);
UInt32 a8 = xtime(a4);
UInt32 a9 = a8 ^ a1;
UInt32 aB = a8 ^ a2 ^ a1;
UInt32 aD = a8 ^ a4 ^ a1;
UInt32 aE = a8 ^ a4 ^ a2;
DD(0)[i] = Ui32(aE, a9, aD, aB);
DD(1)[i] = Ui32(aB, aE, a9, aD);
DD(2)[i] = Ui32(aD, aB, aE, a9);
DD(3)[i] = Ui32(a9, aD, aB, aE);
}
}
g_AesCbc_Encode = AesCbc_Encode;
g_AesCbc_Decode = AesCbc_Decode;
g_AesCtr_Code = AesCtr_Code;
#ifdef MY_CPU_X86_OR_AMD64
if (CPU_Is_Aes_Supported())
{
g_AesCbc_Encode = AesCbc_Encode_Intel;
g_AesCbc_Decode = AesCbc_Decode_Intel;
g_AesCtr_Code = AesCtr_Code_Intel;
}
#endif
}
#define HT(i, x, s) TT(x)[gb(x, s[(i + x) & 3])]
#define HT4(m, i, s, p) m[i] = \
HT(i, 0, s) ^ \
HT(i, 1, s) ^ \
HT(i, 2, s) ^ \
HT(i, 3, s) ^ w[p + i]
#define HT16(m, s, p) \
HT4(m, 0, s, p); \
HT4(m, 1, s, p); \
HT4(m, 2, s, p); \
HT4(m, 3, s, p); \
#define FT(i, x) Sbox[gb(x, m[(i + x) & 3])]
#define FT4(i) dest[i] = Ui32(FT(i, 0), FT(i, 1), FT(i, 2), FT(i, 3)) ^ w[i];
#define HD(i, x, s) DD(x)[gb(x, s[(i - x) & 3])]
#define HD4(m, i, s, p) m[i] = \
HD(i, 0, s) ^ \
HD(i, 1, s) ^ \
HD(i, 2, s) ^ \
HD(i, 3, s) ^ w[p + i];
#define HD16(m, s, p) \
HD4(m, 0, s, p); \
HD4(m, 1, s, p); \
HD4(m, 2, s, p); \
HD4(m, 3, s, p); \
#define FD(i, x) InvS[gb(x, m[(i - x) & 3])]
#define FD4(i) dest[i] = Ui32(FD(i, 0), FD(i, 1), FD(i, 2), FD(i, 3)) ^ w[i];
void MY_FAST_CALL Aes_SetKey_Enc(UInt32 *w, const Byte *key, unsigned keySize)
{
unsigned i, wSize;
wSize = keySize + 28;
keySize /= 4;
w[0] = ((UInt32)keySize / 2) + 3;
w += 4;
for (i = 0; i < keySize; i++, key += 4)
w[i] = GetUi32(key);
for (; i < wSize; i++)
{
UInt32 t = w[(size_t)i - 1];
unsigned rem = i % keySize;
if (rem == 0)
t = Ui32(Sbox[gb1(t)] ^ Rcon[i / keySize], Sbox[gb2(t)], Sbox[gb3(t)], Sbox[gb0(t)]);
else if (keySize > 6 && rem == 4)
t = Ui32(Sbox[gb0(t)], Sbox[gb1(t)], Sbox[gb2(t)], Sbox[gb3(t)]);
w[i] = w[i - keySize] ^ t;
}
}
void MY_FAST_CALL Aes_SetKey_Dec(UInt32 *w, const Byte *key, unsigned keySize)
{
unsigned i, num;
Aes_SetKey_Enc(w, key, keySize);
num = keySize + 20;
w += 8;
for (i = 0; i < num; i++)
{
UInt32 r = w[i];
w[i] =
DD(0)[Sbox[gb0(r)]] ^
DD(1)[Sbox[gb1(r)]] ^
DD(2)[Sbox[gb2(r)]] ^
DD(3)[Sbox[gb3(r)]];
}
}
/* Aes_Encode and Aes_Decode functions work with little-endian words.
src and dest are pointers to 4 UInt32 words.
src and dest can point to same block */
static void Aes_Encode(const UInt32 *w, UInt32 *dest, const UInt32 *src)
{
UInt32 s[4];
UInt32 m[4];
UInt32 numRounds2 = w[0];
w += 4;
s[0] = src[0] ^ w[0];
s[1] = src[1] ^ w[1];
s[2] = src[2] ^ w[2];
s[3] = src[3] ^ w[3];
w += 4;
for (;;)
{
HT16(m, s, 0);
if (--numRounds2 == 0)
break;
HT16(s, m, 4);
w += 8;
}
w += 4;
FT4(0); FT4(1); FT4(2); FT4(3);
}
static void Aes_Decode(const UInt32 *w, UInt32 *dest, const UInt32 *src)
{
UInt32 s[4];
UInt32 m[4];
UInt32 numRounds2 = w[0];
w += 4 + numRounds2 * 8;
s[0] = src[0] ^ w[0];
s[1] = src[1] ^ w[1];
s[2] = src[2] ^ w[2];
s[3] = src[3] ^ w[3];
for (;;)
{
w -= 8;
HD16(m, s, 4);
if (--numRounds2 == 0)
break;
HD16(s, m, 0);
}
FD4(0); FD4(1); FD4(2); FD4(3);
}
void AesCbc_Init(UInt32 *p, const Byte *iv)
{
unsigned i;
for (i = 0; i < 4; i++)
p[i] = GetUi32(iv + i * 4);
}
void MY_FAST_CALL AesCbc_Encode(UInt32 *p, Byte *data, size_t numBlocks)
{
for (; numBlocks != 0; numBlocks--, data += AES_BLOCK_SIZE)
{
p[0] ^= GetUi32(data);
p[1] ^= GetUi32(data + 4);
p[2] ^= GetUi32(data + 8);
p[3] ^= GetUi32(data + 12);
Aes_Encode(p + 4, p, p);
SetUi32(data, p[0]);
SetUi32(data + 4, p[1]);
SetUi32(data + 8, p[2]);
SetUi32(data + 12, p[3]);
}
}
void MY_FAST_CALL AesCbc_Decode(UInt32 *p, Byte *data, size_t numBlocks)
{
UInt32 in[4], out[4];
for (; numBlocks != 0; numBlocks--, data += AES_BLOCK_SIZE)
{
in[0] = GetUi32(data);
in[1] = GetUi32(data + 4);
in[2] = GetUi32(data + 8);
in[3] = GetUi32(data + 12);
Aes_Decode(p + 4, out, in);
SetUi32(data, p[0] ^ out[0]);
SetUi32(data + 4, p[1] ^ out[1]);
SetUi32(data + 8, p[2] ^ out[2]);
SetUi32(data + 12, p[3] ^ out[3]);
p[0] = in[0];
p[1] = in[1];
p[2] = in[2];
p[3] = in[3];
}
}
void MY_FAST_CALL AesCtr_Code(UInt32 *p, Byte *data, size_t numBlocks)
{
for (; numBlocks != 0; numBlocks--)
{
UInt32 temp[4];
unsigned i;
if (++p[0] == 0)
p[1]++;
Aes_Encode(p + 4, temp, p);
for (i = 0; i < 4; i++, data += 4)
{
UInt32 t = temp[i];
#ifdef MY_CPU_LE_UNALIGN
*((UInt32 *)data) ^= t;
#else
data[0] ^= (t & 0xFF);
data[1] ^= ((t >> 8) & 0xFF);
data[2] ^= ((t >> 16) & 0xFF);
data[3] ^= ((t >> 24));
#endif
}
}
}

38
3rdparty/7z/Aes.h vendored
View file

@ -1,38 +0,0 @@
/* Aes.h -- AES encryption / decryption
2013-01-18 : Igor Pavlov : Public domain */
#ifndef __AES_H
#define __AES_H
#include "7zTypes.h"
EXTERN_C_BEGIN
#define AES_BLOCK_SIZE 16
/* Call AesGenTables one time before other AES functions */
void AesGenTables(void);
/* UInt32 pointers must be 16-byte aligned */
/* 16-byte (4 * 32-bit words) blocks: 1 (IV) + 1 (keyMode) + 15 (AES-256 roundKeys) */
#define AES_NUM_IVMRK_WORDS ((1 + 1 + 15) * 4)
/* aes - 16-byte aligned pointer to keyMode+roundKeys sequence */
/* keySize = 16 or 24 or 32 (bytes) */
typedef void (MY_FAST_CALL *AES_SET_KEY_FUNC)(UInt32 *aes, const Byte *key, unsigned keySize);
void MY_FAST_CALL Aes_SetKey_Enc(UInt32 *aes, const Byte *key, unsigned keySize);
void MY_FAST_CALL Aes_SetKey_Dec(UInt32 *aes, const Byte *key, unsigned keySize);
/* ivAes - 16-byte aligned pointer to iv+keyMode+roundKeys sequence: UInt32[AES_NUM_IVMRK_WORDS] */
void AesCbc_Init(UInt32 *ivAes, const Byte *iv); /* iv size is AES_BLOCK_SIZE */
/* data - 16-byte aligned pointer to data */
/* numBlocks - the number of 16-byte blocks in data array */
typedef void (MY_FAST_CALL *AES_CODE_FUNC)(UInt32 *ivAes, Byte *data, size_t numBlocks);
extern AES_CODE_FUNC g_AesCbc_Encode;
extern AES_CODE_FUNC g_AesCbc_Decode;
extern AES_CODE_FUNC g_AesCtr_Code;
EXTERN_C_END
#endif

184
3rdparty/7z/AesOpt.c vendored
View file

@ -1,184 +0,0 @@
/* AesOpt.c -- Intel's AES
2017-06-08 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "CpuArch.h"
#ifdef MY_CPU_X86_OR_AMD64
#if (_MSC_VER > 1500) || (_MSC_FULL_VER >= 150030729)
#define USE_INTEL_AES
#endif
#endif
#ifdef USE_INTEL_AES
#include <wmmintrin.h>
void MY_FAST_CALL AesCbc_Encode_Intel(__m128i *p, __m128i *data, size_t numBlocks)
{
__m128i m = *p;
for (; numBlocks != 0; numBlocks--, data++)
{
UInt32 numRounds2 = *(const UInt32 *)(p + 1) - 1;
const __m128i *w = p + 3;
m = _mm_xor_si128(m, *data);
m = _mm_xor_si128(m, p[2]);
do
{
m = _mm_aesenc_si128(m, w[0]);
m = _mm_aesenc_si128(m, w[1]);
w += 2;
}
while (--numRounds2 != 0);
m = _mm_aesenc_si128(m, w[0]);
m = _mm_aesenclast_si128(m, w[1]);
*data = m;
}
*p = m;
}
#define NUM_WAYS 3
#define AES_OP_W(op, n) { \
const __m128i t = w[n]; \
m0 = op(m0, t); \
m1 = op(m1, t); \
m2 = op(m2, t); \
}
#define AES_DEC(n) AES_OP_W(_mm_aesdec_si128, n)
#define AES_DEC_LAST(n) AES_OP_W(_mm_aesdeclast_si128, n)
#define AES_ENC(n) AES_OP_W(_mm_aesenc_si128, n)
#define AES_ENC_LAST(n) AES_OP_W(_mm_aesenclast_si128, n)
void MY_FAST_CALL AesCbc_Decode_Intel(__m128i *p, __m128i *data, size_t numBlocks)
{
__m128i iv = *p;
for (; numBlocks >= NUM_WAYS; numBlocks -= NUM_WAYS, data += NUM_WAYS)
{
UInt32 numRounds2 = *(const UInt32 *)(p + 1);
const __m128i *w = p + numRounds2 * 2;
__m128i m0, m1, m2;
{
const __m128i t = w[2];
m0 = _mm_xor_si128(t, data[0]);
m1 = _mm_xor_si128(t, data[1]);
m2 = _mm_xor_si128(t, data[2]);
}
numRounds2--;
do
{
AES_DEC(1)
AES_DEC(0)
w -= 2;
}
while (--numRounds2 != 0);
AES_DEC(1)
AES_DEC_LAST(0)
{
__m128i t;
t = _mm_xor_si128(m0, iv); iv = data[0]; data[0] = t;
t = _mm_xor_si128(m1, iv); iv = data[1]; data[1] = t;
t = _mm_xor_si128(m2, iv); iv = data[2]; data[2] = t;
}
}
for (; numBlocks != 0; numBlocks--, data++)
{
UInt32 numRounds2 = *(const UInt32 *)(p + 1);
const __m128i *w = p + numRounds2 * 2;
__m128i m = _mm_xor_si128(w[2], *data);
numRounds2--;
do
{
m = _mm_aesdec_si128(m, w[1]);
m = _mm_aesdec_si128(m, w[0]);
w -= 2;
}
while (--numRounds2 != 0);
m = _mm_aesdec_si128(m, w[1]);
m = _mm_aesdeclast_si128(m, w[0]);
m = _mm_xor_si128(m, iv);
iv = *data;
*data = m;
}
*p = iv;
}
void MY_FAST_CALL AesCtr_Code_Intel(__m128i *p, __m128i *data, size_t numBlocks)
{
__m128i ctr = *p;
__m128i one;
one.m128i_u64[0] = 1;
one.m128i_u64[1] = 0;
for (; numBlocks >= NUM_WAYS; numBlocks -= NUM_WAYS, data += NUM_WAYS)
{
UInt32 numRounds2 = *(const UInt32 *)(p + 1) - 1;
const __m128i *w = p;
__m128i m0, m1, m2;
{
const __m128i t = w[2];
ctr = _mm_add_epi64(ctr, one); m0 = _mm_xor_si128(ctr, t);
ctr = _mm_add_epi64(ctr, one); m1 = _mm_xor_si128(ctr, t);
ctr = _mm_add_epi64(ctr, one); m2 = _mm_xor_si128(ctr, t);
}
w += 3;
do
{
AES_ENC(0)
AES_ENC(1)
w += 2;
}
while (--numRounds2 != 0);
AES_ENC(0)
AES_ENC_LAST(1)
data[0] = _mm_xor_si128(data[0], m0);
data[1] = _mm_xor_si128(data[1], m1);
data[2] = _mm_xor_si128(data[2], m2);
}
for (; numBlocks != 0; numBlocks--, data++)
{
UInt32 numRounds2 = *(const UInt32 *)(p + 1) - 1;
const __m128i *w = p;
__m128i m;
ctr = _mm_add_epi64(ctr, one);
m = _mm_xor_si128(ctr, p[2]);
w += 3;
do
{
m = _mm_aesenc_si128(m, w[0]);
m = _mm_aesenc_si128(m, w[1]);
w += 2;
}
while (--numRounds2 != 0);
m = _mm_aesenc_si128(m, w[0]);
m = _mm_aesenclast_si128(m, w[1]);
*data = _mm_xor_si128(*data, m);
}
*p = ctr;
}
#else
void MY_FAST_CALL AesCbc_Encode(UInt32 *ivAes, Byte *data, size_t numBlocks);
void MY_FAST_CALL AesCbc_Decode(UInt32 *ivAes, Byte *data, size_t numBlocks);
void MY_FAST_CALL AesCtr_Code(UInt32 *ivAes, Byte *data, size_t numBlocks);
void MY_FAST_CALL AesCbc_Encode_Intel(UInt32 *p, Byte *data, size_t numBlocks)
{
AesCbc_Encode(p, data, numBlocks);
}
void MY_FAST_CALL AesCbc_Decode_Intel(UInt32 *p, Byte *data, size_t numBlocks)
{
AesCbc_Decode(p, data, numBlocks);
}
void MY_FAST_CALL AesCtr_Code_Intel(UInt32 *p, Byte *data, size_t numBlocks)
{
AesCtr_Code(p, data, numBlocks);
}
#endif

455
3rdparty/7z/Alloc.c vendored
View file

@ -1,455 +0,0 @@
/* Alloc.c -- Memory allocation functions
2018-04-27 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include <stdio.h>
#ifdef _WIN32
#include <windows.h>
#endif
#include <stdlib.h>
#include "Alloc.h"
/* #define _SZ_ALLOC_DEBUG */
/* use _SZ_ALLOC_DEBUG to debug alloc/free operations */
#ifdef _SZ_ALLOC_DEBUG
#include <stdio.h>
int g_allocCount = 0;
int g_allocCountMid = 0;
int g_allocCountBig = 0;
#define CONVERT_INT_TO_STR(charType, tempSize) \
unsigned char temp[tempSize]; unsigned i = 0; \
while (val >= 10) { temp[i++] = (unsigned char)('0' + (unsigned)(val % 10)); val /= 10; } \
*s++ = (charType)('0' + (unsigned)val); \
while (i != 0) { i--; *s++ = temp[i]; } \
*s = 0;
static void ConvertUInt64ToString(UInt64 val, char *s)
{
CONVERT_INT_TO_STR(char, 24);
}
#define GET_HEX_CHAR(t) ((char)(((t < 10) ? ('0' + t) : ('A' + (t - 10)))))
static void ConvertUInt64ToHex(UInt64 val, char *s)
{
UInt64 v = val;
unsigned i;
for (i = 1;; i++)
{
v >>= 4;
if (v == 0)
break;
}
s[i] = 0;
do
{
unsigned t = (unsigned)(val & 0xF);
val >>= 4;
s[--i] = GET_HEX_CHAR(t);
}
while (i);
}
#define DEBUG_OUT_STREAM stderr
static void Print(const char *s)
{
fputs(s, DEBUG_OUT_STREAM);
}
static void PrintAligned(const char *s, size_t align)
{
size_t len = strlen(s);
for(;;)
{
fputc(' ', DEBUG_OUT_STREAM);
if (len >= align)
break;
++len;
}
Print(s);
}
static void PrintLn()
{
Print("\n");
}
static void PrintHex(UInt64 v, size_t align)
{
char s[32];
ConvertUInt64ToHex(v, s);
PrintAligned(s, align);
}
static void PrintDec(UInt64 v, size_t align)
{
char s[32];
ConvertUInt64ToString(v, s);
PrintAligned(s, align);
}
static void PrintAddr(void *p)
{
PrintHex((UInt64)(size_t)(ptrdiff_t)p, 12);
}
#define PRINT_ALLOC(name, cnt, size, ptr) \
Print(name " "); \
PrintDec(cnt++, 10); \
PrintHex(size, 10); \
PrintAddr(ptr); \
PrintLn();
#define PRINT_FREE(name, cnt, ptr) if (ptr) { \
Print(name " "); \
PrintDec(--cnt, 10); \
PrintAddr(ptr); \
PrintLn(); }
#else
#define PRINT_ALLOC(name, cnt, size, ptr)
#define PRINT_FREE(name, cnt, ptr)
#define Print(s)
#define PrintLn()
#define PrintHex(v, align)
#define PrintDec(v, align)
#define PrintAddr(p)
#endif
void *MyAlloc(size_t size)
{
if (size == 0)
return NULL;
#ifdef _SZ_ALLOC_DEBUG
{
void *p = malloc(size);
PRINT_ALLOC("Alloc ", g_allocCount, size, p);
return p;
}
#else
return malloc(size);
#endif
}
void MyFree(void *address)
{
PRINT_FREE("Free ", g_allocCount, address);
free(address);
}
#ifdef _WIN32
void *MidAlloc(size_t size)
{
if (size == 0)
return NULL;
PRINT_ALLOC("Alloc-Mid", g_allocCountMid, size, NULL);
return VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE);
}
void MidFree(void *address)
{
PRINT_FREE("Free-Mid", g_allocCountMid, address);
if (!address)
return;
VirtualFree(address, 0, MEM_RELEASE);
}
#ifndef MEM_LARGE_PAGES
#undef _7ZIP_LARGE_PAGES
#endif
#ifdef _7ZIP_LARGE_PAGES
SIZE_T g_LargePageSize = 0;
typedef SIZE_T (WINAPI *GetLargePageMinimumP)();
#endif
void SetLargePageSize()
{
#ifdef _7ZIP_LARGE_PAGES
SIZE_T size;
GetLargePageMinimumP largePageMinimum = (GetLargePageMinimumP)
GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "GetLargePageMinimum");
if (!largePageMinimum)
return;
size = largePageMinimum();
if (size == 0 || (size & (size - 1)) != 0)
return;
g_LargePageSize = size;
#endif
}
void *BigAlloc(size_t size)
{
if (size == 0)
return NULL;
PRINT_ALLOC("Alloc-Big", g_allocCountBig, size, NULL);
#ifdef _7ZIP_LARGE_PAGES
{
SIZE_T ps = g_LargePageSize;
if (ps != 0 && ps <= (1 << 30) && size > (ps / 2))
{
size_t size2;
ps--;
size2 = (size + ps) & ~ps;
if (size2 >= size)
{
void *res = VirtualAlloc(NULL, size2, MEM_COMMIT | MEM_LARGE_PAGES, PAGE_READWRITE);
if (res)
return res;
}
}
}
#endif
return VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE);
}
void BigFree(void *address)
{
PRINT_FREE("Free-Big", g_allocCountBig, address);
if (!address)
return;
VirtualFree(address, 0, MEM_RELEASE);
}
#endif
static void *SzAlloc(ISzAllocPtr p, size_t size) { UNUSED_VAR(p); return MyAlloc(size); }
static void SzFree(ISzAllocPtr p, void *address) { UNUSED_VAR(p); MyFree(address); }
const ISzAlloc g_Alloc = { SzAlloc, SzFree };
static void *SzMidAlloc(ISzAllocPtr p, size_t size) { UNUSED_VAR(p); return MidAlloc(size); }
static void SzMidFree(ISzAllocPtr p, void *address) { UNUSED_VAR(p); MidFree(address); }
const ISzAlloc g_MidAlloc = { SzMidAlloc, SzMidFree };
static void *SzBigAlloc(ISzAllocPtr p, size_t size) { UNUSED_VAR(p); return BigAlloc(size); }
static void SzBigFree(ISzAllocPtr p, void *address) { UNUSED_VAR(p); BigFree(address); }
const ISzAlloc g_BigAlloc = { SzBigAlloc, SzBigFree };
/*
uintptr_t : <stdint.h> C99 (optional)
: unsupported in VS6
*/
#ifdef _WIN32
typedef UINT_PTR UIntPtr;
#else
/*
typedef uintptr_t UIntPtr;
*/
typedef ptrdiff_t UIntPtr;
#endif
#define ADJUST_ALLOC_SIZE 0
/*
#define ADJUST_ALLOC_SIZE (sizeof(void *) - 1)
*/
/*
Use (ADJUST_ALLOC_SIZE = (sizeof(void *) - 1)), if
MyAlloc() can return address that is NOT multiple of sizeof(void *).
*/
/*
#define MY_ALIGN_PTR_DOWN(p, align) ((void *)((char *)(p) - ((size_t)(UIntPtr)(p) & ((align) - 1))))
*/
#define MY_ALIGN_PTR_DOWN(p, align) ((void *)((((UIntPtr)(p)) & ~((UIntPtr)(align) - 1))))
#define MY_ALIGN_PTR_UP_PLUS(p, align) MY_ALIGN_PTR_DOWN(((char *)(p) + (align) + ADJUST_ALLOC_SIZE), align)
#if (_POSIX_C_SOURCE >= 200112L) && !defined(_WIN32)
#define USE_posix_memalign
#endif
/*
This posix_memalign() is for test purposes only.
We also need special Free() function instead of free(),
if this posix_memalign() is used.
*/
/*
static int posix_memalign(void **ptr, size_t align, size_t size)
{
size_t newSize = size + align;
void *p;
void *pAligned;
*ptr = NULL;
if (newSize < size)
return 12; // ENOMEM
p = MyAlloc(newSize);
if (!p)
return 12; // ENOMEM
pAligned = MY_ALIGN_PTR_UP_PLUS(p, align);
((void **)pAligned)[-1] = p;
*ptr = pAligned;
return 0;
}
*/
/*
ALLOC_ALIGN_SIZE >= sizeof(void *)
ALLOC_ALIGN_SIZE >= cache_line_size
*/
#define ALLOC_ALIGN_SIZE ((size_t)1 << 7)
static void *SzAlignedAlloc(ISzAllocPtr pp, size_t size)
{
#ifndef USE_posix_memalign
void *p;
void *pAligned;
size_t newSize;
UNUSED_VAR(pp);
/* also we can allocate additional dummy ALLOC_ALIGN_SIZE bytes after aligned
block to prevent cache line sharing with another allocated blocks */
newSize = size + ALLOC_ALIGN_SIZE * 1 + ADJUST_ALLOC_SIZE;
if (newSize < size)
return NULL;
p = MyAlloc(newSize);
if (!p)
return NULL;
pAligned = MY_ALIGN_PTR_UP_PLUS(p, ALLOC_ALIGN_SIZE);
Print(" size="); PrintHex(size, 8);
Print(" a_size="); PrintHex(newSize, 8);
Print(" ptr="); PrintAddr(p);
Print(" a_ptr="); PrintAddr(pAligned);
PrintLn();
((void **)pAligned)[-1] = p;
return pAligned;
#else
void *p;
UNUSED_VAR(pp);
if (posix_memalign(&p, ALLOC_ALIGN_SIZE, size))
return NULL;
Print(" posix_memalign="); PrintAddr(p);
PrintLn();
return p;
#endif
}
static void SzAlignedFree(ISzAllocPtr pp, void *address)
{
UNUSED_VAR(pp);
#ifndef USE_posix_memalign
if (address)
MyFree(((void **)address)[-1]);
#else
free(address);
#endif
}
const ISzAlloc g_AlignedAlloc = { SzAlignedAlloc, SzAlignedFree };
#define MY_ALIGN_PTR_DOWN_1(p) MY_ALIGN_PTR_DOWN(p, sizeof(void *))
/* we align ptr to support cases where CAlignOffsetAlloc::offset is not multiply of sizeof(void *) */
#define REAL_BLOCK_PTR_VAR(p) ((void **)MY_ALIGN_PTR_DOWN_1(p))[-1]
/*
#define REAL_BLOCK_PTR_VAR(p) ((void **)(p))[-1]
*/
static void *AlignOffsetAlloc_Alloc(ISzAllocPtr pp, size_t size)
{
CAlignOffsetAlloc *p = CONTAINER_FROM_VTBL(pp, CAlignOffsetAlloc, vt);
void *adr;
void *pAligned;
size_t newSize;
size_t extra;
size_t alignSize = (size_t)1 << p->numAlignBits;
if (alignSize < sizeof(void *))
alignSize = sizeof(void *);
if (p->offset >= alignSize)
return NULL;
/* also we can allocate additional dummy ALLOC_ALIGN_SIZE bytes after aligned
block to prevent cache line sharing with another allocated blocks */
extra = p->offset & (sizeof(void *) - 1);
newSize = size + alignSize + extra + ADJUST_ALLOC_SIZE;
if (newSize < size)
return NULL;
adr = ISzAlloc_Alloc(p->baseAlloc, newSize);
if (!adr)
return NULL;
pAligned = (char *)MY_ALIGN_PTR_DOWN((char *)adr +
alignSize - p->offset + extra + ADJUST_ALLOC_SIZE, alignSize) + p->offset;
PrintLn();
Print("- Aligned: ");
Print(" size="); PrintHex(size, 8);
Print(" a_size="); PrintHex(newSize, 8);
Print(" ptr="); PrintAddr(adr);
Print(" a_ptr="); PrintAddr(pAligned);
PrintLn();
REAL_BLOCK_PTR_VAR(pAligned) = adr;
return pAligned;
}
static void AlignOffsetAlloc_Free(ISzAllocPtr pp, void *address)
{
if (address)
{
CAlignOffsetAlloc *p = CONTAINER_FROM_VTBL(pp, CAlignOffsetAlloc, vt);
PrintLn();
Print("- Aligned Free: ");
PrintLn();
ISzAlloc_Free(p->baseAlloc, REAL_BLOCK_PTR_VAR(address));
}
}
void AlignOffsetAlloc_CreateVTable(CAlignOffsetAlloc *p)
{
p->vt.Alloc = AlignOffsetAlloc_Alloc;
p->vt.Free = AlignOffsetAlloc_Free;
}

51
3rdparty/7z/Alloc.h vendored
View file

@ -1,51 +0,0 @@
/* Alloc.h -- Memory allocation functions
2018-02-19 : Igor Pavlov : Public domain */
#ifndef __COMMON_ALLOC_H
#define __COMMON_ALLOC_H
#include "7zTypes.h"
EXTERN_C_BEGIN
void *MyAlloc(size_t size);
void MyFree(void *address);
#ifdef _WIN32
void SetLargePageSize();
void *MidAlloc(size_t size);
void MidFree(void *address);
void *BigAlloc(size_t size);
void BigFree(void *address);
#else
#define MidAlloc(size) MyAlloc(size)
#define MidFree(address) MyFree(address)
#define BigAlloc(size) MyAlloc(size)
#define BigFree(address) MyFree(address)
#endif
extern const ISzAlloc g_Alloc;
extern const ISzAlloc g_BigAlloc;
extern const ISzAlloc g_MidAlloc;
extern const ISzAlloc g_AlignedAlloc;
typedef struct
{
ISzAlloc vt;
ISzAllocPtr baseAlloc;
unsigned numAlignBits; /* ((1 << numAlignBits) >= sizeof(void *)) */
size_t offset; /* (offset == (k * sizeof(void *)) && offset < (1 << numAlignBits) */
} CAlignOffsetAlloc;
void AlignOffsetAlloc_CreateVTable(CAlignOffsetAlloc *p);
EXTERN_C_END
#endif

257
3rdparty/7z/Bcj2.c vendored
View file

@ -1,257 +0,0 @@
/* Bcj2.c -- BCJ2 Decoder (Converter for x86 code)
2018-04-28 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "Bcj2.h"
#include "CpuArch.h"
#define CProb UInt16
#define kTopValue ((UInt32)1 << 24)
#define kNumModelBits 11
#define kBitModelTotal (1 << kNumModelBits)
#define kNumMoveBits 5
#define _IF_BIT_0 ttt = *prob; bound = (p->range >> kNumModelBits) * ttt; if (p->code < bound)
#define _UPDATE_0 p->range = bound; *prob = (CProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits));
#define _UPDATE_1 p->range -= bound; p->code -= bound; *prob = (CProb)(ttt - (ttt >> kNumMoveBits));
void Bcj2Dec_Init(CBcj2Dec *p)
{
unsigned i;
p->state = BCJ2_DEC_STATE_OK;
p->ip = 0;
p->temp[3] = 0;
p->range = 0;
p->code = 0;
for (i = 0; i < sizeof(p->probs) / sizeof(p->probs[0]); i++)
p->probs[i] = kBitModelTotal >> 1;
}
SRes Bcj2Dec_Decode(CBcj2Dec *p)
{
if (p->range <= 5)
{
p->state = BCJ2_DEC_STATE_OK;
for (; p->range != 5; p->range++)
{
if (p->range == 1 && p->code != 0)
return SZ_ERROR_DATA;
if (p->bufs[BCJ2_STREAM_RC] == p->lims[BCJ2_STREAM_RC])
{
p->state = BCJ2_STREAM_RC;
return SZ_OK;
}
p->code = (p->code << 8) | *(p->bufs[BCJ2_STREAM_RC])++;
}
if (p->code == 0xFFFFFFFF)
return SZ_ERROR_DATA;
p->range = 0xFFFFFFFF;
}
else if (p->state >= BCJ2_DEC_STATE_ORIG_0)
{
while (p->state <= BCJ2_DEC_STATE_ORIG_3)
{
Byte *dest = p->dest;
if (dest == p->destLim)
return SZ_OK;
*dest = p->temp[(size_t)p->state - BCJ2_DEC_STATE_ORIG_0];
p->state++;
p->dest = dest + 1;
}
}
/*
if (BCJ2_IS_32BIT_STREAM(p->state))
{
const Byte *cur = p->bufs[p->state];
if (cur == p->lims[p->state])
return SZ_OK;
p->bufs[p->state] = cur + 4;
{
UInt32 val;
Byte *dest;
SizeT rem;
p->ip += 4;
val = GetBe32(cur) - p->ip;
dest = p->dest;
rem = p->destLim - dest;
if (rem < 4)
{
SizeT i;
SetUi32(p->temp, val);
for (i = 0; i < rem; i++)
dest[i] = p->temp[i];
p->dest = dest + rem;
p->state = BCJ2_DEC_STATE_ORIG_0 + (unsigned)rem;
return SZ_OK;
}
SetUi32(dest, val);
p->temp[3] = (Byte)(val >> 24);
p->dest = dest + 4;
p->state = BCJ2_DEC_STATE_OK;
}
}
*/
for (;;)
{
if (BCJ2_IS_32BIT_STREAM(p->state))
p->state = BCJ2_DEC_STATE_OK;
else
{
if (p->range < kTopValue)
{
if (p->bufs[BCJ2_STREAM_RC] == p->lims[BCJ2_STREAM_RC])
{
p->state = BCJ2_STREAM_RC;
return SZ_OK;
}
p->range <<= 8;
p->code = (p->code << 8) | *(p->bufs[BCJ2_STREAM_RC])++;
}
{
const Byte *src = p->bufs[BCJ2_STREAM_MAIN];
const Byte *srcLim;
Byte *dest;
SizeT num = p->lims[BCJ2_STREAM_MAIN] - src;
if (num == 0)
{
p->state = BCJ2_STREAM_MAIN;
return SZ_OK;
}
dest = p->dest;
if (num > (SizeT)(p->destLim - dest))
{
num = p->destLim - dest;
if (num == 0)
{
p->state = BCJ2_DEC_STATE_ORIG;
return SZ_OK;
}
}
srcLim = src + num;
if (p->temp[3] == 0x0F && (src[0] & 0xF0) == 0x80)
*dest = src[0];
else for (;;)
{
Byte b = *src;
*dest = b;
if (b != 0x0F)
{
if ((b & 0xFE) == 0xE8)
break;
dest++;
if (++src != srcLim)
continue;
break;
}
dest++;
if (++src == srcLim)
break;
if ((*src & 0xF0) != 0x80)
continue;
*dest = *src;
break;
}
num = src - p->bufs[BCJ2_STREAM_MAIN];
if (src == srcLim)
{
p->temp[3] = src[-1];
p->bufs[BCJ2_STREAM_MAIN] = src;
p->ip += (UInt32)num;
p->dest += num;
p->state =
p->bufs[BCJ2_STREAM_MAIN] ==
p->lims[BCJ2_STREAM_MAIN] ?
(unsigned)BCJ2_STREAM_MAIN :
(unsigned)BCJ2_DEC_STATE_ORIG;
return SZ_OK;
}
{
UInt32 bound, ttt;
CProb *prob;
Byte b = src[0];
Byte prev = (Byte)(num == 0 ? p->temp[3] : src[-1]);
p->temp[3] = b;
p->bufs[BCJ2_STREAM_MAIN] = src + 1;
num++;
p->ip += (UInt32)num;
p->dest += num;
prob = p->probs + (unsigned)(b == 0xE8 ? 2 + (unsigned)prev : (b == 0xE9 ? 1 : 0));
_IF_BIT_0
{
_UPDATE_0
continue;
}
_UPDATE_1
}
}
}
{
UInt32 val;
unsigned cj = (p->temp[3] == 0xE8) ? BCJ2_STREAM_CALL : BCJ2_STREAM_JUMP;
const Byte *cur = p->bufs[cj];
Byte *dest;
SizeT rem;
if (cur == p->lims[cj])
{
p->state = cj;
break;
}
val = GetBe32(cur);
p->bufs[cj] = cur + 4;
p->ip += 4;
val -= p->ip;
dest = p->dest;
rem = p->destLim - dest;
if (rem < 4)
{
p->temp[0] = (Byte)val; if (rem > 0) dest[0] = (Byte)val; val >>= 8;
p->temp[1] = (Byte)val; if (rem > 1) dest[1] = (Byte)val; val >>= 8;
p->temp[2] = (Byte)val; if (rem > 2) dest[2] = (Byte)val; val >>= 8;
p->temp[3] = (Byte)val;
p->dest = dest + rem;
p->state = BCJ2_DEC_STATE_ORIG_0 + (unsigned)rem;
break;
}
SetUi32(dest, val);
p->temp[3] = (Byte)(val >> 24);
p->dest = dest + 4;
}
}
if (p->range < kTopValue && p->bufs[BCJ2_STREAM_RC] != p->lims[BCJ2_STREAM_RC])
{
p->range <<= 8;
p->code = (p->code << 8) | *(p->bufs[BCJ2_STREAM_RC])++;
}
return SZ_OK;
}

146
3rdparty/7z/Bcj2.h vendored
View file

@ -1,146 +0,0 @@
/* Bcj2.h -- BCJ2 Converter for x86 code
2014-11-10 : Igor Pavlov : Public domain */
#ifndef __BCJ2_H
#define __BCJ2_H
#include "7zTypes.h"
EXTERN_C_BEGIN
#define BCJ2_NUM_STREAMS 4
enum
{
BCJ2_STREAM_MAIN,
BCJ2_STREAM_CALL,
BCJ2_STREAM_JUMP,
BCJ2_STREAM_RC
};
enum
{
BCJ2_DEC_STATE_ORIG_0 = BCJ2_NUM_STREAMS,
BCJ2_DEC_STATE_ORIG_1,
BCJ2_DEC_STATE_ORIG_2,
BCJ2_DEC_STATE_ORIG_3,
BCJ2_DEC_STATE_ORIG,
BCJ2_DEC_STATE_OK
};
enum
{
BCJ2_ENC_STATE_ORIG = BCJ2_NUM_STREAMS,
BCJ2_ENC_STATE_OK
};
#define BCJ2_IS_32BIT_STREAM(s) ((s) == BCJ2_STREAM_CALL || (s) == BCJ2_STREAM_JUMP)
/*
CBcj2Dec / CBcj2Enc
bufs sizes:
BUF_SIZE(n) = lims[n] - bufs[n]
bufs sizes for BCJ2_STREAM_CALL and BCJ2_STREAM_JUMP must be mutliply of 4:
(BUF_SIZE(BCJ2_STREAM_CALL) & 3) == 0
(BUF_SIZE(BCJ2_STREAM_JUMP) & 3) == 0
*/
/*
CBcj2Dec:
dest is allowed to overlap with bufs[BCJ2_STREAM_MAIN], with the following conditions:
bufs[BCJ2_STREAM_MAIN] >= dest &&
bufs[BCJ2_STREAM_MAIN] - dest >= tempReserv +
BUF_SIZE(BCJ2_STREAM_CALL) +
BUF_SIZE(BCJ2_STREAM_JUMP)
tempReserv = 0 : for first call of Bcj2Dec_Decode
tempReserv = 4 : for any other calls of Bcj2Dec_Decode
overlap with offset = 1 is not allowed
*/
typedef struct
{
const Byte *bufs[BCJ2_NUM_STREAMS];
const Byte *lims[BCJ2_NUM_STREAMS];
Byte *dest;
const Byte *destLim;
unsigned state; /* BCJ2_STREAM_MAIN has more priority than BCJ2_STATE_ORIG */
UInt32 ip;
Byte temp[4];
UInt32 range;
UInt32 code;
UInt16 probs[2 + 256];
} CBcj2Dec;
void Bcj2Dec_Init(CBcj2Dec *p);
/* Returns: SZ_OK or SZ_ERROR_DATA */
SRes Bcj2Dec_Decode(CBcj2Dec *p);
#define Bcj2Dec_IsFinished(_p_) ((_p_)->code == 0)
typedef enum
{
BCJ2_ENC_FINISH_MODE_CONTINUE,
BCJ2_ENC_FINISH_MODE_END_BLOCK,
BCJ2_ENC_FINISH_MODE_END_STREAM
} EBcj2Enc_FinishMode;
typedef struct
{
Byte *bufs[BCJ2_NUM_STREAMS];
const Byte *lims[BCJ2_NUM_STREAMS];
const Byte *src;
const Byte *srcLim;
unsigned state;
EBcj2Enc_FinishMode finishMode;
Byte prevByte;
Byte cache;
UInt32 range;
UInt64 low;
UInt64 cacheSize;
UInt32 ip;
/* 32-bit ralative offset in JUMP/CALL commands is
- (mod 4 GB) in 32-bit mode
- signed Int32 in 64-bit mode
We use (mod 4 GB) check for fileSize.
Use fileSize up to 2 GB, if you want to support 32-bit and 64-bit code conversion. */
UInt32 fileIp;
UInt32 fileSize; /* (fileSize <= ((UInt32)1 << 31)), 0 means no_limit */
UInt32 relatLimit; /* (relatLimit <= ((UInt32)1 << 31)), 0 means desable_conversion */
UInt32 tempTarget;
unsigned tempPos;
Byte temp[4 * 2];
unsigned flushPos;
UInt16 probs[2 + 256];
} CBcj2Enc;
void Bcj2Enc_Init(CBcj2Enc *p);
void Bcj2Enc_Encode(CBcj2Enc *p);
#define Bcj2Enc_Get_InputData_Size(p) ((SizeT)((p)->srcLim - (p)->src) + (p)->tempPos)
#define Bcj2Enc_IsFinished(p) ((p)->flushPos == 5)
#define BCJ2_RELAT_LIMIT_NUM_BITS 26
#define BCJ2_RELAT_LIMIT ((UInt32)1 << BCJ2_RELAT_LIMIT_NUM_BITS)
/* limit for CBcj2Enc::fileSize variable */
#define BCJ2_FileSize_MAX ((UInt32)1 << 31)
EXTERN_C_END
#endif

311
3rdparty/7z/Bcj2Enc.c vendored
View file

@ -1,311 +0,0 @@
/* Bcj2Enc.c -- BCJ2 Encoder (Converter for x86 code)
2019-02-02 : Igor Pavlov : Public domain */
#include "Precomp.h"
/* #define SHOW_STAT */
#ifdef SHOW_STAT
#include <stdio.h>
#define PRF(x) x
#else
#define PRF(x)
#endif
#include <string.h>
#include "Bcj2.h"
#include "CpuArch.h"
#define CProb UInt16
#define kTopValue ((UInt32)1 << 24)
#define kNumModelBits 11
#define kBitModelTotal (1 << kNumModelBits)
#define kNumMoveBits 5
void Bcj2Enc_Init(CBcj2Enc *p)
{
unsigned i;
p->state = BCJ2_ENC_STATE_OK;
p->finishMode = BCJ2_ENC_FINISH_MODE_CONTINUE;
p->prevByte = 0;
p->cache = 0;
p->range = 0xFFFFFFFF;
p->low = 0;
p->cacheSize = 1;
p->ip = 0;
p->fileIp = 0;
p->fileSize = 0;
p->relatLimit = BCJ2_RELAT_LIMIT;
p->tempPos = 0;
p->flushPos = 0;
for (i = 0; i < sizeof(p->probs) / sizeof(p->probs[0]); i++)
p->probs[i] = kBitModelTotal >> 1;
}
static BoolInt MY_FAST_CALL RangeEnc_ShiftLow(CBcj2Enc *p)
{
if ((UInt32)p->low < (UInt32)0xFF000000 || (UInt32)(p->low >> 32) != 0)
{
Byte *buf = p->bufs[BCJ2_STREAM_RC];
do
{
if (buf == p->lims[BCJ2_STREAM_RC])
{
p->state = BCJ2_STREAM_RC;
p->bufs[BCJ2_STREAM_RC] = buf;
return True;
}
*buf++ = (Byte)(p->cache + (Byte)(p->low >> 32));
p->cache = 0xFF;
}
while (--p->cacheSize);
p->bufs[BCJ2_STREAM_RC] = buf;
p->cache = (Byte)((UInt32)p->low >> 24);
}
p->cacheSize++;
p->low = (UInt32)p->low << 8;
return False;
}
static void Bcj2Enc_Encode_2(CBcj2Enc *p)
{
if (BCJ2_IS_32BIT_STREAM(p->state))
{
Byte *cur = p->bufs[p->state];
if (cur == p->lims[p->state])
return;
SetBe32(cur, p->tempTarget);
p->bufs[p->state] = cur + 4;
}
p->state = BCJ2_ENC_STATE_ORIG;
for (;;)
{
if (p->range < kTopValue)
{
if (RangeEnc_ShiftLow(p))
return;
p->range <<= 8;
}
{
{
const Byte *src = p->src;
const Byte *srcLim;
Byte *dest;
SizeT num = p->srcLim - src;
if (p->finishMode == BCJ2_ENC_FINISH_MODE_CONTINUE)
{
if (num <= 4)
return;
num -= 4;
}
else if (num == 0)
break;
dest = p->bufs[BCJ2_STREAM_MAIN];
if (num > (SizeT)(p->lims[BCJ2_STREAM_MAIN] - dest))
{
num = p->lims[BCJ2_STREAM_MAIN] - dest;
if (num == 0)
{
p->state = BCJ2_STREAM_MAIN;
return;
}
}
srcLim = src + num;
if (p->prevByte == 0x0F && (src[0] & 0xF0) == 0x80)
*dest = src[0];
else for (;;)
{
Byte b = *src;
*dest = b;
if (b != 0x0F)
{
if ((b & 0xFE) == 0xE8)
break;
dest++;
if (++src != srcLim)
continue;
break;
}
dest++;
if (++src == srcLim)
break;
if ((*src & 0xF0) != 0x80)
continue;
*dest = *src;
break;
}
num = src - p->src;
if (src == srcLim)
{
p->prevByte = src[-1];
p->bufs[BCJ2_STREAM_MAIN] = dest;
p->src = src;
p->ip += (UInt32)num;
continue;
}
{
Byte context = (Byte)(num == 0 ? p->prevByte : src[-1]);
BoolInt needConvert;
p->bufs[BCJ2_STREAM_MAIN] = dest + 1;
p->ip += (UInt32)num + 1;
src++;
needConvert = False;
if ((SizeT)(p->srcLim - src) >= 4)
{
UInt32 relatVal = GetUi32(src);
if ((p->fileSize == 0 || (UInt32)(p->ip + 4 + relatVal - p->fileIp) < p->fileSize)
&& ((relatVal + p->relatLimit) >> 1) < p->relatLimit)
needConvert = True;
}
{
UInt32 bound;
unsigned ttt;
Byte b = src[-1];
CProb *prob = p->probs + (unsigned)(b == 0xE8 ? 2 + (unsigned)context : (b == 0xE9 ? 1 : 0));
ttt = *prob;
bound = (p->range >> kNumModelBits) * ttt;
if (!needConvert)
{
p->range = bound;
*prob = (CProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits));
p->src = src;
p->prevByte = b;
continue;
}
p->low += bound;
p->range -= bound;
*prob = (CProb)(ttt - (ttt >> kNumMoveBits));
{
UInt32 relatVal = GetUi32(src);
UInt32 absVal;
p->ip += 4;
absVal = p->ip + relatVal;
p->prevByte = src[3];
src += 4;
p->src = src;
{
unsigned cj = (b == 0xE8) ? BCJ2_STREAM_CALL : BCJ2_STREAM_JUMP;
Byte *cur = p->bufs[cj];
if (cur == p->lims[cj])
{
p->state = cj;
p->tempTarget = absVal;
return;
}
SetBe32(cur, absVal);
p->bufs[cj] = cur + 4;
}
}
}
}
}
}
}
if (p->finishMode != BCJ2_ENC_FINISH_MODE_END_STREAM)
return;
for (; p->flushPos < 5; p->flushPos++)
if (RangeEnc_ShiftLow(p))
return;
p->state = BCJ2_ENC_STATE_OK;
}
void Bcj2Enc_Encode(CBcj2Enc *p)
{
PRF(printf("\n"));
PRF(printf("---- ip = %8d tempPos = %8d src = %8d\n", p->ip, p->tempPos, p->srcLim - p->src));
if (p->tempPos != 0)
{
unsigned extra = 0;
for (;;)
{
const Byte *src = p->src;
const Byte *srcLim = p->srcLim;
EBcj2Enc_FinishMode finishMode = p->finishMode;
p->src = p->temp;
p->srcLim = p->temp + p->tempPos;
if (src != srcLim)
p->finishMode = BCJ2_ENC_FINISH_MODE_CONTINUE;
PRF(printf(" ip = %8d tempPos = %8d src = %8d\n", p->ip, p->tempPos, p->srcLim - p->src));
Bcj2Enc_Encode_2(p);
{
unsigned num = (unsigned)(p->src - p->temp);
unsigned tempPos = p->tempPos - num;
unsigned i;
p->tempPos = tempPos;
for (i = 0; i < tempPos; i++)
p->temp[i] = p->temp[(size_t)i + num];
p->src = src;
p->srcLim = srcLim;
p->finishMode = finishMode;
if (p->state != BCJ2_ENC_STATE_ORIG || src == srcLim)
return;
if (extra >= tempPos)
{
p->src = src - tempPos;
p->tempPos = 0;
break;
}
p->temp[tempPos] = src[0];
p->tempPos = tempPos + 1;
p->src = src + 1;
extra++;
}
}
}
PRF(printf("++++ ip = %8d tempPos = %8d src = %8d\n", p->ip, p->tempPos, p->srcLim - p->src));
Bcj2Enc_Encode_2(p);
if (p->state == BCJ2_ENC_STATE_ORIG)
{
const Byte *src = p->src;
unsigned rem = (unsigned)(p->srcLim - src);
unsigned i;
for (i = 0; i < rem; i++)
p->temp[i] = src[i];
p->tempPos = rem;
p->src = src + rem;
}
}

230
3rdparty/7z/Bra.c vendored
View file

@ -1,230 +0,0 @@
/* Bra.c -- Converters for RISC code
2017-04-04 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "CpuArch.h"
#include "Bra.h"
SizeT ARM_Convert(Byte *data, SizeT size, UInt32 ip, int encoding)
{
Byte *p;
const Byte *lim;
size &= ~(size_t)3;
ip += 4;
p = data;
lim = data + size;
if (encoding)
for (;;)
{
for (;;)
{
if (p >= lim)
return p - data;
p += 4;
if (p[-1] == 0xEB)
break;
}
{
UInt32 v = GetUi32(p - 4);
v <<= 2;
v += ip + (UInt32)(p - data);
v >>= 2;
v &= 0x00FFFFFF;
v |= 0xEB000000;
SetUi32(p - 4, v);
}
}
for (;;)
{
for (;;)
{
if (p >= lim)
return p - data;
p += 4;
if (p[-1] == 0xEB)
break;
}
{
UInt32 v = GetUi32(p - 4);
v <<= 2;
v -= ip + (UInt32)(p - data);
v >>= 2;
v &= 0x00FFFFFF;
v |= 0xEB000000;
SetUi32(p - 4, v);
}
}
}
SizeT ARMT_Convert(Byte *data, SizeT size, UInt32 ip, int encoding)
{
Byte *p;
const Byte *lim;
size &= ~(size_t)1;
p = data;
lim = data + size - 4;
if (encoding)
for (;;)
{
UInt32 b1;
for (;;)
{
UInt32 b3;
if (p > lim)
return p - data;
b1 = p[1];
b3 = p[3];
p += 2;
b1 ^= 8;
if ((b3 & b1) >= 0xF8)
break;
}
{
UInt32 v =
((UInt32)b1 << 19)
+ (((UInt32)p[1] & 0x7) << 8)
+ (((UInt32)p[-2] << 11))
+ (p[0]);
p += 2;
{
UInt32 cur = (ip + (UInt32)(p - data)) >> 1;
v += cur;
}
p[-4] = (Byte)(v >> 11);
p[-3] = (Byte)(0xF0 | ((v >> 19) & 0x7));
p[-2] = (Byte)v;
p[-1] = (Byte)(0xF8 | (v >> 8));
}
}
for (;;)
{
UInt32 b1;
for (;;)
{
UInt32 b3;
if (p > lim)
return p - data;
b1 = p[1];
b3 = p[3];
p += 2;
b1 ^= 8;
if ((b3 & b1) >= 0xF8)
break;
}
{
UInt32 v =
((UInt32)b1 << 19)
+ (((UInt32)p[1] & 0x7) << 8)
+ (((UInt32)p[-2] << 11))
+ (p[0]);
p += 2;
{
UInt32 cur = (ip + (UInt32)(p - data)) >> 1;
v -= cur;
}
/*
SetUi16(p - 4, (UInt16)(((v >> 11) & 0x7FF) | 0xF000));
SetUi16(p - 2, (UInt16)(v | 0xF800));
*/
p[-4] = (Byte)(v >> 11);
p[-3] = (Byte)(0xF0 | ((v >> 19) & 0x7));
p[-2] = (Byte)v;
p[-1] = (Byte)(0xF8 | (v >> 8));
}
}
}
SizeT PPC_Convert(Byte *data, SizeT size, UInt32 ip, int encoding)
{
Byte *p;
const Byte *lim;
size &= ~(size_t)3;
ip -= 4;
p = data;
lim = data + size;
for (;;)
{
for (;;)
{
if (p >= lim)
return p - data;
p += 4;
/* if ((v & 0xFC000003) == 0x48000001) */
if ((p[-4] & 0xFC) == 0x48 && (p[-1] & 3) == 1)
break;
}
{
UInt32 v = GetBe32(p - 4);
if (encoding)
v += ip + (UInt32)(p - data);
else
v -= ip + (UInt32)(p - data);
v &= 0x03FFFFFF;
v |= 0x48000000;
SetBe32(p - 4, v);
}
}
}
SizeT SPARC_Convert(Byte *data, SizeT size, UInt32 ip, int encoding)
{
Byte *p;
const Byte *lim;
size &= ~(size_t)3;
ip -= 4;
p = data;
lim = data + size;
for (;;)
{
for (;;)
{
if (p >= lim)
return p - data;
/*
v = GetBe32(p);
p += 4;
m = v + ((UInt32)5 << 29);
m ^= (UInt32)7 << 29;
m += (UInt32)1 << 22;
if ((m & ((UInt32)0x1FF << 23)) == 0)
break;
*/
p += 4;
if ((p[-4] == 0x40 && (p[-3] & 0xC0) == 0) ||
(p[-4] == 0x7F && (p[-3] >= 0xC0)))
break;
}
{
UInt32 v = GetBe32(p - 4);
v <<= 2;
if (encoding)
v += ip + (UInt32)(p - data);
else
v -= ip + (UInt32)(p - data);
v &= 0x01FFFFFF;
v -= (UInt32)1 << 24;
v ^= 0xFF000000;
v >>= 2;
v |= 0x40000000;
SetBe32(p - 4, v);
}
}
}

64
3rdparty/7z/Bra.h vendored
View file

@ -1,64 +0,0 @@
/* Bra.h -- Branch converters for executables
2013-01-18 : Igor Pavlov : Public domain */
#ifndef __BRA_H
#define __BRA_H
#include "7zTypes.h"
EXTERN_C_BEGIN
/*
These functions convert relative addresses to absolute addresses
in CALL instructions to increase the compression ratio.
In:
data - data buffer
size - size of data
ip - current virtual Instruction Pinter (IP) value
state - state variable for x86 converter
encoding - 0 (for decoding), 1 (for encoding)
Out:
state - state variable for x86 converter
Returns:
The number of processed bytes. If you call these functions with multiple calls,
you must start next call with first byte after block of processed bytes.
Type Endian Alignment LookAhead
x86 little 1 4
ARMT little 2 2
ARM little 4 0
PPC big 4 0
SPARC big 4 0
IA64 little 16 0
size must be >= Alignment + LookAhead, if it's not last block.
If (size < Alignment + LookAhead), converter returns 0.
Example:
UInt32 ip = 0;
for ()
{
; size must be >= Alignment + LookAhead, if it's not last block
SizeT processed = Convert(data, size, ip, 1);
data += processed;
size -= processed;
ip += processed;
}
*/
#define x86_Convert_Init(state) { state = 0; }
SizeT x86_Convert(Byte *data, SizeT size, UInt32 ip, UInt32 *state, int encoding);
SizeT ARM_Convert(Byte *data, SizeT size, UInt32 ip, int encoding);
SizeT ARMT_Convert(Byte *data, SizeT size, UInt32 ip, int encoding);
SizeT PPC_Convert(Byte *data, SizeT size, UInt32 ip, int encoding);
SizeT SPARC_Convert(Byte *data, SizeT size, UInt32 ip, int encoding);
SizeT IA64_Convert(Byte *data, SizeT size, UInt32 ip, int encoding);
EXTERN_C_END
#endif

82
3rdparty/7z/Bra86.c vendored
View file

@ -1,82 +0,0 @@
/* Bra86.c -- Converter for x86 code (BCJ)
2017-04-03 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "Bra.h"
#define Test86MSByte(b) ((((b) + 1) & 0xFE) == 0)
SizeT x86_Convert(Byte *data, SizeT size, UInt32 ip, UInt32 *state, int encoding)
{
SizeT pos = 0;
UInt32 mask = *state & 7;
if (size < 5)
return 0;
size -= 4;
ip += 5;
for (;;)
{
Byte *p = data + pos;
const Byte *limit = data + size;
for (; p < limit; p++)
if ((*p & 0xFE) == 0xE8)
break;
{
SizeT d = (SizeT)(p - data - pos);
pos = (SizeT)(p - data);
if (p >= limit)
{
*state = (d > 2 ? 0 : mask >> (unsigned)d);
return pos;
}
if (d > 2)
mask = 0;
else
{
mask >>= (unsigned)d;
if (mask != 0 && (mask > 4 || mask == 3 || Test86MSByte(p[(size_t)(mask >> 1) + 1])))
{
mask = (mask >> 1) | 4;
pos++;
continue;
}
}
}
if (Test86MSByte(p[4]))
{
UInt32 v = ((UInt32)p[4] << 24) | ((UInt32)p[3] << 16) | ((UInt32)p[2] << 8) | ((UInt32)p[1]);
UInt32 cur = ip + (UInt32)pos;
pos += 5;
if (encoding)
v += cur;
else
v -= cur;
if (mask != 0)
{
unsigned sh = (mask & 6) << 2;
if (Test86MSByte((Byte)(v >> sh)))
{
v ^= (((UInt32)0x100 << sh) - 1);
if (encoding)
v += cur;
else
v -= cur;
}
mask = 0;
}
p[1] = (Byte)v;
p[2] = (Byte)(v >> 8);
p[3] = (Byte)(v >> 16);
p[4] = (Byte)(0 - ((v >> 24) & 1));
}
else
{
mask = (mask >> 1) | 4;
pos++;
}
}
}

53
3rdparty/7z/BraIA64.c vendored
View file

@ -1,53 +0,0 @@
/* BraIA64.c -- Converter for IA-64 code
2017-01-26 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "CpuArch.h"
#include "Bra.h"
SizeT IA64_Convert(Byte *data, SizeT size, UInt32 ip, int encoding)
{
SizeT i;
if (size < 16)
return 0;
size -= 16;
i = 0;
do
{
unsigned m = ((UInt32)0x334B0000 >> (data[i] & 0x1E)) & 3;
if (m)
{
m++;
do
{
Byte *p = data + (i + (size_t)m * 5 - 8);
if (((p[3] >> m) & 15) == 5
&& (((p[-1] | ((UInt32)p[0] << 8)) >> m) & 0x70) == 0)
{
unsigned raw = GetUi32(p);
unsigned v = raw >> m;
v = (v & 0xFFFFF) | ((v & (1 << 23)) >> 3);
v <<= 4;
if (encoding)
v += ip + (UInt32)i;
else
v -= ip + (UInt32)i;
v >>= 4;
v &= 0x1FFFFF;
v += 0x700000;
v &= 0x8FFFFF;
raw &= ~((UInt32)0x8FFFFF << m);
raw |= (v << m);
SetUi32(p, raw);
}
}
while (++m <= 4);
}
i += 16;
}
while (i <= size);
return i;
}

View file

@ -1,33 +0,0 @@
/* Compiler.h
2017-04-03 : Igor Pavlov : Public domain */
#ifndef __7Z_COMPILER_H
#define __7Z_COMPILER_H
#ifdef _MSC_VER
#ifdef UNDER_CE
#define RPC_NO_WINDOWS_H
/* #pragma warning(disable : 4115) // '_RPC_ASYNC_STATE' : named type definition in parentheses */
#pragma warning(disable : 4201) // nonstandard extension used : nameless struct/union
#pragma warning(disable : 4214) // nonstandard extension used : bit field types other than int
#endif
#if _MSC_VER >= 1300
#pragma warning(disable : 4996) // This function or variable may be unsafe
#else
#pragma warning(disable : 4511) // copy constructor could not be generated
#pragma warning(disable : 4512) // assignment operator could not be generated
#pragma warning(disable : 4514) // unreferenced inline function has been removed
#pragma warning(disable : 4702) // unreachable code
#pragma warning(disable : 4710) // not inlined
#pragma warning(disable : 4714) // function marked as __forceinline not inlined
#pragma warning(disable : 4786) // identifier was truncated to '255' characters in the debug information
#endif
#endif
#define UNUSED_VAR(x) (void)x;
/* #define UNUSED_VAR(x) x=x; */
#endif

218
3rdparty/7z/CpuArch.c vendored
View file

@ -1,218 +0,0 @@
/* CpuArch.c -- CPU specific code
2018-02-18: Igor Pavlov : Public domain */
#include "Precomp.h"
#include "CpuArch.h"
#ifdef MY_CPU_X86_OR_AMD64
#if (defined(_MSC_VER) && !defined(MY_CPU_AMD64)) || defined(__GNUC__)
#define USE_ASM
#endif
#if !defined(USE_ASM) && _MSC_VER >= 1500
#include <intrin.h>
#endif
#if defined(USE_ASM) && !defined(MY_CPU_AMD64)
static UInt32 CheckFlag(UInt32 flag)
{
#ifdef _MSC_VER
__asm pushfd;
__asm pop EAX;
__asm mov EDX, EAX;
__asm xor EAX, flag;
__asm push EAX;
__asm popfd;
__asm pushfd;
__asm pop EAX;
__asm xor EAX, EDX;
__asm push EDX;
__asm popfd;
__asm and flag, EAX;
#else
__asm__ __volatile__ (
"pushf\n\t"
"pop %%EAX\n\t"
"movl %%EAX,%%EDX\n\t"
"xorl %0,%%EAX\n\t"
"push %%EAX\n\t"
"popf\n\t"
"pushf\n\t"
"pop %%EAX\n\t"
"xorl %%EDX,%%EAX\n\t"
"push %%EDX\n\t"
"popf\n\t"
"andl %%EAX, %0\n\t":
"=c" (flag) : "c" (flag) :
"%eax", "%edx");
#endif
return flag;
}
#define CHECK_CPUID_IS_SUPPORTED if (CheckFlag(1 << 18) == 0 || CheckFlag(1 << 21) == 0) return False;
#else
#define CHECK_CPUID_IS_SUPPORTED
#endif
void MyCPUID(UInt32 function, UInt32 *a, UInt32 *b, UInt32 *c, UInt32 *d)
{
#ifdef USE_ASM
#ifdef _MSC_VER
UInt32 a2, b2, c2, d2;
__asm xor EBX, EBX;
__asm xor ECX, ECX;
__asm xor EDX, EDX;
__asm mov EAX, function;
__asm cpuid;
__asm mov a2, EAX;
__asm mov b2, EBX;
__asm mov c2, ECX;
__asm mov d2, EDX;
*a = a2;
*b = b2;
*c = c2;
*d = d2;
#else
__asm__ __volatile__ (
#if defined(MY_CPU_AMD64) && defined(__PIC__)
"mov %%rbx, %%rdi;"
"cpuid;"
"xchg %%rbx, %%rdi;"
: "=a" (*a) ,
"=D" (*b) ,
#elif defined(MY_CPU_X86) && defined(__PIC__)
"mov %%ebx, %%edi;"
"cpuid;"
"xchgl %%ebx, %%edi;"
: "=a" (*a) ,
"=D" (*b) ,
#else
"cpuid"
: "=a" (*a) ,
"=b" (*b) ,
#endif
"=c" (*c) ,
"=d" (*d)
: "0" (function)) ;
#endif
#else
int CPUInfo[4];
__cpuid(CPUInfo, function);
*a = CPUInfo[0];
*b = CPUInfo[1];
*c = CPUInfo[2];
*d = CPUInfo[3];
#endif
}
BoolInt x86cpuid_CheckAndRead(Cx86cpuid *p)
{
CHECK_CPUID_IS_SUPPORTED
MyCPUID(0, &p->maxFunc, &p->vendor[0], &p->vendor[2], &p->vendor[1]);
MyCPUID(1, &p->ver, &p->b, &p->c, &p->d);
return True;
}
static const UInt32 kVendors[][3] =
{
{ 0x756E6547, 0x49656E69, 0x6C65746E},
{ 0x68747541, 0x69746E65, 0x444D4163},
{ 0x746E6543, 0x48727561, 0x736C7561}
};
int x86cpuid_GetFirm(const Cx86cpuid *p)
{
unsigned i;
for (i = 0; i < sizeof(kVendors) / sizeof(kVendors[i]); i++)
{
const UInt32 *v = kVendors[i];
if (v[0] == p->vendor[0] &&
v[1] == p->vendor[1] &&
v[2] == p->vendor[2])
return (int)i;
}
return -1;
}
BoolInt CPU_Is_InOrder()
{
Cx86cpuid p;
int firm;
UInt32 family, model;
if (!x86cpuid_CheckAndRead(&p))
return True;
family = x86cpuid_GetFamily(p.ver);
model = x86cpuid_GetModel(p.ver);
firm = x86cpuid_GetFirm(&p);
switch (firm)
{
case CPU_FIRM_INTEL: return (family < 6 || (family == 6 && (
/* In-Order Atom CPU */
model == 0x1C /* 45 nm, N4xx, D4xx, N5xx, D5xx, 230, 330 */
|| model == 0x26 /* 45 nm, Z6xx */
|| model == 0x27 /* 32 nm, Z2460 */
|| model == 0x35 /* 32 nm, Z2760 */
|| model == 0x36 /* 32 nm, N2xxx, D2xxx */
)));
case CPU_FIRM_AMD: return (family < 5 || (family == 5 && (model < 6 || model == 0xA)));
case CPU_FIRM_VIA: return (family < 6 || (family == 6 && model < 0xF));
}
return True;
}
#if !defined(MY_CPU_AMD64) && defined(_WIN32)
#include <windows.h>
static BoolInt CPU_Sys_Is_SSE_Supported()
{
OSVERSIONINFO vi;
vi.dwOSVersionInfoSize = sizeof(vi);
if (!GetVersionEx(&vi))
return False;
return (vi.dwMajorVersion >= 5);
}
#define CHECK_SYS_SSE_SUPPORT if (!CPU_Sys_Is_SSE_Supported()) return False;
#else
#define CHECK_SYS_SSE_SUPPORT
#endif
BoolInt CPU_Is_Aes_Supported()
{
Cx86cpuid p;
CHECK_SYS_SSE_SUPPORT
if (!x86cpuid_CheckAndRead(&p))
return False;
return (p.c >> 25) & 1;
}
BoolInt CPU_IsSupported_PageGB()
{
Cx86cpuid cpuid;
if (!x86cpuid_CheckAndRead(&cpuid))
return False;
{
UInt32 d[4] = { 0 };
MyCPUID(0x80000000, &d[0], &d[1], &d[2], &d[3]);
if (d[0] < 0x80000001)
return False;
}
{
UInt32 d[4] = { 0 };
MyCPUID(0x80000001, &d[0], &d[1], &d[2], &d[3]);
return (d[3] >> 26) & 1;
}
}
#endif

336
3rdparty/7z/CpuArch.h vendored
View file

@ -1,336 +0,0 @@
/* CpuArch.h -- CPU specific code
2018-02-18 : Igor Pavlov : Public domain */
#ifndef __CPU_ARCH_H
#define __CPU_ARCH_H
#include "7zTypes.h"
EXTERN_C_BEGIN
/*
MY_CPU_LE means that CPU is LITTLE ENDIAN.
MY_CPU_BE means that CPU is BIG ENDIAN.
If MY_CPU_LE and MY_CPU_BE are not defined, we don't know about ENDIANNESS of platform.
MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and CPU supports unaligned memory accesses.
*/
#if defined(_M_X64) \
|| defined(_M_AMD64) \
|| defined(__x86_64__) \
|| defined(__AMD64__) \
|| defined(__amd64__)
#define MY_CPU_AMD64
#ifdef __ILP32__
#define MY_CPU_NAME "x32"
#else
#define MY_CPU_NAME "x64"
#endif
#define MY_CPU_64BIT
#endif
#if defined(_M_IX86) \
|| defined(__i386__)
#define MY_CPU_X86
#define MY_CPU_NAME "x86"
#define MY_CPU_32BIT
#endif
#if defined(_M_ARM64) \
|| defined(__AARCH64EL__) \
|| defined(__AARCH64EB__) \
|| defined(__aarch64__)
#define MY_CPU_ARM64
#define MY_CPU_NAME "arm64"
#define MY_CPU_64BIT
#endif
#if defined(_M_ARM) \
|| defined(_M_ARM_NT) \
|| defined(_M_ARMT) \
|| defined(__arm__) \
|| defined(__thumb__) \
|| defined(__ARMEL__) \
|| defined(__ARMEB__) \
|| defined(__THUMBEL__) \
|| defined(__THUMBEB__)
#define MY_CPU_ARM
#define MY_CPU_NAME "arm"
#define MY_CPU_32BIT
#endif
#if defined(_M_IA64) \
|| defined(__ia64__)
#define MY_CPU_IA64
#define MY_CPU_NAME "ia64"
#define MY_CPU_64BIT
#endif
#if defined(__mips64) \
|| defined(__mips64__) \
|| (defined(__mips) && (__mips == 64 || __mips == 4 || __mips == 3))
#define MY_CPU_NAME "mips64"
#define MY_CPU_64BIT
#elif defined(__mips__)
#define MY_CPU_NAME "mips"
/* #define MY_CPU_32BIT */
#endif
#if defined(__ppc64__) \
|| defined(__powerpc64__)
#ifdef __ILP32__
#define MY_CPU_NAME "ppc64-32"
#else
#define MY_CPU_NAME "ppc64"
#endif
#define MY_CPU_64BIT
#elif defined(__ppc__) \
|| defined(__powerpc__)
#define MY_CPU_NAME "ppc"
#define MY_CPU_32BIT
#endif
#if defined(__sparc64__)
#define MY_CPU_NAME "sparc64"
#define MY_CPU_64BIT
#elif defined(__sparc__)
#define MY_CPU_NAME "sparc"
/* #define MY_CPU_32BIT */
#endif
#if defined(MY_CPU_X86) || defined(MY_CPU_AMD64)
#define MY_CPU_X86_OR_AMD64
#endif
#ifdef _WIN32
#ifdef MY_CPU_ARM
#define MY_CPU_ARM_LE
#endif
#ifdef MY_CPU_ARM64
#define MY_CPU_ARM64_LE
#endif
#ifdef _M_IA64
#define MY_CPU_IA64_LE
#endif
#endif
#if defined(MY_CPU_X86_OR_AMD64) \
|| defined(MY_CPU_ARM_LE) \
|| defined(MY_CPU_ARM64_LE) \
|| defined(MY_CPU_IA64_LE) \
|| defined(__LITTLE_ENDIAN__) \
|| defined(__ARMEL__) \
|| defined(__THUMBEL__) \
|| defined(__AARCH64EL__) \
|| defined(__MIPSEL__) \
|| defined(__MIPSEL) \
|| defined(_MIPSEL) \
|| defined(__BFIN__) \
|| (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__))
#define MY_CPU_LE
#endif
#if defined(__BIG_ENDIAN__) \
|| defined(__ARMEB__) \
|| defined(__THUMBEB__) \
|| defined(__AARCH64EB__) \
|| defined(__MIPSEB__) \
|| defined(__MIPSEB) \
|| defined(_MIPSEB) \
|| defined(__m68k__) \
|| defined(__s390__) \
|| defined(__s390x__) \
|| defined(__zarch__) \
|| (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
#define MY_CPU_BE
#endif
#if defined(MY_CPU_LE) && defined(MY_CPU_BE)
#error Stop_Compiling_Bad_Endian
#endif
#if defined(MY_CPU_32BIT) && defined(MY_CPU_64BIT)
#error Stop_Compiling_Bad_32_64_BIT
#endif
#ifndef MY_CPU_NAME
#ifdef MY_CPU_LE
#define MY_CPU_NAME "LE"
#elif defined(MY_CPU_BE)
#define MY_CPU_NAME "BE"
#else
/*
#define MY_CPU_NAME ""
*/
#endif
#endif
#ifdef MY_CPU_LE
#if defined(MY_CPU_X86_OR_AMD64) \
|| defined(MY_CPU_ARM64) \
|| defined(__ARM_FEATURE_UNALIGNED)
#define MY_CPU_LE_UNALIGN
#endif
#endif
#ifdef MY_CPU_LE_UNALIGN
#define GetUi16(p) (*(const UInt16 *)(const void *)(p))
#define GetUi32(p) (*(const UInt32 *)(const void *)(p))
#define GetUi64(p) (*(const UInt64 *)(const void *)(p))
#define SetUi16(p, v) { *(UInt16 *)(p) = (v); }
#define SetUi32(p, v) { *(UInt32 *)(p) = (v); }
#define SetUi64(p, v) { *(UInt64 *)(p) = (v); }
#else
#define GetUi16(p) ( (UInt16) ( \
((const Byte *)(p))[0] | \
((UInt16)((const Byte *)(p))[1] << 8) ))
#define GetUi32(p) ( \
((const Byte *)(p))[0] | \
((UInt32)((const Byte *)(p))[1] << 8) | \
((UInt32)((const Byte *)(p))[2] << 16) | \
((UInt32)((const Byte *)(p))[3] << 24))
#define GetUi64(p) (GetUi32(p) | ((UInt64)GetUi32(((const Byte *)(p)) + 4) << 32))
#define SetUi16(p, v) { Byte *_ppp_ = (Byte *)(p); UInt32 _vvv_ = (v); \
_ppp_[0] = (Byte)_vvv_; \
_ppp_[1] = (Byte)(_vvv_ >> 8); }
#define SetUi32(p, v) { Byte *_ppp_ = (Byte *)(p); UInt32 _vvv_ = (v); \
_ppp_[0] = (Byte)_vvv_; \
_ppp_[1] = (Byte)(_vvv_ >> 8); \
_ppp_[2] = (Byte)(_vvv_ >> 16); \
_ppp_[3] = (Byte)(_vvv_ >> 24); }
#define SetUi64(p, v) { Byte *_ppp2_ = (Byte *)(p); UInt64 _vvv2_ = (v); \
SetUi32(_ppp2_ , (UInt32)_vvv2_); \
SetUi32(_ppp2_ + 4, (UInt32)(_vvv2_ >> 32)); }
#endif
#ifdef __has_builtin
#define MY__has_builtin(x) __has_builtin(x)
#else
#define MY__has_builtin(x) 0
#endif
#if defined(MY_CPU_LE_UNALIGN) && /* defined(_WIN64) && */ (_MSC_VER >= 1300)
/* Note: we use bswap instruction, that is unsupported in 386 cpu */
#include <stdlib.h>
#pragma intrinsic(_byteswap_ushort)
#pragma intrinsic(_byteswap_ulong)
#pragma intrinsic(_byteswap_uint64)
/* #define GetBe16(p) _byteswap_ushort(*(const UInt16 *)(const Byte *)(p)) */
#define GetBe32(p) _byteswap_ulong(*(const UInt32 *)(const Byte *)(p))
#define GetBe64(p) _byteswap_uint64(*(const UInt64 *)(const Byte *)(p))
#define SetBe32(p, v) (*(UInt32 *)(void *)(p)) = _byteswap_ulong(v)
#elif defined(MY_CPU_LE_UNALIGN) && ( \
(defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) \
|| (defined(__clang__) && MY__has_builtin(__builtin_bswap16)) )
/* #define GetBe16(p) __builtin_bswap16(*(const UInt16 *)(const Byte *)(p)) */
#define GetBe32(p) __builtin_bswap32(*(const UInt32 *)(const Byte *)(p))
#define GetBe64(p) __builtin_bswap64(*(const UInt64 *)(const Byte *)(p))
#define SetBe32(p, v) (*(UInt32 *)(void *)(p)) = __builtin_bswap32(v)
#else
#define GetBe32(p) ( \
((UInt32)((const Byte *)(p))[0] << 24) | \
((UInt32)((const Byte *)(p))[1] << 16) | \
((UInt32)((const Byte *)(p))[2] << 8) | \
((const Byte *)(p))[3] )
#define GetBe64(p) (((UInt64)GetBe32(p) << 32) | GetBe32(((const Byte *)(p)) + 4))
#define SetBe32(p, v) { Byte *_ppp_ = (Byte *)(p); UInt32 _vvv_ = (v); \
_ppp_[0] = (Byte)(_vvv_ >> 24); \
_ppp_[1] = (Byte)(_vvv_ >> 16); \
_ppp_[2] = (Byte)(_vvv_ >> 8); \
_ppp_[3] = (Byte)_vvv_; }
#endif
#ifndef GetBe16
#define GetBe16(p) ( (UInt16) ( \
((UInt16)((const Byte *)(p))[0] << 8) | \
((const Byte *)(p))[1] ))
#endif
#ifdef MY_CPU_X86_OR_AMD64
typedef struct
{
UInt32 maxFunc;
UInt32 vendor[3];
UInt32 ver;
UInt32 b;
UInt32 c;
UInt32 d;
} Cx86cpuid;
enum
{
CPU_FIRM_INTEL,
CPU_FIRM_AMD,
CPU_FIRM_VIA
};
void MyCPUID(UInt32 function, UInt32 *a, UInt32 *b, UInt32 *c, UInt32 *d);
BoolInt x86cpuid_CheckAndRead(Cx86cpuid *p);
int x86cpuid_GetFirm(const Cx86cpuid *p);
#define x86cpuid_GetFamily(ver) (((ver >> 16) & 0xFF0) | ((ver >> 8) & 0xF))
#define x86cpuid_GetModel(ver) (((ver >> 12) & 0xF0) | ((ver >> 4) & 0xF))
#define x86cpuid_GetStepping(ver) (ver & 0xF)
BoolInt CPU_Is_InOrder();
BoolInt CPU_Is_Aes_Supported();
BoolInt CPU_IsSupported_PageGB();
#endif
EXTERN_C_END
#endif

64
3rdparty/7z/Delta.c vendored
View file

@ -1,64 +0,0 @@
/* Delta.c -- Delta converter
2009-05-26 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "Delta.h"
void Delta_Init(Byte *state)
{
unsigned i;
for (i = 0; i < DELTA_STATE_SIZE; i++)
state[i] = 0;
}
static void MyMemCpy(Byte *dest, const Byte *src, unsigned size)
{
unsigned i;
for (i = 0; i < size; i++)
dest[i] = src[i];
}
void Delta_Encode(Byte *state, unsigned delta, Byte *data, SizeT size)
{
Byte buf[DELTA_STATE_SIZE];
unsigned j = 0;
MyMemCpy(buf, state, delta);
{
SizeT i;
for (i = 0; i < size;)
{
for (j = 0; j < delta && i < size; i++, j++)
{
Byte b = data[i];
data[i] = (Byte)(b - buf[j]);
buf[j] = b;
}
}
}
if (j == delta)
j = 0;
MyMemCpy(state, buf + j, delta - j);
MyMemCpy(state + delta - j, buf, j);
}
void Delta_Decode(Byte *state, unsigned delta, Byte *data, SizeT size)
{
Byte buf[DELTA_STATE_SIZE];
unsigned j = 0;
MyMemCpy(buf, state, delta);
{
SizeT i;
for (i = 0; i < size;)
{
for (j = 0; j < delta && i < size; i++, j++)
{
buf[j] = data[i] = (Byte)(buf[j] + data[i]);
}
}
}
if (j == delta)
j = 0;
MyMemCpy(state, buf + j, delta - j);
MyMemCpy(state + delta - j, buf, j);
}

19
3rdparty/7z/Delta.h vendored
View file

@ -1,19 +0,0 @@
/* Delta.h -- Delta converter
2013-01-18 : Igor Pavlov : Public domain */
#ifndef __DELTA_H
#define __DELTA_H
#include "7zTypes.h"
EXTERN_C_BEGIN
#define DELTA_STATE_SIZE 256
void Delta_Init(Byte *state);
void Delta_Encode(Byte *state, unsigned delta, Byte *data, SizeT size);
void Delta_Decode(Byte *state, unsigned delta, Byte *data, SizeT size);
EXTERN_C_END
#endif

108
3rdparty/7z/DllSecur.c vendored
View file

@ -1,108 +0,0 @@
/* DllSecur.c -- DLL loading security
2018-02-21 : Igor Pavlov : Public domain */
#include "Precomp.h"
#ifdef _WIN32
#include <windows.h>
#include "DllSecur.h"
#ifndef UNDER_CE
typedef BOOL (WINAPI *Func_SetDefaultDllDirectories)(DWORD DirectoryFlags);
#define MY_LOAD_LIBRARY_SEARCH_USER_DIRS 0x400
#define MY_LOAD_LIBRARY_SEARCH_SYSTEM32 0x800
static const char * const g_Dlls =
#ifndef _CONSOLE
"UXTHEME\0"
#endif
"USERENV\0"
"SETUPAPI\0"
"APPHELP\0"
"PROPSYS\0"
"DWMAPI\0"
"CRYPTBASE\0"
"OLEACC\0"
"CLBCATQ\0"
"VERSION\0"
;
#endif
void My_SetDefaultDllDirectories()
{
#ifndef UNDER_CE
OSVERSIONINFO vi;
vi.dwOSVersionInfoSize = sizeof(vi);
GetVersionEx(&vi);
if (!GetVersionEx(&vi) || vi.dwMajorVersion != 6 || vi.dwMinorVersion != 0)
{
Func_SetDefaultDllDirectories setDllDirs = (Func_SetDefaultDllDirectories)
GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "SetDefaultDllDirectories");
if (setDllDirs)
if (setDllDirs(MY_LOAD_LIBRARY_SEARCH_SYSTEM32 | MY_LOAD_LIBRARY_SEARCH_USER_DIRS))
return;
}
#endif
}
void LoadSecurityDlls()
{
#ifndef UNDER_CE
wchar_t buf[MAX_PATH + 100];
{
// at Vista (ver 6.0) : CoCreateInstance(CLSID_ShellLink, ...) doesn't work after SetDefaultDllDirectories() : Check it ???
OSVERSIONINFO vi;
vi.dwOSVersionInfoSize = sizeof(vi);
if (!GetVersionEx(&vi) || vi.dwMajorVersion != 6 || vi.dwMinorVersion != 0)
{
Func_SetDefaultDllDirectories setDllDirs = (Func_SetDefaultDllDirectories)
GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), "SetDefaultDllDirectories");
if (setDllDirs)
if (setDllDirs(MY_LOAD_LIBRARY_SEARCH_SYSTEM32 | MY_LOAD_LIBRARY_SEARCH_USER_DIRS))
return;
}
}
{
unsigned len = GetSystemDirectoryW(buf, MAX_PATH + 2);
if (len == 0 || len > MAX_PATH)
return;
}
{
const char *dll;
unsigned pos = (unsigned)lstrlenW(buf);
if (buf[pos - 1] != '\\')
buf[pos++] = '\\';
for (dll = g_Dlls; dll[0] != 0;)
{
unsigned k = 0;
for (;;)
{
char c = *dll++;
buf[pos + k] = (Byte)c;
k++;
if (c == 0)
break;
}
lstrcatW(buf, L".dll");
LoadLibraryExW(buf, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
}
}
#endif
}
#endif

View file

@ -1,20 +0,0 @@
/* DllSecur.h -- DLL loading for security
2018-02-19 : Igor Pavlov : Public domain */
#ifndef __DLL_SECUR_H
#define __DLL_SECUR_H
#include "7zTypes.h"
EXTERN_C_BEGIN
#ifdef _WIN32
void My_SetDefaultDllDirectories();
void LoadSecurityDlls();
#endif
EXTERN_C_END
#endif

1127
3rdparty/7z/LzFind.c vendored

File diff suppressed because it is too large Load diff

121
3rdparty/7z/LzFind.h vendored
View file

@ -1,121 +0,0 @@
/* LzFind.h -- Match finder for LZ algorithms
2017-06-10 : Igor Pavlov : Public domain */
#ifndef __LZ_FIND_H
#define __LZ_FIND_H
#include "7zTypes.h"
EXTERN_C_BEGIN
typedef UInt32 CLzRef;
typedef struct _CMatchFinder
{
Byte *buffer;
UInt32 pos;
UInt32 posLimit;
UInt32 streamPos;
UInt32 lenLimit;
UInt32 cyclicBufferPos;
UInt32 cyclicBufferSize; /* it must be = (historySize + 1) */
Byte streamEndWasReached;
Byte btMode;
Byte bigHash;
Byte directInput;
UInt32 matchMaxLen;
CLzRef *hash;
CLzRef *son;
UInt32 hashMask;
UInt32 cutValue;
Byte *bufferBase;
ISeqInStream *stream;
UInt32 blockSize;
UInt32 keepSizeBefore;
UInt32 keepSizeAfter;
UInt32 numHashBytes;
size_t directInputRem;
UInt32 historySize;
UInt32 fixedHashSize;
UInt32 hashSizeSum;
SRes result;
UInt32 crc[256];
size_t numRefs;
UInt64 expectedDataSize;
} CMatchFinder;
#define Inline_MatchFinder_GetPointerToCurrentPos(p) ((p)->buffer)
#define Inline_MatchFinder_GetNumAvailableBytes(p) ((p)->streamPos - (p)->pos)
#define Inline_MatchFinder_IsFinishedOK(p) \
((p)->streamEndWasReached \
&& (p)->streamPos == (p)->pos \
&& (!(p)->directInput || (p)->directInputRem == 0))
int MatchFinder_NeedMove(CMatchFinder *p);
Byte *MatchFinder_GetPointerToCurrentPos(CMatchFinder *p);
void MatchFinder_MoveBlock(CMatchFinder *p);
void MatchFinder_ReadIfRequired(CMatchFinder *p);
void MatchFinder_Construct(CMatchFinder *p);
/* Conditions:
historySize <= 3 GB
keepAddBufferBefore + matchMaxLen + keepAddBufferAfter < 511MB
*/
int MatchFinder_Create(CMatchFinder *p, UInt32 historySize,
UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter,
ISzAllocPtr alloc);
void MatchFinder_Free(CMatchFinder *p, ISzAllocPtr alloc);
void MatchFinder_Normalize3(UInt32 subValue, CLzRef *items, size_t numItems);
void MatchFinder_ReduceOffsets(CMatchFinder *p, UInt32 subValue);
UInt32 * GetMatchesSpec1(UInt32 lenLimit, UInt32 curMatch, UInt32 pos, const Byte *buffer, CLzRef *son,
UInt32 _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 _cutValue,
UInt32 *distances, UInt32 maxLen);
/*
Conditions:
Mf_GetNumAvailableBytes_Func must be called before each Mf_GetMatchLen_Func.
Mf_GetPointerToCurrentPos_Func's result must be used only before any other function
*/
typedef void (*Mf_Init_Func)(void *object);
typedef UInt32 (*Mf_GetNumAvailableBytes_Func)(void *object);
typedef const Byte * (*Mf_GetPointerToCurrentPos_Func)(void *object);
typedef UInt32 (*Mf_GetMatches_Func)(void *object, UInt32 *distances);
typedef void (*Mf_Skip_Func)(void *object, UInt32);
typedef struct _IMatchFinder
{
Mf_Init_Func Init;
Mf_GetNumAvailableBytes_Func GetNumAvailableBytes;
Mf_GetPointerToCurrentPos_Func GetPointerToCurrentPos;
Mf_GetMatches_Func GetMatches;
Mf_Skip_Func Skip;
} IMatchFinder;
void MatchFinder_CreateVTable(CMatchFinder *p, IMatchFinder *vTable);
void MatchFinder_Init_LowHash(CMatchFinder *p);
void MatchFinder_Init_HighHash(CMatchFinder *p);
void MatchFinder_Init_3(CMatchFinder *p, int readData);
void MatchFinder_Init(CMatchFinder *p);
UInt32 Bt3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances);
UInt32 Hc3Zip_MatchFinder_GetMatches(CMatchFinder *p, UInt32 *distances);
void Bt3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num);
void Hc3Zip_MatchFinder_Skip(CMatchFinder *p, UInt32 num);
EXTERN_C_END
#endif

853
3rdparty/7z/LzFindMt.c vendored
View file

@ -1,853 +0,0 @@
/* LzFindMt.c -- multithreaded Match finder for LZ algorithms
2018-12-29 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "LzHash.h"
#include "LzFindMt.h"
static void MtSync_Construct(CMtSync *p)
{
p->wasCreated = False;
p->csWasInitialized = False;
p->csWasEntered = False;
Thread_Construct(&p->thread);
Event_Construct(&p->canStart);
Event_Construct(&p->wasStarted);
Event_Construct(&p->wasStopped);
Semaphore_Construct(&p->freeSemaphore);
Semaphore_Construct(&p->filledSemaphore);
}
static void MtSync_GetNextBlock(CMtSync *p)
{
if (p->needStart)
{
p->numProcessedBlocks = 1;
p->needStart = False;
p->stopWriting = False;
p->exit = False;
Event_Reset(&p->wasStarted);
Event_Reset(&p->wasStopped);
Event_Set(&p->canStart);
Event_Wait(&p->wasStarted);
// if (mt) MatchFinder_Init_LowHash(mt->MatchFinder);
}
else
{
CriticalSection_Leave(&p->cs);
p->csWasEntered = False;
p->numProcessedBlocks++;
Semaphore_Release1(&p->freeSemaphore);
}
Semaphore_Wait(&p->filledSemaphore);
CriticalSection_Enter(&p->cs);
p->csWasEntered = True;
}
/* MtSync_StopWriting must be called if Writing was started */
static void MtSync_StopWriting(CMtSync *p)
{
UInt32 myNumBlocks = p->numProcessedBlocks;
if (!Thread_WasCreated(&p->thread) || p->needStart)
return;
p->stopWriting = True;
if (p->csWasEntered)
{
CriticalSection_Leave(&p->cs);
p->csWasEntered = False;
}
Semaphore_Release1(&p->freeSemaphore);
Event_Wait(&p->wasStopped);
while (myNumBlocks++ != p->numProcessedBlocks)
{
Semaphore_Wait(&p->filledSemaphore);
Semaphore_Release1(&p->freeSemaphore);
}
p->needStart = True;
}
static void MtSync_Destruct(CMtSync *p)
{
if (Thread_WasCreated(&p->thread))
{
MtSync_StopWriting(p);
p->exit = True;
if (p->needStart)
Event_Set(&p->canStart);
Thread_Wait(&p->thread);
Thread_Close(&p->thread);
}
if (p->csWasInitialized)
{
CriticalSection_Delete(&p->cs);
p->csWasInitialized = False;
}
Event_Close(&p->canStart);
Event_Close(&p->wasStarted);
Event_Close(&p->wasStopped);
Semaphore_Close(&p->freeSemaphore);
Semaphore_Close(&p->filledSemaphore);
p->wasCreated = False;
}
#define RINOK_THREAD(x) { if ((x) != 0) return SZ_ERROR_THREAD; }
static SRes MtSync_Create2(CMtSync *p, THREAD_FUNC_TYPE startAddress, void *obj, UInt32 numBlocks)
{
if (p->wasCreated)
return SZ_OK;
RINOK_THREAD(CriticalSection_Init(&p->cs));
p->csWasInitialized = True;
RINOK_THREAD(AutoResetEvent_CreateNotSignaled(&p->canStart));
RINOK_THREAD(AutoResetEvent_CreateNotSignaled(&p->wasStarted));
RINOK_THREAD(AutoResetEvent_CreateNotSignaled(&p->wasStopped));
RINOK_THREAD(Semaphore_Create(&p->freeSemaphore, numBlocks, numBlocks));
RINOK_THREAD(Semaphore_Create(&p->filledSemaphore, 0, numBlocks));
p->needStart = True;
RINOK_THREAD(Thread_Create(&p->thread, startAddress, obj));
p->wasCreated = True;
return SZ_OK;
}
static SRes MtSync_Create(CMtSync *p, THREAD_FUNC_TYPE startAddress, void *obj, UInt32 numBlocks)
{
SRes res = MtSync_Create2(p, startAddress, obj, numBlocks);
if (res != SZ_OK)
MtSync_Destruct(p);
return res;
}
void MtSync_Init(CMtSync *p) { p->needStart = True; }
#define kMtMaxValForNormalize 0xFFFFFFFF
#define DEF_GetHeads2(name, v, action) \
static void GetHeads ## name(const Byte *p, UInt32 pos, \
UInt32 *hash, UInt32 hashMask, UInt32 *heads, UInt32 numHeads, const UInt32 *crc) \
{ action; for (; numHeads != 0; numHeads--) { \
const UInt32 value = (v); p++; *heads++ = pos - hash[value]; hash[value] = pos++; } }
#define DEF_GetHeads(name, v) DEF_GetHeads2(name, v, ;)
DEF_GetHeads2(2, (p[0] | ((UInt32)p[1] << 8)), UNUSED_VAR(hashMask); UNUSED_VAR(crc); )
DEF_GetHeads(3, (crc[p[0]] ^ p[1] ^ ((UInt32)p[2] << 8)) & hashMask)
DEF_GetHeads(4, (crc[p[0]] ^ p[1] ^ ((UInt32)p[2] << 8) ^ (crc[p[3]] << 5)) & hashMask)
DEF_GetHeads(4b, (crc[p[0]] ^ p[1] ^ ((UInt32)p[2] << 8) ^ ((UInt32)p[3] << 16)) & hashMask)
/* DEF_GetHeads(5, (crc[p[0]] ^ p[1] ^ ((UInt32)p[2] << 8) ^ (crc[p[3]] << 5) ^ (crc[p[4]] << 3)) & hashMask) */
static void HashThreadFunc(CMatchFinderMt *mt)
{
CMtSync *p = &mt->hashSync;
for (;;)
{
UInt32 numProcessedBlocks = 0;
Event_Wait(&p->canStart);
Event_Set(&p->wasStarted);
MatchFinder_Init_HighHash(mt->MatchFinder);
for (;;)
{
if (p->exit)
return;
if (p->stopWriting)
{
p->numProcessedBlocks = numProcessedBlocks;
Event_Set(&p->wasStopped);
break;
}
{
CMatchFinder *mf = mt->MatchFinder;
if (MatchFinder_NeedMove(mf))
{
CriticalSection_Enter(&mt->btSync.cs);
CriticalSection_Enter(&mt->hashSync.cs);
{
const Byte *beforePtr = Inline_MatchFinder_GetPointerToCurrentPos(mf);
ptrdiff_t offset;
MatchFinder_MoveBlock(mf);
offset = beforePtr - Inline_MatchFinder_GetPointerToCurrentPos(mf);
mt->pointerToCurPos -= offset;
mt->buffer -= offset;
}
CriticalSection_Leave(&mt->btSync.cs);
CriticalSection_Leave(&mt->hashSync.cs);
continue;
}
Semaphore_Wait(&p->freeSemaphore);
MatchFinder_ReadIfRequired(mf);
if (mf->pos > (kMtMaxValForNormalize - kMtHashBlockSize))
{
UInt32 subValue = (mf->pos - mf->historySize - 1);
MatchFinder_ReduceOffsets(mf, subValue);
MatchFinder_Normalize3(subValue, mf->hash + mf->fixedHashSize, (size_t)mf->hashMask + 1);
}
{
UInt32 *heads = mt->hashBuf + ((numProcessedBlocks++) & kMtHashNumBlocksMask) * kMtHashBlockSize;
UInt32 num = mf->streamPos - mf->pos;
heads[0] = 2;
heads[1] = num;
if (num >= mf->numHashBytes)
{
num = num - mf->numHashBytes + 1;
if (num > kMtHashBlockSize - 2)
num = kMtHashBlockSize - 2;
mt->GetHeadsFunc(mf->buffer, mf->pos, mf->hash + mf->fixedHashSize, mf->hashMask, heads + 2, num, mf->crc);
heads[0] = 2 + num;
}
mf->pos += num;
mf->buffer += num;
}
}
Semaphore_Release1(&p->filledSemaphore);
}
}
}
static void MatchFinderMt_GetNextBlock_Hash(CMatchFinderMt *p)
{
MtSync_GetNextBlock(&p->hashSync);
p->hashBufPosLimit = p->hashBufPos = ((p->hashSync.numProcessedBlocks - 1) & kMtHashNumBlocksMask) * kMtHashBlockSize;
p->hashBufPosLimit += p->hashBuf[p->hashBufPos++];
p->hashNumAvail = p->hashBuf[p->hashBufPos++];
}
#define kEmptyHashValue 0
#define MFMT_GM_INLINE
#ifdef MFMT_GM_INLINE
/*
we use size_t for _cyclicBufferPos instead of UInt32
to eliminate "movsx" BUG in old MSVC x64 compiler.
*/
MY_NO_INLINE
static UInt32 *GetMatchesSpecN(UInt32 lenLimit, UInt32 pos, const Byte *cur, CLzRef *son,
size_t _cyclicBufferPos, UInt32 _cyclicBufferSize, UInt32 _cutValue,
UInt32 *distances, UInt32 _maxLen, const UInt32 *hash, const UInt32 *limit, UInt32 size, UInt32 *posRes)
{
do
{
UInt32 *_distances = ++distances;
UInt32 delta = *hash++;
CLzRef *ptr0 = son + ((size_t)_cyclicBufferPos << 1) + 1;
CLzRef *ptr1 = son + ((size_t)_cyclicBufferPos << 1);
unsigned len0 = 0, len1 = 0;
UInt32 cutValue = _cutValue;
unsigned maxLen = (unsigned)_maxLen;
/*
if (size > 1)
{
UInt32 delta = *hash;
if (delta < _cyclicBufferSize)
{
UInt32 cyc1 = _cyclicBufferPos + 1;
CLzRef *pair = son + ((size_t)(cyc1 - delta + ((delta > cyc1) ? _cyclicBufferSize : 0)) << 1);
Byte b = *(cur + 1 - delta);
_distances[0] = pair[0];
_distances[1] = b;
}
}
*/
if (cutValue == 0 || delta >= _cyclicBufferSize)
{
*ptr0 = *ptr1 = kEmptyHashValue;
}
else
for(;;)
{
{
CLzRef *pair = son + ((size_t)(_cyclicBufferPos - delta + ((_cyclicBufferPos < delta) ? _cyclicBufferSize : 0)) << 1);
const Byte *pb = cur - delta;
unsigned len = (len0 < len1 ? len0 : len1);
UInt32 pair0 = *pair;
if (pb[len] == cur[len])
{
if (++len != lenLimit && pb[len] == cur[len])
while (++len != lenLimit)
if (pb[len] != cur[len])
break;
if (maxLen < len)
{
maxLen = len;
*distances++ = (UInt32)len;
*distances++ = delta - 1;
if (len == lenLimit)
{
UInt32 pair1 = pair[1];
*ptr1 = pair0;
*ptr0 = pair1;
break;
}
}
}
{
UInt32 curMatch = pos - delta;
// delta = pos - *pair;
// delta = pos - pair[((UInt32)pb[len] - (UInt32)cur[len]) >> 31];
if (pb[len] < cur[len])
{
delta = pos - pair[1];
*ptr1 = curMatch;
ptr1 = pair + 1;
len1 = len;
}
else
{
delta = pos - *pair;
*ptr0 = curMatch;
ptr0 = pair;
len0 = len;
}
}
}
if (--cutValue == 0 || delta >= _cyclicBufferSize)
{
*ptr0 = *ptr1 = kEmptyHashValue;
break;
}
}
pos++;
_cyclicBufferPos++;
cur++;
{
UInt32 num = (UInt32)(distances - _distances);
_distances[-1] = num;
}
}
while (distances < limit && --size != 0);
*posRes = pos;
return distances;
}
#endif
static void BtGetMatches(CMatchFinderMt *p, UInt32 *distances)
{
UInt32 numProcessed = 0;
UInt32 curPos = 2;
UInt32 limit = kMtBtBlockSize - (p->matchMaxLen * 2); // * 2
distances[1] = p->hashNumAvail;
while (curPos < limit)
{
if (p->hashBufPos == p->hashBufPosLimit)
{
MatchFinderMt_GetNextBlock_Hash(p);
distances[1] = numProcessed + p->hashNumAvail;
if (p->hashNumAvail >= p->numHashBytes)
continue;
distances[0] = curPos + p->hashNumAvail;
distances += curPos;
for (; p->hashNumAvail != 0; p->hashNumAvail--)
*distances++ = 0;
return;
}
{
UInt32 size = p->hashBufPosLimit - p->hashBufPos;
UInt32 lenLimit = p->matchMaxLen;
UInt32 pos = p->pos;
UInt32 cyclicBufferPos = p->cyclicBufferPos;
if (lenLimit >= p->hashNumAvail)
lenLimit = p->hashNumAvail;
{
UInt32 size2 = p->hashNumAvail - lenLimit + 1;
if (size2 < size)
size = size2;
size2 = p->cyclicBufferSize - cyclicBufferPos;
if (size2 < size)
size = size2;
}
#ifndef MFMT_GM_INLINE
while (curPos < limit && size-- != 0)
{
UInt32 *startDistances = distances + curPos;
UInt32 num = (UInt32)(GetMatchesSpec1(lenLimit, pos - p->hashBuf[p->hashBufPos++],
pos, p->buffer, p->son, cyclicBufferPos, p->cyclicBufferSize, p->cutValue,
startDistances + 1, p->numHashBytes - 1) - startDistances);
*startDistances = num - 1;
curPos += num;
cyclicBufferPos++;
pos++;
p->buffer++;
}
#else
{
UInt32 posRes;
curPos = (UInt32)(GetMatchesSpecN(lenLimit, pos, p->buffer, p->son, cyclicBufferPos, p->cyclicBufferSize, p->cutValue,
distances + curPos, p->numHashBytes - 1, p->hashBuf + p->hashBufPos,
distances + limit,
size, &posRes) - distances);
p->hashBufPos += posRes - pos;
cyclicBufferPos += posRes - pos;
p->buffer += posRes - pos;
pos = posRes;
}
#endif
numProcessed += pos - p->pos;
p->hashNumAvail -= pos - p->pos;
p->pos = pos;
if (cyclicBufferPos == p->cyclicBufferSize)
cyclicBufferPos = 0;
p->cyclicBufferPos = cyclicBufferPos;
}
}
distances[0] = curPos;
}
static void BtFillBlock(CMatchFinderMt *p, UInt32 globalBlockIndex)
{
CMtSync *sync = &p->hashSync;
if (!sync->needStart)
{
CriticalSection_Enter(&sync->cs);
sync->csWasEntered = True;
}
BtGetMatches(p, p->btBuf + (globalBlockIndex & kMtBtNumBlocksMask) * kMtBtBlockSize);
if (p->pos > kMtMaxValForNormalize - kMtBtBlockSize)
{
UInt32 subValue = p->pos - p->cyclicBufferSize;
MatchFinder_Normalize3(subValue, p->son, (size_t)p->cyclicBufferSize * 2);
p->pos -= subValue;
}
if (!sync->needStart)
{
CriticalSection_Leave(&sync->cs);
sync->csWasEntered = False;
}
}
void BtThreadFunc(CMatchFinderMt *mt)
{
CMtSync *p = &mt->btSync;
for (;;)
{
UInt32 blockIndex = 0;
Event_Wait(&p->canStart);
Event_Set(&p->wasStarted);
for (;;)
{
if (p->exit)
return;
if (p->stopWriting)
{
p->numProcessedBlocks = blockIndex;
MtSync_StopWriting(&mt->hashSync);
Event_Set(&p->wasStopped);
break;
}
Semaphore_Wait(&p->freeSemaphore);
BtFillBlock(mt, blockIndex++);
Semaphore_Release1(&p->filledSemaphore);
}
}
}
void MatchFinderMt_Construct(CMatchFinderMt *p)
{
p->hashBuf = NULL;
MtSync_Construct(&p->hashSync);
MtSync_Construct(&p->btSync);
}
static void MatchFinderMt_FreeMem(CMatchFinderMt *p, ISzAllocPtr alloc)
{
ISzAlloc_Free(alloc, p->hashBuf);
p->hashBuf = NULL;
}
void MatchFinderMt_Destruct(CMatchFinderMt *p, ISzAllocPtr alloc)
{
MtSync_Destruct(&p->hashSync);
MtSync_Destruct(&p->btSync);
MatchFinderMt_FreeMem(p, alloc);
}
#define kHashBufferSize (kMtHashBlockSize * kMtHashNumBlocks)
#define kBtBufferSize (kMtBtBlockSize * kMtBtNumBlocks)
static THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE HashThreadFunc2(void *p) { HashThreadFunc((CMatchFinderMt *)p); return 0; }
static THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE BtThreadFunc2(void *p)
{
Byte allocaDummy[0x180];
unsigned i = 0;
for (i = 0; i < 16; i++)
allocaDummy[i] = (Byte)0;
if (allocaDummy[0] == 0)
BtThreadFunc((CMatchFinderMt *)p);
return 0;
}
SRes MatchFinderMt_Create(CMatchFinderMt *p, UInt32 historySize, UInt32 keepAddBufferBefore,
UInt32 matchMaxLen, UInt32 keepAddBufferAfter, ISzAllocPtr alloc)
{
CMatchFinder *mf = p->MatchFinder;
p->historySize = historySize;
if (kMtBtBlockSize <= matchMaxLen * 4)
return SZ_ERROR_PARAM;
if (!p->hashBuf)
{
p->hashBuf = (UInt32 *)ISzAlloc_Alloc(alloc, (kHashBufferSize + kBtBufferSize) * sizeof(UInt32));
if (!p->hashBuf)
return SZ_ERROR_MEM;
p->btBuf = p->hashBuf + kHashBufferSize;
}
keepAddBufferBefore += (kHashBufferSize + kBtBufferSize);
keepAddBufferAfter += kMtHashBlockSize;
if (!MatchFinder_Create(mf, historySize, keepAddBufferBefore, matchMaxLen, keepAddBufferAfter, alloc))
return SZ_ERROR_MEM;
RINOK(MtSync_Create(&p->hashSync, HashThreadFunc2, p, kMtHashNumBlocks));
RINOK(MtSync_Create(&p->btSync, BtThreadFunc2, p, kMtBtNumBlocks));
return SZ_OK;
}
/* Call it after ReleaseStream / SetStream */
static void MatchFinderMt_Init(CMatchFinderMt *p)
{
CMatchFinder *mf = p->MatchFinder;
p->btBufPos =
p->btBufPosLimit = 0;
p->hashBufPos =
p->hashBufPosLimit = 0;
/* Init without data reading. We don't want to read data in this thread */
MatchFinder_Init_3(mf, False);
MatchFinder_Init_LowHash(mf);
p->pointerToCurPos = Inline_MatchFinder_GetPointerToCurrentPos(mf);
p->btNumAvailBytes = 0;
p->lzPos = p->historySize + 1;
p->hash = mf->hash;
p->fixedHashSize = mf->fixedHashSize;
p->crc = mf->crc;
p->son = mf->son;
p->matchMaxLen = mf->matchMaxLen;
p->numHashBytes = mf->numHashBytes;
p->pos = mf->pos;
p->buffer = mf->buffer;
p->cyclicBufferPos = mf->cyclicBufferPos;
p->cyclicBufferSize = mf->cyclicBufferSize;
p->cutValue = mf->cutValue;
}
/* ReleaseStream is required to finish multithreading */
void MatchFinderMt_ReleaseStream(CMatchFinderMt *p)
{
MtSync_StopWriting(&p->btSync);
/* p->MatchFinder->ReleaseStream(); */
}
static void MatchFinderMt_Normalize(CMatchFinderMt *p)
{
MatchFinder_Normalize3(p->lzPos - p->historySize - 1, p->hash, p->fixedHashSize);
p->lzPos = p->historySize + 1;
}
static void MatchFinderMt_GetNextBlock_Bt(CMatchFinderMt *p)
{
UInt32 blockIndex;
MtSync_GetNextBlock(&p->btSync);
blockIndex = ((p->btSync.numProcessedBlocks - 1) & kMtBtNumBlocksMask);
p->btBufPosLimit = p->btBufPos = blockIndex * kMtBtBlockSize;
p->btBufPosLimit += p->btBuf[p->btBufPos++];
p->btNumAvailBytes = p->btBuf[p->btBufPos++];
if (p->lzPos >= kMtMaxValForNormalize - kMtBtBlockSize)
MatchFinderMt_Normalize(p);
}
static const Byte * MatchFinderMt_GetPointerToCurrentPos(CMatchFinderMt *p)
{
return p->pointerToCurPos;
}
#define GET_NEXT_BLOCK_IF_REQUIRED if (p->btBufPos == p->btBufPosLimit) MatchFinderMt_GetNextBlock_Bt(p);
static UInt32 MatchFinderMt_GetNumAvailableBytes(CMatchFinderMt *p)
{
GET_NEXT_BLOCK_IF_REQUIRED;
return p->btNumAvailBytes;
}
static UInt32 * MixMatches2(CMatchFinderMt *p, UInt32 matchMinPos, UInt32 *distances)
{
UInt32 h2, curMatch2;
UInt32 *hash = p->hash;
const Byte *cur = p->pointerToCurPos;
UInt32 lzPos = p->lzPos;
MT_HASH2_CALC
curMatch2 = hash[h2];
hash[h2] = lzPos;
if (curMatch2 >= matchMinPos)
if (cur[(ptrdiff_t)curMatch2 - lzPos] == cur[0])
{
*distances++ = 2;
*distances++ = lzPos - curMatch2 - 1;
}
return distances;
}
static UInt32 * MixMatches3(CMatchFinderMt *p, UInt32 matchMinPos, UInt32 *distances)
{
UInt32 h2, h3, curMatch2, curMatch3;
UInt32 *hash = p->hash;
const Byte *cur = p->pointerToCurPos;
UInt32 lzPos = p->lzPos;
MT_HASH3_CALC
curMatch2 = hash[ h2];
curMatch3 = (hash + kFix3HashSize)[h3];
hash[ h2] = lzPos;
(hash + kFix3HashSize)[h3] = lzPos;
if (curMatch2 >= matchMinPos && cur[(ptrdiff_t)curMatch2 - lzPos] == cur[0])
{
distances[1] = lzPos - curMatch2 - 1;
if (cur[(ptrdiff_t)curMatch2 - lzPos + 2] == cur[2])
{
distances[0] = 3;
return distances + 2;
}
distances[0] = 2;
distances += 2;
}
if (curMatch3 >= matchMinPos && cur[(ptrdiff_t)curMatch3 - lzPos] == cur[0])
{
*distances++ = 3;
*distances++ = lzPos - curMatch3 - 1;
}
return distances;
}
/*
static UInt32 *MixMatches4(CMatchFinderMt *p, UInt32 matchMinPos, UInt32 *distances)
{
UInt32 h2, h3, h4, curMatch2, curMatch3, curMatch4;
UInt32 *hash = p->hash;
const Byte *cur = p->pointerToCurPos;
UInt32 lzPos = p->lzPos;
MT_HASH4_CALC
curMatch2 = hash[ h2];
curMatch3 = (hash + kFix3HashSize)[h3];
curMatch4 = (hash + kFix4HashSize)[h4];
hash[ h2] = lzPos;
(hash + kFix3HashSize)[h3] = lzPos;
(hash + kFix4HashSize)[h4] = lzPos;
if (curMatch2 >= matchMinPos && cur[(ptrdiff_t)curMatch2 - lzPos] == cur[0])
{
distances[1] = lzPos - curMatch2 - 1;
if (cur[(ptrdiff_t)curMatch2 - lzPos + 2] == cur[2])
{
distances[0] = (cur[(ptrdiff_t)curMatch2 - lzPos + 3] == cur[3]) ? 4 : 3;
return distances + 2;
}
distances[0] = 2;
distances += 2;
}
if (curMatch3 >= matchMinPos && cur[(ptrdiff_t)curMatch3 - lzPos] == cur[0])
{
distances[1] = lzPos - curMatch3 - 1;
if (cur[(ptrdiff_t)curMatch3 - lzPos + 3] == cur[3])
{
distances[0] = 4;
return distances + 2;
}
distances[0] = 3;
distances += 2;
}
if (curMatch4 >= matchMinPos)
if (
cur[(ptrdiff_t)curMatch4 - lzPos] == cur[0] &&
cur[(ptrdiff_t)curMatch4 - lzPos + 3] == cur[3]
)
{
*distances++ = 4;
*distances++ = lzPos - curMatch4 - 1;
}
return distances;
}
*/
#define INCREASE_LZ_POS p->lzPos++; p->pointerToCurPos++;
static UInt32 MatchFinderMt2_GetMatches(CMatchFinderMt *p, UInt32 *distances)
{
const UInt32 *btBuf = p->btBuf + p->btBufPos;
UInt32 len = *btBuf++;
p->btBufPos += 1 + len;
p->btNumAvailBytes--;
{
UInt32 i;
for (i = 0; i < len; i += 2)
{
UInt32 v0 = btBuf[0];
UInt32 v1 = btBuf[1];
btBuf += 2;
distances[0] = v0;
distances[1] = v1;
distances += 2;
}
}
INCREASE_LZ_POS
return len;
}
static UInt32 MatchFinderMt_GetMatches(CMatchFinderMt *p, UInt32 *distances)
{
const UInt32 *btBuf = p->btBuf + p->btBufPos;
UInt32 len = *btBuf++;
p->btBufPos += 1 + len;
if (len == 0)
{
/* change for bt5 ! */
if (p->btNumAvailBytes-- >= 4)
len = (UInt32)(p->MixMatchesFunc(p, p->lzPos - p->historySize, distances) - (distances));
}
else
{
/* Condition: there are matches in btBuf with length < p->numHashBytes */
UInt32 *distances2;
p->btNumAvailBytes--;
distances2 = p->MixMatchesFunc(p, p->lzPos - btBuf[1], distances);
do
{
UInt32 v0 = btBuf[0];
UInt32 v1 = btBuf[1];
btBuf += 2;
distances2[0] = v0;
distances2[1] = v1;
distances2 += 2;
}
while ((len -= 2) != 0);
len = (UInt32)(distances2 - (distances));
}
INCREASE_LZ_POS
return len;
}
#define SKIP_HEADER2_MT do { GET_NEXT_BLOCK_IF_REQUIRED
#define SKIP_HEADER_MT(n) SKIP_HEADER2_MT if (p->btNumAvailBytes-- >= (n)) { const Byte *cur = p->pointerToCurPos; UInt32 *hash = p->hash;
#define SKIP_FOOTER_MT } INCREASE_LZ_POS p->btBufPos += p->btBuf[p->btBufPos] + 1; } while (--num != 0);
static void MatchFinderMt0_Skip(CMatchFinderMt *p, UInt32 num)
{
SKIP_HEADER2_MT { p->btNumAvailBytes--;
SKIP_FOOTER_MT
}
static void MatchFinderMt2_Skip(CMatchFinderMt *p, UInt32 num)
{
SKIP_HEADER_MT(2)
UInt32 h2;
MT_HASH2_CALC
hash[h2] = p->lzPos;
SKIP_FOOTER_MT
}
static void MatchFinderMt3_Skip(CMatchFinderMt *p, UInt32 num)
{
SKIP_HEADER_MT(3)
UInt32 h2, h3;
MT_HASH3_CALC
(hash + kFix3HashSize)[h3] =
hash[ h2] =
p->lzPos;
SKIP_FOOTER_MT
}
/*
static void MatchFinderMt4_Skip(CMatchFinderMt *p, UInt32 num)
{
SKIP_HEADER_MT(4)
UInt32 h2, h3, h4;
MT_HASH4_CALC
(hash + kFix4HashSize)[h4] =
(hash + kFix3HashSize)[h3] =
hash[ h2] =
p->lzPos;
SKIP_FOOTER_MT
}
*/
void MatchFinderMt_CreateVTable(CMatchFinderMt *p, IMatchFinder *vTable)
{
vTable->Init = (Mf_Init_Func)MatchFinderMt_Init;
vTable->GetNumAvailableBytes = (Mf_GetNumAvailableBytes_Func)MatchFinderMt_GetNumAvailableBytes;
vTable->GetPointerToCurrentPos = (Mf_GetPointerToCurrentPos_Func)MatchFinderMt_GetPointerToCurrentPos;
vTable->GetMatches = (Mf_GetMatches_Func)MatchFinderMt_GetMatches;
switch (p->MatchFinder->numHashBytes)
{
case 2:
p->GetHeadsFunc = GetHeads2;
p->MixMatchesFunc = (Mf_Mix_Matches)NULL;
vTable->Skip = (Mf_Skip_Func)MatchFinderMt0_Skip;
vTable->GetMatches = (Mf_GetMatches_Func)MatchFinderMt2_GetMatches;
break;
case 3:
p->GetHeadsFunc = GetHeads3;
p->MixMatchesFunc = (Mf_Mix_Matches)MixMatches2;
vTable->Skip = (Mf_Skip_Func)MatchFinderMt2_Skip;
break;
default:
/* case 4: */
p->GetHeadsFunc = p->MatchFinder->bigHash ? GetHeads4b : GetHeads4;
p->MixMatchesFunc = (Mf_Mix_Matches)MixMatches3;
vTable->Skip = (Mf_Skip_Func)MatchFinderMt3_Skip;
break;
/*
default:
p->GetHeadsFunc = GetHeads5;
p->MixMatchesFunc = (Mf_Mix_Matches)MixMatches4;
vTable->Skip = (Mf_Skip_Func)MatchFinderMt4_Skip;
break;
*/
}
}

101
3rdparty/7z/LzFindMt.h vendored
View file

@ -1,101 +0,0 @@
/* LzFindMt.h -- multithreaded Match finder for LZ algorithms
2018-07-04 : Igor Pavlov : Public domain */
#ifndef __LZ_FIND_MT_H
#define __LZ_FIND_MT_H
#include "LzFind.h"
#include "Threads.h"
EXTERN_C_BEGIN
#define kMtHashBlockSize (1 << 13)
#define kMtHashNumBlocks (1 << 3)
#define kMtHashNumBlocksMask (kMtHashNumBlocks - 1)
#define kMtBtBlockSize (1 << 14)
#define kMtBtNumBlocks (1 << 6)
#define kMtBtNumBlocksMask (kMtBtNumBlocks - 1)
typedef struct _CMtSync
{
BoolInt wasCreated;
BoolInt needStart;
BoolInt exit;
BoolInt stopWriting;
CThread thread;
CAutoResetEvent canStart;
CAutoResetEvent wasStarted;
CAutoResetEvent wasStopped;
CSemaphore freeSemaphore;
CSemaphore filledSemaphore;
BoolInt csWasInitialized;
BoolInt csWasEntered;
CCriticalSection cs;
UInt32 numProcessedBlocks;
} CMtSync;
typedef UInt32 * (*Mf_Mix_Matches)(void *p, UInt32 matchMinPos, UInt32 *distances);
/* kMtCacheLineDummy must be >= size_of_CPU_cache_line */
#define kMtCacheLineDummy 128
typedef void (*Mf_GetHeads)(const Byte *buffer, UInt32 pos,
UInt32 *hash, UInt32 hashMask, UInt32 *heads, UInt32 numHeads, const UInt32 *crc);
typedef struct _CMatchFinderMt
{
/* LZ */
const Byte *pointerToCurPos;
UInt32 *btBuf;
UInt32 btBufPos;
UInt32 btBufPosLimit;
UInt32 lzPos;
UInt32 btNumAvailBytes;
UInt32 *hash;
UInt32 fixedHashSize;
UInt32 historySize;
const UInt32 *crc;
Mf_Mix_Matches MixMatchesFunc;
/* LZ + BT */
CMtSync btSync;
Byte btDummy[kMtCacheLineDummy];
/* BT */
UInt32 *hashBuf;
UInt32 hashBufPos;
UInt32 hashBufPosLimit;
UInt32 hashNumAvail;
CLzRef *son;
UInt32 matchMaxLen;
UInt32 numHashBytes;
UInt32 pos;
const Byte *buffer;
UInt32 cyclicBufferPos;
UInt32 cyclicBufferSize; /* it must be historySize + 1 */
UInt32 cutValue;
/* BT + Hash */
CMtSync hashSync;
/* Byte hashDummy[kMtCacheLineDummy]; */
/* Hash */
Mf_GetHeads GetHeadsFunc;
CMatchFinder *MatchFinder;
} CMatchFinderMt;
void MatchFinderMt_Construct(CMatchFinderMt *p);
void MatchFinderMt_Destruct(CMatchFinderMt *p, ISzAllocPtr alloc);
SRes MatchFinderMt_Create(CMatchFinderMt *p, UInt32 historySize, UInt32 keepAddBufferBefore,
UInt32 matchMaxLen, UInt32 keepAddBufferAfter, ISzAllocPtr alloc);
void MatchFinderMt_CreateVTable(CMatchFinderMt *p, IMatchFinder *vTable);
void MatchFinderMt_ReleaseStream(CMatchFinderMt *p);
EXTERN_C_END
#endif

57
3rdparty/7z/LzHash.h vendored
View file

@ -1,57 +0,0 @@
/* LzHash.h -- HASH functions for LZ algorithms
2015-04-12 : Igor Pavlov : Public domain */
#ifndef __LZ_HASH_H
#define __LZ_HASH_H
#define kHash2Size (1 << 10)
#define kHash3Size (1 << 16)
#define kHash4Size (1 << 20)
#define kFix3HashSize (kHash2Size)
#define kFix4HashSize (kHash2Size + kHash3Size)
#define kFix5HashSize (kHash2Size + kHash3Size + kHash4Size)
#define HASH2_CALC hv = cur[0] | ((UInt32)cur[1] << 8);
#define HASH3_CALC { \
UInt32 temp = p->crc[cur[0]] ^ cur[1]; \
h2 = temp & (kHash2Size - 1); \
hv = (temp ^ ((UInt32)cur[2] << 8)) & p->hashMask; }
#define HASH4_CALC { \
UInt32 temp = p->crc[cur[0]] ^ cur[1]; \
h2 = temp & (kHash2Size - 1); \
temp ^= ((UInt32)cur[2] << 8); \
h3 = temp & (kHash3Size - 1); \
hv = (temp ^ (p->crc[cur[3]] << 5)) & p->hashMask; }
#define HASH5_CALC { \
UInt32 temp = p->crc[cur[0]] ^ cur[1]; \
h2 = temp & (kHash2Size - 1); \
temp ^= ((UInt32)cur[2] << 8); \
h3 = temp & (kHash3Size - 1); \
temp ^= (p->crc[cur[3]] << 5); \
h4 = temp & (kHash4Size - 1); \
hv = (temp ^ (p->crc[cur[4]] << 3)) & p->hashMask; }
/* #define HASH_ZIP_CALC hv = ((cur[0] | ((UInt32)cur[1] << 8)) ^ p->crc[cur[2]]) & 0xFFFF; */
#define HASH_ZIP_CALC hv = ((cur[2] | ((UInt32)cur[0] << 8)) ^ p->crc[cur[1]]) & 0xFFFF;
#define MT_HASH2_CALC \
h2 = (p->crc[cur[0]] ^ cur[1]) & (kHash2Size - 1);
#define MT_HASH3_CALC { \
UInt32 temp = p->crc[cur[0]] ^ cur[1]; \
h2 = temp & (kHash2Size - 1); \
h3 = (temp ^ ((UInt32)cur[2] << 8)) & (kHash3Size - 1); }
#define MT_HASH4_CALC { \
UInt32 temp = p->crc[cur[0]] ^ cur[1]; \
h2 = temp & (kHash2Size - 1); \
temp ^= ((UInt32)cur[2] << 8); \
h3 = temp & (kHash3Size - 1); \
h4 = (temp ^ (p->crc[cur[3]] << 5)) & (kHash4Size - 1); }
#endif

488
3rdparty/7z/Lzma2Dec.c vendored
View file

@ -1,488 +0,0 @@
/* Lzma2Dec.c -- LZMA2 Decoder
2019-02-02 : Igor Pavlov : Public domain */
/* #define SHOW_DEBUG_INFO */
#include "Precomp.h"
#ifdef SHOW_DEBUG_INFO
#include <stdio.h>
#endif
#include <string.h>
#include "Lzma2Dec.h"
/*
00000000 - End of data
00000001 U U - Uncompressed, reset dic, need reset state and set new prop
00000010 U U - Uncompressed, no reset
100uuuuu U U P P - LZMA, no reset
101uuuuu U U P P - LZMA, reset state
110uuuuu U U P P S - LZMA, reset state + set new prop
111uuuuu U U P P S - LZMA, reset state + set new prop, reset dic
u, U - Unpack Size
P - Pack Size
S - Props
*/
#define LZMA2_CONTROL_COPY_RESET_DIC 1
#define LZMA2_IS_UNCOMPRESSED_STATE(p) (((p)->control & (1 << 7)) == 0)
#define LZMA2_LCLP_MAX 4
#define LZMA2_DIC_SIZE_FROM_PROP(p) (((UInt32)2 | ((p) & 1)) << ((p) / 2 + 11))
#ifdef SHOW_DEBUG_INFO
#define PRF(x) x
#else
#define PRF(x)
#endif
typedef enum
{
LZMA2_STATE_CONTROL,
LZMA2_STATE_UNPACK0,
LZMA2_STATE_UNPACK1,
LZMA2_STATE_PACK0,
LZMA2_STATE_PACK1,
LZMA2_STATE_PROP,
LZMA2_STATE_DATA,
LZMA2_STATE_DATA_CONT,
LZMA2_STATE_FINISHED,
LZMA2_STATE_ERROR
} ELzma2State;
static SRes Lzma2Dec_GetOldProps(Byte prop, Byte *props)
{
UInt32 dicSize;
if (prop > 40)
return SZ_ERROR_UNSUPPORTED;
dicSize = (prop == 40) ? 0xFFFFFFFF : LZMA2_DIC_SIZE_FROM_PROP(prop);
props[0] = (Byte)LZMA2_LCLP_MAX;
props[1] = (Byte)(dicSize);
props[2] = (Byte)(dicSize >> 8);
props[3] = (Byte)(dicSize >> 16);
props[4] = (Byte)(dicSize >> 24);
return SZ_OK;
}
SRes Lzma2Dec_AllocateProbs(CLzma2Dec *p, Byte prop, ISzAllocPtr alloc)
{
Byte props[LZMA_PROPS_SIZE];
RINOK(Lzma2Dec_GetOldProps(prop, props));
return LzmaDec_AllocateProbs(&p->decoder, props, LZMA_PROPS_SIZE, alloc);
}
SRes Lzma2Dec_Allocate(CLzma2Dec *p, Byte prop, ISzAllocPtr alloc)
{
Byte props[LZMA_PROPS_SIZE];
RINOK(Lzma2Dec_GetOldProps(prop, props));
return LzmaDec_Allocate(&p->decoder, props, LZMA_PROPS_SIZE, alloc);
}
void Lzma2Dec_Init(CLzma2Dec *p)
{
p->state = LZMA2_STATE_CONTROL;
p->needInitLevel = 0xE0;
p->isExtraMode = False;
p->unpackSize = 0;
// p->decoder.dicPos = 0; // we can use it instead of full init
LzmaDec_Init(&p->decoder);
}
static ELzma2State Lzma2Dec_UpdateState(CLzma2Dec *p, Byte b)
{
switch (p->state)
{
case LZMA2_STATE_CONTROL:
p->isExtraMode = False;
p->control = b;
PRF(printf("\n %8X", (unsigned)p->decoder.dicPos));
PRF(printf(" %02X", (unsigned)b));
if (b == 0)
return LZMA2_STATE_FINISHED;
if (LZMA2_IS_UNCOMPRESSED_STATE(p))
{
if (b == LZMA2_CONTROL_COPY_RESET_DIC)
p->needInitLevel = 0xC0;
else if (b > 2 || p->needInitLevel == 0xE0)
return LZMA2_STATE_ERROR;
}
else
{
if (b < p->needInitLevel)
return LZMA2_STATE_ERROR;
p->needInitLevel = 0;
p->unpackSize = (UInt32)(b & 0x1F) << 16;
}
return LZMA2_STATE_UNPACK0;
case LZMA2_STATE_UNPACK0:
p->unpackSize |= (UInt32)b << 8;
return LZMA2_STATE_UNPACK1;
case LZMA2_STATE_UNPACK1:
p->unpackSize |= (UInt32)b;
p->unpackSize++;
PRF(printf(" %7u", (unsigned)p->unpackSize));
return LZMA2_IS_UNCOMPRESSED_STATE(p) ? LZMA2_STATE_DATA : LZMA2_STATE_PACK0;
case LZMA2_STATE_PACK0:
p->packSize = (UInt32)b << 8;
return LZMA2_STATE_PACK1;
case LZMA2_STATE_PACK1:
p->packSize |= (UInt32)b;
p->packSize++;
// if (p->packSize < 5) return LZMA2_STATE_ERROR;
PRF(printf(" %5u", (unsigned)p->packSize));
return (p->control & 0x40) ? LZMA2_STATE_PROP : LZMA2_STATE_DATA;
case LZMA2_STATE_PROP:
{
unsigned lc, lp;
if (b >= (9 * 5 * 5))
return LZMA2_STATE_ERROR;
lc = b % 9;
b /= 9;
p->decoder.prop.pb = (Byte)(b / 5);
lp = b % 5;
if (lc + lp > LZMA2_LCLP_MAX)
return LZMA2_STATE_ERROR;
p->decoder.prop.lc = (Byte)lc;
p->decoder.prop.lp = (Byte)lp;
return LZMA2_STATE_DATA;
}
}
return LZMA2_STATE_ERROR;
}
static void LzmaDec_UpdateWithUncompressed(CLzmaDec *p, const Byte *src, SizeT size)
{
memcpy(p->dic + p->dicPos, src, size);
p->dicPos += size;
if (p->checkDicSize == 0 && p->prop.dicSize - p->processedPos <= size)
p->checkDicSize = p->prop.dicSize;
p->processedPos += (UInt32)size;
}
void LzmaDec_InitDicAndState(CLzmaDec *p, BoolInt initDic, BoolInt initState);
SRes Lzma2Dec_DecodeToDic(CLzma2Dec *p, SizeT dicLimit,
const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status)
{
SizeT inSize = *srcLen;
*srcLen = 0;
*status = LZMA_STATUS_NOT_SPECIFIED;
while (p->state != LZMA2_STATE_ERROR)
{
SizeT dicPos;
if (p->state == LZMA2_STATE_FINISHED)
{
*status = LZMA_STATUS_FINISHED_WITH_MARK;
return SZ_OK;
}
dicPos = p->decoder.dicPos;
if (dicPos == dicLimit && finishMode == LZMA_FINISH_ANY)
{
*status = LZMA_STATUS_NOT_FINISHED;
return SZ_OK;
}
if (p->state != LZMA2_STATE_DATA && p->state != LZMA2_STATE_DATA_CONT)
{
if (*srcLen == inSize)
{
*status = LZMA_STATUS_NEEDS_MORE_INPUT;
return SZ_OK;
}
(*srcLen)++;
p->state = Lzma2Dec_UpdateState(p, *src++);
if (dicPos == dicLimit && p->state != LZMA2_STATE_FINISHED)
break;
continue;
}
{
SizeT inCur = inSize - *srcLen;
SizeT outCur = dicLimit - dicPos;
ELzmaFinishMode curFinishMode = LZMA_FINISH_ANY;
if (outCur >= p->unpackSize)
{
outCur = (SizeT)p->unpackSize;
curFinishMode = LZMA_FINISH_END;
}
if (LZMA2_IS_UNCOMPRESSED_STATE(p))
{
if (inCur == 0)
{
*status = LZMA_STATUS_NEEDS_MORE_INPUT;
return SZ_OK;
}
if (p->state == LZMA2_STATE_DATA)
{
BoolInt initDic = (p->control == LZMA2_CONTROL_COPY_RESET_DIC);
LzmaDec_InitDicAndState(&p->decoder, initDic, False);
}
if (inCur > outCur)
inCur = outCur;
if (inCur == 0)
break;
LzmaDec_UpdateWithUncompressed(&p->decoder, src, inCur);
src += inCur;
*srcLen += inCur;
p->unpackSize -= (UInt32)inCur;
p->state = (p->unpackSize == 0) ? LZMA2_STATE_CONTROL : LZMA2_STATE_DATA_CONT;
}
else
{
SRes res;
if (p->state == LZMA2_STATE_DATA)
{
BoolInt initDic = (p->control >= 0xE0);
BoolInt initState = (p->control >= 0xA0);
LzmaDec_InitDicAndState(&p->decoder, initDic, initState);
p->state = LZMA2_STATE_DATA_CONT;
}
if (inCur > p->packSize)
inCur = (SizeT)p->packSize;
res = LzmaDec_DecodeToDic(&p->decoder, dicPos + outCur, src, &inCur, curFinishMode, status);
src += inCur;
*srcLen += inCur;
p->packSize -= (UInt32)inCur;
outCur = p->decoder.dicPos - dicPos;
p->unpackSize -= (UInt32)outCur;
if (res != 0)
break;
if (*status == LZMA_STATUS_NEEDS_MORE_INPUT)
{
if (p->packSize == 0)
break;
return SZ_OK;
}
if (inCur == 0 && outCur == 0)
{
if (*status != LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK
|| p->unpackSize != 0
|| p->packSize != 0)
break;
p->state = LZMA2_STATE_CONTROL;
}
*status = LZMA_STATUS_NOT_SPECIFIED;
}
}
}
*status = LZMA_STATUS_NOT_SPECIFIED;
p->state = LZMA2_STATE_ERROR;
return SZ_ERROR_DATA;
}
ELzma2ParseStatus Lzma2Dec_Parse(CLzma2Dec *p,
SizeT outSize,
const Byte *src, SizeT *srcLen,
int checkFinishBlock)
{
SizeT inSize = *srcLen;
*srcLen = 0;
while (p->state != LZMA2_STATE_ERROR)
{
if (p->state == LZMA2_STATE_FINISHED)
return (ELzma2ParseStatus)LZMA_STATUS_FINISHED_WITH_MARK;
if (outSize == 0 && !checkFinishBlock)
return (ELzma2ParseStatus)LZMA_STATUS_NOT_FINISHED;
if (p->state != LZMA2_STATE_DATA && p->state != LZMA2_STATE_DATA_CONT)
{
if (*srcLen == inSize)
return (ELzma2ParseStatus)LZMA_STATUS_NEEDS_MORE_INPUT;
(*srcLen)++;
p->state = Lzma2Dec_UpdateState(p, *src++);
if (p->state == LZMA2_STATE_UNPACK0)
{
// if (p->decoder.dicPos != 0)
if (p->control == LZMA2_CONTROL_COPY_RESET_DIC || p->control >= 0xE0)
return LZMA2_PARSE_STATUS_NEW_BLOCK;
// if (outSize == 0) return LZMA_STATUS_NOT_FINISHED;
}
// The following code can be commented.
// It's not big problem, if we read additional input bytes.
// It will be stopped later in LZMA2_STATE_DATA / LZMA2_STATE_DATA_CONT state.
if (outSize == 0 && p->state != LZMA2_STATE_FINISHED)
{
// checkFinishBlock is true. So we expect that block must be finished,
// We can return LZMA_STATUS_NOT_SPECIFIED or LZMA_STATUS_NOT_FINISHED here
// break;
return (ELzma2ParseStatus)LZMA_STATUS_NOT_FINISHED;
}
if (p->state == LZMA2_STATE_DATA)
return LZMA2_PARSE_STATUS_NEW_CHUNK;
continue;
}
if (outSize == 0)
return (ELzma2ParseStatus)LZMA_STATUS_NOT_FINISHED;
{
SizeT inCur = inSize - *srcLen;
if (LZMA2_IS_UNCOMPRESSED_STATE(p))
{
if (inCur == 0)
return (ELzma2ParseStatus)LZMA_STATUS_NEEDS_MORE_INPUT;
if (inCur > p->unpackSize)
inCur = p->unpackSize;
if (inCur > outSize)
inCur = outSize;
p->decoder.dicPos += inCur;
src += inCur;
*srcLen += inCur;
outSize -= inCur;
p->unpackSize -= (UInt32)inCur;
p->state = (p->unpackSize == 0) ? LZMA2_STATE_CONTROL : LZMA2_STATE_DATA_CONT;
}
else
{
p->isExtraMode = True;
if (inCur == 0)
{
if (p->packSize != 0)
return (ELzma2ParseStatus)LZMA_STATUS_NEEDS_MORE_INPUT;
}
else if (p->state == LZMA2_STATE_DATA)
{
p->state = LZMA2_STATE_DATA_CONT;
if (*src != 0)
{
// first byte of lzma chunk must be Zero
*srcLen += 1;
p->packSize--;
break;
}
}
if (inCur > p->packSize)
inCur = (SizeT)p->packSize;
src += inCur;
*srcLen += inCur;
p->packSize -= (UInt32)inCur;
if (p->packSize == 0)
{
SizeT rem = outSize;
if (rem > p->unpackSize)
rem = p->unpackSize;
p->decoder.dicPos += rem;
p->unpackSize -= (UInt32)rem;
outSize -= rem;
if (p->unpackSize == 0)
p->state = LZMA2_STATE_CONTROL;
}
}
}
}
p->state = LZMA2_STATE_ERROR;
return (ELzma2ParseStatus)LZMA_STATUS_NOT_SPECIFIED;
}
SRes Lzma2Dec_DecodeToBuf(CLzma2Dec *p, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status)
{
SizeT outSize = *destLen, inSize = *srcLen;
*srcLen = *destLen = 0;
for (;;)
{
SizeT inCur = inSize, outCur, dicPos;
ELzmaFinishMode curFinishMode;
SRes res;
if (p->decoder.dicPos == p->decoder.dicBufSize)
p->decoder.dicPos = 0;
dicPos = p->decoder.dicPos;
curFinishMode = LZMA_FINISH_ANY;
outCur = p->decoder.dicBufSize - dicPos;
if (outCur >= outSize)
{
outCur = outSize;
curFinishMode = finishMode;
}
res = Lzma2Dec_DecodeToDic(p, dicPos + outCur, src, &inCur, curFinishMode, status);
src += inCur;
inSize -= inCur;
*srcLen += inCur;
outCur = p->decoder.dicPos - dicPos;
memcpy(dest, p->decoder.dic + dicPos, outCur);
dest += outCur;
outSize -= outCur;
*destLen += outCur;
if (res != 0)
return res;
if (outCur == 0 || outSize == 0)
return SZ_OK;
}
}
SRes Lzma2Decode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
Byte prop, ELzmaFinishMode finishMode, ELzmaStatus *status, ISzAllocPtr alloc)
{
CLzma2Dec p;
SRes res;
SizeT outSize = *destLen, inSize = *srcLen;
*destLen = *srcLen = 0;
*status = LZMA_STATUS_NOT_SPECIFIED;
Lzma2Dec_Construct(&p);
RINOK(Lzma2Dec_AllocateProbs(&p, prop, alloc));
p.decoder.dic = dest;
p.decoder.dicBufSize = outSize;
Lzma2Dec_Init(&p);
*srcLen = inSize;
res = Lzma2Dec_DecodeToDic(&p, outSize, src, srcLen, finishMode, status);
*destLen = p.decoder.dicPos;
if (res == SZ_OK && *status == LZMA_STATUS_NEEDS_MORE_INPUT)
res = SZ_ERROR_INPUT_EOF;
Lzma2Dec_FreeProbs(&p, alloc);
return res;
}

120
3rdparty/7z/Lzma2Dec.h vendored
View file

@ -1,120 +0,0 @@
/* Lzma2Dec.h -- LZMA2 Decoder
2018-02-19 : Igor Pavlov : Public domain */
#ifndef __LZMA2_DEC_H
#define __LZMA2_DEC_H
#include "LzmaDec.h"
EXTERN_C_BEGIN
/* ---------- State Interface ---------- */
typedef struct
{
unsigned state;
Byte control;
Byte needInitLevel;
Byte isExtraMode;
Byte _pad_;
UInt32 packSize;
UInt32 unpackSize;
CLzmaDec decoder;
} CLzma2Dec;
#define Lzma2Dec_Construct(p) LzmaDec_Construct(&(p)->decoder)
#define Lzma2Dec_FreeProbs(p, alloc) LzmaDec_FreeProbs(&(p)->decoder, alloc)
#define Lzma2Dec_Free(p, alloc) LzmaDec_Free(&(p)->decoder, alloc)
SRes Lzma2Dec_AllocateProbs(CLzma2Dec *p, Byte prop, ISzAllocPtr alloc);
SRes Lzma2Dec_Allocate(CLzma2Dec *p, Byte prop, ISzAllocPtr alloc);
void Lzma2Dec_Init(CLzma2Dec *p);
/*
finishMode:
It has meaning only if the decoding reaches output limit (*destLen or dicLimit).
LZMA_FINISH_ANY - use smallest number of input bytes
LZMA_FINISH_END - read EndOfStream marker after decoding
Returns:
SZ_OK
status:
LZMA_STATUS_FINISHED_WITH_MARK
LZMA_STATUS_NOT_FINISHED
LZMA_STATUS_NEEDS_MORE_INPUT
SZ_ERROR_DATA - Data error
*/
SRes Lzma2Dec_DecodeToDic(CLzma2Dec *p, SizeT dicLimit,
const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status);
SRes Lzma2Dec_DecodeToBuf(CLzma2Dec *p, Byte *dest, SizeT *destLen,
const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status);
/* ---------- LZMA2 block and chunk parsing ---------- */
/*
Lzma2Dec_Parse() parses compressed data stream up to next independent block or next chunk data.
It can return LZMA_STATUS_* code or LZMA2_PARSE_STATUS_* code:
- LZMA2_PARSE_STATUS_NEW_BLOCK - there is new block, and 1 additional byte (control byte of next block header) was read from input.
- LZMA2_PARSE_STATUS_NEW_CHUNK - there is new chunk, and only lzma2 header of new chunk was read.
CLzma2Dec::unpackSize contains unpack size of that chunk
*/
typedef enum
{
/*
LZMA_STATUS_NOT_SPECIFIED // data error
LZMA_STATUS_FINISHED_WITH_MARK
LZMA_STATUS_NOT_FINISHED //
LZMA_STATUS_NEEDS_MORE_INPUT
LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK // unused
*/
LZMA2_PARSE_STATUS_NEW_BLOCK = LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK + 1,
LZMA2_PARSE_STATUS_NEW_CHUNK
} ELzma2ParseStatus;
ELzma2ParseStatus Lzma2Dec_Parse(CLzma2Dec *p,
SizeT outSize, // output size
const Byte *src, SizeT *srcLen,
int checkFinishBlock // set (checkFinishBlock = 1), if it must read full input data, if decoder.dicPos reaches blockMax position.
);
/*
LZMA2 parser doesn't decode LZMA chunks, so we must read
full input LZMA chunk to decode some part of LZMA chunk.
Lzma2Dec_GetUnpackExtra() returns the value that shows
max possible number of output bytes that can be output by decoder
at current input positon.
*/
#define Lzma2Dec_GetUnpackExtra(p) ((p)->isExtraMode ? (p)->unpackSize : 0);
/* ---------- One Call Interface ---------- */
/*
finishMode:
It has meaning only if the decoding reaches output limit (*destLen).
LZMA_FINISH_ANY - use smallest number of input bytes
LZMA_FINISH_END - read EndOfStream marker after decoding
Returns:
SZ_OK
status:
LZMA_STATUS_FINISHED_WITH_MARK
LZMA_STATUS_NOT_FINISHED
SZ_ERROR_DATA - Data error
SZ_ERROR_MEM - Memory allocation error
SZ_ERROR_UNSUPPORTED - Unsupported properties
SZ_ERROR_INPUT_EOF - It needs more bytes in input buffer (src).
*/
SRes Lzma2Decode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
Byte prop, ELzmaFinishMode finishMode, ELzmaStatus *status, ISzAllocPtr alloc);
EXTERN_C_END
#endif

1082
3rdparty/7z/Lzma2DecMt.c vendored

File diff suppressed because it is too large Load diff

View file

@ -1,79 +0,0 @@
/* Lzma2DecMt.h -- LZMA2 Decoder Multi-thread
2018-02-17 : Igor Pavlov : Public domain */
#ifndef __LZMA2_DEC_MT_H
#define __LZMA2_DEC_MT_H
#include "7zTypes.h"
EXTERN_C_BEGIN
typedef struct
{
size_t inBufSize_ST;
size_t outStep_ST;
#ifndef _7ZIP_ST
unsigned numThreads;
size_t inBufSize_MT;
size_t outBlockMax;
size_t inBlockMax;
#endif
} CLzma2DecMtProps;
/* init to single-thread mode */
void Lzma2DecMtProps_Init(CLzma2DecMtProps *p);
/* ---------- CLzma2DecMtHandle Interface ---------- */
/* Lzma2DecMt_ * functions can return the following exit codes:
SRes:
SZ_OK - OK
SZ_ERROR_MEM - Memory allocation error
SZ_ERROR_PARAM - Incorrect paramater in props
SZ_ERROR_WRITE - ISeqOutStream write callback error
// SZ_ERROR_OUTPUT_EOF - output buffer overflow - version with (Byte *) output
SZ_ERROR_PROGRESS - some break from progress callback
SZ_ERROR_THREAD - error in multithreading functions (only for Mt version)
*/
typedef void * CLzma2DecMtHandle;
CLzma2DecMtHandle Lzma2DecMt_Create(ISzAllocPtr alloc, ISzAllocPtr allocMid);
void Lzma2DecMt_Destroy(CLzma2DecMtHandle p);
SRes Lzma2DecMt_Decode(CLzma2DecMtHandle p,
Byte prop,
const CLzma2DecMtProps *props,
ISeqOutStream *outStream,
const UInt64 *outDataSize, // NULL means undefined
int finishMode, // 0 - partial unpacking is allowed, 1 - if lzma2 stream must be finished
// Byte *outBuf, size_t *outBufSize,
ISeqInStream *inStream,
// const Byte *inData, size_t inDataSize,
// out variables:
UInt64 *inProcessed,
int *isMT, /* out: (*isMT == 0), if single thread decoding was used */
// UInt64 *outProcessed,
ICompressProgress *progress);
/* ---------- Read from CLzma2DecMtHandle Interface ---------- */
SRes Lzma2DecMt_Init(CLzma2DecMtHandle pp,
Byte prop,
const CLzma2DecMtProps *props,
const UInt64 *outDataSize, int finishMode,
ISeqInStream *inStream);
SRes Lzma2DecMt_Read(CLzma2DecMtHandle pp,
Byte *data, size_t *outSize,
UInt64 *inStreamProcessed);
EXTERN_C_END
#endif

803
3rdparty/7z/Lzma2Enc.c vendored
View file

@ -1,803 +0,0 @@
/* Lzma2Enc.c -- LZMA2 Encoder
2018-07-04 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include <string.h>
/* #define _7ZIP_ST */
#include "Lzma2Enc.h"
#ifndef _7ZIP_ST
#include "MtCoder.h"
#else
#define MTCODER__THREADS_MAX 1
#endif
#define LZMA2_CONTROL_LZMA (1 << 7)
#define LZMA2_CONTROL_COPY_NO_RESET 2
#define LZMA2_CONTROL_COPY_RESET_DIC 1
#define LZMA2_CONTROL_EOF 0
#define LZMA2_LCLP_MAX 4
#define LZMA2_DIC_SIZE_FROM_PROP(p) (((UInt32)2 | ((p) & 1)) << ((p) / 2 + 11))
#define LZMA2_PACK_SIZE_MAX (1 << 16)
#define LZMA2_COPY_CHUNK_SIZE LZMA2_PACK_SIZE_MAX
#define LZMA2_UNPACK_SIZE_MAX (1 << 21)
#define LZMA2_KEEP_WINDOW_SIZE LZMA2_UNPACK_SIZE_MAX
#define LZMA2_CHUNK_SIZE_COMPRESSED_MAX ((1 << 16) + 16)
#define PRF(x) /* x */
/* ---------- CLimitedSeqInStream ---------- */
typedef struct
{
ISeqInStream vt;
ISeqInStream *realStream;
UInt64 limit;
UInt64 processed;
int finished;
} CLimitedSeqInStream;
static void LimitedSeqInStream_Init(CLimitedSeqInStream *p)
{
p->limit = (UInt64)(Int64)-1;
p->processed = 0;
p->finished = 0;
}
static SRes LimitedSeqInStream_Read(const ISeqInStream *pp, void *data, size_t *size)
{
CLimitedSeqInStream *p = CONTAINER_FROM_VTBL(pp, CLimitedSeqInStream, vt);
size_t size2 = *size;
SRes res = SZ_OK;
if (p->limit != (UInt64)(Int64)-1)
{
UInt64 rem = p->limit - p->processed;
if (size2 > rem)
size2 = (size_t)rem;
}
if (size2 != 0)
{
res = ISeqInStream_Read(p->realStream, data, &size2);
p->finished = (size2 == 0 ? 1 : 0);
p->processed += size2;
}
*size = size2;
return res;
}
/* ---------- CLzma2EncInt ---------- */
typedef struct
{
CLzmaEncHandle enc;
Byte propsAreSet;
Byte propsByte;
Byte needInitState;
Byte needInitProp;
UInt64 srcPos;
} CLzma2EncInt;
static SRes Lzma2EncInt_InitStream(CLzma2EncInt *p, const CLzma2EncProps *props)
{
if (!p->propsAreSet)
{
SizeT propsSize = LZMA_PROPS_SIZE;
Byte propsEncoded[LZMA_PROPS_SIZE];
RINOK(LzmaEnc_SetProps(p->enc, &props->lzmaProps));
RINOK(LzmaEnc_WriteProperties(p->enc, propsEncoded, &propsSize));
p->propsByte = propsEncoded[0];
p->propsAreSet = True;
}
return SZ_OK;
}
static void Lzma2EncInt_InitBlock(CLzma2EncInt *p)
{
p->srcPos = 0;
p->needInitState = True;
p->needInitProp = True;
}
SRes LzmaEnc_PrepareForLzma2(CLzmaEncHandle pp, ISeqInStream *inStream, UInt32 keepWindowSize,
ISzAllocPtr alloc, ISzAllocPtr allocBig);
SRes LzmaEnc_MemPrepare(CLzmaEncHandle pp, const Byte *src, SizeT srcLen,
UInt32 keepWindowSize, ISzAllocPtr alloc, ISzAllocPtr allocBig);
SRes LzmaEnc_CodeOneMemBlock(CLzmaEncHandle pp, BoolInt reInit,
Byte *dest, size_t *destLen, UInt32 desiredPackSize, UInt32 *unpackSize);
const Byte *LzmaEnc_GetCurBuf(CLzmaEncHandle pp);
void LzmaEnc_Finish(CLzmaEncHandle pp);
void LzmaEnc_SaveState(CLzmaEncHandle pp);
void LzmaEnc_RestoreState(CLzmaEncHandle pp);
/*
UInt32 LzmaEnc_GetNumAvailableBytes(CLzmaEncHandle pp);
*/
static SRes Lzma2EncInt_EncodeSubblock(CLzma2EncInt *p, Byte *outBuf,
size_t *packSizeRes, ISeqOutStream *outStream)
{
size_t packSizeLimit = *packSizeRes;
size_t packSize = packSizeLimit;
UInt32 unpackSize = LZMA2_UNPACK_SIZE_MAX;
unsigned lzHeaderSize = 5 + (p->needInitProp ? 1 : 0);
BoolInt useCopyBlock;
SRes res;
*packSizeRes = 0;
if (packSize < lzHeaderSize)
return SZ_ERROR_OUTPUT_EOF;
packSize -= lzHeaderSize;
LzmaEnc_SaveState(p->enc);
res = LzmaEnc_CodeOneMemBlock(p->enc, p->needInitState,
outBuf + lzHeaderSize, &packSize, LZMA2_PACK_SIZE_MAX, &unpackSize);
PRF(printf("\npackSize = %7d unpackSize = %7d ", packSize, unpackSize));
if (unpackSize == 0)
return res;
if (res == SZ_OK)
useCopyBlock = (packSize + 2 >= unpackSize || packSize > (1 << 16));
else
{
if (res != SZ_ERROR_OUTPUT_EOF)
return res;
res = SZ_OK;
useCopyBlock = True;
}
if (useCopyBlock)
{
size_t destPos = 0;
PRF(printf("################# COPY "));
while (unpackSize > 0)
{
UInt32 u = (unpackSize < LZMA2_COPY_CHUNK_SIZE) ? unpackSize : LZMA2_COPY_CHUNK_SIZE;
if (packSizeLimit - destPos < u + 3)
return SZ_ERROR_OUTPUT_EOF;
outBuf[destPos++] = (Byte)(p->srcPos == 0 ? LZMA2_CONTROL_COPY_RESET_DIC : LZMA2_CONTROL_COPY_NO_RESET);
outBuf[destPos++] = (Byte)((u - 1) >> 8);
outBuf[destPos++] = (Byte)(u - 1);
memcpy(outBuf + destPos, LzmaEnc_GetCurBuf(p->enc) - unpackSize, u);
unpackSize -= u;
destPos += u;
p->srcPos += u;
if (outStream)
{
*packSizeRes += destPos;
if (ISeqOutStream_Write(outStream, outBuf, destPos) != destPos)
return SZ_ERROR_WRITE;
destPos = 0;
}
else
*packSizeRes = destPos;
/* needInitState = True; */
}
LzmaEnc_RestoreState(p->enc);
return SZ_OK;
}
{
size_t destPos = 0;
UInt32 u = unpackSize - 1;
UInt32 pm = (UInt32)(packSize - 1);
unsigned mode = (p->srcPos == 0) ? 3 : (p->needInitState ? (p->needInitProp ? 2 : 1) : 0);
PRF(printf(" "));
outBuf[destPos++] = (Byte)(LZMA2_CONTROL_LZMA | (mode << 5) | ((u >> 16) & 0x1F));
outBuf[destPos++] = (Byte)(u >> 8);
outBuf[destPos++] = (Byte)u;
outBuf[destPos++] = (Byte)(pm >> 8);
outBuf[destPos++] = (Byte)pm;
if (p->needInitProp)
outBuf[destPos++] = p->propsByte;
p->needInitProp = False;
p->needInitState = False;
destPos += packSize;
p->srcPos += unpackSize;
if (outStream)
if (ISeqOutStream_Write(outStream, outBuf, destPos) != destPos)
return SZ_ERROR_WRITE;
*packSizeRes = destPos;
return SZ_OK;
}
}
/* ---------- Lzma2 Props ---------- */
void Lzma2EncProps_Init(CLzma2EncProps *p)
{
LzmaEncProps_Init(&p->lzmaProps);
p->blockSize = LZMA2_ENC_PROPS__BLOCK_SIZE__AUTO;
p->numBlockThreads_Reduced = -1;
p->numBlockThreads_Max = -1;
p->numTotalThreads = -1;
}
void Lzma2EncProps_Normalize(CLzma2EncProps *p)
{
UInt64 fileSize;
int t1, t1n, t2, t2r, t3;
{
CLzmaEncProps lzmaProps = p->lzmaProps;
LzmaEncProps_Normalize(&lzmaProps);
t1n = lzmaProps.numThreads;
}
t1 = p->lzmaProps.numThreads;
t2 = p->numBlockThreads_Max;
t3 = p->numTotalThreads;
if (t2 > MTCODER__THREADS_MAX)
t2 = MTCODER__THREADS_MAX;
if (t3 <= 0)
{
if (t2 <= 0)
t2 = 1;
t3 = t1n * t2;
}
else if (t2 <= 0)
{
t2 = t3 / t1n;
if (t2 == 0)
{
t1 = 1;
t2 = t3;
}
if (t2 > MTCODER__THREADS_MAX)
t2 = MTCODER__THREADS_MAX;
}
else if (t1 <= 0)
{
t1 = t3 / t2;
if (t1 == 0)
t1 = 1;
}
else
t3 = t1n * t2;
p->lzmaProps.numThreads = t1;
t2r = t2;
fileSize = p->lzmaProps.reduceSize;
if ( p->blockSize != LZMA2_ENC_PROPS__BLOCK_SIZE__SOLID
&& p->blockSize != LZMA2_ENC_PROPS__BLOCK_SIZE__AUTO
&& (p->blockSize < fileSize || fileSize == (UInt64)(Int64)-1))
p->lzmaProps.reduceSize = p->blockSize;
LzmaEncProps_Normalize(&p->lzmaProps);
p->lzmaProps.reduceSize = fileSize;
t1 = p->lzmaProps.numThreads;
if (p->blockSize == LZMA2_ENC_PROPS__BLOCK_SIZE__SOLID)
{
t2r = t2 = 1;
t3 = t1;
}
else if (p->blockSize == LZMA2_ENC_PROPS__BLOCK_SIZE__AUTO && t2 <= 1)
{
/* if there is no block multi-threading, we use SOLID block */
p->blockSize = LZMA2_ENC_PROPS__BLOCK_SIZE__SOLID;
}
else
{
if (p->blockSize == LZMA2_ENC_PROPS__BLOCK_SIZE__AUTO)
{
const UInt32 kMinSize = (UInt32)1 << 20;
const UInt32 kMaxSize = (UInt32)1 << 28;
const UInt32 dictSize = p->lzmaProps.dictSize;
UInt64 blockSize = (UInt64)dictSize << 2;
if (blockSize < kMinSize) blockSize = kMinSize;
if (blockSize > kMaxSize) blockSize = kMaxSize;
if (blockSize < dictSize) blockSize = dictSize;
blockSize += (kMinSize - 1);
blockSize &= ~(UInt64)(kMinSize - 1);
p->blockSize = blockSize;
}
if (t2 > 1 && fileSize != (UInt64)(Int64)-1)
{
UInt64 numBlocks = fileSize / p->blockSize;
if (numBlocks * p->blockSize != fileSize)
numBlocks++;
if (numBlocks < (unsigned)t2)
{
t2r = (unsigned)numBlocks;
if (t2r == 0)
t2r = 1;
t3 = t1 * t2r;
}
}
}
p->numBlockThreads_Max = t2;
p->numBlockThreads_Reduced = t2r;
p->numTotalThreads = t3;
}
static SRes Progress(ICompressProgress *p, UInt64 inSize, UInt64 outSize)
{
return (p && ICompressProgress_Progress(p, inSize, outSize) != SZ_OK) ? SZ_ERROR_PROGRESS : SZ_OK;
}
/* ---------- Lzma2 ---------- */
typedef struct
{
Byte propEncoded;
CLzma2EncProps props;
UInt64 expectedDataSize;
Byte *tempBufLzma;
ISzAllocPtr alloc;
ISzAllocPtr allocBig;
CLzma2EncInt coders[MTCODER__THREADS_MAX];
#ifndef _7ZIP_ST
ISeqOutStream *outStream;
Byte *outBuf;
size_t outBuf_Rem; /* remainder in outBuf */
size_t outBufSize; /* size of allocated outBufs[i] */
size_t outBufsDataSizes[MTCODER__BLOCKS_MAX];
BoolInt mtCoder_WasConstructed;
CMtCoder mtCoder;
Byte *outBufs[MTCODER__BLOCKS_MAX];
#endif
} CLzma2Enc;
CLzma2EncHandle Lzma2Enc_Create(ISzAllocPtr alloc, ISzAllocPtr allocBig)
{
CLzma2Enc *p = (CLzma2Enc *)ISzAlloc_Alloc(alloc, sizeof(CLzma2Enc));
if (!p)
return NULL;
Lzma2EncProps_Init(&p->props);
Lzma2EncProps_Normalize(&p->props);
p->expectedDataSize = (UInt64)(Int64)-1;
p->tempBufLzma = NULL;
p->alloc = alloc;
p->allocBig = allocBig;
{
unsigned i;
for (i = 0; i < MTCODER__THREADS_MAX; i++)
p->coders[i].enc = NULL;
}
#ifndef _7ZIP_ST
p->mtCoder_WasConstructed = False;
{
unsigned i;
for (i = 0; i < MTCODER__BLOCKS_MAX; i++)
p->outBufs[i] = NULL;
p->outBufSize = 0;
}
#endif
return p;
}
#ifndef _7ZIP_ST
static void Lzma2Enc_FreeOutBufs(CLzma2Enc *p)
{
unsigned i;
for (i = 0; i < MTCODER__BLOCKS_MAX; i++)
if (p->outBufs[i])
{
ISzAlloc_Free(p->alloc, p->outBufs[i]);
p->outBufs[i] = NULL;
}
p->outBufSize = 0;
}
#endif
void Lzma2Enc_Destroy(CLzma2EncHandle pp)
{
CLzma2Enc *p = (CLzma2Enc *)pp;
unsigned i;
for (i = 0; i < MTCODER__THREADS_MAX; i++)
{
CLzma2EncInt *t = &p->coders[i];
if (t->enc)
{
LzmaEnc_Destroy(t->enc, p->alloc, p->allocBig);
t->enc = NULL;
}
}
#ifndef _7ZIP_ST
if (p->mtCoder_WasConstructed)
{
MtCoder_Destruct(&p->mtCoder);
p->mtCoder_WasConstructed = False;
}
Lzma2Enc_FreeOutBufs(p);
#endif
ISzAlloc_Free(p->alloc, p->tempBufLzma);
p->tempBufLzma = NULL;
ISzAlloc_Free(p->alloc, pp);
}
SRes Lzma2Enc_SetProps(CLzma2EncHandle pp, const CLzma2EncProps *props)
{
CLzma2Enc *p = (CLzma2Enc *)pp;
CLzmaEncProps lzmaProps = props->lzmaProps;
LzmaEncProps_Normalize(&lzmaProps);
if (lzmaProps.lc + lzmaProps.lp > LZMA2_LCLP_MAX)
return SZ_ERROR_PARAM;
p->props = *props;
Lzma2EncProps_Normalize(&p->props);
return SZ_OK;
}
void Lzma2Enc_SetDataSize(CLzmaEncHandle pp, UInt64 expectedDataSiize)
{
CLzma2Enc *p = (CLzma2Enc *)pp;
p->expectedDataSize = expectedDataSiize;
}
Byte Lzma2Enc_WriteProperties(CLzma2EncHandle pp)
{
CLzma2Enc *p = (CLzma2Enc *)pp;
unsigned i;
UInt32 dicSize = LzmaEncProps_GetDictSize(&p->props.lzmaProps);
for (i = 0; i < 40; i++)
if (dicSize <= LZMA2_DIC_SIZE_FROM_PROP(i))
break;
return (Byte)i;
}
static SRes Lzma2Enc_EncodeMt1(
CLzma2Enc *me,
CLzma2EncInt *p,
ISeqOutStream *outStream,
Byte *outBuf, size_t *outBufSize,
ISeqInStream *inStream,
const Byte *inData, size_t inDataSize,
int finished,
ICompressProgress *progress)
{
UInt64 unpackTotal = 0;
UInt64 packTotal = 0;
size_t outLim = 0;
CLimitedSeqInStream limitedInStream;
if (outBuf)
{
outLim = *outBufSize;
*outBufSize = 0;
}
if (!p->enc)
{
p->propsAreSet = False;
p->enc = LzmaEnc_Create(me->alloc);
if (!p->enc)
return SZ_ERROR_MEM;
}
limitedInStream.realStream = inStream;
if (inStream)
{
limitedInStream.vt.Read = LimitedSeqInStream_Read;
}
if (!outBuf)
{
// outStream version works only in one thread. So we use CLzma2Enc::tempBufLzma
if (!me->tempBufLzma)
{
me->tempBufLzma = (Byte *)ISzAlloc_Alloc(me->alloc, LZMA2_CHUNK_SIZE_COMPRESSED_MAX);
if (!me->tempBufLzma)
return SZ_ERROR_MEM;
}
}
RINOK(Lzma2EncInt_InitStream(p, &me->props));
for (;;)
{
SRes res = SZ_OK;
size_t inSizeCur = 0;
Lzma2EncInt_InitBlock(p);
LimitedSeqInStream_Init(&limitedInStream);
limitedInStream.limit = me->props.blockSize;
if (inStream)
{
UInt64 expected = (UInt64)(Int64)-1;
// inStream version works only in one thread. So we use CLzma2Enc::expectedDataSize
if (me->expectedDataSize != (UInt64)(Int64)-1
&& me->expectedDataSize >= unpackTotal)
expected = me->expectedDataSize - unpackTotal;
if (me->props.blockSize != LZMA2_ENC_PROPS__BLOCK_SIZE__SOLID
&& expected > me->props.blockSize)
expected = (size_t)me->props.blockSize;
LzmaEnc_SetDataSize(p->enc, expected);
RINOK(LzmaEnc_PrepareForLzma2(p->enc,
&limitedInStream.vt,
LZMA2_KEEP_WINDOW_SIZE,
me->alloc,
me->allocBig));
}
else
{
inSizeCur = inDataSize - (size_t)unpackTotal;
if (me->props.blockSize != LZMA2_ENC_PROPS__BLOCK_SIZE__SOLID
&& inSizeCur > me->props.blockSize)
inSizeCur = (size_t)me->props.blockSize;
// LzmaEnc_SetDataSize(p->enc, inSizeCur);
RINOK(LzmaEnc_MemPrepare(p->enc,
inData + (size_t)unpackTotal, inSizeCur,
LZMA2_KEEP_WINDOW_SIZE,
me->alloc,
me->allocBig));
}
for (;;)
{
size_t packSize = LZMA2_CHUNK_SIZE_COMPRESSED_MAX;
if (outBuf)
packSize = outLim - (size_t)packTotal;
res = Lzma2EncInt_EncodeSubblock(p,
outBuf ? outBuf + (size_t)packTotal : me->tempBufLzma, &packSize,
outBuf ? NULL : outStream);
if (res != SZ_OK)
break;
packTotal += packSize;
if (outBuf)
*outBufSize = (size_t)packTotal;
res = Progress(progress, unpackTotal + p->srcPos, packTotal);
if (res != SZ_OK)
break;
/*
if (LzmaEnc_GetNumAvailableBytes(p->enc) == 0)
break;
*/
if (packSize == 0)
break;
}
LzmaEnc_Finish(p->enc);
unpackTotal += p->srcPos;
RINOK(res);
if (p->srcPos != (inStream ? limitedInStream.processed : inSizeCur))
return SZ_ERROR_FAIL;
if (inStream ? limitedInStream.finished : (unpackTotal == inDataSize))
{
if (finished)
{
if (outBuf)
{
size_t destPos = *outBufSize;
if (destPos >= outLim)
return SZ_ERROR_OUTPUT_EOF;
outBuf[destPos] = 0;
*outBufSize = destPos + 1;
}
else
{
Byte b = 0;
if (ISeqOutStream_Write(outStream, &b, 1) != 1)
return SZ_ERROR_WRITE;
}
}
return SZ_OK;
}
}
}
#ifndef _7ZIP_ST
static SRes Lzma2Enc_MtCallback_Code(void *pp, unsigned coderIndex, unsigned outBufIndex,
const Byte *src, size_t srcSize, int finished)
{
CLzma2Enc *me = (CLzma2Enc *)pp;
size_t destSize = me->outBufSize;
SRes res;
CMtProgressThunk progressThunk;
Byte *dest = me->outBufs[outBufIndex];
me->outBufsDataSizes[outBufIndex] = 0;
if (!dest)
{
dest = (Byte *)ISzAlloc_Alloc(me->alloc, me->outBufSize);
if (!dest)
return SZ_ERROR_MEM;
me->outBufs[outBufIndex] = dest;
}
MtProgressThunk_CreateVTable(&progressThunk);
progressThunk.mtProgress = &me->mtCoder.mtProgress;
progressThunk.inSize = 0;
progressThunk.outSize = 0;
res = Lzma2Enc_EncodeMt1(me,
&me->coders[coderIndex],
NULL, dest, &destSize,
NULL, src, srcSize,
finished,
&progressThunk.vt);
me->outBufsDataSizes[outBufIndex] = destSize;
return res;
}
static SRes Lzma2Enc_MtCallback_Write(void *pp, unsigned outBufIndex)
{
CLzma2Enc *me = (CLzma2Enc *)pp;
size_t size = me->outBufsDataSizes[outBufIndex];
const Byte *data = me->outBufs[outBufIndex];
if (me->outStream)
return ISeqOutStream_Write(me->outStream, data, size) == size ? SZ_OK : SZ_ERROR_WRITE;
if (size > me->outBuf_Rem)
return SZ_ERROR_OUTPUT_EOF;
memcpy(me->outBuf, data, size);
me->outBuf_Rem -= size;
me->outBuf += size;
return SZ_OK;
}
#endif
SRes Lzma2Enc_Encode2(CLzma2EncHandle pp,
ISeqOutStream *outStream,
Byte *outBuf, size_t *outBufSize,
ISeqInStream *inStream,
const Byte *inData, size_t inDataSize,
ICompressProgress *progress)
{
CLzma2Enc *p = (CLzma2Enc *)pp;
if (inStream && inData)
return SZ_ERROR_PARAM;
if (outStream && outBuf)
return SZ_ERROR_PARAM;
{
unsigned i;
for (i = 0; i < MTCODER__THREADS_MAX; i++)
p->coders[i].propsAreSet = False;
}
#ifndef _7ZIP_ST
if (p->props.numBlockThreads_Reduced > 1)
{
IMtCoderCallback2 vt;
if (!p->mtCoder_WasConstructed)
{
p->mtCoder_WasConstructed = True;
MtCoder_Construct(&p->mtCoder);
}
vt.Code = Lzma2Enc_MtCallback_Code;
vt.Write = Lzma2Enc_MtCallback_Write;
p->outStream = outStream;
p->outBuf = NULL;
p->outBuf_Rem = 0;
if (!outStream)
{
p->outBuf = outBuf;
p->outBuf_Rem = *outBufSize;
*outBufSize = 0;
}
p->mtCoder.allocBig = p->allocBig;
p->mtCoder.progress = progress;
p->mtCoder.inStream = inStream;
p->mtCoder.inData = inData;
p->mtCoder.inDataSize = inDataSize;
p->mtCoder.mtCallback = &vt;
p->mtCoder.mtCallbackObject = p;
p->mtCoder.blockSize = (size_t)p->props.blockSize;
if (p->mtCoder.blockSize != p->props.blockSize)
return SZ_ERROR_PARAM; /* SZ_ERROR_MEM */
{
size_t destBlockSize = p->mtCoder.blockSize + (p->mtCoder.blockSize >> 10) + 16;
if (destBlockSize < p->mtCoder.blockSize)
return SZ_ERROR_PARAM;
if (p->outBufSize != destBlockSize)
Lzma2Enc_FreeOutBufs(p);
p->outBufSize = destBlockSize;
}
p->mtCoder.numThreadsMax = p->props.numBlockThreads_Max;
p->mtCoder.expectedDataSize = p->expectedDataSize;
{
SRes res = MtCoder_Code(&p->mtCoder);
if (!outStream)
*outBufSize = p->outBuf - outBuf;
return res;
}
}
#endif
return Lzma2Enc_EncodeMt1(p,
&p->coders[0],
outStream, outBuf, outBufSize,
inStream, inData, inDataSize,
True, /* finished */
progress);
}

View file

@ -1,55 +0,0 @@
/* Lzma2Enc.h -- LZMA2 Encoder
2017-07-27 : Igor Pavlov : Public domain */
#ifndef __LZMA2_ENC_H
#define __LZMA2_ENC_H
#include "LzmaEnc.h"
EXTERN_C_BEGIN
#define LZMA2_ENC_PROPS__BLOCK_SIZE__AUTO 0
#define LZMA2_ENC_PROPS__BLOCK_SIZE__SOLID ((UInt64)(Int64)-1)
typedef struct
{
CLzmaEncProps lzmaProps;
UInt64 blockSize;
int numBlockThreads_Reduced;
int numBlockThreads_Max;
int numTotalThreads;
} CLzma2EncProps;
void Lzma2EncProps_Init(CLzma2EncProps *p);
void Lzma2EncProps_Normalize(CLzma2EncProps *p);
/* ---------- CLzmaEnc2Handle Interface ---------- */
/* Lzma2Enc_* functions can return the following exit codes:
SRes:
SZ_OK - OK
SZ_ERROR_MEM - Memory allocation error
SZ_ERROR_PARAM - Incorrect paramater in props
SZ_ERROR_WRITE - ISeqOutStream write callback error
SZ_ERROR_OUTPUT_EOF - output buffer overflow - version with (Byte *) output
SZ_ERROR_PROGRESS - some break from progress callback
SZ_ERROR_THREAD - error in multithreading functions (only for Mt version)
*/
typedef void * CLzma2EncHandle;
CLzma2EncHandle Lzma2Enc_Create(ISzAllocPtr alloc, ISzAllocPtr allocBig);
void Lzma2Enc_Destroy(CLzma2EncHandle p);
SRes Lzma2Enc_SetProps(CLzma2EncHandle p, const CLzma2EncProps *props);
void Lzma2Enc_SetDataSize(CLzma2EncHandle p, UInt64 expectedDataSiize);
Byte Lzma2Enc_WriteProperties(CLzma2EncHandle p);
SRes Lzma2Enc_Encode2(CLzma2EncHandle p,
ISeqOutStream *outStream,
Byte *outBuf, size_t *outBufSize,
ISeqInStream *inStream,
const Byte *inData, size_t inDataSize,
ICompressProgress *progress);
EXTERN_C_END
#endif

111
3rdparty/7z/Lzma86.h vendored
View file

@ -1,111 +0,0 @@
/* Lzma86.h -- LZMA + x86 (BCJ) Filter
2013-01-18 : Igor Pavlov : Public domain */
#ifndef __LZMA86_H
#define __LZMA86_H
#include "7zTypes.h"
EXTERN_C_BEGIN
#define LZMA86_SIZE_OFFSET (1 + 5)
#define LZMA86_HEADER_SIZE (LZMA86_SIZE_OFFSET + 8)
/*
It's an example for LZMA + x86 Filter use.
You can use .lzma86 extension, if you write that stream to file.
.lzma86 header adds one additional byte to standard .lzma header.
.lzma86 header (14 bytes):
Offset Size Description
0 1 = 0 - no filter, pure LZMA
= 1 - x86 filter + LZMA
1 1 lc, lp and pb in encoded form
2 4 dictSize (little endian)
6 8 uncompressed size (little endian)
Lzma86_Encode
-------------
level - compression level: 0 <= level <= 9, the default value for "level" is 5.
dictSize - The dictionary size in bytes. The maximum value is
128 MB = (1 << 27) bytes for 32-bit version
1 GB = (1 << 30) bytes for 64-bit version
The default value is 16 MB = (1 << 24) bytes, for level = 5.
It's recommended to use the dictionary that is larger than 4 KB and
that can be calculated as (1 << N) or (3 << N) sizes.
For better compression ratio dictSize must be >= inSize.
filterMode:
SZ_FILTER_NO - no Filter
SZ_FILTER_YES - x86 Filter
SZ_FILTER_AUTO - it tries both alternatives to select best.
Encoder will use 2 or 3 passes:
2 passes when FILTER_NO provides better compression.
3 passes when FILTER_YES provides better compression.
Lzma86Encode allocates Data with MyAlloc functions.
RAM Requirements for compressing:
RamSize = dictionarySize * 11.5 + 6MB + FilterBlockSize
filterMode FilterBlockSize
SZ_FILTER_NO 0
SZ_FILTER_YES inSize
SZ_FILTER_AUTO inSize
Return code:
SZ_OK - OK
SZ_ERROR_MEM - Memory allocation error
SZ_ERROR_PARAM - Incorrect paramater
SZ_ERROR_OUTPUT_EOF - output buffer overflow
SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version)
*/
enum ESzFilterMode
{
SZ_FILTER_NO,
SZ_FILTER_YES,
SZ_FILTER_AUTO
};
SRes Lzma86_Encode(Byte *dest, size_t *destLen, const Byte *src, size_t srcLen,
int level, UInt32 dictSize, int filterMode);
/*
Lzma86_GetUnpackSize:
In:
src - input data
srcLen - input data size
Out:
unpackSize - size of uncompressed stream
Return code:
SZ_OK - OK
SZ_ERROR_INPUT_EOF - Error in headers
*/
SRes Lzma86_GetUnpackSize(const Byte *src, SizeT srcLen, UInt64 *unpackSize);
/*
Lzma86_Decode:
In:
dest - output data
destLen - output data size
src - input data
srcLen - input data size
Out:
destLen - processed output size
srcLen - processed input size
Return code:
SZ_OK - OK
SZ_ERROR_DATA - Data error
SZ_ERROR_MEM - Memory allocation error
SZ_ERROR_UNSUPPORTED - unsupported file
SZ_ERROR_INPUT_EOF - it needs more bytes in input buffer
*/
SRes Lzma86_Decode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen);
EXTERN_C_END
#endif

View file

@ -1,54 +0,0 @@
/* Lzma86Dec.c -- LZMA + x86 (BCJ) Filter Decoder
2016-05-16 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "Lzma86.h"
#include "Alloc.h"
#include "Bra.h"
#include "LzmaDec.h"
SRes Lzma86_GetUnpackSize(const Byte *src, SizeT srcLen, UInt64 *unpackSize)
{
unsigned i;
if (srcLen < LZMA86_HEADER_SIZE)
return SZ_ERROR_INPUT_EOF;
*unpackSize = 0;
for (i = 0; i < sizeof(UInt64); i++)
*unpackSize += ((UInt64)src[LZMA86_SIZE_OFFSET + i]) << (8 * i);
return SZ_OK;
}
SRes Lzma86_Decode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen)
{
SRes res;
int useFilter;
SizeT inSizePure;
ELzmaStatus status;
if (*srcLen < LZMA86_HEADER_SIZE)
return SZ_ERROR_INPUT_EOF;
useFilter = src[0];
if (useFilter > 1)
{
*destLen = 0;
return SZ_ERROR_UNSUPPORTED;
}
inSizePure = *srcLen - LZMA86_HEADER_SIZE;
res = LzmaDecode(dest, destLen, src + LZMA86_HEADER_SIZE, &inSizePure,
src + 1, LZMA_PROPS_SIZE, LZMA_FINISH_ANY, &status, &g_Alloc);
*srcLen = inSizePure + LZMA86_HEADER_SIZE;
if (res != SZ_OK)
return res;
if (useFilter == 1)
{
UInt32 x86State;
x86_Convert_Init(x86State);
x86_Convert(dest, *destLen, 0, &x86State, 0);
}
return SZ_OK;
}

View file

@ -1,106 +0,0 @@
/* Lzma86Enc.c -- LZMA + x86 (BCJ) Filter Encoder
2018-07-04 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include <string.h>
#include "Lzma86.h"
#include "Alloc.h"
#include "Bra.h"
#include "LzmaEnc.h"
#define SZE_OUT_OVERFLOW SZE_DATA_ERROR
int Lzma86_Encode(Byte *dest, size_t *destLen, const Byte *src, size_t srcLen,
int level, UInt32 dictSize, int filterMode)
{
size_t outSize2 = *destLen;
Byte *filteredStream;
BoolInt useFilter;
int mainResult = SZ_ERROR_OUTPUT_EOF;
CLzmaEncProps props;
LzmaEncProps_Init(&props);
props.level = level;
props.dictSize = dictSize;
*destLen = 0;
if (outSize2 < LZMA86_HEADER_SIZE)
return SZ_ERROR_OUTPUT_EOF;
{
int i;
UInt64 t = srcLen;
for (i = 0; i < 8; i++, t >>= 8)
dest[LZMA86_SIZE_OFFSET + i] = (Byte)t;
}
filteredStream = 0;
useFilter = (filterMode != SZ_FILTER_NO);
if (useFilter)
{
if (srcLen != 0)
{
filteredStream = (Byte *)MyAlloc(srcLen);
if (filteredStream == 0)
return SZ_ERROR_MEM;
memcpy(filteredStream, src, srcLen);
}
{
UInt32 x86State;
x86_Convert_Init(x86State);
x86_Convert(filteredStream, srcLen, 0, &x86State, 1);
}
}
{
size_t minSize = 0;
BoolInt bestIsFiltered = False;
/* passes for SZ_FILTER_AUTO:
0 - BCJ + LZMA
1 - LZMA
2 - BCJ + LZMA agaian, if pass 0 (BCJ + LZMA) is better.
*/
int numPasses = (filterMode == SZ_FILTER_AUTO) ? 3 : 1;
int i;
for (i = 0; i < numPasses; i++)
{
size_t outSizeProcessed = outSize2 - LZMA86_HEADER_SIZE;
size_t outPropsSize = 5;
SRes curRes;
BoolInt curModeIsFiltered = (numPasses > 1 && i == numPasses - 1);
if (curModeIsFiltered && !bestIsFiltered)
break;
if (useFilter && i == 0)
curModeIsFiltered = True;
curRes = LzmaEncode(dest + LZMA86_HEADER_SIZE, &outSizeProcessed,
curModeIsFiltered ? filteredStream : src, srcLen,
&props, dest + 1, &outPropsSize, 0,
NULL, &g_Alloc, &g_Alloc);
if (curRes != SZ_ERROR_OUTPUT_EOF)
{
if (curRes != SZ_OK)
{
mainResult = curRes;
break;
}
if (outSizeProcessed <= minSize || mainResult != SZ_OK)
{
minSize = outSizeProcessed;
bestIsFiltered = curModeIsFiltered;
mainResult = SZ_OK;
}
}
}
dest[0] = (Byte)(bestIsFiltered ? 1 : 0);
*destLen = LZMA86_HEADER_SIZE + minSize;
}
if (useFilter)
MyFree(filteredStream);
return mainResult;
}

1185
3rdparty/7z/LzmaDec.c vendored

File diff suppressed because it is too large Load diff

234
3rdparty/7z/LzmaDec.h vendored
View file

@ -1,234 +0,0 @@
/* LzmaDec.h -- LZMA Decoder
2018-04-21 : Igor Pavlov : Public domain */
#ifndef __LZMA_DEC_H
#define __LZMA_DEC_H
#include "7zTypes.h"
EXTERN_C_BEGIN
/* #define _LZMA_PROB32 */
/* _LZMA_PROB32 can increase the speed on some CPUs,
but memory usage for CLzmaDec::probs will be doubled in that case */
typedef
#ifdef _LZMA_PROB32
UInt32
#else
UInt16
#endif
CLzmaProb;
/* ---------- LZMA Properties ---------- */
#define LZMA_PROPS_SIZE 5
typedef struct _CLzmaProps
{
Byte lc;
Byte lp;
Byte pb;
Byte _pad_;
UInt32 dicSize;
} CLzmaProps;
/* LzmaProps_Decode - decodes properties
Returns:
SZ_OK
SZ_ERROR_UNSUPPORTED - Unsupported properties
*/
SRes LzmaProps_Decode(CLzmaProps *p, const Byte *data, unsigned size);
/* ---------- LZMA Decoder state ---------- */
/* LZMA_REQUIRED_INPUT_MAX = number of required input bytes for worst case.
Num bits = log2((2^11 / 31) ^ 22) + 26 < 134 + 26 = 160; */
#define LZMA_REQUIRED_INPUT_MAX 20
typedef struct
{
/* Don't change this structure. ASM code can use it. */
CLzmaProps prop;
CLzmaProb *probs;
CLzmaProb *probs_1664;
Byte *dic;
SizeT dicBufSize;
SizeT dicPos;
const Byte *buf;
UInt32 range;
UInt32 code;
UInt32 processedPos;
UInt32 checkDicSize;
UInt32 reps[4];
UInt32 state;
UInt32 remainLen;
UInt32 numProbs;
unsigned tempBufSize;
Byte tempBuf[LZMA_REQUIRED_INPUT_MAX];
} CLzmaDec;
#define LzmaDec_Construct(p) { (p)->dic = NULL; (p)->probs = NULL; }
void LzmaDec_Init(CLzmaDec *p);
/* There are two types of LZMA streams:
- Stream with end mark. That end mark adds about 6 bytes to compressed size.
- Stream without end mark. You must know exact uncompressed size to decompress such stream. */
typedef enum
{
LZMA_FINISH_ANY, /* finish at any point */
LZMA_FINISH_END /* block must be finished at the end */
} ELzmaFinishMode;
/* ELzmaFinishMode has meaning only if the decoding reaches output limit !!!
You must use LZMA_FINISH_END, when you know that current output buffer
covers last bytes of block. In other cases you must use LZMA_FINISH_ANY.
If LZMA decoder sees end marker before reaching output limit, it returns SZ_OK,
and output value of destLen will be less than output buffer size limit.
You can check status result also.
You can use multiple checks to test data integrity after full decompression:
1) Check Result and "status" variable.
2) Check that output(destLen) = uncompressedSize, if you know real uncompressedSize.
3) Check that output(srcLen) = compressedSize, if you know real compressedSize.
You must use correct finish mode in that case. */
typedef enum
{
LZMA_STATUS_NOT_SPECIFIED, /* use main error code instead */
LZMA_STATUS_FINISHED_WITH_MARK, /* stream was finished with end mark. */
LZMA_STATUS_NOT_FINISHED, /* stream was not finished */
LZMA_STATUS_NEEDS_MORE_INPUT, /* you must provide more input bytes */
LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK /* there is probability that stream was finished without end mark */
} ELzmaStatus;
/* ELzmaStatus is used only as output value for function call */
/* ---------- Interfaces ---------- */
/* There are 3 levels of interfaces:
1) Dictionary Interface
2) Buffer Interface
3) One Call Interface
You can select any of these interfaces, but don't mix functions from different
groups for same object. */
/* There are two variants to allocate state for Dictionary Interface:
1) LzmaDec_Allocate / LzmaDec_Free
2) LzmaDec_AllocateProbs / LzmaDec_FreeProbs
You can use variant 2, if you set dictionary buffer manually.
For Buffer Interface you must always use variant 1.
LzmaDec_Allocate* can return:
SZ_OK
SZ_ERROR_MEM - Memory allocation error
SZ_ERROR_UNSUPPORTED - Unsupported properties
*/
SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAllocPtr alloc);
void LzmaDec_FreeProbs(CLzmaDec *p, ISzAllocPtr alloc);
SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAllocPtr alloc);
void LzmaDec_Free(CLzmaDec *p, ISzAllocPtr alloc);
/* ---------- Dictionary Interface ---------- */
/* You can use it, if you want to eliminate the overhead for data copying from
dictionary to some other external buffer.
You must work with CLzmaDec variables directly in this interface.
STEPS:
LzmaDec_Construct()
LzmaDec_Allocate()
for (each new stream)
{
LzmaDec_Init()
while (it needs more decompression)
{
LzmaDec_DecodeToDic()
use data from CLzmaDec::dic and update CLzmaDec::dicPos
}
}
LzmaDec_Free()
*/
/* LzmaDec_DecodeToDic
The decoding to internal dictionary buffer (CLzmaDec::dic).
You must manually update CLzmaDec::dicPos, if it reaches CLzmaDec::dicBufSize !!!
finishMode:
It has meaning only if the decoding reaches output limit (dicLimit).
LZMA_FINISH_ANY - Decode just dicLimit bytes.
LZMA_FINISH_END - Stream must be finished after dicLimit.
Returns:
SZ_OK
status:
LZMA_STATUS_FINISHED_WITH_MARK
LZMA_STATUS_NOT_FINISHED
LZMA_STATUS_NEEDS_MORE_INPUT
LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK
SZ_ERROR_DATA - Data error
*/
SRes LzmaDec_DecodeToDic(CLzmaDec *p, SizeT dicLimit,
const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status);
/* ---------- Buffer Interface ---------- */
/* It's zlib-like interface.
See LzmaDec_DecodeToDic description for information about STEPS and return results,
but you must use LzmaDec_DecodeToBuf instead of LzmaDec_DecodeToDic and you don't need
to work with CLzmaDec variables manually.
finishMode:
It has meaning only if the decoding reaches output limit (*destLen).
LZMA_FINISH_ANY - Decode just destLen bytes.
LZMA_FINISH_END - Stream must be finished after (*destLen).
*/
SRes LzmaDec_DecodeToBuf(CLzmaDec *p, Byte *dest, SizeT *destLen,
const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status);
/* ---------- One Call Interface ---------- */
/* LzmaDecode
finishMode:
It has meaning only if the decoding reaches output limit (*destLen).
LZMA_FINISH_ANY - Decode just destLen bytes.
LZMA_FINISH_END - Stream must be finished after (*destLen).
Returns:
SZ_OK
status:
LZMA_STATUS_FINISHED_WITH_MARK
LZMA_STATUS_NOT_FINISHED
LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK
SZ_ERROR_DATA - Data error
SZ_ERROR_MEM - Memory allocation error
SZ_ERROR_UNSUPPORTED - Unsupported properties
SZ_ERROR_INPUT_EOF - It needs more bytes in input buffer (src).
*/
SRes LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode,
ELzmaStatus *status, ISzAllocPtr alloc);
EXTERN_C_END
#endif

2976
3rdparty/7z/LzmaEnc.c vendored

File diff suppressed because it is too large Load diff

76
3rdparty/7z/LzmaEnc.h vendored
View file

@ -1,76 +0,0 @@
/* LzmaEnc.h -- LZMA Encoder
2017-07-27 : Igor Pavlov : Public domain */
#ifndef __LZMA_ENC_H
#define __LZMA_ENC_H
#include "7zTypes.h"
EXTERN_C_BEGIN
#define LZMA_PROPS_SIZE 5
typedef struct _CLzmaEncProps
{
int level; /* 0 <= level <= 9 */
UInt32 dictSize; /* (1 << 12) <= dictSize <= (1 << 27) for 32-bit version
(1 << 12) <= dictSize <= (3 << 29) for 64-bit version
default = (1 << 24) */
int lc; /* 0 <= lc <= 8, default = 3 */
int lp; /* 0 <= lp <= 4, default = 0 */
int pb; /* 0 <= pb <= 4, default = 2 */
int algo; /* 0 - fast, 1 - normal, default = 1 */
int fb; /* 5 <= fb <= 273, default = 32 */
int btMode; /* 0 - hashChain Mode, 1 - binTree mode - normal, default = 1 */
int numHashBytes; /* 2, 3 or 4, default = 4 */
UInt32 mc; /* 1 <= mc <= (1 << 30), default = 32 */
unsigned writeEndMark; /* 0 - do not write EOPM, 1 - write EOPM, default = 0 */
int numThreads; /* 1 or 2, default = 2 */
UInt64 reduceSize; /* estimated size of data that will be compressed. default = (UInt64)(Int64)-1.
Encoder uses this value to reduce dictionary size */
} CLzmaEncProps;
void LzmaEncProps_Init(CLzmaEncProps *p);
void LzmaEncProps_Normalize(CLzmaEncProps *p);
UInt32 LzmaEncProps_GetDictSize(const CLzmaEncProps *props2);
/* ---------- CLzmaEncHandle Interface ---------- */
/* LzmaEnc* functions can return the following exit codes:
SRes:
SZ_OK - OK
SZ_ERROR_MEM - Memory allocation error
SZ_ERROR_PARAM - Incorrect paramater in props
SZ_ERROR_WRITE - ISeqOutStream write callback error
SZ_ERROR_OUTPUT_EOF - output buffer overflow - version with (Byte *) output
SZ_ERROR_PROGRESS - some break from progress callback
SZ_ERROR_THREAD - error in multithreading functions (only for Mt version)
*/
typedef void * CLzmaEncHandle;
CLzmaEncHandle LzmaEnc_Create(ISzAllocPtr alloc);
void LzmaEnc_Destroy(CLzmaEncHandle p, ISzAllocPtr alloc, ISzAllocPtr allocBig);
SRes LzmaEnc_SetProps(CLzmaEncHandle p, const CLzmaEncProps *props);
void LzmaEnc_SetDataSize(CLzmaEncHandle p, UInt64 expectedDataSiize);
SRes LzmaEnc_WriteProperties(CLzmaEncHandle p, Byte *properties, SizeT *size);
unsigned LzmaEnc_IsWriteEndMark(CLzmaEncHandle p);
SRes LzmaEnc_Encode(CLzmaEncHandle p, ISeqOutStream *outStream, ISeqInStream *inStream,
ICompressProgress *progress, ISzAllocPtr alloc, ISzAllocPtr allocBig);
SRes LzmaEnc_MemEncode(CLzmaEncHandle p, Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
int writeEndMark, ICompressProgress *progress, ISzAllocPtr alloc, ISzAllocPtr allocBig);
/* ---------- One Call Interface ---------- */
SRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen,
const CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark,
ICompressProgress *progress, ISzAllocPtr alloc, ISzAllocPtr allocBig);
EXTERN_C_END
#endif

40
3rdparty/7z/LzmaLib.c vendored
View file

@ -1,40 +0,0 @@
/* LzmaLib.c -- LZMA library wrapper
2015-06-13 : Igor Pavlov : Public domain */
#include "Alloc.h"
#include "LzmaDec.h"
#include "LzmaEnc.h"
#include "LzmaLib.h"
MY_STDAPI LzmaCompress(unsigned char *dest, size_t *destLen, const unsigned char *src, size_t srcLen,
unsigned char *outProps, size_t *outPropsSize,
int level, /* 0 <= level <= 9, default = 5 */
unsigned dictSize, /* use (1 << N) or (3 << N). 4 KB < dictSize <= 128 MB */
int lc, /* 0 <= lc <= 8, default = 3 */
int lp, /* 0 <= lp <= 4, default = 0 */
int pb, /* 0 <= pb <= 4, default = 2 */
int fb, /* 5 <= fb <= 273, default = 32 */
int numThreads /* 1 or 2, default = 2 */
)
{
CLzmaEncProps props;
LzmaEncProps_Init(&props);
props.level = level;
props.dictSize = dictSize;
props.lc = lc;
props.lp = lp;
props.pb = pb;
props.fb = fb;
props.numThreads = numThreads;
return LzmaEncode(dest, destLen, src, srcLen, &props, outProps, outPropsSize, 0,
NULL, &g_Alloc, &g_Alloc);
}
MY_STDAPI LzmaUncompress(unsigned char *dest, size_t *destLen, const unsigned char *src, size_t *srcLen,
const unsigned char *props, size_t propsSize)
{
ELzmaStatus status;
return LzmaDecode(dest, destLen, src, srcLen, props, (unsigned)propsSize, LZMA_FINISH_ANY, &status, &g_Alloc);
}

131
3rdparty/7z/LzmaLib.h vendored
View file

@ -1,131 +0,0 @@
/* LzmaLib.h -- LZMA library interface
2013-01-18 : Igor Pavlov : Public domain */
#ifndef __LZMA_LIB_H
#define __LZMA_LIB_H
#include "7zTypes.h"
EXTERN_C_BEGIN
#define MY_STDAPI int MY_STD_CALL
#define LZMA_PROPS_SIZE 5
/*
RAM requirements for LZMA:
for compression: (dictSize * 11.5 + 6 MB) + state_size
for decompression: dictSize + state_size
state_size = (4 + (1.5 << (lc + lp))) KB
by default (lc=3, lp=0), state_size = 16 KB.
LZMA properties (5 bytes) format
Offset Size Description
0 1 lc, lp and pb in encoded form.
1 4 dictSize (little endian).
*/
/*
LzmaCompress
------------
outPropsSize -
In: the pointer to the size of outProps buffer; *outPropsSize = LZMA_PROPS_SIZE = 5.
Out: the pointer to the size of written properties in outProps buffer; *outPropsSize = LZMA_PROPS_SIZE = 5.
LZMA Encoder will use defult values for any parameter, if it is
-1 for any from: level, loc, lp, pb, fb, numThreads
0 for dictSize
level - compression level: 0 <= level <= 9;
level dictSize algo fb
0: 16 KB 0 32
1: 64 KB 0 32
2: 256 KB 0 32
3: 1 MB 0 32
4: 4 MB 0 32
5: 16 MB 1 32
6: 32 MB 1 32
7+: 64 MB 1 64
The default value for "level" is 5.
algo = 0 means fast method
algo = 1 means normal method
dictSize - The dictionary size in bytes. The maximum value is
128 MB = (1 << 27) bytes for 32-bit version
1 GB = (1 << 30) bytes for 64-bit version
The default value is 16 MB = (1 << 24) bytes.
It's recommended to use the dictionary that is larger than 4 KB and
that can be calculated as (1 << N) or (3 << N) sizes.
lc - The number of literal context bits (high bits of previous literal).
It can be in the range from 0 to 8. The default value is 3.
Sometimes lc=4 gives the gain for big files.
lp - The number of literal pos bits (low bits of current position for literals).
It can be in the range from 0 to 4. The default value is 0.
The lp switch is intended for periodical data when the period is equal to 2^lp.
For example, for 32-bit (4 bytes) periodical data you can use lp=2. Often it's
better to set lc=0, if you change lp switch.
pb - The number of pos bits (low bits of current position).
It can be in the range from 0 to 4. The default value is 2.
The pb switch is intended for periodical data when the period is equal 2^pb.
fb - Word size (the number of fast bytes).
It can be in the range from 5 to 273. The default value is 32.
Usually, a big number gives a little bit better compression ratio and
slower compression process.
numThreads - The number of thereads. 1 or 2. The default value is 2.
Fast mode (algo = 0) can use only 1 thread.
Out:
destLen - processed output size
Returns:
SZ_OK - OK
SZ_ERROR_MEM - Memory allocation error
SZ_ERROR_PARAM - Incorrect paramater
SZ_ERROR_OUTPUT_EOF - output buffer overflow
SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version)
*/
MY_STDAPI LzmaCompress(unsigned char *dest, size_t *destLen, const unsigned char *src, size_t srcLen,
unsigned char *outProps, size_t *outPropsSize, /* *outPropsSize must be = 5 */
int level, /* 0 <= level <= 9, default = 5 */
unsigned dictSize, /* default = (1 << 24) */
int lc, /* 0 <= lc <= 8, default = 3 */
int lp, /* 0 <= lp <= 4, default = 0 */
int pb, /* 0 <= pb <= 4, default = 2 */
int fb, /* 5 <= fb <= 273, default = 32 */
int numThreads /* 1 or 2, default = 2 */
);
/*
LzmaUncompress
--------------
In:
dest - output data
destLen - output data size
src - input data
srcLen - input data size
Out:
destLen - processed output size
srcLen - processed input size
Returns:
SZ_OK - OK
SZ_ERROR_DATA - Data error
SZ_ERROR_MEM - Memory allocation arror
SZ_ERROR_UNSUPPORTED - Unsupported properties
SZ_ERROR_INPUT_EOF - it needs more bytes in input buffer (src)
*/
MY_STDAPI LzmaUncompress(unsigned char *dest, size_t *destLen, const unsigned char *src, SizeT *srcLen,
const unsigned char *props, size_t propsSize);
EXTERN_C_END
#endif

601
3rdparty/7z/MtCoder.c vendored
View file

@ -1,601 +0,0 @@
/* MtCoder.c -- Multi-thread Coder
2018-07-04 : Igor Pavlov : Public domain */
#include "Precomp.h"
#include "MtCoder.h"
#ifndef _7ZIP_ST
SRes MtProgressThunk_Progress(const ICompressProgress *pp, UInt64 inSize, UInt64 outSize)
{
CMtProgressThunk *thunk = CONTAINER_FROM_VTBL(pp, CMtProgressThunk, vt);
UInt64 inSize2 = 0;
UInt64 outSize2 = 0;
if (inSize != (UInt64)(Int64)-1)
{
inSize2 = inSize - thunk->inSize;
thunk->inSize = inSize;
}
if (outSize != (UInt64)(Int64)-1)
{
outSize2 = outSize - thunk->outSize;
thunk->outSize = outSize;
}
return MtProgress_ProgressAdd(thunk->mtProgress, inSize2, outSize2);
}
void MtProgressThunk_CreateVTable(CMtProgressThunk *p)
{
p->vt.Progress = MtProgressThunk_Progress;
}
#define RINOK_THREAD(x) { if ((x) != 0) return SZ_ERROR_THREAD; }
static WRes ArEvent_OptCreate_And_Reset(CEvent *p)
{
if (Event_IsCreated(p))
return Event_Reset(p);
return AutoResetEvent_CreateNotSignaled(p);
}
static THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE ThreadFunc(void *pp);
static SRes MtCoderThread_CreateAndStart(CMtCoderThread *t)
{
WRes wres = ArEvent_OptCreate_And_Reset(&t->startEvent);
if (wres == 0)
{
t->stop = False;
if (!Thread_WasCreated(&t->thread))
wres = Thread_Create(&t->thread, ThreadFunc, t);
if (wres == 0)
wres = Event_Set(&t->startEvent);
}
if (wres == 0)
return SZ_OK;
return MY_SRes_HRESULT_FROM_WRes(wres);
}
static void MtCoderThread_Destruct(CMtCoderThread *t)
{
if (Thread_WasCreated(&t->thread))
{
t->stop = 1;
Event_Set(&t->startEvent);
Thread_Wait(&t->thread);
Thread_Close(&t->thread);
}
Event_Close(&t->startEvent);
if (t->inBuf)
{
ISzAlloc_Free(t->mtCoder->allocBig, t->inBuf);
t->inBuf = NULL;
}
}
static SRes FullRead(ISeqInStream *stream, Byte *data, size_t *processedSize)
{
size_t size = *processedSize;
*processedSize = 0;
while (size != 0)
{
size_t cur = size;
SRes res = ISeqInStream_Read(stream, data, &cur);
*processedSize += cur;
data += cur;
size -= cur;
RINOK(res);
if (cur == 0)
return SZ_OK;
}
return SZ_OK;
}
/*
ThreadFunc2() returns:
SZ_OK - in all normal cases (even for stream error or memory allocation error)
SZ_ERROR_THREAD - in case of failure in system synch function
*/
static SRes ThreadFunc2(CMtCoderThread *t)
{
CMtCoder *mtc = t->mtCoder;
for (;;)
{
unsigned bi;
SRes res;
SRes res2;
BoolInt finished;
unsigned bufIndex;
size_t size;
const Byte *inData;
UInt64 readProcessed = 0;
RINOK_THREAD(Event_Wait(&mtc->readEvent))
/* after Event_Wait(&mtc->readEvent) we must call Event_Set(&mtc->readEvent) in any case to unlock another threads */
if (mtc->stopReading)
{
return Event_Set(&mtc->readEvent) == 0 ? SZ_OK : SZ_ERROR_THREAD;
}
res = MtProgress_GetError(&mtc->mtProgress);
size = 0;
inData = NULL;
finished = True;
if (res == SZ_OK)
{
size = mtc->blockSize;
if (mtc->inStream)
{
if (!t->inBuf)
{
t->inBuf = (Byte *)ISzAlloc_Alloc(mtc->allocBig, mtc->blockSize);
if (!t->inBuf)
res = SZ_ERROR_MEM;
}
if (res == SZ_OK)
{
res = FullRead(mtc->inStream, t->inBuf, &size);
readProcessed = mtc->readProcessed + size;
mtc->readProcessed = readProcessed;
}
if (res != SZ_OK)
{
mtc->readRes = res;
/* after reading error - we can stop encoding of previous blocks */
MtProgress_SetError(&mtc->mtProgress, res);
}
else
finished = (size != mtc->blockSize);
}
else
{
size_t rem;
readProcessed = mtc->readProcessed;
rem = mtc->inDataSize - (size_t)readProcessed;
if (size > rem)
size = rem;
inData = mtc->inData + (size_t)readProcessed;
readProcessed += size;
mtc->readProcessed = readProcessed;
finished = (mtc->inDataSize == (size_t)readProcessed);
}
}
/* we must get some block from blocksSemaphore before Event_Set(&mtc->readEvent) */
res2 = SZ_OK;
if (Semaphore_Wait(&mtc->blocksSemaphore) != 0)
{
res2 = SZ_ERROR_THREAD;
if (res == SZ_OK)
{
res = res2;
// MtProgress_SetError(&mtc->mtProgress, res);
}
}
bi = mtc->blockIndex;
if (++mtc->blockIndex >= mtc->numBlocksMax)
mtc->blockIndex = 0;
bufIndex = (unsigned)(int)-1;
if (res == SZ_OK)
res = MtProgress_GetError(&mtc->mtProgress);
if (res != SZ_OK)
finished = True;
if (!finished)
{
if (mtc->numStartedThreads < mtc->numStartedThreadsLimit
&& mtc->expectedDataSize != readProcessed)
{
res = MtCoderThread_CreateAndStart(&mtc->threads[mtc->numStartedThreads]);
if (res == SZ_OK)
mtc->numStartedThreads++;
else
{
MtProgress_SetError(&mtc->mtProgress, res);
finished = True;
}
}
}
if (finished)
mtc->stopReading = True;
RINOK_THREAD(Event_Set(&mtc->readEvent))
if (res2 != SZ_OK)
return res2;
if (res == SZ_OK)
{
CriticalSection_Enter(&mtc->cs);
bufIndex = mtc->freeBlockHead;
mtc->freeBlockHead = mtc->freeBlockList[bufIndex];
CriticalSection_Leave(&mtc->cs);
res = mtc->mtCallback->Code(mtc->mtCallbackObject, t->index, bufIndex,
mtc->inStream ? t->inBuf : inData, size, finished);
// MtProgress_Reinit(&mtc->mtProgress, t->index);
if (res != SZ_OK)
MtProgress_SetError(&mtc->mtProgress, res);
}
{
CMtCoderBlock *block = &mtc->blocks[bi];
block->res = res;
block->bufIndex = bufIndex;
block->finished = finished;
}
#ifdef MTCODER__USE_WRITE_THREAD
RINOK_THREAD(Event_Set(&mtc->writeEvents[bi]))
#else
{
unsigned wi;
{
CriticalSection_Enter(&mtc->cs);
wi = mtc->writeIndex;
if (wi == bi)
mtc->writeIndex = (unsigned)(int)-1;
else
mtc->ReadyBlocks[bi] = True;
CriticalSection_Leave(&mtc->cs);
}
if (wi != bi)
{
if (res != SZ_OK || finished)
return 0;
continue;
}
if (mtc->writeRes != SZ_OK)
res = mtc->writeRes;
for (;;)
{
if (res == SZ_OK && bufIndex != (unsigned)(int)-1)
{
res = mtc->mtCallback->Write(mtc->mtCallbackObject, bufIndex);
if (res != SZ_OK)
{
mtc->writeRes = res;
MtProgress_SetError(&mtc->mtProgress, res);
}
}
if (++wi >= mtc->numBlocksMax)
wi = 0;
{
BoolInt isReady;
CriticalSection_Enter(&mtc->cs);
if (bufIndex != (unsigned)(int)-1)
{
mtc->freeBlockList[bufIndex] = mtc->freeBlockHead;
mtc->freeBlockHead = bufIndex;
}
isReady = mtc->ReadyBlocks[wi];
if (isReady)
mtc->ReadyBlocks[wi] = False;
else
mtc->writeIndex = wi;
CriticalSection_Leave(&mtc->cs);
RINOK_THREAD(Semaphore_Release1(&mtc->blocksSemaphore))
if (!isReady)
break;
}
{
CMtCoderBlock *block = &mtc->blocks[wi];
if (res == SZ_OK && block->res != SZ_OK)
res = block->res;
bufIndex = block->bufIndex;
finished = block->finished;
}
}
}
#endif
if (finished || res != SZ_OK)
return 0;
}
}
static THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE ThreadFunc(void *pp)
{
CMtCoderThread *t = (CMtCoderThread *)pp;
for (;;)
{
if (Event_Wait(&t->startEvent) != 0)
return SZ_ERROR_THREAD;
if (t->stop)
return 0;
{
SRes res = ThreadFunc2(t);
CMtCoder *mtc = t->mtCoder;
if (res != SZ_OK)
{
MtProgress_SetError(&mtc->mtProgress, res);
}
#ifndef MTCODER__USE_WRITE_THREAD
{
unsigned numFinished = (unsigned)InterlockedIncrement(&mtc->numFinishedThreads);
if (numFinished == mtc->numStartedThreads)
if (Event_Set(&mtc->finishedEvent) != 0)
return SZ_ERROR_THREAD;
}
#endif
}
}
}
void MtCoder_Construct(CMtCoder *p)
{
unsigned i;
p->blockSize = 0;
p->numThreadsMax = 0;
p->expectedDataSize = (UInt64)(Int64)-1;
p->inStream = NULL;
p->inData = NULL;
p->inDataSize = 0;
p->progress = NULL;
p->allocBig = NULL;
p->mtCallback = NULL;
p->mtCallbackObject = NULL;
p->allocatedBufsSize = 0;
Event_Construct(&p->readEvent);
Semaphore_Construct(&p->blocksSemaphore);
for (i = 0; i < MTCODER__THREADS_MAX; i++)
{
CMtCoderThread *t = &p->threads[i];
t->mtCoder = p;
t->index = i;
t->inBuf = NULL;
t->stop = False;
Event_Construct(&t->startEvent);
Thread_Construct(&t->thread);
}
#ifdef MTCODER__USE_WRITE_THREAD
for (i = 0; i < MTCODER__BLOCKS_MAX; i++)
Event_Construct(&p->writeEvents[i]);
#else
Event_Construct(&p->finishedEvent);
#endif
CriticalSection_Init(&p->cs);
CriticalSection_Init(&p->mtProgress.cs);
}
static void MtCoder_Free(CMtCoder *p)
{
unsigned i;
/*
p->stopReading = True;
if (Event_IsCreated(&p->readEvent))
Event_Set(&p->readEvent);
*/
for (i = 0; i < MTCODER__THREADS_MAX; i++)
MtCoderThread_Destruct(&p->threads[i]);
Event_Close(&p->readEvent);
Semaphore_Close(&p->blocksSemaphore);
#ifdef MTCODER__USE_WRITE_THREAD
for (i = 0; i < MTCODER__BLOCKS_MAX; i++)
Event_Close(&p->writeEvents[i]);
#else
Event_Close(&p->finishedEvent);
#endif
}
void MtCoder_Destruct(CMtCoder *p)
{
MtCoder_Free(p);
CriticalSection_Delete(&p->cs);
CriticalSection_Delete(&p->mtProgress.cs);
}
SRes MtCoder_Code(CMtCoder *p)
{
unsigned numThreads = p->numThreadsMax;
unsigned numBlocksMax;
unsigned i;
SRes res = SZ_OK;
if (numThreads > MTCODER__THREADS_MAX)
numThreads = MTCODER__THREADS_MAX;
numBlocksMax = MTCODER__GET_NUM_BLOCKS_FROM_THREADS(numThreads);
if (p->blockSize < ((UInt32)1 << 26)) numBlocksMax++;
if (p->blockSize < ((UInt32)1 << 24)) numBlocksMax++;
if (p->blockSize < ((UInt32)1 << 22)) numBlocksMax++;
if (numBlocksMax > MTCODER__BLOCKS_MAX)
numBlocksMax = MTCODER__BLOCKS_MAX;
if (p->blockSize != p->allocatedBufsSize)
{
for (i = 0; i < MTCODER__THREADS_MAX; i++)
{
CMtCoderThread *t = &p->threads[i];
if (t->inBuf)
{
ISzAlloc_Free(p->allocBig, t->inBuf);
t->inBuf = NULL;
}
}
p->allocatedBufsSize = p->blockSize;
}
p->readRes = SZ_OK;
MtProgress_Init(&p->mtProgress, p->progress);
#ifdef MTCODER__USE_WRITE_THREAD
for (i = 0; i < numBlocksMax; i++)
{
RINOK_THREAD(ArEvent_OptCreate_And_Reset(&p->writeEvents[i]));
}
#else
RINOK_THREAD(ArEvent_OptCreate_And_Reset(&p->finishedEvent));
#endif
{
RINOK_THREAD(ArEvent_OptCreate_And_Reset(&p->readEvent));
if (Semaphore_IsCreated(&p->blocksSemaphore))
{
RINOK_THREAD(Semaphore_Close(&p->blocksSemaphore));
}
RINOK_THREAD(Semaphore_Create(&p->blocksSemaphore, numBlocksMax, numBlocksMax));
}
for (i = 0; i < MTCODER__BLOCKS_MAX - 1; i++)
p->freeBlockList[i] = i + 1;
p->freeBlockList[MTCODER__BLOCKS_MAX - 1] = (unsigned)(int)-1;
p->freeBlockHead = 0;
p->readProcessed = 0;
p->blockIndex = 0;
p->numBlocksMax = numBlocksMax;
p->stopReading = False;
#ifndef MTCODER__USE_WRITE_THREAD
p->writeIndex = 0;
p->writeRes = SZ_OK;
for (i = 0; i < MTCODER__BLOCKS_MAX; i++)
p->ReadyBlocks[i] = False;
p->numFinishedThreads = 0;
#endif
p->numStartedThreadsLimit = numThreads;
p->numStartedThreads = 0;
// for (i = 0; i < numThreads; i++)
{
CMtCoderThread *nextThread = &p->threads[p->numStartedThreads++];
RINOK(MtCoderThread_CreateAndStart(nextThread));
}
RINOK_THREAD(Event_Set(&p->readEvent))
#ifdef MTCODER__USE_WRITE_THREAD
{
unsigned bi = 0;
for (;; bi++)
{
if (bi >= numBlocksMax)
bi = 0;
RINOK_THREAD(Event_Wait(&p->writeEvents[bi]))
{
const CMtCoderBlock *block = &p->blocks[bi];
unsigned bufIndex = block->bufIndex;
BoolInt finished = block->finished;
if (res == SZ_OK && block->res != SZ_OK)
res = block->res;
if (bufIndex != (unsigned)(int)-1)
{
if (res == SZ_OK)
{
res = p->mtCallback->Write(p->mtCallbackObject, bufIndex);
if (res != SZ_OK)
MtProgress_SetError(&p->mtProgress, res);
}
CriticalSection_Enter(&p->cs);
{
p->freeBlockList[bufIndex] = p->freeBlockHead;
p->freeBlockHead = bufIndex;
}
CriticalSection_Leave(&p->cs);
}
RINOK_THREAD(Semaphore_Release1(&p->blocksSemaphore))
if (finished)
break;
}
}
}
#else
{
WRes wres = Event_Wait(&p->finishedEvent);
res = MY_SRes_HRESULT_FROM_WRes(wres);
}
#endif
if (res == SZ_OK)
res = p->readRes;
if (res == SZ_OK)
res = p->mtProgress.res;
#ifndef MTCODER__USE_WRITE_THREAD
if (res == SZ_OK)
res = p->writeRes;
#endif
if (res != SZ_OK)
MtCoder_Free(p);
return res;
}
#endif

141
3rdparty/7z/MtCoder.h vendored
View file

@ -1,141 +0,0 @@
/* MtCoder.h -- Multi-thread Coder
2018-07-04 : Igor Pavlov : Public domain */
#ifndef __MT_CODER_H
#define __MT_CODER_H
#include "MtDec.h"
EXTERN_C_BEGIN
/*
if ( defined MTCODER__USE_WRITE_THREAD) : main thread writes all data blocks to output stream
if (not defined MTCODER__USE_WRITE_THREAD) : any coder thread can write data blocks to output stream
*/
/* #define MTCODER__USE_WRITE_THREAD */
#ifndef _7ZIP_ST
#define MTCODER__GET_NUM_BLOCKS_FROM_THREADS(numThreads) ((numThreads) + (numThreads) / 8 + 1)
#define MTCODER__THREADS_MAX 64
#define MTCODER__BLOCKS_MAX (MTCODER__GET_NUM_BLOCKS_FROM_THREADS(MTCODER__THREADS_MAX) + 3)
#else
#define MTCODER__THREADS_MAX 1
#define MTCODER__BLOCKS_MAX 1
#endif
#ifndef _7ZIP_ST
typedef struct
{
ICompressProgress vt;
CMtProgress *mtProgress;
UInt64 inSize;
UInt64 outSize;
} CMtProgressThunk;
void MtProgressThunk_CreateVTable(CMtProgressThunk *p);
#define MtProgressThunk_Init(p) { (p)->inSize = 0; (p)->outSize = 0; }
struct _CMtCoder;
typedef struct
{
struct _CMtCoder *mtCoder;
unsigned index;
int stop;
Byte *inBuf;
CAutoResetEvent startEvent;
CThread thread;
} CMtCoderThread;
typedef struct
{
SRes (*Code)(void *p, unsigned coderIndex, unsigned outBufIndex,
const Byte *src, size_t srcSize, int finished);
SRes (*Write)(void *p, unsigned outBufIndex);
} IMtCoderCallback2;
typedef struct
{
SRes res;
unsigned bufIndex;
BoolInt finished;
} CMtCoderBlock;
typedef struct _CMtCoder
{
/* input variables */
size_t blockSize; /* size of input block */
unsigned numThreadsMax;
UInt64 expectedDataSize;
ISeqInStream *inStream;
const Byte *inData;
size_t inDataSize;
ICompressProgress *progress;
ISzAllocPtr allocBig;
IMtCoderCallback2 *mtCallback;
void *mtCallbackObject;
/* internal variables */
size_t allocatedBufsSize;
CAutoResetEvent readEvent;
CSemaphore blocksSemaphore;
BoolInt stopReading;
SRes readRes;
#ifdef MTCODER__USE_WRITE_THREAD
CAutoResetEvent writeEvents[MTCODER__BLOCKS_MAX];
#else
CAutoResetEvent finishedEvent;
SRes writeRes;
unsigned writeIndex;
Byte ReadyBlocks[MTCODER__BLOCKS_MAX];
LONG numFinishedThreads;
#endif
unsigned numStartedThreadsLimit;
unsigned numStartedThreads;
unsigned numBlocksMax;
unsigned blockIndex;
UInt64 readProcessed;
CCriticalSection cs;
unsigned freeBlockHead;
unsigned freeBlockList[MTCODER__BLOCKS_MAX];
CMtProgress mtProgress;
CMtCoderBlock blocks[MTCODER__BLOCKS_MAX];
CMtCoderThread threads[MTCODER__THREADS_MAX];
} CMtCoder;
void MtCoder_Construct(CMtCoder *p);
void MtCoder_Destruct(CMtCoder *p);
SRes MtCoder_Code(CMtCoder *p);
#endif
EXTERN_C_END
#endif

1138
3rdparty/7z/MtDec.c vendored

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more