>What about a mixed approach to avoid unnecessary bus traffic: try to read >the ring head pointer from memory, and if after a timeout the free ring space >still doesn't seem to be large enough, read it directly from the register. >This could hurt performance badly if the memory copy is often outdated though.
Well, let's first make it stable... > >> >If apps would at least avoid reading stuff written >> >by the video card, write-through cached would be OK. >> >Apps that read AGP memory are uncommon enough that >> >fixing all of them would be feasible. >> >> I think we can use full caching (copyback) without too much >> problems. In the r128 case, we'll have to flush from the X server >> as it's directly writing to the ring (and maybe from the mesa driver >> as well). On radeon, it's all done via indirect buffers and those >> get passed to the kernel driver before beeing inserted in the ring. > >Where is r128 different than radeon in this respect? The last time I looked at r128, it wrote to the ring directly iirc, while radeon on wrote to indirect buffers, the kernel putting them in the ring. This may have changed though. Ben. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]