aboutsummaryrefslogtreecommitdiff
path: root/externals
AgeCommit message (Collapse)Author
2021-01-02externals: Update dynarmic to 3806284cbMerryMage
2021-01-02dynarmic: Add Unsafe_InaccurateNaN optimizationMerryMage
2020-12-29externals: Update DynarmicReinUsesLisp
Keeps yuzu up to date with the latest changes and introduces a change needed for a lock-free optimization our side.
2020-12-24cmake: Always enable VulkanReinUsesLisp
Removes the unnecesary burden of maintaining separate #ifdef paths and allows us sharing generic Vulkan code across APIs.
2020-12-05Update cubeb and request a persistent stream sessionVitor Kiguchi
2020-11-03core: Remove usage of unicornLioncash
Unicorn long-since lost most of its use, due to dynarmic gaining support for handling most instructions. At this point any further issues encountered should be used to make dynarmic better. This also allows us to remove our dependency on Python.
2020-11-03microprofile: Silence warning in headersLioncash
Silences a truncation warning by making the truncation explicit and documenting the reason for it.
2020-11-02common: Enable warnings as errorsLioncash
Cleans up common so that we can enable warnings as errors.
2020-10-28web_service: follow-up fix to #4842 ...liushuyu
* The web_service http request is now fixed on Windows (R) platform. * The issue is due to a complicated race-condition in `httplib`, a detailed explanation is available at https://github.com/yhirose/cpp-httplib/pull/701 * A pending Pull Request on `httplib` has been applied to remedy the said race-condition. * The socket availability check is removed due to a behavioral chice of `httplib` that a socket will not be created before any actual request is sent.
2020-10-28Merge pull request #4845 from lioncash/inihbunnei
externals: Track upstream inih
2020-10-27externals: Update inih to r52Lioncash
2020-10-27externals: auto detect system OpenSSLliushuyu
2020-10-27web_backend: fix a regression introduced in 39c8d18liushuyu
* A regression was in 39c8d18 and token verification function was broken. * The 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.
2020-10-26video_core: NVDEC Implementationameerj
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library. The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data. To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library. Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header. Async GPU is not properly implemented at the moment. Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-10-20Revert "core: Fix clang build"bunnei
2020-10-17core: Fix clang buildLioncash
Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
2020-10-13core/CMakeLists: Make some warnings errorsLioncash
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-09-03Merge pull request #4611 from lioncash/xbyak2bunnei
externals: Update Xbyak to 5.96
2020-09-02externals: Work around libusb duplicate GUID errorsLioncash
Given we have two libraries that seem to use the same identifier, we can alter one of them so that the variable is used in place, effectively changing the used identifier, but without altering the source of libusb.
2020-09-01Merge pull request #4584 from lioncash/libusbbunnei
externals: Track upstream libusb directly
2020-08-31Merge pull request #4587 from yuzu-emu/tsan-microprofilerbunnei
externals/microprofile: Fix data race in g_bUseLock
2020-08-30externals: Update Xbyak to 5.96Lioncash
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.
2020-08-26externals: Track upstream libusbLioncash
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.
2020-08-26externals/microprofile: Fix data race in g_bUseLockReinUsesLisp
As reported by tsan, g_bUseLock had a data race. Fix this using an atomic boolean.
2020-08-25externals: Untrack non-upstream variant of libusbLioncash
We shouldn't be tracking personal forks of repositories when upstream can be managed directly.
2020-08-25externals: Update Xbyak to 5.95Lioncash
5.95 contains a potentially backward-compatibility breaking change, so we should be updating to this to ensure that our code remains forward-compatible.
2020-08-25Merge pull request #4572 from lioncash/xbyakbunnei
externals: Update xbyak to v5.941
2020-08-23externals: Update xbyak to v5.941Lioncash
Keeps the tracked submodule up to date with the latest release.
2020-08-23microprofile: Don't memset through std::atomic typesLioncash
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.
2020-08-16dynarmic: Add unsafe optimizationsMerryMage
2020-07-11configuration: Add settings to enable/disable specific CPU optimizationsMerryMage
2020-07-08Merge pull request #4266 from jbeich/freebsdbunnei
gcadapter: unbreak build on FreeBSD
2020-07-07Merge pull request #4150 from ReinUsesLisp/dynamic-state-implbunnei
vulkan: Use VK_EXT_extended_dynamic_state when available
2020-07-07cmake: unbreak system libusb supportJan Beich
Reference libusb doesn't support DragonFly and FreeBSD because those ship a different libusb implementation (supports 0.1, 1.0, 2.0 API). ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(usbi_alloc_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(usbi_alloc_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_has_capability) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_has_capability) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_has_capability) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(usbi_connect_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(usbi_disconnect_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_get_device_list) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_get_device_list) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_unref_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_unref_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_write >>> referenced by core.c >>> core.c.o:(usbi_signal_event) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_read >>> referenced by core.c >>> core.c.o:(usbi_clear_event) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_wrap_sys_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_wrap_sys_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_wrap_sys_device) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_open) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_backend >>> referenced by core.c >>> core.c.o:(libusb_open) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_read >>> referenced by core.c >>> core.c.o:(libusb_close) in archive externals/libusb/libusb.a ld: error: undefined symbol: usbi_write >>> referenced by core.c >>> core.c.o:(libusb_close) in archive externals/libusb/libusb.a ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors) c++: error: linker command failed with exit code 1 (use -v to see invocation)
2020-07-04Fix merge conflicts?Ameer
2020-07-01externals: Track opus as submodule instead of using conanDavid Marcec
Supersedes #4068 see for details.
2020-06-27SVC: Implement 32-bits wrappers and update Dynarmic.Fernando Sahmkow
2020-06-27ARM: Update Dynarmic and Setup A32 according to latest interface.Fernando Sahmkow
2020-06-27Externals: Update Dynarmic.Fernando Sahmkow
2020-06-27ARMInterface/Externals: Update dynarmic and fit to latest version.Fernando Sahmkow
2020-06-26vk_device: Enable VK_EXT_extended_dynamic_state when availableReinUsesLisp
2020-06-22update libusb dependencyAmeer
2020-06-22Update src/input_common/main.cppameerj
Co-authored-by: LC <mathew1800@gmail.com> update libusb submodule (hopefully windows build error fixed)
2020-06-21Add libusb dependencyAmeer
2020-06-16externals: Revert to libressl, as build is broken with ↵bunnei
find_package(OpenSSL). (#4093) * externals: Revert to libressl, as build is broken with find_package(OpenSLL). * fixup! externals: Revert to libressl, as build is broken with find_package(OpenSLL). * fixup! externals: Revert to libressl, as build is broken with find_package(OpenSLL).
2020-06-15CMakeLists: xbyak comes before dynarmicMerryMage
2020-06-02vk_shader_decompiler: Implement atomic image operationsReinUsesLisp
Implement atomic operations on images. On GLSL these are atomicImage* functions (e.g. atomicImageAdd).
2020-05-30Add xbyak externalDavid Marcec
2020-05-21shader/other: Implement BAR.SYNC 0x0ReinUsesLisp
Trivially implement this particular case of BAR. Unless games use OpenCL or CUDA barriers, we shouldn't hit any other case here.
2020-05-09Add version check to Findnlohmann_json.cmakeMarkus Wick