Possible flicker fix for Macross
This commit is contained in:
parent
cc857e8217
commit
0caaa74be9
1 changed files with 6 additions and 4 deletions
|
@ -1560,16 +1560,18 @@ void GPUCommon::Execute_TexLevel(u32 op, u32 diff) {
|
||||||
// TODO: If you change the rules here, don't forget to update the inner interpreter in Execute_Prim.
|
// TODO: If you change the rules here, don't forget to update the inner interpreter in Execute_Prim.
|
||||||
if (diff == 0xFFFFFFFF)
|
if (diff == 0xFFFFFFFF)
|
||||||
return;
|
return;
|
||||||
gstate.texlevel ^= diff;
|
|
||||||
if (gstate.getTexLevelMode() != GE_TEXLEVEL_MODE_AUTO && (0x00FF0000 & gstate.texlevel) != 0) {
|
|
||||||
Flush();
|
|
||||||
}
|
|
||||||
gstate.texlevel ^= diff;
|
gstate.texlevel ^= diff;
|
||||||
|
|
||||||
if (diff & 0xFF0000) {
|
if (diff & 0xFF0000) {
|
||||||
// Piggyback on this flag for 3D textures.
|
// Piggyback on this flag for 3D textures.
|
||||||
gstate_c.Dirty(DIRTY_TEXCLAMP);
|
gstate_c.Dirty(DIRTY_TEXCLAMP);
|
||||||
}
|
}
|
||||||
|
if (gstate.getTexLevelMode() != GE_TEXLEVEL_MODE_AUTO && (0x00FF0000 & gstate.texlevel) != 0) {
|
||||||
|
Flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
gstate.texlevel ^= diff;
|
||||||
|
|
||||||
gstate_c.Dirty(DIRTY_TEXTURE_PARAMS | DIRTY_FRAGMENTSHADER_STATE);
|
gstate_c.Dirty(DIRTY_TEXTURE_PARAMS | DIRTY_FRAGMENTSHADER_STATE);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue