Commit Graph
3430 Commits
Author SHA1 Message Date
raven02 ffdba45b4b Flush GE_CMD_TEXLEVEL 2014-04-17 19:48:22 +08:00
Unknown W. Brackets 49738a4d9f Keep flags and func together.
Seems not to make a big difference, though.
2014-04-17 01:36:24 -07:00
Unknown W. Brackets c90f3a3e80 Split out more of the top GE cmd funcs. 2014-04-17 01:18:53 -07:00
Unknown W. Brackets 256e98b841 Add the common funcs to the direct exec calls. 2014-04-17 01:18:52 -07:00
Unknown W. Brackets 9851400681 Move a few GE cmds to separate funcs.
2% improvement in God Eater 2.
2014-04-17 01:18:52 -07:00
Unknown W. Brackets e06c135be4 Allow individual cmd funcs to be called.
Rather than a single one, ExecuteOpInternal().  This allows less "huge
switch" code organization, and will (once separated) also improve speed.
2014-04-17 01:18:51 -07:00
Unknown W. Brackets b2f12daba9 Don't reset OFFSETADDR, changes offsetAddr. 2014-04-17 01:18:51 -07:00
Henrik Rydgård cf3117dd71 Merge pull request #5876 from raven02/patch-3
Fix wrong stretch in Wildarm XF (non-buffered mode)
2014-04-16 10:40:23 +02:00
Henrik Rydgård 45246ad9d3 Merge pull request #5891 from raven02/kill-alpha
Remove 'DisableAlphaTest' option
2014-04-15 22:00:18 +02:00
raven02 d2ce635bbf Remove option 2014-04-16 03:57:57 +08:00
Henrik Rydgård d6df5e77df Merge pull request #5875 from raven02/patch-2
Add #extension GL_EXT_shader_framebuffer_fetch : require
2014-04-15 15:59:20 +02:00
Unknown W. Brackets 089fea7185 Ignore uncached/kernel bits in texture cache.
Although I suppose we could respect uncached and never cache...

Possibly #5879.
2014-04-14 07:58:00 -07:00
Unknown W. Brackets a411ec6d08 Don't use BGRA for upscaled textures.
Since they aren't color swapped.  Fixes #5881.
2014-04-14 07:34:04 -07:00
raven02 cd024e88e8 Add #extension GL_EXT_shader_framebuffer_fetch : require 2014-04-14 19:55:34 +08:00
Unknown W. Brackets 419e812c9a Also color swap DXT textures.
Probably #5878.
2014-04-14 01:27:47 -07:00
Unknown W. Brackets 943353faac Use GL_BGRA for 32 bit textures on Windows.
25% improvement in Popolocrois, probably decent gains in other games using
32-bit textures often.  FF2 for example doesn't.
2014-04-14 00:28:31 -07:00
Henrik Rydgård a285d047ea Merge pull request #5873 from unknownbrackets/texcache
Fix texture cache invalidation...
2014-04-14 09:16:30 +02:00
Unknown W. Brackets 9982d04f9d Optimize the case of a direct byte copy.
Small improvement (like 3.5%) in God of War.
2014-04-13 21:31:30 -07:00
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
raven02 a29255b647 Fix wrong stretch in Wildarm XF (non-buffered mode) 2014-04-14 11:40:04 +08:00
Unknown W. Brackets ca6e4635aa Fix texture cache invalidation. 2014-04-13 16:25:09 -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
Unknown W. Brackets 6cfc61665d Switch to a bitmask instead. 2014-04-13 14:45:55 -07: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
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
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 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
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
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
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 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 05b23c7bd9 Merge pull request #5802 from raven02/patch-1
Texture lod bias should be signed
2014-04-11 20:58:55 +02:00
raven02 a6523dd507 Texture lod bias should be signed 2014-04-12 02:33:52 +08:00
Unknown W. Brackets 702294fe60 Don't trigger pause GE signals either, comments.
This better explains what each signal does.
2014-04-10 00:23:36 -07:00
Unknown W. Brackets 9c75c1e6fd Avoid triggering SYNC ge signals.
Fixes #5806, bcause it avoids rescheduling at the signal, which it should
not do.  Possibly this is incorrect for all GE signals, but we don't need
to trigger any behavior on a sync anyway.
2014-04-08 22:20:33 -07:00
Unknown W. Brackets 8a440f93b1 Super stupid typo. 2014-04-05 14:08:44 -07:00