Page 1 of 2
Confirmation of blt bug in 2.04

Posted:
Sep 23, 2003 @ 4:52am
by fzammetti
Can anyone verify that the blt bug actually exists in 2.04? Johan stated that on iPaq 36xx and 38xx's a blt call should crash... This means the simple GD sample should crap out. Can anyone verify this?
I ask because I think a number of games have been released using 2.04 now and I don't think there's been any major uproar about bugs in those games, and I'm wondering if this bug either doesn't really exists or is perhaps not as big a problem as was stated.
Thanks!

Posted:
Sep 23, 2003 @ 2:52pm
by Johan

Posted:
Sep 23, 2003 @ 2:59pm
by fzammetti
I'm not sure I fully understand... "It is visible if you blit a rectangular surface where the width and height is not identical to another surface, in a display orientation that is not the same as the native alignment."
What do you mean exactly by "a rectangular surface where the width and height is not identical to another surface"? Could you explain that further? I could write here how I interpret it, but it would probably be better to just ask you to explain it in a different way.
When you say a full-screen blt would fail, do you mean if I use backbuffer.blt() to display a 240x320 image? And just to be 100% sure, this would NOT occur using bltfast, correct?
Are these the only two situations where it would occur?
Lastly, is 2.04 the only version that exhibits this bug? In other words, is 2.03 immune from this bug?
Thanks Johan!

Posted:
Sep 23, 2003 @ 3:20pm
by Johan
Hi,
Basically the issue is like this:
If the display is rotated 90 degrees to either direction, GapiDraw 2.04 forgets to swap the scale values for width and height when doing a stretched Blt or AlphaBlt. If the width and height of the source surface are not identical the issue is visible when calling Blt or AlphaBlt in a display mode that is rotated 90 degrees from the native display orientation...

Posted:
Sep 23, 2003 @ 3:21pm
by egarayblas
Frank: gd2.03 and previous versions may be "immune" to this bug but it doesn't have the latest features that 2.04 has. So you should assess if the trade-off will be more beneficial to you before you decide to "downgrade".
Also, I reckon BltFast is faster than Blt right? Why not use BltFast instead? Are there any performance/technical issues on your end?

Posted:
Sep 23, 2003 @ 3:22pm
by Johan
Oh.. Missed a few bits.. GapiDraw 2.03 is immune from this bug (but have some other issues unfortunately)...
Yes, BltFast or AlphaBltFast is not affected by this.. Only Blt and AlphaBlt.

Posted:
Sep 23, 2003 @ 3:57pm
by fzammetti

Posted:
Sep 23, 2003 @ 3:59pm
by Johan

Posted:
Sep 23, 2003 @ 4:04pm
by Johan

Posted:
Sep 23, 2003 @ 4:10pm
by fzammetti

Posted:
Sep 23, 2003 @ 4:15pm
by Johan

Posted:
Sep 23, 2003 @ 4:16pm
by egarayblas

Posted:
Sep 23, 2003 @ 4:25pm
by Guest

Posted:
Sep 24, 2003 @ 1:22am
by fzammetti
Johan, I didn't catch two things before, so I have to ask you for a little further clarification...
In one of the above posts, you say that the issue effects "stretch blt" and "alphablt". Does this mean that if you are not doing a strecth with blt then the bug doesn't occur?
Also, you mentioned, in the same post I think, that the cause of the problem is the width and height not being swapped. You also mentioned that it doesn't occur if the width and height match another surface.
Did you actually mean that if the surface you are blt'ing has a width and height that are equal, then the problem won't occur? That seems to make sense, since obviously if the width and height are equal it wouldn't matter if they got swapped. Am I correct in this understanding?
If that's the case, I think this bug isn't quite as severe as I (and maybe others) had thought, since it's relatively easy to work around.
But please do verify if my statement above is correct or not. Thank you!

Posted:
Sep 24, 2003 @ 7:49am
by Johan