149 Commits

Author SHA1 Message Date
Jordan Woyak
f28077b139 Merge pull request #57 from Tilka/master
Fix typo in test output (NFC)
2024-11-24 13:20:01 -06:00
Tillmann Karras
c151fd533b Fix typo in test output (NFC) 2024-11-24 15:25:52 +00:00
Tilka
73c38519d2 Merge pull request #56 from Geotale/paired-moves
Add Paired Single Move Tests
2024-11-24 15:09:06 +00:00
Geotale
16dd5cbb90 Fix fres, add NI, more test cases
`fres` is reimplemented in an unoptimized way but it handles all edge cases
The specific magic numbers were binary searched on hardware
Someday NI maybe should be an option with the normal fres tests and not only ps_res
2024-09-23 17:28:19 -05:00
Geotale
e8a16a5ce2 Complete Initial PR
Adds instructions I initially forgot
- ps_sel, ps_sum0, ps_sum1, ps_res
Adds more test cases
Adds isync
Corrects *everything* to sync on hardware
2024-09-23 11:12:18 -05:00
Geotale
b2f6c9d62e Add Paired Single Move Tests
Adds a new file for common float tests -- This will likely be used more in the future as well
Modifies two other tests which use thing now use functions in the CommonFloat file (the location of frsqrte_expected very well may change)
Adds software implementation of mantissa truncation and rounding given the expected rounding mode
Both of these are for tests for float move instructions
These instructions include ps_merge, ps_mr, ps_neg, ps_abs, ps_nabs, and ps_rsqrte is included to check for a similar quirk
2024-09-10 02:44:57 -05:00
JosJuice
fefc20dce7 Merge pull request #55 from Tilka/master
Fix -Wsign-compare warnings
2024-08-03 17:11:16 +02:00
Tillmann Karras
b9e57807be Fix -Wsign-compare warnings 2024-08-01 21:25:55 +01:00
Tilka
d05eeeddbe Merge pull request #53 from Tilka/common
Fix Common -> common
2023-11-18 10:33:25 +00:00
Tillmann Karras
44407aa5f4 Rename common -> Common to match main Dolphin repo 2023-11-18 10:16:27 +00:00
Mai
dfc7858655 Merge pull request #40 from JosJuice/fctiw
Add fctiw rounding test
2022-12-04 18:01:42 +00:00
Mai
5f4e4be500 Merge pull request #41 from JosJuice/fprf
Add FPRF test
2022-12-04 18:01:16 +00:00
Mai
81aa0dc80c Merge pull request #54 from JosJuice/nan
Add test for NaN handling
2022-12-04 09:13:02 +00:00
JosJuice
b6e34bd488 Add test for NaN handling
This is intended to verify that Dolphin's "AccurateNaNs" setting is
working correctly.
2022-12-03 21:05:32 +01:00
JosJuice
d5979dabae Add fctiw rounding test 2022-11-26 16:21:46 +01:00
JosJuice
ec51ebfcd5 Add FPRF test 2022-11-26 16:14:36 +01:00
JosJuice
4f1520044e Merge pull request #23 from Tilka/fix_frsp
Fix and extend frsp test
2022-09-05 21:31:37 +02:00
Tillmann Karras
b73564050c frsp: add test values for RN=2/3 2022-09-03 17:58:37 +01:00
Tillmann Karras
003f718492 frsp: add more test values for non-IEEE mode 2022-09-03 17:57:07 +01:00
Tillmann Karras
48d7bad2f1 More accurate asm constraints
"f" is for singles, "d" is for doubles. Doesn't seem to matter much
though.
2022-09-03 17:56:05 +01:00
Tillmann Karras
d49ced3829 Fix frsp test
No idea why I didn't notice this before.
2022-09-03 17:52:35 +01:00
Mai
84d7c2fffd Merge pull request #52 from JosJuice/ni-subnormal-rounding
cputest_ni: Add tests for subnormals that get rounded to normals
2022-08-09 18:16:58 -04:00
JosJuice
60b9e0c2dc cputest_ni: Add tests for subnormals that get rounded to normals
I wrote these two tests because I wanted to test if the behavior I
implemented in https://github.com/dolphin-emu/dolphin/pull/10959 should
affect the results of arithmetic operations in addition to frsp. It
turned out that Dolphin was already correctly emulating these two tests
(I frankly don't understand how in the float case), but I figured I
would submit the tests regardless. If nothing else, it's good for
documenting what the real hardware is doing.
2022-08-06 19:00:19 +02:00
Pokechu22
ca5f8a9b1a Merge pull request #47 from Pokechu22/bitfield-no-copy-assignment
Re-delete bitfield's copy-assignment operator
2022-07-10 19:28:40 -07:00
Pokechu22
e784737faf Merge pull request #44 from Pokechu22/efb-copy-filter
Add copy filter test
2022-07-10 19:23:01 -07:00
Pokechu22
53c1707579 Mark unspecialized versions of CGXDefault as deleted
Before, writing e.g. `CGXDefault<int>();` would compile successfully (with a warning), but would fail on linking.  Now, it fails when compiling.
2022-04-23 11:06:28 -07:00
Pokechu22
f1f2782c98 Add a move-assignment operator to bitfield
This allows assigning unions from CGXDefault, but still prevents the bad behavior of copying all bits when assigning one individual BitField to another.
2022-04-23 10:59:54 -07:00
Pokechu22
9a84b46b1a Revert "Allow using bitfield's copy-assignment operator"
This reverts commit 9b7be93420.  Note that this reversion means code no longer compiles properly.  (Also note that BitField.h is still modified from the version used in Dolphin, to remove references to Inline.h.)
2022-04-23 10:44:11 -07:00
Pokechu22
744226a7a0 Merge pull request #48 from Pokechu22/efb-copy-invalidate
CGX_DoEfbCopyTex: Use DCInvalidateRange instead of DCFlushRange
2022-04-23 09:56:13 -07:00
Pokechu22
6da4dacf48 CGX_DoEfbCopyTex: Use DCInvalidateRange instead of DCFlushRange 2022-04-22 18:26:19 -07:00
Pokechu22
71f9782e41 Test copy filter with depth copies using Z-textures
Phire suggested this.  Z pokes don't work properly for some reason, but we can write arbitrary values to the Z buffer by writing to the color buffer, then performing an EFB copy, then using that EFB copy as a texture with the Z-texture functionality enabled.
2022-04-22 18:04:22 -07:00
Pokechu22
6e36e41d10 Add copy filter test 2022-04-22 18:04:22 -07:00
Pokechu22
8758b20368 Add intensity EFB copy test 2022-04-22 17:46:10 -07:00
Pokechu22
6bfede0b92 Expose GXTest::text_buffer in the header
This is to allow using it as a texture externally.
2022-04-22 17:46:10 -07:00
Pokechu22
4a809ccf00 Add wrappers for GX_PeekARGB/Z and GX_PokeARGB/Z to CGX
Currently these are direct wrappers, but we may need to replace them with something more complicated in the future (and this also avoids directly calling GX functions in tests, since not all GX functions are state-free (though these are)).
2022-04-22 17:46:10 -07:00
Pokechu22
fc456d62c3 Create EFBCopyParams 2022-04-22 17:46:10 -07:00
Pokechu22
2967cdcbe1 Merge pull request #46 from Pokechu22/misc-cleanup
Misc cleanup
2022-04-19 17:06:18 -07:00
Pokechu22
af5a13c8e4 Add function to report overall number of passed tests 2022-04-16 22:55:06 -07:00
Pokechu22
3e6b1b17ef Update BPMemory.h to Dolphin's version
Note that there are some small differences:
- TextureFormat, TLUTFormat, and EFBCopyFormat are normally in a different header, but I've put them here instead
- I've added a function to set the copy format to UPE_Copy
- I've removed the use of Common/Inline.h
- I've removed non-implemented functions and the actual BP memory struct
- I've made the enum of various registers have a base type of u32 (which allows bitshifting with it without warnings)
2022-04-16 22:54:31 -07:00
Pokechu22
624a8f4f87 Convert DO_TEST to fmt
This required adding Dolphin's FormatUtil.h so that I could find things that still needed to be converted.
2022-04-16 22:54:31 -07:00
Pokechu22
9b7be93420 Allow using bitfield's copy-assignment operator 2022-04-16 22:54:31 -07:00
Pokechu22
a354e1efa4 Sync Dolphin's BitField
Note that this change does not compile on its own, as hwtests requires the default copy-assignment operator for unions to be copied properly.  (The file has also been slightly modified to remove references to Common/Inline.h.)
2022-04-16 22:54:31 -07:00
Pokechu22
0460574377 cputest/mtspr: fix line endings 2022-04-16 22:54:31 -07:00
Pokechu22
56dea96523 Add dependency on fmt 2022-04-16 22:54:31 -07:00
Pokechu22
5a5217e095 Mark __CGXFinishInterruptHandler's parameters as unused
This resolves some warnings.
2022-04-16 22:54:31 -07:00
Pokechu22
ec7e2166b2 CMakeLists: Specify C++17
WriteMtxPS4x2 has been removed since register is no longer a keyword.  It wasn't used in any case.  I've also enabled additional warnings (though I haven't fixed any of them).
2022-02-23 13:02:33 -08:00
Pokechu22
205f245112 Fix ReadTestBuffer if width was already divisible by 4 2022-02-23 13:02:33 -08:00
Pokechu22
066715a6d6 Improve network_printf
privDoTest (and thus DO_TEST) now is marked as using printf formatting, so gcc will complain if the format string is wrong.  I also added a fake call to OSReport which will show up in Dolphin's console.
2022-02-23 12:59:47 -08:00
Pokechu22
3733ddc550 Adjust run.sh 2022-02-23 11:44:01 -08:00
Tilka
328faf95ce Merge pull request #39 from JosJuice/cr
Add CR test
2021-06-06 02:06:36 +01:00