Unknown W. Brackets
6b606aa124
vertexjit: Fix some stupid mistakes in x86 morph.
...
Good to have somewhere to test it properly.
2014-03-29 00:15:35 -07:00
raven02
e0fae728ad
Update few comments for 2x src/dst blending
2014-03-28 20:11:37 +08: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 Rydgård
98b6f0db3a
Merge pull request #5717 from thedax/win32NVidiaVSync
...
Win32/NVidia: go fullscreen later than previous builds, to avoid vsync being ignored
2014-03-25 18:10:49 +01:00
Unknown W. Brackets
69c2500dc6
Make sure vai->flags are set while hashing.
...
Since we decode the verts in this case we have a fresh flag. Might
be #5718 ?
2014-03-25 08:19:38 -07:00
Henrik Rydgard
6d648b075f
Disable an optimization that broke Daxter ( #5723 )
2014-03-25 11:09:15 +01:00
Henrik Rydgård
cf3d75975d
Merge pull request #5720 from unknownbrackets/texcache
...
Optimize xxHash for ARM/NEON devices
2014-03-25 09:32:15 +01:00
Henrik Rydgård
9ba51adb89
Merge pull request #5719 from unknownbrackets/gpu-minor
...
Don't calculate lighting when not enabled (software transform)
2014-03-25 09:19:33 +01:00
Unknown W. Brackets
b800762ceb
Add a NEON-optimized version of XXH32.
...
This takes at least 40% less time to hash on NEON/ARM devices.
2014-03-25 00:34:55 -07:00
Unknown W. Brackets
a414abfe4a
Don't calculate lighting when not enabled.
...
We just ignore it anyway. 2% improvement in Tales of Phantasia X.
2014-03-24 22:57:58 -07:00
The Dax
1ca3d39a50
Disable the adaptive vsync checks by commenting them out. No need to have a disabled check run every frame.
2014-03-24 20:15:41 -04:00
Henrik Rydgård
ff498ed63b
Merge pull request #5710 from hrydgard/avoid-alpha-test
...
Avoid alpha test when vertexFullAlpha && textureFullAlpha
2014-03-25 00:51:53 +01:00
Henrik Rydgard
dc07d3410a
More checks for alpha test elimination
2014-03-24 17:33:20 +01:00
Henrik Rydgard
f30d0d810e
ARM buildfix
2014-03-24 14:44:46 +01:00
raven02
ffcbb8703d
Divide by 65536 instead of 65535
2014-03-24 21:33:29 +08:00
Henrik Rydgard
f33ddad364
Eliminate further alpha tests
2014-03-24 12:41:33 +01:00
Henrik Rydgard
97e7270ec9
Merge branch 'unknownbrackets-vertexalpha' into avoid-alpha-test
...
Conflicts:
GPU/GLES/VertexDecoderX86.cpp
2014-03-24 11:27:45 +01:00
Henrik Rydgard
975c564893
Merge branch 'vertexalpha' of github.com:unknownbrackets/ppsspp into unknownbrackets-vertexalpha
2014-03-24 11:22:05 +01:00
Henrik Rydgard
2c76e6d023
Correctly keep track of "full alpha" in vertices (x86 jit only).
2014-03-24 11:19:44 +01:00
Henrik Rydgard
6260ac4bc7
Fix the latest fog issue for software transform as well
2014-03-24 10:57:53 +01:00
Henrik Rydgard
f2f0355d94
Split up ApplyShader into ApplyVertexShader and ApplyFragmentShader.
...
Will allow the alphatest avoiding optimization later.
2014-03-24 10:55:07 +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 Rydgard
b174996c1c
Add a conservative check that prevents alpha testing in a few cases.
...
This will become really powerful if we add some code to the vertex decoder
to check for non-full alpha in the vertices, and set gstate_c.vertexFullAlpha if none
is found (probably want to do the reverse, set it to true and clear if any non-255 alpha is found).
Alpha testing is a performance killer on many mobile GPUs so big efforts to
avoid it can be worth it.
2014-03-23 16:32:38 +01:00
Henrik Rydgard
20d480a374
Minor GPU code cleanups
2014-03-23 16:32:38 +01:00
Unknown W. Brackets
b44d10a91e
Move texture unswizzling to decoder, use NEON.
2014-03-22 21:35:16 -07:00
Henrik Rydgard
8b92dcea47
Transform: Compute the "DCID" (draw call ID) incrementally instead of an extra pass.
2014-03-23 01:51:51 +01:00
Henrik Rydgard
8bf015fe16
texcache: SSE optimized version of the most common case of Unswizzle
...
(didn't put this in fast_math because it's pretty specific to PSP)
2014-03-23 01:50:50 +01:00
Unknown W. Brackets
632eec38e8
vertexjit: Use SSE4.1 where available on x86.
...
Just because we can.
2014-03-22 16:11:16 -07:00
Unknown W. Brackets
5d04f123b9
vertexjit: A couple more tweaks to morph on x86.
2014-03-22 15:56:30 -07:00