Flush if morphing, even if only weight changed.

Fixes more graphical glitches that happen when software skinning is enabled.
This commit is contained in:
Unknown W. Brackets 2014-03-02 20:09:18 -08:00
parent ecf9479d5a
commit e08e9d8e89

View file

@ -882,7 +882,8 @@ void GLES_GPU::ExecuteOpInternal(u32 op, u32 diff) {
if (diff & (GE_VTYPE_TC_MASK | GE_VTYPE_THROUGH_MASK))
shaderManager_->DirtyUniform(DIRTY_UVSCALEOFFSET);
} else {
if (diff & ~GE_VTYPE_WEIGHTCOUNT_MASK) {
// Don't flush when weight count changes, unless morph is enabled.
if ((diff & ~GE_VTYPE_WEIGHTCOUNT_MASK) || (data & GE_VTYPE_MORPHCOUNT_MASK) != 0) {
// Restore and flush
gstate.vertType ^= diff;
Flush();