On Nov 22, 2007 5:37 AM, Jerome Glisse <[EMAIL PROTECTED]> wrote:
...
> I will go this way too for r300/r400/r500 there is not so much registers
> change with different contexts and registers which need special treatment
> will be handled by the drm (this boils down to where 3d get rendered and
> where is the zbuffer and pitch/tile informations on this 2 buffers; this
> informations will be embedded in drm_drawable as the cliprect if i am
> right :)). It will be up to client to reemit enough state for the card
> to be in good shape for its rendering and i don't think it's worthwhile
> to provide facilities to keep hw in a given state.

Are you suggesting we emit the state for every batchbuffer submission?
 As I wrote in my reply to Keith, without a lock, you can't check that
the state is what you expect and the submit a batchbuffer from user
space.  The check has to be done in the kernel, and then kernel will
then emit the state conditionally.   And even if this scheme can
eliminate unecessary state emission, the state still have to be passed
to the kernel with every batch buffer submission, in case the kernel
need to emit it.

> So i don't need a lock
> and indeed my actual code doesn't use any except for ring buffer emission
> (only shared area among different client i can see in my case).

So you do need a lock?  Could the ring buffer management be done in
the drm by the super-ioctl code and would that eliminate the need for
a sarea?

Kristian

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to