summaryrefslogtreecommitdiffstats
path: root/externals (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core/debugger: memory breakpoint supportLiam2022-06-161-0/+0
|
* Merge pull request #8383 from Morph1984/shadow-of-the-pastMai2022-06-153-39/+38
|\ | | | | yuzu: Make variable shadowing a compile-time error
| * externals: Update cpp-httplib to latestMorph2022-06-141-0/+0
| |
| * externals: microprofileui: Eliminate variable shadowingMorph2022-06-141-38/+37
| |
| * externals: microprofile: Eliminate variable shadowingMorph2022-06-141-1/+1
| |
* | general: fix compilation on MinGW GCC 12Liam2022-06-141-0/+5
|/
* video_core: Support new VkResultAlexandre Bouvier2022-05-171-0/+0
|
* sirit: Allow using system spirv-headersAlexandre Bouvier2022-05-141-0/+0
|
* Merge pull request #8282 from liamwhite/gcc-12Mai M2022-04-291-0/+0
|\ | | | | GCC 12 fixes
| * GCC 12 fixesLiam2022-04-281-0/+0
| |
* | externals: Update libressl to 3.5.2Morph2022-04-241-0/+0
|/ | | | This resolves compiler errors in Visual Studio 2022.
* Update dynarmicLiam2022-04-191-0/+0
|
* Merge pull request #8148 from merryhime/interruptsFernando S2022-04-071-0/+0
|\ | | | | dynarmic: Better interrupts
| * dynarmic: Better interruptsmerry2022-04-031-0/+0
| |
| * externals: Update dynarmic to 8bcd46b7merry2022-04-021-0/+0
| | | | | | | | | | * Ensure 128-bit ordered load/stores are atomic * Always order exclusive load/stores
| * externals: Update dynarmic to 9cadab8fa91a63564774ae7dbe74e7c18715f586merry2022-04-021-0/+0
| | | | | | | | Enforce memory ordering for acquire/release instructions.
* | audio_core: remove time stretcherAndrea Pappacoda2022-04-012-3/+0
|/ | | | Also drop the SoundTouch dependency
* externals: Update dynarmicmerry2022-03-271-0/+0
| | | | IC instructions now check for a need to halt execution
* dynarmic: Accelerate SHA256 and implement for A32 frontendMerry2022-03-201-0/+0
| | | | | | | * Implements hardware acceleration for SHA256 instructions. * Adds SHA256 instructions introduced in ARMv8 to A32 frontend. * Implements polyfill for processors that do not support hardware accelerated SHA instructions.
* Merge pull request #7959 from merryhime/cmpxchgFernando S2022-03-011-0/+0
|\ | | | | dynarmic: Inline exclusive memory accesses
| * dynarmic: Update to latest mastermerry2022-02-281-0/+0
| |
| * dynarmic: Inline exclusive memory accessesmerry2022-02-271-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inlines implementation of exclusive instructions into JITted code, improving performance of applications relying heavily on these instructions. We also fastmem these instructions for additional speed, with support for appropriate recompilation on fastmem failure. An unsafe optimization to disable the intercore global_monitor is also provided, should one wish to rely solely on cmpxchg semantics for safety. See also: merryhime/dynarmic#664
* | ffmpeg: Fix mis-maching argument warning for endifMerry2022-02-281-1/+1
|/
* externals: Dynarmic: Update to latest rev.bunnei2022-02-261-0/+0
| | | | - Fixes inaccurate size reporting in SpaceRemaining, which caused crashes in yuzu with SSBU.
* Update dynarmic.Fernando Sahmkow2022-02-011-0/+0
|
* Update FSR to 1.0.2Moonlacer2022-01-231-18/+18
| | | | Updates yuzu's FSR implementation to 1.0.2
* Improve FFmpeg cmake fileValeri2022-01-221-3/+8
| | | | * Fix compilation if CUDA_INCLUDE_DIRS is empty/contains multiple paths * Pass CMAKE_{C,CXX}_COMPILER_LAUNCHER to ffmpeg compiler
* cmake: make tests optionalAlexandre Bouvier2022-01-121-4/+0
|
* externals/dynarmic: update to latest revision ...liushuyu2022-01-061-0/+0
| | | | ... to resolve compilation errors with fmt 8.1
* Merge pull request #7610 from Tatsh/more-system-libsbunnei2022-01-051-3/+3
|\ | | | | Add support for linking against system Opus
| * Add support for linking against system opusAndrew Udvare2021-12-211-3/+3
| |
* | externals: Update dynarmic to 28714ee7Morph2021-12-311-0/+0
| | | | | | | | Reduces compilation times on MSVC.
* | Merge pull request #7599 from FernandoS27/primrestart-vulkanbunnei2021-12-221-0/+0
|\ \ | | | | | | Vulkan: Fix Primitive Restart and implement Logical Operations
| * | Vulkan: Implement VK_EXT_primitive_topology_list_restartFernando Sahmkow2021-12-181-0/+0
| |/
* | Merge pull request #7587 from liushuyu/fix-linux-decodingbunnei2021-12-184-0/+223
|\ \ | | | | | | [Patch v2] externals/ffmpeg: refactor ffmpeg searching and handling in cmake
| * | externals/ffmpeg: set the cmake variable twice ...liushuyu2021-12-162-5/+13
| | | | | | | | | | | | ... to avoid leaving variable undefined in the current scope
| * | externals: fix a regression when using MSVCliushuyu2021-12-162-1/+2
| | |
| * | video_core/codecs: (re-spin) refactor ffmpeg searching and handlingliushuyu2021-12-164-0/+214
| |/
* | externals/SDL: update SDL to version with Wayland build fixAndrew Udvare2021-12-172-4/+4
| |
* | externals/CMakeLists: fix detection/init of Switch controllers in SDL 2.0.18Andrew Udvare2021-12-171-3/+4
|/ | | | | | | Enable SDL_THREADS and SDL_ATOMIC Also set SDL_WAYLAND=OFF due to build issue Closes #7572
* Revert "video_core/codecs: refactor ffmpeg searching and handling in cmake"bunnei2021-12-154-214/+0
|
* CI: fix CI on Linuxliushuyu2021-12-141-1/+1
|
* ffmpeg: move the whole tree into externals/ffmpeg/ffmpeg ...liushuyu2021-12-144-0/+214
| | | | | | | * this resolves the todo items in the CMakeLists.txt * a version requirement check for ffmpeg is added to catch issues early * for future-proof reasons, nasm/yasm is now only required when build on x86/AMD64 systems
* Merge pull request #7554 from Tachi107/build-remove-unicornMai M2021-12-132-22/+0
|\ | | | | build: remove remaining bits of Unicorn
| * build: remove remaining bits of UnicornAndrea Pappacoda2021-12-102-22/+0
| | | | | | | | Unicorn has been removed in fc6db97a09e2de5eff10131ddcab9cf8fb2f736c
* | Merge pull request #7527 from Tachi107/cubeb-result_ofbunnei2021-12-131-0/+0
|\ \ | |/ |/| build: update cubeb and remove the result_of comment
| * build: update cubeb and remove the result_of commentAndrea Pappacoda2021-12-061-0/+0
| | | | | | | | | | Cubeb doesn't use result_of anymore, it has been dropped in commit mozilla/cubeb@75d9d125ee655ef80f3bfcd97ae5a805931042b8
* | input_common: Update SDL to 2.0.18Narr the Reg2021-12-061-0/+0
|/
* Vulkan: Reimplement FSR constant generation functions to avoid GCC warningsMarshall Mohror2021-11-161-3/+0
|
* Presentation: Only use FP16 in scaling shaders on supported devices in VulkanMarshall Mohror2021-11-161-0/+3
|
* externals: Add only included ffx-fsr headersameerj2021-11-163-0/+3874
| | | | The submodule adds a lot of unneeded bloat due its addition of samples that contain large media files that are difficult to compress.
* externals: Update dynarmic to cce7e4eeMorph2021-10-121-0/+0
|
* externals: Remove libzipMorph2021-09-294-643/+0
|
* dynarmic: Update and enable DYNARMIC_IGNORE_ASSERTSMerry2021-08-152-0/+1
|
* xbyak: Update include pathMerry2021-08-151-1/+3
|
* externals: Update sdl2 to 2.0.16german772021-08-111-0/+0
|
* Merge pull request #6565 from lat9nq/bundle-ffmpegAmeer J2021-08-011-0/+2
|\ | | | | cmake, ci: Build bundled FFmpeg with yuzu
| * cmake: Specify the compiler on autotools externalslat9nq2021-07-061-0/+2
| | | | | | | | Enables CCache on externals if available.
* | shader: Remove old shader managementReinUsesLisp2021-07-232-0/+0
| |
* | spirv: Initial bindings supportReinUsesLisp2021-07-231-0/+0
| |
* | shader: Add support for forward declarationsReinUsesLisp2021-07-231-0/+0
| |
* | shader: Initial implementation of an ASTReinUsesLisp2021-07-231-0/+0
| |
* | spirv: Initial SPIR-V supportReinUsesLisp2021-07-231-0/+0
| |
* | emu_window_sdl2_vk: Use the generated SDL configlat9nq2021-07-161-1/+1
|/ | | | | | | | | | | On Linux, due to the way we include SDL2 as a submodule, it makes it difficult for us to specify which SDL_config.h we intended to include. Before, CMake would default to the dummy one included with SDL and ignore the generated one. This tells CMake to use the generated one. In addition, we define USING_GENERATED_CONFIG_H to throw an error in case the dummy config is used by accident. Fixes Vulkan not working on Linux yuzu-cmd.
* Merge pull request #6459 from lat9nq/ubuntu-fixesAmeer J2021-07-011-0/+11
|\ | | | | cmake: Improve Linux dependency checking for externals
| * cmake: Fix find_program usage for 3.15lat9nq2021-06-131-0/+11
| | | | | | | | | | | | | | | | | | | | yuzu requires CMake 3.15 yet find_program was using REQUIRED, which is only available on 3.18 and later. Instead, we check for "<VAR>-NOTFOUND". In addition, check for additional requirements before building libusb or FFmpeg with autotools. Otherwise, CMake configuration will pass yet compilation will fail.
* | libusb: Apple is a POSIX systemMerryMage2021-06-261-1/+1
| |
* | externals: Update dynarmic to allow fmt compilation to succeedLioncash2021-06-231-0/+0
| |
* | Merge pull request #6499 from FernandoS27/we-were-on-a-breakbunnei2021-06-211-0/+0
|\ \ | | | | | | Update dynarmic and add new unsafe CPU option.
| * | Update dynarmic and add new unsafe CPU option.Fernando Sahmkow2021-06-201-0/+0
| | |
* | | externals: httplib: replace custom httplib header with upstream as submodule.Vortex2021-06-184-6730/+1
|/ / | | | | | | This also includes a minor change to web_service.cpp - to fix compatibility with upstream changes.
* | update submodule discord-rpc to latest [now deprecated]Vortex2021-06-181-0/+0
| |
* | Merge pull request #6418 from clementgallet/sdl-audio-backendbunnei2021-06-171-2/+2
|\ \ | |/ |/| Audio: SDL2 audio backend
| * Add SDL2 audio backendClément Gallet2021-06-061-2/+2
| |
* | externals: Don't set FOUND or VERSION on LIBUSBlat9nq2021-06-111-3/+3
| | | | | | | | | | | | | | | | | | Fixes an issue where libusb.h wouldn't be found when building yuzu on MSVC. This only affects the "traditional" CMake pathway for linking libusb to yuzu AKA MSVC. For autotools we still want to set these variables before configuring SDL.
* | core: Make use of fastmemMarkus Wick2021-06-111-0/+0
| |
* | externals: Update SDL to 2f248a2alat9nq2021-06-111-0/+0
| |
* | Merge pull request #6407 from lat9nq/fix-libusb-2bunnei2021-06-112-27/+52
|\ \ | | | | | | cmake: Use autotools for libusb linking generally on GNU, and cleanup
| * | externals: libusb: Call program names not full pathslat9nq2021-06-031-4/+4
| | |
| * | externals: libusb: Link libusb statically on Linuxlat9nq2021-06-031-11/+13
| | | | | | | | | | | | Turns out that this is possible. Also addresses my own review comment.
| * | cmake: General improvements to libusb linkinglat9nq2021-06-032-9/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Delegates libusb external communication to externals/CMakeLists.txt Ensures an interface library `usb` for every pathway input_common just links to the `usb` library now externals/libusb/CMakeLists.txt sets variables to override SDL2's libusb finding Other minor cleanup
| * | cmake: Use autotools to build libusb generally for GNUlat9nq2021-06-031-16/+28
| |/ | | | | | | | | | | | | | | | | | | Building libusb was also broken on GCC (and maybe Clang) on our CMakeLists after upgrading to 1.0.24, but it was not being checked because our 18.04 container had libusb installed on it. This builds on the MinGW work from earlier and extends it to the rest of the GNU toolchains. In addition we make use of pkg-config when present to find libusb. pkg-config is preferrable because we can specify a minimum required version.
* / externals: Update dynarmicReinUsesLisp2021-06-051-0/+0
|/
* externals: Use defaults for building SDL2 on WIN32lat9nq2021-05-311-11/+13
| | | | | | Whatever those settings do breaks controller detection on Windows, at least with the MinGW container. If-guard it against WIN32 and just let SDL2 configure using its defaults, aside from static linking.
* externals: libusb: Use autotools for MinGWlat9nq2021-05-311-138/+222
| | | | | | | | | | | | After updating to 1.0.24, MinGW fails to build libusb as a result of numerous errors. So we build libusb their way and let them update the nontrivial stuff. This only applies to MinGW: the old path is still in use for Linux toolchains as well as MSVC. This will dynamically link libusb, since I hit build errors with the old way we used to resolve the conflict with SDL2.
* Merge pull request #6344 from german77/update-libusbbunnei2021-05-302-3/+3
|\ | | | | Update libusb to 1.0.24
| * Update libusb to 1.0.24german772021-05-212-3/+3
| |
* | externals: Update dynarmic.Markus Wick2021-05-291-0/+0
|/ | | | The new version supports fastmem on a64.
* Merge pull request #6293 from v1993/masterMorph2021-05-161-0/+12
|\ | | | | On Linux, build SDL2 from externals with HIDAPI support
| * Only build SDL2 subsystems that we usev19932021-05-101-1/+12
| | | | | | | | While at it, use better way to enable HIDAPI.
| * On Linux, build SDL2 from externals with HIDAPI supportv19932021-05-091-0/+1
| |
* | Merge pull request #6300 from Morph1984/mbedtlsAmeer J2021-05-141-0/+0
|\ \ | | | | | | externals: Update mbedtls to 8c88150ca
| * | externals: Update mbedtls to 8c88150caMorph2021-05-111-0/+0
| |/
* / externals: Checkout 79e8d17024 for FFmpeglat9nq2021-05-131-0/+0
|/ | | | | | | | 6b6b9e593d does not exist on FFmpeg master, and tag n4.3.1 requires manually fetching all of FFmpeg's tags. `git` reports that the commit does not exist initially and can be confusing as a result. Instead, checkout the immediately previous commit from n4.3.1 on their master branch.
* externals: Use SDL2 staticallylat9nq2021-05-091-0/+3
| | | | | | | | | | | Building it as a shared library causes issues distributing it to an AppImage, since linuxdeploy expects the executable to only dynamically link to system libraries. Additionally, simply dynamically linking to a library in the binary directory is bound to cause issues. Solution is to use SDL's CMake switches and build it statically. We also alias `SDL2` to `SDL2-static` on the external submodule for compatibility with the rest of the project.
* externals: Update SDL to 107db2d8lat9nq2021-05-091-0/+0
| | | | | In light of 72a49c2bbcce46c24b6d8ee0592989a507dcd68a, the SDL submodule also needs updated. Updates to the same commit used by the SDL package in ext-windows-bin.
* cmake: Use SDL 2.0.14 and fix CMake scope issuelat9nq2021-04-182-2/+1
| | | | | | | | | | Forces using SDL 2.0.14. Upgrades the SDL external to that version. Adds a message when switching to the external. Fixes an error where input_common only links to SDL when SDL2_FOUND is set, but externals/CMakeLists cannot set that variable to the required scope. Switch to using ENABLE_SDL2, which we can use since we now include the SDL source.
* externals: Add SDL 2.0.12lat9nq2021-04-172-0/+6
| | | | | | Since Bintray is (soon to be) no more, there needs to be a way to acquire SDL2. Since 20.04's version is older than our minimum required version (2.0.12), add it as an external.
* externals: Update dynarmic to b2a4da5eMerryMage2021-04-111-0/+0
|
* externals: Search for shared opus installation.Markus Wick2021-04-083-2/+8
| | | | | | | We had used conan for opus before, but there was a bug in the AVX detection. However we still had the Findopus.cmake file within the repository, but not used. This patch reenables the Findopus helper and prefer the system wide installation of opus.
* arm_dynarmic: Increase size of code cacheMerryMage2021-04-021-0/+0
|
* Merge pull request #6129 from degasus/cmake_libzipbunnei2021-04-023-74/+74
|\ | | | | externals/cmake: Fix case spelling of libzip.
| * externals: Fix case spelling of libzip.Markus Wick2021-04-023-74/+74
| | | | | | | | | | CMake is case senstive, so Libzip vs LIBZIP was a bug. Upstream calls themself libzip, so let's pick this naming.
* | externals: dynarmic: Update to latest rev. to increase code size.bunnei2021-04-011-0/+0
|/ | | | | - The current limits are being hit in yuzu with some games. - This should fix the slowdowns in newer updates for Super Smash Bros. Ultimate.
* externals: Update dynarmic to c28f13afMerryMage2021-03-271-0/+0
| | | | AVX-512 bugfixes
* externals/libusb/CMakeLists: Add /utf-8 compile option for MSVCMorph2021-03-151-0/+5
|
* external: Update dynarmicLioncash2021-03-081-0/+0
|
* externals: Update mbedtls to 2.16.9Morph2021-03-051-0/+0
| | | | mbedtls 2.16 is the last version which has licensing for GPL 2.0. This updates mbedtls to our own fork of mbedtls 2.16
* Implement glDepthRangeIndexeddNVKelebek12021-02-242-0/+5
|
* externals: Update dynarmic to latestlat9nq2021-02-181-0/+0
| | | | | Updates dynarmic to its latest commit. Includes a fix for argument limits while compiling with Clang 12.
* ffmpeg: Checkout tag n4.3.1lat9nq2021-02-061-0/+0
| | | | | Target a specific release version rather than some random development commit.
* CMakeLists: Use bundled FFmpeg as a fallbacklat9nq2021-02-061-8/+13
| | | | | | | | | | | | Sets YUZU_USE_BUNDLED_FFMPEG as a CMake dependent option that is OFF on Linux and ON for WIN32 targets. If FFmpeg is not found when YUZU_USE_BUNDLED_FFMPEG is OFF, the bundled module/binaries are used instead. Reverts earlier changes to FindFFmpeg a bit, mostly to keep parity with it's Citra version a bit. Now _FFmpeg_ALL_COMPONENTS lists all components. We overwrite FFmpeg_LIBRARIES and FFmpeg_INCLUDE_DIR after using the module.
* CMake: Port citra-emu/citra FindFFmpeg.cmakelat9nq2021-02-051-80/+162
| | | | | | | | | | | Also renames related CMake variables to match both the Find*FFmpeg* and variables defined within the file. Fixes odd errors produced by the old FindFFmpeg. Citra's FindFFmpeg is slightly modified here: adds Citra's copyright at the beginning, renames FFmpeg_INCLUDES to FFmpeg_INCLUDE_DIR, disables a few components in _FFmpeg_ALL_COMPONENTS, and adds the missing avutil component to the comment above.
* externals: Add submodule ffmpeglat9nq2021-02-051-0/+0
|
* externals: Dynarmic: Update to latest to include A32 ISB hook.bunnei2021-01-301-0/+0
| | | | - Fixes perf. issues with Megadimension Neptunia VII.
* externals: Update dynarmic to 0f27368fMerryMage2021-01-271-0/+0
|
* externals: Update dynarmic to 3806284cbMerryMage2021-01-021-0/+0
|
* dynarmic: Add Unsafe_InaccurateNaN optimizationMerryMage2021-01-021-0/+0
|
* externals: Update DynarmicReinUsesLisp2020-12-291-0/+0
| | | | | Keeps yuzu up to date with the latest changes and introduces a change needed for a lock-free optimization our side.
* cmake: Always enable VulkanReinUsesLisp2020-12-251-3/+1
| | | | | Removes the unnecesary burden of maintaining separate #ifdef paths and allows us sharing generic Vulkan code across APIs.
* Update cubeb and request a persistent stream sessionVitor Kiguchi2020-12-051-0/+0
|
* core: Remove usage of unicornLioncash2020-11-041-0/+0
| | | | | | | | 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.
* microprofile: Silence warning in headersLioncash2020-11-031-1/+5
| | | | | Silences a truncation warning by making the truncation explicit and documenting the reason for it.
* common: Enable warnings as errorsLioncash2020-11-021-6/+8
| | | | Cleans up common so that we can enable warnings as errors.
* web_service: follow-up fix to #4842 ...liushuyu2020-10-292-212/+441
| | | | | | | | | | | * 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.
* Merge pull request #4845 from lioncash/inihbunnei2020-10-281-0/+0
|\ | | | | externals: Track upstream inih
| * externals: Update inih to r52Lioncash2020-10-281-0/+0
| |
* | externals: auto detect system OpenSSLliushuyu2020-10-271-2/+2
| |
* | web_backend: fix a regression introduced in 39c8d18liushuyu2020-10-276-381/+14
|/ | | | | | | | | | | | | | | | * 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.
* video_core: NVDEC Implementationameerj2020-10-271-0/+100
| | | | | | | | | | | | | | 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>
* Revert "core: Fix clang build"bunnei2020-10-211-2/+2
|
* core: Fix clang buildLioncash2020-10-181-2/+2
| | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* core/CMakeLists: Make some warnings errorsLioncash2020-10-132-1374/+3080
| | | | | | | | | 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.
* Merge pull request #4611 from lioncash/xbyak2bunnei2020-09-041-0/+0
|\ | | | | externals: Update Xbyak to 5.96
| * externals: Update Xbyak to 5.96Lioncash2020-08-301-0/+0
| | | | | | | | | | | | | | | | | | 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.
* | externals: Work around libusb duplicate GUID errorsLioncash2020-09-031-0/+3
| | | | | | | | | | | | | | 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.
* | Merge pull request #4584 from lioncash/libusbbunnei2020-09-024-0/+237
|\ \ | | | | | | externals: Track upstream libusb directly
| * | externals: Track upstream libusbLioncash2020-08-263-0/+237
| | | | | | | | | | | | | | | | | | | | | 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.
| * | externals: Untrack non-upstream variant of libusbLioncash2020-08-261-0/+0
| |/ | | | | | | | | We shouldn't be tracking personal forks of repositories when upstream can be managed directly.
* | Merge pull request #4587 from yuzu-emu/tsan-microprofilerbunnei2020-09-011-1/+1
|\ \ | |/ |/| externals/microprofile: Fix data race in g_bUseLock
| * externals/microprofile: Fix data race in g_bUseLockReinUsesLisp2020-08-261-1/+1
| | | | | | | | | | As reported by tsan, g_bUseLock had a data race. Fix this using an atomic boolean.
* | externals: Update Xbyak to 5.95Lioncash2020-08-261-0/+0
|/ | | | | | 5.95 contains a potentially backward-compatibility breaking change, so we should be updating to this to ensure that our code remains forward-compatible.
* Merge pull request #4572 from lioncash/xbyakbunnei2020-08-251-0/+0
|\ | | | | externals: Update xbyak to v5.941
| * externals: Update xbyak to v5.941Lioncash2020-08-241-0/+0
| | | | | | | | Keeps the tracked submodule up to date with the latest release.
* | microprofile: Don't memset through std::atomic typesLioncash2020-08-242-125/+144
|/ | | | | | | | | | | | | 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.
* dynarmic: Add unsafe optimizationsMerryMage2020-08-161-0/+0
|
* configuration: Add settings to enable/disable specific CPU optimizationsMerryMage2020-07-111-0/+0
|
* Merge pull request #4266 from jbeich/freebsdbunnei2020-07-081-0/+43
|\ | | | | gcadapter: unbreak build on FreeBSD
| * cmake: unbreak system libusb supportJan Beich2020-07-071-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | Merge pull request #4150 from ReinUsesLisp/dynamic-state-implbunnei2020-07-071-0/+0
|\ \ | |/ |/| vulkan: Use VK_EXT_extended_dynamic_state when available
| * vk_device: Enable VK_EXT_extended_dynamic_state when availableReinUsesLisp2020-06-271-0/+0
| |
* | Fix merge conflicts?Ameer2020-07-044-0/+257
|\ \
| * | externals: Track opus as submodule instead of using conanDavid Marcec2020-07-013-0/+257
| | | | | | | | | | | | Supersedes #4068 see for details.
| * | SVC: Implement 32-bits wrappers and update Dynarmic.Fernando Sahmkow2020-06-271-0/+0
| | |
| * | ARM: Update Dynarmic and Setup A32 according to latest interface.Fernando Sahmkow2020-06-271-0/+0
| | |
| * | Externals: Update Dynarmic.Fernando Sahmkow2020-06-271-0/+0
| | |
| * | ARMInterface/Externals: Update dynarmic and fit to latest version.Fernando Sahmkow2020-06-271-0/+0
| |/
* | update libusb dependencyAmeer2020-06-221-0/+0
| |
* | Update src/input_common/main.cppameerj2020-06-221-0/+0
| | | | | | | | | | | | Co-authored-by: LC <mathew1800@gmail.com> update libusb submodule (hopefully windows build error fixed)
* | Add libusb dependencyAmeer2020-06-211-0/+0
|/
* externals: Revert to libressl, as build is broken with find_package(OpenSSL). (#4093)bunnei2020-06-172-1/+10
| | | | | | | * 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).
* CMakeLists: xbyak comes before dynarmicMerryMage2020-06-151-8/+7
|
* vk_shader_decompiler: Implement atomic image operationsReinUsesLisp2020-06-021-0/+0
| | | | | Implement atomic operations on images. On GLSL these are atomicImage* functions (e.g. atomicImageAdd).
* Add xbyak externalDavid Marcec2020-05-302-0/+8
|
* shader/other: Implement BAR.SYNC 0x0ReinUsesLisp2020-05-221-0/+0
| | | | | Trivially implement this particular case of BAR. Unless games use OpenCL or CUDA barriers, we shouldn't hit any other case here.
* Add version check to Findnlohmann_json.cmakeMarkus Wick2020-05-091-0/+14
|
* Add version check for catch2Markus Wick2020-05-091-0/+14
|
* Add version check to FindfmtMarkus Wick2020-05-091-0/+26
|
* Fix libzip version checkMarkus Wick2020-05-091-11/+14
|
* Check for the zstd versionMarkus Wick2020-05-091-0/+14
|
* Replace externals with Conan (#3735)James Rowe2020-05-0821-17725/+325
| | | | | | | | | | | | | | | | | | | | | * Remove git submodules that will be loaded through conan * Move custom Find modules to their own folder * Use conan for downloading missing external dependencies * CI: Change the yuzu source folder user to the user that the containers run on * Attempt to remove dirty mingw build hack * Install conan on the msvc build * Only set release build type when using not using multi config generator * Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries * Add workaround for submodules that use legacy CMAKE variables * Re-add USE_BUNDLED_QT on the msvc build bot
* externals: Update Vulkan-HeadersReinUsesLisp2020-05-041-0/+0
|
* Merge pull request #3827 from ogniK5377/cubeb-616d773bunnei2020-05-011-0/+0
|\ | | | | externals: Update cubeb to 616d773
| * externals: Update cubeb to 616d773David Marcec2020-04-291-0/+0
| | | | | | | | Support for 6 audio channels
* | Merge pull request #3799 from ReinUsesLisp/iadd-ccbunnei2020-04-301-0/+0
|\ \ | |/ |/| shader: Implement P2R CC, IADD Rd.CC and IADD.X
| * shader/arithmetic_integer: Implement CC for IADDReinUsesLisp2020-04-261-0/+0
| |
* | externals: Update dynarmic to e7166e8bMerryMage2020-04-291-0/+0
|/
* Merge pull request #3697 from lioncash/declarationsbunnei2020-04-232-64/+64
|\ | | | | CMakeLists: Enable -Wmissing-declarations on Linux builds
| * General: Resolve warnings related to missing declarationsLioncash2020-04-172-64/+64
| |
* | Set _FORTIFY_SOURCE=0 if building Opus with mingw-w64H27CK2020-04-221-1/+5
| |
* | dynarmic: Add option to disable CPU JIT optimizationsMerryMage2020-04-201-0/+0
| |
* | externals: Update fmt to 6.2.0Lioncash2020-04-172-2/+2
| | | | | | | | Keeps the library up to date.
* | externals: Update to latest dynarmic.bunnei2020-04-171-0/+0
|/ | | | - Adds memory alignment fixes.
* externals: Use shared libraries if possibleMarkus Wick2020-04-161-19/+65
| | | | | This is mostly done by pkgconfig. I've focused on the larger and more stable libraries.
* externals: Move LibreSSL linking to httplib.Markus Wick2020-04-161-1/+6
| | | | | | Neither core nor web_services use OpenSSL nor LibreSSL. However they need to link them as it's a requirement of httplib. So let's declare this within httplib instead of core and web_services.
* renderer_vulkan: Drop Vulkan-HppReinUsesLisp2020-04-111-0/+0
|
* microprofile: Silence sign comparison warningReinUsesLisp2020-03-191-3/+3
|
* Microprofile: Allow accessing token.Fernando Sahmkow2020-03-121-0/+1
|
* fix issue with windows getnameinfo()Brian Clinkenbeard2020-02-201-1/+1
|
* update httplib to latest commitBrian Clinkenbeard2020-02-192-427/+750
|
* update httplib READMEBrian Clinkenbeard2020-02-181-1/+1
|
* 0.4.2 works tooBrian Clinkenbeard2020-02-181-360/+793
|
* update httplib to 0.2.6Brian Clinkenbeard2020-02-181-336/+645
|
* use config mode for finding SDL2 with CMakeBrian Clinkenbeard2020-02-111-239/+0
|
* vk_shader_decompiler: Implement UAtomicAdd (ATOMS) on SPIR-VReinUsesLisp2020-01-191-0/+0
| | | | Also updates sirit to include atomic instructions.
* core/memory + arm/dynarmic: Use a global offset within our arm page table.Markus Wick2020-01-011-0/+0
| | | | | | This saves us two x64 instructions per load/store instruction. TODO: Clean up our memory code. We can use this optimization here as well.
* vk_shader_decompiler: Update sirit and implement Texture AOFFIReinUsesLisp2019-12-191-0/+0
|
* externals: Update boost-ext to include safe_numerics.bunnei2019-12-141-0/+0
| | | | - This is useful to me for an upcoming change.
* shader: Implement MEMBAR.GLReinUsesLisp2019-12-101-0/+0
| | | | Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
* vk_shader_decompiler: Misc changesReinUsesLisp2019-12-101-0/+0
| | | | | | | | Update Sirit and its usage in vk_shader_decompiler. Highlights: - Implement tessellation shaders - Implement geometry shaders - Implement some missing features - Use native half float instructions when available.
* externals: Update Vulkan-HeadersReinUsesLisp2019-12-091-0/+0
|
* Merge pull request #3091 from lioncash/core-conversionbunnei2019-11-151-1652/+3025
|\ | | | | core: Make most implicit type conversion warnings errors on MSVC
| * externals: Update httplibLioncash2019-11-121-1652/+3025
| | | | | | | | | | | | | | Since the introduction of this library, numerous improvements have been made. Notably, many of the warnings we would get by simply including the library header have now been fixed. This makes it much easier to make conversion warning an error.
* | microprofile: Silence conversion warningsReinUsesLisp2019-11-081-3/+3
|/
* externals: Track upstream libzipLioncash2019-10-304-0/+565
| | | | | | Stops relying on a fork for providing zip handling and instead tracks the upstream branch but keeps any necessary build-related changes in the source tree directly without modifying the libzip target itself.
* externals: Amend zlib submoduleLioncash2019-10-292-0/+81
| | | | | | Supplies CMakeLists.txt file that avoids pulling in zlib's tests into the tree. This avoids needing to explicitly opt these tests out from ctest.
* externals: Track upstream opusLioncash2019-10-243-0/+250
| | | | | | Tracks upstream opus, allowing the library to be easily updated. While we're at it, we incorporate the CMakeLists.txt so that we have easy control over the requirements of the build.
* externals: Move OSS font data to file_sys in coreZach Hilman2019-10-1315-111729/+0
|
* CMakeLists: Make libzip excluded from the ALL targetLioncash2019-10-041-1/+1
| | | | | Likewise, we also only want to link in the libraries that we actually make use of (so we don't need to worry about linking in test targets).
* externals: Use upstream zlibLioncash2019-10-042-3/+3
| | | | | | We don't need to depend on a custom fork for this. We can add the library as is, and then make it excluded from the ALL target, so we only link in the libraries that we actually make use of.
* boxcat: Implement events global fieldZach Hilman2019-09-301-0/+0
|
* externals: Add zlib and libzip libraries to handle ZIP file parsingZach Hilman2019-09-303-0/+6
|
* externals: Update fmt to masterEthan2019-09-261-0/+0
|
* Revert "Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1"David Marcec2019-09-2215-0/+111729
| | | | | This reverts commit fa1c60c33ef88c6cd0b72da46842dc9098db712d, reversing changes made to e34899067b60a69bca02761bd1290c6824bb559a.
* Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1David2019-09-2215-111729/+0
|\ | | | | system_archive: Move shared font data to system_archive and fix extended font data
| * externals: Move OSS font data to file_sys in coreZach Hilman2019-09-2215-111729/+0
| |
* | externals: Update dynarmic to masterEthan2019-09-211-0/+0
|/
* externals: Update Vulkan headersReinUsesLisp2019-09-131-0/+0
|
* externals: update fmt to 6.0.0Ethan2019-08-291-0/+0
|
* Revert "externals: Update FMT to 6.0.0"James Rowe2019-08-291-0/+0
| | | | This reverts commit ca4ca8a6dc41207de99f67de1931579ceb4d9660.
* externals: Update FMT to 6.0.0Ethan2019-08-291-0/+0
|
* vk_shader_decompiler: Misc fixesReinUsesLisp2019-05-261-0/+0
| | | | | | | | | | | | Fix missing OpSelectionMerge instruction. This caused devices loses on most hardware, Intel didn't care. Fix [-1;1] -> [0;1] depth conversions. Conditionally use VK_EXT_scalar_block_layout. This allows us to use non-std140 layouts on UBOs. Update external Vulkan headers.
* externals: Update glad to support OpenGL 4.6 compatibility profileReinUsesLisp2019-05-223-542/+2983
| | | | | | | | Now that we have an OpenGL compatibility profile we might want to use OpenGL compatibility symbols that are not available in our current glad. This commit has been generated with https://glad.dav1d.de/ with all extensions enabled and OpenGL 4.6 compatibility profile.
* externals: Update dynarmic to masterLioncash2019-05-072-4/+4
| | | | Better instruction support has been added since the last update.
* video_core: Add sirit as optional dependency with VulkanReinUsesLisp2019-04-102-0/+5
| | | | sirit is a runtime assembler for SPIR-V
* externals: Add libzstd_static to externals CMakeLists.txtunknown2019-03-291-0/+4
|
* externals: Add Zstandard v1.3.8unknown2019-03-291-0/+0
|
* externals: Update opus to latest masterLioncash2019-03-161-0/+0
| | | | Prevents yuzu from getting 2000+ warnings in MSVC in a future change.
* externals: Update cubeb to 6f2420de8f155b10330cf973900ac7bdbfee589dLioncash2019-02-271-0/+0
| | | | Keeps the audio library we use up to date.
* vk_memory_manager: Implement memory managerReinUsesLisp2019-02-191-0/+0
| | | | | A memory manager object handles the memory allocations for a device. It allocates chunks of Vulkan memory objects and then suballocates.
* gitmodules: Add Vulkan headers dependencyReinUsesLisp2019-02-121-0/+0
|
* externals: Update fmt to 5.3.0Lioncash2018-12-301-0/+0
| | | | Updates fmt from 5.2.1 to 5.3.0
* Merge pull request #1725 from FernandoS27/gl43bunnei2018-11-242-2164/+2693
|\ | | | | Update OpenGL's backend version from 3.3 to 4.3
| * Update OpenGL's backend version from 3.3 to 4.3FernandoS272018-11-212-2164/+2693
| |
* | common: Remove dependency on xbyakLioncash2018-11-212-9/+0
|/ | | | | | | Xbyak is currently entirely unused. Rather than carting it along, remove it and get rid of a dependency. If it's ever needed in the future, then it can be re-added (and likely be more up to date at that point in time).
* Handle missing git info when buildingMichał Janiszewski2018-10-291-2/+6
|
* externals/mbedtls: Enable CMAC moduleZach Hilman2018-10-071-0/+0
| | | | Required for keyblob verification
* Update fmt to 5.2.1Weiyi Wang2018-10-061-0/+0
| | | | It seems to fix msvc warnings
* Review comments - part 3fearlessTobi2018-10-021-1/+1
|
* Address more review commentsfearlessTobi2018-10-021-4/+4
|
* Port web_service from CitrafearlessTobi2018-10-022-0/+0
|
* Add submodulesfearlessTobi2018-10-029-0/+20063
|
* externals: Update dynarmic to 4e6848dMerryMage2018-09-301-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 4e6848d A32/ir_emitter: Bugfix: ExceptionRaised was producing incorrect PC 41ba9fd value: Move ImmediateToU64() to be a part of Value's interface c6a6271 reg_alloc: Emit AVX instructions where able aedd32a abi: Emit AVX instructions where able f2d9337 a64_exclusive_monitor: Loosen memory ordering requirements 7ca709d travis: Make macOS builds use Xcode 10 14dd45e Fix VShift terminology 88554c4 emit_x64_vector: AVX512 implementation of EmitVectorLogicalVShiftS16 ab4e316 emit_x64_vector: AVX512 implementation of EmitVectorLogicalVShiftS64 0ea84f3 emit_x64_vector: AVX2 implementation of EmitVectorLogicalVShiftS32 c77a2c5 emit_x64_vector: AVX512 implementation of EmitVectorLogicalVShiftU16() e9441fd emit_x64_vector: AVX2 implementation of EmitVectorLogicalVShiftU64() 0e9c33c emit_x64_vector: AVX2 implementation of EmitVectorLogicalVShiftU32() 8f85274 emit_x64_vector: SSSE3 variant of EmitVectorCountLeadingZeros8() be05e75 Merge pull request #397 from VelocityRa/dec-shift-fix bc328fc decoders: Cast to correctly-sized type before shifting 9c3d2d1 a64_emit_x64: Lowercase PAGE_SIZE f538d29 emit_x64_vector_floating_point: SSE4.1 implementation of EmitFPVectorToFixed 1603a6e emit_x64_vector_floating_point: EmitFPVectorRoundInt: Use FCODE 2e1ccaf emit_x64_vector: AVX implementation for EmitVectorCountLeadingZeros8 555bfda emit_x64_vector: SSE implementation of EmitVectorCountLeadingZeros16 71c2589 externals: Update Xbyak to 5.73 1ec1b2f Squashed 'externals/xbyak/' changes from 1de435ed..42462ef9
* externals: Update dynarmic to 171d116MerryMage2018-09-191-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 171d116 A64: Implement SCVTF, UCVTF (vector, fixed-point), scalar variant f221bb0 emit_x64_floating_point: Reduce fallback LUT code in EmitFPToFixed eb123e2 A64: Implement FCVTZS, FCVTZU, UCVTF, SCVTF (vector, fixed-point), vector variant 487d37a A64: Implement UQSHL's vector immediate and register variants f698933 ir: Add opcodes for unsigned saturating left shifts 7148e66 A64/translate/impl: Make signatures consistent for unimplemented by-element SIMD variants fdde4ca A64: Implement BRK b1490db A64/imm: Add full range of comparison operators to Imm template 1ec40ef IR: Add fbits argument to FPVectorFrom{Signed,Unsigned}Fixed d6d5e98 A64: Implement SCVTF, UCVTF (scalar, fixed-point) 6513595 opcodes.inc: Align columns to a tabstop of 4 6b0d2b5 IR: Add fbits argument to FixedToFP-related opcodes c4b3831 A64: Implement SQSHL's vector immediate variant e0d8d2d A64: Implement SQSHL's vector register variant 5327625 ir: Add opcodes for left signed saturated shifts 9705252 branch: Make variables const where applicable 650946e move_wide: Make variables const where applicable 62b3a6d load_store_register_unprivileged: Make variables const where applicable 3add1c7 load_store_register_immediate: Place conditional bodies on their own line 2fc4088 load_store_load_literal: Make variables const where applicable b2c1462 data_processing_logical: Move datasize declarations after early-exit conditionals 028028f data_processing_conditional_select: Make variables const where applicable c66042d data_processing_addsub: Move datasize declarations after early-exit conditionals 6bc546e data_processing_bitfield: Move datasize variables after early-exit conditionals 2aad5fa A64: Implement CLS's vector variant 6c877ff emit_x64_vector: Make EmitVectorUnsignedSaturatedAccumulateSigned() internally linked 4b5926d perf_map: Use std::string_view instead of std::string for PerfMapRegister() 7445947 A64: Implement SQRDMULH (vector), vector variant 03b80f2 A64: Implement SQDMULL (vector), vector variant 4a2c596 IR: Add VectorSignedSaturatedDoublingMultiplyLong 59dc33e emit_x64_vector: Changes to VectorSignedSaturatedDoublingMultiply bbaebeb IR: Implement Vector{Signed,Unsigned}Multiply{16,32} baac5a8 backend_x64/a64_interface: Re-enable the constant folding pass e78ca19 emit_x64_vector_floating_point: Hardware FMA implementation for RSqrtStepFused 8a5ae9a emit_x64_vector_floating_point: Hardware FMA implementation of FPVectorRecipStepFused 39818f9 emit_x64_floating_point: Hardware FMA implementation of FPRSqrtStepFused 3d0a0b4 emit_x64_floating_point: Hardware FMA implementation of FPRecipStepFused{32,64} 2293dff emit_x64_vector: SSE implementation of VectorSignedSaturatedAccumulateUnsigned{8,16,32} 2047683 emit_x64_vector: Correct static asserts for < 64-bit type checks in saturated accumulate fallbacks 55e9e40 emit_x64_vector: EmitVectorSignedSaturatedAccumulateUnsigned64: SSE implementation 1076651 emit_x64_vector: Simplify fpsr_qc related code 4039030 A64: Implement CLZ's vector variant 0bb908f ir: Add opcodes for vector CLZ operations 3b13259 A64/translate: VectorZeroUpper for V(64) stores 1931d44 simd_two_register_misc: FNEG (vector) with Q == 0 had dirty upper a0790f0 emit_x64_vector: Remove unnecessary [[maybe_unused]] attributes b0e1eb5 A64: Implement USQADD's scalar and vector variants 28424c7 ir: Add opcodes form unsigned saturated accumulations of signed values 9923ea0 A64: Implement SUQADD's scalar and vector variants 4c0adbb ir: Add opcodes for signed saturated accumulations of unsigned values 799bfed A64: Implement SMLAL{2}, SMLSL{2}, UMLAL{2}, and UMLSL{2}'s vector by-element variants 94451ec A64: Implement UMULL{2}'s vector by-element variant 45867de A64: Implement SMULL{2}'s vector by-element variant 0235793 ir/value: Replace includes with forward declarations 450f721 ir/cond: Migrate to C++17 nested namespace specifiers e649988 CMakeLists: Add missing cond.h header to file listing d20e769 A64: Implement URSQRTE 4f3bde5 ir: Add opcodes for performing unsigned reciprocal square root estimates cfeeaec A64: Implement URECPE 622b60e ir: Add opcodes for unsigned reciprocal estimate d17599a Update Xbyak to 5.71 f7c26e9 Squashed 'externals/xbyak/' changes from 671fc805..1de435ed 8782b69 travis: Make macOS build with Xcode 9.4.1 b575b23 A64: Implement SQNEG's scalar and vector variant 06062a9 A64: Add opcodes for signed saturating negations 1c40579 emit_x64_vector: Simplify "position == 0" case for EmitVectorExtract() e335050 emit_x64_vector: Simplify "position == 0" case for EmitVectorExtractLower() 8b13421 A64: Implement SQDMULH's by-element scalar variant 9122a6e A64: Implement SQDMULH's by-element vector variant 176e60e backend/x64: Do not clear fast_dispatch_table if not enabled
* Merge pull request #1163 from FearlessTobi/add-audio-stretchingbunnei2018-09-132-0/+3
|\ | | | | audio_core: Add audio stretching support
| * Add audio stretching supportfearlessTobi2018-09-082-0/+3
| |
* | externals: Place font data within cpp filesLioncash2018-09-1119-111661/+111721
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This places the font data within cpp files, which mitigates the possibility of the font data being duplicated within the binary if it's referred to in more than one translation unit in the future. It also stores the data within a std::array, which is more flexible when it comes to operating with the standard library. Furthermore, it makes the data arrays const. This is what we want, as it allows the compiler to store the data within the read-only segment. As it is, having several large sections of mutable data like this just leaves spots in memory that we can accidentally write to (via accidental overruns, what have you) and actually have it work. This ensures the font data remains the same no matter what.
* | Use open-source shared fonts if no dumped file is available (#1269)Tobias2018-09-119-0/+111669
| | | | | | | | | | | | * Add open-source shared fonts * Address review comments
* | Externals: Update xbyakJames Rowe2018-09-091-0/+0
|/
* externals: Update dynarmic to 9594465MerryMage2018-09-071-0/+0
| | | | | | | | | | | | | | | | | | | 9594465 A64: Implement FastDispatchHint 2be95f2 A32: Implement FastDispatchHint 96f23ac ir/terminal: Add FastDispatchHint f5ca9e9 A64: Implement SQDMULH's scalar variant af8bea5 ir: Add opcodes for scalar signed saturated doubling multiplies fed4220 A64: Implement SQDMULH's vector variant 72eb6ad ir: Add opcodes for signed saturated doubling multiplies 0f8ae84 externals: Update catch to 2.4.0 235165b A64: Implement SQABS' scalar variant 1adca93 A64: Implement SQABS' vector variant. f978c44 ir: Add opcodes for signed saturated absolute values d895a84 emit_x64_floating_point: EmitFPToFixed: maxsd optimization c624fe3 emit_x64_floating_point: ZeroIfNaN: pxor -> xorps e987a84 IR: Simplify FP{Single,Double}ToFixed{U,S}{32,64} f1babc8 externals: Update catch to 2.3.0 a0c587a A32/decoder: Add missing <algorithm> includes
* externals: Update dynarmic to 0435ac2Lioncash2018-09-031-0/+0
|
* Merge pull request #1159 from lioncash/fmtJames Rowe2018-08-231-0/+0
|\ | | | | externals: Update fmt to 6201052
| * externals: Update fmt to 6201052Lioncash2018-08-221-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we'd get warnings like: " c:\projects\yuzu\externals\fmt\include\fmt\format.h(2868): warning C4127: conditional expression is constant [C:\projects\yuzu\msvc_build\externals\dynarmic\src\dynarmic.vcxproj] " spamming the build output when compiling on Windows. This updates fmt to include the upstreamed fix that silences this warning.
* | externals/boost: Update to 1.68.0Lioncash2018-08-221-0/+0
|/ | | | | | | | | | | | This updates the submodule to use 1.68.0. Notably, it gets rid of the silly "Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an update Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message." message that spams the output of the build process on Windows.
* externals: Update dynarmic to a42f301c.bunnei2018-08-211-0/+0
|
* dynarmic: Update to 550d662MerryMage2018-08-161-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 550d662 load_store_exclusive: Define s == t state to be Constraint_NONE 0b69381 A64/translate: Allow for unpredictable behaviour to be defined 6d236d4 system: Implement MRS CNTFRQ_EL0 6cbb6fb A32/testenv: Add missing headers 6729328 externals: Update xbyak to v5.67 1812bd2 Squashed 'externals/xbyak/' changes from 2794cde7..671fc805 9a95802 externals: Document subtrees 714a840 A64: Implement SQ{ADD, SUB}, and UQ{ADD, SUB}'s vector variants 8cab459 A64: Implement UQADD/UQSUB's scalar variants 18a8151 ir: Add opcodes for unsigned saturating add and subtract a5660ee x64/reg_alloc: Use type alias for array returned by GetArgumentInfo() 29489b5 ir/value: Use type alias CoprocessorInfo for std::array<u8, 8> e23ba26 status_register_access: Add support for bits 0 and 1 of mask to MSR 55190bd fuzz_with_unicorn: Split utility functions into fuzz_util 23b049d A32/translate/load_store: Correct detection of writeback 7ec9f15 A32/translate: Add TranslateSingleInstruction efeecb4 A32/ir_emitter: Bug fix: IREmitter::ExceptionRaised using incorrect opcode 08d1d19 A32/decoders: Split instruction list into include file 2d929cc tests: Refactor unicorn_emu to allow for A32 unicorn f672368 microinstruction: Improve assert messages 7ebff50 emit_x64_vector: EmitVectorNarrow16: AVX512 implementation edce230 emit_x64_vector: EmitVectorNarrow32: prefer pblendw to loading constant
* dynarmic: Update to 0118ee0MerryMage2018-08-101-0/+0
| | | | 0118ee0 emit_x64_vector: packusdw is SSE4.1
* Merge pull request #969 from lioncash/lz4bunnei2018-08-081-1/+1
|\ | | | | externals/CMakeLists: Add EXCLUDE_FROM_ALL to lz4's add_subdirectory() command
| * externals/CMakeLists: Add EXCLUDE_FROM_ALL to lz4's add_subdirectory() commandLioncash2018-08-081-1/+1
| | | | | | | | | | | | We don't need to build the lz4 CLI tool, or anything else. We just want to build in the library statically, so we specify this to ensure that. Now, we don't potentially build unnecessary targets.
* | Merge pull request #972 from lioncash/catchbunnei2018-08-081-0/+0
|\ \ | | | | | | externals: Update catch to 2.3.0
| * | externals: Update catch to 2.3.0Lioncash2018-08-081-0/+0
| |/ | | | | | | Updates the library from 2.2.3 to 2.3.0
* / externals/mbedtls: Update to mbedtls v2.12.0Zach Hilman2018-08-081-0/+0
|/
* Merge pull request #948 from hcorion/fix-mbedtls-installing-filesbunnei2018-08-072-2/+2
|\ | | | | CMakeLists: Make mbedtls and cubeb not install headers and libraries
| * Make mbedtls and cubeb not install headers and librariesZion Nimchuk2018-08-072-2/+2
| |
* | externals: Update glad to 0.1.26Lioncash2018-08-072-3190/+3218
|/ | | | | Updates the library from 0.1.25. Mainly fixes issues related to macOS, but we may as well update the library.
* externals: Update dynarmic to 4f96c63MerryMage2018-08-051-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4f96c63 emit_x64_vector_floating_point: Simplify FPVector{Min,Max} e15fdfe emit_x64_vector_floating_point: Simplify Get*Vector functions 734a00b emit_x64_floating_point: Remove EmitProcessNaNs fd45191 devirtualize: Replace DEVIRT macro with function template 67ba5d0 fuzz_with_unicorn: Remove FCVT_float from ignore list 66e6dd1 a32_emit_x64: std::move A32::UserConfig in the constructor b4890b6 emit_x64_floating_point: Use EmitPostProcessNaNs in EmitFPMulX 18b2943 emit_x64_floating_point: Remove unnecessary DenormalsAreZero from EmitFPSingleToDouble and EmitFPDoubleToSingle df1f81f emit_x64_floating_point: Simplify EmitFP{Min,Max}{,Numeric}{32,64} 21fb1c3 emit_x64_floating_point: Reduce NaN processing overhead f5c9f0f A64: Implement FMULX, scalar single/double variant 8f47773 IR: Implement FPMulX IR instruction 79e6440 fuzz_with_unicorn: Randomize SP 33c80e3 fuzz_with_unicorn: Randomize PC 8d41024 testenv: Make code_mem mobile a9fae0e emit_x64_vector: Vectorize 32-bit variants of paired min/max 8926a92 emit_x64_vector: Improve code emission of VectorGetElement* for index == 0 e20bd38 reg_alloc: Do a UseScratch if a Use destination is too small a19fa0e fuzz_with_unicorn: Randomize FPCR.AHP and FPCR.FZ16 775f368 emit_x64_floating_point: AVX implementation of ForceToDefaultNaN 71018a1 emit_x64_vector_floating_point: Prefer blendvp{s,d} to vblendvp{s,d} where possible 137f4b3 backend_x64: Remove all use of xmm0 e73d67a emit_x64_vector_floating_point: AVX implementation of ForceToDefaultNaN 43cca54 emit_x64_vector_floating_point: Reduce codesize of ForceToDefaultNaN 5dc40f4 emit_x64_vector_floating_point: Reduce codesize of EmitTwoOpVectorOperation 07622ee emit_x64_vector_floating_point: Correct FMA in FTZ mode 621c85b emit_x64_floating_point: DenormalsAreZero is redundant as hardware already does DAZ 3d0ebaa emit_x64_floating_point: FlushToZero is redundant as hardware already does FTZ f626ff8 backend_x64: Fix FPVectorMulAdd and FPMulAdd NaN handling with denormals adeb9d9 a32/fuzz_arm: Disable vfp tests 19ea70d fuzz_with_unicorn: Randomize FPCR.FZ 895db36 backend_x64: Fix bugs when FPCR.FZ=1 d7e2de2 fuzz_with_unicorn: Extract RandomFpcr function c858d6c fp/info: Deduplicate functions 5b88ec2 emit_x64_floating_point: Deduplicate EmitFPMulAdd implementation
* Update mbedtls and fix compile errorZach Hilman2018-08-011-0/+0
|
* Remove files that are not usedZach Hilman2018-08-012-0/+4
|
* audio_core: Implement Sink and SinkStream interfaces with cubeb.bunnei2018-07-311-0/+6
|
* externals: Add cubeb for audio output.bunnei2018-07-311-0/+0
|
* Implemented various hwopus functions (#853)David2018-07-312-0/+4
|
* externals: Update dynarmic to 73d3efcMerryMage2018-07-301-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 73d3efc emit_x64_floating_point: Deduplicate code c9508c3 fuzz_with_unicorn: Randomize FPCR.DN 2970833 emit_x64_vector_floating_point: Fix FPVector{Max,Min} when FPCR.DN = 1 150764f emit_x64_floating_point: Fix FP{Max,Min} when FPCR.DN = 1 b7d209c IR: SSE4.1 implementation of FPVectorRoundInt 8cf8270 A64: Implement FRINT{N,M,P,Z,A,X,I} (vector), single/double variant 8f46c26 IR: Initial implementation of FPVectorRoundInt 97017bb A64: Implement SQADD and SQSUB, scalar variant ce58863 IR: Generalise SignedSaturated{Add,Sub} to support more bitwidths e80f8ff a64_emit_x64: Bugfix EmitA64OrQC - Incorrect argument 1e4ec7e simd_three_same: Extract non-paired SMAX, SMIN, UMAX, UMIN code to a common function 6f9dc9b A64: Implement SMAXP, SMINP, UMAXP, UMINP 1dfb29f ir: Add opcodes for vector paired maximum and minimums 017b510 A64: Implement SMAXV, SMINV, UMAXV, and UMINV aae22ee ir: Add opcodes for performing scalar integral min/max 6ef3af3 A64: Implement PMULL{2} 2a4ce19 translate: Deduplicate GetDataSize() functions 0e01500 floating_point_{conditional}_compare: Deduplicate code 259237c common: Move all cryptographic function to common/crypto c5f1080 a32_emit_x64: BMI2 implementation of A32SetCpsr a23304a a32_emit_x64: Shorten EmitA32GetCpsr 57604d2 a32_emit_x64: Assert that memory layout assumption in EmitA32GetCpsr is valid 945fa48 A64: Implement PMUL 656a404 ir: Add opcode for performing polynomial multiplication 05143df A64: Implement FCVT{N,M,A,P}{U,S} (vector), FCVTZU (vector, integer), single/double variant 34ce767 A64: Implement FCVTZS (vector, integer), single/double variant 0f9bc2d IR: Implement FPVectorTo{Signed,Unsigned}Fixed 0189e44 fp/info: Replace constant value generators with FPValue db16568 emit_x64_vector_floating_point: AVX implementation of FPVector{Max,Min} 31148bd emit_x64_vector_floating_point: Remove unnecessary double jump in HandleNaNs 4c3ca51 A64: Implement FMAX's vector single and double precision variants bf0f21c A64: Implement FMIN's vector single and double precision variants 76f0ca0 IR: Implement FPVector{Max,Min} 6c37c31 FPRecipEstimate: Move offset out of function 59546f3 microinstruction: Update ReadsFromAndWritesToFPSRCumulativeExceptionBits 3f6b03a A64: Implement FRECPS, vector/scalar single/double variants 2d2ca5e IR: Implement FPRecipStepFused, FPVectorRecipStepFused 5cb9f1d A64: Implement FRECPE, vector single/double variant c5a14ab IR: Implement FPVectorRecipEstimate 56f8a0b A64: Implement FRECPE, scalar single/double variant fde69b4 IR: Implement FPRecipEstimate 186e52c IR: Implement FPRecipEstimate cf2e1ae fp: Change FPUnpacked to a normalized representation
* externals: Update dynarmic to 98e2380MerryMage2018-07-251-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 98e2380 fuzz_with_unicorn: Disable testing of FDIV 041b7d5 block_of_code: Add ABI_PARAMS array 2a2371c A64: Implement MLA, MLS (by element), vector single/double variant 78c640a A64: Implement FMLS (vector), single/double variant b6b6993 emit_x64_vector_floating_point: Specify NanHandler::function_type explicitly 4b9d12a emit_x64_vector_floating_point: ChooseOnFsize arguments maybe_unused b1e3616 IR: Implement FPVectorNeg 4343612 A64: Implement FMLA (vector), single/double variant 93eeb25 IR: Implement FPVectorMulAdd 57e5c7e emit_x64_vector_floating_point: Standardize naming scheme bcb9e41 emit_x64_floating_point: Simplify indexers 83aa585 emit_x64_vector_floating_point: Simplify EmitVectorOperation* f4087c8 mp: rename mp.h to mp/function_info.h 1864090 emit_x64_vector: Slightly improve ArithmeticShiftRightByte e048441 emit_x64_vector: Simplify VectorShuffleImpl ff025e8 IR: Implement A64OrQC 6fac68d A64: Implement UQSHRN, UQRSHRN (vector) 5a8d9c3 emit_x64_vector: -0x80000000 isn't -0x80000000 759289e A64: Implement UQXTN (vector) 2a96281 emit_x64_vector: Fix non-SSE4.1 saturated narrowing reconstruction comparison 0682353 A64: Implement SQXTN (vector) 6c5229e emit_x64_vector: packusdw reqiures SSE4.1 158d9b1 A64: Implement SQSHRUN, SQRSHRUN (vector) f886013 simd_shift_by_immediate: Simplify ShiftRight d9b59c6 A64: Implement SQXTUN 50fe28b microinstruction: Reorganize FPSCR related instruction queries d9d036a microinstruction: Add missing FP scalar opcodes to ReadsFromFPSCR() and WritesToFPSCR() db96163 u128: Make Bit() a const-qualified member function f7052ae A64: Implement FRSQRTS (vector), single/double variant 0925ef6 A64: Implement FRSQRTE (vector), single/double variant f4cbbe3 A64: Implement FRSQRTS (scalar), single/double variant 4ef864e IR: Implement FPRSqrtStepFused 9dffeeb fp: Implement FPRSqrtStepFused aa04556 fp: Implement FPNeg cbde1c5 process_nan: Add two operand variant 1ec2663 A64: Implement FMAXP, FMINP, FMAXNMP and FMINNMP's scalar double/single-precision variant 027ddf9 emit_x64_floating_point: Fixup special NaN case in FMA FPMulAdd implementation 75a9f77 fp: Use a forward declaration in fused.h 1ee1630 u128: Implement comparison operators in terms of one another 3b77f48 tests: Print cpu info bed3cc0 u128: StickyLogicalShiftRight requires special-casing for amount == 64 15d04f4 A64: Implement FMLA and FMLS (by element)'s double/single-precision scalar variant 7cfccdf A64: Implement FMUL (by element)'s scalar double/single-precision variant 7d2d62e (fpmuladd) emit_x64_floating_point: Implement accurate fallback for FPMulAdd{32,64} a599eac fp: Implement FPMulAdd d70b90e process_nan: Add FPProcessNaNs3 38ef0e0 block_of_code: Add SysV ABI fifth and sixth parameters 8e2ff56 u128: Add StickyLogicalShiftRight 3b337df u128: Add Multiply64To128 8219075 u128: Add u128::Bit a574dcb u128: Add comparison operators 391d6d4 unpacked: Use ResidualErrorOnRightShift in FPRoundBase 5e0cf9c fp: Remove MantissaT 8c0a84c FPRSqrtEstimate: Improve documentation of RecipSqrtEstimate c41d855 FPRSqrtEstimate: Deduplicate array bounds 4cf055b A64: Implement FMAXV, FMINV, FMAXNMV, and FMINNMV bf24f0f FPRSqrtEstimate: Use forward declarations where applicable 206230e translate: Return by bool in helpers where applicable 346b725 Simplify fallback case for EmitVectorSetElement64() 2c34e1d emit_x64_floating_point: s/Esimate/Estimate/ 5213fb6 simd_scalar_two_register_misc: Implement FRSQRTE, scalar variant 7ed089f IR: Implement FPRSqrtEstimate cd2e286 simd_vector_x_indexed_element: Implement FMUL (by element), vector variant
* externals: Update dynarmic to fc6b73bdMerryMage2018-07-221-0/+0
| | | | | | | | | | | | | | Resolves issues: * 128-bit exclusive writes on Windows * Non-updating CNTPCT_EL0 fc6b73 a64_emit_x64: Ensure host has updated ticks in EmitA64GetCNTPCT 888c67 a64_emit_x64: Fix stack misalignment on Windows for 128-bit exclusive writes 352d53 emit_x64_aes: Eliminate extraneous usage of a scratch register in EmitAESInverseMixColumns() ab7fe7 A64: Implement SADDLV 09bd2b A64: Implement UADDLV 62e86d fp: Use forward declarations where applicable b3edb7 emit_x64_vector: Append 'v' prefix onto movq in AVX path
* externals: Update dynarmic to 7ea1241Lioncash2018-07-211-0/+0
| | | | | Resolves an issue with TPIDR setting being erroneously removed in the dead code pass.
* externals: Update glad to version 0.1.25Lioncash2018-07-203-925/+993
| | | | | Keeps the OpenGL loader library up to date. Previously we were at version 0.1.16
* Merge pull request #708 from lioncash/xbyakbunnei2018-07-191-0/+0
|\ | | | | externals: Update Xbyak to 5.65
| * externals: Update Xbyak to 5.65Lioncash2018-07-191-0/+0
| | | | | | | | | | Keeps the JIT assembler library up to date and ensures we don't run into any issues that may have been resolved.
* | externals: Update catch to v2.2.3Lioncash2018-07-191-0/+0
|/ | | | Keeps the unit-testing library up to date.
* Merge pull request #700 from bunnei/update-dynarmicbunnei2018-07-191-0/+0
|\ | | | | externals: Update dynarmic to 5a91c94.
| * externals: Update dynarmic to 5a91c94.bunnei2018-07-191-0/+0
| |
* | externals: update fmt to version 5.1.0Lioncash2018-07-181-0/+0
|/ | | | Previously, we were on 4.1.0, which was a major version behind.
* externals: Update dynarmic to dfdec79Lioncash2018-07-151-0/+0
|
* Merge pull request #585 from janisozaur/patch-11bunnei2018-07-121-3/+3
|\ | | | | Improve directory creation in WindowsCopyFiles.cmake
| * Improve directory creation in WindowsCopyFiles.cmakeMichał Janiszewski2018-06-241-3/+3
| |
* | externals: Update dynarmic to f7d11baa1Lioncash2018-07-071-0/+0
|/
* Revert "Use Ninja for MSVC AppVeyor builds" (#584)bunnei2018-06-231-2/+2
|
* Use Ninja for MSVC AppVeyor buildsMichał Janiszewski2018-06-051-2/+2
|
* externals: Update dynarmicLioncash2018-05-231-0/+0
| | | | Updates dynarmic to revision 990a569b7a5f2518fe08682f5ebf8536e5388d66
* externals: Update dynarmicLioncash2018-04-281-0/+0
| | | | Just a basic update to keep it in sync
* externals: Update dynarmic to HEADLioncash2018-04-201-0/+0
|
* Update fmtlib to fix msvc warningsJames Rowe2018-04-061-0/+0
| | | | | | Additionally, when updating fmtlib, there was a change in fmtlib broke how the old logging macro was overloaded, so this works around that by just naming the fmtlib macro impl something different
* externals: Update fmt to 4d35f94Daniel Lim Wee Soong2018-04-022-0/+1
| | | | | | | | | | | Versions prior to this didn't compile on OpenBSD due to unconditional use of the non-standard strtod_l() function. The fmt::MemoryWriter API has been removed in the intervening versions, so replace its use with fmt::memory_buffer and fmt::format_to. The library also no longer provides the fmt::fmt ALIAS, so define it in externals/CMakeLists.txt.
* dynarmic: Update to 9cc12d8MerryMage2018-03-291-0/+0
| | | | | | 9cc12d8 abi: Missing includes ac35ad5 emit_x64_floating_point: Near jump instead of short jump in FPMinNumberic{32,64} 6f03fdd A64: system: Use an enum class for MRS/MSR register encodings
* dynarmic: Update to 12a1020MerryMage2018-03-271-0/+0
| | | | | | | | | | | | | | | 12a1020 emit_X64_floating_point: Near jmp to end instead of short jmp 6278f83 emit_x64_vector: Fix typo in VectorShuffleImpl 25a0204 A64: Implement REV64 aa92e33 bit_util: Do nothing in RotateRight if the rotation amount is zero e537985 A64: Implement REV32 (vector) f62a258 ir: Add IR opcodes for emitting vector shuffles 36ac6ec emit_x64_vector_floating_point: Fix out of bounds array access in EmitVectorOperation64 20a59a9 A64: Implement REV16 (vector) b2f7bb0 CMakeLists: Add fp_util, macro_util and math_util headers fd21b58 A64: Implement EOR3 and BCAX a48c0bb travis: Use yuzu's unicorn fork 59e62e0 externals: Update catch to v2.2.1
* externals: Update Glad to latest version used by Citra.bunnei2018-03-204-1071/+21262
|
* dynarmic: Update to 6b4c6b0MerryMage2018-02-211-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6b4c6b0 impl: Update PC when raising exception 7a1313a A64: Implement FDIV (vector) b2d781d system: Raise exception for YIELD, WFE, WFI, SEV, SEVL b277bf5 Correct FPSR and FPCR 7673933 A64: Implement USHL 8d0e558 A64: Implement UCVTF (vector, integer), scalar variant da9a4f8 A64: Partially implement FCVTZU (scalar, fixed-point) and FCVTZS (scalar, fixed-point) 7479684 A64: Implement system register TPIDR_EL0 0fd75fd A64: Implement system registers FPCR and FPSR 31e370c A64: Implement system register CNTPCT_EL0 9a88fd3 A64: Implement system register CTR_EL0 1d16896 A64: Implement NEG (vector) 3184edf IR: Add IR instruction ZeroVector 31f8fbc emit_x64_floating_point: Add maybe_unused to preprocess parameter 567eb1a A64: Implement FMINNM (scalar) c6d8fa1 A64: Implement FMAXNM (scalar) 616056d constant_pool: Add frame parameter a3747cb A64: Implement ADDP (scalar) 5cd5d9f reg_alloc: Only exchange GPRs dd0452a A64: Implement DUP (element), scalar variant e5732ea emit_x64_floating_point: Correct FP{Max,Min}{32,64} implementations for -0/+0 40eb9c3 A64: Implement FMAX (scalar), FMIN (scalar) 7cef39b fuzz_with_unicorn: QEMU's implementation of FCVT is incorrect 826dce2 travis: Switch unicorn repository 9605f28 a64/config: Allow NaN emulation accuracy to be set e9435bc a64_emit_x64: Add conf to A64EmitContext 30b596d fuzz_with_unicorn: Explicitly test floating point instructions be292a8 A64: Implement FSQRT (scalar) 3c42d48 backend_x64: Accurately handle NaNs 4aefed0 fuzz_with_unicorn: Print AArch64 disassembly
* updated dynarmicFernandoS272018-02-171-0/+0
|
* arm_dynarmic: Support direct page table accessMerryMage2018-02-122-0/+0
|
* dynarmic: Fix bug due to Windows ABI mismatchMerryMage2018-02-091-0/+0
|
* dynarmic: Update to 41ae12263MerryMage2018-02-092-0/+0
| | | | Changes: Primarily implementing more A64 instructions
* externals: Update catch to v2.1.1Lioncash2018-01-271-0/+0
|
* externals: Update dynarmicMerryMage2018-01-211-0/+0
| | | | | | | | | | | | | | | | | | | | | | | a6d17e A64: Implement AND (vector) 963453 tests/A64: Randomize vectors adcd34 tests/A64/unicorn: Print interrupt number when InterruptHook is hit 304c91 tests/A64: Allow RunTestInstance to start from an arbitrary offset d333b5 A64: Implement ADD (vector, vector) 1cf87a A64: Implement REV, REV32, and REV16 (#126) 9fc157 IR: Simplify types. F32 -> U32, F64 -> U64, F128 -> U128 50c181 reg_alloc: GetBitWidth: Add UNREACHABLE adccbf reg_alloc: Consider bitwidth of data and registers when emitting instructions 7b7f23 A64: Implement CSEL 2f8413 IR: Implement Conditional Select ebb3e8 A64/tests: Split unicorn sanity checking from other tests 5740a0 tests/A64: Single random instruction: Test branch instructions as well 0892b4 A64/translate/branch: bug: Read-after-write error in BLR e77bc2 A64: Implement SBFM, BFM, UBFM 0c37ca A64: Implement MOVN, MOVZ, MOVK b6bb59 travis: Print current test information e77207 fuzz_thumb: Off by one error a04ca2 ir/location_descriptor: Add missing <functional> header for std::hash 1e0f5c travis: Run A64 tests
* Merge pull request #84 from lioncash/cmakebunnei2018-01-183-27/+19
|\ | | | | CMakeLists: Derive the source directory grouping from targets themselves
| * CMakeLists: Derive the source directory grouping from targets themselvesLioncash2018-01-183-27/+19
| | | | | | | | | | Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases.
* | externals: Update catch to 2.1.0Lioncash2018-01-181-0/+0
|/
* Build: Add unicorn as a submodule and build it if neededJames Rowe2018-01-161-0/+0
| | | | | | | Adds a cmake custom target that will build unicorn on first compile and uses this in the build scripts as well. Updates Appveyor and Travis build scripts to work with the new unicorn build, and updates the paths to all of the different artifacts.
* Fix some warningsunknown2018-01-151-3/+3
|
* Fix some warnings in the microprofileAndrix442018-01-151-4/+4
|
* externals: Remove unused repos.bunnei2018-01-144-0/+0
|
* Update dynarmic to bc73004MerryMage2018-01-131-0/+0
| | | | | | | | | | | | | | | | | | bc73004 a64_merge_interpret_blocks: Remove debug output 4e656ed tests/A64: Randomize PSTATE.<NZCV> fd9530b A64: Optimization: Merge interpret blocks 3c9eb04 testenv: Use format constants 324f3fc tests/A64: Unicorn interface fixes 98ecbe7 tests/A64: Fuzz against unicorn b1d38e7 tests/A64: Move TestEnvironment to own header 5218ad9 A64/data_processing_pcrel: bug: ADR{,P} instructions sign extend their immediate b1a8c39 A64/data_processing_addsub: bug: {ADD,SUB}S (extended register) instructions write to ZR when d = 31 64827fb a64_emit_x64: bug: A64CallSupervisor trampled callee-save registers 1bfa04d emit_x64: bug: OP m/r64, imm32 form instructions sign-extend their immediate on x64 edadeea A64 inferface: Use two argument static_assert 9ab1304 A64: Add ExceptionRaised IR instruction 6843eed Update readme 7438d07 A64/translate: Add TranslateSingleInstruction function
* Massive removal of unused modulesJames Rowe2018-01-133-14560/+0
|
* boost: Update version.bunnei2018-01-131-0/+0
|
* core: Gut out cryptop, since it doesn't compile with C++17.bunnei2018-01-133-171/+0
|
* dynarmic: Update to 83afe435MerryMage2018-01-121-0/+0
|
* arm_dynarmic: Implement coreMerryMage2018-01-122-1/+9
|
* fix macos buildMerryMage2018-01-091-0/+0
|
* cmake: Add script to find Unicorn.bunnei2018-01-051-0/+18
|
* cmake: Don't compile Dynarmic as it's unused.bunnei2018-01-041-8/+1
|
* externals: Point dynarmic at a real commit.bunnei2018-01-041-0/+0
|
* externals: Update dynarmic and xbyak.bunnei2017-10-252-0/+0
|
* Merge remote-tracking branch 'upstream/master' into nxbunnei2017-10-105-2/+21
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h
| * Build: Enable SSL in mingw by linking against WinSSLJames Rowe2017-09-111-2/+17
| | | | | | | | | | | | | | | | | | | | The mingw builds aren't submitting telemetry because the curl library they are linked against is configured to use openSSL and openSSL looks for the certificates in the users home folder. This keeps it from contacting web services because it can't communicate over SSL. This commit adds a download in mingw builds that will download a precompiled curl for mingw linked against winssl and sspi.
| * externals: Update soundtouchMerryMage2017-08-211-0/+0
| |
| * Update cryptoppJames2017-08-081-0/+0
| |
* | externals: Add lz4.bunnei2017-09-302-0/+5
|/
* Add description of upstream repoJames2017-07-181-0/+7
|
* Don't pull in entire JSON repo for single header fileJames2017-07-183-1/+14517
|
* Merge pull request #2824 from jroweboy/mingw_compile_testWeiyi Wang2017-07-131-0/+0
|\ | | | | Update enet submodule
| * Update enet submoduleJames Rowe2017-07-131-0/+0
| | | | | | | | This includes a fix merged upstream to support mingw compilation
* | web_service: Add CMake flag to enable.bunnei2017-07-121-10/+12
| |
* | externals: Add JSON as a submodule.bunnei2017-07-102-0/+4
| |
* | externals: Add CPR as a submodule.bunnei2017-07-092-0/+6
|/
* Implement basic virtual Room support based on enet (#2803)B3n302017-07-072-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added support for network with ENet lib, connecting is possible, but data can't be sent, yet. * fixup! Added support for network with ENet lib, * fixup! CLang * fixup! Added support for network with ENet lib, * fixup! Added support for network with ENet lib, * fixup! Clang format * More fixups! * Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Clang again * fixup! Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Moved ENetHost* and ENetPeer* into pimpl classes * fixup! Moved ENetHost* and ENetPeer* into pimpl classes
* externals: silence warning C4390 on MSVC for cryptopp (#2805)Klöen Lansfiel2017-06-251-0/+5
|
* Stop using reserved operator names (and/or/xor) with XbyakYuri Kunde Schlesner2017-06-172-3/+1
| | | | Also has the Dynarmic upgrade with the same change
* Externals: Upgrade bundled Boost to 1.64Yuri Kunde Schlesner2017-06-111-0/+0
|
* CMake: Move definitions of externals to the CMakeLists in that directoryYuri Kunde Schlesner2017-05-281-6/+42
|
* CMake: Create an INTERFACE target for CatchYuri Kunde Schlesner2017-05-281-0/+4
|
* CMake: Add cryptopp include path to target propertyYuri Kunde Schlesner2017-05-281-2/+4
|
* CMake: Use target properties to add inih include pathsYuri Kunde Schlesner2017-05-281-0/+1
|
* CMake: Stop using FindOpenGL, which seems to not be required anymoreYuri Kunde Schlesner2017-05-281-1/+2
|
* Add the fmt string formatting libraryYuri Kunde Schlesner2017-05-272-0/+1
| | | | | | | More info at http://fmtlib.net/ This commit was based on @jroweboy's work on his spdlog branch, but with modifications.
* Update dynarmicYuri Kunde Schlesner2017-05-271-0/+0
| | | | | Updated to incorporate fix from MerryMage/dynarmic#106 which is required for using fmt in Citra.
* externals: Update catch to 1.9.4Lioncash2017-05-221-0/+0
|
* externals: Update to boost v1.63.0Yuri Kunde Schlesner2017-03-131-0/+0
|
* externals: remove -march=native for crypto++wwylele2017-02-211-8/+1
|
* HW: add AES engine & implement AES-CCMwwylele2017-02-211-0/+0
|
* Core: add cryptopp library (#2412)Weiyi Wang2017-02-133-0/+171
|
* externals: nihstro, update to latest masterKloen2017-02-061-0/+0
|
* Fix Microprofile in MinGW (#2530)Fernando Sahmkow2017-02-051-1/+1
|
* changed the WIN32 macro in microprofileui (#2528)noah the goodra2017-02-041-1/+1
| | | | I changed the macro in microprofileui.h from WIN32 to _WIN32 so that it would correctly dectect that its being compiled on a windows platform
* arm_dynarmic: Update memory interfaceMerryMage2017-02-031-0/+0
|
* arm_dynarmic: CP15 supportMerryMage2017-02-032-0/+0
|
* externals: Updated nihstro to latest master. Fix warning on MSVCKloen2017-01-281-0/+0
|
* Removed unused and outdated external qhexeditKloen2017-01-2210-2346/+0
|
* arm_dynarmic: Provide MemoryReadCode callbackMerryMage2016-12-221-0/+0
| | | | Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
* Externals: Add XbyakYuri Kunde Schlesner2016-12-152-0/+8
|
* externals: Update DynarmicYuri Kunde Schlesner2016-12-151-0/+0
| | | | Required to be able to use Xbyak in Citra without header conflicts.
* Dynarmic: Update dynarmic to versionSubv2016-12-051-0/+0
| | | | | | | | | | | | | | | | | | | | | | | 54d051977f7a6af9c7596ba6a4e6eb467bd1e0bc dynarmic log: 54d0519 emit_x64: Use movdqa instead of movaps in EmitPackedSubU8 52e1445 Implement USUB8:33 2016 +0000 5c1aab1 Implement CLZ 1a1646d Implement UADD8 7cad694 IR: Implement new pseudo-operation GetGEFromOp 370f654 fuzz_arm: Add tests for parallel add/subtract (modulo) 25f21b5 emit_x64: Inline nzcv computation into EmitFPCompare32 and EmitFPCompare64 52fdec5 CMakeLists: Add support for LLVM on Windows cede5e4 emit_x64: Use xorps/xorpd when argument to TransferToFP32/TransferToFP64 is an immediate zero e166965 Implement VCMP2:33 2016 +0000 f2fe376 Support 64-bit immediates ff00b8c Document register allocator and return stack buffer optimization 95f34c6 reg_alloc: Remove unnecessary breaks after returns (#54) dc9707e externals: Update xbyak to 5.32 de1f831 microinstruction: Make use_count private (#53) 3621a92 reg_alloc: Register allocator related constraints belong with the rest of the register allocator
* dynarmic: Fix ABI violationMerryMage2016-11-301-0/+0
| | | | | | | Caused by not saving/restoring the x64 r15 register on entry/exit from JITted code. Closes #2224.
* Update dynarmic to the latest version (#2234)James Rowe2016-11-301-0/+0
|
* Add mingw compile supportJames Rowe2016-11-141-2/+2
|
* microprofile: unbreak on POSIX systemsJan Beich2016-10-282-4/+5
| | | | | | | | | | | | | | | | In file included from src/common/microprofile.cpp:7: In file included from src/./common/microprofile.h:23: externals/microprofile/microprofile.h:830:5: error: use of undeclared identifier 'MP_BREAK' MP_ASSERT(t == nBegin); ^ externals/microprofile/microprofile.h:238:34: note: expanded from macro 'MP_ASSERT' ^ externals/microprofile/microprofile.h:831:5: error: use of undeclared identifier 'MP_BREAK' MP_ASSERT(nTimerIndex == (nToken&0x3fff)); ^ externals/microprofile/microprofile.h:238:34: note: expanded from macro 'MP_ASSERT' ^ [...]
* dynarmic: Add new submodule.bunnei2016-09-151-0/+0
|
* externals/boost: Use latest upstream with variant.bunnei2016-09-151-0/+0
|
* Fixes SDL2.dll copy to bindir on windowsLectem2016-07-211-0/+9
|
* tests: Infrastructure for unit testsMerryMage2016-05-191-0/+0
|
* Externals: Add soundtouchMerryMage2016-04-281-0/+0
|
* microprofileui: Use correct printf specifierSam Spilsbury2016-04-231-0/+5
|
* microprofile: Use std::absSam Spilsbury2016-04-231-1/+1
| | | | | Using the global-namespace C function will cause the wrong overload to get picked
* Update to ext-boost with interval_maptfarley2016-04-211-0/+0
|
* Merge pull request #1517 from Lectem/fixSDLcmakebunnei2016-03-231-1/+7
|\ | | | | fix SDL2 detection for Visual
| * fix SDL2 detection for VisualLectem2016-03-141-1/+7
| |
* | Update nihstro to latest masterJannik Vogel2016-03-151-0/+0
|/
* externals: Remove unused GLFW library from the repo.bunnei2016-03-0415-3718/+0
|
* Dependencies: Remove GLFW, Add SDL2MerryMage2016-03-022-0/+252
| | | | | | | | | | | | | | citra: Remove GLFW, Add SDL2 FindSDL2: Do not CACHE SDL2_* variables if library is not found EmuWindow_SDL2: Set minimal client area at initialisation time EmuWindow_SDL2: Corrections EmuWindow_SDL2: Fix no decorations on startup on OS X cmake: windows_copy_files
* Externals: Regenerate GLAD with GL_KHR_debug support.Emmanuel Gil Peyrot2015-10-172-384/+591
|
* CMake: Add missing library required by Linux for compiling gladYuri Kunde Schlesner2015-09-071-0/+3
|
* Replace the previous OpenGL loader with a glad-generated 3.3 oneYuri Kunde Schlesner2015-08-305-0/+3966
| | | | | | The main advantage of switching to glad from glLoadGen is that, apart from being actively maintained, it supports a customizable entrypoint loader function, which makes it possible to also support OpenGL ES.
* Integrate the MicroProfile profiling libraryYuri Kunde Schlesner2015-08-254-0/+10794
| | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view.
* Update boost external to v1.59.0Yuri Kunde Schlesner2015-08-171-0/+0
|
* Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.bunnei2015-08-161-0/+0
| | | | | - Config: Add an option for selecting to use shader JIT or interpreter. - Qt: Add a menu option for enabling/disabling the shader JIT.
* Update nihstro to latest masterYuri Kunde Schlesner2015-07-261-0/+0
|
* getopt: Fix macro redefinition warningYuri Kunde Schlesner2015-07-141-1/+0
| | | | We already define _CRT_SECURE_NO_WARNINGS
* getopt: Fix compilation settingsYuri Kunde Schlesner2015-07-141-2/+2
| | | | | | INTERFACE doesn't define the symbol when compiling the library itself. PUBLIC should be used when the definition is needed both by the library and by the users.
* Implement new argument parsing using getopt and add the corresponding library to externalsGreg Wicks2015-07-123-0/+1110
|
* Update bundled GLFW to 3.1.1Yuri Kunde Schlesner2015-05-2532-673/+1877
| | | | | It may be necessary to fix the CMake paths manually for an exsting CMake cache after this change.
* vertex_shader: Implement MADI instruction.bunnei2015-05-101-0/+0
| | | | nihstro: Update submodule to latest upstream/master to support MADI instruction decoding.
* Update nihstro submodule to the initial release version.archshift2015-03-081-0/+0
| | | | Includes more opcodes to implement in the future.
* Update ext-boost commit again which got reverted by #500Yuri Kunde Schlesner2015-02-121-0/+0
|
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-0/+0
| | | | | | | Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
* Update boost externalYuri Kunde Schlesner2015-02-021-0/+0
|
* Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU.Tony Wasserka2015-01-131-0/+0
|
* Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner2015-01-091-0/+0
|
* Clipper: Avoid dynamic allocationsYuri Kunde Schlesner2014-12-291-0/+0
| | | | | | The triangle clipper was allocating its temporary input, output and work buffers using a std::vector. Since this is a hot path, it's desirable to use stack allocation instead.
* Add nihstro (a 3DS shader tools suite) as a submodule.Tony Wasserka2014-12-201-0/+0
|
* externals: Add boost submodule.Tony Wasserka2014-12-071-0/+0
|
* Added configuration file system.archshift2014-10-082-0/+11
| | | | Uses QSettings on citra-qt, and inih on citra-cli.
* CMake cleanupYuri Kunde Schlesner2014-09-011-6/+9
| | | | | | | | Several cleanups to the buildsystem: - Do better factoring of common libs between platforms. - Add support to building on Windows. - Remove Qt4 support. - Re-sort file lists and add missing headers.
* Update GLFW to 3.0.4 and include x64 lib for MSVCYuri Kunde Schlesner2014-09-0128-61/+91
|
* Replace GLEW with a glLoadGen loader.Yuri Kunde Schlesner2014-09-0123-21302/+0
| | | | | | | | | This should fix the GL loading errors that occur in some drivers due to the use of deprecated functions by GLEW. Side benefits are more accurate auto-completion (deprecated function and symbols don't exist) and faster pointer loading (less entrypoints to load). In addition it removes an external library depency, simplifying the build system a bit and eliminating one set of binary libraries for Windows.
* Remove documentation for external modules.Yuri Kunde Schlesner2014-08-23245-29154/+0
| | | | We don't need these and they clutter up the repository.
* Add Qt5 option. Use Qt5 by default.Sacha2014-08-193-5/+9
|
* CMake CleanupSacha2014-08-181-4/+6
|
* Indent fixesarchshift2014-05-191-29/+29
|
* Added FindGLEW to cmake-modulesarchshift2014-05-171-0/+47
|
* fixes to scm_rev generation to make it conistent with windows buildbunnei2014-04-241-0/+28
|
* added scm rev generation on Linux/cmakebunnei2014-04-242-0/+168
|
* adding initial project layoutShizZy2013-08-30287-0/+55230