Commit Graph

259 Commits

Author SHA1 Message Date
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
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
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
RipleyTom
7c4734c24d Fix SDL CMake warnings 2023-01-27 17:02:13 +01: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
8cf28730cb Update submodules 2023-01-07 21:50:02 +01:00
Megamouse
18b7955384 SDL handler 2022-12-13 11:56:48 +01:00
kd-11
941ecc76a1 ci: Update glslang to sdk-1.3.224.1 2022-12-11 15:21:58 +03: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
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
shinra-electric
5210df6882 [3rdParty] Update MoltenVK to 1.2.231 2022-10-25 07:22:44 +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
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
RipleyTom
eea73deab3 RPCN v0.6 2022-09-27 23:39:54 +03:00
nastys
acc2fea7e3
Update MoltenVK to 250e1f9 and single queue (#12620) 2022-09-20 11:12:27 +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
RipleyTom
f98251a05a Fixes -w leaking 2022-08-30 07:46:42 +02:00
Ani
a74d3005f8
vk: Update FSR from 1.0 to 1.0.2 (#12538) 2022-08-20 17:37:42 +01:00
nastys
2880370047
Update MoltenVK (#12456) 2022-08-07 20:54:31 +01: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
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
sguo35
b37217b181 windows: fix build for asmjit update 2022-07-15 12:37:33 +03:00
sguo35
b13fd68848 [3rdparty] update asmjit dependency 2022-07-15 12:37:33 +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
isJuhn
4262794668 Implement PINE IPC Server 2022-06-19 17:56:50 +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
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
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
RipleyTom
bec0b6e8c3 Add regeneration for system flatbuffers users 2022-05-22 23:43:04 +02:00