[fixed at last!] 1.0.32 Burn wipe style goes white

Bugs that have been resolved.

Moderator: Graf Zahl

Locked
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

[fixed at last!] 1.0.32 Burn wipe style goes white

Post by Enjay »

I realise you are probably in no position to look at this, and that the recent changes may have made this irrelevant but I noticed it and if I don't report it I'll forget it and, who knows, it could be important.

When you are using the burn wipe style, sometimes the screen fades to white rather than an image of the screen. It seems to be pretty easy to get it by starting a few games (never seems to happen with the first time you do it) and it can happen between levels as well.

I recorded a video of the effect because it's easier than explaining.

http://www.rowand.myzen.co.uk/burnfade.wmv
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

I know. Unfortunately I have no idea why. All I could find out so far is that this doesn't happen if any texture is being created between 2 wipes. Otherwise the white screen comes.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: 1.0.32 Burn wipe style goes white

Post by Graf Zahl »

I'm moving this to 'vexing bugs' for now.

I'm sorry but as much as I'd like to have this fixed (Burn is my preferred wipe style) I have absolutely no clue why it doesn't work unless a new texture is being created. If someone with more experience can give me a hint I'd appreciate it very much.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: 1.0.32 Burn wipe style goes white

Post by Graf Zahl »

I can finally retire this report. :)


After all this time I was just ready to rewrite this effect to use a shader. And guess what: While rewriting the code I found the reason for this bug because with the shader based version it manifested itself just differently but a lot easier to analyze.

When a texture is bound the texture class keeps track of the GL texture ID which is used in each texture unit. However, for wipe textures these get deleted right after use and recreated in the next frame.

Normally this isn't an issue. Here, however it just happened that the second texture unit was not used for anything else so the last bound ID was kept even though the texture no longer existed.

Now, when wiping twice without any new textures being created the new textures got the same ids as the old ones which no longer existed. The result was that the texture manager thought that the currently set texture was still valid even though it wasn't.
Locked

Return to “Closed Bugs”