Unknown W. Brackets
dc09875eca
Refactor s8/s16 to float conversion.
...
It's pretty much all done the same way. Note that normals have always
been a little inconsistent between 127/128 and 32767/32768. But it's
probably not causing a major impact...
2014-08-18 00:47:50 -07:00
Unknown W. Brackets
385df1c54e
Force positions to scale by 128/32768 as psp does.
...
This makes everything use floats for positions. On some hardware/drivers,
this may be faster. On some it may be slower. We'll need testing to see
the performance impact.
Fixes Final Fantasy 4's pos misalignments, and probably others (like
Tekken 5 I suspect.)
2014-08-17 14:31:49 -07:00
Unknown W. Brackets
89ffbd027e
vertexjit: Specify round to zero in ARM rounding.
...
Only affects color morphs. NEON always rounds to zero so let's be
consistent.
2014-06-28 00:38:57 -07:00
Unknown W. Brackets
ff25b9d20e
Oops, the vertexdecoder should read vertex alpha.
...
Copy/paste mistake... ugh.
2014-05-04 09:05:45 -07:00
Unknown W. Brackets
27550a2336
Update some flags in GLES_GPU.
...
It's useful to know if we need to have a correct PC value or downcount.
2014-03-29 14:10:35 -07:00
Unknown W. Brackets
4b1737b0cd
vertexjit: Oops, don't use NEON when not supported.
2014-03-29 02:05:10 -07:00
Unknown W. Brackets
3adab534c7
vertexjit: Fix dumb mistakes in NEON color morphs.
2014-03-29 01:00:02 -07:00
Unknown W. Brackets
162bd98877
vertexjit: Fix Jit_WriteMorphColor() on ARM.
...
It was totally wrong.
2014-03-29 00:24:34 -07:00
Henrik Rydgard
1d21306dcc
Use the VLD1 solution for the skinning problem, instead of the old VFP path.
2014-03-25 20:40:29 +01:00
Henrik Rydgard
6d648b075f
Disable an optimization that broke Daxter ( #5723 )
2014-03-25 11:09:15 +01:00
Henrik Rydgard
f30d0d810e
ARM buildfix
2014-03-24 14:44:46 +01:00
Unknown W. Brackets
604160f60c
Switch to fullAlphaReg not hasAlphaReg.
2014-03-24 01:27:13 -07:00
Unknown W. Brackets
61f5d3d360
Initial stab at tracking vertex alpha.
...
Not sure what efficient method to use on x86...
2014-03-24 01:26:55 -07:00
Unknown W. Brackets
b589d3b170
vertexjit: Fix a silly mistake in weights > 4.
...
Darn switch, took me way too long to notice this.
2014-03-23 19:02:40 -07:00
Unknown W. Brackets
7be619cad2
vertexjit: Fix typo in NEON weights.
2014-03-23 17:50:53 -07:00
Unknown W. Brackets
75ca544e73
vertexjit: Avoid the remaining VFP instrs.
...
So now, unless there's skin+morph, it should be all-NEON, I think.
2014-03-23 16:26:22 -07:00
Unknown W. Brackets
5ee4ba54b7
vertexjit: Use NEON loads for up to 8 weights.
2014-03-23 16:26:21 -07:00
Unknown W. Brackets
cb02d66d8f
vertexjit: Use NEON for prescale as well.
...
Just to keep the VFP out of the picture.
2014-03-23 16:26:20 -07:00
Unknown W. Brackets
0dc881e9aa
vertexjit: Avoid the VFP more in some weight funcs.
2014-03-23 16:26:19 -07:00
Unknown W. Brackets
c5e5bed59d
vertexjit: Avoid skinning VFP switching.
2014-03-23 16:26:19 -07:00
Unknown W. Brackets
0048352318
vertexjit: Update some documentation.
...
We currently never skin and morph at the same time.
2014-03-23 16:26:18 -07:00
Unknown W. Brackets
9cfb0782bf
vertexjit: Turn on NEON color morphs on ARM.
2014-03-23 16:26:17 -07:00
Unknown W. Brackets
4c48031724
vertexjit: Try to avoid a few more VFP switches.
2014-03-23 16:26:17 -07:00
Unknown W. Brackets
58fe022ecd
vertexjit: Avoid switching to VFP from NEON.
2014-03-23 16:26:17 -07:00
Unknown W. Brackets
a1301f5c4d
Log if any games are actually using s8 through.
...
Not sure about z sign.
2014-03-23 16:26:16 -07:00
Unknown W. Brackets
154b0d14a5
vertexjit: Combine a few loads and stores on ARM.
2014-03-23 16:26:16 -07:00
Unknown W. Brackets
b55ad0d9c6
vertexjit: Improve NEON align on color morph ARM.
2014-03-23 16:26:15 -07:00
Unknown W. Brackets
9698a565b7
vertexjit: Implement NEON color morphs on ARM.
2014-03-23 16:26:15 -07:00
Unknown W. Brackets
a478436de9
vertexjit: Attempt 16-bit color morphs on ARM.
2014-03-23 16:26:15 -07:00
Unknown W. Brackets
29f9ea5df6
vertexjit: support 8888 morph on ARM.
2014-03-23 16:26:14 -07:00
Unknown W. Brackets
34747b7aa4
vertexjit: Support morph pos/norm on ARM as well.
2014-03-23 16:26:14 -07:00
Unknown W. Brackets
009c3ee3f7
vertexjit: Save S16-S31 registers in ARM.
2014-03-23 16:26:13 -07:00
Unknown W. Brackets
b04553b983
vertexjit: Fix non-morph 5551 decoding.
...
Oops, it was just wrong before.
2014-03-23 16:26:13 -07:00
Henrik Rydgård
8dfadf7b8e
ArmEmitter: Add VMOV_neon and a Size parameter to VFMA for consistency.
2014-03-22 16:31:16 +01:00
Sacha
05571df8ec
Use a VLDM in Vertex Decoder.
2014-03-07 14:25:05 +10:00
Henrik Rydgård
79549e4acc
PosS16Through: Treat Z as unsigned.
2014-02-13 11:59:47 +01:00
Unknown W. Brackets
e6b2d00a2f
Avoid reseved identifiers like _SP, etc.
...
R_SP is not that bad.
2013-12-29 14:25:34 -08:00
Henrik Rydgard
9c6e7e2958
Fix bug in vtxdec jit when hardware skinning
2013-11-30 16:26:50 +01:00
Henrik Rydgard
866ed28f64
Use VFMA in the one place where it's convenient. Some more optimization.
2013-11-24 19:50:56 +01:00
Henrik Rydgard
e5e23f3ce1
ARM: Fix vsgn. Some vertex decoder tweaks.
2013-11-24 18:21:47 +01:00
Henrik Rydgard
030e6460cc
ARM: NEON-optimize software skinning
2013-11-24 18:03:42 +01:00
Henrik Rydgard
acb3994172
Split VertexDecoder into files for ARM and x86, got too large.
2013-11-24 15:58:15 +01:00