Commit graph

94 commits

Author SHA1 Message Date
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
Henrik Rydgard
2f2f20ce64 Couple of trivial microoptimizations. probably no impact. 2013-07-23 00:13:51 +02:00
The Dax
0d8833500f Fix incorrect comment. 2013-06-26 16:02:53 -04:00
The Dax
695f7eeec5 Fix more style issues, and abstract most of the init code from MemMap.cpp. 2013-06-26 16:02:52 -04:00
The Dax
8ab734d516 Restructure the hack to be more correct, and add support for double texture coordinates. Fixes #2314.
Also address various coding style issues.
2013-06-26 16:02:52 -04:00
Unknown W. Brackets
0b9de18f8c Small optimization to morph vertex step funcs. 2013-04-24 08:19:42 -07:00
Unknown W. Brackets
34f1f3a8e7 Remove one more FP usage in GPU. 2013-04-13 13:04:39 -07:00
Henrik Rydgard
5828fe5728 Fix vertexdecoder RGB565 bug found by unknownbrackets, also remove FP use in RGBA5551 2013-04-13 19:45:17 +02:00