Henrik Rydgård and Claude 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] and hrydgard
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