Unknown W. Brackets
466a5418d2
Cut time in EstimatePerVertexCost().
...
From profling, this cuts 4% time while lighting is enabled, and 14% while
disabled (on ARM.) But maybe should just inline this...
2014-03-30 00:42:26 -07:00
Unknown W. Brackets
7cde2311e0
Include sceKernelThread.h in less headers.
2014-03-29 17:02:41 -07:00
Unknown W. Brackets
a4327702f1
Reduce some includes under GPU/.
2014-03-29 16:51:38 -07:00
Henrik Rydgård
4c437218e4
Merge pull request #5766 from unknownbrackets/gpu-minor
...
Update some flags in GLES_GPU
2014-03-29 17:25:19 -04: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
0950e7b86d
Optimize ComputeVertexShaderID() a bit.
...
This is only like 1%. Along the way found and fixed an overlap of bits.
2014-03-29 10:35:09 -07:00
Unknown W. Brackets
1209bc7ba4
Optimize ComputeFragmentShaderID() a bit.
...
I've seen it decently high on some profiles (1-2%). This cuts it down by
12.5% when used in a tight loop. The temporary was 8%, the ifs were the
other 4.5%.
2014-03-29 10:21:04 -07:00
Unknown W. Brackets
2b7d2fdc4b
Optimize > and != 0 alpha tests.
...
There's no need to do rounding in this case. These are very common.
Also, if the test was !=, convert it to >, which may work better on
PowerVR.
2014-03-29 10:16:06 -07:00
Henrik Rydgard
f99925261d
Merge branch 'raven02-patch-42'
...
Conflicts:
GPU/GLES/FragmentShaderGenerator.cpp
2014-03-29 17:26:33 +01:00
raven02
664efe6812
Return false when alpha blending disabled
2014-03-29 22:04:59 +08:00
raven02
2944856c42
FS : Add missing gstate.isTextureMapEnabled()
2014-03-29 21:03:28 +08:00
Henrik Rydgard
37e9fc59b3
2x alpha: Safer change than the last attempt. Still fixes P2. I think this can be simplified, anyway.
2014-03-29 12:10:44 +01:00
Henrik Rydgard
27767fa85c
Revert "Rethink 2x src alpha->color doubling. Fixes #3379."
...
This reverts commit 47efded29fbde6e5cee23ad413b1da6e7566a7c0.
2014-03-29 12:01:47 +01:00
Henrik Rydgard
47efded29f
Rethink 2x src alpha->color doubling. Fixes #3379 .
2014-03-29 11:40:17 +01:00
Henrik Rydgard
94c1e56d9b
Merge branch 'gpu-minor' of github.com:unknownbrackets/ppsspp into unknownbrackets-gpu-minor
...
Conflicts:
GPU/GLES/VertexDecoder.cpp
2014-03-29 10:15:57 +01:00
Henrik Rydgard
74f593362b
Non-jit vertex decoder, morph: Clamp colors to 0-255.
2014-03-29 10:07:51 +01: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
18f6407705
Clamp morph colors in non-vertexjit.
...
Not sure if any platforms use this...
2014-03-29 01:53:28 -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
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
Unknown W. Brackets
006ed53e73
Use defines on x86/SSE to avoid func pointers.
...
Unfortunately no such luck for Android.
2014-03-25 01:28:09 -07: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