On Mon, 2004-09-20 at 19:47, Adam Jackson wrote:
> On Monday 20 September 2004 13:17, Amir Bukhari wrote:
> > On Mon, 2004-09-20 at 18:47, Ian Romanick wrote:
> > > I just want to clarify things.  Do you want to write a new application
> > > that renders to off-screen or do you want to redirect the output of an
> > > arbitrary existing appliation to off-screen?  If you want to write a new
> > > application that renders to off-screen, Keith is right.  You want to use
> > > pbuffers.
> >
> > Nope. I don't want to write a new application which rendered to
> > offscreen.
> > All GL application are rendered inside a window (x window), I want to
> > redirect this window, which is associated to GL to offscreen. I need
> > this because I work on 3D Desktop, which use XComposite extension to
> > redirect requested windows to offscreen. so I can manage then in 3D
> > Desktop. GL Applications can't currently be redirect to offscreen by
> > XComposite, because DRI write directly to screen, it didn't use X Server
> > BitBlit operations, which access the framebuffer of the video card.
> 
> You still want pbuffers.  Composite should enable the compmgr to redirect GL 
> contexts to pbuffers without the GL app knowing about it.  This requires more 
> pbuffer support than currently exists in DRI, and also requires extending the 
> Composite code to handle this case.
> 
> You might start by extending Composite to work with the pbuffer support we 
> have in software, which would enable composition for indirect rendering 
> contexts.  It wouldn't be fast, but it'd be a working demo at least.

my investigation tell me that redirecting of Software rendering inside
XServer work with the current Composite, because GLX/GLcore use the
pixmap associated with the Window. when the Window is not redirected the
pixmap point to the framebuffer, when window is redirected the pixmap
point to normal memory. So the current Composite and GLX/GLcore doesn't
need any change.
what I am thinking about get DRI to be redirect is:

* Composite define some interfaces, which DRI extension should fill them
during initialitzation. Composite call these inteface whenevers it try
to redirect/unredirect a window.
* these interfaces, tell DRI that Window is redirected or not. if
redirected, the interface pass for it the Pixmap associated with it.
* DRI then change the FRONT_BUFFER to use PBUFFER. or better using
SharedMemory you could use the pixmap directly from DRI 3D driver. So
the FRONT_BUFFER and the the pixmap of the window share the same memory.
* DRi should notify xserver whenever it write to pixmap of the window,
so that Xserver can generate Damage Event.

this only a quick thinking!



-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to