On Wed, 12 May 2010, Avi Kivity wrote: > > I guess even a src blt pitch of 0 could be useful there, however in > > practice I think the only rop function that was written with this case in > > mind has: > > > > dstpitch -= bltwidth; > > srcpitch -= bltwidth; > > > > if (dstpitch< 0 || srcpitch< 0) { > > /* is 0 valid? srcpitch == 0 could be useful */ > > return; > > } > > > > at the beginning and the others probably just don't deal with the case > > with possibly buggy consequences. > > Also the documentation I have states: > > > > 3CEh index 26h W(R/W): BLT Source Pitch (5426 +) > > bit 0-11 (5426-28) Number of bytes in a scanline at the source. > > 0-12 (5429 +) do > > > > if the source BLT is supposed to be the number of bytes in a scanline at > > the source, then 0 is not a correct value for it. > > > > It's useful if you have a one-line horizontal pattern you want to > propagate all over. > It might be useful all right, but it is not entirely clear what the hardware should do in this situation from the documentation we have, and certainly the current state of the cirrus emulation code doesn't help. Without any clear indication of what a Cirrus Logic graphic card would have done here, I would choose the safest answer that is disregard the "delicate" case (if it doesn't break Windows NT). However I don't mind if we try to handle this case too, provided that we handle it well, without SIGFPEs that is :) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html