Pokechu22
6a2ec825a2
UnitTests: Fail DSPAssemblyTest if the assembled code doesn't match the expected result
...
This reveals that both HermesText and HermesBinary fail. HermesBinary would have failed on master, too, if this had been implemented.
2022-06-14 12:22:06 -07:00
Pokechu22
d8803a1298
UnitTests: Use fmt::print in DSPAssemblyTest
2022-06-14 12:22:05 -07:00
Pokechu22
8fac249581
UnitTests: Use fmt::print in PageFaultTest
2022-06-14 12:22:05 -07:00
Pokechu22
dd66dac5c1
UnitTests: Fix typo in DSPAssemblyTest
2022-06-14 12:22:05 -07:00
Pokechu22
3cb0976367
UnitTests: Use hermes.s as part of an actual test
...
Before, the file just existed as the source code for HermesBinary.cpp, but we can test that things assemble correctly too (compare DSPTestBinary.cpp and DSPTestText.cpp).
A bit of jank is needed due to MSVC limitations (see https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2026?view=msvc-170 ).
2022-06-14 12:22:05 -07:00
Dentomologist
2999cca41b
UnitTests: Fix -Wrange-loop-construct warnings
...
Don't use reference variable bound to a temporary value
2022-06-03 22:28:17 -07:00
Pokechu22
0fc1fb023f
Merge pull request #10678 from Dentomologist/skip_pagefault_test_if_no_exception_handler
...
UnitTests: Skip PageFaultTest if exception handlers aren't supported
2022-06-02 16:21:21 -07:00
Dentomologist
6ffd938f98
UnitTests: Skip PageFaultTest if exception handlers are not supported
...
Page faults should only occur on architectures that support exception
handlers, so skip the test on other architectures to avoid spurious test
failures.
2022-05-19 12:26:41 -07:00
Pokechu22
46bcdc4372
Rename CP and XF normal component count enums and update their descriptions
2022-05-18 14:43:14 -07:00
Shawn Hoffman
64cd4cc86f
msbuild: use default Project attrs
...
maybe it makes the xml less scary :D
2022-04-27 15:26:43 -07:00
Shawn Hoffman
cad1f2735c
msvc: disable optimizations for x64EmitterTest.cpp
...
40s -> 5s speedup
2022-04-27 15:06:04 -07:00
Shawn Hoffman
09432ef098
windows: move ffmpeg bins to submodule
...
udpate ffmpeg to b1cbeabf5e4b3234e895a58bafa371bfb792baf0
enable ffmpeg on arm64
2022-03-29 17:27:46 -07:00
JosJuice
7b8e846d0a
Merge pull request #10367 from Pokechu22/fmt-8.1.1
...
Update to fmt 8.1.1
2022-01-20 21:14:41 +01:00
Pokechu22
6e5f4125e3
Use Common::ToLower and Common::ToUpper
2022-01-16 17:00:12 -08:00
Pokechu22
ac46b91673
Make all fmt::formatter constructors constexpr
2022-01-13 11:11:08 -08:00
Pokechu22
161c627466
Treewide: Remove unused inclusions of <cinttypes>
...
Most of these became unneeded when fmt was introduced.
2022-01-09 12:43:11 -08:00
Admiral H. Curtiss
cae4b545bd
Config: Port CPU overclock settings to new config system.
2021-12-25 21:52:50 +01:00
Pokechu22
95e0f833f9
Fifo analyzer: Display equations for color/alpha combiners
2021-12-18 15:21:48 -08:00
Pokechu22
1914087998
Create and use CPArray enum class
2021-12-18 12:51:56 -08:00
Dylan Smit
9de7ef6d8d
Fix improper naming
...
I'm so sorry
2021-11-24 17:04:30 +01:00
JMC47
e5a4a86672
Merge pull request #10055 from JosJuice/jitarm64-reuse-memory
...
JitArm64: Codegen space reuse
2021-11-20 17:35:24 -05:00
JosJuice
44beaeaff5
Arm64Emitter: Check end of allocated space when emitting code
...
JitArm64 port of 5b52b3e
.
2021-10-13 21:52:16 +02:00
Pokechu22
78bfd25964
Fix all uninitialized variable warnings (C26495)
2021-10-13 12:32:16 -07:00
JMC47
a1e806ed76
Merge pull request #9600 from Bonta0/mgba-pr
...
Full GBA Controllers Integration with mGBA
2021-07-21 02:36:43 -04:00
Shawn Hoffman
1009825cb2
unittests: remove some msvc-specific casts
...
compiles on contemporary msvc
checked there is still a mul in release codegen
2021-07-17 17:41:41 -07:00
Bonta
2d744da68c
Core: Add GBA host interface
2021-07-13 16:42:49 +02:00
Léo Lam
56fdde5d74
Merge pull request #9595 from Dentomologist/fix_vertex_loader_test_warnings
...
VertexLoaderTest: Fix memset assignment warning
2021-07-06 11:50:23 +02:00
Pierre Bourdon
0cf041de24
licensing: various one-off conversions to SPDX tags
2021-07-05 04:35:56 +02:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
Tilka
901a4fb5f4
Merge pull request #9811 from JosJuice/fprf-denormal-singles
...
Fix FPRF handling of denormal singles
2021-06-29 03:18:18 +01:00
Tillmann Karras
afb9398059
x64Emitter: remove unused x87 instructions
2021-06-28 02:56:37 +01:00
JosJuice
d56721ebb9
Interpreter: Fix FPRF handling of denormal singles
2021-06-27 20:34:49 +02:00
Skyler Saleh
655ed37983
Unit Tests: Added W^X Support for PowerPC test
2021-06-19 10:40:51 -07:00
Pokechu22
1500a0119b
Eliminate TVtxDesc.GetLegacyHex
2021-06-09 20:50:50 -07:00
Dentomologist
99ed43280d
Updater: Escape HTML characters in commit descriptions
2021-06-01 17:22:19 -07:00
Filoppi
3c7c2dfaa1
Implement Cursor Locking and new input focus checks for it
2021-05-27 10:31:12 +03:00
Mai M
6958df5967
Merge pull request #9695 from JosJuice/jitarm64-fres
...
JitArm64: Implement fres and frsqrte
2021-05-20 10:23:49 -04:00
JosJuice
4b3fda7906
JitArm64: Implement frsqrte
2021-05-15 19:21:15 +02:00
JosJuice
85226e09f0
JitArm64: Implement fres
2021-05-15 19:16:32 +02:00
Mat M
d74a1068b8
Merge pull request #9540 from Pokechu22/better-fifo-analyzer-part-2
...
Fifo analyzer quality of life improvements
2021-05-14 15:51:53 -04:00
JosJuice
25dc059f6f
JitArm64: Add FPRF unit test
2021-05-13 11:51:00 +02:00
Pokechu22
0a906f553f
Move vertex size and component calculation to VertexLoaderBase
2021-05-07 15:42:17 -07:00
Léo Lam
70d8a78edc
Merge pull request #9683 from JosJuice/ppc-test-values
...
UnitTests: Put PowerPC test values in a separate file
2021-05-07 14:44:27 +02:00
JosJuice
bb39f75093
UnitTests: Put PowerPC test values in a separate file
...
We use more or less the same values for all PowerPC float unit
tests. Let's put them in one place instead of duplicating them.
2021-05-02 22:12:28 +02:00
JosJuice
1f6bb06f2c
UnitTests: Move some unit tests to where they should be
...
Two unit tests were in the root UnitTests folder
and were not being built when using CMake.
2021-05-02 18:07:02 +02:00
JosJuice
9d6263f306
JitArm64: Add unit tests for single/double conversion
2021-04-25 15:56:58 +02:00
Léo Lam
8d21fa56a1
UnitTests: Use MathUtil::SaturatingCast to avoid UB
...
[conv.fpint]/1:
> A prvalue of a floating-point type can be converted to a prvalue of
> an integer type. The conversion truncates; that is, the fractional
> part is discarded. The behavior is undefined if the truncated value
> cannot be represented in the destination type.
2021-04-06 23:27:23 +02:00
Léo Lam
48712168b8
MathUtil: Add SaturatingCast to cast floats more safely
2021-04-06 23:27:23 +02:00
JosJuice
27ddf6382b
Set console's default language/country/region based on computer settings
2021-03-27 10:05:26 +01:00
Pokechu22
51de3d0fd1
Refactor CP array constants slightly
2021-03-26 17:27:21 -07:00
LC
15ebb1d9e4
Merge pull request #9566 from Sintendo/jit64divwx
...
Jit64: Optimize divwx
2021-03-22 14:40:02 -04:00
Dentomologist
1cc035eb05
VertexLoaderTest: Fix memset assignment warning
...
Initialize and assign members of TVtxDesc and VAT structs directly
instead of using memset.
Fixes -Wclass-memaccess warning from gcc on Debian.
2021-03-18 21:10:29 -07:00
Dentomologist
f0f206714f
Arm64Gen: Convert ARM64Reg to enum class
...
Most changes are just adding ARM64Reg:: in front of the constants.
2021-03-13 10:10:59 -08:00
Sintendo
5bb8798df6
JitCommon: Signed 32-bit division magic constants
...
Add a function to calculate the magic constants required to optimize
signed 32-bit division.
Since this optimization is not exclusive to any particular architecture,
JitCommon seemed like a good place to put this.
2021-03-07 18:27:36 +01:00
Pokechu22
f749fcfa9f
Convert CPMemory to BitField and enum class
...
Additionally, VCacheEnhance has been added to UVAT_group1. According to YAGCD, this field is always 1.
TVtxDesc also now has separate low and high fields whose hex values correspond with the proper registers, instead of having one 33-bit value. This change was made in a way that should be backwards-compatible.
2021-03-06 19:27:08 -08:00
Pokechu22
f697e17dd1
Create BitFieldArray
2021-03-06 17:34:03 -08:00
Pokechu22
1273c5e395
Add fmt support to BitField
2021-03-06 14:58:32 -08:00
Pokechu22
cf95deaf6d
Allow specifying StorageType for BitField
...
This is useful for BitFields that are bools.
2021-03-06 14:57:44 -08:00
Pokechu22
6653bd7199
Create EnumFormatter
2021-03-06 14:57:42 -08:00
JosJuice
eff66c2adc
Arm64Emitter: Expand the MOVI2R unit test a little
...
This tests for a bug with ADRP which was present in an
earlier version of this pull request.
Also adding the MOVI2R unit test to the VS build.
2021-02-13 21:04:16 +01:00
MerryMage
1ab7657120
MovI2R: Do not exhaustively test
2021-01-31 13:17:31 +00:00
MerryMage
fe9207bb56
UnitTests: Add MOVI2R test
2021-01-31 13:17:19 +00:00
Shawn Hoffman
500a694ca8
msbuild: bundle all dolphin "core" code into single library
2021-01-27 14:29:49 -08:00
Léo Lam
305faa73ec
Merge pull request #9436 from shuffle2/asan
...
msvc: enable asan compat
2021-01-27 13:24:26 +01:00
Dentomologist
83f912b58a
UnitTests: Add setup error checking
...
Check return value of calls to File::CreateTempDir() from CoreTiming,
FileSystem, and MMIO test classes to verify the test user directory
exists, and fail the tests otherwise.
2021-01-22 11:49:59 -08:00
Shawn Hoffman
49b9deeb03
msvc: add asan support (disabled by default)
2021-01-10 15:11:18 -08:00
Léo Lam
2e63cc8313
Merge pull request #9307 from Dentomologist/add-deleted-file-missing-warning-flag
...
Add File::Delete and File::DeleteDir warning flags
2020-12-11 02:06:28 +01:00
Dentomologist
760e7e664a
Add File::Delete and File::DeleteDir tests
2020-12-10 09:48:30 -08:00
Léo Lam
585899dba3
Turn format string issues into compile-time errors
...
If the compiler can detect an issue with a format string at compile
time, then we should take advantage of that and turn the issue into a
hard compile-time error as such problems almost always lead to UB.
This helps with catching logging or assertion messages that have been
converted over to fmt but are still using the old, non-fmt variants
of the logging macros.
This commit also fixes all incorrect usages that I could find.
2020-12-04 18:06:02 +01:00
Admiral H. Curtiss
5b52b3e9cb
x64Emitter: Check end of allocated space when emitting code.
2020-08-24 19:31:32 +02:00
Shawn Hoffman
2f47f486af
msbuild: re-enable standalone vcxproj processing
2020-08-22 16:17:50 -07:00
Shawn Hoffman
94bf48b67c
msbuild: refactor stuff out of project files (for dolphin)
2020-08-22 16:17:50 -07:00
Shawn Hoffman
36ace8eb52
prettify some constructs in vcxproj files
2020-08-22 16:17:50 -07:00
Shawn Hoffman
d40ae8a84b
UnitTests: expliticly list files to be compiled.
...
Fixes VS warning / bad behavior.
2020-08-16 15:17:11 -07:00
Shawn Hoffman
9d880c2db3
UnitTests: quiet warnings
2020-08-16 15:17:11 -07:00
JosJuice
55f787b898
Remove unused function Host_UpdateProgressDialog
2020-04-03 12:53:38 +02:00
Léo Lam
bbc8631357
IOS/FS: Fix CreateFullPath to not create directories that already exist
...
This fixes CreateFullPath to not create directories when it is known
that they already exist, instead of calling CreateDirectory anyway
and checking if the error is AlreadyExists. (That doesn't work
now that we have an accurate implementation of CreateDirectory
that performs permission checks before checking for existence.)
I'm not sure what I was thinking when I wrote that function.
Also adds some tests for CreateFullPath.
2020-01-30 18:07:03 +01:00
Tilka
73aea8af6b
Merge pull request #8539 from leoetlino/fs-accuracy
...
IOS/FS: Reimplement many functions in a more accurate way
2020-01-25 23:00:10 +00:00
Tilka
119ccc5e4f
Merge pull request #8556 from Sintendo/bestrest
...
x64Emitter: Avoid 8-bit displacement when possible
2020-01-25 19:10:47 +00:00
Tilka
709862b818
Merge pull request #8120 from MerryMage/cdts
...
Jit64: Make DoubleToSingle a common asm routine
2020-01-25 19:10:37 +00:00
Léo Lam
031c63eb8a
UnitTests/FS: Improve deletion test
...
* Test recursive directory deletion
* Test "in use" check for both files and directories
2020-01-25 17:54:58 +01:00
Léo Lam
af416c60b0
UnitTests/FS: Add ReadDirectory ordering test (issue 10234)
2020-01-25 17:54:58 +01:00
Léo Lam
8789a6ddb3
UnitTests/FS: Fix file rename tests
...
Files cannot be given a different file name, only moved across
directories.
Add a test for that behaviour and fix the existing
RenameWithExistingTargetFile test.
2020-01-25 17:54:58 +01:00
Léo Lam
d4ba0acb3a
UnitTests/FS: Add path validity and splitting tests
2020-01-25 17:54:57 +01:00
Léo Lam
484cfb9328
UnitTests/FS: Add metadata tests
2020-01-25 17:53:39 +01:00
Sintendo
d5cb858165
x64Emitter: Unit test memory addressing modes
...
Test the behavior of OpArg::WriteRest by using MOV with the various
addressing modes (MatR, MRegSum, etc.) in the source operand.
Both the instruction and the instruction length are validated.
2020-01-13 08:43:30 +01:00
Tilka
6e18dfb600
Merge pull request #8133 from Sintendo/mov64imm32
...
x64Emitter: Emit shorter MOVs for 32-bit immediates
2020-01-06 13:12:56 +01:00
Stenzek
6fcb1c6c46
Add an ARM64 target to Visual Studio projects
2019-12-28 19:20:41 +10:00
Stenzek
dd23a1ee79
Update VS projects/solutions to VS2019
2019-11-30 13:42:52 +10:00
Jordan Woyak
85ceb37ccd
InputCommon: Make the "input gate" not racey.
2019-11-06 16:31:02 -06:00
Silent
b3969e91d9
FixedSizeQueue: Bugfixes and improvements
...
- Fixed a bug where pushing items over queue's size left it in a corrupted state
- For non-trivial types, have clear() and pop() run destructors
- Added emplace(args...)
- Added empty()
FixedSizeQueue has semantics of a circular buffer,
so pushing items continuously is expected to keep overwriting oldest elements gracefully.
Tests have been updated to verify correctness of a previously bugged behaviour
and to verify correctness of destructing non-trivial types
2019-08-31 21:18:07 +02:00
Lioncash
a9663669dc
Common/CommonFuncs: Remove now-unneccessary ArraySize function
...
Since C++17, non-member std::size() is present in the standard library
which also operates on regular C arrays. Given that, we can just replace
usages of ArraySize with that where applicable.
In many cases, we can just change the actual C array ArraySize() was
called on into a std::array and just use its .size() member function
instead.
In some other cases, we can collapse the loops they were used in, into a
ranged-for loop, eliminating the need for en explicit bounds query.
2019-06-01 10:07:57 -04:00
Sintendo
9fe3150358
x64EmitterTest: Test 64-bit MOV with 32-bit immediate
2019-05-29 01:04:16 +02:00
MerryMage
12314577c1
Jit64AsmCommon: Make ConvertDoubleToSingle use RSCRATCH as output
2019-05-25 23:07:50 +01:00
MerryMage
ec8d57d882
UnitTests/Jit64Common: Test GenConvertDoubleToSingle
2019-05-25 23:07:50 +01:00
David Korth
8417c78b7a
Update Discord rich presence when the title changes
...
This allows us to update the rich presence description if a channel
is launched from the Wii Menu. It also handles other PPC title
launches, e.g. Smash Bros. Masterpieces.
Host.h: Added Host_TitleChanged().
DolphinNoGUI/MainNoGUI.cpp: Implemented Host_TitleChanged().
DolphinQt/Host.cpp: Implemented Host_TitleChanged().
Android/jni/MainAndroid.cpp: Stubbed Host_TitleChanged().
DSPTool/StubHost.cpp: Stubbed Host_TitleChanged().
UnitTests/StubHost.cpp: Stubbed Host_TitleChanged().
2019-05-24 14:12:48 +02:00
Techjar
ff972e3673
Reformat repo to clang-format 7.0 rules
2019-05-06 18:48:04 +00:00
Léo Lam
ab9ece9bca
Replace MathUtil::Clamp with std::clamp
2019-05-04 23:12:17 +02:00
Filip Gawin
c110ffcdaa
Remove redundant initialization
2019-04-30 01:22:24 +02:00
Stenzek
113bd60fe7
Implement D3D12 backend
2019-04-01 11:24:55 +10:00