Commit graph

118 commits

Author SHA1 Message Date
Henrik Rydgard
201e1ea0bc Vertex caching now works for HW transform + VBO, not including RECTANGLE primitives yet. 2013-01-19 19:22:15 +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
3931323f5b Commented out the wrong half of the RotateUVs check... 2013-01-14 21:41:39 +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
590d94da9f Add basic stencil test functionality, shadows work in Wipeout. update native.
This is not the whole story though, the PSP is being tricky by sharing the dest alpha and stencil.
2013-01-12 17:21:07 +01:00
Henrik Rydgard
6c9d28205d Disable the LoggingDeadline. Uncomment if you want to use it. 2013-01-12 12:52:00 +01:00
Henrik Rydgard
5a2fc722f6 VBO buffer rotation. Helps a little on my Nexus S but perf is still bad. 2013-01-11 19:03:16 +01:00
raven02
4e683911c7 Fix alpha blending for SW transform 2013-01-10 22:21:28 +08:00
Henrik Rydgard
b6d7127734 VBO should be optional for SW transform too. 2013-01-10 13:08:04 +01:00
Henrik Rydgard
479d1f5111 Draw using VBO. Add option, make default true. 2013-01-10 12:54:36 +01:00
Henrik Rydgard
0183a407dd Fix RECTANGLE rotation in the other direction too. 2013-01-07 09:52:47 +01:00
Henrik Rydgard
a1bf5a2a10 Save on gl[Enable/Disable]VertexAttribArray calls. 2013-01-06 23:50:05 +01:00
Henrik Rydgard
f8ae18a130 "Fix" bezier the old way (puzzle bobble works again at least). 2013-01-04 09:54:19 +01:00
raven02
39d3b767d9 Fix ambient color in SW Transform 2013-01-01 23:15:27 +08:00
raven02
753e9b3b16 Fix SW lighting 2013-01-01 13:44:40 +08:00
Henrik Rydgård
e2cc226d0d Just some cleanup of GPU code 2012-12-28 20:54:00 +01:00
Henrik Rydgård
c1041cfff2 Apparently RECTANGLES shouldn't flip that way. 2012-12-26 09:23:15 +01:00
Henrik Rydgård
1b35964445 Add support for rotated UVs of flipped RECTANGLES. Avoid using indexed
draws when unnecessary.
2012-12-26 08:54:33 +01:00
Henrik Rydgård
d95dbca9be Cleanup GPU init/shutdown a bit 2012-12-25 22:42:19 +01:00
Henrik Rydgård
7c64f9c61e Tiny optimization - only init the vertex decoder on vertex type change 2012-12-25 22:39:37 +01:00
Henrik Rydgård
9dce8b09a4 Move vertex arrays from globals to heap. 2012-12-25 22:39:37 +01:00
Henrik Rydgård
d21647bbb9 Split code from GLES_GPU to TransformDrawEngine, cleanup 2012-12-25 22:39:37 +01:00
raven02
fb3649ea97 Remove flush() 2012-12-24 21:34:02 +08:00
raven02
9af2325be5 Fix massive corrupted graphic in FF Type-0 2012-12-23 22:52:00 +08:00
Henrik Rydgard
6b3ac02dae Now not flushing at every drawcall by mistake... 2012-12-21 22:52:09 +01:00
Henrik Rydgard
d663e28bde More work and optimization. Still not quite there. 2012-12-21 21:49:09 +01:00
Henrik Rydgard
3b114eb24a More work on indexed draws. Not combining yet. 2012-12-21 19:16:17 +01:00
Henrik Rydgard
2e9daa5f89 All drawing is now indexed lists, through IndexGenerator. 2012-12-21 18:46:15 +01:00
Henrik Rydgard
4c23d668e1 Cleanup and reorganize gpu code a little 2012-12-21 16:50:14 +01:00
Henrik Rydgard
19391541fb HW transform: Fix too-harsh lighting 2012-12-20 23:47:19 +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
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 Rydgard
4046146164 Add experimental wireframe mode for debugging. Fix texenv color. Code cleanup. 2012-12-19 15:14:41 +01:00
Henrik Rydgard
ba476264db Fix GL_ZERO transparencies 2012-12-18 00:02:04 +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
a74af8f372 Some new NIDs, log fix, very minor bugfix. 2012-11-27 11:40:30 +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
870ea6628b Reasonably correct viewport handling. Optional debug stats overlay (not always 100% working). 2012-11-26 17:35:08 +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
Henrik Rydgard
c0075d8322 Special case for GL_ZERO blend factor too. Don't log on "sync". 2012-11-25 17:48:05 +01:00
Florent Castelli
2f39496ec5 Use ambient material color when no color in the vertex
Fixes color in celshading demo
2012-11-25 17:45:50 +01:00
Henrik Rydgard
d0f829353d Support FIXA and FIXB blend factors as well as possible. 2012-11-25 15:49:37 +01:00
Florent Castelli
4143801891 Handle depth range (zmin, zmax) in a hackish way 2012-11-25 00:15:21 +01:00
Florent Castelli
56175bc505 Defer blend, cull and depth test changes to draw command
Avoid unnecessary state changes and reduces the amount of OpenGL calls.
It also puts all the interesting logic at the same place, reducing the
complexity a little.
2012-11-24 15:19:29 +01:00
Henrik Rydgard
d141d205f8 Delete old textures, to prevent memory usage from growing indefinitely. 2012-11-22 23:07:15 +01:00