summaryrefslogtreecommitdiff
path: root/Events/XDC2014/XDC2014MonakovLibrary.mdwn
blob: 4ac9696c95112b62906733306cc3a025283581a5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 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.

[[Slides|tangl_mangl.pdf]]
[[Video|http://www.x.org/videos/XDC2014/MonakovLibrary.webm]]

<iframe width="560" height="315" src="//www.youtube.com/embed/gL3hRo_hhOs?list=PLe6I3NKr-I4KG8LUga3KamQlCFb6Cc843" frameborder="0" allowfullscreen></iframe>