Commit Graph

82 Commits

Author SHA1 Message Date
Unknown W. Brackets
0aba5ff3c1 TexCache: Correct alpha mask checks for SSE2.
Should have been shifts by byte (4/8), but let's just switch to shuffles
anyway.  These were always shifting in zeros and failing.
2022-12-03 12:38:01 -08:00
Unknown W. Brackets
cf030c3bce Global: Cleanup some unreferenced warnings. 2022-08-13 12:43:14 -07:00
Henrik Rydgård
35e7affa3e Simplify alphasum checking for DXT textures, and fix a regression
Got some weird blackness in the sky in Gran Turismo. This fixes that.
2022-04-25 00:54:47 +02:00
Henrik Rydgård
900ff64cf1 Buildfix 2022-04-15 13:39:01 +02:00
Henrik Rydgård
3efce3ceca Try a clang pragma to avoid overeager auto-vectorization 2022-04-15 13:26:54 +02:00
Henrik Rydgård
9e60b82c54 Buildfixing, correct NEON type usage 2022-04-15 13:19:03 +02:00
Henrik Rydgård
185b93058e SIMD-optimize CheckMask16 / CopyAndSumMask16 2022-04-15 12:40:10 +02:00
Henrik Rydgård
c4dfbf4f1a Delete a lot of specialized alpha checking code.
This was now only used to check alpha in CLUTs, and the generic functions will not actually be any slower.
2022-04-15 12:34:50 +02:00
Henrik Rydgård
a5ee1884c1 Address feedback 2022-04-15 01:08:14 +02:00
Henrik Rydgård
9f7e0978a9 AND together colors while decoding, and then check against fullAlphaMask. 2022-04-15 00:56:25 +02:00
Henrik Rydgård
584e94f01e ARM32: Remove a lot of non-NEON fallback paths 2022-04-13 11:44:55 +02:00
Henrik Rydgård
f54ed3757c Always use the stable quick tex hash. Doesn't actually make a difference except on new CPU archs. 2022-04-13 11:18:18 +02:00
Henrik Rydgård
e6fe31365a Remove more function defines 2022-04-13 10:02:16 +02:00
Henrik Rydgård
a68ddd0a8d Merge separate NEON functions into the normal functions.
We no longer support non-NEON ARM.

It's nice also to have the NEON and SSE implementations "close" to each
other, easier to port optimizations back and forth etc.
2022-04-12 23:43:21 +02:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets
8a00c2d233 GPU: Allow gcc/clang/icc runtime SSE4 usage.
All our builds before were only using SSE4 in jit...
2022-01-08 17:09:09 -08:00
Unknown W. Brackets
6762903087 TexCache: Correct confusing red/blue var names.
This decodes to RGBA (R least significant), so it's confusing to refer to
it as BGRA.  It's actually the 565 colors in the DXT data that are BGR.
2021-09-12 17:21:45 -07:00
Unknown W. Brackets
a0eeb52444 softgpu: Decode DXT texels directly.
This improves performance a lot compared to decoding the whole block.
Eventually we may implement a cache, but threading makes that complex to
make properly fast.
2021-09-12 09:37:34 -07:00
Unknown W. Brackets
1ee5352d3e TexCache: Correct DXT5 alpha calculation.
This matches PSP alpha values from an exhaustive test.
2021-09-12 09:35:53 -07:00
Unknown W. Brackets
8a8328c431 Common: Move ColorConv to a more appropriate place. 2021-05-01 11:20:05 -07:00
Unknown W. Brackets
13ec384dbe Build: Explicitly include ppsspp_config.h.
This adds it to all files that use it.  Not all our builds include the
file.
2021-03-02 21:04:03 -08:00
Unknown W. Brackets
30625225b0 GPU: Remove neon xxhash implementation.
It's typically around the same speed now with modern compilers, and much
slower than XXH3.
2020-08-27 20:31:09 -07:00
Rémi Verschelde
e479bf7f7b TextureDecoder: Fix misuse of NEON on all armv7
`ppsspp_config.h` properly defines `PPSSPP_ARCH(ARM_NEON)` already for
arm64v8 and armv7+NEON, so we use that instead of using NEON instructions
on all armv7.
2020-06-27 17:29:24 +02:00
Unknown W. Brackets
4a8839c99d GPU: Avoid divide by zero in garbage displaylist. 2020-03-19 20:56:24 -07:00
Unknown W. Brackets
1199008641 TexCache: Align bufw properly even for VRAM.
Fixes minimap arrows in Manhunt 2 (see #9615.)
2019-03-24 19:21:08 -07:00