Added few more stubs so that control reaches to DestroyDevice().
[mesa.git] / docs / application-issues.rst
1 Application Issues
2 ==================
3
4 This page documents known issues with some OpenGL applications.
5
6 Topogun
7 -------
8
9 `Topogun <http://www.topogun.com/>`__ for Linux (version 2, at least)
10 creates a GLX visual without requesting a depth buffer. This causes bad
11 rendering if the OpenGL driver happens to choose a visual without a
12 depth buffer.
13
14 Mesa 9.1.2 and later (will) support a DRI configuration option to work
15 around this issue. Using the
16 `driconf <https://dri.freedesktop.org/wiki/DriConf>`__ tool, set the
17 "Create all visuals with a depth buffer" option before running Topogun.
18 Then, all GLX visuals will be created with a depth buffer.
19
20 Old OpenGL games
21 ----------------
22
23 Some old OpenGL games (approx. ten years or older) may crash during
24 start-up because of an extension string buffer-overflow problem.
25
26 The problem is a modern OpenGL driver will return a very long string for
27 the ``glGetString(GL_EXTENSIONS)`` query and if the application naively
28 copies the string into a fixed-size buffer it can overflow the buffer
29 and crash the application.
30
31 The work-around is to set the ``MESA_EXTENSION_MAX_YEAR`` environment
32 variable to the approximate release year of the game. This will cause
33 the ``glGetString(GL_EXTENSIONS)`` query to only report extensions older
34 than the given year.
35
36 For example, if the game was released in 2001, do
37
38 .. code-block:: console
39
40 export MESA_EXTENSION_MAX_YEAR=2001
41
42 before running the game.
43
44 Viewperf
45 --------
46
47 See the :doc:`Viewperf issues <viewperf>` page for a detailed list of
48 Viewperf issues.