Martin Peres on the behalf of the X.Org Foundation has shared the X.Org GSoC 2013 projects on the X.Org mailing list. The projects to be attempted this summer include:
- David Herrmann, the student developer already responsible for a DRM-based terminal emulator, the FBLOG driver, and the VBE DRM driver, among other projects, has a new project. This work will hopefully allow for GPGPU compute support without needing a compositor/display, splitting up mode-setting objects across multiple nodes to allow multi-seat computing on a single display controller, and efficient compositor-stacking. Given Herrmann's experience with the Direct Rendering Manager and his other projects, there's good chance of this project bearing fruit.
- A new student will be attempting to add X-Video support to GLAMOR, the 2D acceleration library that does X.Org 2D support over OpenGL. GLAMOR is optionally supported by Intel and on the AMD Radeon side is now required for 2D acceleration on the AMD Radeon HD 7000 series and future GPUs.
- Another project will involve reverse-engineering the NVIDIA performance counters and exposing them via nv_perfmon in conjunction with the Nouveau graphics driver project.
- Affecting Mesa is a project to implement GL_EXT_direct_state_access support for Mesa. The GL_EXT_direct_state_access OpenGL extension provides entry-points to allow querying and modifying state in an easy and clean way, which can help middle-level layers like APITrace and Cogl. The GL_EXT_direct_state_access extension is documented at OpenGL.org.
- Under the LLVM compiler umbrella, Francisco Jerez has been accepted to work on a Gallium3D TGSI back-end for LLVM. This TGSI back-end was talked about here and Francisco has already written some early code. Given his past involvement with Nouveau and funding before from the X.Org Foundation for working on Nouveau GPGPU support, this is another project that has good chance of succeeding. This work could allow bringing OpenCL to Nouveau and better supporting other Gallium3D drivers without a native LLVM back-end (e.g. the R600 GPU LLVM back-end).