[Xcb] state of xcb-glx

Ralovich, Kristóf kristof.ralovich at gmail.com
Wed Apr 9 08:34:27 PDT 2008


Jeremy,

On Tue, Apr 8, 2008 at 2:24 PM, Jeremy Kolb <jkolb at brandeis.edu> wrote:
> Continuing as a top post for readability...

sorry about that, I will try to improve my style!

>  If you are interested in seeing how the current xcb-glx works then run
>  gears through indirect rendering.  Note that not all GLX requests were
>  xcb-ified.

I have experimented with Mesa built with xcb enabled, but I am not
sure if the correct, xcb-ified calls were used in my tests, so I will
have to put some tracing into mesa for that.

>  As for packing GL render requests into the correct GLX infrastructure...
>  I don't believe that's specified in the proto doc (check out the docs on
>  opengl.org) but it may be specified somewhere else (might even be
>  implementation specific, check out mesa).  Regardless, you are going to
>  need to poke mesa-devel.

My idea for this was mimicking the mesa behaviour for the wire
protocol for GL calls, but I am currently finding out more on this. I
am aware, that a large portion of code on this project would go into
Mesa and some updates to the xml protocol description.

>  I'm a little confused as to what you are proposing.  Is it a
>  xcb_glx_util library of some sort that will replace glX or will you be
>  mapping glX calls to xcb_glx calls?

OK, I was unsettled about this in my first letter and I was not enough
specific on this in my submitted proposal, so I will try to clear the
situation here: my first priority is to xcb-ify as many GL calls as
possible; then some kind of a xcb_glx_util would be useful to wrap
common tasks (eg. fb config choosing) in a more user friendly way. If
the previous two are finished, the next step would be examine and if
possible implement a glX wrapper that is capable to work in parallel
with xcb-glx, just like the xcb-ified libX11.

Kristof

