On Wed, 1 Feb 2012, Michel [ISO-8859-1] D�nzer wrote:
On Mit, 2012-02-01 at 11:42 -0500, Ilija Hadzic wrote:
If a blit copy operation specifies a rectangle whose one dimension is 16384 (max allowed by these chips), the chip will silently drop all commands.
What exactly does 'silently drop all commands' mean?
It means that when I look at the transactions on the bus (using the PCIe analyzer instrument), I see that the GPU pulls the stuff from the ring (read transactions come from GPU and completions come from the host), but I see no posted writes in the upstream that correspond to GPU writing to host memory.
Did you notice the following in i2f():
fraction = (input & 0x3fff) << 10; /* cheat and only handle numbers below 2^^15 */
I suspect that should say 2^14, as 16384 == 0x4000, which results in 0 for the above assignment.
Thanks for pointing this out. This could be the possible root cause. I'll see if i2f can be easily extended to support up to 2^15 range (I am not good at doing floating point representation in my head, so I need to write out things on paper to make sure, first). If yes, I'll fix i2f. If not, the existing patch will still be the reasonable fix.
-- Ilija