this is fixed in 9front. the problem is this:

kernel devdraw needs full draw rpc messages in every write(). but
9p has a io unit. libdraws loadimage will fill its its io buffer
with a number of scanlines and then do a rpc until the whole image
is loaded. if the size of a single scanline exceeds the buffer size,
it will fail.

our solution was to make loadimage split the scanlines in that case,
so no matter how wide the image gets, it will get loaded correctly.

also, the compressed image format has a similar limitation. we changed
writememimage to produce uncompressed images if the compressed
blocksize would exceed the buffer.

--
cinap

Reply via email to