GSoC Reports

Elie Tournier - "Soft" double precision floating point support

Slides, Video


In this presentation, I'll introduce the Google Summer of Code. I’m working on the done implementation of a double precision floating point library in GLSL 1.30 for old GPUs.

Aims of the project

GPUs natively support single precision, but only OpenGL 4.0 class GPUs have hardware support for double precision. The goal of this project is to implement a library of double precision operations in pure GLSL 1.30 for this GPU using bit twiddling operations and integer math. There are many library of software double precision floating point for devices that lack floating-point hardware. Most of my work is to translate functions of this library to pure GLSL 1.30. A stretch goal would be to use this library of functions to implement GL ARB gpu shader fp64 on all GPUs for which Mesa supports GLSL 1.30.

Integration of the project

Finally, I will speak about my felling about the integration of a new contributor to the project.


[1] IEEE Standard for Floating-Point Arithmetic, IEEE754-2008. [2] Peut-on vraiment calculer avec un ordinateur ?, F. Langrognet, Series of articles for Linux Magazine. (For French readers) [3] Berkeley SoftFloat, John R. Hauser, metic/SoftFloat.html.

Alex Tru - Plug the core-apitrace support for performance counters to qapitrace

Slides, Video

Apitrace is an open source program that allows tracing, replaying, inspecting and profiling OpenGL/Direct3D calls. Last summer during GSoC 2015 there was developed an abstract interface that allows to use various profiling backends in Apitrace, also several backends (that use OpenGL extensions) were implemented then. This year I was developing new OpenGL profiling view for QApitrace to accompany profiling backends and custom metrics support for Apitrace added last year. This could potentially allow to find bottlenecks and to tune the code for performance within the framework of Apitrace and using new set of performance counters. I would like to describe the work done and showcase the profiling view.