Commit graph

59 commits

Author SHA1 Message Date
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
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
raven02
45e4919fe9 Change .f to .0f etc. 2013-02-17 21:26:23 +08:00
Henrik Rydgard
0eabc80c3e Small optimizations and fixes to vertex decoder 2013-02-16 09:28:55 +01:00
Henrik Rydgard
356f5788e1 Fix more UV issues 2013-02-08 00:04:01 +01: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
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
Unknown W. Brackets
8bf5189324 Looks like these should be pos/nrm/col. 2013-01-31 00:02:52 -08:00
Unknown W. Brackets
c81d296534 Use memcpy also in Step_Color8888(). 2013-01-29 08:45:04 -08:00
Henrik Rydgard
366583d34f Align some vertex arrays to page size. It's said to possibly be beneficial. 2013-01-29 00:48:13 +01:00
Henrik Rydgard
dbdd461a53 Fix issue with vertex shader IDs. Write the 4th component of packed vectors.
The latter makes sure we leave no holes in the CPU writebuffer.
2013-01-22 22:27:03 +01:00
Henrik Rydgard
e04f5156ee Fix a few graphics issues, optimize shader ID generation (fewer shaders) 2013-01-22 22:03:41 +01:00
Henrik Rydgard
14d26141a5 TextureCache_Invalidate now does a range match instead of just checking if the texture address was in range. 2013-01-22 22:03:39 +01:00
Henrik Rydgard
b30ab91379 GCC fix 2013-01-21 19:19:41 +01:00
Henrik Rydgard
2f0cf82f72 Don't expand normals and positions to floats unless necessary.
Fix sign of Z component of position in through mode.
2013-01-21 19:12:46 +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
Henrik Rydgard
f8ae18a130 "Fix" bezier the old way (puzzle bobble works again at least). 2013-01-04 09:54:19 +01:00
Unknown W. Brackets
15793fe532 More minor static analysis warning fixes. 2012-12-21 17:00:47 -08:00
Henrik Rydgard
2e9daa5f89 All drawing is now indexed lists, through IndexGenerator. 2012-12-21 18:46:15 +01:00
Henrik Rydgard
4efb66fdb6 Fix hw transform and audio on android, misc 2012-12-21 12:57:43 +01:00
Henrik Rydgard
c3b778daab More work on hw transform. 2012-12-20 18:31:21 +01:00
Henrik Rydgard
7d949bbee0 VertexDecoder: Respect lowerbound of verts to transform. Make decoding a little safer. 2012-12-20 16:03:40 +01:00
Henrik Rydgard
1b5407f505 Rewrite the vertex decoder a bit. Turn on SSE2 compiler flag etc. 2012-12-20 15:07:57 +01:00
Henrik Rydgard
c4ca9b5956 Get rid of the DecodedVertex struct. 2012-12-20 15:07:57 +01:00
Henrik Rydgard
13460b7aa6 Use flexible vertex formats pre-transform. Saves memory b/w. 2012-12-19 20:21:59 +01:00
Henrik Rydgard
b8d596cbec Add some infrastructure for flexible vertex formats 2012-12-19 18:35:37 +01:00
Henrik Rydgård
700921deb3 Fix rendering on MacOSX (shader compiler very fussy...). Minor prep for hw transform. 2012-12-05 10:55:06 +07:00
Henrik Rydgard
980d13fe50 Assorted GPU fixes: Advance vertex pointer, fixes missing triangles in SPT. More logging. Separate proj matrices for through and normal mode (through matrix don't need to get updated as often). Some cleanup. 2012-11-28 13:45:22 +01:00
Henrik Rydgard
2822ce2737 Temporarily disable most of the viewport code as it broke some games. Kept the flip detection. 2012-11-26 20:38:26 +01:00
Henrik Rydgard
ec55fac3cd Float TC coordinates apparently work in through mode. Add one more special case for blending. 2012-11-26 11:34:23 +01:00
Sacha
3c903dda24 Improve portability to future platforms. Make use of new USING_GLES2 define throughout PPSSPP. Also use ARM definition where suitable. Remove some redundancy with includes. 2012-11-26 13:25:14 +10:00