Commit Graph

12665 Commits

Author SHA1 Message Date
Unknown W. Brackets
f4458edc76 Avoid unbinding the current fbo on block transfer.
Improves God of War performance by 25% (at least in the demo.)
2014-04-13 21:11:17 -07:00
Unknown W. Brackets
dc0eea0522 Propagate texcache hash fails through cluts.
In games that use palette swapping (hi, FF2), if we detect a change in
a texture, another texture with the same address but new clut might not be
rehashed.

This just marks all other textures as dangerous when a hashfail occurs.

Fixes FF2 from recent optimizations.  It's slower, but still much faster
than before.
2014-04-13 16:20:58 -07:00
Unknown W. Brackets
58038c05fc Simplify gstate_c savestate code a bit.
So it's not as awkward to modify.
2014-04-13 15:16:51 -07:00
Henrik Rydgård
36c751976a Merge pull request #5872 from unknownbrackets/texcache
Use flags to avoid hashing textures when unchanged
2014-04-14 00:06:08 +02:00
Unknown W. Brackets
27708d6f97 Merge pull request #5871 from hrydgard/sceiodread_ms0check
More elegant way of solving #5839 (d_private in sceIoDread)
2014-04-13 14:52:39 -07:00
Unknown W. Brackets
6cfc61665d Switch to a bitmask instead. 2014-04-13 14:45:55 -07:00
Henrik Rydgard
f285b12dcf Make strcpy_limit slightly more sane. 2014-04-13 23:43:32 +02:00
Henrik Rydgard
c9eb4a1916 VFSFileSystem too 2014-04-13 23:34:08 +02:00
Unknown W. Brackets
4c1c694d4b Use flags to avoid hashing textures when unchanged.
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.

Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Henrik Rydgard
a53ecd7da3 More elegant way of solving #5839 (d_private in sceIoDread)
We flag filesystems as being FAT32 instead of checking for "ms0:".
2014-04-13 23:22:17 +02:00
Henrik Rydgård
ee4c464305 Merge pull request #5870 from VIRGINKLM/master
Blacklist GLTools (Chainfire3D-like app for 3.0+)
2014-04-13 22:37:20 +02:00
Klimis Ioannidis
a758781544 Blacklist GLTools (Chainfire3D-like app for 3.0+) 2014-04-13 23:25:56 +03:00
Henrik Rydgård
1b30c5b212 Merge pull request #5869 from unknownbrackets/texcache
Avoid rehashing an unchanged texture
2014-04-13 22:21:44 +02:00
Unknown W. Brackets
2f72da8087 Don't dirty the texture on texmapenable.
Tales of Phantasia X flips on and off texturing during battle transitions.
This causes tons of needless rehashes.
2014-04-13 13:19:35 -07:00
Unknown W. Brackets
b6dc7eba8b Simplify texture status checks a bit. 2014-04-13 13:19:35 -07:00
Henrik Rydgård
74fcde8b1f Merge pull request #5867 from unknownbrackets/gpu-minor
Avoid diff checks in ExecuteOpInternal, check in runloop
2014-04-13 20:11:27 +02:00
Unknown W. Brackets
f2ff8544c7 Don't check diff in ExecuteOpInternal().
Since it's not called if !diff, there's no need.  Small performance
improvement.
2014-04-13 10:25:14 -07:00
Unknown W. Brackets
e780a645cb Use the FLAG_EXECUTEONCHANGE flag.
Improves fps by 1-3% in some games, seems to be a win after all.
2014-04-13 10:23:21 -07:00
Unknown W. Brackets
22a80fb7be softgpu: Avoid multithreading thin polygons.
Small performance improvement (5-6% in some areas.)
2014-04-13 09:01:14 -07:00
Unknown W. Brackets
0d59fc0d2e Oops, forgot to reset the frame when unchanged.
Fixes #5861.
2014-04-13 08:15:48 -07:00
Henrik Rydgård
36b8ed8a27 Mac buildfix 2014-04-13 17:14:45 +02:00
Henrik Rydgård
e8d0cc6c89 Merge pull request #5865 from raven02/patch-1
Only write d_private for memory stick
2014-04-13 15:00:43 +02:00
raven02
6fb2934a6e Only write d_private for memory stick 2014-04-13 20:10:47 +08:00
Henrik Rydgård
c7aafadfb1 Merge pull request #5862 from raven02/patch-2
Put in parameters for sceMp3LowLevelInit/Decode
2014-04-13 12:24:36 +02:00
raven02
3a0b17a50f Put in parameters for sceMp3LowLevelInit/Decode 2014-04-13 17:18:18 +08:00
Henrik Rydgård
9bcb2f3a0e Merge pull request #5859 from raven02/patch-1
Implement in-shader ABSDIFF blending mode
2014-04-13 10:18:59 +02:00
Henrik Rydgård
cb3db6ada4 Merge pull request #5854 from unknownbrackets/fbo-sizing
Try to improve FBO sizing
2014-04-13 10:16:23 +02:00
raven02
a9d7be1eab Should be id0 2014-04-13 16:13:59 +08:00
raven02
f1254c79ed Turn off regular alpha blending 2014-04-13 16:03:50 +08:00
raven02
e358a6dcbe Handle ABSDIFF blending mode using GL_EXT_shader_framebuffer_fetch 2014-04-13 16:01:55 +08:00
Henrik Rydgård
09c99fcd64 Merge pull request #5857 from raven02/patch-1
Regression fix #5769
2014-04-13 09:39:25 +02:00
Unknown W. Brackets
f462721394 Rather than only enlarging, watch for persistence.
If the game keeps using something at a new size, we know it's time to make
some adjustments.
2014-04-12 23:12:35 -07:00
raven02
568b14f890 Regress fix https://github.com/hrydgard/ppsspp/issues/5769 2014-04-13 13:58:34 +08:00
Unknown W. Brackets
1a53be45cc When uploading video pixels, detect w/h by size.
Sometimes the framebuffer size is incorrect, but kinda works... but this
is a problem for the video.  Using the size gets us better.

