Commit Graph

1376 Commits

Author SHA1 Message Date
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
Henrik Rydgard
dfea160491 ARM: Use PLD (cache preload) in vertex decoder loop. 2013-11-24 15:08:47 +01:00
Henrik Rydgard
f650b23c90 ARM: Add NEON widening and narrowing moves, and float/int convert.
Experiment a little in the vertex decoder.
2013-11-24 13:30:28 +01:00
Sacha
756f651eb2 Buildfix for older compilers, such as GCC 4.6.3 2013-11-22 16:22:41 +10:00
Unknown W. Brackets
70b6a4a796 Small optimization to vertex preview. 2013-11-20 22:36:48 -08:00
Henrik Rydgard
e3d471f590 Fix issues with texturing from render targets with prescaled UV (texcoord speed hack) 2013-11-19 23:38:36 +01:00
Unknown W. Brackets
d2bccfeba5 Omit a few commands from "DL Unknown" in debug. 2013-11-18 07:51:10 -08:00
Unknown W. Brackets
ed16e42ca8 Cleanup, don't even need z here. 2013-11-17 14:49:51 -08:00
Unknown W. Brackets
018d95180a Fix 3d vertex preview. 2013-11-17 14:31:21 -08:00
Unknown W. Brackets
a3bd2f1365 Fix Vec3ByMatrix44() and use it for matrix math. 2013-11-17 14:10:57 -08:00
Unknown W. Brackets
b541c81ba3 Clean up Mat3x3 etc. constness. 2013-11-17 13:27:51 -08:00
Unknown W. Brackets
fcc77f525f Implement some basic vertex previews on prim.
3D doesn't work correctly (sometimes it does...)  2D should be working.
2013-11-17 13:27:50 -08:00
Unknown W. Brackets
ac8edb4282 Support reversed buffer formats in the ge debugger.
So that it doesn't show garbage under the softgpu.
2013-11-17 02:14:34 -08:00
Henrik Rydgård
4cf2b99316 Merge pull request #4529 from raven02/patch-19
Fix Summon Night 5 shadow breaking
2013-11-17 02:09:22 -08:00
Henrik Rydgård
cd511cc43c In Freeze-Frame mode, don't wipe GPU resources when loading save states. 2013-11-15 16:30:55 +01:00
Henrik Rydgård
f1ed1a9a17 Flush the lit pool before flushing the icache. 2013-11-15 11:14:24 +01:00
Henrik Rydgård
bd23f91e0c Flush the lit pool in the vtx dec 2013-11-15 10:34:27 +01:00
raven02
312f290bde Fix typo 2013-11-15 10:24:32 +08:00
Henrik Rydgard
adde016338 vtxdec sw skin arm: Simplify code, try a slightly different approach. 2013-11-14 23:07:23 +01:00
Henrik Rydgard
b0ccf5981c Don't bother with glDrawRangeElements, seems to not improve perf. 2013-11-14 17:33:43 +01:00
Henrik Rydgard
d6d54c8bb4 Fix a couple of bugs in vtxdec 2013-11-14 15:06:51 +01:00
Henrik Rydgard
9521d0e0a6 NormalizeVertices should not try to skin if we've already software-skinned. 2013-11-14 14:34:47 +01:00
Henrik Rydgard
3b63ef7005 Remove the SubmitPrim param forceIndexType, optimize BBOX more. 2013-11-14 14:03:03 +01:00
raven02
8af2e66bd5 This seems to be better 2013-11-14 19:33:20 +08:00
Henrik Rydgard
35ae239eb9 Optimize bbox some more 2013-11-14 12:25:53 +01:00
Henrik Rydgard
4f93654a88 Oops, accidentally enabled some bbox debugging code 2013-11-14 11:49:06 +01:00
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