[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dri-devel
Subject:    Re: [Dri-devel] SAREA?
From:       Daryll Strauss <daryll () harlot ! rb ! ca ! us>
Date:       2002-01-30 1:55:20
[Download RAW message or body]

On Tue, Jan 29, 2002 at 04:00:13PM -0800, Ian Romanick wrote:
> Can someone provide me with a deeper explaination of the SAREA?  I
> understand that it  is a block of shared memory that is used to store
> internal, device specific state.  However, by whom is it shared?  Who can
> update it?  When?  How?

There's no simple answer to that, since it is used differently by each
driver. It is shared among the X server and all the 3D clients. One
piece that is common to all drivers is the upper layer of the
lock. Reading the lock value out of the SAREA allows for fast
locking. If there's contention the clients make an IOCTL call to resolve
the lock.

Beyond that it depends on the driver. The 3dfx driver only uses a few
flags in the SAREA, one to indicate that the fifo has been modified, one
to indicate that the 3D state has been modified, and one to indicate
texture state has been modified. That way the clients know how much
state they need to update when a context switch occurs.

Other drivers store more state in the SAREA. You can also store that
state in the kernel driver. It's a design decision. So what values you
put where will vary.

						- |Daryll

_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic