Commit Graph
2056 Commits
Author SHA1 Message Date
Henrik Rydgard 8a69543ec4 BBOX: Transform the planes by the matrix so we don't need to transform the box 2013-11-14 11:44:13 +01:00
Henrik Rydgard 871d8b28ab Assorted vtxdec x86 optimizations 2013-11-14 11:44:13 +01:00
Sacha eaa52c4a61 VertexDecoder: Aligned code seems to help Symbian (armv6) performance. It is also used for CPU JIT so there's likely a reason. 2013-11-14 15:30:07 +10:00
Henrik Rydgard ff1d53c9c7 vtxdec x86: Don't load bones unless software skinning is enabled 2013-11-14 00:56:24 +01:00
Henrik Rydgard a9b365aa71 Fix for possible misalignment crash on x86 2013-11-14 00:37:04 +01:00
Henrik Rydgård a6ee2648d0 Merge pull request #4531 from hrydgard/software-skinning
Software skinning
2013-11-13 12:54:41 -08:00
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 f0cacf46d0 No reason to involve the FPU when loading matrices 2013-11-13 18:10:58 +01:00
Henrik Rydgard 6976d6a3a0 Enable the softskinning optimizations that let us merge drawcalls 2013-11-13 18:10:57 +01:00
Henrik Rydgard 179934ec9f Decode step by step when sw skinning 2013-11-13 18:10:57 +01:00
Henrik Rydgard 46313ced55 Prepare transform pipeline for step by step decoding 2013-11-13 18:10:57 +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
Aapo Rantalainen c2586523fe Maemo5: added !defined(MAEMO) as !defined(MEEGO_EDITION_HARMATTAN) 2013-11-13 18:23:18 +02:00
raven02 fe15d88cd8 Fix Summon Night 5 shadow breaking 2013-11-13 22:42:16 +08:00
Henrik Rydgård ab3fe9ba86 Extract the software transform code into its own file. 2013-11-13 14:56:34 +01:00
Henrik Rydgård 67ca4419fe Fix minor bug where we didn't clear dirtyUniforms if early-outing from UpdateUniform. 2013-11-13 10:02:58 +01:00
Sacha 04b338f39e Buildfix for sse2 builds. 2013-11-13 12:08:46 +10:00
Henrik Rydgard cf15ec8a53 Add BBOX support (very conservative test) 2013-11-12 17:06:03 +01:00
Henrik Rydgard 54217deb16 Speed up UpdateUniforms a little 2013-11-12 17:06:03 +01:00
Henrik Rydgard 4b98e0d6d6 Optimize LoadClut a little 2013-11-12 17:06:03 +01:00
Henrik Rydgard 84f20a1cad Small optimizations 2013-11-12 14:05:50 +01:00
Sacha aad70d8912 Symbian: Support software GPU. It seems to compile properly now. May allow Nokia 500 to run PPSSPP (albeit very slowly). 2013-11-12 16:20:52 +10:00
Henrik Rydgård 662ad32d4f Fix and re-enable @unknownbracket's handcoded NEON tex hash 2013-11-11 17:12:38 +01:00
Henrik Rydgård 53800bd413 Disable the hand-coded NEON texture hash again. It's slow, for unknown reasons. 2013-11-11 14:39:29 +01:00
raven02 2bca62b26e Don't reset texture width/height unless the size is different 2013-11-11 21:12:43 +08:00
raven02 d2546bed5b Regression fix c69ac64 2013-11-11 08:53:47 +08:00
Unknown W. Brackets 1311d71455 softgpu: Fix reversed stencil test funcs.
LESS applies to the ref compared to the stencil, not the stencil compared
to the ref.

With this, stencil testing is finally being done properly in Star Ocean.
2013-11-10 03:21:01 -08:00
Unknown W. Brackets 2db98b8669 softgpu: Don't apply logic op to stencil value.
Also, they were not at all applying correctly.
2013-11-10 03:21:00 -08:00
Unknown W. Brackets 438928de40 softgpu: Apply stencil op even when depth disabled. 2013-11-10 03:21:00 -08:00
Unknown W. Brackets 5327ce80d5 softgpu: throughmode doesn't disable any tests. 2013-11-10 03:20:59 -08:00
Unknown W. Brackets 5751e0a0a4 softgpu: Simplify color clamping. 2013-11-10 03:20:58 -08:00
Unknown W. Brackets 21deaef35a Invert gstate.getClearModeColorMask().
It makes more sense matching gstate.getColorMask().
2013-11-10 03:20:58 -08:00
Unknown W. Brackets 5817684e28 softgpu: Never write alpha, only stencil. 2013-11-10 03:20:57 -08:00
Unknown W. Brackets be9fe9ad9a softgpu: Fix stencil read/write in some formats. 2013-11-10 03:20:56 -08:00
Henrik Rydgard c69ac64d83 Don't reconvert light colors if they don't change.
Also prepare for a possible further optimization in GLES_GPU::FastRunLoop
2013-11-10 11:18:58 +01:00
Henrik Rydgard f4ad7c64e5 Fix issue with texcoord speed hack (bPrescaleUV) in software transform
(and also thus rectangles of course even when hw transform is enabled)
2013-11-10 11:18:26 +01:00
Henrik Rydgård 179068823c Merge pull request #4491 from raven02/patch-15
Attempt for another matching framebuffer logic
2013-11-10 01:58:29 -08:00
Unknown W. Brackets 1633aa689c Remove the extra process queues hack.
It seems like it's not helping anymore so it could be hurting.
2013-11-09 23:08:44 -08:00
Unknown W. Brackets afafa5fcd6 Make sure the gpu thread has a chance to run.
If the scheduler puts it on the same core, it may not even do anything
before we check if the framebuffer is dirty, so SyncThread will quit since
it's not even running.

Instead, let's wait until it's at least done something.
2013-11-09 23:08:28 -08:00
raven02 7c6a4cf87e Attempt for another matching framebuffer logic 2013-11-10 10:38:33 +08:00
Henrik Rydgård 345a4ccf0e Merge pull request #4487 from unknownbrackets/perf
Texture cache hashing tweaks, disable second cache on mobile
2013-11-09 17:30:40 -08:00
sum2012 e4b68099e0 Attempt to fix Colin Mcrae Dirt 2 Crash correctly
#4482
2013-11-10 08:23:31 +08:00
Unknown W. Brackets fa79d7f13c Handcode the non-NEON texcache hash as well on ARM.
Well, it could be a better algorithm, but at least this uses LDMIA.
2013-11-09 14:51:23 -08:00
Unknown W. Brackets 2dfa2379f4 Rewrite QuickTexHashNEON directly in asm.
Seems like gcc couldn't optimize it to this.
2013-11-09 12:54:55 -08:00
Unknown W. Brackets 3f57f1f447 Disable the secondary texcache on mobile.
It helps in games like Final Fantasy 2 and Popolocrois, but it seems to
cause out of memory errors despite the checks.
2013-11-09 12:52:58 -08:00
Henrik Rydgard 497915141b Revert to normal for loop in the index generator, the < 3 case gets taken care of properly. Just existing caused some issues. 2013-11-09 19:33:40 +01:00