2da4c9ca90
citra_qt: Add physical device selection dialog
2022-10-14 21:03:11 +03:00
2c30889fdc
code: Address more compiler warnings
2022-10-14 21:03:11 +03:00
62d561c004
externals: Trim down glslang build
...
* When the install option is turned on, glslang will override the install dir which causes SDL2 to fail
2022-10-14 21:03:10 +03:00
1cd0b04399
renderer_vulkan: Fix some validation errors
...
* Temporarily add glm until I figure out how to fix the alignment
2022-10-14 21:03:10 +03:00
7ae0d0ef27
renderer_vulkan: Add experimental Vulkan renderer
...
* Stil extremelly WIP and missing the rasterizer/renderer classes
2022-10-14 21:03:10 +03:00
19c82a76a3
externals: Add vulkan headers and vma
2022-10-14 21:03:10 +03:00
5f8a884c2c
renderer_opengl: Add driver class to report info/bugs
2022-10-14 21:03:10 +03:00
a7cfe99ca1
rasterizer_cache: Add staging buffer cache for uploads/downloads
...
* In addition bump context version to 4.4 to enforce ARB_buffer_storage and use EXT_buffer_storage for GLES which is support on many mobile devices
2022-10-14 21:03:10 +03:00
76f8d08d66
externals: track a stable version of sdl, 2.24.1 ( #6150 )
2022-10-06 03:06:12 +02:00
3e692eb383
externals: Upgrade httplib ( #6147 )
2022-10-06 03:01:37 +02:00
cbd5d1c15c
Upgrade codebase to C++ 20 + fix warnings + update submodules ( #6115 )
2022-09-21 18:36:12 +02:00
9268b7d48e
Merge branch 'master' into tex-cache
2022-09-01 19:50:32 +05:30
12f84e18dc
externals: Upgrade glad to latest version
...
* Also change some mentions to OpenGL 3.3 to 4.3
2022-08-22 23:44:03 +03:00
a90b0daebe
Look at version_major.h when for newer ffmpeg libs
...
In ffmpeg 5.1, it seems most (or all) of these libraries use a separate
version_major.h, so the logic to check minimum version didn't work
without looking at the major version file.
2022-08-20 20:40:26 -04:00
243548afc4
bump dynarmic
...
workaround MSCV compile error
2022-07-03 13:56:33 +05:30
f71e853054
externals: Update cpp-jwt to e12ef062 ( #6051 )
...
Resolves compilation errors when compiling with C++20
2022-06-25 14:41:57 +05:30
46c6e5c4c0
externals: Update libressl to 3.5.2 ( #6021 )
...
Resolves compiler errors in VS 2022
2022-05-15 11:01:54 +05:30
d65f50e512
Bump libressl to latest commit
2022-03-26 10:00:34 +05:30
25ad002e6e
Update teakra ( #5961 )
...
Co-authored-by: Trung Le <trung.le@ruby-joural.com >
2022-02-24 21:02:40 +05:30
cdbd72e79c
Fix build on powerpc64le ( #5947 )
...
After cryptopp update, build again fails.
2022-02-08 22:07:21 +05:30
bae1c31406
Merge pull request #5718 from liushuyu/httpc
...
externals: update httplib and libressl
2022-02-05 02:59:18 -07:00
d35a7a8e23
Merge pull request #5804 from weihuoya/minorfx
...
Minor fx
2022-01-30 21:51:11 +05:30
7fa64af3d6
externals: update enet
2022-01-14 10:36:49 +08:00
af24f75c18
externals: update httplib and libressl ...
...
* In older `httplib`, SSL connections were not handled correctly and
will have issues with proxy servers. Also, keep alive directives were
not available back then, which is probably necessary to implement
HTTP_C service correctly.
* Another reason being `httplib` now requires OpenSSL 1.1+ API while
LibreSSL 2.x provided OpenSSL 1.0 compatible API.
* The bundled LibreSSL has been updated to 3.2.2 so it now provides
OpenSSL 1.1 compatible API now.
* Also the path hint has been added so that it will find the correct
path to the CA certs on *nix systems.
* An option is provided so that *nix system distributions/providers can
use their own SSL implementations when compiling Yuzu/Citra to
(hopefully) complies with their maintenance guidelines.
* LURLParse is also removed since `httplib` can handle
`scheme:host:port` string itself now.
2022-01-13 19:32:50 -07:00
4b04175c5d
cryptopp: enable SIMD flags on i386
...
externals/cryptopp/cryptopp/rijndael_simd.cpp:460:20: error: always_inline function '_mm_loadu_si128' requires target feature 'sse2', but would be inlined into function 'Rijndael_UncheckedSetKey_SSE4_AESNI' that is compiled without support for 'sse2'
__m128i temp = _mm_loadu_si128(M128_CAST(userKey+keyLen-16));
^
externals/cryptopp/cryptopp/rijndael_simd.cpp:469:50: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
rk[keyLen/4] = rk[0] ^ _mm_extract_epi32(_mm_aeskeygenassist_si128(temp, 0), 3) ^ *(rc++);
^
externals/cryptopp/cryptopp/rijndael_simd.cpp:481:20: error: '__builtin_ia32_vec_set_v4si' needs target feature sse4.1
temp = _mm_insert_epi32(temp, rk[11], 3);
^
[...]
2022-01-06 23:57:05 +00:00
60d1def6f8
Update cryptopp to 8.5.0 ( #5669 )
...
* Update cryptopp to 8.3.0
Modified the CMakeLists.txt based on the noloader/cryptopp-cmake
8.3.0 CMakeLists.txt.
* Update cryptopp to version 8.5.0
2022-01-05 20:05:07 +05:30
1911c9791e
Add libyuv ( #5623 )
...
* Add libyuv
* Only use libyuv on Android
Co-authored-by: Marshall Mohror <mohror64@gmail.com >
2021-12-12 20:22:30 +05:30
64b502aad3
Merge pull request #5810 from vitor-k/discord
...
Port yuzu-emu/yuzu#6484 : "update submodule discord-rpc to latest [now deprecated]"
2021-11-20 21:01:27 +05:30
219eaabbcf
Fix build on powerpc64le ( #5884 )
...
Without compiling ppc-simd.cpp, linking fails with:
: && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -Wl,--as-needed -fstack-protector-strong -L/usr/local/lib src/tests/CMakeFiles/tests.dir/common/bit_field.cpp.o src/tests/CMakeFiles/tests.dir/common/param_package.cpp.o src/tests/CMakeFiles/tests.dir/core/arm/arm_test_common.cpp.o src/tests/CMakeFiles/tests.dir/core/arm/dyncom/arm_dyncom_vfp_tests.cpp.o src/tests/CMakeFiles/tests.dir/core/core_timing.cpp.o src/tests/CMakeFiles/tests.dir/core/file_sys/path_parser.cpp.o src/tests/CMakeFiles/tests.dir/core/hle/kernel/hle_ipc.cpp.o src/tests/CMakeFiles/tests.dir/core/memory/memory.cpp.o src/tests/CMakeFiles/tests.dir/core/memory/vm_manager.cpp.o src/tests/CMakeFiles/tests.dir/audio_core/decoder_tests.cpp.o src/tests/CMakeFiles/tests.dir/tests.cpp.o -o bin/Release/tests src/common/libcommon.a src/core/libcore.a src/video_core/libvideo_core.a src/audio_core/libaudio_core.a src/core/libcore.a src/video_core/libvideo_core.a src/audio_core/libaudio_core.a externals/soundtouch/libSoundTouch.a externals/teakra/src/libteakra.a /usr/local/lib/libSDL2main.a /usr/local/lib/libSDL2.so externals/cubeb/libcubeb.a -lpthread externals/cryptopp/libcryptopp.a src/web_service/libweb_service.a src/network/libnetwork.a externals/enet/libenet.a externals/libressl/tls/libtls.a externals/libressl/ssl/libssl.a externals/libressl/crypto/libcrypto.a externals/lurlparser/liblurlparser.a /usr/local/lib/libavformat.so /usr/local/lib/libavcodec.so /usr/local/lib/libswscale.so /usr/local/lib/libswresample.so /usr/local/lib/libavutil.so src/common/libcommon.a externals/fmt/libfmt.a externals/zstd/build/cmake/lib/libzstd.a
-pthread /usr/local/lib/libboost_serialization.a externals/glad/libglad.a && :
ld: error: undefined symbol: CryptoPP::CPU_ProbeAltivec()
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a
ld: error: undefined symbol: CryptoPP::CPU_ProbePower7()
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a
ld: error: undefined symbol: CryptoPP::CPU_ProbePower8()
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a
ld: error: undefined symbol: CryptoPP::CPU_ProbeAES()
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a
ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA256()
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a
ld: error: undefined symbol: CryptoPP::CPU_ProbeSHA512()
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(CryptoPP::DetectPowerpcFeatures()) in archive externals/cryptopp/libcryptopp.a
>>> referenced by cpu.cpp
>>> cpu.cpp.o:(_GLOBAL__I_000260) in archive externals/cryptopp/libcryptopp.a
c++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
2021-10-31 14:47:20 -05:00
a5d01c0c15
fix build on glibc 2.34 ( #5872 )
...
* fix build on glibc 2.34
* bump Catch to latest tag and update dynarmic
2021-10-23 18:54:36 +05:30
62236b7257
Update dynarmic ( #5814 )
2021-07-11 20:16:10 +05:30
de9d640de4
update submodule discord-rpc to latest [now deprecated]
2021-07-06 23:56:27 -03:00
18ad3bafb6
Update dynarmic
...
this should allow the cpu jit to run on builds compiled for the M1
2021-05-12 17:30:19 -03:00
63589f4a1b
Re-update catch and dynarmic
2021-04-29 01:34:07 -03:00
48fad3a903
libusb: Add /utf-8 compile option for MSVC.
2021-04-24 02:22:13 -04:00
a80e566464
gcadapter: Implement auto map feature
...
Implements the auto map functionality for the GC adapter.
The controls map nicely to the original 3ds controls, with the select button being mapped to the Z button on GC.
The ZL/ZR buttons are not mapped by this feature.
2021-04-24 02:03:40 -04:00
161e6a541b
cmake: unbreak system libusb support
...
Reference libusb doesn't support DragonFly and FreeBSD because those
ship a different libusb implementation (supports 0.1, 1.0, 2.0 API).
2021-04-24 02:02:45 -04:00
c5094ed614
externals: Track upstream libusb
...
We can place the external in an inner folder and manage the custom files
necessary to integrate it with CMake directly. This allows us to
directly change how we use it with our build system, as opposed to
needing to change a fork.
2021-04-24 02:02:45 -04:00
33e5d16c89
Merge pull request #5748 from vitor-k/update-dynarmic
...
Update dynarmic
2021-04-23 22:32:48 -07:00
b660adea0f
update catch
2021-04-06 19:56:28 -03:00
a2f9fef97e
Update dynarmic
...
fixes dynarmic compilation when targeting MacOS on ARM
2021-04-06 19:54:39 -03:00
9c08409e0e
externals: Update Xbyak to 5.96
...
I made a request on the Xbyak issue tracker to allow some constructors
to be constexpr in order to avoid static constructors from needing to
execute for some of our register constants.
This request was implemented, so this updates Xbyak so that we can make
use of it.
2021-01-04 05:11:18 +01:00
0e534f7e61
CMakeFiles: Update json to 3.9.0
...
Keeps the tracked version of the library up to date.
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com >
2021-01-04 03:35:56 +01:00
a6fbc1c9e3
zstd: define include_directories for build interface only
2021-01-01 06:31:20 -03:00
6876f1aaa4
zstd: set include directory directly
2021-01-01 02:57:15 -03:00
8a67605450
Update zstd to v1.4.8
2020-12-31 14:52:07 -03:00
94013c8e00
Merge ARM64 Dynarmic ( #5620 )
...
* Point dynarmic to citra fork, update dynarmic to AArch64 merge branch
* Enable dynarmic ARM64 support
2020-12-28 18:39:00 -05:00
c557b290af
microprofile: Don't memset through std::atomic types ( #5528 )
...
Two of the members of the MicroProfileThreadLog contains two std::atomic
instances. Given these aren't trivially-copyable types, we shouldn't be
memsetting the structure, given implementation details can contain other
members within it.
To avoid potential undefined behavior on platforms, we can use aggregate
initialization to zero out the members while still having well-defined
behavior.
While we're at it we can also silence some sign conversion warnings.
Co-authored-by: Lioncash <mathew1800@gmail.com >
2020-12-07 16:04:31 +01:00
36780040a6
Update dynarmic to last compatible version ( #5618 )
2020-12-05 22:18:07 +01:00
a13a230511
Update inih ( #5615 )
2020-11-24 18:25:10 -05:00