472 Commits

Author SHA1 Message Date
Wyatt Radkiewicz
e4c984cd3a BUILD: Configure flags for SIMD extensions
--enable-ext-neon
--enable-ext-sse2
--enable-ext-avx2
2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
843d835641 TEST: Change blendFrom test 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
4f9739685a TEST: blendBlit test will now also test SSE2 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
c2c7ca0275 GRAPHICS: BlendBlit NEON blending modes coded 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
9ad04f8000 GRAPHICS: Optimize BLEND_NORMAL on NEON 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
eebadf4495 GRAPHICS: Optimize alpha blend NEON and Generic
I optimized the NEON and Generic paths for ManagedSurface::blendBlitFrom
and the new TransparentSurface::blit. Now (on arm), the new blit function
matches the speed of the old blit function even with the added
inderections that the runtime extension detection code adds in.

Other than that, I made a benchmark for this code and you can make it
using this command:
CFLAGS="-DTEST_BLEND_SPEED" make test

I reverted wii to not use altivec anymore since it doesn't.

I also removed graphics/blit-neon.cpp from graphics/module.mk because
simply including the .cpp file in graphics/blit-alpha.cpp was a better
option because then I didn't need to instantiate every version of the
templates that I needed.
2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz
d039a8570e TEST: Add test for ManagedSurface::blendBlitFrom 2023-08-13 00:22:10 +02:00
Cameron Cawley
d8cca29783 BACKENDS: Allow filling part of the screen with OSystem::fillScreen 2023-08-06 23:03:46 +02:00
Le Philousophe
f34bef6840 COMMON: Add normalization to Path class 2023-07-09 21:41:58 +02:00
grisenti
661e9373e3 TEST: Add tests for Common::upperBound 2023-06-01 23:07:41 +02:00
grisenti
1a696c1d6f TEST: Add tests for Common::lowerBound 2023-06-01 23:06:39 +02:00
hax0kartik
4924a35540 TEST: Add more testcases for Common::remove() 2023-06-01 16:32:03 +02:00
hax0kartik
698bb261d1 COMMON: Add remove() to algorithm 2023-06-01 16:32:03 +02:00
Eugene Sandulenko
0f3424be05
TESTS: Rename clashing global variables 2023-05-15 14:32:29 +02:00
elasota
f30ab9b70f TEST: Add test for comment prefixed by whitespace. 2023-05-11 00:22:14 +03:00
hax0kartik
0c9e17c57c TESTS: Add U32String::replace() tests 2023-02-27 22:01:13 +01:00
D G Turner
de16ed814b TEST: Fix Misleading Indentation GCC Compiler Warnings in Common::Crc tests 2023-02-20 01:49:57 +00:00
Matthew Jimenez
1c159c0c59 ULTIMA8: Change sort item constructor to not include next pointer 2023-02-14 18:25:45 -06:00
Matthew Jimenez
5ce54293a8 ULTIMA8: Add test case for rendering issue where transparent rule should not apply 2023-02-07 18:11:38 -06:00
Matthew Jimenez
4ff10c5256 ULTIMA8: Add test case for inventory item sort rule 2023-01-28 18:06:07 -06:00
Matthew Jimenez
65b725c12a ULTIMA8: Add sprite rule to sort item listLessThan to fix rendering bug 2023-01-28 08:08:13 -06:00
Matthew Jimenez
3cafae9398 ULTIMA8: Fix sort item hidden easter egg item and test 2023-01-27 17:55:23 -06:00
Matthew Jimenez
f1d6ad795a ULTIMA8: Use shape frame screen rect in sort item occludes and overlaps checks in addition to world box. Fixes #14039 2023-01-26 18:53:01 -06:00
Matthew Jimenez
5935499ff1 ULTIMA8: update all sort item tests to set box bounds 2023-01-26 18:53:01 -06:00
Matthew Jimenez
62b4aec959 ULTIMA8: Use box struct to set bounds of sort items 2023-01-26 18:53:01 -06:00
Matthew Jimenez
71bf75783d ULTIMA8: Replace sort item screenspace coords with rect 2023-01-26 18:53:01 -06:00
Matthew Jimenez
6e3a288d93 ULTIMA8: Add contains point method for sort items 2023-01-26 18:53:01 -06:00
Matthew Jimenez
eb5a079fd3 ULTIMA8: Fix item sorter dependency graph cycle and add test 2023-01-24 22:59:25 -06:00
Matthew Jimenez
e813af901f ULTIMA8: Remove x & y flat checks that introduced bugs 2023-01-24 21:18:23 -06:00
Matthew Jimenez
edd82bb8e8 ULTIMA8: Additional item sort rules and test.
This also fixes #14035
2023-01-22 11:42:04 -06:00
Matthew Jimenez
2e11704ed9 ULTIMA8: Update box struct better match rect methods 2023-01-18 21:54:41 -06:00
Matthew Jimenez
00583aa7f5 ULTIMA8: Add basic test for sort item occludes 2023-01-17 23:19:09 -06:00
Matthew Duggan
eba2fb9b5f MATH: Add ray triangle intersection and tests 2023-01-16 17:36:43 +01:00
Matthew Jimenez
5d13b0831b ULTIMA8: Add item sort rules for land and roof.
This fixes Pentagram bug #276.
2023-01-13 18:57:58 -06:00
Matthew Duggan
c53b42311d COMMON: Fix path split+join combinations, add tests for same
This resolves multiple scenarios where a path ends up with a trailing
separator.
2022-12-31 17:57:07 +09:00
Cameron Cawley
4002c7bdde
COMMON: Add a version of Common::Array::resize with a fill value 2022-12-19 14:33:07 +02:00
Cameron Cawley
a55361b65d COMMON: Add Common::Array::swap() 2022-12-18 23:36:09 +02:00
Cameron Cawley
fd123d6679 COMMON: Split compression and formats into separate modules 2022-12-11 22:33:23 +01:00
Cameron Cawley
28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Cameron Cawley
0581301b24 COMMON: Move huffman.h back out of the compression directory 2022-12-11 22:33:23 +01:00
Eugene Sandulenko
fb7095f5a4
COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
Vladimir Serbinenko
357249fb5a COMMON: Split slow and fast CRC implementation
They have almost nothing in common. And we probably want to kill slow
implementation anyway now that we have tests
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko
05f1a0df51 COMMON: Remove the need for most reflecting when initing reflected table
Instead reflect the polynomial and change the shifts. Also removes the
need for explicit init.