>  Jeremy
>
>
>
>  On Tue, 2008-04-08 at 13:05 +0200, Ralovich, Kristóf wrote:
>  > Bart,
>  >
>  > I have put together my proposal and submitted it last night, see
>  > below. I would like to ask for any comments about it.
>  >
>  > Thanks,
>  > Kristóf
>  >
>  > ---
>  >
>  > Applicant:
>  >
>  > Ralovich, Kristóf
>  >
>  > Contact:
>  >
>  > kristof.ralovich at gmail.com
>  >
>  >
>  >
>  > Project Title:
>  >
>  > Enhancing xcb-glx for wider usability
>  >
>  > Synopsis:
>  >
>  > XCB is advertised to bring small footprint, latency hiding, improved
>  > threading support. OpenGL is a high performance graphics API. Xcb-glx
>  > has the potential to efficiently connect these two worlds. To the best
>  > of my knowledge xcb-glx has not yet achieved general availability and
>  > is only operating with indirect Mesa rendering, so the main issue
>  > seems to be that xcb-glx lacks support of OpenGL calls.
>  >
>  > This proposed project is aiming to investigate and implement support
>  > of direct rendering using Mesa and — if possible as an opensource work
>  > — any other proprietary OpenGL implementation layered over the xcb-glx
>  > API.
>  >
>  > Benefits to Community:
>  >
>  > The successful integration of xcb-glx underneath Mesa (or any other
>  > arbitrary OpenGL implementation) has several key benefits:
>  > - potentially lower latency and faster OpenGL operation through XCB
>  > - one lesser software stack using the legacy Xlib API - a great pace
>  > in transition.
>  >
>  > Deliverables:
>  >
>  > The goal is to produce hardware accelerated direct rendering OpenGL
>  > implementation using xcb-glx (and Xlib being eliminated completely)
>  > that would correctly run all the applications from Mesa's
>  > progs/xdemos.
>  >
>  > The actual development would be incremental: introducing support for
>  > OpenGL calls one-by-one and throughout testing with real world test
>  > cases (eg.: Mesa demos).
>  >
>  > Proceeding of the project will be continously auditable, a blog
>  > (http://kristofralovich.blogspot.com) will be dedicated with weekly
>  > updates of the situation, furthermore the code will be available
>  > through a public repository at all times.
>  >
>  > A technical report paper will be written as a summary of the
>  > achievements and project results.
>  >
>  > Timeline:
>  >
>  > - till May 26: Developing a *deeper understanding* of the problem with
>  > the help of the authors of the exsisting xcb-glx integration. Shaping
>  > an *own development environment* and evaluating the exsisting
>  > codebase, aiming to separate living bugs/issues that are not related
>  > to the project, submitting bug reports (about the X server, etc).
>  > - till July 7: Put down the *architectural foundations* to add support
>  > of OpenGL calls over xcb-glx to Mesa, first direct rendering test
>  > program (only using eg.: glClearColor() and glClear) to run as a
>  > *proof of concept*.
>  > - till Aug 18: *Implement* the largest possible subset of OpenGL calls
>  > over xcb-glx. At this point applications from progs/xdemos shall run.
>  > If feasible, patch MesaGLUT to link against xcb-glx.
>  > - till Sept 1: Overall *cleanup* of the delivered code, aiming
>  > production quality to be committed back to xcb-glx and Mesa. Compiling
>  > a *paper* from the entries of the development blog.
>  >
>  > Related work:
>  >
>  > Previous work was not easy to trace, public mailing list archives and
>  > the actual Mesa and xcb-glx sources held scattered information:
>  > - http://lists.freedesktop.org/archives/xcb/
>  > - http://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev
>  > - http://gitweb.freedesktop.org/?p=xcb/libxcb.git
>  > - http://gitweb.freedesktop.org/?p=xcb/proto.git;a=summary
>  > - http://gitweb.freedesktop.org/?p=mesa/mesa.git;a=summary .
>  > Main author of the exsisting codebase is Jeremy A. Kolb.
>  >
>  > Biographical Information:
>  >
>  > I am Kristóf Ralovich, attending to an MSc program in computer science
>  > at Budapest University of Technology and Economics. I have a passion
>  > to OpenGL and general programming, so far only having experience from
>  > the user side of the API. I have a 5 years background in C++. For
>  > further details about me please see my CV at
>  > http://gordius.iit.bme.hu/~tade/kristof_ralovich_cv_2008_04_08.pdf .
>  >
>  > This project would give me an insight of the low-level details of GLX
>  > and Mesa. My motivation comes from seeking for advancement in
>  > technology I use every day and the possibility to produce value useful
>  > to other people too.
>  >
>  > During the summer I am confident I will be able to commit 32 hours a
>  > week for this project, besides I will have a contract to my university
>  > faculty involving 40 hours of work a month!
>  >
>  > ---
>  >
>  >
>  > On Mon, Apr 7, 2008 at 6:28 PM, Barton C Massey <bart at cs.pdx.edu> wrote:
>  > > In message <5712ce4f0804070731o468511b7j175345f8427d959e at mail.gmail.com> you wrote:
>  > >  > I would like gain some knowledge about the official state of the
>  > >  > xcb-glx library.
>  > >
>  > >  As far as I know, no one has used it for a "real"
>  > >  application.
>  > >
>  > >
>  > >  > I have done some experimentation too based on the previous
>  > >  > examples using different machines and never managed to get any correct
>  > >  > GL rendering, some of the time even the X server crashed.
>  > >
>  > >  Please file bug reports against the server for these.  They
>  > >  represent potential security problems.
>  > >
>  > >
>  > >  > So my question is, if direct rendering using xcb-glx is possible,
>  > >  > would there be a chance to enhance it as a Google Summer of Code
>  > >  > project? Here is a list of my thoughts about the subject:
>  > >  > - debug and fix xcb-glx, to fix server crashes
>  > >  > - implement the glX API over xcb-glx (AFAIK, this is done too in mesa
>  > >  > for the indirect case)
>  > >  > - extend the protocol description for xcb-glx to support as many GL
>  > >  > extensions as possible.
>  > >  > If this is not enough for a GSoC, I am open to work on related issues!
>  > >
>  > >  Definitely a reasonable XCB GLX project could be put
>  > >  together.  You don't want to try to get away from Mesa, I
>  > >  think; that would be really hard.  This sounds like plenty
>  > >  of work to me.
>  > >
>  > >
>  > >  > The GSoC application deadline is tonight, so the time
>  > >  > frame is very short.
>  > >
>  > >  A huge understatement.  See what you can get together.
>  > >
>  > >         Bart
>  > >
>  > _______________________________________________
>  > Xcb mailing list
>  > Xcb at lists.freedesktop.org
>  > http://lists.freedesktop.org/mailman/listinfo/xcb
>
>


More information about the Xcb mailing list