Commit Graph
3990 Commits
Author SHA1 Message Date
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