1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-25 04:02:42 +01:00
Commit Graph

367 Commits

Author SHA1 Message Date
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
Nekotekina
a2bfd5fcfc Minor AArch64 support changes 2022-05-04 16:12:32 +03:00
RipleyTom
8316469cfc Update libusb to v1.0.26 2022-04-29 02:04:52 +02:00
RipleyTom
d02a8ba2b9 Update flatbuffers to v2.0.6 2022-04-24 19:43:40 +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
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
nastys
b5db0d0397 MoltenVK as a submodule 2022-04-17 17:04:26 +02:00
Megamouse
c803bf1849 soundtouch: fix debug build 2022-04-01 02:24:27 +02: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
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
Vestral
107107107c SoundTouch resampler integration 2022-01-31 21:20:57 +01:00
Megamouse
b0f0641564 Windows Hotfix: Update hidapi 2022-01-26 22:02:27 +01:00
nastys
d2897bc6a0 macOS: Fix DS3 init on Monterey 2022-01-24 20:16:57 +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
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
b950651487 Update wolfssl 2022-01-10 20:34:12 +01:00
nastys
81c2fb508b Fix macOS hidapi CMakeLists 2022-01-04 21:23:53 +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
Nekotekina
cb2748ae08 Update ASMJIT (new upstream API) 2021-12-29 02:45:00 +03:00
Nekotekina
9cfdd8afea Fix builds on additional platforms
LLVMIntelJITEvents is awailable only Windows/Linux
2021-12-27 16:17:53 +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
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
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
陈俊嘉
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
RipleyTom
2248007c9a Add HAVE_SNI definition to curl build for wolfssl 2021-11-11 07:35:59 +01:00
Nekotekina
69f321a471 LLVM 13 2021-11-02 20:11:08 +03:00
Megamouse
7f4b6b1ae7 Qt: Use svg instead of png 2021-10-28 21:01:27 +02:00
Megamouse
e51656e070 Qt: Add camera settings dialog 2021-10-24 11:32:35 +02:00
Megamouse
08011e9b78 cellCamera: Add qt camera handler 2021-10-24 11:32:35 +02: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
RipleyTom
ea9dc9317d rpcn v0.4.0 2021-10-11 22:20:20 +02:00
Megamouse
70308d05f3 Update yaml-cpp 2021-10-05 20:16:11 +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
polar
c6c4aa4634
cmake corrections (#10782) 2021-09-16 13:59:08 +01: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
polar
ee6e4c493d
BUILD: Refactor wolfssl submodule (#10780) 2021-09-01 09:58:05 +02: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
陈俊嘉
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
Lctrs
24d7374a22
support building with system faudio 21.08+ (#10708) 2021-08-15 20:37:05 +01: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
polar
fdc9619e7c
Fixed issue with SDL2 version sometimes casuing build failure (#10599) 2021-07-22 03:11:03 +01: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
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
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
2f361e94dd SPIRV-Tools: Update from 2020.4 to 2020.5 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
polar
285b9dad83
Refactor faudio submodule (#10397)
* updated bad header import
* added faudio shared library option
2021-07-08 21:31:45 +02:00
Megamouse
d0c4b2de9f Rebase hidapi 2021-06-09 23:35:06 +02:00
Eladash
2169e8d935 Implement serialization.hpp, remove cereal submodule
Bump RSX capture version, use new serializer.
2021-06-07 16:28:42 +03:00
polar
6c44664c19
BUILD: Refactor zlib submodule (#10393) 2021-06-02 07:33:50 +02:00
Zion Nimchuk
0fc3e5fa1e Explicitely include CMakeDependantOption for CMAKE_DEPENDANT_OPTION 2021-06-01 16:41:57 +01: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
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
polar
7c7cc3914d
BUILD: Refactor glslang submodule (#10361)
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-29 09:47:51 +03:00
polar
177933e212
Refactor hidapi submodule (#10346)
Co-authored-by: Megamouse <studienricky89@googlemail.com>
2021-05-26 22:03:53 +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
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
polar
ce94a4ecea
BUILD: Refactor libpng submodule (#10238)
* relocate libpng files

* fix cmake build

* fix MSVC build
2021-05-07 10:07:42 +02: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
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
polar
b09b0bc43b
BUILD: Refactor curl submodule (#10228)
* relocate curl files

* fix cmake build

* fix MSVC build
2021-05-01 21:56:56 +02: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
Megamouse
ba35619718 curl: fix visual studio build 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
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
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
p01arst0rm
896db3806d replaced CMAKE_COMPILER_IS_GNUCXX with CMAKE_CXX_COMPILER_ID 2021-04-17 15:54:27 +03: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
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
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
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
JohnHolmesII
9c3e55787e CMake: Update required Qt version 2020-12-30 09:03:24 +03:00
Nekotekina
a4e28df9cf Update hidapi 2020-11-17 15:40:09 +03:00
Nekotekina
1b8bf081b5 Upgrade to LLVM 11 Stable 2020-11-02 21:23:25 +03:00
Bevan Weiss
a0d95a823e
BUGFIX: LibUSB Transfer list deletion (#9084)
It looks like I was too hasty in picking the latest libusb commit (to fix a few Windows build warnings) prior to landing my merged PR.
libusb commit eee6998 had a transfer list bug.  Have just tested on c33990a and it's resolved now.
2020-10-17 13:41:59 +01:00
Bevan Weiss
1e83d2a4e9 LibUSB: Update to upstream master (and turn off YAML_CPP_INSTALL CMake property)
May resolve some outstanding issues around libusb/hidapi (i.e. DS4 not being released on rpcs3 shutdown etc..) or may not.
Fixes three outstanding compile warnings on non-Windows OS... introduces a few more warnings in WindowsOS (issue raised upstream with libusb around WINAPI_CHECK macro)
Re-ordered the 3rd party CMake so libusb is in file order above hidapi (just to have document flow match logical flow)

Also took this opportunity to remove the YAML INSTALL action (by setting YAML_CPP_INSTALL to OFF)
Provided capability to use system library for libusb by providing USE_SYS_LIBUSB option to CMAKE

Tested under:
- [X] Windows 10 2004 OS with DS4 controller
- [X] Windows 10 2004 OS with GCon3 controller
- [X] Linux (Mint 20) with DS4 controller
2020-10-16 22:51:52 +03:00
Bevan Weiss
d962bb018d wolfssl: Add WC_NO_HARDEN suppression to compiler defines, and remove duplicate defines in MSVC
Silence the wolf from telling us:
#warning "For timing resistance / side-channel attack prevention consider using harden options"

Also removed duplicate defines for Visual Studio project, to remove some additional warnings there.
2020-10-10 13:57:24 +03:00
Bevan Weiss
264df11132
xxHash: Update to v0.8.0 xxHash (#8980)
* xxHash: Update to v0.8.0 xxHash

Removed build of XXHSUM test application for xxHash also.
2020-09-27 01:10:31 +01:00
RipleyTom
54493747a8 Updates wolfssl and curl to official repos 2020-09-10 23:09:36 +02:00
RipleyTom
190822c2b2
RPCN Client (#8663) 2020-08-27 20:47:04 +01:00
Bevan Weiss
a11afe05bf MSVC changes
Add support for compilation on x64 toolchain (x86 cl.exe was running out of heap space in vm.cpp)

Also took the opportunity to change compile optimisation from /Ox to /O2, as /O2 provides better optimisation than does /Ox

Also, we shouldn't be explicitely setting compiler tool defines (__cpp_lib_bitops), so remove that from types.h
2020-08-14 18:34:34 +01:00
AniLeo
d4333788e2 glext.h: update from 20180114 to 20200423
Include newly added khrplatform.h as well
2020-05-16 08:29:00 +01:00
kd-11
fb3d5827f0 Fix linux build 2020-05-05 13:18:03 +03:00
Dzmitry Malyshau
b6e52ad975 Fix CMake path to IOKit 2020-04-06 23:23:11 +03:00
Jan Beich
58492ef92d
build/cmake: add option to use system-wide libcurl package (#7882) 2020-03-28 00:49:31 +00:00
Maxim Kulyk
30a8cadf60 [MSVC] Remove unnecessary configurations and properly fix curl 2020-03-26 15:56:40 +03:00
Maxim Kulyk
ec4287cbd3 static RT 2020-03-26 15:21:53 +03:00
Maxim Kulyk
e58fa7d51f Fix curl 2020-03-26 15:21:53 +03:00
Maxim Kulyk
d26c465911 [MSVC] Move libcurl and wolfssl project files
libcurl and wolfssl were moved to rpcs3 source control to make buildsystem changes easier.

common_default.props and common_default_macros.props included to project files.
Int and Out Dirs changed to default:
<OutDir>$(SolutionDir)lib\$(Configuration)-$(Platform)\</OutDir>   <IntDir>$(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\</IntDir>
2020-03-26 15:21:53 +03:00
RipleyTom
af4efafae1 Remove Qt5Network Qt5OpenGL and Qt5QML dependencies 2020-03-22 13:48:43 +03:00
RipleyTom
b1d8bf754e Replace QNetwork operations with libcurl + wolfssl 2020-03-22 13:48:43 +03:00
Nekotekina
04dedb17eb Disable exception handling.
Use -fno-exceptions in cmake.
On MSVC, enable _HAS_EXCEPTION=0.
Cleanup throw/catch from the source.
Create yaml.cpp enclave because it needs exception to work.
Disable thread_local optimizations in logs.cpp (TODO).
Implement cpu_counter for cpu_threads (moved globals).
2020-03-12 16:03:08 +03:00
Nekotekina
5b0476e772 Update LLVM to new llvm-mirror (LLVM 11)
Use clang-cl to build LLVM on Windows.
2020-03-03 18:33:02 +03:00
RipleyTom
4befa36365 Use official libusb repo 2020-02-22 16:02:40 +03:00
Silent
312fc94daa Replace XAudio2 implementation with an unified Xaudio2Redist
This removes dual implementation for 2.7 and 2.8/2.9 interfaces
and also removes reliance on DirectX End User Runtimes for Windows 7.
2020-02-20 23:33:09 +03:00
Zion Nimchuk
aa9055f4c3 Switch the AppImage building over to gcc from clang
Turns out the current version of clang doesn't support the [[likely]] and [[unlikely]] attributes, so to ensure good performance, we'll be switching to gcc, at least for now.
2020-02-19 21:16:32 +03:00
Zion Nimchuk
9d1833c5a8 Bump FAudio depedency, set FAudio to build statically, enable FAudio in the build script 2020-02-19 21:16:32 +03:00
AniLeo
b96f064868 OpenAL: Update to 1.20.1 2020-02-19 21:15:12 +03:00
Zion Nimchuk
896d16ec7b Bump minimum Qt5 version to 5.14.0 in CMake 2020-02-10 21:46:35 +03:00
Silent
aeebcfe141 Fix Debug - LLVM in VS project files 2020-01-31 11:23:55 +03:00
MSuih
ca52c1e2d1 Link Bcrypt with ffmpeg 2020-01-03 21:45:09 +03:00
Nekotekina
2c4ecc55af Update ffmpeg 2020-01-02 00:53:22 +03:00
kd-11
33f7d23571 3rdparty: Update vulkan memory allocator (GPUOpen) 2019-12-30 23:53:10 +03:00
scribam
e735346d26 cmake: Set LLVM_INCLUDE_BENCHMARKS to OFF 2019-11-25 23:08:37 +03:00
Emmanuel Gil Peyrot
7e4d142682 Remove GSL as we don’t use it anymore 2019-11-09 19:30:06 +01:00
Emmanuel Gil Peyrot
25144caf12 Add tcbrindle’s span implementation 2019-11-09 19:30:06 +01:00
Max
8c3d2363bf [msbuild] 7zlib msbuild changes
- move project file to 3rdparty for consistency
 - add common_default props
 - fixes 7zlib.vcxproj.FileListAbsolute.txt being detected as change
2019-10-28 18:59:16 +03:00
msuih
a4d8cab67e Qt version bump
Also gives a tip about the Qt5_DIR definition.
2019-10-26 21:23:38 +03:00
Oschowa
9e753e1ffd 3rdparty: update FAudio to 19.10
and add 'ignore = dirty' to faudio submodule
2019-10-25 00:56:53 +03:00
Oschowa
d8ff7c759b 3rdparty: only build FAudio with SDL >= 2.0.9 2019-10-25 00:56:53 +03:00
Oschowa
06433d614a Implement FAudio backend (#6374) 2019-10-24 22:26:29 +03:00
Megamouse
5b59c18dcc Qt: multithreaded icon resize 2019-10-24 00:26:07 +02:00
Nekotekina
6e19881b82 Update LLVM (10) 2019-10-23 16:01:14 +03:00
kd-11
00bc3fe658 Drop d3d12 backend 2019-10-22 21:45:14 +03:00
RipleyTom
9f9ac4b696 Auto-updater 2019-10-22 01:51:50 +02:00
RipleyTom
56e6dd1c46 Adds 7z sdk to 3rdparty 2019-10-22 01:51:50 +02:00
max
c5440c95c8 [MSbuild] Extend support to v142 toolset
- Added support for current default toolset, explitly specified c++17 standard and 8.1 win sdk.
  - properties were defined via `common_default.props` and `common_default_macros.props`
 Note: There are 2 files because some properties need to be imported before `Microsoft.Cpp.Default.props` , but other common properties can be imported after but they require marco defined in `Microsoft.Cpp.Default.props`.
- Added hidapi and libusb project files to repository to simplify msbuild changes.
2019-08-17 23:30:23 +03:00
msuih
1e0289bcb2 Update libusb 2019-07-01 04:33:23 +03:00
scribam
8646e90832 3rdparty: Update stb_image.h and stb_truetype.h 2019-06-09 23:43:57 +01:00
scribam
b190e1f50b 3rdparty/vk: Update VulkanMemoryAllocator to version v2.2.0 2019-06-09 23:43:57 +01:00
Nekotekina
a6cde36dc4 Link LLVMAsmParser library 2019-05-19 17:46:55 +03:00
msuih
af86d1d77a Fix timespec for MSVC 2019-04-11 16:29:48 +03:00
Nekotekina
d873802b9c Use LLVM 9
Use new add/sub with saturation intrinsics
2019-03-30 01:36:48 +03:00
Jan Beich
1f845a3634 Don't try to build libusb on FreeBSD
CMake Error at 3rdparty/libusb/libusb/os/CMakeLists.txt:90 (message):
  Unsupported platform FreeBSD.  Currently only support Windows, OSX, &
  Linux.
2019-03-19 22:24:49 +03:00
RipleyTom
f2aaad11bb Adds libusb 2019-03-18 19:05:02 +03:00
Nekotekina
8623899499 Update 3rdparty/libpng 2019-03-13 01:34:55 +03:00
Nekotekina
6d4c9f2d41 Update 3rdparty/yaml-cpp 2019-03-13 01:33:23 +03:00
Nekotekina
30636f0199 Update 3rdparty/xxHash 2019-03-13 01:32:00 +03:00
Nekotekina
0aa9243557 Update 3rdparty/pugixml 2019-03-13 01:29:31 +03:00
Rui Pinheiro
f90646ec88 Update OpenAL to 1.19.1 2019-01-12 21:29:56 +03:00
Zion Nimchuk
b5cbe02f4d Add CMake switch for disabling Discord Rich Presence and fix no llvm build 2018-12-20 11:29:35 +01:00
Michał Janiszewski
1001831c8e Update hidapi to address mingw compilation issues
Includes https://github.com/RPCS3/hidapi/pull/5 to fix
https://github.com/RPCS3/rpcs3/issues/5375
2018-12-02 23:59:41 +03:00
Michał Janiszewski
62c9920f2e Improve path to discord-rpc with non-MSVC
The path is set in 96cabeadff/3rdparty/CMakeLists.txt (L159)
2018-12-01 14:17:19 +03:00
vit9696
634a5fa31c Fix macOS compilation 2018-11-19 14:39:33 +03:00
Nekotekina
4a252e750f Rebase LLVM fork 2018-10-01 21:10:10 +03:00
Jan Beich
1c8fc6852a build/cmake: build everything with -pthread, not just GLEW
error: POSIX thread support was disabled in PCH file but is currently enabled
2018-09-22 10:35:45 +03:00
Jan Beich
1133fbb017 build/cmake: add hidapi include directory on libusb platforms as well
3rdparty/hidapi/libusb/hid.c:52:10: fatal error: 'hidapi.h' file not found
 #include "hidapi.h"
          ^~~~~~~~~~
2018-09-22 10:35:45 +03:00
Lassi Hämäläinen
7aef811ff7 CMake: Refactor CMake build (#5032)
* CMake: Refactor build to multiple libraries

- Refactor CMake build system by creating separate libraries for
  different components
- Create interface libraries for most dependencies and add 3rdparty::*
  ALIAS targets for ease of use and use them to try specifying correct
  dependencies for each target
- Prefer 3rdparty:: ALIAS when linking dependencies
- Exclude xxHash subdirectory from ALL build target
- Add USE_SYSTEM_ZLIB option to select between using included ZLib and
  the ZLib in CMake search path

* Add cstring include to Log.cpp

* CMake: Add 3rdparty::glew interface target

* Add Visual Studio CMakeSettings.json to gitignore

* CMake: Move building and finding LLVM to 3rdparty/llvm.cmake script

- LLVM is now built under 3rdparty/ directory in the binary directory

* CMake: Move finding Qt5 to 3rdparty/qt5.cmake script

- Script has to be included in rpcs3/CMakeLists.txt because it defines
  Qt5::moc target which isn't available in that folder if it is
  included in 3rdparty directory
- Set AUTOMOC and AUTOUIC properties for targets requiring them (rpcs3
  and rpcs3_ui) instead of setting CMAKE_AUTOMOC and CMAKE_AUTOUIC so
  those properties are not defined for all targets under rpcs3 dir

* CMake: Remove redundant code from rpcs3/CMakeLists.txt

* CMake: Add BUILD_LLVM_SUBMODULE option instead of hardcoded check

- Add BUILD_LLVM_SUBMODULE option (defaults to ON) to allow controlling
  usage of the LLVM submodule.
- Move option definitions to root CMakeLists

* CMake: Remove separate Emu subtargets

- Based on discussion in pull request #5032, I decided to combine
  subtargets under Emu folder back to a single rpcs3_emu target

* CMake: Remove utilities, loader and crypto targets: merge them to Emu

- Removed separate targets and merged them into rpcs3_emu target as
  recommended in pull request (#5032) conversations. Separating targets
  probably later in a separate pull request

* Fix relative includes in pad_thread.cpp

* Fix Travis-CI cloning all submodules needlessly
2018-09-18 13:07:33 +03:00
scribam
6c62d042c5 3rdparty: remove optional submodule 2018-08-31 20:13:54 +04:00
Nekotekina
1c6c24f8ac Update GSL and yaml-cpp submodules 2018-08-25 01:15:47 +03:00
Zangetsu38
c30a7c0041 Update Project to Visual Studio 2017. 2018-08-25 01:15:47 +03:00
scribam
3935cef691 pugixml: update submodule and build integration 2018-06-24 02:02:36 +04:00
Zangetsu38
b2a4e759fc Fix temp file folder for project pnglibconf and zlib.
Delete win32 config in Project not needed.
Clean bin folder.
2018-06-16 14:54:04 +04:00
scribam
903da117e5 zlib.vcxproj: remove PreprocessorDefinitions "Z_SOLO" 2018-06-14 22:42:04 +01:00
scribam
9f420081fd libpng: use official repository instead of the fork from RPCS3 and update submodule 2018-06-14 21:55:39 +04:00
scribam
14dc1fead6 yaml-cpp: update submodule and build integration 2018-06-13 04:25:34 +04:00
scribam
db9a6113d7 3rdparty: update stb_image.h and stb_truetype.h 2018-06-09 11:06:55 +03:00
Jan Beich
c09c792636 GPUOpen: drop bogus include
GNU libc and musl have aligned_alloc() in <stdlib.h> while on BSDs
<malloc.h> shouldn't be used.

In file included from rpcs3/Emu/RSX/VK/VKMemAlloc.cpp:2:
In file included from rpcs3/../3rdparty/GPUOpen/include/vk_mem_alloc.h:2233:
/usr/include/malloc.h:3:2: error: "<malloc.h> has been replaced by <stdlib.h>"
 #error "<malloc.h> has been replaced by <stdlib.h>"
  ^
2018-05-24 20:00:35 +04:00
pauls-gh
f8a0be8c3e Performance enhancement - Vulkan memory allocator (#4635)
* Incorporates the vulkan memory allocator from the AMD GPUOpen project
2018-05-23 17:02:35 +03:00
Jake
75b40931fc rsx: initial capture/replay functionality (#4510)
* rsx: initial capture/replay functionality
2018-05-13 12:18:05 +03:00
Zion Nimchuk
3b24e7e685 Discord Rich Presence Integration (Thanks to @Megamouse for fixing the windows build) 2018-04-19 04:47:56 +04:00
Ani
a994c46256 GL: Update glext.h to ver 20180114 2018-02-12 01:58:14 +04:00
Ani
372cb39ce8 openAL: Update to 1.18.2 2018-02-12 01:58:14 +04:00