Hi all.

I've been trying to fix a rainbow texture corruption bug the past few days 
with little success. Using UDP, its ok. Using http texture fetch, it get 
corrupted.

I've managed to figure what is causing the texture to get corrupted after 
downloading and displaying it. What happens is that on textures that have the 
same file size for discard level 1 and 0, the data size sent to the decoder is 
incorrect. See http://pastebin.com/Kc9x5BNS for the detailed debug output for 
that texture.

I've managed to trace back to the function that is returning the incorrect 
data recieved in lltextruefetch.cpp, "mFormattedImage->getDataSize()". That 
function is used to calculate the amount of data to memcopy and to send to the 
decoder.

"mFormattedImage->getDataSize()" goes back to llimage.cpp and from there who 
knows, i've can't trace it back anymore.

Somewhere between libcurl returning data and lltextruefetch, the amount of 
data recieved is getting corrupted somewhere. If someone knows of this bug or 
can point me in the right direction of how the size data from libcurl gets to 
lltexturefetch.cpp I would be grateful.

--Techwolf Lupindo
_______________________________________________
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

Reply via email to