Commit graph

438 commits

Author SHA1 Message Date
Unknown W. Brackets
92ae7cb8e6 Do less memcpy when copying the framebuf to mem. 2013-06-28 22:27:04 -07:00
arnastia
ad5df976bd Blit framebuffers using screen aligned quads (buggy);
Implement asynchronous framebuffer readback for OpenGL and optional CPU-side pixel format conversion (needs optimization);
Add OpenGL ES support (untested).
2013-06-28 14:48:36 +01:00
Henrik Rydgard
604ad0181b Merge branch 'new-ui'. Still incomplete. Enable by setting NewUI=True in ppsspp.ini
Conflicts:
	UI/MenuScreens.cpp
2013-06-27 16:28:38 +02:00
Henrik Rydgard
f93de8be51 Quick Android/GLES2 buildfix. The new read framebuffer code was not OpenGL ES friendly. 2013-06-26 23:23:16 +02:00
arnastia
98b9acf0d3 Add FramebuffersToMem option to allow disabling of reading framebuffer contents to memory (defaults to false). 2013-06-26 01:32:48 +01:00
arnastia
4fa30ce6ec Add support for reading framebuffers to memory.
Signed-off-by: arnastia <arnastia@gmail.com>
2013-06-25 13:50:35 +01:00
Unknown W. Brackets
8c7dfdb0f7 Iterate over vfbs_ using size_t not iter.
This way we know for sure that our erase()s are safe.
2013-06-23 08:51:35 -07:00
Unknown W. Brackets
03cab6edf7 Centralize destruction of FBOs, use std::vector. 2013-06-23 08:19:36 -07:00
Henrik Rydgard
67ef7fea3e Various FBO-related fixes, hopefully reducing or removing the related crashes... 2013-06-23 17:05:59 +02:00
Sacha
2570268393 Remove 'BLACKBERRY10' define as it is now the minimum OS requirement. 2013-06-21 15:40:52 +10:00
Henrik Rydgard
2694343243 Another attempt at reusing bigger framebuffers. Doesn't solve everything but hopefully won't break much like the last attempt. 2013-06-20 22:19:20 +02:00
Henrik Rydgård
283f382aff Revert "Attempted workaround for issue #2308. Needs plenty of testing! Fixes black screens in GTA when pausing for example."
This reverts commit f2b7096bdf.
2013-06-20 01:26:18 +02:00
Henrik Rydgard
f2b7096bdf Attempted workaround for issue #2308. Needs plenty of testing! Fixes black screens in GTA when pausing for example. 2013-06-19 23:55:36 +02:00
Unknown W. Brackets
5dd9ece98b Ignore alpha when writing to display. 2013-06-15 17:32:35 -07:00
Henrik Rydgard
112f1b4901 Wipe all FBOs on device lost. May help app switching issues on Android. 2013-06-11 11:28:41 +02:00
aquanull
7082e9808d Fix some crash in debug builds. 2013-06-11 16:19:12 +08:00
Unknown W. Brackets
73ab4d1422 Fix memcpy to framebuffer to not invalidate.
This is much better.
2013-06-10 00:11:36 -07:00
Unknown W. Brackets
d8618e5028 Clear currentRenderVfb_ when fbo_unbinding.
At least, not doing this caused glitches somewhere else, seems right.
2013-06-09 23:55:33 -07:00
Unknown W. Brackets
dbb2dfdcff Invalidate FBOs when it's obvious they should be.
This fixes videos not being visible in for example Star Ocean.
Most likely any games doing a copy directly from the mpeg decode.
2013-06-08 04:51:57 -07: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
Henrik Rydgard
be483a1aa6 Another framebuffer / displayptr fix. 2013-06-06 00:30:42 +02:00
Henrik Rydgard
9ae044de43 Keep a separate pointer for non-VRAM displayptr. Fixes GTA intro movie while still not breaking MotoGP. 2013-06-06 00:01:43 +02:00
Henrik Rydgard
443e9eca8e DrawPixels: Avoid copying in the common case. 2013-06-05 23:32:04 +02:00
Henrik Rydgard
2221f221e3 Only create backing texture for DrawPixels when needed. 2013-06-05 23:03:23 +02:00
oioitff
a7657c5a70 Fix a tiny bug in Framebuffer.
Prepare for showing video images.
2013-06-02 01:28:23 +08:00
Sacha
33e7169248 New Option for Blackberry keyboard devices: Partial Vertical Stretch
Stretches screen vertically by ~38% (midpoint of stretched and non-stretched).
Set this on by default for keyboard devices. Also set 'Show Touch' off by default.
2013-05-08 23:23:24 +10:00
Unknown W. Brackets
353528b63d When displaying an FBO, pick the most recent used.
Fixes flicker in Jewel Summoner, and black screen in Shadow of Destiny.
2013-05-04 15:36:24 -07:00
Unknown W. Brackets
9427f352c3 Fix black screen when fbo set in first frame.
Because BeginFrame() is actually only called after the first frame.
2013-04-27 15:46:10 -07:00
Henrik Rydgard
c5c3189436 Fix some framebuffer-related crash bugs. Ignore cache instruction 'FILL'. 2013-04-27 20:06:31 +02:00
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
Henrik Rydgård
c8238a1a05 Merge pull request #1024 from raven02/patch-3
Fix buffered mode broken in MotoGP
2013-04-14 00:46:42 -07:00
Unknown W. Brackets
e7f0bf71bf Don't go decimate happy on FBOs if a game reuses.
Some games, e.g. games that render at < 60fps, reuse FBOs.
This was making all three pointers the same, making us more likely
to decimate things when we ought not to.
2013-04-12 07:09:45 -07:00
Unknown W. Brackets
c4a6224506 Don't decimate FBOs if none were used.
Not sure why this is happening, but fixes #1260.
2013-04-12 07:00:59 -07:00
Henrik Rydgard
d46812a49f Implement pullrq #1240 better, I think. 2013-04-10 00:06:29 +02:00
Unknown W. Brackets
23c0e7f319 Change FBO age back to 5, gets in a create loop... 2013-04-08 00:45:21 -07:00
Unknown W. Brackets
79e3c66514 Adjust FBO decimation to optimize for creation.
But, keep aggressively decimating for a few frames.
2013-04-07 22:34:02 -07:00
Henrik Rydgard
63463f7959 Clamp render targets to 512x512 psp pixels. 2013-03-28 20:19:09 +01:00
raven02
6429707d4e Fix MotoGP broken in buffered mode 2013-03-18 23:04:17 +08:00
Henrik Rydgard
f67743b769 Fix scissor rectangle being one pixel too small. 2013-03-16 08:54:39 +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
c8379e3db5 Allow display addresses within RAM, draw the pixels at end of frame. 2013-03-15 22:50:35 +01:00
Henrik Rydgard
cf458dba60 gpu: Add support for scissor rectangle 2013-03-15 22:24:16 +01:00
Henrik Rydgard
bef3ef7fac Fix aspect ratio in unbuffered mode 2013-03-15 21:22:17 +01:00
Henrik Rydgard
1f5b6b7f59 Logging changes and cleanup 2013-03-15 21:01:57 +01:00
Henrik Rydgard
363522fdab gpu: unbind stuff that might get deleted 2013-03-11 22:22:22 +01:00
Henrik Rydgard
de469e77a4 Fix silly typo breaking alpha test in many cases. Make some log VERBOSE. 2013-03-11 19:40:47 +01:00
Henrik Rydgard
1732d40da9 Make sure to zero-initialize vfb->fbo if buffered rendering off. 2013-03-11 18:51:46 +01:00
raven02
b18ee61676 Always clear since vbo is first created 2013-03-09 21:56:32 +08:00
raven02
dca1d4fb1d Bit clean up the SetRenderFrameBuffer() 2013-03-09 13:46:11 +08:00
Unknown W. Brackets
d75657e6b2 Re-enable the flicker hack for Dissidia, etc.
This is still needed for several games, including at least Dissidia,
Echochrome, and Final Fantasy Tactics.

This reverts commit 8eedc89ad7.
2013-03-08 10:37:33 -08:00