Henrik Rydgård
9bbdd1907d
Kind-of optimized ARM software skinning (non-NEON)
2013-11-13 18:11:35 +01:00
Henrik Rydgård
821a2f10f8
Delete obsolete code
2013-11-13 18:10:58 +01:00
Henrik Rydgard
6221dbaf5d
Optimize software skinning for x86.
...
Can't seem to get a win on Windows vs hardware skinning though, even though
draw calls drop by 2/3rd...
2013-11-13 18:10:58 +01:00
Henrik Rydgard
9333d3ea76
Vtx dec jit: Combine the scale and offset registers to save 1 more xmm register.
2013-11-13 18:10:58 +01:00
Henrik Rydgard
4f78eda23b
Save a couple of registers in the x86 vertex decoder jit by SIMD-ing prescale UV
2013-11-13 18:10:57 +01:00
Henrik Rydgard
7e67476b00
Simple unoptimized software skinning.
...
Does not take advantage of the possible reduction in state changes yet.
2013-11-13 18:10:57 +01:00
Henrik Rydgård
ab3fe9ba86
Extract the software transform code into its own file.
2013-11-13 14:56:34 +01:00
Henrik Rydgard
63334698e1
Add temporary setting to disable the vertex decoder jit while we debug it
2013-11-09 18:16:26 +01:00
Henrik Rydgard
0e542b6ecc
vtxdec: small omission
2013-11-08 20:38:49 +01:00
Henrik Rydgard
22d6b36005
Vertexdecoder "double": fix for x86 and very minor optimization for arm.
2013-11-08 20:03:28 +01:00
Henrik Rydgard
6b45c321b6
vtxdecjit: turn off excessive logging
2013-11-08 18:49:17 +01:00
Henrik Rydgard
381b6d0f05
VertexDecoder JIT: Add the last missing ones except morph, I think.
2013-11-08 12:43:46 +01:00
Henrik Rydgard
c4e3dd14fd
Add commented-out code to save XMM4/XMM5.
...
According to all calling convention manuals I can find, we don't really
need to preserve them. If they become problematic as mentioned, we can
activate this.
2013-11-07 09:54:58 +01:00
Henrik Rydgard
b203da05e9
Prescale UV in vtx-dec-jit: Fix bugs, add ARM support
2013-11-07 01:24:53 +01:00
Henrik Rydgård
367bcf6d4f
Prescale in the vertex dec jit. Needs debugging.
2013-11-07 01:24:53 +01:00
Unknown W. Brackets
34398b7d0c
Avoid literal loads in the arm vertexjit.
2013-11-06 08:45:00 -08:00
Henrik Rydgård
51995a3d43
Vtx dec: After generating ARM, remember to flush the icache.
...
Will hopefully fix the random crashes in #4461 .
2013-11-06 16:14:40 +01:00
Henrik Rydgård
e3f6f25390
Buildfix for non-Windows non-ARM
2013-11-06 13:54:26 +01:00
Henrik Rydgård
ea9da85bdb
Missed one possible unaligned access
2013-11-06 13:14:49 +01:00
Henrik Rydgård
b3fdfc01c8
ARM vtx dec: Avoid all unaligned accesses entirely.
...
Seeing so much contradictory information on the support and performance
of these.
2013-11-06 12:17:41 +01:00
Henrik Rydgård
1e158fa652
ARM vtx dec: Preserving our FP scratch register appears to improve
...
stability.
Also added some logging.
2013-11-06 11:47:26 +01:00
Henrik Rydgård
b19d41f9a8
Now that LDRH works, use it where appropriate
2013-11-06 10:51:21 +01:00
Henrik Rydgard
0eb3d79de9
x86 VertexDecoder jit: Fix typo in 16-bit weight decoder. May fix crashes.
2013-11-05 21:06:43 +01:00
Henrik Rydgård
7bf8a4dc5e
We need to use a signed VCVT to float in PosS*Through
2013-11-05 12:17:18 +01:00
Unknown W. Brackets
c7edf73cdb
Small optimizations to the vertexjit.
2013-11-05 00:32:08 -08:00