Commit graph

219 commits

Author SHA1 Message Date
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
Henrik Rydgård
cd511cc43c In Freeze-Frame mode, don't wipe GPU resources when loading save states. 2013-11-15 16:30:55 +01:00
Henrik Rydgard
3b63ef7005 Remove the SubmitPrim param forceIndexType, optimize BBOX more. 2013-11-14 14:03:03 +01:00
Henrik Rydgard
6221dbaf5d Optimize software skinning for x86.
Can't seem to get a win on Windows vs hardware skinning though, even though
draw calls drop by 2/3rd...
2013-11-13 18:10:58 +01:00
Henrik Rydgard
f0cacf46d0 No reason to involve the FPU when loading matrices 2013-11-13 18:10:58 +01:00
Henrik Rydgard
6976d6a3a0 Enable the softskinning optimizations that let us merge drawcalls 2013-11-13 18:10:57 +01:00
Henrik Rydgard
7e67476b00 Simple unoptimized software skinning.
Does not take advantage of the possible reduction in state changes yet.
2013-11-13 18:10:57 +01:00
Henrik Rydgard
cf15ec8a53 Add BBOX support (very conservative test) 2013-11-12 17:06:03 +01:00
Henrik Rydgard
84f20a1cad Small optimizations 2013-11-12 14:05:50 +01:00
raven02
2bca62b26e Don't reset texture width/height unless the size is different 2013-11-11 21:12:43 +08:00
raven02
d2546bed5b Regression fix c69ac64 2013-11-11 08:53:47 +08:00
Henrik Rydgard
c69ac64d83 Don't reconvert light colors if they don't change.
Also prepare for a possible further optimization in GLES_GPU::FastRunLoop
2013-11-10 11:18:58 +01:00
Unknown W. Brackets
1633aa689c Remove the extra process queues hack.
It seems like it's not helping anymore so it could be hurting.
2013-11-09 23:08:44 -08:00
Unknown W. Brackets
385f9a457e Use GetPointerUnchecked in how, pre-checked areas. 2013-11-08 11:39:24 -08:00
Henrik Rydgard
64bdb5e21d Tiny optimization (32-bit) in GLES_GPU::FastRunLoop 2013-11-07 01:34:43 +01:00
Unknown W. Brackets
78400fd460 Avoid some dereferencing in gpu FastRunLoop. 2013-11-06 07:50:16 -08:00
Henrik Rydgård
357b133ff6 No need to dirty the PROJ_THROUGH when only the proj matrix is being
changed.
2013-10-30 22:47:36 +01:00
Sacha
2c74693f6c VSync codepath only works on _WIN32 so only show it and check it there. 2013-10-27 23:09:46 +10:00
Unknown W. Brackets
f9352ad0b8 Update fbos even if they're not the display.
But only when coming from a video or other safe source, to ensure we don't
hurt speed.  Although, might be interesting to do it always?

With the previous commit, fixes #4273.
2013-10-26 00:36:37 -07:00
Unknown W. Brackets
deaaa99763 Exclude 0xFF from logging, happens a lot. 2013-10-24 22:03:10 -07:00
Sacha
b0d7f758be Remove QCOM binning control detection. Qualcomm suggests not to use it and it causes crashes on my Adrenos anyway. 2013-10-23 15:02:48 +10:00
Sacha
78d6ad6f80 Clean up GLES3init. Pass Blackberry version through to defines. Update QCOM binning comment. 2013-10-23 15:02:48 +10:00
Henrik Rydgard
a88ab80477 Only clear the shader cache when toggling "Disable alpha test" 2013-10-22 14:34:16 +02:00
Henrik Rydgard
bf59f3db73 Add ugly hack setting for PowerVR to disable alpha test
Causes glitches but the speedup is truly massive in some games so I relent :/

Please do not report graphics bugs when this is enabled...

Future: Maybe remove this setting except on PowerVR?
2013-10-22 13:00:19 +02:00
Henrik Rydgard
492fcb261b Reset viewport in CopyDisplayToOutput. Fixes flickering video in non-1:1 resolutions in some games. 2013-10-22 11:19:06 +02:00
Sacha
d49b4fad9a Miscellaneous changes for Blackberry. 2013-10-12 17:19:02 +10:00