1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00
Commit Graph

22 Commits

Author SHA1 Message Date
Blake Warner
0255e10db6 native port 2022-01-29 17:22:09 -05:00
Logan McNaughton
42c196c30a Update xxHash to 0.8.0 2020-10-12 13:25:53 +07:00
fzurita
fbd1ad1a5a Fix broken Android compilation with updated xxHash 2020-04-09 15:33:56 +07:00
Logan McNaughton
85a8635952 Update to XXH3 for CRC_OPT 2020-03-30 21:16:59 +07:00
gizmo98
31ced0362a Use FIXED2FLOATRECIP16
Replace 1.5258789e-05f with FIXED2FLOATRECIP16
2018-06-02 21:35:32 +07:00
fzurita
b6b4083982 Add NEON implementation of CRC_OPT.cpp
This comes from
https://github.com/hrydgard/ppsspp/blob/master/GPU/Common/TextureDecoderNEON.cpp
2018-03-29 12:51:58 +07:00
gizmo98
afc41907d5 arm neon: replace neon asm with neon intrinsics
-adds aarch64/arm64 support
-easier to maintain
2018-03-27 13:14:18 +07:00
Sergey Lipskiy
dcdf66dc0b Fix hardware lighting. It was broken when lighting method was rewritten in 6af6e2c17f
Hardware lighting is incompatible with new lighting method.
Model matrix may be different for different vartices, but only latest state of inverted light vectors are loaded to shader.
Thus I reverted calculations of data for hardware lighting.

Minor code cleanup.

Fixed: Zelda OOT, bad lighting with HW per pixel lighting #1652
2017-11-11 21:35:08 +07:00
gizmo98
f29468728b arm neon: Disable hardware lighting for ucodes with custom lighting methods.
https://github.com/gonetz/GLideN64/commit/dcf8784dca047b347d8ec4fc8a0d88
dd8ab9b081
2017-11-01 13:52:28 +01:00
gizmo98
7d22828193 gSPNEON.cpp: merge gSPLightVertex_NEON and gSPLightVertex4_NEON 2017-10-10 14:04:37 +07:00
gizmo98
39d4b223c8 arm neon: add gSPInverseTransformVector function
Fix declaration of gSPInverseTransformVector as well. Replace vtx[4]
with vec[3].
2017-10-10 14:04:36 +07:00
Sergey Lipskiy
c75985b9d8 Code refactor: rewrite HLE vertices loading.
Enable __VEC4_OPT for Windows release builds.
2017-10-06 17:03:11 +07:00
Francisco Zurita
3790dbe1ed Fix build error in Android build 2017-09-25 00:48:49 -04:00
gizmo98
a986503133 arm neon: add CopyMatrix function 2017-07-15 10:19:15 +00:00
Francisco Zurita
72abac8a83 Fix build error after latest debug changes. 2017-07-03 20:39:42 +07:00
gizmo98
86d144c2a7 arm neon: change s32 to u32 2017-05-28 20:36:10 +07:00
gizmo98
e52f39aebe arm neon: add gSPLightVertex and gSPLightVertex4 neon version 2017-05-28 20:36:10 +07:00
gizmo98
542d083840 arm neon: Cleanup InverseTransformVectorNormalize
Add a arm asm multivector function of InverseTransformVectorNormalize which
replaces 2x and 4x functions.
2017-05-28 20:36:10 +07:00
gizmo98
b8a18f57e4 arm neon: add faster versions of InverseTransformVectorNormalize 2x and 4x
2x, opt level -O2
old 0,42 runtime of c function
new 0,36 runtime of c function

4x, opt level -O2
old 0,30 runtime of c function
new 0,23 runtime of c function
2017-04-05 10:40:01 +07:00
gizmo98
2acc3c7775 arm neon: add multivector versions of InverseTransformVectorNormalize
Arm neon performance is much better if more data can be loaded and
processed.

Four vectors. Opt level -O3
—————————————-
runtime 100% - C function
runtime 99% - Neon function
runtime 56% - Neon 2x function
runtime 36% - Neon 4x function

Four vectors. Opt level -O2
—————————————-
runtime 100% - C function
runtime 71% - Neon function
runtime 43% - Neon 2x function
runtime 30% - Neon 4x function
2017-03-27 14:22:49 +07:00
gizmo98
f907706dae arm neon: remove DotProduct
Compared to C function DotProduct runs slower.
-O0 factor 0,86
-O1 factor 1,60
-O2 factor 1,59
-O3 factor 1,57
Six values and 3x mult/add is not enough workload to fill at least two
quads and hide neon latency.
2017-03-24 18:36:38 +01:00
gizmo98
8f49d6b3a4 arm neon: move neon files into own folder 2017-03-22 21:15:04 +07:00