Commit graph

244 commits

Author SHA1 Message Date
Unknown W. Brackets
130c11c518 Move matrix loads to separate op cmds. 2014-04-17 08:00:01 -07:00
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
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
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
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
raven02
a6523dd507 Texture lod bias should be signed 2014-04-12 02:33:52 +08:00
Unknown W. Brackets
27550a2336 Update some flags in GLES_GPU.
It's useful to know if we need to have a correct PC value or downcount.
2014-03-29 14:10:35 -07:00
The Dax
1ca3d39a50 Disable the adaptive vsync checks by commenting them out. No need to have a disabled check run every frame. 2014-03-24 20:15:41 -04:00
Henrik Rydgard
ba5d88e9d6 Fix bug in FastLoadBoneMatrix where the wrong uniform could be dirtied 2014-03-22 09:27:43 +01:00
Unknown W. Brackets
743854afc8 Fix off-by-one on fast matrix loads.
May matter mostly if there's a stall right at the end of the matrix.
2014-03-15 15:23:55 -07:00
Unknown W. Brackets
a843cbd580 Shrink the very common sceKernelThread.h include. 2014-03-15 11:44:02 -07:00
Unknown W. Brackets
505b0c388f Fix a typo. 2014-03-04 07:37:32 -08:00
Unknown W. Brackets
b1acde2679 Oops, forgot the world matrix too.
VerySleepy is telling me that time is spent in WORLDMATRIXDATA in games,
but I didn't check the perf impact exactly.  It's probably small, but may
help some games.
2014-03-04 01:09:04 -08:00
Unknown W. Brackets
9e35822d16 Try to load view and model matrices a bit faster. 2014-03-04 00:37:28 -08:00
Unknown W. Brackets
a8f9635e28 Optimize loading of texgen matrices.
Pretty small impact, may help games that use them a lot.
2014-03-04 00:23:10 -08:00
Unknown W. Brackets
d60b0272fa Avoid flushing if the bone matrix is the same. 2014-03-04 00:17:16 -08:00
Unknown W. Brackets
eb04031975 Try to optimize inline matrix loads.
Improves performance by a few percent in Gods Eater Burst.
2014-03-04 00:11:03 -08:00
Unknown W. Brackets
e08e9d8e89 Flush if morphing, even if only weight changed.
Fixes more graphical glitches that happen when software skinning is enabled.
2014-03-02 20:09:18 -08:00
Unknown W. Brackets
ecf9479d5a Always flush bone matrices when morph is enabled.
Fixes graphical glitches in Shadow of Destiny and LittleBigPlanet with
software skinning enabled.  Maybe the other games in #5304.
2014-03-02 18:20:16 -08:00
Unknown W. Brackets
0a880b09ad Allow fast bone mtx loads w/o software skinning. 2014-03-02 18:12:40 -08:00
Unknown W. Brackets
592e8ca253 Update reporting as soon as the game boots.
This way if it starts with "read framebuffers" but it's switched off, it
will notice properly.
2014-02-15 15:18:01 -08:00
Unknown W. Brackets
d2108a962e Switch from USING_GLES2 to MOBILE_DEVICE.
Still using USING_GLES2 for, well, GLES2.  But for things that are really
about mobile, we need a new define.  Devices are coming that don't use
GLES2.
2014-02-08 16:37:58 -08:00
Unknown W. Brackets
b48de952fd Duplicate framebuffers textured onto themselves.
This fixes #2917.

I verified that, at least for my card, blitting is much faster than
glReadPixels (by quite a margin.)
2014-01-20 07:54:39 -08:00
Unknown W. Brackets
60cf5df571 Consider the texture changed when framebuf changes.
Needed to properly consider render to self (should rebind if the
framebuffer is later used with a separate target.)
2014-01-20 07:52:09 -08:00
Unknown W. Brackets
b0a1340a80 Report block transfers we don't support.
Ones involving framebuffers.
2014-01-20 01:47:20 -08:00
Henrik Rydgard
da97a67526 Try a different approach to the problem in #5117 2014-01-16 22:52:14 +01:00
sum2012
016fa0cbff Fix Windows 64 bit gpu crash
Fix #2301 ,thanks @raven02
2014-01-16 22:01:38 +08:00
Henrik Rydgård
79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01:00
raven02
40efc5fb4d Regroup Stencil Testing 2013-12-26 11:18:16 +08:00
raven02
8306243b97 Check gstate.isSkinningEnabled() only 2013-12-16 20:44:13 +08:00
Unknown W. Brackets
11ed3a46d9 Workaround Tactics Ogre block transfer weirdness.
This works around #4833, while keeping videos in Valkyrie Profile (and any
other games programmed the same way) working.
2013-12-14 16:45:29 -08:00
Unknown W. Brackets
13bf4d83fa Add memchecks for common HLE copy operations.
Better to catch some than miss everything.
2013-12-14 14:56:05 -08:00
Unknown W. Brackets
057cad228c Upload block transfers to FBOs when from ram. 2013-12-14 10:10:23 -08:00
Unknown W. Brackets
0e4ca7f9a8 Stop reporting logic ops.
We support them on desktop and they're not really often used.
2013-12-08 00:48:23 -08:00
Henrik Rydgard
ca1d4172ca Tiny optimization in block copies 2013-12-04 11:34:54 +01:00
Henrik Rydgard
30028439b6 Must set the EXECUTEONCHANGE since we dirty. 2013-12-03 00:55:09 +01:00
Henrik Rydgard
39b632b279 Copy the stencil value in REPLACE mode to fragment alpha (but only when it's safe)
This is cheap but incomplete.
To do it more "right", we need multipass when blending or alpha test is enabled, ugh. That's for later.

Anyway, this improves the glow situation in Wipeout somewhat. Still lots of stuff that glows that shouldn't, but a little less overwhelmingly bright.
2013-12-03 00:13:21 +01:00
Unknown W. Brackets
d35717f5a8 Also report the vertex decoder jit to verysleepy.
Can use the same methods to support other platforms.
2013-11-30 19:20:22 -08:00
Henrik Rydgard
eea8413a82 Make the texcoord speedhack a bit less aggressive at eliminating uvscaleoffset uniform updates.
Should fix #4688 and the new problem in #2919 while keeping Frontier Gate Boost working.
2013-11-30 15:54:20 +01:00
Unknown W. Brackets
41a7157aa6 Eat some cycles when changing thread priority.
Some games call this a lot.
2013-11-28 01:01:22 -08:00
Unknown W. Brackets
d2bccfeba5 Omit a few commands from "DL Unknown" in debug. 2013-11-18 07:51:10 -08:00
Unknown W. Brackets
fcc77f525f Implement some basic vertex previews on prim.
3D doesn't work correctly (sometimes it does...)  2D should be working.
2013-11-17 13:27:50 -08:00