This makes our crc more similar to its standard implementation
2022-11-29 01:05:31 +01:00
Vladimir Serbinenko
35bac4e58c COMMON: Add tests for CRC 2022-11-29 01:05:31 +01:00
Sergio
d136a5f54c COMMON: fix String::rfind for default value of pos (max value of size_t) 2022-11-26 23:13:42 +02:00
Cameron Cawley
3441c7230d COMMON: Fix handling escaped percents in Common::U32String::format 2022-11-20 14:23:30 +01:00
Cameron Cawley
29024cded7 COMMON: Fix handling negative numbers in Common::U32String::format 2022-11-20 14:23:30 +01:00
Le Philousophe
ab12e7fe01 COMMON: Fix a missing str.h include
It's not included anymore in util.h
2022-10-30 19:38:35 +01:00
Le Philousophe
6524f7beb5 COMMON: Forbid use of unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Roland van Laar
2e92852d57 TESTS: resolve clang warning
Run tests with -Wno-self-assign-overloaded
Some tests explicitely assign the value of the variable type to itself.

Fixes warnings such as these:

./test/common/str.h:201:9: warning: explicitly assigning value of variable of type 'Common::String' to itself [-Wself-assign-overloaded]
                foo10 = foo10;
                ~~~~~ ^ ~~~~~
2022-10-06 19:01:15 +02:00