49 Commits

Author SHA1 Message Date
Henrik Rydgard
8aca797f21 Fix silly light direction math bug (probably no effect mostly). 2013-06-24 20:48:31 +02:00
Henrik Rydgard
916184d2f4 Optimize the most common light type, directional, by doing the normalization beforehand. May shorten some shaders below Mali's limit with luck. 2013-06-20 23:30:21 +02:00
Henrik Rydgard
e7097ca95a Fall back to software transform when hardware transform fails. Should help Mali devices.
This is done per shader so the speed hit should not be as bad as turning hw transform off entirely.
Displays a red error at the top of the screen so that we don't trigger this accidentally.
2013-06-06 10:09:37 +02:00
raven02
a945cf0e13 Fix incorrect texture in Dragon Ball Z Shin Budokai 2 2013-05-31 23:00:35 +08:00
Henrik Rydgard
2d8632cd7a Remove texture coordinate difference between HW and SW transform. Partly fixes #1963 2013-05-30 13:37:18 +02:00
Henrik Rydgard
cdef31f9fc Turn off the use of uniform arrays in shaders as some devices don't like them, and the speedup seems to be very small if any. 2013-05-26 14:03:02 +02:00
Henrik Rydgard
9af5499b21 Optimize bone matrix updates. 2013-05-18 21:18:45 +02:00
Henrik Rydgard
1b210fab14 Use arrays and for loops in GLSL shaders for bone processing, to shrink the shaders which are becoming too big for some mobile GPUs. Might fix #1816. 2013-05-18 20:45:52 +02:00
Unknown W. Brackets
03f3f99e39 Don't use ivec in the fragment shader.
Attempt at #1777.  Needs the + 0.5 to round properly on mobile.
2013-05-12 13:09:02 -07:00
Henrik Rydgård
b3355b2f7c Mac build fix. Rename WindowZoom ini parameter to force-reset it as it
should always be 1 on Android for now.
2013-05-07 23:28:19 +02:00
Unknown W. Brackets
f2b4c4a0bc Pre-round the colortest/alphatest reference val. 2013-05-07 07:52:49 -07: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
BeaR
fa3a1fbd52 Add support for spotlights 2013-04-09 18:26:06 +02:00
Henrik Rydgard
5427f20b90 Don't "DirtyShader" at the end of frame, instead just "stop". Fixes issues caused by vertex arrays left enabled still hanging around. 2013-04-07 23:31:04 +02:00
Unknown W. Brackets
afbde31b42 Add some OpenGL related reporting errors. 2013-03-24 09:45:43 -07:00
Henrik Rydgard
b1108f3290 Respect the size of the current FBO when drawing. Some cleanup. 2013-03-16 00:40:37 +01:00
Henrik Rydgard
bc15617392 Make un-buffered rendering much smarter, removing flicker.
This turns it into a very viable option for many games. You do lose some FX
but it can as a result even be used as a workaround for the massive glow
in Wipeout...
2013-03-03 13:00:21 +01:00
raven02
d99ca71a47 Add u_colormask and use it in enableColorTest 2013-02-25 05:45:35 +08:00
Henrik Rydgard
28979e9250 Some work toward better FBO handling. Fixes some things, breaks some things.. 2013-02-21 21:37:19 +01:00
Henrik Rydgard
eb130db387 Fix sign of depth in "Through" projection matrix. Thanks xele02. Fixes ToE, Dissidia, etc. 2013-02-20 00:13:18 +01:00
Henrik Rydgard
2301a3b49e Flip texcoord vertically when texturing from FBO to compensate for OpenGL coordinate systems 2013-02-15 00:31:39 +01:00
Henrik Rydgard
36f49706e0 Add option to stretch to display (turns off the black bars fixing the aspect ratio). 2013-02-13 18:21:21 +01:00
Unknown W. Brackets
3503d4ed68 Clear the shader ids when clearing the cache. 2013-02-13 02:10:51 -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
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
e04f5156ee Fix a few graphics issues, optimize shader ID generation (fewer shaders) 2013-01-22 22:03:41 +01:00
Henrik Rydgard
1b1a275dcc GPU "dirty" optimization, wip vertexcache 2013-01-20 13:15:46 +01:00
Henrik Rydgard
7271e3fcd5 Fix fog and stencil buffer clearing. The latter fixes the sky in MotoGP. 2013-01-14 20:44:11 +01:00
Henrik Rydgard
03eacd1af3 Save 16K. 2013-01-07 13:00:28 +01:00
Henrik Rydgard
a1bf5a2a10 Save on gl[Enable/Disable]VertexAttribArray calls. 2013-01-06 23:50:05 +01:00
Henrik Rydgard
d663e28bde More work and optimization. Still not quite there. 2012-12-21 21:49:09 +01:00
Henrik Rydgard
4c23d668e1 Cleanup and reorganize gpu code a little 2012-12-21 16:50:14 +01:00
Henrik Rydgard
4bf2e52623 HW transform: Avoid 4x3 matrices for GLES 2.0 compat. Add option to turn hw transform on. 2012-12-21 11:08:54 +01:00
Henrik Rydgard
79bd4e3d41 Lighting fixes (sw + hw) 2012-12-20 23:28:58 +01:00
Henrik Rydgard
c3b778daab More work on hw transform. 2012-12-20 18:31:21 +01:00
Henrik Rydgard
4f376a2c34 Hardware vertex transform, preliminary and optional. No lighting yet. Disabled until it works right... 2012-12-20 15:07:58 +01:00
Henrik Rydgard
b8d596cbec Add some infrastructure for flexible vertex formats 2012-12-19 18:35:37 +01:00
Henrik Rydgard
4046146164 Add experimental wireframe mode for debugging. Fix texenv color. Code cleanup. 2012-12-19 15:14:41 +01:00
Henrik Rydgård
a0d8017c22 Fix for previous commit 2012-12-05 11:13:36 +07: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
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
Henrik Rydgard
e37a1fb1d3 Add internal 2D drawing library that goes through the Ge emulation for portability.
To be used for things like sceUtility* and other overlays like FPS and stats.
2012-11-18 13:04:49 +01:00
Sacha
41f5abab31 PPSSPP ported to Blackberry10
Now builds on Playbook and Dev Alpha
Make emulator more compatible with other OS (case sensitivity, defines, includes)
Uses Android's code paths and backend
2012-11-05 23:09:49 +10:00
Henrik Rydgard
64cc573703 Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK. 2012-11-04 23:24:00 +01:00
Henrik Rydgard
4f7ad15758 Add snapshot of the whole source code. 2012-11-01 16:19:01 +01:00