1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-22 02:32:36 +01:00
Commit Graph

367 Commits

Author SHA1 Message Date
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
scribam
0870862898 Use zeux/pugixml instead of RPCS3/pugixml 2017-11-19 01:36:12 +04:00
scribam
0129c54ab6 Move optional.hpp as a submodule 2017-10-12 18:00:24 +03:00
Zion Nimchuk
36ac35361f Update ffmpeg submodule with updated libs and headers for linux 2017-08-19 20:05:33 +03:00
Zion Nimchuk
69a5f3d58b Update ffmpeg 2017-08-10 15:34:55 +03:00
Aurora
ce0e87373d Update hidapi 2017-08-08 23:20:07 +03:00
Aurora
7e1c6a5819 Make it build on macOS with Clang 2017-08-08 23:20:07 +03:00
Robbie
6cfb184b1e RPCS3 QT (#2645)
* Fix windows build.  I made sure to do everything with a win32 prefix to not effect linux build.

* Make the window resizable instead of fixed in the corner.

* Ignore moc files and things in the debug/release folder.  I might also ignore rpcs3qt.vcxproj and its filters as they're autogenerated by importing the qt project file.  But, this helps clean out clutter for now.

* Add cmake.  This doesn't interact with the rest of rpcs3 nor the main cmake file.  That's the next thing I'm doing. I'll probably need to modify them so it'll take me time to figure out. But, this will build rpcs3qt on linux and build as is with using qt.

* The build works. I'd like to thank my friends, Google and Stackoverflow.

Setted up by importing rpcs3Qt project using Qt's visual studio plugin.

* Cleanup.  Remove all the stuff in the rpcs3qt folder as its incorporated elsewhere. Remove the rpcs3qt project file as its now built into the solution and cmake doesn't care about pro files.

* Update readme to reflect getting Qt.

* Remove wxwidgets as submodule and add zlib instead. Wxwidgets was our old way of having zlib. I also added build dependencies to rpcs3qt so you should no longer get link errors on the first clean rebuild.

* Add rpcs3_version, few GUI tweaks

* Set defaultSize to 70% of screen size

* Add the view menu (#3)

* Added the view menu with the corresponding elements. Now, the debugger/log are hidden by default. The view menu has a checkbox which you click to show/hide the dock widgets.

* Make log visible by default

* Improve UI by making it into a checkbox that's easier to use.

* fix qt build for vs2017 (seems to work fine in 2015 with plugin but needs testing by other users)

* updated readme for qt

* update appveyor for qt
- cleaned formatting for the post build command

* fix build (#6)

* fix build legit this time i promise

* [Ready] Gamepadsettings (#4)

* WIP Gamepadsettings
pushbutton Eventhandling missing

* GamepadSettings should work except for cfg Init
Some KeyInputs are missing

* Update padsettingsdialog.h

* Update padsettingsdialog.cpp (#5)

* Update padsettingsdialog.cpp

removed silly tabs

* Update padsettingsdialog.cpp

* GetKeyCode simplified

* rename pad settings to keyboard settings o.O

* rename keyboard setting to input settings

* Remvoed the QT_UI defines.

* Readded new line at end of file. Replaced define in padsettings with constant.

* GUI fixes (Settings)

* Stub the logger UI. Nothing special besides a simple stub.

* Unstub the log. I haven't tested TTY but it should work.

Only thing to do, but this is in general, is add persistent settings.

* Minor refactoring to simplify code.

* Fix image loading. I'm 90% sure it works because it loads the path as expected and that's the same format I used in my gamelist implementation for the images.

* Made game lists much more functional than it was.

* mainwindow

* gamelist

* Please forgive me for I have lambdaed.

Added the ability to toggle showing columns via a context menu.

* Fix GameList further

* sort by name on init fixed

* Created the baseline refactoring. I'm going to start working on the callbacks now.  May need to implement other classes in the process. Fun stuff, I know.

* adds InstallPkg (tested) and InstallPup (should work but makes unknown shenanigans) implementation
adds RefreshGameList
obliterates 10sec Refresh

* messages

* Rpcs3 gs frame (#16)

* Messing with project settings try to get trails of cold steel to boot.bluh

Definitely one change is needed in linker settings for RPCS3 to not crash immediately.

Can't even see how horribly botched my implementation of GSFrame is because we aren't booting lol. Something is gone awry with elf.

* remove random ! not that it matters much right now

* minor additions

* "Working" with debug mode though you have to ignore an assert reached from Qt. Qt is upset that the rsx thread is calling stuff on the UI thread despite not owning it.  However, I can't do a thing to change that atm. (The fix would be to do what the TODO says in System.cpp-- making gsframe and stuff get initialized via system call)

Crashes due to needing pad callback to be done.

* With this build in debug mode, Trails of Cold steel will get FPS. (caveat. You have to ignore when Qt throws a debug assert lol)

* Fix release mode.  Fix the Qt debug assert by using ancient occault rituals.  I want to be able to remove the blocking connects but it won't work right now without it.  It isn't perfect but it's good enough for now IMO.

* Add enters to the end of files.

* Removing target and setting source of events to be the application instead of the main window. The main window isn't the game window, and I don't really know what widget will be targetted for the game event.  Works, though, it's admittedly probably not optimal by ANY means.

* Fix comment.

* Fix libpng wit zlib.

* Move Qt GUI into RPCS3Qt. (#17)

Restore wx GUI.

* fix install-progressdialogs randomly not showing

* install-progressdialog cosmetics

* add stylesheet file loading

* apply request

* Add stylesheet to git ignore.

* XInput..

* Joystick...

* Rpcs3 qt small fixes (#20)

* Small fixes.  Have emulator stop when x button is pressed on game window.  Have emulator/application stop when the main window is closed.

* If I forget another new line ending for a file.............................................

* Add CgDisasm (#21)

* fix install-progressdialogs randomly not showing

* install-progressdialog cosmetics

* add stylesheet file loading

* apply request

* add CgDisasm
add code to disable contextmenu options
fix gamelist issue

* missing proj changes

* Add ability to open stylesheets from menu.

* Mega searcher (#23)

* add MemoryStringSearcher
set minimum Sizes for mainwindow and CgDisasm

* minor fixes

* Since the system.cpp callbacks for emulator state were unused, I removed them.  Then, I replaced them with callbacks for the Gui.

* added stylesheet options
setfocus on settings fixed
newline added

* added signals and slots for EmuRun and EmuStop

* update ui

update ui now works
added callback onReady
added EnableMenues
added ps3 commands

* added restart logic to menu

* newline

* event header removed

* Added graphic settings class. (#26)

* Added graphic settings class. First thing is to have the dock widgets and window size/location be stateful.  Minor bug with debugger frame changing size on hide/show on default setup on second load. But, otherwise, fine. Also, the GUI doesn't update to accomodate the statefulness of the widgets.  But, that'll come in time as I update this class.

* Add view debugger, logger, gamelist to settings and synchronize them.

* Separate initializing actions from connects

* Add invisible fullscreen cursor and double click event.

* Add the UI log settings.

* Add MemoryViewer (#30)

* Add Memoryviewer
Image Button crashes/not fully implemented
focus on some button annoying

minor changes for question dialogs

* GuiSettings Refactoring (#31)

* Add settings for columns shown and which one is saved

* I accidentally refactored the settings class.  Added ability to reset to default GUI.  Added statefulness to column widths.

* add gui tab

* Fix logging at startup.

* Preset settings.I think I ironed out MOST of the glitches. Will work on the rest of it soon. Should be a lot simpler as I won't have to use the so-called meta settings. Also, renamed all settings methods to CapitalCase.

* Removed dock widget controls.

* Added style sheets. Removed the option from the menu.

* Rewrite to use folder design. Much simpler! Yay! Simpler. Better, right?

* It's remarkable how tricky this is.

* Added convenience button to open up the settings folder in explorer

* Add newlines at end of file

* simplified logic. Fixed a bug.. hopefully not more bugs

* Fix the undocumented feature

* Make the dialog big enough to have entire text on title shown. If talkashie changes the font to size 1203482 I don't care lol

* Make warning messagebox instead of changing the title of the dialog.

* marking...

* Hcorion suggested changes.

* [WIP] autopause (#32)

* autopause added
needs fixing
headers do not show text

* fix compile stuff

* Add MsgDialog + edge widgets (#33)

* Add MsgDialog
needs magic

* add "Debugger" Buttons to menubar

* Adapt ds4 changes. I'm not sure if they work as I don't have a compatible controller.  But, at the same time, it's kind of silly all I had to do was remove stdguiafx to get compilation.

* [Ready] Add KernelExplorer (#36)

* KernelExplorer added

* Fix build.  Connect mainwindow to show explorer.

* qstr formatting added
hid header, fixed button size

* Taskbar Progress for install PUP/PKG (#37)

* Add Taskbar Progress for both PKG and PUP installer

* fix missing ifdefs for windows

* add mainwindow icon + thumbnail toolbar

* add game specific icons to the GSFrame

* fix icon crash

* fix appIcon's aspect ratio in SetAppIconFromPath

* Fix black borders in RGB32 icons

* rename thumbar related buttons

* EmuSettings (#35)

* Core tab done minus doing the library list.

* Graphics tab.

* Audio tab

* Input tab

* Added the other tabs

* LLE part one-- load existing libraries sorted. (I'd finish it but I'm going to look at a PR by mega)

* add search and add other libraries that aren't checked.

* Finish adding lle selecting things.

* marking my territory (#38)

fixed settingsdialog glitch and width
added groupbox to gui buttons
removed parents from layouts

* add debuggerframe + RSXDebugger (#34)

* Add Debuggerframe

* add RSXDebugger

* add RSXDebugger fo real

* RSXDebugger improved
minor adjustments

* add utf8 conversions like neko told me to
hopefully i did not utf8-ise too many things xD

* fix some variables

* maybe fix image buffers in RSXDebugger

* fixed image view (pretty sure)

* fixed image buffer (hopefully)

*  QT Opengl frame (#41)

* fix RSX Debugger headers (#40)

* fix some debugger layout issues
fix RSX Debugger headers + some comments

* add kd-11's SPU options
fix D3D12 showing on non-compatible systems
tidy up coretab

* improve D3D12 behaviour in graphicstab:
adapter selection and D3D12 render won't show on non-compatible systems
add monospace font to cgDisasm

* enable update only on visibility

* Rpcs3 qt llvm build (#42)

* LLVM pushed so mega can test

* probably is what is needed with Release LLVM

* should probably have RPCS3-Qt be using release-llvm

* include zlib the same way.

* don't talk to me about how I made this happen.

* I applied the magical treatment to debug mode too.  Though, it's entirely probably that doing it once in LLVM-release mode made this entirely redundant

* hack

* progress bar for LLVM spawns but doesn't close yet.

* fix msgDialog (#43)

fix oskDialog

* Minor bug fixzz

* fix osk and msgdialog for real (#44)

* fix msgDialog
fix oskDialog

* fix OskDialog part 2
fix MsgDialog part 2

* This bug is evil, and it should be ashamed of itself.

* Refactor YAML.  Commented out gui options that aren't added to config yet (add em back later when we merge that in)

* Fix pad stuff.

* add SaveDataUtility (#45)

* add SaveDataUtility

* fix slots

* fix slots again
fix lists not showing stuff
fix dialogs not showing
add colClicked
refactor stuff and polish some layouts

* add SaveDataDialog.h and SaveDataDialog.cpp

* tidy up mainwindow

* add callback

* fix RegisterEditor (#47)

* fix RegisterEditor

* fix other dialogs' immortality (gasp...vampires)

* remove debug leftovers

* fix InstructionEditor (#46)

* fix InstructionEditor

* fix typo

* Fix MouseClickEvents in RSXDebugger (#50)

* Fix MouseClickEvents in RSXDebugger
Fix focus on MemoryViewer and RSXDebugger
Adjust PadButtonWidth

* fix another comment

* fix debuggerframe events (#49)

* Fix pad settings bro (#48)

* Fix pad settings bro

* fix comment

* Icons and Menu-Additions (#39)

* Add Icons and iconlogic to cornerWidget and actions

* add cornerWidget toggle
fix dockwidget action state on start
remove DoSettings

* fix game removal bug
remove tableitem focus rectangle
therefore add TableItemDelegate.h

* remove grid and focus rectangle from autopausedialog

* add fullscreen checkbox to misctab
minor padsettings layout improvements

* Add show category submenu to view menu
Add gamelist filter accordingly
fix minor bug where play icon was displayed despite pause label
add boolean b_fullscreen to mainwindow for later use in GSFrame

* fix headers in autopausesettings
fix remove bug in autopausesettings
add delete keypressevent in autopausesettings
fix missing tr() and minor refactoring in gamelist

* add default Icons for play/pause/stop/restart

* Fix fullscreen start.  Some stuff was wrong with settings, just trust me.

* remove fullscreen leftovers and fix merge

* SPU stuff. (There was also a weird thing with config.h in GLGSFrame.h with an include that I removed to fix build)

* please neko's lambda fetishes (#53)

* please neko's lambda fetish in mainwindow

* please neko's lambda fetish in gamelistframe

* please neko's lambda fetish in logframe

* fix neko's lambda fetish in debuggerframe

* pleasefixdofetishsomething in Autopausesettingsdialog

* fix sth sth lambda in cg disasm

* lambda stuff in instructioneditor

* lambda kernelexplorer

* lambda-ise memoryviewer

* lambda rsxdebugger

* lambda savedatautil
this could be done even more, but the functions are not implemented

* Rpcs3 qt fixes -- shadow taskbar bug (#52)

* SShadow's bug of taskbar progress staying fixed on cancelling pkg install.

* other taskbar

* i'm still a baka

* Fix a warning

* qtQt refactoring (#54)

* fix neko's snake fetish

* File names should match headers. Are these the names I want?  Not necessarily.  But, this is much less confusing.

* i thought I committed everything with stage all.........................

* remove unused utilities

* The most important commit of them all.

* Disable legacy opengl buffers when not using opengl.

* fix code review comment

* Quick crash patch. Neko removed autopause. SO, I remove it too from emusettings/misc tab

* Merge lovely things from master (#55)

* Configuration simplified

* untrivial parts of the merge

* no need for these options anymore

* Minor change to fix column widths at startup (not sure why it doesn't work already, but adding the true makes it work so......... whatever)

* here ya go

* FIx hitting okay in settings causing graphics to messup (#57)

* fixes + msgdialog taskbarprogress (#56)

* fix ok button in taskbar
add taskicon progressbar for msgdialog
add tablewidgetitem to rsxdebugger
fix comments in save_data_utility.cpp

* fix d3d adapter default

* fix taskicon progressbar not being destroyed properly

* add last_path to filedialogs

* fix msgdialog crash on ok (#58)

* fix thread stopping in debbugerFrame (#59)

* Move Emu.init to be first.  This will fix the qt stuff seeming to ignore the virtual filesystem in the config. (VFS to be made soon maybe) (#60)

* Fix full screen opening on double RIGHT click.

* fix other instances of double click ...

* Fix locaiton of gui config. (#61)

* fix d3d bug (#62)

* fix d3d bug

* small utf8 addition

* Fix cmake for qt (#64)

* Initial CMake fix

* Fix compilation with GCC

* Get rid of awful hack

* Update cotire with qt support

* Maybe fix travis

* Emergency Hack Relief Program Activated

* Fix travis build (#65)

* make about dialog great again (#67)

and add previous additions

* Fix library sort / smart gamelist context menu (#63)

* fix library sort

* add Title to custom game config dialog

* disable options on gamelist context menu

* use namespace for category Strings

* introduce sstr

* fix some tr nonsense

* Rpcs3qt Appveyor (#68)

Fix appyveyor build!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* possible fix for gamelist icons (#69)

add warning for appicon

* Fix clang build (#66)

Hcorion, the build savior.

* Rpcs3 qt resources (#70)

* Resource files attempt 1

* Autorcc should probably be on?

* forgot the most important file lol

* Forgot an instance of the icon in the code...

* Patch fix for clang build.

* vulkan/d3d12 combobox merge (#71)

* add vulkan adapterbox and merge with d3d12 box

* fix adapter text on other renderer

* gather render strings

* attempt fix on gamelist row height

* adjust adapter behaviour to new guideline

* Compiler of Peace.

* High critical hit rate.

* Mugi eating strawberries is savage.

* Apply KD-11 Hotfix (#73)

* Most of Ani Adjusts (#72)

* Most of the adjustments are made here.

* fix gamelist rowheight

* fix msg dialog layout and disable_cancel

* cleanup

* fix disable cancle again

* fix debuggerframe buttons and doubleclick

* Add a fun little bonus feature :) (#74)

* category filters simplyfied (#75)

* Cleaning up cmake a bit.

* fixezzzzzz (#76)

* upgrade Info Boxes

* upgrade file explorer

* refactor GetSettings and SetSettings

* second refactoring

* cleanup

* travis is a grammar nazi

* second travis shenanigans

* third travis weirdo thingy

* travis 4 mega fun

* travis 5 default to def

* finish refactoring for settings
fix gamelist headers

* hotfix msgdialog and infobox (#77)

* msgdialog fix 1

* fix zombie infobox

* Rpcs3 Qt Welcome Page (#78)

* Add a welcome dialog.

* Add enter to end of file

* i'm an idiot

* last mistake i hope

* sponsored via --> funded by

* RPCS3 does not condone piracy.

* Mega Adjusts

* Ani Adjustments and a few refactorings

* Yay

* Add Gamelist Icon Sizes (#79)

* Reverting Mega's suggestion.  If people can use alt-f4 to get around this dialog, they can probably use an emulator too.

* Fix firmware file choice dialog in QT GUI (#80)

* ani adjusts 2 + minor icon size simplifications (#81)

FPS Additions

* Update Travis to Qt 5.9 (#82)
2017-06-04 17:48:33 +03:00
Jake
6d7419be0e Add hidapi submodule, build updates / readme 2017-05-04 23:35:09 +03:00
Vincent Lejeune
2528fc4555 Add cereal dependency 2016-07-30 18:39:26 +02:00
Nekotekina
a0c0df6e9d Dynamic XAudio version detection 2016-07-21 17:46:46 +03:00
Ivan
da7472fe81 Optimizations (#1680)
* Optimizations

1) Some headers simplified for better compilation time
2) Some templates simplified for smaller executable size
3) Eliminate std::future to fix compilation for mingw64
4) PKG installation can be cancelled now
5) cellGame fixes
6) XAudio2 fix for mingw64
7) PPUInterpreter bug fixed (Clang)

* any_pod<> implemented

Aliases: any16, any32, any64
rsx::make_command fixed
2016-04-25 13:49:12 +03:00
Ivan
81780d1932 3rdparty/glm removed (#1673) 2016-04-17 01:23:33 +03:00
AnnieL
9f257ee9f8 Slims down minidx9 to XAudio2_7
Removes minidx9 as a submodule
Slims down minidx9 to have only the files XAudio2 (2.7) needs.
The other dx9 related files weren't being used.
2016-03-29 18:51:54 +01:00
Nekotekina
8cd0aab129 Added yaml-cpp and pugixml submodules 2016-03-29 12:23:15 +03:00
AnnieL
38f93461d1 Moves glm, GSL and libpng to 3rdparty
Moves glm and GSL to 3rdparty
Moves libpng to 3rdparty
2016-03-20 22:24:21 +00:00
AnnieL
6182f5346d Moves ffmpeg and minidx9 to 3rdparty 2016-03-20 22:21:35 +00:00
AnnieL
afefecf1f0 Moves GL, minidx12, OpenAL, stblib to 3rdparty
Moves GL, minidx12, OpenAL, stblib to 3rdparty

Fixes AppVeyor and CMakeLists (travis-ci.yml doesn't need any changes)

Points directories in the VS solution files to the new ones on the
externals directory

Includes stuff with the < > syntax instead of " "
2016-03-20 22:20:23 +00:00