In Wild Arms XF, the framebuffer is 512x512, but that's not right.  It's
clear it should be 480x272.
2014-04-12 22:02:47 -07:00
Unknown W. Brackets
1f76adb7a3 If a larger framebuffer is needed, upgrade it once.
This should prevent issues where it gets larger and smaller like in the
past.
2014-04-12 20:46:38 -07:00
Henrik Rydgård
f2bf8df3cd Merge pull request #5853 from sum2012/soft-gpu
Avoid unknown get pointer in Rasterizer.cpp
2014-04-13 01:15:47 +02:00
Unknown W. Brackets
dde2f3ade6 Re-replace functions after loading a savestate.
Might need to clear before saving too... anyway, this makes testing a bit
easier for certain areas.

Also, correctly decrease downcount on x86.
2014-04-12 15:49:20 -07:00
sum2012
fa1b65fd59 Avoid unknown get pointer in Rasterizer.cpp
Find in #5350 in softgpu
2014-04-13 06:45:46 +08:00
Henrik Rydgård
d67f91d899 Merge pull request #5841 from unknownbrackets/ge-signals
Improve sync and pause GE signal handling
2014-04-12 23:40:27 +02:00
Henrik Rydgård
9aa0bb317d Merge pull request #5851 from unknownbrackets/stdout-intr
Don't reschedule when writing to stdout.
2014-04-12 23:38:42 +02:00
Unknown W. Brackets
d247a7def6 Don't reschedule when writing to stdout.
Let's still capture the output, though.
2014-04-12 13:21:35 -07:00
Unknown W. Brackets
829f70dacd Initialize textStart/textEnd for fake modules.
Otherwise we try to unload random memory, sometimes this breaks weird
things.
2014-04-12 13:09:33 -07:00
Henrik Rydgård
b4244fb4d9 Merge pull request #5842 from unknownbrackets/hashmap
Fix hashmap crashes with games that load modules
2014-04-12 11:33:23 +02:00
Unknown W. Brackets
76e61e10a9 Fix hashmap crashes with games that load modules.
This should properly unload and reload the functions as necessary.
2014-04-12 01:16:32 -07:00
Unknown W. Brackets
e93407f33e Oops, downgrade from ERROR to DEBUG, and -report. 2014-04-12 00:04:02 -07:00
Unknown W. Brackets
26933384a7 Don't mark a list complete too early.
This would matter probably mostly if we implemented CONTINUE properly.
2014-04-11 23:50:20 -07:00
Unknown W. Brackets
7fd7337911 Update GE lists when switching.
This uses a mutex, so it should be safe to do any time.  Really helps
debugging hung lists.
2014-04-11 23:50:20 -07:00
Unknown W. Brackets
4561440df7 Handle GE pause signals per tests.
They really should pause, but we were resetting them incorrectly.
And most importantly, sceGeContinue() inside the signal handler absolutely
must work.  Games use this a lot.
2014-04-11 23:50:20 -07:00
Henrik Rydgård
9dbb26a75c Fix for the linux buildfix 2014-04-12 00:17:58 +02:00
Henrik Rydgard
95cc998b8f Attempt buildfix for x86 cmake linux 2014-04-11 22:11:27 +02:00