Commit graph

300 commits

Author SHA1 Message Date
Henrik Rydgard
25392cd408 More android buildfixin' 2013-07-06 00:40:01 +02:00
arnastia
b5cc23d018 Try to guess GPU to differentiate pixel type to request in glReadPixels(); changed ConvertFromRGBA8888 to iterate linearly. 2013-07-05 02:31:31 +01:00
arnastia
7747fc9ca7 Some changes around pixel format conversion, should work on all cards and Android/OpenGL ES devices now (only fully tested on Nvidia); commenting and code cleanup. 2013-07-04 15:24:37 +01:00
arnastia
5a1071f157 Framebuffers are now read to system memory every third frame (done in Framebuffer::DecimateFBOs()). 2013-07-02 14:10:20 +01:00
arnastia
796800adfd CPUConvert is now FramebuffersCPUConvert; allocated memory addressed by fb_address is now used in packing code for both OpenGL and OpenGL ES; some code cleanup, most of it pixel format conversion code. 2013-07-02 14:08:59 +01:00
arnastia
2e5e5e7a62 Pixel format switch (should work for both ATI/AMD and Nvidia);
Code cleanup;
Update submodules.
2013-07-01 21:51:24 +01:00
arnastia
7824f3c09f Merge remote-tracking branch 'upstream/master' 2013-07-01 18:59:44 +01:00
arnastia
5099140813 Fixed rendering glitch caused by calling ReadFramebuffersToMem for unfinished framebuffers (non-displayed framebuffers are now read at the beginning of next frame);
Fix reversed pixel format for 32-bit textures on Nvidia cards.
2013-07-01 18:35:38 +01:00
arnastia
9696948a60 Pixels should now be read correctly on ATI cards (tested on ATI Mobility Radeon HD5165); Visual artifacts on blank areas after rendering second quad remain. 2013-07-01 13:22:19 +01:00
Unknown W. Brackets
0e5f741a48 Properly scale FBOs on copy to output.
Fixes Tales of Destiny 2 and Star Ocean when buffered rendering is on.
Should only draw the top left 480x272.
2013-06-30 23:56:22 -07:00
raven02
5d275d7fe9 Consolildate Texture filtering option 2013-06-30 14:58:46 +08:00
oioitff
dc04584ca1 Add a new option to enable
Linear Filtering only for CGs.
2013-06-30 03:35:28 +08:00
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