[Xcb] state of xcb-glx
Ralovich, Kristóf
kristof.ralovich at gmail.com
Tue Apr 8 04:05:48 PDT 2008
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
>
More information about the Xcb
mailing list