If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Why must you spam that link whenever something to do with the kernel comes up. It's pointless the few people who actually want to read your "theories" know where to go so you don't need to keep pointing it out.
oh! let him write what ever he wants! we live in democracy (somehow), so everyone can say what he thinks!
- either applications need to stop using direct rendering and switch to using AIGLX instead (slight performance hit) or DRI needs to be extended to allow the use of DRI to continue but have the application windows all move around together (DRI2, RDR)
This is a very interesting point that hasn't been covered in much detail in Phoronix. What is the state of AIGLX? I remember Redhat/Fedora went the AIGLX way when it started years ago, and there was a bit of a dichotomy for a while between AIGLX and XGL(?), but I haven't seen any more news in Phoronix recently. What do you mean by "have the application windows all move around together"?
This is a very interesting point that hasn't been covered in much detail in Phoronix. What is the state of AIGLX? I remember Redhat/Fedora went the AIGLX way when it started years ago, and there was a bit of a dichotomy for a while between AIGLX and XGL(?), but I haven't seen any more news in Phoronix recently. What do you mean by "have the application windows all move around together"?
What I was *trying* to say was that Redirected Direct Rendering (which uses DRI2 and a memory manager) is the next step in letting 2D and 3D windows be composited together.
I have no idea what "all move around together" means, other than that I need to stop posting before the coffee kicks in.
What I was *trying* to say was that Redirected Direct Rendering (which uses DRI2 and a memory manager) is the next step in letting 2D and 3D windows be composited together.
I have no idea what "all move around together" means, other than that I need to stop posting before the coffee kicks in.
Just to clean up a little bit.
The first thing to realize is that what is fundamental to a complete compiz (or any other compositing manager) is full COMPOSITE extension support for *all* parts of the driver. That is why the application is called compiz, and they are called compositing managers.
When COMPOSITE is enabled, applications are expected to render to an off-screen window surface. The compositing manager can then rendezvous with these offscreen surfaces and combine them in any way that they want.
The *all* parts of the driver includes 2D, 3D an video. 2D is easy, for example, XAA falls back to SW. Xv has some information in the callbacks for the buffer to render to, but then comes 3D. 3D currently renders to where it believes the window _should be_. This means it renders to the pixels on the screen, then compiz renders, then the 3D app renders. When you apply the transforms like the cube and wobbly windows, the app doesn't get new window information until after the transform is complete. The transform itself quite happily renders a blank window (assuming that the contents come from the app).
AIGLX is technically not required for compiz, but for DRI based drivers, it is the simplest path for getting the window contents into an OpenGL texture.
Now with DRI in it's current form, getting this buffer (or redirect buffer as some call it) is very difficult (but not impossible) to achieve.
DRI2 includes sufficient infrastructure to make this possible, an advance memory manager (GEM, TTM, etc) is also needed to allow buffer information to be shared throughout the driver.
(I believe that "Following the Window around" means that GL application is included in the wobbly windows or cube rotation. This is the user-experience - beyond the pixel fighting that occurs between GL and compiz - sometimes called flashing. The redirected direct rendering does push the rendere content into the window. Due to the confusion brought in by redirected direct rendering vs hw accelerated indirect rendering I tend to use the term OpenGL support for COMPOSITE when talking about this.
The first thing to realize is that what is fundamental to a complete compiz (or any other compositing manager) is full COMPOSITE extension support for *all* parts of the driver. That is why the application is called compiz, and they are called compositing managers.
When COMPOSITE is enabled, applications are expected to render to an off-screen window surface. The compositing manager can then rendezvous with these offscreen surfaces and combine them in any way that they want.
The *all* parts of the driver includes 2D, 3D an video. 2D is easy, for example, XAA falls back to SW. Xv has some information in the callbacks for the buffer to render to, but then comes 3D. 3D currently renders to where it believes the window _should be_. This means it renders to the pixels on the screen, then compiz renders, then the 3D app renders. When you apply the transforms like the cube and wobbly windows, the app doesn't get new window information until after the transform is complete. The transform itself quite happily renders a blank window (assuming that the contents come from the app).
AIGLX is technically not required for compiz, but for DRI based drivers, it is the simplest path for getting the window contents into an OpenGL texture.
Now with DRI in it's current form, getting this buffer (or redirect buffer as some call it) is very difficult (but not impossible) to achieve.
DRI2 includes sufficient infrastructure to make this possible, an advance memory manager (GEM, TTM, etc) is also needed to allow buffer information to be shared throughout the driver.
(I believe that "Following the Window around" means that GL application is included in the wobbly windows or cube rotation. This is the user-experience - beyond the pixel fighting that occurs between GL and compiz - sometimes called flashing. The redirected direct rendering does push the rendere content into the window. Due to the confusion brought in by redirected direct rendering vs hw accelerated indirect rendering I tend to use the term OpenGL support for COMPOSITE when talking about this.
Regards,
Matthew
You forgot that the GLX_EXT_texture_from_pixmap extension is also required
another feature that Phoronix could delve into is "resolution independence". Both OS X and Windows have been improving this feature in recent releases. What is the current state of resolution independence in X.org applications?
Comment