On Tue, Nov 27, 2007 at 03:44:48PM -0500, Kristian Høgsberg wrote:
> On Nov 27, 2007 2:30 PM, Keith Packard <[EMAIL PROTECTED]> wrote:
> ...
> > >   I both cases, the kernel will need to
> > > know how to activate a given context and the context handle should be
> > > part of the super ioctl arguments.
> >
> > We needn't expose the contexts to user-space, just provide a virtual
> > consistent device and manage contexts in the kernel. We could add the
> > ability to manage contexts from user space for cases where that makes
> > sense (like, perhaps, in the X server where a context per client may be
> > useful).
> 
> Oh, right we don't need one per GLContext, just per DRI client, mesa
> handles switching between GL contexts.  What about multithreaded
> rendering sharing the same drm fd?
> 
> > > I imagine one optimiation you could do with a fixed number of contexts
> > > is to assume that loosing the context will be very rare, and just fail
> > > the super-ioctl when it happens, and then expect user space to
> > > resubmit with state emission preamble.  In fact it may work well for
> > > single context hardware...
> >
> > I recall having the same discussion in the past; have the superioctl
> > fail so that the client needn't constantly compute the full state
> > restore on every submission may be a performance win for some hardware.
> > All that this requires is a flag to the kernel that says 'this
> > submission reinitializes the hardware', and an error return that says
> > 'lost context'.
> 
> Exactly.
> 
> > > But the super-ioctl is chipset specific and we can decide on the
> > > details there on a chipset to chipset basis.  If you have input to how
> > > the super-ioctl for intel should look like to support lockless
> > > operation for current and future intel chipset, I'd love to hear it.
> > > And of course we can version our way out of trouble as a last resort.
> >
> > We should do the lockless and context stuff at the same time; doing
> > re-submit would be a bunch of work in the driver that would be wasted.
> 
> Is it that bad? We will still need the resubmit code for older
> chipsets that dont have the hardware context support.  The drivers
> already have the code to emit state in case of context loss, that code
> just needs to be repurposed to generate a batch buffer to prepend to
> the rendering code.  And the rendering code doesn't need to change
> when resubmitting.  Will that work?
> 
> > Right now, we're just trying to get 965 running with ttm; once that's
> > limping along, figuring out how to make it reasonable will be the next
> > task, and hardware context support is clearly a big part of that.
> 
> Yeah - I'm trying to limit the scope of DRI2 so that we can have
> redirected direct rendering and GLX1.4 in the tree sooner rather than
> later (before the end of the year).  Maybe the best way to do that is
> to keep the lock around for now and punt on the lock-less super-ioctl
> if that really blocks on hardware context support.  How far back is
> hardware contexts supported?
> 
> Kristian

Maybe just accept than only drivers converted to dri2 will be lockless
ie if you are dri2 you have superiotcl and others things like that as
anyway i believe what GLX1.4 give is bit useless without a proper driver
(TTM at least).

Cheers,
Jerome Glisse

-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to