Commit Graph
17 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5.5 a9d8b6d3c5 GEMath: GERowSum4 takes its left operands as one vector
They're truncated to float24 with one AND, and their exponents, fractions
and signs worked out for all terms at once, each term then broadcasting its
lane (new CrossSIMD Vec4S32::SplatLane). The term count becomes a template
parameter so the lanes are constants. About 75-83 M transforms/s on an M1,
from 68; results unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-09 09:07:12 +02:00
Henrik Rydgård ae14ebb6ac IRWriter: Remove the confusing and inefficient AddConstant 2026-08-15 18:31:20 +02:00
Henrik Rydgård 676724ee5e Libretro buildfix submitted by boardsofcanada
Don't actually understand how this is an issue, but it seems like a fine
change anyway.
2026-06-19 22:54:31 +02:00
Henrik Rydgård d904b7e0f0 Loongarch type casting fixes, remove redundant code, buildfix 2026-06-02 10:52:39 +02:00
Henrik Rydgård e6185ba6bb Clean out NaNs and INFs from vertex coordinates
This enables a behavior seen on the real PSP where 0 * NaN == 0 in the
GPU (NOTE: This means the vertex transform pipeline).

However, this
doesn't touch INFs unfortunately, and we need to modify those too...

This, together with #21715, finally fixes #20204 .
2026-06-02 10:52:39 +02:00
copilot-swe-agent[bot]andhrydgard c05e1cfd3c Address LSX CrossSIMD review feedback
Agent-Logs-Url: https://github.com/hrydgard/ppsspp/sessions/6187ce4f-6c64-4b50-b82c-49799ea8cfd2

Co-authored-by: hrydgard <130929+hrydgard@users.noreply.github.com>
2026-05-25 15:40:22 +02:00
Henrik Rydgård 2eca0123f1 Correct culling in case of some weird viewport setups 2026-05-23 14:49:17 +02:00
Wang Xiang 66f5ac9897 Add fast_matrix_mul_4x4_lsx function for LoongArch64 2025-02-10 16:20:46 +08:00
Wang Xiang 56bd3d8dc6 Include <string.h> without ifdef 2025-02-07 00:31:37 +08:00
Wang Xiang 3eeaed68f2 Fix memcpy not declar error. 2025-02-06 16:32:31 +08:00
Henrik Rydgård f5cc41caab More CrossSIMD (breaking change) 2024-12-31 01:59:11 +01:00
Henrik Rydgård eec7853efe More SIMD: Add some matrix operations to CrossSIMD (#19773)
* More CrossSIMD functionality

* Use the new SIMD API for the matrix multiplies
2024-12-28 18:45:14 +01:00
Henrik Rydgård 2051d55c90 CrossSIMD: Add a bunch more functonality for use by the rasterizer 2024-12-21 14:28:00 +01:00
Henrik Rydgård c92b3b6521 Move prototype cross simd wrapper structs to CrossSIMD.h 2024-12-21 14:27:59 +01:00
Henrik Rydgård d5bfc1b5eb Finish up this cleanup (move _M_SSE compat define out of Common.h) 2024-12-19 16:23:20 +01:00
Henrik Rydgård d2a96dc7b5 Replace some SSE4-specific operations with SSE2 sequences. 2024-12-19 16:08:59 +01:00
Henrik Rydgård 5326d87f9c Rename CrossSIMD to SIMDHeader, but also keep CrossSIMD.h (will have a future use) 2024-12-19 15:15:43 +01:00