summaryrefslogtreecommitdiffstats
path: root/externals (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-09-09Externals: Update xbyakJames Rowe1-0/+0
2018-09-07externals: Update dynarmic to 9594465MerryMage1-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
2018-09-03externals: Update dynarmic to 0435ac2Lioncash1-0/+0
2018-08-22externals: Update fmt to 6201052Lioncash1-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.
2018-08-22externals/boost: Update to 1.68.0Lioncash1-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.
2018-08-21externals: Update dynarmic to a42f301c.bunnei1-0/+0
2018-08-16dynarmic: Update to 550d662MerryMage1-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
2018-08-11Rebase with dynarmic masterDavid Marcec1-0/+0
2018-08-10dynarmic: Update to 0118ee0MerryMage1-0/+0
0118ee0 emit_x64_vector: packusdw is SSE4.1
2018-08-08externals: Update catch to 2.3.0Lioncash1-0/+0
Updates the library from 2.2.3 to 2.3.0
2018-08-08externals/mbedtls: Update to mbedtls v2.12.0Zach Hilman1-0/+0
2018-08-08externals/CMakeLists: Add EXCLUDE_FROM_ALL to lz4's add_subdirectory() commandLioncash1-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.
2018-08-07externals: Update glad to 0.1.26Lioncash2-3190/+3218
Updates the library from 0.1.25. Mainly fixes issues related to macOS, but we may as well update the library.
2018-08-07Make mbedtls and cubeb not install headers and librariesZion Nimchuk2-2/+2
2018-08-05externals: Update dynarmic to 4f96c63MerryMage1-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
2018-08-01Update mbedtls and fix compile errorZach Hilman1-0/+0
2018-08-01Remove files that are not usedZach Hilman2-0/+4
2018-07-31audio_core: Implement Sink and SinkStream interfaces with cubeb.bunnei1-0/+6
2018-07-31externals: Add cubeb for audio output.bunnei1-0/+0
2018-07-31Implemented various hwopus functions (#853)David2-0/+4
2018-07-30externals: Update dynarmic to 73d3efcMerryMage1-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
2018-07-25externals: Update dynarmic to 98e2380MerryMage1-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
2018-07-22externals: Update dynarmic to fc6b73bdMerryMage1-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
2018-07-21externals: Update dynarmic to 7ea1241Lioncash1-0/+0
Resolves an issue with TPIDR setting being erroneously removed in the dead code pass.
2018-07-20externals: Update glad to version 0.1.25Lioncash3-925/+993
Keeps the OpenGL loader library up to date. Previously we were at version 0.1.16
2018-07-19externals: Update Xbyak to 5.65Lioncash1-0/+0
Keeps the JIT assembler library up to date and ensures we don't run into any issues that may have been resolved.
2018-07-19externals: Update catch to v2.2.3Lioncash1-0/+0
Keeps the unit-testing library up to date.
2018-07-19externals: Update dynarmic to 5a91c94.bunnei1-0/+0
2018-07-18externals: update fmt to version 5.1.0Lioncash1-0/+0
Previously, we were on 4.1.0, which was a major version behind.
2018-07-15externals: Update dynarmic to dfdec79Lioncash1-0/+0
2018-07-07externals: Update dynarmic to f7d11baa1Lioncash1-0/+0
2018-06-24Improve directory creation in WindowsCopyFiles.cmakeMichał Janiszewski1-3/+3
2018-06-23Revert "Use Ninja for MSVC AppVeyor builds" (#584)bunnei1-2/+2
2018-06-05Use Ninja for MSVC AppVeyor buildsMichał Janiszewski1-2/+2
2018-05-23externals: Update dynarmicLioncash1-0/+0
Updates dynarmic to revision 990a569b7a5f2518fe08682f5ebf8536e5388d66
2018-04-28externals: Update dynarmicLioncash1-0/+0
Just a basic update to keep it in sync
2018-04-20externals: Update dynarmic to HEADLioncash1-0/+0
2018-04-06Update fmtlib to fix msvc warningsJames Rowe1-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
2018-04-02externals: Update fmt to 4d35f94Daniel Lim Wee Soong2-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.
2018-03-29dynarmic: Update to 9cc12d8MerryMage1-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
2018-03-27dynarmic: Update to 12a1020MerryMage1-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
2018-03-20externals: Update Glad to latest version used by Citra.bunnei4-1071/+21262
2018-02-21dynarmic: Update to 6b4c6b0MerryMage1-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
2018-02-17updated dynarmicFernandoS271-0/+0
2018-02-12arm_dynarmic: Support direct page table accessMerryMage2-0/+0
2018-02-09dynarmic: Fix bug due to Windows ABI mismatchMerryMage1-0/+0
2018-02-09dynarmic: Update to 41ae12263MerryMage2-0/+0
Changes: Primarily implementing more A64 instructions
2018-01-27externals: Update catch to v2.1.1Lioncash1-0/+0
2018-01-21externals: Update dynarmicMerryMage1-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
2018-01-18CMakeLists: Derive the source directory grouping from targets themselvesLioncash3-27/+19
Removes the need to store to separate SRC and HEADER variables, and then construct the target in most cases.
2018-01-18externals: Update catch to 2.1.0Lioncash1-0/+0
2018-01-16Build: Add unicorn as a submodule and build it if neededJames Rowe1-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.
2018-01-15Fix some warningsunknown1-3/+3
2018-01-15Fix some warnings in the microprofileAndrix441-4/+4
2018-01-14externals: Remove unused repos.bunnei4-0/+0
2018-01-13Update dynarmic to bc73004MerryMage1-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
2018-01-13Massive removal of unused modulesJames Rowe3-14560/+0
2018-01-13boost: Update version.bunnei1-0/+0
2018-01-13core: Gut out cryptop, since it doesn't compile with C++17.bunnei3-171/+0
2018-01-12dynarmic: Update to 83afe435MerryMage1-0/+0
2018-01-12arm_dynarmic: Implement coreMerryMage2-1/+9
2018-01-09fix macos buildMerryMage1-0/+0
2018-01-05cmake: Add script to find Unicorn.bunnei1-0/+18
2018-01-04cmake: Don't compile Dynarmic as it's unused.bunnei1-8/+1
2018-01-04externals: Point dynarmic at a real commit.bunnei1-0/+0
2017-10-25externals: Update dynarmic and xbyak.bunnei2-0/+0
2017-09-30externals: Add lz4.bunnei2-0/+5
2017-09-11Build: Enable SSL in mingw by linking against WinSSLJames Rowe1-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.
2017-08-21externals: Update soundtouchMerryMage1-0/+0
2017-08-08Update cryptoppJames1-0/+0
2017-07-18Add description of upstream repoJames1-0/+7
2017-07-18Don't pull in entire JSON repo for single header fileJames3-1/+14517
2017-07-13Update enet submoduleJames Rowe1-0/+0
This includes a fix merged upstream to support mingw compilation
2017-07-12web_service: Add CMake flag to enable.bunnei1-10/+12
2017-07-10externals: Add JSON as a submodule.bunnei2-0/+4
2017-07-09externals: Add CPR as a submodule.bunnei2-0/+6
2017-07-07Implement basic virtual Room support based on enet (#2803)B3n302-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
2017-06-25externals: silence warning C4390 on MSVC for cryptopp (#2805)Klöen Lansfiel1-0/+5
2017-06-17Stop using reserved operator names (and/or/xor) with XbyakYuri Kunde Schlesner2-3/+1
Also has the Dynarmic upgrade with the same change
2017-06-11Externals: Upgrade bundled Boost to 1.64Yuri Kunde Schlesner1-0/+0
2017-05-28CMake: Move definitions of externals to the CMakeLists in that directoryYuri Kunde Schlesner1-6/+42
2017-05-28CMake: Create an INTERFACE target for CatchYuri Kunde Schlesner1-0/+4
2017-05-28CMake: Add cryptopp include path to target propertyYuri Kunde Schlesner1-2/+4
2017-05-28CMake: Use target properties to add inih include pathsYuri Kunde Schlesner1-0/+1
2017-05-28CMake: Stop using FindOpenGL, which seems to not be required anymoreYuri Kunde Schlesner1-1/+2
2017-05-27Add the fmt string formatting libraryYuri Kunde Schlesner2-0/+1
More info at http://fmtlib.net/ This commit was based on @jroweboy's work on his spdlog branch, but with modifications.
2017-05-27Update dynarmicYuri Kunde Schlesner1-0/+0
Updated to incorporate fix from MerryMage/dynarmic#106 which is required for using fmt in Citra.
2017-05-22externals: Update catch to 1.9.4Lioncash1-0/+0
2017-03-13externals: Update to boost v1.63.0Yuri Kunde Schlesner1-0/+0
2017-02-21externals: remove -march=native for crypto++wwylele1-8/+1
2017-02-21HW: add AES engine & implement AES-CCMwwylele1-0/+0
2017-02-18dynarmic: Update the submodule.Emmanuel Gil Peyrot1-0/+0
This fixes a build issue on gcc 6 due to -Werror and a warning caused by boost::optional, see: https://github.com/MerryMage/dynarmic/issues/83
2017-02-13Core: add cryptopp library (#2412)Weiyi Wang3-0/+171
2017-02-06externals: nihstro, update to latest masterKloen1-0/+0
2017-02-05Fix Microprofile in MinGW (#2530)Fernando Sahmkow1-1/+1
2017-02-04changed the WIN32 macro in microprofileui (#2528)noah the goodra1-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
2017-02-03arm_dynarmic: Update memory interfaceMerryMage1-0/+0
2017-02-03arm_dynarmic: CP15 supportMerryMage2-0/+0
2017-01-28externals: Updated nihstro to latest master. Fix warning on MSVCKloen1-0/+0
2017-01-22Removed unused and outdated external qhexeditKloen10-2346/+0
2016-12-22arm_dynarmic: Provide MemoryReadCode callbackMerryMage1-0/+0
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-15Externals: Add XbyakYuri Kunde Schlesner2-0/+8
2016-12-15externals: Update DynarmicYuri Kunde Schlesner1-0/+0
Required to be able to use Xbyak in Citra without header conflicts.
2016-12-05Dynarmic: Update dynarmic to versionSubv1-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
2016-11-30dynarmic: Fix ABI violationMerryMage1-0/+0
Caused by not saving/restoring the x64 r15 register on entry/exit from JITted code. Closes #2224.
2016-11-30Update dynarmic to the latest version (#2234)James Rowe1-0/+0
2016-11-14Add mingw compile supportJames Rowe1-2/+2
2016-10-28microprofile: unbreak on POSIX systemsJan Beich2-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' ^ [...]
2016-09-15dynarmic: Add new submodule.bunnei1-0/+0
2016-09-15externals/boost: Use latest upstream with variant.bunnei1-0/+0
2016-07-21Fixes SDL2.dll copy to bindir on windowsLectem1-0/+9
2016-05-19tests: Infrastructure for unit testsMerryMage1-0/+0
2016-04-28Externals: Add soundtouchMerryMage1-0/+0
2016-04-23microprofileui: Use correct printf specifierSam Spilsbury1-0/+5
2016-04-23microprofile: Use std::absSam Spilsbury1-1/+1
Using the global-namespace C function will cause the wrong overload to get picked
2016-04-21Update to ext-boost with interval_maptfarley1-0/+0
2016-03-15Update nihstro to latest masterJannik Vogel1-0/+0
2016-03-14fix SDL2 detection for VisualLectem1-1/+7
2016-03-04externals: Remove unused GLFW library from the repo.bunnei15-3718/+0
2016-03-02Dependencies: Remove GLFW, Add SDL2MerryMage2-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
2015-10-17Externals: Regenerate GLAD with GL_KHR_debug support.Emmanuel Gil Peyrot2-384/+591
2015-09-07CMake: Add missing library required by Linux for compiling gladYuri Kunde Schlesner1-0/+3
2015-08-30Replace the previous OpenGL loader with a glad-generated 3.3 oneYuri Kunde Schlesner5-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.
2015-08-25Integrate the MicroProfile profiling libraryYuri Kunde Schlesner4-0/+10794
This brings goodies such as a configurable user interface and multi-threaded timeline view.
2015-08-17Update boost external to v1.59.0Yuri Kunde Schlesner1-0/+0
2015-08-16Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.bunnei1-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.
2015-07-26Update nihstro to latest masterYuri Kunde Schlesner1-0/+0
2015-07-14getopt: Fix macro redefinition warningYuri Kunde Schlesner1-1/+0
We already define _CRT_SECURE_NO_WARNINGS
2015-07-14getopt: Fix compilation settingsYuri Kunde Schlesner1-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.
2015-07-12Implement new argument parsing using getopt and add the corresponding library to externalsGreg Wicks3-0/+1110
2015-05-25Update bundled GLFW to 3.1.1Yuri Kunde Schlesner32-673/+1877
It may be necessary to fix the CMake paths manually for an exsting CMake cache after this change.
2015-05-10vertex_shader: Implement MADI instruction.bunnei1-0/+0
nihstro: Update submodule to latest upstream/master to support MADI instruction decoding.
2015-03-08Update nihstro submodule to the initial release version.archshift1-0/+0
Includes more opcodes to implement in the future.
2015-02-12Update ext-boost commit again which got reverted by #500Yuri Kunde Schlesner1-0/+0
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift1-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.
2015-02-02Update boost externalYuri Kunde Schlesner1-0/+0
2015-01-13Pica/VertexShader: Implement JMPC/JMPU/CALLC/CALLU.Tony Wasserka1-0/+0
2015-01-13Pica/VertexShader: Implement the MAD instruction.Tony Wasserka1-0/+0
2015-01-09Kernel: Start using boost::intrusive_ptr for lifetime managementYuri Kunde Schlesner1-0/+0
2014-12-29Clipper: Avoid dynamic allocationsYuri Kunde Schlesner1-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.
2014-12-20Add nihstro (a 3DS shader tools suite) as a submodule.Tony Wasserka1-0/+0
2014-12-07externals: Add boost submodule.Tony Wasserka1-0/+0
2014-10-08Added configuration file system.archshift2-0/+11
Uses QSettings on citra-qt, and inih on citra-cli.
2014-09-01CMake cleanupYuri Kunde Schlesner1-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.
2014-09-01Update GLFW to 3.0.4 and include x64 lib for MSVCYuri Kunde Schlesner28-61/+91
2014-09-01Replace GLEW with a glLoadGen loader.Yuri Kunde Schlesner23-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.
2014-08-23Remove documentation for external modules.Yuri Kunde Schlesner245-29154/+0
We don't need these and they clutter up the repository.
2014-08-19Add Qt5 option. Use Qt5 by default.Sacha3-5/+9
2014-08-18CMake CleanupSacha1-4/+6
2014-05-19Indent fixesarchshift1-29/+29
2014-05-17Added FindGLEW to cmake-modulesarchshift1-0/+47
2014-04-24fixes to scm_rev generation to make it conistent with windows buildbunnei1-0/+28
2014-04-24added scm rev generation on Linux/cmakebunnei2-0/+168
2013-08-30adding initial project layoutShizZy287-0/+55230