On Fri, 31 May 2002, Keith Whitwell wrote:
>
> Also note that it actually asks for the pixcache to be flushed *twice* - once
> by RADEON_PURGE_CACHE (which writes the RADEON_RB2D_DSTCACHE_CTLSTAT via the
> ring) and once in radeon_do_pixcache_flush() which writes the register via MMIO.
Btw, why _do_ we flush these things anyway?
I realize that we need to flush the engine in between switching from a DRI
application and the X server itself, but that should be part of the lock
transfer, should it not? Right now the X server seems to (quite
unnecessarily) call in to radeon_cp_idle() all the time, even if no direct
rendering is happening at the same time.
Am I missing something? Would it not be better to handle this in the DRM
locking code, and only flush when the lock is taken by somebody new? That
way, if there isn't any lock contention, there also won't be any
unnecessary flushes..
(By "in the locking code", I don't actually mean the kernel itself: just
make the kernel return a different return code for "successfully got the
lock, previous owner was yourself" than for "successfully got the lock,
you were the last user", and then the X server and the DRI layer can avoid
doing things like RADEONEngineRestore() if we're the same user).
Linus
_______________________________________________________________
Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel