Unknown W. Brackets
85a23dac63
Avoid framebuffer lookups for repeated prims.
...
There are usually many prims per framebuffer. This cuts time spent in
SetRenderFramebuffer() from 1% to 0.13% (although a bit more time in
ExecuteOp, not much.)
2013-04-22 22:04:27 -07:00
BeaR
8cc3f01b7b
Use correct state for lmode
2013-04-16 19:22:18 +02:00
Henrik Rydgard
ea11c36091
Fix a vshader id bit collision, avoid color test when set to 'ALWAYS', zeroinitialize dls.
2013-04-15 22:57:54 +02:00
BeaR
fa3a1fbd52
Add support for spotlights
2013-04-09 18:26:06 +02:00
raven02
6396324f57
Add few isEnabled() in GPUState for Alpha/Color/Lighting/Texture Test
2013-03-27 18:35:54 +08: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
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
e15df27c4a
New isAlphaBlendEnabled() & isDitherEnabled()
2013-02-27 22:37:17 +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
7c91802e3c
Add some infrastructure to be used for frameskipping
2013-02-19 00:45:26 +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
0982a29293
Some texturecache code cleanup. Fix missing DIRTY_AMBIENT.
...
The latter fixes the blinking caustics in the tunnel in Vineta K in Wipeout Pure.
And surely other things.
2013-02-12 21:01:53 +01:00
Henrik Rydgard
ca347da99c
Depth range should not be applied in through mode. Fixes sky in Wipeout Pure.
2013-02-09 20:53:32 +01:00
Henrik Rydgard
bf7e5a4115
Mipmapping! Fixes issue #614
2013-02-08 00:04:34 +01:00
Henrik Rydgard
5c5f6ef165
Fix error in vertex shader compiler - no uniform called u_matambient
2013-02-04 23:33:14 +01:00
Henrik Rydgard
00f9c97479
Seems vertex/index addresses should be computed through the same mechanism as jumps.
...
Gets rid of bad vertex address messages in Sol Trigger.
2013-02-02 23:48:22 +01:00
Henrik Rydgard
510f1ac3f4
Some misc GE constant renames / disasm
2013-02-02 13:40:26 +01:00
Henrik Rydgard
0769a1d3e8
I think I finally understood how origin-relative GE jumps are supposed to work.
2013-02-02 13:38:34 +01:00
Henrik Rydgard
8a32779150
Misc GPU stats etc changes
2013-01-25 18:29:14 +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
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
60f9da3926
Add support for color masking. Improves the look of Wipeout greatly.
2013-01-12 12:52:00 +01:00
Henrik Rydgard
6ab6045baf
Throw away unused FBOs. This gets rid of extreme slowness of Star Soldier on Nexus S for whatever reason.
2013-01-11 02:00:51 +01:00
Henrik Rydgard
7390f2b5f6
Some realtime profiling stuff. Enable FZ (flush-to-zero) mode.
2013-01-11 00:13:39 +01:00
Henrik Rydgard
88e921b074
Use invalidatecachehint in dcachewritebackinvalidateall too. Count invalidations.
2013-01-06 12:27:01 +01:00
Henrik Rydgård
e2cc226d0d
Just some cleanup of GPU code
2012-12-28 20:54:00 +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
4c23d668e1
Cleanup and reorganize gpu code a little
2012-12-21 16:50:14 +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
8db1cef503
Fix GPU block transfer
2012-12-17 19:04:19 +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
870ea6628b
Reasonably correct viewport handling. Optional debug stats overlay (not always 100% working).
2012-11-26 17:35:08 +01:00
Sacha
b76152d88a
Use gl_common from native.
2012-11-26 20:38:39 +10:00
Sacha
5019462317
iOS Support
...
Preliminary iOS support using new framework.
2012-11-26 14:06:35 +10: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
Florent Castelli
fd76b2bb15
Fix ordering in gpu state struct
2012-11-25 18:15:30 +01:00
Henrik Rydgard
d0f829353d
Support FIXA and FIXB blend factors as well as possible.
2012-11-25 15:49:37 +01:00
Henrik Rydgård
fc453c979f
MacOSX buildfix. Doesn't run right yet though.
2012-11-25 12:25:07 +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
Henrik Rydgard
02a94e52ee
Do GPU ram<->vram block transfers. Could be smart enough to clear textures from cache but isn't yet.
2012-11-22 20:57:41 +01:00
Henrik Rydgard
fa05713456
misc cleanup
2012-11-18 23:14:50 +01: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
Henrik Rydgard
85d5cfd8c4
Add more proper "Null" GPU
2012-11-06 17:05:27 +01: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