Original Post
I encountered a strange error today. I read off samples from a mip-map chain on the GPU and send them to the CPU; to find the sample spots I use a lookup texture. I create the lookup texture so that every sample in the same level is neighboring, but once in a while the samples sent back to the CPU is incorrect, they belongs to wrong level. It appears to me that when the GPU tries to optimize the code and batch many reads from the same level it sometimes goes too far. However I was able to remedy this by putting a dummy sample between every level change. Has anyone else experienced the same error? Is it a well known bug? Of coarse the error could be because of me being a dumbarse but I have done a lot of testing, for example the samples are collected correctly when all belongs to the same level, but when I concatenate several of these “correct” subgroups they becomes incorrect.