summaryrefslogtreecommitdiff
path: root/Events/XDC2014/XDC2014MonakovLibrary.mdwn
blob: 54a02154d11815b84b2b5d35f6ee598fab9f2fc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Alexander Monakov - A standalone threaded dispatch library for OpenGL

This talk describes implementation of  a library that performs
threaded (multithreaded) dispatch for OpenGL API calls. The goal is to
have a thin layer between the application and the vendor GL library
that saves the GL API call arguments in a buffer and then calls the
vendor implementation in a secondary thread, asynchronously.  This
technique is known as "GL threaded optimization" in NVIDIA drivers and
has also been experimentally implemented in Mesa. The project aims to
implement this technique as a standalone library, independently of
underlying vendor implementation, and with very high efficiency. The
talk describes the overall approach, several specific takes taken to
reduce dispatch overhead, and notes a couple of missing features in
the OpenGL API that would make such approach more powerful. At
present, a work-in-progress implementation (iow: quick-hack-level) can
outperform NVIDIA's counterpart on Unigine Heaven.