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
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
Henrik Rydgård
ab3fe9ba86
Extract the software transform code into its own file.
2013-11-13 14:56:34 +01:00
Henrik Rydgard
63334698e1
Add temporary setting to disable the vertex decoder jit while we debug it
2013-11-09 18:16:26 +01:00
Henrik Rydgard
0e542b6ecc
vtxdec: small omission
2013-11-08 20:38:49 +01:00
Henrik Rydgard
22d6b36005
Vertexdecoder "double": fix for x86 and very minor optimization for arm.
2013-11-08 20:03:28 +01:00
Henrik Rydgard
6b45c321b6
vtxdecjit: turn off excessive logging
2013-11-08 18:49:17 +01:00
Henrik Rydgard
381b6d0f05
VertexDecoder JIT: Add the last missing ones except morph, I think.
2013-11-08 12:43:46 +01:00
Henrik Rydgard
c4e3dd14fd
Add commented-out code to save XMM4/XMM5.
...
According to all calling convention manuals I can find, we don't really
need to preserve them. If they become problematic as mentioned, we can
activate this.
2013-11-07 09:54:58 +01:00
Henrik Rydgard
b203da05e9
Prescale UV in vtx-dec-jit: Fix bugs, add ARM support
2013-11-07 01:24:53 +01:00
Henrik Rydgård
367bcf6d4f
Prescale in the vertex dec jit. Needs debugging.
2013-11-07 01:24:53 +01:00
Unknown W. Brackets
34398b7d0c
Avoid literal loads in the arm vertexjit.
2013-11-06 08:45:00 -08:00
Henrik Rydgård
51995a3d43
Vtx dec: After generating ARM, remember to flush the icache.
...
Will hopefully fix the random crashes in #4461 .
2013-11-06 16:14:40 +01:00
Henrik Rydgård
e3f6f25390
Buildfix for non-Windows non-ARM
2013-11-06 13:54:26 +01:00
Henrik Rydgård
ea9da85bdb
Missed one possible unaligned access
2013-11-06 13:14:49 +01:00
Henrik Rydgård
b3fdfc01c8
ARM vtx dec: Avoid all unaligned accesses entirely.
...
Seeing so much contradictory information on the support and performance
of these.
2013-11-06 12:17:41 +01:00
Henrik Rydgård
1e158fa652
ARM vtx dec: Preserving our FP scratch register appears to improve
...
stability.
Also added some logging.
2013-11-06 11:47:26 +01:00
Henrik Rydgård
b19d41f9a8
Now that LDRH works, use it where appropriate
2013-11-06 10:51:21 +01:00
Henrik Rydgard
0eb3d79de9
x86 VertexDecoder jit: Fix typo in 16-bit weight decoder. May fix crashes.
2013-11-05 21:06:43 +01:00
Henrik Rydgård
7bf8a4dc5e
We need to use a signed VCVT to float in PosS*Through
2013-11-05 12:17:18 +01:00
Unknown W. Brackets
c7edf73cdb
Small optimizations to the vertexjit.
2013-11-05 00:32:08 -08:00
Unknown W. Brackets
f6662054bd
Fix arm emitter bug in LDRH and friends.
2013-11-05 00:32:08 -08:00
Henrik Rydgård
5886ccffdc
Merge pull request #4441 from unknownbrackets/vertex-decoder-jit
...
Force 5 byte jumps to avoid jump target issues (vertex jit, x86)
2013-11-04 01:25:40 -08:00
Unknown W. Brackets
06194ac261
Add 5551 conversion to the arm vertexjit.
2013-11-04 00:47:05 -08:00
Unknown W. Brackets
16dcf807a8
Add 565 conversion to arm vertexjit.
2013-11-03 21:58:26 -08:00
Unknown W. Brackets
ab17d659cf
Implement 4444 conversion in arm vertexjit.
...
Seems to help Dissidia a bit.
2013-11-03 21:58:26 -08:00
Unknown W. Brackets
bfda36efff
Don't subtract nrmoff in arm vertexjit.
2013-11-03 21:57:55 -08:00
Unknown W. Brackets
a1fa65f631
Stupid typos, broke 4444 and 565.
2013-11-03 18:43:24 -08:00
Unknown W. Brackets
d5337edf1f
Force 5 byte jumps to avoid jump target issues.
...
Some with 16-bit colors were too far.
2013-11-03 17:17:04 -08:00
Unknown W. Brackets
aece4fd580
16-bit colors in vertex jit for x86.
2013-11-03 15:04:47 -08:00
Henrik Rydgard
f0fd7679ce
Preliminary ARM vertex decoder JIT. Has a weird issue in PosS16.
...
Other minor changes and fixes.
2013-11-03 20:15:42 +01:00
Henrik Rydgard
810b1a061f
Vertex decoder JIT for x86 and x64. Handles the most common vertex formats.
2013-11-03 15:27:12 +01:00
Henrik Rydgård
4d3e57d6eb
Move normal reversion into the vertex shader instead of the decoder.
2013-11-02 11:05:31 +01:00
Henrik Rydgard
c733f7a7ab
Curious about what games use morph, so let's report.
2013-09-21 21:22:13 +02:00
Ced2911
b7aa10efc7
[gpu] move GetIndexBounds to common
2013-09-16 17:04:06 +02:00
Henrik Rydgard
cc6681cd0b
Compile Ced's DX9 GPU on Windows. Not hooked up yet.
...
This needs work, has several problems that must be fixed to run on Windows.
Ced, you'll have to fix up your xb project file a bit, sorry.
2013-09-15 12:52:44 +02:00
raven02
b2a033b7e0
Add RROR_LOG_REPORT for vertices without position
2013-08-26 22:09:43 +08:00
raven02
c0eaa665d5
Uncomment out //if (pos)
2013-08-26 21:24:37 +08:00
Unknown W. Brackets
cd70250d8c
Use more accessors, simplify softgpu colortest.
2013-08-24 11:34:38 -07:00
Henrik Rydgard
772f9cc585
Adapt the basic spline code from the softgpu to the GL code.
...
Fixes (but not perfectly) games that make simple use of splines like LocoRoco.
(The locos are a little jagged)
2013-08-23 00:33:18 +02:00
raven02
cd28c846eb
VertexDecoder: Fix a typo #1
2013-07-29 16:40:57 +08:00
Henrik Rydgard
50a2d1b87f
More work on prescaled UV
2013-07-28 00:33:51 +02:00
Henrik Rydgard
2eaf581bbe
Add experimental UV prescaling hack, hidden as it's not finished yet.
...
Most people should ignore this for now, it's a step towards faster skinning in the future.
2013-07-27 23:23:17 +02:00
Henrik Rydgard
8602c276ca
Remove that silly factor 2 for floating point texcoords and weights.
...
No longer needed since we treat the various vertex formats separately.
2013-07-27 22:14:34 +02:00
Henrik Rydgard
e36e976877
Collapse skinning shaders with #bones < 4 to a single one.
...
Significant perf win for skinned characters in FF:CC and maybe other games.
2013-07-27 20:09:22 +02:00
Henrik Rydgard
9add78722d
Fix size calculation for weights. Old one would waste space for small weights.
2013-07-27 19:35:55 +02:00
Henrik Rydgard
5d91518e63
Don't know what I was thinking, sigh. Fixes #2889
2013-07-23 01:05:09 +02:00