Commit graph

72 commits

Author SHA1 Message Date
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
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
29f9ea5df6 vertexjit: support 8888 morph on ARM. 2014-03-23 16:26:14 -07:00
Unknown W. Brackets
162f229294 vertexjit: Support the color morphs on x86. 2014-03-22 15:56:29 -07:00
Unknown W. Brackets
fb63dad54e vertexjit: Implement Morph pos/nrm variants on x86. 2014-03-02 20:11:40 -08: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
adde016338 vtxdec sw skin arm: Simplify code, try a slightly different approach. 2013-11-14 23:07:23 +01:00
Henrik Rydgård
9bbdd1907d Kind-of optimized ARM software skinning (non-NEON) 2013-11-13 18:11:35 +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
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 Rydgard
381b6d0f05 VertexDecoder JIT: Add the last missing ones except morph, I think. 2013-11-08 12:43:46 +01:00
Henrik Rydgård
367bcf6d4f Prescale in the vertex dec jit. Needs debugging. 2013-11-07 01:24:53 +01: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 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
Unknown W. Brackets
26f935bbe5 Bypass vertex decoder z scaling.
Everything is compared against the u16 value.  This should be correct for
throughmode at least.
2013-09-14 15:48:11 -07:00
Henrik Rydgard
9dcd67fc31 Pass the new sha1/md5 test. 2013-09-03 00:36:55 +02:00
raven02
b523c74686 Minor fix the ERROR_LOG_REPORT_ONCE in ReadColor1() 2013-09-02 19:39:26 +08:00
raven02
ebcccdbb6f Add DEC_U8A_2 2013-09-02 14:47:15 +08: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
703d5a70f3 VertexDecoder: Fix a typo #2 2013-07-29 16:41:55 +08: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
Unknown W. Brackets
6ffaf98d7f Try to force gcc to notice hasNormal(). 2013-07-26 22:50:55 -07:00
Henrik Rydgård
6cb966a5fe Fix a warning found by the new version of xcode 2013-07-08 23:28:24 +02:00
Unknown W. Brackets
8c4d99270f Report unsupported vertex formats, initialize.
Initializing mostly so warnings are happy.
2013-07-07 20:31:06 -07: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
Henrik Rydgard
c04ce5a64e Implement projective texture mapping. It's not used a great deal but good to have. 2013-04-17 21:41:47 +02:00
Henrik Rydgard
d96c588288 Cache vertex decoders. No big boost now, but opens for optimizing them more, and lets us keep stats of the most common ones. 2013-03-24 12:28:42 +01:00
Henrik Rydgard
57e82619ca Fix some glitches that were caused by the MH glitch fix (wrong prim..). Also some cleanup. 2013-03-24 01:13:02 +01:00
Henrik Rydgard
b4977610cc Smarter draw call joining, fixing MH vertex glitches. Thanks bovine for identifying the issue. 2013-03-23 13:12:52 +01:00
Henrik Rydgard
7995d1418c Safer float->u16 cast. 2013-02-21 19:10:30 +01:00
Henrik Rydgard
690ebb2e58 Proper fix for the annoying through-mode depth issues. 2013-02-20 22:49:41 +01:00
Henrik Rydgard
67272ec271 Scale Z to 0...1 in through mode.
(alternatively, could try setting through mode depth range to 65536..0)
2013-02-19 21:38:19 +01:00
raven02
2745bb4f14 pos[0]/[1] are signed while pos[2] is unsigned in 2D transform 2013-02-20 01:37:19 +08:00
raven02
9e38174b14 Clamp pos[2] when transform 2D only 2013-02-20 01:11:26 +08:00
raven02
2ed1b9ee0b Minor cleanup and use byte(b)/short(s)/float(p) 2013-02-20 00:20:00 +08:00
raven02
9eaf58773b Add 8 bit for weight type 1 2013-02-19 22:55:46 +08:00
raven02
5ba1775572 pos[2] larger than 65535 is clamped to 65535 and not 0 2013-02-19 22:39:38 +08:00
oioitff
83b2849192 pos[2] is limited between 0 and 65535
fix the black screen issue for Toaru Majutsu no Index, and Toaru Kagaku no Railgun.
2013-02-19 19:17:15 +08:00
raven02
2bf958b06f Stylish the case DEC_U8_2/DEC_U16_2/DEC_FLOAT_2 2013-02-17 20:50:17 +08:00
Henrik Rydgard
c695d8dbf1 Yet another UV fix 2013-02-15 20:17:47 +01:00
Unknown W. Brackets
d0ab1c8ffc Set VertexReader's vtype_ to prevent oddness. 2013-02-14 08:32:37 -08:00
Henrik Rydgard
6b3ddae554 Fix UV error introduced in previous commit 2013-02-06 21:38:19 +01:00
Henrik Rydgard
aaf00e047b Don't convert texcoords to float either. 2013-02-06 20:30:10 +01:00
Henrik Rydgard
80f4dc4e3a Fix issue with half sized skinned objects in SW transform. 2013-02-06 19:04:28 +01:00
Henrik Rydgard
bf7ad9e1c9 Also don't convert 16-bit bone weights to float. Fixes a bug from the last similar change. 2013-02-05 18:02:10 +01:00
Henrik Rydgard
bdc467769e Some shader and vertex format optimizations 2013-02-05 01:37:00 +01:00
Henrik Rydgard
bf51291527 Don't translate bone weights to floats unnecessarily. Minor optimization to ApplyShader, pushing it down the profile from 2% to 0.5% in Wipeout. 2013-02-04 23:10:40 +01:00
Henrik Rydgard
8ff96bbcd8 Defer vertex decoding until flush. Track draw calls so that they can be cached later. 2013-01-19 17:05:50 +01:00