docs: convert articles to reructuredtext
This uses the previously added scripts to convert the documentation to reStructuredText, which is both easier to read offline, and can be used to generate modern HTML for online documentation. No modification to the generated results have been done. Acked-by: Eric Engestrom <eric@engestrom.ch> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4630>
This commit is contained in:
parent
1df5dbf516
commit
4d066836e3
|
@ -1,85 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Application Issues</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Application Issues</h1>
|
||||
|
||||
<p>
|
||||
This page documents known issues with some OpenGL applications.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Topogun</h2>
|
||||
|
||||
<p>
|
||||
<a href="http://www.topogun.com/">Topogun</a> for Linux (version 2, at least)
|
||||
creates a GLX visual without requesting a depth buffer.
|
||||
This causes bad rendering if the OpenGL driver happens to choose a visual
|
||||
without a depth buffer.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Mesa 9.1.2 and later (will) support a DRI configuration option to work around
|
||||
this issue.
|
||||
Using the <a href="https://dri.freedesktop.org/wiki/DriConf">driconf</a> tool,
|
||||
set the "Create all visuals with a depth buffer" option before running Topogun.
|
||||
Then, all GLX visuals will be created with a depth buffer.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Old OpenGL games</h2>
|
||||
|
||||
<p>
|
||||
Some old OpenGL games (approx. ten years or older) may crash during
|
||||
start-up because of an extension string buffer-overflow problem.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The problem is a modern OpenGL driver will return a very long string
|
||||
for the <code>glGetString(GL_EXTENSIONS)</code> query and if the application
|
||||
naively copies the string into a fixed-size buffer it can overflow the
|
||||
buffer and crash the application.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The work-around is to set the <code>MESA_EXTENSION_MAX_YEAR</code>
|
||||
environment variable to the approximate release year of the game.
|
||||
This will cause the <code>glGetString(GL_EXTENSIONS)</code> query to only report
|
||||
extensions older than the given year.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, if the game was released in 2001, do
|
||||
</p>
|
||||
<pre>
|
||||
export MESA_EXTENSION_MAX_YEAR=2001
|
||||
</pre>
|
||||
<p>
|
||||
before running the game.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>Viewperf</h2>
|
||||
|
||||
<p>
|
||||
See the <a href="viewperf.html">Viewperf issues</a> page for a detailed list
|
||||
of Viewperf issues.
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,48 @@
|
|||
Application Issues
|
||||
==================
|
||||
|
||||
This page documents known issues with some OpenGL applications.
|
||||
|
||||
Topogun
|
||||
-------
|
||||
|
||||
`Topogun <http://www.topogun.com/>`__ for Linux (version 2, at least)
|
||||
creates a GLX visual without requesting a depth buffer. This causes bad
|
||||
rendering if the OpenGL driver happens to choose a visual without a
|
||||
depth buffer.
|
||||
|
||||
Mesa 9.1.2 and later (will) support a DRI configuration option to work
|
||||
around this issue. Using the
|
||||
`driconf <https://dri.freedesktop.org/wiki/DriConf>`__ tool, set the
|
||||
"Create all visuals with a depth buffer" option before running Topogun.
|
||||
Then, all GLX visuals will be created with a depth buffer.
|
||||
|
||||
Old OpenGL games
|
||||
----------------
|
||||
|
||||
Some old OpenGL games (approx. ten years or older) may crash during
|
||||
start-up because of an extension string buffer-overflow problem.
|
||||
|
||||
The problem is a modern OpenGL driver will return a very long string for
|
||||
the ``glGetString(GL_EXTENSIONS)`` query and if the application naively
|
||||
copies the string into a fixed-size buffer it can overflow the buffer
|
||||
and crash the application.
|
||||
|
||||
The work-around is to set the ``MESA_EXTENSION_MAX_YEAR`` environment
|
||||
variable to the approximate release year of the game. This will cause
|
||||
the ``glGetString(GL_EXTENSIONS)`` query to only report extensions older
|
||||
than the given year.
|
||||
|
||||
For example, if the game was released in 2001, do
|
||||
|
||||
::
|
||||
|
||||
export MESA_EXTENSION_MAX_YEAR=2001
|
||||
|
||||
before running the game.
|
||||
|
||||
Viewperf
|
||||
--------
|
||||
|
||||
See the `Viewperf issues <viewperf.html>`__ page for a detailed list of
|
||||
Viewperf issues.
|
|
@ -1,59 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Report a Bug</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Report a Bug</h1>
|
||||
|
||||
<p>
|
||||
The Mesa bug database is hosted on
|
||||
<a href="https://freedesktop.org">freedesktop.org</a>.
|
||||
The old bug database on SourceForge is no longer used.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To file a Mesa bug, go to
|
||||
<a href="https://gitlab.freedesktop.org/mesa/mesa/-/issues">
|
||||
GitLab on freedesktop.org</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please follow these bug reporting guidelines:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Check if a new version of Mesa is available which might have fixed
|
||||
the problem.
|
||||
<li>Check if your bug is already reported in the database.
|
||||
<li>Monitor your bug report for requests for additional information, etc.
|
||||
<li>Attach the output of running glxinfo or wglinfo.
|
||||
This will tell us the Mesa version, which device driver you're using, etc.
|
||||
<li>If you're reporting a crash, try to use your debugger (gdb) to get a stack
|
||||
trace. Also, recompile Mesa in debug mode to get more detailed information.
|
||||
<li>Describe in detail how to reproduce the bug, especially with games
|
||||
and applications that the Mesa developers might not be familiar with.
|
||||
<li>Provide an <a href="https://github.com/apitrace/apitrace">apitrace</a>
|
||||
or simple GLUT-based test program if possible.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The easier a bug is to reproduce, the sooner it will be fixed.
|
||||
Please do everything you can to facilitate quickly fixing bugs.
|
||||
If your bug report is vague or your test program doesn't compile
|
||||
easily, the problem may not be fixed very quickly.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,30 @@
|
|||
Report a Bug
|
||||
============
|
||||
|
||||
The Mesa bug database is hosted on
|
||||
`freedesktop.org <https://freedesktop.org>`__. The old bug database on
|
||||
SourceForge is no longer used.
|
||||
|
||||
To file a Mesa bug, go to `GitLab on
|
||||
freedesktop.org <https://gitlab.freedesktop.org/mesa/mesa/-/issues>`__
|
||||
|
||||
Please follow these bug reporting guidelines:
|
||||
|
||||
- Check if a new version of Mesa is available which might have fixed
|
||||
the problem.
|
||||
- Check if your bug is already reported in the database.
|
||||
- Monitor your bug report for requests for additional information, etc.
|
||||
- Attach the output of running glxinfo or wglinfo. This will tell us
|
||||
the Mesa version, which device driver you're using, etc.
|
||||
- If you're reporting a crash, try to use your debugger (gdb) to get a
|
||||
stack trace. Also, recompile Mesa in debug mode to get more detailed
|
||||
information.
|
||||
- Describe in detail how to reproduce the bug, especially with games
|
||||
and applications that the Mesa developers might not be familiar with.
|
||||
- Provide an `apitrace <https://github.com/apitrace/apitrace>`__ or
|
||||
simple GLUT-based test program if possible.
|
||||
|
||||
The easier a bug is to reproduce, the sooner it will be fixed. Please do
|
||||
everything you can to facilitate quickly fixing bugs. If your bug report
|
||||
is vague or your test program doesn't compile easily, the problem may
|
||||
not be fixed very quickly.
|
|
@ -1,143 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Coding Style</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Coding Style</h1>
|
||||
|
||||
<p>
|
||||
Mesa is over 20 years old and the coding style has evolved over time.
|
||||
Some old parts use a style that's a bit out of date.
|
||||
|
||||
Different sections of mesa can use different coding style as set in the local
|
||||
EditorConfig (.editorconfig) and/or Emacs (.dir-locals.el) file.
|
||||
|
||||
Alternatively the following is applicable.
|
||||
|
||||
If the guidelines below don't cover something, try following the format of
|
||||
existing, neighboring code.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Basic formatting guidelines
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>3-space indentation, no tabs.
|
||||
<li>Limit lines to 78 or fewer characters. The idea is to prevent line
|
||||
wrapping in 80-column editors and terminals. There are exceptions, such
|
||||
as if you're defining a large, static table of information.
|
||||
<li>Opening braces go on the same line as the if/for/while statement.
|
||||
For example:
|
||||
<pre>
|
||||
if (condition) {
|
||||
foo;
|
||||
} else {
|
||||
bar;
|
||||
}
|
||||
</pre>
|
||||
|
||||
<li>Put a space before/after operators. For example, <code>a = b + c;</code>
|
||||
and not <code>a=b+c;</code>
|
||||
|
||||
<li>This GNU indent command generally does the right thing for formatting:
|
||||
<pre>
|
||||
indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
|
||||
</pre>
|
||||
|
||||
<li>
|
||||
<p>Use comments wherever you think it would be helpful for other developers.
|
||||
Several specific cases and style examples follow. Note that we roughly
|
||||
follow <a href="http://www.doxygen.nl">Doxygen</a> conventions.
|
||||
</p>
|
||||
Single-line comments:
|
||||
<pre>
|
||||
/* null-out pointer to prevent dangling reference below */
|
||||
bufferObj = NULL;
|
||||
</pre>
|
||||
Or,
|
||||
<pre>
|
||||
bufferObj = NULL; /* prevent dangling reference below */
|
||||
</pre>
|
||||
Multi-line comment:
|
||||
<pre>
|
||||
/* If this is a new buffer object id, or one which was generated but
|
||||
* never used before, allocate a buffer object now.
|
||||
*/
|
||||
</pre>
|
||||
We try to quote the OpenGL specification where prudent:
|
||||
<pre>
|
||||
/* Page 38 of the PDF of the OpenGL ES 3.0 spec says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated for any of the following
|
||||
* conditions:
|
||||
*
|
||||
* * <length> is zero."
|
||||
*
|
||||
* Additionally, page 94 of the PDF of the OpenGL 4.5 core spec
|
||||
* (30.10.2014) also says this, so it's no longer allowed for desktop GL,
|
||||
* either.
|
||||
*/
|
||||
</pre>
|
||||
Function comment example:
|
||||
<pre>
|
||||
/**
|
||||
* Create and initialize a new buffer object. Called via the
|
||||
* ctx->Driver.CreateObject() driver callback function.
|
||||
* \param name integer name of the object
|
||||
* \param type one of GL_FOO, GL_BAR, etc.
|
||||
* \return pointer to new object or NULL if error
|
||||
*/
|
||||
struct gl_object *
|
||||
_mesa_create_object(GLuint name, GLenum type)
|
||||
{
|
||||
/* function body */
|
||||
}
|
||||
</pre>
|
||||
|
||||
<li>Put the function return type and qualifiers on one line and the function
|
||||
name and parameters on the next, as seen above. This makes it easy to use
|
||||
<code>grep ^function_name dir/*</code> to find function definitions. Also,
|
||||
the opening brace goes on the next line by itself (see above.)
|
||||
|
||||
<li>Function names follow various conventions depending on the type of function:
|
||||
<pre>
|
||||
glFooBar() - a public GL entry point (in glapi_dispatch.c)
|
||||
_mesa_FooBar() - the internal immediate mode function
|
||||
save_FooBar() - retained mode (display list) function in dlist.c
|
||||
foo_bar() - a static (private) function
|
||||
_mesa_foo_bar() - an internal non-static Mesa function
|
||||
</pre>
|
||||
|
||||
<li>Constants, macros and enum names are <code>ALL_UPPERCASE</code>, with _
|
||||
between words.
|
||||
<li>Mesa usually uses camel case for local variables (Ex:
|
||||
<code>localVarname</code>) while gallium typically uses underscores (Ex:
|
||||
<code>local_var_name</code>).
|
||||
<li>Global variables are almost never used because Mesa should be thread-safe.
|
||||
|
||||
<li>Booleans. Places that are not directly visible to the GL API
|
||||
should prefer the use of <code>bool</code>, <code>true</code>, and
|
||||
<code>false</code> over <code>GLboolean</code>, <code>GL_TRUE</code>, and
|
||||
<code>GL_FALSE</code>. In C code, this may mean that
|
||||
<code>#include <stdbool.h></code> needs to be added. The
|
||||
<code>try_emit_*</code> methods in <code>src/mesa/program/ir_to_mesa.cpp</code>
|
||||
and <code>src/mesa/state_tracker/st_glsl_to_tgsi.cpp</code> can serve as
|
||||
examples.
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,124 @@
|
|||
Coding Style
|
||||
============
|
||||
|
||||
Mesa is over 20 years old and the coding style has evolved over time.
|
||||
Some old parts use a style that's a bit out of date. Different sections
|
||||
of mesa can use different coding style as set in the local EditorConfig
|
||||
(.editorconfig) and/or Emacs (.dir-locals.el) file. Alternatively the
|
||||
following is applicable. If the guidelines below don't cover something,
|
||||
try following the format of existing, neighboring code.
|
||||
|
||||
Basic formatting guidelines
|
||||
|
||||
- 3-space indentation, no tabs.
|
||||
- Limit lines to 78 or fewer characters. The idea is to prevent line
|
||||
wrapping in 80-column editors and terminals. There are exceptions,
|
||||
such as if you're defining a large, static table of information.
|
||||
- Opening braces go on the same line as the if/for/while statement. For
|
||||
example:
|
||||
|
||||
::
|
||||
|
||||
if (condition) {
|
||||
foo;
|
||||
} else {
|
||||
bar;
|
||||
}
|
||||
|
||||
- Put a space before/after operators. For example, ``a = b + c;`` and
|
||||
not ``a=b+c;``
|
||||
- This GNU indent command generally does the right thing for
|
||||
formatting:
|
||||
|
||||
::
|
||||
|
||||
indent -br -i3 -npcs --no-tabs infile.c -o outfile.c
|
||||
|
||||
- Use comments wherever you think it would be helpful for other
|
||||
developers. Several specific cases and style examples follow. Note
|
||||
that we roughly follow `Doxygen <http://www.doxygen.nl>`__
|
||||
conventions.
|
||||
|
||||
Single-line comments:
|
||||
|
||||
::
|
||||
|
||||
/* null-out pointer to prevent dangling reference below */
|
||||
bufferObj = NULL;
|
||||
|
||||
Or,
|
||||
|
||||
::
|
||||
|
||||
bufferObj = NULL; /* prevent dangling reference below */
|
||||
|
||||
Multi-line comment:
|
||||
|
||||
::
|
||||
|
||||
/* If this is a new buffer object id, or one which was generated but
|
||||
* never used before, allocate a buffer object now.
|
||||
*/
|
||||
|
||||
We try to quote the OpenGL specification where prudent:
|
||||
|
||||
::
|
||||
|
||||
/* Page 38 of the PDF of the OpenGL ES 3.0 spec says:
|
||||
*
|
||||
* "An INVALID_OPERATION error is generated for any of the following
|
||||
* conditions:
|
||||
*
|
||||
* * <length> is zero."
|
||||
*
|
||||
* Additionally, page 94 of the PDF of the OpenGL 4.5 core spec
|
||||
* (30.10.2014) also says this, so it's no longer allowed for desktop GL,
|
||||
* either.
|
||||
*/
|
||||
|
||||
Function comment example:
|
||||
|
||||
::
|
||||
|
||||
/**
|
||||
* Create and initialize a new buffer object. Called via the
|
||||
* ctx->Driver.CreateObject() driver callback function.
|
||||
* \param name integer name of the object
|
||||
* \param type one of GL_FOO, GL_BAR, etc.
|
||||
* \return pointer to new object or NULL if error
|
||||
*/
|
||||
struct gl_object *
|
||||
_mesa_create_object(GLuint name, GLenum type)
|
||||
{
|
||||
/* function body */
|
||||
}
|
||||
|
||||
- Put the function return type and qualifiers on one line and the
|
||||
function name and parameters on the next, as seen above. This makes
|
||||
it easy to use ``grep ^function_name dir/*`` to find function
|
||||
definitions. Also, the opening brace goes on the next line by itself
|
||||
(see above.)
|
||||
- Function names follow various conventions depending on the type of
|
||||
function:
|
||||
|
||||
::
|
||||
|
||||
glFooBar() - a public GL entry point (in glapi_dispatch.c)
|
||||
_mesa_FooBar() - the internal immediate mode function
|
||||
save_FooBar() - retained mode (display list) function in dlist.c
|
||||
foo_bar() - a static (private) function
|
||||
_mesa_foo_bar() - an internal non-static Mesa function
|
||||
|
||||
- Constants, macros and enum names are ``ALL_UPPERCASE``, with \_
|
||||
between words.
|
||||
- Mesa usually uses camel case for local variables (Ex:
|
||||
``localVarname``) while gallium typically uses underscores (Ex:
|
||||
``local_var_name``).
|
||||
- Global variables are almost never used because Mesa should be
|
||||
thread-safe.
|
||||
- Booleans. Places that are not directly visible to the GL API should
|
||||
prefer the use of ``bool``, ``true``, and ``false`` over
|
||||
``GLboolean``, ``GL_TRUE``, and ``GL_FALSE``. In C code, this may
|
||||
mean that ``#include <stdbool.h>`` needs to be added. The
|
||||
``try_emit_*`` methods in ``src/mesa/program/ir_to_mesa.cpp`` and
|
||||
``src/mesa/state_tracker/st_glsl_to_tgsi.cpp`` can serve as examples.
|
|
@ -1,703 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Conformance Testing</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Conformance Testing</h1>
|
||||
|
||||
<p>
|
||||
The SGI OpenGL conformance tests verify correct operation of OpenGL
|
||||
implementations. I, Brian Paul, have been given a copy of the tests
|
||||
for testing Mesa. The tests are not publicly available.
|
||||
</p>
|
||||
<p>
|
||||
This file has the latest results of testing Mesa with the OpenGL 1.2
|
||||
conformance tests. Testing with the preliminary OpenGL 1.3 tests has
|
||||
also been done. Mesa passes all the 1.3 tests.
|
||||
</p>
|
||||
<p>
|
||||
The tests were run using the software X11 device driver on 24-bpp
|
||||
and 16-bpp displays.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 4.0 and later pass all conformance tests at all path levels.
|
||||
Note that this says nothing about the conformance of hardware drivers
|
||||
based upon Mesa.
|
||||
</p>
|
||||
|
||||
|
||||
<pre>
|
||||
|
||||
COVERAGE TESTS
|
||||
--------------
|
||||
|
||||
Test that all API functions accept the legal parameters and reject
|
||||
illegal parameters. The result of each test is either pass or fail.
|
||||
|
||||
% covgl
|
||||
OpenGL Coverage Test.
|
||||
Version 1.2
|
||||
|
||||
covgl passed.
|
||||
|
||||
covgl passed at 1.1 level.
|
||||
|
||||
covgl passed at 1.2 level.
|
||||
|
||||
covgl passed for ARB_multitexture.
|
||||
|
||||
|
||||
% covglu
|
||||
OpenGL GLU Coverage Test.
|
||||
Version 1.3
|
||||
|
||||
covglu passed.
|
||||
|
||||
covglu passed at 1.1 level.
|
||||
|
||||
|
||||
% covglx
|
||||
OpenGL X Coverage Test.
|
||||
Version 1.1.1
|
||||
|
||||
covglx passed.
|
||||
|
||||
|
||||
% primtest -v
|
||||
Open GL Primitives Test.
|
||||
Version 1.2
|
||||
|
||||
[lots of output deleted]
|
||||
|
||||
292159 Combinations.
|
||||
primtest passed.
|
||||
|
||||
|
||||
|
||||
|
||||
GL CONFORMANCE TEST
|
||||
===================
|
||||
|
||||
Render test images, read them back, then test for expected results.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path inactive.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2 -p 1
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path level = 1.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2 -p 2
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path level = 2.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2 -p 3
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path level = 3.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2 -p 4
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path level = 4.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
|
||||
|
||||
GLX CONFORMANCE TEST
|
||||
====================
|
||||
|
||||
% conformx -v 2
|
||||
|
||||
OpenGL X Conformance Test
|
||||
Version 1.1.1
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path inactive.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 34. Direct Rendering.
|
||||
Double Buffered.
|
||||
RGBA (8, 8, 8, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.00404, 0.00404, 0.00404, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
glReadPixels() test passed.
|
||||
Font test passed.
|
||||
|
||||
Conformx passed.
|
||||
|
||||
|
||||
</pre>
|
||||
|
||||
NOTE: conformx passes for all machine path levels (-p option).
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,675 @@
|
|||
Conformance Testing
|
||||
===================
|
||||
|
||||
The SGI OpenGL conformance tests verify correct operation of OpenGL
|
||||
implementations. I, Brian Paul, have been given a copy of the tests for
|
||||
testing Mesa. The tests are not publicly available.
|
||||
|
||||
This file has the latest results of testing Mesa with the OpenGL 1.2
|
||||
conformance tests. Testing with the preliminary OpenGL 1.3 tests has
|
||||
also been done. Mesa passes all the 1.3 tests.
|
||||
|
||||
The tests were run using the software X11 device driver on 24-bpp and
|
||||
16-bpp displays.
|
||||
|
||||
Mesa 4.0 and later pass all conformance tests at all path levels. Note
|
||||
that this says nothing about the conformance of hardware drivers based
|
||||
upon Mesa.
|
||||
|
||||
::
|
||||
|
||||
COVERAGE TESTS
|
||||
--------------
|
||||
|
||||
Test that all API functions accept the legal parameters and reject
|
||||
illegal parameters. The result of each test is either pass or fail.
|
||||
|
||||
% covgl
|
||||
OpenGL Coverage Test.
|
||||
Version 1.2
|
||||
|
||||
covgl passed.
|
||||
|
||||
covgl passed at 1.1 level.
|
||||
|
||||
covgl passed at 1.2 level.
|
||||
|
||||
covgl passed for ARB_multitexture.
|
||||
|
||||
|
||||
% covglu
|
||||
OpenGL GLU Coverage Test.
|
||||
Version 1.3
|
||||
|
||||
covglu passed.
|
||||
|
||||
covglu passed at 1.1 level.
|
||||
|
||||
|
||||
% covglx
|
||||
OpenGL X Coverage Test.
|
||||
Version 1.1.1
|
||||
|
||||
covglx passed.
|
||||
|
||||
|
||||
% primtest -v
|
||||
Open GL Primitives Test.
|
||||
Version 1.2
|
||||
|
||||
[lots of output deleted]
|
||||
|
||||
292159 Combinations.
|
||||
primtest passed.
|
||||
|
||||
|
||||
|
||||
|
||||
GL CONFORMANCE TEST
|
||||
===================
|
||||
|
||||
Render test images, read them back, then test for expected results.
|
||||
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path inactive.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2 -p 1
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path level = 1.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2 -p 2
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path level = 2.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2 -p 3
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path level = 3.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
% conform -v 2 -p 4
|
||||
|
||||
OpenGL Conformance Test
|
||||
Version 1.2
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path level = 4.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 35. Indirect Rendering.
|
||||
Double Buffered.
|
||||
RGBA (5, 6, 5, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.0324, 0.016, 0.0324, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
Must Pass test passed.
|
||||
Divide By Zero test passed.
|
||||
Viewport Clamp test passed.
|
||||
Matrix Stack test passed.
|
||||
Matrix Stack Mixing test passed.
|
||||
Vertex Order test passed.
|
||||
Transformations test passed.
|
||||
Transformation Normal test passed.
|
||||
Viewport Transformation test passed.
|
||||
Buffer Clear test passed.
|
||||
Buffer Corners test passed.
|
||||
Buffer Color test passed.
|
||||
Color Ramp test passed.
|
||||
Mask test passed.
|
||||
Buffer Invariance test passed.
|
||||
Accumulation Buffer test passed.
|
||||
Select test passed.
|
||||
Feedback test passed.
|
||||
Scissor test passed.
|
||||
Alpha Plane Function test passed.
|
||||
Stencil Plane Clear test passed.
|
||||
Stencil Plane Corners test passed.
|
||||
Stencil Plane Operation test passed.
|
||||
Stencil Plane Function test passed.
|
||||
Depth Buffer Clear test passed.
|
||||
Depth Buffer Function test passed.
|
||||
Blend test passed.
|
||||
Dither test passed.
|
||||
LogicOp Function test does not exist for an RGB visual.
|
||||
DrawPixels test passed.
|
||||
CopyPixels test passed.
|
||||
Bitmap Rasterization test passed.
|
||||
Point Rasterization test passed.
|
||||
Anti-aliased Point test passed.
|
||||
Line Rasterization test passed.
|
||||
Line Stipple test passed.
|
||||
Anti-aliased Line test passed.
|
||||
Horizontal and Vertical Line test passed.
|
||||
Triangle Rasterization test passed.
|
||||
Triangle Tile test passed.
|
||||
Triangle Stipple test passed.
|
||||
Anti-aliased Triangles test passed.
|
||||
Quad Rasterization test passed.
|
||||
Polygon Face test passed.
|
||||
Polygon Cull test passed.
|
||||
Polygon Stipple test passed.
|
||||
Polygon Edge test passed.
|
||||
Ambient Material test passed.
|
||||
Ambient Scene test passed.
|
||||
Attenuation Position test passed.
|
||||
Diffuse Light test passed.
|
||||
Diffuse Material test passed.
|
||||
Diffuse Material Normal test passed.
|
||||
Diffuse Material Positioning test passed.
|
||||
Emissive Material test passed.
|
||||
Specular Exponent test passed.
|
||||
Specular Exponent Normal test passed.
|
||||
Specular Local Eye Half Angle test passed.
|
||||
Specular Light test passed.
|
||||
Specular Material test passed.
|
||||
Specular Normal test passed.
|
||||
Spot Positioning test passed.
|
||||
Spot Exponent and Positioning test passed.
|
||||
Spot Exponent and Direction test passed.
|
||||
Fog Exponential test passed.
|
||||
Fog Linear test passed.
|
||||
Texture Decal test passed.
|
||||
Texture Border test passed.
|
||||
Mipmaps Selection test passed.
|
||||
Mipmaps Interpolation test passed.
|
||||
Display Lists test passed.
|
||||
Evaluator test passed.
|
||||
Evaluator Color test passed.
|
||||
Texture Edge Clamp test passed.
|
||||
Packed Pixels test passed.
|
||||
Texture LOD test passed.
|
||||
Rescale Normal test passed.
|
||||
Color Table test passed.
|
||||
Convolution test passed.
|
||||
Convolution Border test passed.
|
||||
Histogram test passed.
|
||||
MinMax test passed.
|
||||
MultiTexture test passed.
|
||||
|
||||
Conform passed.
|
||||
|
||||
|
||||
|
||||
GLX CONFORMANCE TEST
|
||||
====================
|
||||
|
||||
% conformx -v 2
|
||||
|
||||
OpenGL X Conformance Test
|
||||
Version 1.1.1
|
||||
|
||||
Setup Report.
|
||||
Verbose level = 2.
|
||||
Random number seed = 1.
|
||||
Path inactive.
|
||||
|
||||
Visual Report.
|
||||
Display ID = 34. Direct Rendering.
|
||||
Double Buffered.
|
||||
RGBA (8, 8, 8, 0).
|
||||
Stencil (8).
|
||||
Depth (16).
|
||||
Accumulation (16, 16, 16, 16).
|
||||
|
||||
Epsilon Report.
|
||||
zero error epsilon = 0.000122.
|
||||
RGBA error epsilon = 0.00404, 0.00404, 0.00404, 0.000122.
|
||||
Depth buffer error epsilon = 0.000137.
|
||||
Stencil plane error epsilon = 0.00404.
|
||||
Accumulation error epsilon = 0.000137, 0.000137, 0.000137, 0.000137.
|
||||
|
||||
Default State test passed.
|
||||
glReadPixels() test passed.
|
||||
Font test passed.
|
||||
|
||||
Conformx passed.
|
||||
|
||||
NOTE: conformx passes for all machine path levels (-p option).
|
|
@ -1,108 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Contents</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
|
||||
<!--Override a few values from the style sheet: -->
|
||||
<style type="text/css">
|
||||
<!--
|
||||
body {
|
||||
background-color: #cccccc;
|
||||
color: black;
|
||||
}
|
||||
h2 {
|
||||
font-size: inherit;
|
||||
font-weight: bold;
|
||||
}
|
||||
a:link {
|
||||
color: #000;
|
||||
}
|
||||
a:visited {
|
||||
color: #000;
|
||||
}
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h2>Documentation</h2>
|
||||
<ul>
|
||||
<li><a href="intro.html" target="_parent">Introduction</a>
|
||||
<li><a href="index.html" target="_parent">News</a>
|
||||
<li><a href="developers.html" target="_parent">Developers</a>
|
||||
<li><a href="systems.html" target="_parent">Platforms and Drivers</a>
|
||||
<li><a href="license.html" target="_parent">License and Copyright</a>
|
||||
<li><a href="faq.html" target="_parent">Frequently Asked Questions</a>
|
||||
<li><a href="relnotes.html" target="_parent">Release Notes</a>
|
||||
<li><a href="thanks.html" target="_parent">Acknowledgements</a>
|
||||
<li><a href="conform.html" target="_parent">Conformance Testing</a>
|
||||
</ul>
|
||||
|
||||
<h2>Download and Install</h2>
|
||||
<ul>
|
||||
<li><a href="download.html" target="_parent">Downloading and Unpacking</a>
|
||||
<li><a href="install.html" target="_parent">Compiling and Installing</a>
|
||||
<ul>
|
||||
<li><a href="meson.html" target="_parent">Meson</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="precompiled.html" target="_parent">Precompiled Libraries</a>
|
||||
</ul>
|
||||
|
||||
<h2>Need help?</h2>
|
||||
<ul>
|
||||
<li><a href="lists.html" target="_parent">Mailing Lists</a>
|
||||
<li><a href="bugs.html" target="_parent">Report a bug</a>
|
||||
<li><a href="webmaster.html" target="_parent">Webmaster</a>
|
||||
<li><a href="https://dri.freedesktop.org/" target="_parent">Mesa/DRI Wiki</a>
|
||||
</ul>
|
||||
|
||||
<h2>User Topics</h2>
|
||||
<ul>
|
||||
<li><a href="shading.html" target="_parent">Shading Language</a>
|
||||
<li><a href="egl.html" target="_parent">EGL</a>
|
||||
<li><a href="opengles.html" target="_parent">OpenGL ES</a>
|
||||
<li><a href="envvars.html" target="_parent">Environment Variables</a>
|
||||
<li><a href="osmesa.html" target="_parent">Off-screen Rendering</a>
|
||||
<li><a href="debugging.html" target="_parent">Debugging Tips</a>
|
||||
<li><a href="perf.html" target="_parent">Performance Tips</a>
|
||||
<li><a href="extensions.html" target="_parent">Mesa Extensions</a>
|
||||
<li><a href="llvmpipe.html" target="_parent">Gallium LLVMpipe Driver</a>
|
||||
<li><a href="vmware-guest.html" target="_parent">VMware SVGA3D Guest Driver</a>
|
||||
<li><a href="postprocess.html" target="_parent">Gallium Post-processing</a>
|
||||
<li><a href="application-issues.html" target="_parent">Application Issues</a>
|
||||
<li><a href="viewperf.html" target="_parent">Viewperf Issues</a>
|
||||
</ul>
|
||||
|
||||
<h2>Developer Topics</h2>
|
||||
<ul>
|
||||
<li><a href="repository.html" target="_parent">Source Code Repository</a>
|
||||
<li><a href="sourcetree.html" target="_parent">Source Code Tree</a>
|
||||
<li><a href="utilities.html" target="_parent">Utilities</a>
|
||||
<li><a href="helpwanted.html" target="_parent">Help Wanted</a>
|
||||
<li><a href="devinfo.html" target="_parent">Development Notes</a>
|
||||
<li><a href="codingstyle.html" target="_parent">Coding Style</a>
|
||||
<li><a href="submittingpatches.html" target="_parent">Submitting Patches</a>
|
||||
<li><a href="releasing.html" target="_parent">Releasing Process</a>
|
||||
<li><a href="release-calendar.html" target="_parent">Release Calendar</a>
|
||||
<li><a href="sourcedocs.html" target="_parent">Source Documentation</a>
|
||||
<li><a href="dispatch.html" target="_parent">GL Dispatch</a>
|
||||
</ul>
|
||||
|
||||
<h2>Links</h2>
|
||||
<ul>
|
||||
<li><a href="https://www.opengl.org" target="_parent">OpenGL Website</a>
|
||||
<li><a href="https://dri.freedesktop.org" target="_parent">DRI Website</a>
|
||||
<li><a href="https://www.freedesktop.org" target="_parent">freedesktop.org</a>
|
||||
<li><a href="https://planet.freedesktop.org" target="_parent">Developer Blogs</a>
|
||||
</ul>
|
||||
|
||||
<h2>Hosted by:</h2>
|
||||
<dl>
|
||||
<dd><a href="https://www.freedesktop.org" target="_parent">freedesktop.org</a>
|
||||
</dl>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,86 @@
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Documentation
|
||||
:hidden:
|
||||
|
||||
intro
|
||||
self
|
||||
developers
|
||||
systems
|
||||
license
|
||||
faq
|
||||
relnotes
|
||||
thanks
|
||||
conform
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Download and Install
|
||||
:hidden:
|
||||
|
||||
download
|
||||
install
|
||||
precompiled
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Need help?
|
||||
:hidden:
|
||||
|
||||
lists
|
||||
bugs
|
||||
webmaster
|
||||
Mesa/DRI Wiki <https://dri.freedesktop.org/>
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: User Topics
|
||||
:hidden:
|
||||
|
||||
shading
|
||||
egl
|
||||
opengles
|
||||
envvars
|
||||
osmesa
|
||||
debugging
|
||||
perf
|
||||
extensions
|
||||
llvmpipe
|
||||
vmware-guest
|
||||
postprocess
|
||||
application-issues
|
||||
viewperf
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Developer Topics
|
||||
:hidden:
|
||||
|
||||
repository
|
||||
sourcetree
|
||||
utilities
|
||||
helpwanted
|
||||
devinfo
|
||||
codingstyle
|
||||
submittingpatches
|
||||
releasing
|
||||
release-calendar
|
||||
sourcedocs
|
||||
dispatch
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Links
|
||||
:hidden:
|
||||
|
||||
OpenGL Website <https://www.opengl.org>
|
||||
DRI Website <https://dri.freedesktop.org>
|
||||
freedesktop.org <https://www.freedesktop.org>
|
||||
Developer Blogs <https://planet.freedesktop.org>
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Hosted by:
|
||||
:hidden:
|
||||
|
||||
freedesktop.org <https://planet.freedesktop.org>
|
|
@ -1,43 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Debugging Tips</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Debugging Tips</h1>
|
||||
|
||||
<p>
|
||||
Normally Mesa (and OpenGL) records but does not notify the user of
|
||||
errors. It is up to the application to call
|
||||
<code>glGetError</code> to check for errors. Mesa supports an
|
||||
environment variable, <code>MESA_DEBUG</code>, to help with debugging. If
|
||||
<code>MESA_DEBUG</code> is defined, a message will be printed to stdout
|
||||
whenever an error occurs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
More extensive error checking is done in DEBUG builds
|
||||
(<code>--buildtype debug</code> for meson, <code>build=debug</code> for scons).
|
||||
</p>
|
||||
<p>
|
||||
In your debugger you can set a breakpoint in <code>_mesa_error()</code> to trap
|
||||
Mesa errors.
|
||||
</p>
|
||||
<p>
|
||||
There is a display list printing/debugging facility. See the end of
|
||||
<code>src/dlist.c</code> for details.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,17 @@
|
|||
Debugging Tips
|
||||
==============
|
||||
|
||||
Normally Mesa (and OpenGL) records but does not notify the user of
|
||||
errors. It is up to the application to call ``glGetError`` to check for
|
||||
errors. Mesa supports an environment variable, ``MESA_DEBUG``, to help
|
||||
with debugging. If ``MESA_DEBUG`` is defined, a message will be printed
|
||||
to stdout whenever an error occurs.
|
||||
|
||||
More extensive error checking is done in DEBUG builds
|
||||
(``--buildtype debug`` for meson, ``build=debug`` for scons).
|
||||
|
||||
In your debugger you can set a breakpoint in ``_mesa_error()`` to trap
|
||||
Mesa errors.
|
||||
|
||||
There is a display list printing/debugging facility. See the end of
|
||||
``src/dlist.c`` for details.
|
|
@ -1,58 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Developers</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Developers</h1>
|
||||
|
||||
<p>
|
||||
Both professional and volunteer developers contribute to Mesa.
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://www.vmware.com/">VMware</a>
|
||||
employs several of the main Mesa developers including Brian Paul
|
||||
and Keith Whitwell.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the past, Tungsten Graphics contracts implemented many Mesa features
|
||||
including:
|
||||
</p>
|
||||
<ul>
|
||||
<li>DRI drivers for Intel i965, i945, i915 and other chips
|
||||
<li>Advanced memory manager and framebuffer object support
|
||||
<li>Shading language compiler and OpenGL 2.0 support
|
||||
<li>MiniGLX environment
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Other companies including
|
||||
<a href="https://01.org/linuxgraphics">Intel</a>
|
||||
and RedHat also actively contribute to the project.
|
||||
Intel has recently contributed the new GLSL compiler in Mesa 7.9.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="https://www.lunarg.com/">LunarG</a> can be contacted
|
||||
for custom Mesa / 3D graphics development.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Volunteers have made significant contributions to all parts of Mesa, including
|
||||
complete device drivers.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,25 @@
|
|||
Developers
|
||||
==========
|
||||
|
||||
Both professional and volunteer developers contribute to Mesa.
|
||||
|
||||
`VMware <https://www.vmware.com/>`__ employs several of the main Mesa
|
||||
developers including Brian Paul and Keith Whitwell.
|
||||
|
||||
In the past, Tungsten Graphics contracts implemented many Mesa features
|
||||
including:
|
||||
|
||||
- DRI drivers for Intel i965, i945, i915 and other chips
|
||||
- Advanced memory manager and framebuffer object support
|
||||
- Shading language compiler and OpenGL 2.0 support
|
||||
- MiniGLX environment
|
||||
|
||||
Other companies including `Intel <https://01.org/linuxgraphics>`__ and
|
||||
RedHat also actively contribute to the project. Intel has recently
|
||||
contributed the new GLSL compiler in Mesa 7.9.
|
||||
|
||||
`LunarG <https://www.lunarg.com/>`__ can be contacted for custom Mesa /
|
||||
3D graphics development.
|
||||
|
||||
Volunteers have made significant contributions to all parts of Mesa,
|
||||
including complete device drivers.
|
|
@ -1,82 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Development Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Development Notes</h1>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="#extensions">Adding Extensions</a>
|
||||
</ul>
|
||||
|
||||
<h2 id="extensions">Adding Extensions</h2>
|
||||
|
||||
<p>
|
||||
To add a new GL extension to Mesa you have to do at least the following.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
If <code>glext.h</code> doesn't define the extension, edit
|
||||
<code>include/GL/gl.h</code> and add code like this:
|
||||
<pre>
|
||||
#ifndef GL_EXT_the_extension_name
|
||||
#define GL_EXT_the_extension_name 1
|
||||
/* declare the new enum tokens */
|
||||
/* prototype the new functions */
|
||||
/* TYPEDEFS for the new functions */
|
||||
#endif
|
||||
</pre>
|
||||
</li>
|
||||
<li>
|
||||
In the <code>src/mapi/glapi/gen/</code> directory, add the new extension
|
||||
functions and enums to the <code>gl_API.xml</code> file.
|
||||
Then, a bunch of source files must be regenerated by executing the
|
||||
corresponding Python scripts.
|
||||
</li>
|
||||
<li>
|
||||
Add a new entry to the <code>gl_extensions</code> struct in
|
||||
<code>mtypes.h</code> if the extension requires driver capabilities not
|
||||
already exposed by another extension.
|
||||
</li>
|
||||
<li>
|
||||
Add a new entry to the <code>src/mesa/main/extensions_table.h</code> file.
|
||||
</li>
|
||||
<li>
|
||||
From this point, the best way to proceed is to find another extension,
|
||||
similar to the new one, that's already implemented in Mesa and use it
|
||||
as an example.
|
||||
</li>
|
||||
<li>
|
||||
If the new extension adds new GL state, the functions in
|
||||
<code>get.c</code>, <code>enable.c</code> and <code>attrib.c</code>
|
||||
will most likely require new code.
|
||||
</li>
|
||||
<li>
|
||||
To determine if the new extension is active in the current context,
|
||||
use the auto-generated <code>_mesa_has_##name_str()</code> function
|
||||
defined in <code>src/mesa/main/extensions.h</code>.
|
||||
</li>
|
||||
<li>
|
||||
The dispatch tests <code>check_table.cpp</code> and
|
||||
<code>dispatch_sanity.cpp</code> should be updated with details about
|
||||
the new extensions functions. These tests are run using
|
||||
<code>meson test</code>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,44 @@
|
|||
Development Notes
|
||||
=================
|
||||
|
||||
- `Adding Extensions <#extensions>`__
|
||||
|
||||
.. _extensions:
|
||||
|
||||
Adding Extensions
|
||||
-----------------
|
||||
|
||||
To add a new GL extension to Mesa you have to do at least the following.
|
||||
|
||||
- If ``glext.h`` doesn't define the extension, edit ``include/GL/gl.h``
|
||||
and add code like this:
|
||||
|
||||
::
|
||||
|
||||
#ifndef GL_EXT_the_extension_name
|
||||
#define GL_EXT_the_extension_name 1
|
||||
/* declare the new enum tokens */
|
||||
/* prototype the new functions */
|
||||
/* TYPEDEFS for the new functions */
|
||||
#endif
|
||||
|
||||
|
||||
- In the ``src/mapi/glapi/gen/`` directory, add the new extension
|
||||
functions and enums to the ``gl_API.xml`` file. Then, a bunch of
|
||||
source files must be regenerated by executing the corresponding
|
||||
Python scripts.
|
||||
- Add a new entry to the ``gl_extensions`` struct in ``mtypes.h`` if
|
||||
the extension requires driver capabilities not already exposed by
|
||||
another extension.
|
||||
- Add a new entry to the ``src/mesa/main/extensions_table.h`` file.
|
||||
- From this point, the best way to proceed is to find another
|
||||
extension, similar to the new one, that's already implemented in Mesa
|
||||
and use it as an example.
|
||||
- If the new extension adds new GL state, the functions in ``get.c``,
|
||||
``enable.c`` and ``attrib.c`` will most likely require new code.
|
||||
- To determine if the new extension is active in the current context,
|
||||
use the auto-generated ``_mesa_has_##name_str()`` function defined in
|
||||
``src/mesa/main/extensions.h``.
|
||||
- The dispatch tests ``check_table.cpp`` and ``dispatch_sanity.cpp``
|
||||
should be updated with details about the new extensions functions.
|
||||
These tests are run using ``meson test``.
|
|
@ -1,273 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>GL Dispatch</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>GL Dispatch</h1>
|
||||
|
||||
<p>Several factors combine to make efficient dispatch of OpenGL functions
|
||||
fairly complicated. This document attempts to explain some of the issues
|
||||
and introduce the reader to Mesa's implementation. Readers already familiar
|
||||
with the issues around GL dispatch can safely skip ahead to the <a
|
||||
href="#overview">overview of Mesa's implementation</a>.</p>
|
||||
|
||||
<h2>1. Complexity of GL Dispatch</h2>
|
||||
|
||||
<p>Every GL application has at least one object called a GL <em>context</em>.
|
||||
This object, which is an implicit parameter to every GL function, stores all
|
||||
of the GL related state for the application. Every texture, every buffer
|
||||
object, every enable, and much, much more is stored in the context. Since
|
||||
an application can have more than one context, the context to be used is
|
||||
selected by a window-system dependent function such as
|
||||
<code>glXMakeContextCurrent</code>.</p>
|
||||
|
||||
<p>In environments that implement OpenGL with X-Windows using GLX, every GL
|
||||
function, including the pointers returned by <code>glXGetProcAddress</code>, are
|
||||
<em>context independent</em>. This means that no matter what context is
|
||||
currently active, the same <code>glVertex3fv</code> function is used.</p>
|
||||
|
||||
<p>This creates the first bit of dispatch complexity. An application can
|
||||
have two GL contexts. One context is a direct rendering context where
|
||||
function calls are routed directly to a driver loaded within the
|
||||
application's address space. The other context is an indirect rendering
|
||||
context where function calls are converted to GLX protocol and sent to a
|
||||
server. The same <code>glVertex3fv</code> has to do the right thing depending
|
||||
on which context is current.</p>
|
||||
|
||||
<p>Highly optimized drivers or GLX protocol implementations may want to
|
||||
change the behavior of GL functions depending on current state. For
|
||||
example, <code>glFogCoordf</code> may operate differently depending on whether
|
||||
or not fog is enabled.</p>
|
||||
|
||||
<p>In multi-threaded environments, it is possible for each thread to have a
|
||||
different GL context current. This means that poor old <code>glVertex3fv</code>
|
||||
has to know which GL context is current in the thread where it is being
|
||||
called.</p>
|
||||
|
||||
<h2 id="overview">2. Overview of Mesa's Implementation</h2>
|
||||
|
||||
<p>Mesa uses two per-thread pointers. The first pointer stores the address
|
||||
of the context current in the thread, and the second pointer stores the
|
||||
address of the <em>dispatch table</em> associated with that context. The
|
||||
dispatch table stores pointers to functions that actually implement
|
||||
specific GL functions. Each time a new context is made current in a thread,
|
||||
these pointers a updated.</p>
|
||||
|
||||
<p>The implementation of functions such as <code>glVertex3fv</code> becomes
|
||||
conceptually simple:</p>
|
||||
|
||||
<ul>
|
||||
<li>Fetch the current dispatch table pointer.</li>
|
||||
<li>Fetch the pointer to the real <code>glVertex3fv</code> function from the
|
||||
table.</li>
|
||||
<li>Call the real function.</li>
|
||||
</ul>
|
||||
|
||||
<p>This can be implemented in just a few lines of C code. The file
|
||||
<code>src/mesa/glapi/glapitemp.h</code> contains code very similar to this.</p>
|
||||
|
||||
<figure>
|
||||
<pre>
|
||||
void glVertex3f(GLfloat x, GLfloat y, GLfloat z)
|
||||
{
|
||||
const struct _glapi_table * const dispatch = GET_DISPATCH();
|
||||
|
||||
(*dispatch->Vertex3f)(x, y, z);
|
||||
}
|
||||
</pre>
|
||||
<figcaption>Sample dispatch function</figcaption>
|
||||
</figure>
|
||||
|
||||
<p>The problem with this simple implementation is the large amount of
|
||||
overhead that it adds to every GL function call.</p>
|
||||
|
||||
<p>In a multithreaded environment, a naive implementation of
|
||||
<code>GET_DISPATCH</code> involves a call to <code>pthread_getspecific</code> or a
|
||||
similar function. Mesa provides a wrapper function called
|
||||
<code>_glapi_get_dispatch</code> that is used by default.</p>
|
||||
|
||||
<h2>3. Optimizations</h2>
|
||||
|
||||
<p>A number of optimizations have been made over the years to diminish the
|
||||
performance hit imposed by GL dispatch. This section describes these
|
||||
optimizations. The benefits of each optimization and the situations where
|
||||
each can or cannot be used are listed.</p>
|
||||
|
||||
<h3>3.1. Dual dispatch table pointers</h3>
|
||||
|
||||
<p>The vast majority of OpenGL applications use the API in a single threaded
|
||||
manner. That is, the application has only one thread that makes calls into
|
||||
the GL. In these cases, not only do the calls to
|
||||
<code>pthread_getspecific</code> hurt performance, but they are completely
|
||||
unnecessary! It is possible to detect this common case and avoid these
|
||||
calls.</p>
|
||||
|
||||
<p>Each time a new dispatch table is set, Mesa examines and records the ID
|
||||
of the executing thread. If the same thread ID is always seen, Mesa knows
|
||||
that the application is, from OpenGL's point of view, single threaded.</p>
|
||||
|
||||
<p>As long as an application is single threaded, Mesa stores a pointer to
|
||||
the dispatch table in a global variable called <code>_glapi_Dispatch</code>.
|
||||
The pointer is also stored in a per-thread location via
|
||||
<code>pthread_setspecific</code>. When Mesa detects that an application has
|
||||
become multithreaded, <code>NULL</code> is stored in <code>_glapi_Dispatch</code>.</p>
|
||||
|
||||
<p>Using this simple mechanism the dispatch functions can detect the
|
||||
multithreaded case by comparing <code>_glapi_Dispatch</code> to <code>NULL</code>.
|
||||
The resulting implementation of <code>GET_DISPATCH</code> is slightly more
|
||||
complex, but it avoids the expensive <code>pthread_getspecific</code> call in
|
||||
the common case.</p>
|
||||
|
||||
<figure>
|
||||
<pre>
|
||||
#define GET_DISPATCH() \
|
||||
(_glapi_Dispatch != NULL) \
|
||||
? _glapi_Dispatch : pthread_getspecific(&_glapi_Dispatch_key)
|
||||
</pre>
|
||||
<figcaption>Improved <code>GET_DISPATCH</code> Implementation</figcaption>
|
||||
</figure>
|
||||
|
||||
<h3>3.2. ELF TLS</h3>
|
||||
|
||||
<p>Starting with the 2.4.20 Linux kernel, each thread is allocated an area
|
||||
of per-thread, global storage. Variables can be put in this area using some
|
||||
extensions to GCC. By storing the dispatch table pointer in this area, the
|
||||
expensive call to <code>pthread_getspecific</code> and the test of
|
||||
<code>_glapi_Dispatch</code> can be avoided.</p>
|
||||
|
||||
<p>The dispatch table pointer is stored in a new variable called
|
||||
<code>_glapi_tls_Dispatch</code>. A new variable name is used so that a single
|
||||
libGL can implement both interfaces. This allows the libGL to operate with
|
||||
direct rendering drivers that use either interface. Once the pointer is
|
||||
properly declared, <code>GET_DISPACH</code> becomes a simple variable
|
||||
reference.</p>
|
||||
|
||||
<figure>
|
||||
<pre>
|
||||
extern __thread struct _glapi_table *_glapi_tls_Dispatch
|
||||
__attribute__((tls_model("initial-exec")));
|
||||
|
||||
#define GET_DISPATCH() _glapi_tls_Dispatch
|
||||
</pre>
|
||||
<figcaption>TLS <code>GET_DISPATCH</code> Implementation</figcaption>
|
||||
</figure>
|
||||
|
||||
<p>Use of this path is controlled by the preprocessor define
|
||||
<code>USE_ELF_TLS</code>. Any platform capable of using ELF TLS should use this
|
||||
as the default dispatch method.</p>
|
||||
|
||||
<h3>3.3. Assembly Language Dispatch Stubs</h3>
|
||||
|
||||
<p>Many platforms has difficulty properly optimizing the tail-call in the
|
||||
dispatch stubs. Platforms like x86 that pass parameters on the stack seem
|
||||
to have even more difficulty optimizing these routines. All of the dispatch
|
||||
routines are very short, and it is trivial to create optimal assembly
|
||||
language versions. The amount of optimization provided by using assembly
|
||||
stubs varies from platform to platform and application to application.
|
||||
However, by using the assembly stubs, many platforms can use an additional
|
||||
space optimization (see <a href="#fixedsize">below</a>).</p>
|
||||
|
||||
<p>The biggest hurdle to creating assembly stubs is handling the various
|
||||
ways that the dispatch table pointer can be accessed. There are four
|
||||
different methods that can be used:</p>
|
||||
|
||||
<ol>
|
||||
<li>Using <code>_glapi_Dispatch</code> directly in builds for non-multithreaded
|
||||
environments.</li>
|
||||
<li>Using <code>_glapi_Dispatch</code> and <code>_glapi_get_dispatch</code> in
|
||||
multithreaded environments.</li>
|
||||
<li>Using <code>_glapi_Dispatch</code> and <code>pthread_getspecific</code> in
|
||||
multithreaded environments.</li>
|
||||
<li>Using <code>_glapi_tls_Dispatch</code> directly in TLS enabled
|
||||
multithreaded environments.</li>
|
||||
</ol>
|
||||
|
||||
<p>People wishing to implement assembly stubs for new platforms should focus
|
||||
on #4 if the new platform supports TLS. Otherwise, implement #2 followed by
|
||||
#3. Environments that do not support multithreading are uncommon and not
|
||||
terribly relevant.</p>
|
||||
|
||||
<p>Selection of the dispatch table pointer access method is controlled by a
|
||||
few preprocessor defines.</p>
|
||||
|
||||
<ul>
|
||||
<li>If <code>USE_ELF_TLS</code> is defined, method #3 is used.</li>
|
||||
<li>If <code>HAVE_PTHREAD</code> is defined, method #2 is used.</li>
|
||||
<li>If none of the preceding are defined, method #1 is used.</li>
|
||||
</ul>
|
||||
|
||||
<p>Two different techniques are used to handle the various different cases.
|
||||
On x86 and SPARC, a macro called <code>GL_STUB</code> is used. In the preamble
|
||||
of the assembly source file different implementations of the macro are
|
||||
selected based on the defined preprocessor variables. The assembly code
|
||||
then consists of a series of invocations of the macros such as:
|
||||
|
||||
<figure>
|
||||
<pre>
|
||||
GL_STUB(Color3fv, _gloffset_Color3fv)
|
||||
</pre>
|
||||
<figcaption>SPARC Assembly Implementation of <code>glColor3fv</code></figcaption>
|
||||
</figure>
|
||||
|
||||
<p>The benefit of this technique is that changes to the calling pattern
|
||||
(i.e., addition of a new dispatch table pointer access method) require fewer
|
||||
changed lines in the assembly code.</p>
|
||||
|
||||
<p>However, this technique can only be used on platforms where the function
|
||||
implementation does not change based on the parameters passed to the
|
||||
function. For example, since x86 passes all parameters on the stack, no
|
||||
additional code is needed to save and restore function parameters around a
|
||||
call to <code>pthread_getspecific</code>. Since x86-64 passes parameters in
|
||||
registers, varying amounts of code needs to be inserted around the call to
|
||||
<code>pthread_getspecific</code> to save and restore the GL function's
|
||||
parameters.</p>
|
||||
|
||||
<p>The other technique, used by platforms like x86-64 that cannot use the
|
||||
first technique, is to insert <code>#ifdef</code> within the assembly
|
||||
implementation of each function. This makes the assembly file considerably
|
||||
larger (e.g., 29,332 lines for <code>glapi_x86-64.S</code> versus 1,155 lines for
|
||||
<code>glapi_x86.S</code>) and causes simple changes to the function
|
||||
implementation to generate many lines of diffs. Since the assembly files
|
||||
are typically generated by scripts (see <a href="#autogen">below</a>), this
|
||||
isn't a significant problem.</p>
|
||||
|
||||
<p>Once a new assembly file is created, it must be inserted in the build
|
||||
system. There are two steps to this. The file must first be added to
|
||||
<code>src/mesa/sources</code>. That gets the file built and linked. The second
|
||||
step is to add the correct <code>#ifdef</code> magic to
|
||||
<code>src/mesa/glapi/glapi_dispatch.c</code> to prevent the C version of the
|
||||
dispatch functions from being built.</p>
|
||||
|
||||
<h3 id="fixedsize">3.4. Fixed-Length Dispatch Stubs</h3>
|
||||
|
||||
<p>To implement <code>glXGetProcAddress</code>, Mesa stores a table that
|
||||
associates function names with pointers to those functions. This table is
|
||||
stored in <code>src/mesa/glapi/glprocs.h</code>. For different reasons on
|
||||
different platforms, storing all of those pointers is inefficient. On most
|
||||
platforms, including all known platforms that support TLS, we can avoid this
|
||||
added overhead.</p>
|
||||
|
||||
<p>If the assembly stubs are all the same size, the pointer need not be
|
||||
stored for every function. The location of the function can instead be
|
||||
calculated by multiplying the size of the dispatch stub by the offset of the
|
||||
function in the table. This value is then added to the address of the first
|
||||
dispatch stub.</p>
|
||||
|
||||
<p>This path is activated by adding the correct <code>#ifdef</code> magic to
|
||||
<code>src/mesa/glapi/glapi.c</code> just before <code>glprocs.h</code> is
|
||||
included.</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,255 @@
|
|||
GL Dispatch
|
||||
===========
|
||||
|
||||
Several factors combine to make efficient dispatch of OpenGL functions
|
||||
fairly complicated. This document attempts to explain some of the issues
|
||||
and introduce the reader to Mesa's implementation. Readers already
|
||||
familiar with the issues around GL dispatch can safely skip ahead to the
|
||||
`overview of Mesa's implementation <#overview>`__.
|
||||
|
||||
1. Complexity of GL Dispatch
|
||||
----------------------------
|
||||
|
||||
Every GL application has at least one object called a GL *context*. This
|
||||
object, which is an implicit parameter to every GL function, stores all
|
||||
of the GL related state for the application. Every texture, every buffer
|
||||
object, every enable, and much, much more is stored in the context.
|
||||
Since an application can have more than one context, the context to be
|
||||
used is selected by a window-system dependent function such as
|
||||
``glXMakeContextCurrent``.
|
||||
|
||||
In environments that implement OpenGL with X-Windows using GLX, every GL
|
||||
function, including the pointers returned by ``glXGetProcAddress``, are
|
||||
*context independent*. This means that no matter what context is
|
||||
currently active, the same ``glVertex3fv`` function is used.
|
||||
|
||||
This creates the first bit of dispatch complexity. An application can
|
||||
have two GL contexts. One context is a direct rendering context where
|
||||
function calls are routed directly to a driver loaded within the
|
||||
application's address space. The other context is an indirect rendering
|
||||
context where function calls are converted to GLX protocol and sent to a
|
||||
server. The same ``glVertex3fv`` has to do the right thing depending on
|
||||
which context is current.
|
||||
|
||||
Highly optimized drivers or GLX protocol implementations may want to
|
||||
change the behavior of GL functions depending on current state. For
|
||||
example, ``glFogCoordf`` may operate differently depending on whether or
|
||||
not fog is enabled.
|
||||
|
||||
In multi-threaded environments, it is possible for each thread to have a
|
||||
different GL context current. This means that poor old ``glVertex3fv``
|
||||
has to know which GL context is current in the thread where it is being
|
||||
called.
|
||||
|
||||
.. _overview:
|
||||
|
||||
2. Overview of Mesa's Implementation
|
||||
------------------------------------
|
||||
|
||||
Mesa uses two per-thread pointers. The first pointer stores the address
|
||||
of the context current in the thread, and the second pointer stores the
|
||||
address of the *dispatch table* associated with that context. The
|
||||
dispatch table stores pointers to functions that actually implement
|
||||
specific GL functions. Each time a new context is made current in a
|
||||
thread, these pointers a updated.
|
||||
|
||||
The implementation of functions such as ``glVertex3fv`` becomes
|
||||
conceptually simple:
|
||||
|
||||
- Fetch the current dispatch table pointer.
|
||||
- Fetch the pointer to the real ``glVertex3fv`` function from the
|
||||
table.
|
||||
- Call the real function.
|
||||
|
||||
This can be implemented in just a few lines of C code. The file
|
||||
``src/mesa/glapi/glapitemp.h`` contains code very similar to this.
|
||||
|
||||
::
|
||||
|
||||
void glVertex3f(GLfloat x, GLfloat y, GLfloat z)
|
||||
{
|
||||
const struct _glapi_table * const dispatch = GET_DISPATCH();
|
||||
|
||||
(*dispatch->Vertex3f)(x, y, z);
|
||||
}
|
||||
|
||||
Sample dispatch function
|
||||
|
||||
The problem with this simple implementation is the large amount of
|
||||
overhead that it adds to every GL function call.
|
||||
|
||||
In a multithreaded environment, a naive implementation of
|
||||
``GET_DISPATCH`` involves a call to ``pthread_getspecific`` or a similar
|
||||
function. Mesa provides a wrapper function called
|
||||
``_glapi_get_dispatch`` that is used by default.
|
||||
|
||||
3. Optimizations
|
||||
----------------
|
||||
|
||||
A number of optimizations have been made over the years to diminish the
|
||||
performance hit imposed by GL dispatch. This section describes these
|
||||
optimizations. The benefits of each optimization and the situations
|
||||
where each can or cannot be used are listed.
|
||||
|
||||
3.1. Dual dispatch table pointers
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The vast majority of OpenGL applications use the API in a single
|
||||
threaded manner. That is, the application has only one thread that makes
|
||||
calls into the GL. In these cases, not only do the calls to
|
||||
``pthread_getspecific`` hurt performance, but they are completely
|
||||
unnecessary! It is possible to detect this common case and avoid these
|
||||
calls.
|
||||
|
||||
Each time a new dispatch table is set, Mesa examines and records the ID
|
||||
of the executing thread. If the same thread ID is always seen, Mesa
|
||||
knows that the application is, from OpenGL's point of view, single
|
||||
threaded.
|
||||
|
||||
As long as an application is single threaded, Mesa stores a pointer to
|
||||
the dispatch table in a global variable called ``_glapi_Dispatch``. The
|
||||
pointer is also stored in a per-thread location via
|
||||
``pthread_setspecific``. When Mesa detects that an application has
|
||||
become multithreaded, ``NULL`` is stored in ``_glapi_Dispatch``.
|
||||
|
||||
Using this simple mechanism the dispatch functions can detect the
|
||||
multithreaded case by comparing ``_glapi_Dispatch`` to ``NULL``. The
|
||||
resulting implementation of ``GET_DISPATCH`` is slightly more complex,
|
||||
but it avoids the expensive ``pthread_getspecific`` call in the common
|
||||
case.
|
||||
|
||||
::
|
||||
|
||||
#define GET_DISPATCH() \
|
||||
(_glapi_Dispatch != NULL) \
|
||||
? _glapi_Dispatch : pthread_getspecific(&_glapi_Dispatch_key)
|
||||
|
||||
Improved ``GET_DISPATCH`` Implementation
|
||||
|
||||
3.2. ELF TLS
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Starting with the 2.4.20 Linux kernel, each thread is allocated an area
|
||||
of per-thread, global storage. Variables can be put in this area using
|
||||
some extensions to GCC. By storing the dispatch table pointer in this
|
||||
area, the expensive call to ``pthread_getspecific`` and the test of
|
||||
``_glapi_Dispatch`` can be avoided.
|
||||
|
||||
The dispatch table pointer is stored in a new variable called
|
||||
``_glapi_tls_Dispatch``. A new variable name is used so that a single
|
||||
libGL can implement both interfaces. This allows the libGL to operate
|
||||
with direct rendering drivers that use either interface. Once the
|
||||
pointer is properly declared, ``GET_DISPACH`` becomes a simple variable
|
||||
reference.
|
||||
|
||||
::
|
||||
|
||||
extern __thread struct _glapi_table *_glapi_tls_Dispatch
|
||||
__attribute__((tls_model("initial-exec")));
|
||||
|
||||
#define GET_DISPATCH() _glapi_tls_Dispatch
|
||||
|
||||
TLS ``GET_DISPATCH`` Implementation
|
||||
|
||||
Use of this path is controlled by the preprocessor define
|
||||
``USE_ELF_TLS``. Any platform capable of using ELF TLS should use this
|
||||
as the default dispatch method.
|
||||
|
||||
3.3. Assembly Language Dispatch Stubs
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Many platforms has difficulty properly optimizing the tail-call in the
|
||||
dispatch stubs. Platforms like x86 that pass parameters on the stack
|
||||
seem to have even more difficulty optimizing these routines. All of the
|
||||
dispatch routines are very short, and it is trivial to create optimal
|
||||
assembly language versions. The amount of optimization provided by using
|
||||
assembly stubs varies from platform to platform and application to
|
||||
application. However, by using the assembly stubs, many platforms can
|
||||
use an additional space optimization (see `below <#fixedsize>`__).
|
||||
|
||||
The biggest hurdle to creating assembly stubs is handling the various
|
||||
ways that the dispatch table pointer can be accessed. There are four
|
||||
different methods that can be used:
|
||||
|
||||
#. Using ``_glapi_Dispatch`` directly in builds for non-multithreaded
|
||||
environments.
|
||||
#. Using ``_glapi_Dispatch`` and ``_glapi_get_dispatch`` in
|
||||
multithreaded environments.
|
||||
#. Using ``_glapi_Dispatch`` and ``pthread_getspecific`` in
|
||||
multithreaded environments.
|
||||
#. Using ``_glapi_tls_Dispatch`` directly in TLS enabled multithreaded
|
||||
environments.
|
||||
|
||||
People wishing to implement assembly stubs for new platforms should
|
||||
focus on #4 if the new platform supports TLS. Otherwise, implement #2
|
||||
followed by #3. Environments that do not support multithreading are
|
||||
uncommon and not terribly relevant.
|
||||
|
||||
Selection of the dispatch table pointer access method is controlled by a
|
||||
few preprocessor defines.
|
||||
|
||||
- If ``USE_ELF_TLS`` is defined, method #3 is used.
|
||||
- If ``HAVE_PTHREAD`` is defined, method #2 is used.
|
||||
- If none of the preceding are defined, method #1 is used.
|
||||
|
||||
Two different techniques are used to handle the various different cases.
|
||||
On x86 and SPARC, a macro called ``GL_STUB`` is used. In the preamble of
|
||||
the assembly source file different implementations of the macro are
|
||||
selected based on the defined preprocessor variables. The assembly code
|
||||
then consists of a series of invocations of the macros such as:
|
||||
|
||||
::
|
||||
|
||||
GL_STUB(Color3fv, _gloffset_Color3fv)
|
||||
|
||||
SPARC Assembly Implementation of ``glColor3fv``
|
||||
|
||||
The benefit of this technique is that changes to the calling pattern
|
||||
(i.e., addition of a new dispatch table pointer access method) require
|
||||
fewer changed lines in the assembly code.
|
||||
|
||||
However, this technique can only be used on platforms where the function
|
||||
implementation does not change based on the parameters passed to the
|
||||
function. For example, since x86 passes all parameters on the stack, no
|
||||
additional code is needed to save and restore function parameters around
|
||||
a call to ``pthread_getspecific``. Since x86-64 passes parameters in
|
||||
registers, varying amounts of code needs to be inserted around the call
|
||||
to ``pthread_getspecific`` to save and restore the GL function's
|
||||
parameters.
|
||||
|
||||
The other technique, used by platforms like x86-64 that cannot use the
|
||||
first technique, is to insert ``#ifdef`` within the assembly
|
||||
implementation of each function. This makes the assembly file
|
||||
considerably larger (e.g., 29,332 lines for ``glapi_x86-64.S`` versus
|
||||
1,155 lines for ``glapi_x86.S``) and causes simple changes to the
|
||||
function implementation to generate many lines of diffs. Since the
|
||||
assembly files are typically generated by scripts (see
|
||||
`below <#autogen>`__), this isn't a significant problem.
|
||||
|
||||
Once a new assembly file is created, it must be inserted in the build
|
||||
system. There are two steps to this. The file must first be added to
|
||||
``src/mesa/sources``. That gets the file built and linked. The second
|
||||
step is to add the correct ``#ifdef`` magic to
|
||||
``src/mesa/glapi/glapi_dispatch.c`` to prevent the C version of the
|
||||
dispatch functions from being built.
|
||||
|
||||
.. _fixedsize:
|
||||
|
||||
3.4. Fixed-Length Dispatch Stubs
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To implement ``glXGetProcAddress``, Mesa stores a table that associates
|
||||
function names with pointers to those functions. This table is stored in
|
||||
``src/mesa/glapi/glprocs.h``. For different reasons on different
|
||||
platforms, storing all of those pointers is inefficient. On most
|
||||
platforms, including all known platforms that support TLS, we can avoid
|
||||
this added overhead.
|
||||
|
||||
If the assembly stubs are all the same size, the pointer need not be
|
||||
stored for every function. The location of the function can instead be
|
||||
calculated by multiplying the size of the dispatch stub by the offset of
|
||||
the function in the table. This value is then added to the address of
|
||||
the first dispatch stub.
|
||||
|
||||
This path is activated by adding the correct ``#ifdef`` magic to
|
||||
``src/mesa/glapi/glapi.c`` just before ``glprocs.h`` is included.
|
|
@ -1,98 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Downloading and Unpacking</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Downloading and Unpacking</h1>
|
||||
|
||||
<h2>Downloading</h2>
|
||||
|
||||
<p>
|
||||
You can download the released versions of Mesa via
|
||||
<a href="https://mesa.freedesktop.org/archive/">HTTPS</a>
|
||||
or
|
||||
<a href="ftp://ftp.freedesktop.org/pub/mesa/">FTP</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Starting with the first release of 2017, Mesa's version scheme is
|
||||
year-based. Filenames are in the form <code>mesa-Y.N.P.tar.gz</code>, where
|
||||
<code>Y</code> is the year (two digits), <code>N</code> is an incremental number
|
||||
(starting at 0) and <code>P</code> is the patch number (0 for the first
|
||||
release, 1 for the first patch after that).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When a new release is coming, release candidates (betas) may be found
|
||||
in the same directory, and are recognisable by the
|
||||
<code>mesa-Y.N.P-<b>rc</b>X.tar.gz</code> filename.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Unpacking</h2>
|
||||
|
||||
<p>
|
||||
Mesa releases are available in two formats: <code>.tar.xz</code> and <code>.tar.gz</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To unpack the tarball:
|
||||
</p>
|
||||
<pre>
|
||||
tar xf mesa-Y.N.P.tar.xz
|
||||
</pre>
|
||||
<p>or</p>
|
||||
<pre>
|
||||
tar xf mesa-Y.N.P.tar.gz
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>Contents</h2>
|
||||
|
||||
<p>
|
||||
Proceed to the <a href="install.html">compilation and installation
|
||||
instructions</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Demos, GLUT, and GLU</h2>
|
||||
|
||||
<p>
|
||||
A package of SGI's GLU library is available
|
||||
<a href="ftp://ftp.freedesktop.org/pub/mesa/glu/">here</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A package of Mark Kilgard's GLUT library is available
|
||||
<a href="ftp://ftp.freedesktop.org/pub/mesa/glut/">here</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Mesa demos collection is available
|
||||
<a href="ftp://ftp.freedesktop.org/pub/mesa/demos/">here</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the past, GLUT, GLU and the Mesa demos were released in conjunction with
|
||||
Mesa releases. But since GLUT, GLU and the demos change infrequently, they
|
||||
were split off into their own git repositories:
|
||||
|
||||
<a href="https://gitlab.freedesktop.org/mesa/glut">GLUT</a>,
|
||||
<a href="https://gitlab.freedesktop.org/mesa/glu">GLU</a> and
|
||||
<a href="https://gitlab.freedesktop.org/mesa/demos">Demos</a>,
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,61 @@
|
|||
Downloading and Unpacking
|
||||
=========================
|
||||
|
||||
Downloading
|
||||
-----------
|
||||
|
||||
You can download the released versions of Mesa via
|
||||
`HTTPS <https://mesa.freedesktop.org/archive/>`__ or
|
||||
`FTP <ftp://ftp.freedesktop.org/pub/mesa/>`__.
|
||||
|
||||
Starting with the first release of 2017, Mesa's version scheme is
|
||||
year-based. Filenames are in the form ``mesa-Y.N.P.tar.gz``, where ``Y``
|
||||
is the year (two digits), ``N`` is an incremental number (starting at 0)
|
||||
and ``P`` is the patch number (0 for the first release, 1 for the first
|
||||
patch after that).
|
||||
|
||||
When a new release is coming, release candidates (betas) may be found in
|
||||
the same directory, and are recognisable by the
|
||||
``mesa-Y.N.P-rcX.tar.gz`` filename.
|
||||
|
||||
Unpacking
|
||||
---------
|
||||
|
||||
Mesa releases are available in two formats: ``.tar.xz`` and ``.tar.gz``.
|
||||
|
||||
To unpack the tarball:
|
||||
|
||||
::
|
||||
|
||||
tar xf mesa-Y.N.P.tar.xz
|
||||
|
||||
or
|
||||
|
||||
::
|
||||
|
||||
tar xf mesa-Y.N.P.tar.gz
|
||||
|
||||
Contents
|
||||
--------
|
||||
|
||||
Proceed to the `compilation and installation
|
||||
instructions <install.html>`__.
|
||||
|
||||
Demos, GLUT, and GLU
|
||||
--------------------
|
||||
|
||||
A package of SGI's GLU library is available
|
||||
`here <ftp://ftp.freedesktop.org/pub/mesa/glu/>`__
|
||||
|
||||
A package of Mark Kilgard's GLUT library is available
|
||||
`here <ftp://ftp.freedesktop.org/pub/mesa/glut/>`__
|
||||
|
||||
The Mesa demos collection is available
|
||||
`here <ftp://ftp.freedesktop.org/pub/mesa/demos/>`__
|
||||
|
||||
In the past, GLUT, GLU and the Mesa demos were released in conjunction
|
||||
with Mesa releases. But since GLUT, GLU and the demos change
|
||||
infrequently, they were split off into their own git repositories:
|
||||
`GLUT <https://gitlab.freedesktop.org/mesa/glut>`__,
|
||||
`GLU <https://gitlab.freedesktop.org/mesa/glu>`__ and
|
||||
`Demos <https://gitlab.freedesktop.org/mesa/demos>`__,
|
252
docs/egl.html
252
docs/egl.html
|
@ -1,252 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>EGL</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>EGL</h1>
|
||||
|
||||
<p>The current version of EGL in Mesa implements EGL 1.4. More information
|
||||
about EGL can be found at
|
||||
<a href="https://www.khronos.org/egl/">
|
||||
https://www.khronos.org/egl/</a>.</p>
|
||||
|
||||
<p>The Mesa's implementation of EGL uses a driver architecture. The main
|
||||
library (<code>libEGL</code>) is window system neutral. It provides the EGL
|
||||
API entry points and helper functions for use by the drivers. Drivers are
|
||||
dynamically loaded by the main library and most of the EGL API calls are
|
||||
directly dispatched to the drivers.</p>
|
||||
|
||||
<p>The driver in use decides the window system to support.</p>
|
||||
|
||||
<h2>Build EGL</h2>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<p>Configure your build with the desired client APIs and enable
|
||||
the driver for your hardware. For example:</p>
|
||||
|
||||
<pre>
|
||||
$ meson configure \
|
||||
-D egl=true \
|
||||
-D gles1=true \
|
||||
-D gles2=true \
|
||||
-D dri-drivers=... \
|
||||
-D gallium-drivers=...
|
||||
</pre>
|
||||
|
||||
<p>The main library and OpenGL is enabled by default. The first two options
|
||||
above enables <a href="opengles.html">OpenGL ES 1.x and 2.x</a>. The last two
|
||||
options enables the listed classic and Gallium drivers respectively.</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li>Build and install Mesa as usual.</li>
|
||||
</ol>
|
||||
|
||||
<p>In the given example, it will build and install <code>libEGL</code>,
|
||||
<code>libGL</code>, <code>libGLESv1_CM</code>, <code>libGLESv2</code>, and one
|
||||
or more EGL drivers.</p>
|
||||
|
||||
<h3>Configure Options</h3>
|
||||
|
||||
<p>There are several options that control the build of EGL at configuration
|
||||
time</p>
|
||||
|
||||
<dl>
|
||||
<dt><code>-D egl=true</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>By default, EGL is enabled. When disabled, the main library and the drivers
|
||||
will not be built.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<dt><code>-D platforms=...</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>List the platforms (window systems) to support. Its argument is a comma
|
||||
separated string such as <code>-D platforms=x11,drm</code>. It decides
|
||||
the platforms a driver may support. The first listed platform is also used by
|
||||
the main library to decide the native platform.</p>
|
||||
|
||||
<p>The available platforms are <code>x11</code>, <code>drm</code>,
|
||||
<code>wayland</code>, <code>surfaceless</code>, <code>android</code>,
|
||||
and <code>haiku</code>.
|
||||
The <code>android</code> platform can either be built as a system
|
||||
component, part of AOSP, using <code>Android.mk</code> files, or
|
||||
cross-compiled using appropriate options.
|
||||
Unless for special needs, the build system should
|
||||
select the right platforms automatically.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<dt><code>-D gles1=true</code> and <code>-D gles2=true</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>These options enable OpenGL ES support in OpenGL. The result is one big
|
||||
internal library that supports multiple APIs.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<dt><code>-D shared-glapi=true</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>By default, <code>libGL</code> has its own copy of <code>libglapi</code>.
|
||||
This options makes <code>libGL</code> use the shared <code>libglapi</code>. This
|
||||
is required if applications mix OpenGL and OpenGL ES.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<h2>Use EGL</h2>
|
||||
|
||||
<h3>Demos</h3>
|
||||
|
||||
<p>There are demos for the client APIs supported by EGL. They can be found in
|
||||
mesa/demos repository.</p>
|
||||
|
||||
<h3>Environment Variables</h3>
|
||||
|
||||
<p>There are several environment variables that control the behavior of EGL at
|
||||
runtime</p>
|
||||
|
||||
<dl>
|
||||
<dt><code>EGL_PLATFORM</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>This variable specifies the native platform. The valid values are the same
|
||||
as those for <code>-D platforms=...</code>. When the variable is not set,
|
||||
the main library uses the first platform listed in
|
||||
<code>-D platforms=...</code> as the native platform.</p>
|
||||
|
||||
<p>Extensions like <code>EGL_MESA_drm_display</code> define new functions to
|
||||
create displays for non-native platforms. These extensions are usually used by
|
||||
applications that support non-native platforms. Setting this variable is
|
||||
probably required only for some of the demos found in mesa/demo repository.</p>
|
||||
|
||||
</dd>
|
||||
|
||||
<dt><code>EGL_LOG_LEVEL</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>This changes the log level of the main library and the drivers. The valid
|
||||
values are: <code>debug</code>, <code>info</code>, <code>warning</code>, and
|
||||
<code>fatal</code>.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h2>EGL Drivers</h2>
|
||||
|
||||
<dl>
|
||||
<dt><code>egl_dri2</code></dt>
|
||||
<dd>
|
||||
|
||||
<p>This driver supports both <code>x11</code> and <code>drm</code> platforms.
|
||||
It functions as a DRI driver loader. For <code>x11</code> support, it talks to
|
||||
the X server directly using (XCB-)DRI2 protocol.</p>
|
||||
|
||||
<p>This driver can share DRI drivers with <code>libGL</code>.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h2>Packaging</h2>
|
||||
|
||||
<p>The ABI between the main library and its drivers are not stable. Nor is
|
||||
there a plan to stabilize it at the moment.</p>
|
||||
|
||||
<h2>Developers</h2>
|
||||
|
||||
<p>The sources of the main library and drivers can be found at
|
||||
<code>src/egl/</code>.</p>
|
||||
|
||||
<h3>Lifetime of Display Resources</h3>
|
||||
|
||||
<p>Contexts and surfaces are examples of display resources. They might live
|
||||
longer than the display that creates them.</p>
|
||||
|
||||
<p>In EGL, when a display is terminated through <code>eglTerminate</code>, all
|
||||
display resources should be destroyed. Similarly, when a thread is released
|
||||
through <code>eglReleaseThread</code>, all current display resources should be
|
||||
released. Another way to destroy or release resources is through functions
|
||||
such as <code>eglDestroySurface</code> or <code>eglMakeCurrent</code>.</p>
|
||||
|
||||
<p>When a resource that is current to some thread is destroyed, the resource
|
||||
should not be destroyed immediately. EGL requires the resource to live until
|
||||
it is no longer current. A driver usually calls
|
||||
<code>eglIs<Resource>Bound</code> to check if a resource is bound
|
||||
(current) to any thread in the destroy callbacks. If it is still bound, the
|
||||
resource is not destroyed.</p>
|
||||
|
||||
<p>The main library will mark destroyed current resources as unlinked. In a
|
||||
driver's <code>MakeCurrent</code> callback,
|
||||
<code>eglIs<Resource>Linked</code> can then be called to check if a newly
|
||||
released resource is linked to a display. If it is not, the last reference to
|
||||
the resource is removed and the driver should destroy the resource. But it
|
||||
should be careful here because <code>MakeCurrent</code> might be called with an
|
||||
uninitialized display.</p>
|
||||
|
||||
<p>This is the only mechanism provided by the main library to help manage the
|
||||
resources. The drivers are responsible to the correct behavior as defined by
|
||||
EGL.</p>
|
||||
|
||||
<h3><code>EGL_RENDER_BUFFER</code></h3>
|
||||
|
||||
<p>In EGL, the color buffer a context should try to render to is decided by the
|
||||
binding surface. It should try to render to the front buffer if the binding
|
||||
surface has <code>EGL_RENDER_BUFFER</code> set to
|
||||
<code>EGL_SINGLE_BUFFER</code>; If the same context is later bound to a
|
||||
surface with <code>EGL_RENDER_BUFFER</code> set to
|
||||
<code>EGL_BACK_BUFFER</code>, the context should try to render to the back
|
||||
buffer. However, the context is allowed to make the final decision as to which
|
||||
color buffer it wants to or is able to render to.</p>
|
||||
|
||||
<p>For pbuffer surfaces, the render buffer is always
|
||||
<code>EGL_BACK_BUFFER</code>. And for pixmap surfaces, the render buffer is
|
||||
always <code>EGL_SINGLE_BUFFER</code>. Unlike window surfaces, EGL spec
|
||||
requires their <code>EGL_RENDER_BUFFER</code> values to be honored. As a
|
||||
result, a driver should never set <code>EGL_PIXMAP_BIT</code> or
|
||||
<code>EGL_PBUFFER_BIT</code> bits of a config if the contexts created with the
|
||||
config won't be able to honor the <code>EGL_RENDER_BUFFER</code> of pixmap or
|
||||
pbuffer surfaces.</p>
|
||||
|
||||
<p>It should also be noted that pixmap and pbuffer surfaces are assumed to be
|
||||
single-buffered, in that <code>eglSwapBuffers</code> has no effect on them. It
|
||||
is desirable that a driver allocates a private color buffer for each pbuffer
|
||||
surface created. If the window system the driver supports has native pbuffers,
|
||||
or if the native pixmaps have more than one color buffers, the driver should
|
||||
carefully attach the native color buffers to the EGL surfaces, re-route them if
|
||||
required.</p>
|
||||
|
||||
<p>There is no defined behavior as to, for example, how
|
||||
<code>glDrawBuffer</code> interacts with <code>EGL_RENDER_BUFFER</code>. Right
|
||||
now, it is desired that the draw buffer in a client API be fixed for pixmap and
|
||||
pbuffer surfaces. Therefore, the driver is responsible to guarantee that the
|
||||
client API renders to the specified render buffer for pixmap and pbuffer
|
||||
surfaces.</p>
|
||||
|
||||
<h3><code>EGLDisplay</code> Mutex</h3>
|
||||
|
||||
The <code>EGLDisplay</code> will be locked before calling any of the dispatch
|
||||
functions (well, except for GetProcAddress which does not take an
|
||||
<code>EGLDisplay</code>). This guarantees that the same dispatch function will
|
||||
not be called with the sample display at the same time. If a driver has access
|
||||
to an <code>EGLDisplay</code> without going through the EGL APIs, the driver
|
||||
should as well lock the display before using it.
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,197 @@
|
|||
EGL
|
||||
===
|
||||
|
||||
The current version of EGL in Mesa implements EGL 1.4. More information
|
||||
about EGL can be found at https://www.khronos.org/egl/.
|
||||
|
||||
The Mesa's implementation of EGL uses a driver architecture. The main
|
||||
library (``libEGL``) is window system neutral. It provides the EGL API
|
||||
entry points and helper functions for use by the drivers. Drivers are
|
||||
dynamically loaded by the main library and most of the EGL API calls are
|
||||
directly dispatched to the drivers.
|
||||
|
||||
The driver in use decides the window system to support.
|
||||
|
||||
Build EGL
|
||||
---------
|
||||
|
||||
#. Configure your build with the desired client APIs and enable the
|
||||
driver for your hardware. For example:
|
||||
|
||||
::
|
||||
|
||||
$ meson configure \
|
||||
-D egl=true \
|
||||
-D gles1=true \
|
||||
-D gles2=true \
|
||||
-D dri-drivers=... \
|
||||
-D gallium-drivers=...
|
||||
|
||||
The main library and OpenGL is enabled by default. The first two
|
||||
options above enables `OpenGL ES 1.x and 2.x <opengles.html>`__. The
|
||||
last two options enables the listed classic and Gallium drivers
|
||||
respectively.
|
||||
|
||||
#. Build and install Mesa as usual.
|
||||
|
||||
In the given example, it will build and install ``libEGL``, ``libGL``,
|
||||
``libGLESv1_CM``, ``libGLESv2``, and one or more EGL drivers.
|
||||
|
||||
Configure Options
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
There are several options that control the build of EGL at configuration
|
||||
time
|
||||
|
||||
``-D egl=true``
|
||||
By default, EGL is enabled. When disabled, the main library and the
|
||||
drivers will not be built.
|
||||
|
||||
``-D platforms=...``
|
||||
List the platforms (window systems) to support. Its argument is a
|
||||
comma separated string such as ``-D platforms=x11,drm``. It decides
|
||||
the platforms a driver may support. The first listed platform is also
|
||||
used by the main library to decide the native platform.
|
||||
|
||||
The available platforms are ``x11``, ``drm``, ``wayland``,
|
||||
``surfaceless``, ``android``, and ``haiku``. The ``android`` platform
|
||||
can either be built as a system component, part of AOSP, using
|
||||
``Android.mk`` files, or cross-compiled using appropriate options.
|
||||
Unless for special needs, the build system should select the right
|
||||
platforms automatically.
|
||||
|
||||
``-D gles1=true`` and ``-D gles2=true``
|
||||
These options enable OpenGL ES support in OpenGL. The result is one
|
||||
big internal library that supports multiple APIs.
|
||||
|
||||
``-D shared-glapi=true``
|
||||
By default, ``libGL`` has its own copy of ``libglapi``. This options
|
||||
makes ``libGL`` use the shared ``libglapi``. This is required if
|
||||
applications mix OpenGL and OpenGL ES.
|
||||
|
||||
Use EGL
|
||||
-------
|
||||
|
||||
Demos
|
||||
~~~~~
|
||||
|
||||
There are demos for the client APIs supported by EGL. They can be found
|
||||
in mesa/demos repository.
|
||||
|
||||
Environment Variables
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
There are several environment variables that control the behavior of EGL
|
||||
at runtime
|
||||
|
||||
``EGL_PLATFORM``
|
||||
This variable specifies the native platform. The valid values are the
|
||||
same as those for ``-D platforms=...``. When the variable is not set,
|
||||
the main library uses the first platform listed in
|
||||
``-D platforms=...`` as the native platform.
|
||||
|
||||
Extensions like ``EGL_MESA_drm_display`` define new functions to
|
||||
create displays for non-native platforms. These extensions are
|
||||
usually used by applications that support non-native platforms.
|
||||
Setting this variable is probably required only for some of the demos
|
||||
found in mesa/demo repository.
|
||||
|
||||
``EGL_LOG_LEVEL``
|
||||
This changes the log level of the main library and the drivers. The
|
||||
valid values are: ``debug``, ``info``, ``warning``, and ``fatal``.
|
||||
|
||||
EGL Drivers
|
||||
-----------
|
||||
|
||||
``egl_dri2``
|
||||
This driver supports both ``x11`` and ``drm`` platforms. It functions
|
||||
as a DRI driver loader. For ``x11`` support, it talks to the X server
|
||||
directly using (XCB-)DRI2 protocol.
|
||||
|
||||
This driver can share DRI drivers with ``libGL``.
|
||||
|
||||
Packaging
|
||||
---------
|
||||
|
||||
The ABI between the main library and its drivers are not stable. Nor is
|
||||
there a plan to stabilize it at the moment.
|
||||
|
||||
Developers
|
||||
----------
|
||||
|
||||
The sources of the main library and drivers can be found at
|
||||
``src/egl/``.
|
||||
|
||||
Lifetime of Display Resources
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Contexts and surfaces are examples of display resources. They might live
|
||||
longer than the display that creates them.
|
||||
|
||||
In EGL, when a display is terminated through ``eglTerminate``, all
|
||||
display resources should be destroyed. Similarly, when a thread is
|
||||
released through ``eglReleaseThread``, all current display resources
|
||||
should be released. Another way to destroy or release resources is
|
||||
through functions such as ``eglDestroySurface`` or ``eglMakeCurrent``.
|
||||
|
||||
When a resource that is current to some thread is destroyed, the
|
||||
resource should not be destroyed immediately. EGL requires the resource
|
||||
to live until it is no longer current. A driver usually calls
|
||||
``eglIs<Resource>Bound`` to check if a resource is bound (current) to
|
||||
any thread in the destroy callbacks. If it is still bound, the resource
|
||||
is not destroyed.
|
||||
|
||||
The main library will mark destroyed current resources as unlinked. In a
|
||||
driver's ``MakeCurrent`` callback, ``eglIs<Resource>Linked`` can then be
|
||||
called to check if a newly released resource is linked to a display. If
|
||||
it is not, the last reference to the resource is removed and the driver
|
||||
should destroy the resource. But it should be careful here because
|
||||
``MakeCurrent`` might be called with an uninitialized display.
|
||||
|
||||
This is the only mechanism provided by the main library to help manage
|
||||
the resources. The drivers are responsible to the correct behavior as
|
||||
defined by EGL.
|
||||
|
||||
``EGL_RENDER_BUFFER``
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
In EGL, the color buffer a context should try to render to is decided by
|
||||
the binding surface. It should try to render to the front buffer if the
|
||||
binding surface has ``EGL_RENDER_BUFFER`` set to ``EGL_SINGLE_BUFFER``;
|
||||
If the same context is later bound to a surface with
|
||||
``EGL_RENDER_BUFFER`` set to ``EGL_BACK_BUFFER``, the context should try
|
||||
to render to the back buffer. However, the context is allowed to make
|
||||
the final decision as to which color buffer it wants to or is able to
|
||||
render to.
|
||||
|
||||
For pbuffer surfaces, the render buffer is always ``EGL_BACK_BUFFER``.
|
||||
And for pixmap surfaces, the render buffer is always
|
||||
``EGL_SINGLE_BUFFER``. Unlike window surfaces, EGL spec requires their
|
||||
``EGL_RENDER_BUFFER`` values to be honored. As a result, a driver should
|
||||
never set ``EGL_PIXMAP_BIT`` or ``EGL_PBUFFER_BIT`` bits of a config if
|
||||
the contexts created with the config won't be able to honor the
|
||||
``EGL_RENDER_BUFFER`` of pixmap or pbuffer surfaces.
|
||||
|
||||
It should also be noted that pixmap and pbuffer surfaces are assumed to
|
||||
be single-buffered, in that ``eglSwapBuffers`` has no effect on them. It
|
||||
is desirable that a driver allocates a private color buffer for each
|
||||
pbuffer surface created. If the window system the driver supports has
|
||||
native pbuffers, or if the native pixmaps have more than one color
|
||||
buffers, the driver should carefully attach the native color buffers to
|
||||
the EGL surfaces, re-route them if required.
|
||||
|
||||
There is no defined behavior as to, for example, how ``glDrawBuffer``
|
||||
interacts with ``EGL_RENDER_BUFFER``. Right now, it is desired that the
|
||||
draw buffer in a client API be fixed for pixmap and pbuffer surfaces.
|
||||
Therefore, the driver is responsible to guarantee that the client API
|
||||
renders to the specified render buffer for pixmap and pbuffer surfaces.
|
||||
|
||||
``EGLDisplay`` Mutex
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ``EGLDisplay`` will be locked before calling any of the dispatch
|
||||
functions (well, except for GetProcAddress which does not take an
|
||||
``EGLDisplay``). This guarantees that the same dispatch function will
|
||||
not be called with the sample display at the same time. If a driver has
|
||||
access to an ``EGLDisplay`` without going through the EGL APIs, the
|
||||
driver should as well lock the display before using it.
|
|
@ -1,786 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Environment Variables</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Environment Variables</h1>
|
||||
|
||||
<p>
|
||||
Normally, no environment variables need to be set. Most of the environment
|
||||
variables used by Mesa/Gallium are for debugging purposes, but they can
|
||||
sometimes be useful for debugging end-user issues.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>LibGL environment variables</h2>
|
||||
|
||||
<dl>
|
||||
<dt><code>LIBGL_DEBUG</code></dt>
|
||||
<dd>If defined debug information will be printed to stderr.
|
||||
If set to <code>verbose</code> additional information will be
|
||||
printed.</dd>
|
||||
<dt><code>LIBGL_DRIVERS_PATH</code></dt>
|
||||
<dd>colon-separated list of paths to search for DRI drivers</dd>
|
||||
<dt><code>LIBGL_ALWAYS_INDIRECT</code></dt>
|
||||
<dd>if set to <code>true</code>, forces an indirect rendering
|
||||
context/connection.</dd>
|
||||
<dt><code>LIBGL_ALWAYS_SOFTWARE</code></dt>
|
||||
<dd>if set to <code>true</code>, always use software rendering</dd>
|
||||
<dt><code>LIBGL_NO_DRAWARRAYS</code></dt>
|
||||
<dd>if set to <code>true</code>, do not use DrawArrays GLX protocol
|
||||
(for debugging)</dd>
|
||||
<dt><code>LIBGL_SHOW_FPS</code></dt>
|
||||
<dd>print framerate to stdout based on the number of
|
||||
<code>glXSwapBuffers</code> calls per second.</dd>
|
||||
<dt><code>LIBGL_DRI3_DISABLE</code></dt>
|
||||
<dd>disable DRI3 if set to <code>true</code>.</dd>
|
||||
</dl>
|
||||
|
||||
<h2>Core Mesa environment variables</h2>
|
||||
|
||||
<dl>
|
||||
<dt><code>MESA_NO_ASM</code></dt>
|
||||
<dd>if set, disables all assembly language optimizations</dd>
|
||||
<dt><code>MESA_NO_MMX</code></dt>
|
||||
<dd>if set, disables Intel MMX optimizations</dd>
|
||||
<dt><code>MESA_NO_3DNOW</code></dt>
|
||||
<dd>if set, disables AMD 3DNow! optimizations</dd>
|
||||
<dt><code>MESA_NO_SSE</code></dt>
|
||||
<dd>if set, disables Intel SSE optimizations</dd>
|
||||
<dt><code>MESA_NO_ERROR</code></dt>
|
||||
<dd>if set to 1, error checking is disabled as per <code>KHR_no_error</code>.
|
||||
This will result in undefined behaviour for invalid use of the api, but
|
||||
can reduce CPU use for apps that are known to be error free.</dd>
|
||||
<dt><code>MESA_DEBUG</code></dt>
|
||||
<dd>if set, error messages are printed to stderr. For example,
|
||||
if the application generates a <code>GL_INVALID_ENUM</code> error, a
|
||||
corresponding error message indicating where the error occurred, and
|
||||
possibly why, will be printed to stderr. For release builds,
|
||||
<code>MESA_DEBUG</code> defaults to off (no debug output).
|
||||
<code>MESA_DEBUG</code> accepts the following comma-separated list of
|
||||
named flags, which adds extra behaviour to just set
|
||||
<code>MESA_DEBUG=1</code>:
|
||||
<dl>
|
||||
<dt><code>silent</code></dt>
|
||||
<dd>turn off debug messages. Only useful for debug builds.</dd>
|
||||
<dt><code>flush</code></dt>
|
||||
<dd>flush after each drawing command</dd>
|
||||
<dt><code>incomplete_tex</code></dt>
|
||||
<dd>extra debug messages when a texture is incomplete</dd>
|
||||
<dt><code>incomplete_fbo</code></dt>
|
||||
<dd>extra debug messages when a fbo is incomplete</dd>
|
||||
<dt><code>context</code></dt>
|
||||
<dd>create a debug context (see <code>GLX_CONTEXT_DEBUG_BIT_ARB</code>)
|
||||
and print error and performance messages to stderr (or
|
||||
<code>MESA_LOG_FILE</code>).</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>MESA_LOG_FILE</code></dt>
|
||||
<dd>specifies a file name for logging all errors, warnings,
|
||||
etc., rather than stderr</dd>
|
||||
<dt><code>MESA_TEX_PROG</code></dt>
|
||||
<dd>if set, implement conventional texture env modes with
|
||||
fragment programs (intended for developers only)</dd>
|
||||
<dt><code>MESA_TNL_PROG</code></dt>
|
||||
<dd>if set, implement conventional vertex transformation operations with
|
||||
vertex programs (intended for developers only). Setting this variable
|
||||
automatically sets the <code>MESA_TEX_PROG</code> variable as well.</dd>
|
||||
<dt><code>MESA_EXTENSION_OVERRIDE</code></dt>
|
||||
<dd>can be used to enable/disable extensions. A value such as
|
||||
<code>GL_EXT_foo -GL_EXT_bar</code> will enable the
|
||||
<code>GL_EXT_foo</code> extension and disable the
|
||||
<code>GL_EXT_bar</code> extension.</dd>
|
||||
<dt><code>MESA_EXTENSION_MAX_YEAR</code></dt>
|
||||
<dd>The <code>GL_EXTENSIONS</code> string returned by Mesa is sorted by
|
||||
extension year. If this variable is set to year X, only extensions
|
||||
defined on or before year X will be reported. This is to work-around a
|
||||
bug in some games where the extension string is copied into a fixed-size
|
||||
buffer without truncating. If the extension string is too long, the
|
||||
buffer overrun can cause the game to crash. This is a work-around for
|
||||
that.</dd>
|
||||
<dt><code>MESA_GL_VERSION_OVERRIDE</code></dt>
|
||||
<dd>changes the value returned by
|
||||
<code>glGetString(GL_VERSION)</code> and possibly the GL API type.
|
||||
<ul>
|
||||
<li>The format should be <code>MAJOR.MINOR[FC|COMPAT]</code>
|
||||
<li><code>FC</code> is an optional suffix that indicates a forward
|
||||
compatible context. This is only valid for versions >= 3.0.
|
||||
<li><code>COMPAT</code> is an optional suffix that indicates a
|
||||
compatibility context or <code>GL_ARB_compatibility</code> support.
|
||||
This is only valid for versions >= 3.1.
|
||||
<li>GL versions <= 3.0 are set to a compatibility (non-Core)
|
||||
profile
|
||||
<li>GL versions = 3.1, depending on the driver, it may or may not
|
||||
have the <code>ARB_compatibility</code> extension enabled.
|
||||
<li>GL versions >= 3.2 are set to a Core profile
|
||||
<li>Examples:
|
||||
<dl>
|
||||
<dt><code>2.1</code></dt>
|
||||
<dd>select a compatibility (non-Core) profile with GL version 2.1.</dd>
|
||||
<dt><code>3.0</code></dt>
|
||||
<dd>select a compatibility (non-Core) profile with GL version 3.0.</dd>
|
||||
<dt><code>3.0FC</code></dt>
|
||||
<dd>select a Core+Forward Compatible profile with GL version 3.0.</dd>
|
||||
<dt><code>3.1</code></dt>
|
||||
<dd>select GL version 3.1 with <code>GL_ARB_compatibility</code>
|
||||
enabled per the driver default.</dd>
|
||||
<dt><code>3.1FC</code></dt>
|
||||
<dd>select GL version 3.1 with forward compatibility and
|
||||
<code>GL_ARB_compatibility</code> disabled.</dd>
|
||||
<dt><code>3.1COMPAT</code></dt>
|
||||
<dd>select GL version 3.1 with <code>GL_ARB_compatibility</code>
|
||||
enabled.</dd>
|
||||
<dt><code>X.Y</code></dt>
|
||||
<dd>override GL version to X.Y without changing the profile.</dd>
|
||||
<dt><code>X.YFC</code></dt>
|
||||
<dd>select a Core+Forward Compatible profile with GL version X.Y.</dd>
|
||||
<dt><code>X.YCOMPAT</code></dt>
|
||||
<dd>select a Compatibility profile with GL version X.Y.</dd>
|
||||
</dl>
|
||||
<li>Mesa may not really implement all the features of the given
|
||||
version. (for developers only)
|
||||
</ul>
|
||||
</dd>
|
||||
<dt><code>MESA_GLES_VERSION_OVERRIDE</code></dt>
|
||||
<dd>changes the value returned by <code>glGetString(GL_VERSION)</code>
|
||||
for OpenGL ES.
|
||||
<ul>
|
||||
<li> The format should be <code>MAJOR.MINOR</code>
|
||||
<li> Examples: <code>2.0</code>, <code>3.0</code>, <code>3.1</code>
|
||||
<li> Mesa may not really implement all the features of the given version.
|
||||
(for developers only)
|
||||
</ul>
|
||||
</dd>
|
||||
<dt><code>MESA_GLSL_VERSION_OVERRIDE</code></dt>
|
||||
<dd>changes the value returned by
|
||||
<code>glGetString(GL_SHADING_LANGUAGE_VERSION)</code>.
|
||||
Valid values are integers, such as <code>130</code>. Mesa will not
|
||||
really implement all the features of the given language version if
|
||||
it's higher than what's normally reported. (for developers only)
|
||||
</dd>
|
||||
<dt><code>MESA_GLSL_CACHE_DISABLE</code></dt>
|
||||
<dd>if set to <code>true</code>, disables the GLSL shader cache</dd>
|
||||
<dt><code>MESA_GLSL_CACHE_MAX_SIZE</code></dt>
|
||||
<dd>if set, determines the maximum size of the on-disk cache of compiled GLSL
|
||||
programs. Should be set to a number optionally followed by <code>K</code>,
|
||||
<code>M</code>, or <code>G</code> to specify a size in kilobytes,
|
||||
megabytes, or gigabytes. By default, gigabytes will be assumed. And if
|
||||
unset, a maximum size of 1GB will be used. Note: A separate cache might
|
||||
be created for each architecture that Mesa is installed for on your
|
||||
system. For example under the default settings you may end up with a 1GB
|
||||
cache for x86_64 and another 1GB cache for i386.</dd>
|
||||
<dt><code>MESA_GLSL_CACHE_DIR</code></dt>
|
||||
<dd>if set, determines the directory to be used for the on-disk cache of
|
||||
compiled GLSL programs. If this variable is not set, then the cache will
|
||||
be stored in <code>$XDG_CACHE_HOME/mesa_shader_cache</code> (if that
|
||||
variable is set), or else within <code>.cache/mesa_shader_cache</code>
|
||||
within the user's home directory.
|
||||
</dd>
|
||||
<dt><code>MESA_GLSL</code></dt>
|
||||
<dd><a href="shading.html#envvars">shading language compiler options</a></dd>
|
||||
<dt><code>MESA_NO_MINMAX_CACHE</code></dt>
|
||||
<dd>when set, the minmax index cache is globally disabled.</dd>
|
||||
<dt><code>MESA_SHADER_CAPTURE_PATH</code></dt>
|
||||
<dd>see <a href="shading.html#capture">Capturing Shaders</a></dd>
|
||||
<dt><code>MESA_SHADER_DUMP_PATH</code> and <code>MESA_SHADER_READ_PATH</code></dt>
|
||||
<dd>see <a href="shading.html#replacement">Experimenting with Shader Replacements</a></dd>
|
||||
<dt><code>MESA_VK_VERSION_OVERRIDE</code></dt>
|
||||
<dd>changes the Vulkan physical device version
|
||||
as returned in <code>VkPhysicalDeviceProperties::apiVersion</code>.
|
||||
<ul>
|
||||
<li>The format should be <code>MAJOR.MINOR[.PATCH]</code></li>
|
||||
<li>This will not let you force a version higher than the driver's
|
||||
instance version as advertised by
|
||||
<code>vkEnumerateInstanceVersion</code></li>
|
||||
<li>This can be very useful for debugging but some features may not be
|
||||
implemented correctly. (For developers only)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h2>NIR passes enviroment variables</h2>
|
||||
<p>
|
||||
The following are only applicable for drivers that uses NIR, as they
|
||||
modify the behaviour for the common NIR_PASS and NIR_PASS_V macros,
|
||||
that wrap calls to NIR lowering/optimizations.
|
||||
</p>
|
||||
|
||||
<dl>
|
||||
<dt><code>NIR_PRINT</code></dt>
|
||||
<dd>If defined, the resulting NIR shader will be printed out at each succesful NIR lowering/optimization call.</dd>
|
||||
<dt><code>NIR_TEST_CLONE</code></dt>
|
||||
<dd>If defined, cloning a NIR shader would be tested at each succesful NIR lowering/optimization call.</dd>
|
||||
<dt><code>NIR_TEST_SERIALIZE</code></dt>
|
||||
<dd>If defined, serialize and deserialize a NIR shader would be tested at each succesful NIR lowering/optimization call.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h2>Mesa Xlib driver environment variables</h2>
|
||||
|
||||
<p>
|
||||
The following are only applicable to the Mesa Xlib software driver.
|
||||
See the <a href="xlibdriver.html">Xlib software driver page</a> for details.
|
||||
</p>
|
||||
<dl>
|
||||
<dt><code>MESA_RGB_VISUAL</code></dt>
|
||||
<dd>specifies the X visual and depth for RGB mode</dd>
|
||||
<dt><code>MESA_CI_VISUAL</code></dt>
|
||||
<dd>specifies the X visual and depth for CI mode</dd>
|
||||
<dt><code>MESA_BACK_BUFFER</code></dt>
|
||||
<dd>specifies how to implement the back color buffer, either
|
||||
<code>pixmap</code> or <code>ximage</code></dd>
|
||||
<dt><code>MESA_GAMMA</code></dt>
|
||||
<dd>gamma correction coefficients for red, green, blue channels</dd>
|
||||
<dt><code>MESA_XSYNC</code></dt>
|
||||
<dd>enable synchronous X behavior (for debugging only)</dd>
|
||||
<dt><code>MESA_GLX_FORCE_CI</code></dt>
|
||||
<dd>if set, force GLX to treat 8bpp visuals as CI visuals</dd>
|
||||
<dt><code>MESA_GLX_FORCE_ALPHA</code></dt>
|
||||
<dd>if set, forces RGB windows to have an alpha channel.</dd>
|
||||
<dt><code>MESA_GLX_DEPTH_BITS</code></dt>
|
||||
<dd>specifies default number of bits for depth buffer.</dd>
|
||||
<dt><code>MESA_GLX_ALPHA_BITS</code></dt>
|
||||
<dd>specifies default number of bits for alpha channel.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h2>i945/i965 driver environment variables (non-Gallium)</h2>
|
||||
|
||||
<dl>
|
||||
<dt><code>INTEL_NO_HW</code></dt>
|
||||
<dd>if set to 1, prevents batches from being submitted to the hardware.
|
||||
This is useful for debugging hangs, etc.</dd>
|
||||
<dt><code>INTEL_DEBUG</code></dt>
|
||||
<dd>a comma-separated list of named flags, which do various things:
|
||||
<dl>
|
||||
<dt><code>ann</code></dt>
|
||||
<dd>annotate IR in assembly dumps</dd>
|
||||
<dt><code>aub</code></dt>
|
||||
<dd>dump batches into an AUB trace for use with simulation tools</dd>
|
||||
<dt><code>bat</code></dt>
|
||||
<dd>emit batch information</dd>
|
||||
<dt><code>blit</code></dt>
|
||||
<dd>emit messages about blit operations</dd>
|
||||
<dt><code>blorp</code></dt>
|
||||
<dd>emit messages about the blorp operations (blits & clears)</dd>
|
||||
<dt><code>buf</code></dt>
|
||||
<dd>emit messages about buffer objects</dd>
|
||||
<dt><code>clip</code></dt>
|
||||
<dd>emit messages about the clip unit (for old gens, includes the CLIP program)</dd>
|
||||
<dt><code>color</code></dt>
|
||||
<dd>use color in output</dd>
|
||||
<dt><code>cs</code></dt>
|
||||
<dd>dump shader assembly for compute shaders</dd>
|
||||
<dt><code>do32</code></dt>
|
||||
<dd>generate compute shader SIMD32 programs even if workgroup size doesn't exceed the SIMD16 limit</dd>
|
||||
<dt><code>dri</code></dt>
|
||||
<dd>emit messages about the DRI interface</dd>
|
||||
<dt><code>fbo</code></dt>
|
||||
<dd>emit messages about framebuffers</dd>
|
||||
<dt><code>fs</code></dt>
|
||||
<dd>dump shader assembly for fragment shaders</dd>
|
||||
<dt><code>gs</code></dt>
|
||||
<dd>dump shader assembly for geometry shaders</dd>
|
||||
<dt><code>hex</code></dt>
|
||||
<dd>print instruction hex dump with the disassembly</dd>
|
||||
<dt><code>l3</code></dt>
|
||||
<dd>emit messages about the new L3 state during transitions</dd>
|
||||
<dt><code>miptree</code></dt>
|
||||
<dd>emit messages about miptrees</dd>
|
||||
<dt><code>no8</code></dt>
|
||||
<dd>don't generate SIMD8 fragment shader</dd>
|
||||
<dt><code>no16</code></dt>
|
||||
<dd>suppress generation of 16-wide fragment shaders. useful for debugging broken shaders</dd>
|
||||
<dt><code>nocompact</code></dt>
|
||||
<dd>disable instruction compaction</dd>
|
||||
<dt><code>nodualobj</code></dt>
|
||||
<dd>suppress generation of dual-object geometry shader code</dd>
|
||||
<dt><code>nofc</code></dt>
|
||||
<dd>disable fast clears</dd>
|
||||
<dt><code>norbc</code></dt>
|
||||
<dd>disable single sampled render buffer compression</dd>
|
||||
<dt><code>optimizer</code></dt>
|
||||
<dd>dump shader assembly to files at each optimization pass and iteration that make progress</dd>
|
||||
<dt><code>perf</code></dt>
|
||||
<dd>emit messages about performance issues</dd>
|
||||
<dt><code>perfmon</code></dt>
|
||||
<dd>emit messages about <code>AMD_performance_monitor</code></dd>
|
||||
<dt><code>pix</code></dt>
|
||||
<dd>emit messages about pixel operations</dd>
|
||||
<dt><code>prim</code></dt>
|
||||
<dd>emit messages about drawing primitives</dd>
|
||||
<dt><code>reemit</code></dt>
|
||||
<dd>mark all state dirty on each draw call</dd>
|
||||
<dt><code>sf</code></dt>
|
||||
<dd>emit messages about the strips & fans unit (for old gens, includes the SF program)</dd>
|
||||
<dt><code>shader_time</code></dt>
|
||||
<dd>record how much GPU time is spent in each shader</dd>
|
||||
<dt><code>spill_fs</code></dt>
|
||||
<dd>force spilling of all registers in the scalar backend (useful to debug spilling code)</dd>
|
||||
<dt><code>spill_vec4</code></dt>
|
||||
<dd>force spilling of all registers in the vec4 backend (useful to debug spilling code)</dd>
|
||||
<dt><code>state</code></dt>
|
||||
<dd>emit messages about state flag tracking</dd>
|
||||
<dt><code>submit</code></dt>
|
||||
<dd>emit batchbuffer usage statistics</dd>
|
||||
<dt><code>sync</code></dt>
|
||||
<dd>after sending each batch, emit a message and wait for that batch to finish rendering</dd>
|
||||
<dt><code>tcs</code></dt>
|
||||
<dd>dump shader assembly for tessellation control shaders</dd>
|
||||
<dt><code>tes</code></dt>
|
||||
<dd>dump shader assembly for tessellation evaluation shaders</dd>
|
||||
<dt><code>tex</code></dt>
|
||||
<dd>emit messages about textures.</dd>
|
||||
<dt><code>urb</code></dt>
|
||||
<dd>emit messages about URB setup</dd>
|
||||
<dt><code>vert</code></dt>
|
||||
<dd>emit messages about vertex assembly</dd>
|
||||
<dt><code>vs</code></dt>
|
||||
<dd>dump shader assembly for vertex shaders</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>INTEL_SCALAR_VS</code> (or <code>TCS</code>, <code>TES</code>,
|
||||
<code>GS</code>)</dt>
|
||||
<dd>force scalar/vec4 mode for a shader stage (Gen8-9 only)</dd>
|
||||
<dt><code>INTEL_PRECISE_TRIG</code></dt>
|
||||
<dd>if set to 1, true or yes, then the driver prefers accuracy over
|
||||
performance in trig functions.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h2>Radeon driver environment variables (radeon, r200, and r300g)</h2>
|
||||
|
||||
<dl>
|
||||
<dt><code>RADEON_NO_TCL</code></dt>
|
||||
<dd>if set, disable hardware-accelerated Transform/Clip/Lighting.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h2>EGL environment variables</h2>
|
||||
|
||||
<p>
|
||||
Mesa EGL supports different sets of environment variables. See the
|
||||
<a href="egl.html">Mesa EGL</a> page for the details.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Gallium environment variables</h2>
|
||||
|
||||
<dl>
|
||||
<dt><code>GALLIUM_HUD</code></dt>
|
||||
<dd>draws various information on the screen, like framerate,
|
||||
cpu load, driver statistics, performance counters, etc.
|
||||
Set <code>GALLIUM_HUD=help</code> and run e.g.
|
||||
<code>glxgears</code> for more info.</dd>
|
||||
<dt><code>GALLIUM_HUD_PERIOD</code></dt>
|
||||
<dd>sets the hud update rate in seconds (float). Use zero
|
||||
to update every frame. The default period is 1/2 second.</dd>
|
||||
<dt><code>GALLIUM_HUD_VISIBLE</code></dt>
|
||||
<dd>control default visibility, defaults to true.</dd>
|
||||
<dt><code>GALLIUM_HUD_TOGGLE_SIGNAL</code></dt>
|
||||
<dd>toggle visibility via user specified signal.
|
||||
Especially useful to toggle hud at specific points of application and
|
||||
disable for unencumbered viewing the rest of the time. For example, set
|
||||
<code>GALLIUM_HUD_VISIBLE</code> to <code>false</code> and
|
||||
<code>GALLIUM_HUD_TOGGLE_SIGNAL</code> to <code>10</code>
|
||||
(<code>SIGUSR1</code>).
|
||||
Use <code>kill -10 <pid></code> to toggle the hud as desired.</dd>
|
||||
<dt><code>GALLIUM_HUD_SCALE</code></dt>
|
||||
<dd>Scale hud by an integer factor, for high DPI displays. Default is 1.</dd>
|
||||
<dt><code>GALLIUM_HUD_DUMP_DIR</code></dt>
|
||||
<dd>specifies a directory for writing the displayed hud values into files.</dd>
|
||||
<dt><code>GALLIUM_DRIVER</code></dt>
|
||||
<dd>useful in combination with <code>LIBGL_ALWAYS_SOFTWARE=true</code> for
|
||||
choosing one of the software renderers <code>softpipe</code>,
|
||||
<code>llvmpipe</code> or <code>swr</code>.</dd>
|
||||
<dt><code>GALLIUM_LOG_FILE</code></dt>
|
||||
<dd>specifies a file for logging all errors, warnings, etc.
|
||||
rather than stderr.</dd>
|
||||
<dt><code>GALLIUM_PRINT_OPTIONS</code></dt>
|
||||
<dd>if non-zero, print all the Gallium environment variables which are
|
||||
used, and their current values.</dd>
|
||||
<dt><code>GALLIUM_DUMP_CPU</code></dt>
|
||||
<dd>if non-zero, print information about the CPU on start-up</dd>
|
||||
<dt><code>TGSI_PRINT_SANITY</code></dt>
|
||||
<dd>if set, do extra sanity checking on TGSI shaders and
|
||||
print any errors to stderr.</dd>
|
||||
<dt><code>DRAW_FSE</code></dt>
|
||||
<dd>???</dd>
|
||||
<dt><code>DRAW_NO_FSE</code></dt>
|
||||
<dd>???</dd>
|
||||
<dt><code>DRAW_USE_LLVM</code></dt>
|
||||
<dd>if set to zero, the draw module will not use LLVM to execute
|
||||
shaders, vertex fetch, etc.</dd>
|
||||
<dt><code>ST_DEBUG</code></dt>
|
||||
<dd>controls debug output from the Mesa/Gallium state tracker.
|
||||
Setting to <code>tgsi</code>, for example, will print all the TGSI
|
||||
shaders. See <code>src/mesa/state_tracker/st_debug.c</code> for other
|
||||
options.</dd>
|
||||
</dl>
|
||||
|
||||
<h3>Clover environment variables</h3>
|
||||
|
||||
<dl>
|
||||
<dt><code>CLOVER_EXTRA_BUILD_OPTIONS</code></dt>
|
||||
<dd>allows specifying additional compiler and linker
|
||||
options. Specified options are appended after the options set by the OpenCL
|
||||
program in <code>clBuildProgram</code>.</dd>
|
||||
<dt><code>CLOVER_EXTRA_COMPILE_OPTIONS</code></dt>
|
||||
<dd>allows specifying additional compiler
|
||||
options. Specified options are appended after the options set by the OpenCL
|
||||
program in <code>clCompileProgram</code>.</dd>
|
||||
<dt><code>CLOVER_EXTRA_LINK_OPTIONS</code></dt>
|
||||
<dd>allows specifying additional linker
|
||||
options. Specified options are appended after the options set by the OpenCL
|
||||
program in <code>clLinkProgram</code>.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h3>Softpipe driver environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>SOFTPIPE_DUMP_FS</code></dt>
|
||||
<dd>if set, the softpipe driver will print fragment shaders to stderr</dd>
|
||||
<dt><code>SOFTPIPE_DUMP_GS</code></dt>
|
||||
<dd>if set, the softpipe driver will print geometry shaders to stderr</dd>
|
||||
<dt><code>SOFTPIPE_NO_RAST</code></dt>
|
||||
<dd>if set, rasterization is no-op'd. For profiling purposes.</dd>
|
||||
<dt><code>SOFTPIPE_USE_LLVM</code></dt>
|
||||
<dd>if set, the softpipe driver will try to use LLVM JIT for
|
||||
vertex shading processing.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h3>LLVMpipe driver environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>LP_NO_RAST</code></dt>
|
||||
<dd>if set LLVMpipe will no-op rasterization</dd>
|
||||
<dt><code>LP_DEBUG</code></dt>
|
||||
<dd>a comma-separated list of debug options is accepted. See the
|
||||
source code for details.</dd>
|
||||
<dt><code>LP_PERF</code></dt>
|
||||
<dd>a comma-separated list of options to selectively no-op various
|
||||
parts of the driver. See the source code for details.</dd>
|
||||
<dt><code>LP_NUM_THREADS</code></dt>
|
||||
<dd>an integer indicating how many threads to use for rendering.
|
||||
Zero turns off threading completely. The default value is the number of CPU
|
||||
cores present.</dd>
|
||||
</dl>
|
||||
|
||||
<h3>VMware SVGA driver environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>SVGA_FORCE_SWTNL</code></dt>
|
||||
<dd>force use of software vertex transformation</dd>
|
||||
<dt><code>SVGA_NO_SWTNL</code></dt>
|
||||
<dd>don't allow software vertex transformation fallbacks (will often result
|
||||
in incorrect rendering).</dd>
|
||||
<dt><code>SVGA_DEBUG</code></dt>
|
||||
<dd>for dumping shaders, constant buffers, etc. See the code for
|
||||
details.</dd>
|
||||
<dt><code>SVGA_EXTRA_LOGGING</code></dt>
|
||||
<dd>if set, enables extra logging to the <code>vmware.log</code> file,
|
||||
such as the OpenGL program's name and command line arguments.</dd>
|
||||
<dt><code>SVGA_NO_LOGGING</code></dt>
|
||||
<dd>if set, disables logging to the <code>vmware.log</code> file. This is
|
||||
useful when using Valgrind because it otherwise crashes when
|
||||
initializing the host log feature.</dd>
|
||||
</dl>
|
||||
<p>See the driver code for other, lesser-used variables.</p>
|
||||
|
||||
<h3>WGL environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>WGL_SWAP_INTERVAL</code></dt>
|
||||
<dd>to set a swap interval, equivalent to calling
|
||||
<code>wglSwapIntervalEXT()</code> in an application. If this
|
||||
environment variable is set, application calls to
|
||||
<code>wglSwapIntervalEXT()</code> will have no effect.</dd>
|
||||
</dl>
|
||||
|
||||
<h3>VA-API environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>VAAPI_MPEG4_ENABLED</code></dt>
|
||||
<dd>enable MPEG4 for VA-API, disabled by default.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h3>VC4 driver environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>VC4_DEBUG</code></dt>
|
||||
<dd>a comma-separated list of named flags, which do various things:
|
||||
<dl>
|
||||
<dt><code>cl</code></dt>
|
||||
<dd>dump command list during creation</dd>
|
||||
<dt><code>qpu</code></dt>
|
||||
<dd>dump generated QPU instructions</dd>
|
||||
<dt><code>qir</code></dt>
|
||||
<dd>dump QPU IR during program compile</dd>
|
||||
<dt><code>nir</code></dt>
|
||||
<dd>dump NIR during program compile</dd>
|
||||
<dt><code>tgsi</code></dt>
|
||||
<dd>dump TGSI during program compile</dd>
|
||||
<dt><code>shaderdb</code></dt>
|
||||
<dd>dump program compile information for shader-db analysis</dd>
|
||||
<dt><code>perf</code></dt>
|
||||
<dd>print during performance-related events</dd>
|
||||
<dt><code>norast</code></dt>
|
||||
<dd>skip actual hardware execution of commands</dd>
|
||||
<dt><code>always_flush</code></dt>
|
||||
<dd>flush after each draw call</dd>
|
||||
<dt><code>always_sync</code></dt>
|
||||
<dd>wait for finish after each flush</dd>
|
||||
<dt><code>dump</code></dt>
|
||||
<dd>write a GPU command stream trace file (VC4 simulator only)</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<h3>RADV driver environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>RADV_DEBUG</code></dt>
|
||||
<dd>a comma-separated list of named flags, which do various things:
|
||||
<dl>
|
||||
<dt><code>allbos</code></dt>
|
||||
<dd>force all allocated buffers to be referenced in submissions</dd>
|
||||
<dt><code>allentrypoints</code></dt>
|
||||
<dd>enable all device/instance entrypoints</dd>
|
||||
<dt><code>checkir</code></dt>
|
||||
<dd>validate the LLVM IR before LLVM compiles the shader</dd>
|
||||
<dt><code>errors</code></dt>
|
||||
<dd>display more info about errors</dd>
|
||||
<dt><code>info</code></dt>
|
||||
<dd>show GPU-related information</dd>
|
||||
<dt><code>metashaders</code></dt>
|
||||
<dd>dump internal meta shaders</dd>
|
||||
<dt><code>nobinning</code></dt>
|
||||
<dd>disable primitive binning</dd>
|
||||
<dt><code>nocache</code></dt>
|
||||
<dd>disable shaders cache</dd>
|
||||
<dt><code>nocompute</code></dt>
|
||||
<dd>disable compute queue</dd>
|
||||
<dt><code>nodcc</code></dt>
|
||||
<dd>disable Delta Color Compression (DCC) on images</dd>
|
||||
<dt><code>nodynamicbounds</code></dt>
|
||||
<dd>do not check OOB access for dynamic descriptors</dd>
|
||||
<dt><code>nofastclears</code></dt>
|
||||
<dd>disable fast color/depthstencil clears</dd>
|
||||
<dt><code>nohiz</code></dt>
|
||||
<dd>disable HIZ for depthstencil images</dd>
|
||||
<dt><code>noibs</code></dt>
|
||||
<dd>disable directly recording command buffers in GPU-visible memory</dd>
|
||||
<dt><code>noloadstoreopt</code></dt>
|
||||
<dd>disable LLVM SILoadStoreOptimizer pass</dd>
|
||||
<dt><code>nomemorycache</code></dt>
|
||||
<dd>disable memory shaders cache</dd>
|
||||
<dt><code>nongg</code></dt>
|
||||
<dd>disable NGG for GFX10+</dd>
|
||||
<dt><code>nooutoforder</code></dt>
|
||||
<dd>disable out-of-order rasterization</dd>
|
||||
<dt><code>noshaderballot</code></dt>
|
||||
<dd>disable shader ballot</dd>
|
||||
<dt><code>nothreadllvm</code></dt>
|
||||
<dd>disable LLVM threaded compilation</dd>
|
||||
<dt><code>preoptir</code></dt>
|
||||
<dd>dump LLVM IR before any optimizations</dd>
|
||||
<dt><code>shaders</code></dt>
|
||||
<dd>dump shaders</dd>
|
||||
<dt><code>shaderstats</code></dt>
|
||||
<dd>dump shader statistics</dd>
|
||||
<dt><code>spirv</code></dt>
|
||||
<dd>dump SPIR-V</dd>
|
||||
<dt><code>startup</code></dt>
|
||||
<dd>display info at startup</dd>
|
||||
<dt><code>syncshaders</code></dt>
|
||||
<dd>synchronize shaders after all draws/dispatches</dd>
|
||||
<dt><code>vmfaults</code></dt>
|
||||
<dd>check for VM memory faults via dmesg</dd>
|
||||
<dt><code>zerovram</code></dt>
|
||||
<dd>initialize all memory allocated in VRAM as zero</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>RADV_FORCE_FAMILY</code></dt>
|
||||
<dd>create a null device to compile shaders without a AMD GPU (eg. gfx900)</dd>
|
||||
<dt><code>RADV_PERFTEST</code></dt>
|
||||
<dd>a comma-separated list of named flags, which do various things:
|
||||
<dl>
|
||||
<dt><code>aco</code></dt>
|
||||
<dd>enable ACO experimental compiler</dd>
|
||||
<dt><code>bolist</code></dt>
|
||||
<dd>enable the global BO list</dd>
|
||||
<dt><code>cswave32</code></dt>
|
||||
<dd>enable wave32 for compute shaders (GFX10+)</dd>
|
||||
<dt><code>dccmsaa</code></dt>
|
||||
<dd>enable DCC for MSAA images</dd>
|
||||
<dt><code>dfsm</code></dt>
|
||||
<dd>enable dfsm</dd>
|
||||
<dt><code>gewave32</code></dt>
|
||||
<dd>enable wave32 for vertex/tess/geometry shaders (GFX10+)</dd>
|
||||
<dt><code>localbos</code></dt>
|
||||
<dd>enable local BOs</dd>
|
||||
<dt><code>pswave32</code></dt>
|
||||
<dd>enable wave32 for pixel shaders (GFX10+)</dd>
|
||||
<dt><code>shader_ballot</code></dt>
|
||||
<dd>enable shader ballot</dd>
|
||||
<dt><code>tccompatcmask</code></dt>
|
||||
<dd>enable TC-compat cmask for MSAA images</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
<dt><code>RADV_SECURE_COMPILE_THREADS</code></dt>
|
||||
<dd>maximum number of secure compile threads (up to 32)</dd>
|
||||
<dt><code>RADV_TEX_ANISO</code></dt>
|
||||
<dd>force anisotropy filter (up to 16)</dd>
|
||||
<dt><code>RADV_TRACE_FILE</code></dt>
|
||||
<dd>generate cmdbuffer tracefiles when a GPU hang is detected</dd>
|
||||
<dt><code>ACO_DEBUG</code></dt>
|
||||
<dd>a comma-separated list of named flags, which do various things:
|
||||
<dl>
|
||||
<dt><code>validateir</code></dt>
|
||||
<dd>validate the ACO IR at various points of compilation (enabled by default for debug/debugoptimized builds)</dd>
|
||||
<dt><code>validatera</code></dt>
|
||||
<dd>validate register assignment of ACO IR and catches many RA bugs</dd>
|
||||
<dt><code>perfwarn</code></dt>
|
||||
<dd>abort on some suboptimal code generation</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h3>radeonsi driver environment variables</h3>
|
||||
<dl>
|
||||
<dt><code>AMD_DEBUG</code></dt>
|
||||
<dd>a comma-separated list of named flags, which do various things:</dd>
|
||||
<dl>
|
||||
<dd></dd>
|
||||
<h4>Disable features / workaround flags (useful to diagnose an issue):</h4>
|
||||
<dt><code>nodma</code></dt>
|
||||
<dd>Disable SDMA</dd>
|
||||
<dt><code>nodmaclear</code></dt>
|
||||
<dd>Disable SDMA clears</dd>
|
||||
<dt><code>nodmacopyimage</code></dt>
|
||||
<dd>Disable SDMA image copies</dd>
|
||||
<dt><code>zerovram</code></dt>
|
||||
<dd>Clear VRAM allocations.</dd>
|
||||
<dt><code>nodcc</code></dt>
|
||||
<dd>Disable DCC.</dd>
|
||||
<dt><code>nodccclear</code></dt>
|
||||
<dd>Disable DCC fast clear.</dd>
|
||||
<dt><code>nodccfb</code></dt>
|
||||
<dd>Disable separate DCC on the main framebuffer</dd>
|
||||
<dt><code>nodccmsaa</code></dt>
|
||||
<dd>Disable DCC for MSAA</dd>
|
||||
<dt><code>nodpbb</code></dt>
|
||||
<dd>Disable DPBB.</dd>
|
||||
<dt><code>nodfsm</code></dt>
|
||||
<dd>Disable DFSM.</dd>
|
||||
<dt><code>notiling</code></dt>
|
||||
<dd>Disable tiling</dd>
|
||||
<dt><code>nofmask</code></dt>
|
||||
<dd>Disable MSAA compression</dd>
|
||||
<dt><code>nohyperz</code></dt>
|
||||
<dd>Disable Hyper-Z</dd>
|
||||
<dt><code>norbplus</code></dt>
|
||||
<dd>Disable RB+.</dd>
|
||||
<dt><code>no2d</code></dt>
|
||||
<dd>Disable 2D tiling</dd>
|
||||
<h4>Info flags:</h4>
|
||||
<dt><code>info</code></dt>
|
||||
<dd>Print driver information</dd>
|
||||
<dt><code>tex</code></dt>
|
||||
<dd>Print texture info</dd>
|
||||
<dt><code>compute</code></dt>
|
||||
<dd>Print compute info</dd>
|
||||
<dt><code>vm</code></dt>
|
||||
<dd>Print virtual addresses when creating resources</dd>
|
||||
<h4>Print shaders flags:</h4>
|
||||
<dt><code>vs</code></dt>
|
||||
<dd>Print vertex shaders</dd>
|
||||
<dt><code>ps</code></dt>
|
||||
<dd>Print pixel shaders</dd>
|
||||
<dt><code>gs</code></dt>
|
||||
<dd>Print geometry shaders</dd>
|
||||
<dt><code>tcs</code></dt>
|
||||
<dd>Print tessellation control shaders</dd>
|
||||
<dt><code>tes</code></dt>
|
||||
<dd>Print tessellation evaluation shaders</dd>
|
||||
<dt><code>cs</code></dt>
|
||||
<dd>Print compute shaders</dd>
|
||||
<dt><code>noir</code></dt>
|
||||
<dd>Don't print the LLVM IR</dd>
|
||||
<dt><code>nonir</code></dt>
|
||||
<dd>Don't print NIR when printing shaders</dd>
|
||||
<dt><code>noasm</code></dt>
|
||||
<dd>Don't print disassembled shaders</dd>
|
||||
<dt><code>preoptir</code></dt>
|
||||
<dd>Print the LLVM IR before initial optimizations</dd>
|
||||
<h4>Shader compilation tuning flags:</h4>
|
||||
<dt><code>gisel</code></dt>
|
||||
<dd>Enable LLVM global instruction selector.</dd>
|
||||
<dt><code>w32ge</code></dt>
|
||||
<dd>Use Wave32 for vertex, tessellation, and geometry shaders.</dd>
|
||||
<dt><code>w32ps</code></dt>
|
||||
<dd>Use Wave32 for pixel shaders.</dd>
|
||||
<dt><code>w32cs</code></dt>
|
||||
<dd>Use Wave32 for computes shaders.</dd>
|
||||
<dt><code>w64ge</code></dt>
|
||||
<dd>Use Wave64 for vertex, tessellation, and geometry shaders.</dd>
|
||||
<dt><code>w64ps</code></dt>
|
||||
<dd>Use Wave64 for pixel shaders.</dd>
|
||||
<dt><code>w64cs</code></dt>
|
||||
<dd>Use Wave64 for computes shaders.</dd>
|
||||
<dt><code>checkir</code></dt>
|
||||
<dd>Enable additional sanity checks on shader IR</dd>
|
||||
<dt><code>mono</code></dt>
|
||||
<dd>Use old-style monolithic shaders compiled on demand</dd>
|
||||
<dt><code>nooptvariant</code></dt>
|
||||
<dd>Disable compiling optimized shader variants.</dd>
|
||||
<h4>Advanced usage flags:</h4>
|
||||
<dt><code>forcedma</code></dt>
|
||||
<dd>Use SDMA for all operations when possible.</dd>
|
||||
<dt><code>nowc</code></dt>
|
||||
<dd>Disable GTT write combining</dd>
|
||||
<dt><code>check_vm</code></dt>
|
||||
<dd>Check VM faults and dump debug info.</dd>
|
||||
<dt><code>reserve_vmid</code></dt>
|
||||
<dd>Force VMID reservation per context.</dd>
|
||||
<dt><code>nogfx</code></dt>
|
||||
<dd>Disable graphics. Only multimedia compute paths can be used.</dd>
|
||||
<dt><code>nongg</code></dt>
|
||||
<dd>Disable NGG and use the legacy pipeline.</dd>
|
||||
<dt><code>nggc</code></dt>
|
||||
<dd>Always use NGG culling even when it can hurt.</dd>
|
||||
<dt><code>nonggc</code></dt>
|
||||
<dd>Disable NGG culling.</dd>
|
||||
<dt><code>alwayspd</code></dt>
|
||||
<dd>Always enable the primitive discard compute shader.</dd>
|
||||
<dt><code>pd</code></dt>
|
||||
<dd>Enable the primitive discard compute shader for large draw calls.</dd>
|
||||
<dt><code>nopd</code></dt>
|
||||
<dd>Disable the primitive discard compute shader.</dd>
|
||||
<dt><code>switch_on_eop</code></dt>
|
||||
<dd>Program WD/IA to switch on end-of-packet.</dd>
|
||||
<dt><code>nooutoforder</code></dt>
|
||||
<dd>Disable out-of-order rasterization</dd>
|
||||
<dt><code>dpbb</code></dt>
|
||||
<dd>Enable DPBB.</dd>
|
||||
<dt><code>dfsm</code></dt>
|
||||
<dd>Enable DFSM.</dd>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Other Gallium drivers have their own environment variables. These may change
|
||||
frequently so the source code should be consulted for details.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,724 @@
|
|||
Environment Variables
|
||||
=====================
|
||||
|
||||
Normally, no environment variables need to be set. Most of the
|
||||
environment variables used by Mesa/Gallium are for debugging purposes,
|
||||
but they can sometimes be useful for debugging end-user issues.
|
||||
|
||||
LibGL environment variables
|
||||
---------------------------
|
||||
|
||||
``LIBGL_DEBUG``
|
||||
If defined debug information will be printed to stderr. If set to
|
||||
``verbose`` additional information will be printed.
|
||||
``LIBGL_DRIVERS_PATH``
|
||||
colon-separated list of paths to search for DRI drivers
|
||||
``LIBGL_ALWAYS_INDIRECT``
|
||||
if set to ``true``, forces an indirect rendering context/connection.
|
||||
``LIBGL_ALWAYS_SOFTWARE``
|
||||
if set to ``true``, always use software rendering
|
||||
``LIBGL_NO_DRAWARRAYS``
|
||||
if set to ``true``, do not use DrawArrays GLX protocol (for
|
||||
debugging)
|
||||
``LIBGL_SHOW_FPS``
|
||||
print framerate to stdout based on the number of ``glXSwapBuffers``
|
||||
calls per second.
|
||||
``LIBGL_DRI3_DISABLE``
|
||||
disable DRI3 if set to ``true``.
|
||||
|
||||
Core Mesa environment variables
|
||||
-------------------------------
|
||||
|
||||
``MESA_NO_ASM``
|
||||
if set, disables all assembly language optimizations
|
||||
``MESA_NO_MMX``
|
||||
if set, disables Intel MMX optimizations
|
||||
``MESA_NO_3DNOW``
|
||||
if set, disables AMD 3DNow! optimizations
|
||||
``MESA_NO_SSE``
|
||||
if set, disables Intel SSE optimizations
|
||||
``MESA_NO_ERROR``
|
||||
if set to 1, error checking is disabled as per ``KHR_no_error``. This
|
||||
will result in undefined behaviour for invalid use of the api, but
|
||||
can reduce CPU use for apps that are known to be error free.
|
||||
``MESA_DEBUG``
|
||||
if set, error messages are printed to stderr. For example, if the
|
||||
application generates a ``GL_INVALID_ENUM`` error, a corresponding
|
||||
error message indicating where the error occurred, and possibly why,
|
||||
will be printed to stderr. For release builds, ``MESA_DEBUG``
|
||||
defaults to off (no debug output). ``MESA_DEBUG`` accepts the
|
||||
following comma-separated list of named flags, which adds extra
|
||||
behaviour to just set ``MESA_DEBUG=1``:
|
||||
|
||||
``silent``
|
||||
turn off debug messages. Only useful for debug builds.
|
||||
``flush``
|
||||
flush after each drawing command
|
||||
``incomplete_tex``
|
||||
extra debug messages when a texture is incomplete
|
||||
``incomplete_fbo``
|
||||
extra debug messages when a fbo is incomplete
|
||||
``context``
|
||||
create a debug context (see ``GLX_CONTEXT_DEBUG_BIT_ARB``) and
|
||||
print error and performance messages to stderr (or
|
||||
``MESA_LOG_FILE``).
|
||||
|
||||
``MESA_LOG_FILE``
|
||||
specifies a file name for logging all errors, warnings, etc., rather
|
||||
than stderr
|
||||
``MESA_TEX_PROG``
|
||||
if set, implement conventional texture env modes with fragment
|
||||
programs (intended for developers only)
|
||||
``MESA_TNL_PROG``
|
||||
if set, implement conventional vertex transformation operations with
|
||||
vertex programs (intended for developers only). Setting this variable
|
||||
automatically sets the ``MESA_TEX_PROG`` variable as well.
|
||||
``MESA_EXTENSION_OVERRIDE``
|
||||
can be used to enable/disable extensions. A value such as
|
||||
``GL_EXT_foo -GL_EXT_bar`` will enable the ``GL_EXT_foo`` extension
|
||||
and disable the ``GL_EXT_bar`` extension.
|
||||
``MESA_EXTENSION_MAX_YEAR``
|
||||
The ``GL_EXTENSIONS`` string returned by Mesa is sorted by extension
|
||||
year. If this variable is set to year X, only extensions defined on
|
||||
or before year X will be reported. This is to work-around a bug in
|
||||
some games where the extension string is copied into a fixed-size
|
||||
buffer without truncating. If the extension string is too long, the
|
||||
buffer overrun can cause the game to crash. This is a work-around for
|
||||
that.
|
||||
``MESA_GL_VERSION_OVERRIDE``
|
||||
changes the value returned by ``glGetString(GL_VERSION)`` and
|
||||
possibly the GL API type.
|
||||
|
||||
- The format should be ``MAJOR.MINOR[FC|COMPAT]``
|
||||
- ``FC`` is an optional suffix that indicates a forward compatible
|
||||
context. This is only valid for versions >= 3.0.
|
||||
- ``COMPAT`` is an optional suffix that indicates a compatibility
|
||||
context or ``GL_ARB_compatibility`` support. This is only valid
|
||||
for versions >= 3.1.
|
||||
- GL versions <= 3.0 are set to a compatibility (non-Core) profile
|
||||
- GL versions = 3.1, depending on the driver, it may or may not have
|
||||
the ``ARB_compatibility`` extension enabled.
|
||||
- GL versions >= 3.2 are set to a Core profile
|
||||
- Examples:
|
||||
|
||||
``2.1``
|
||||
select a compatibility (non-Core) profile with GL version 2.1.
|
||||
``3.0``
|
||||
select a compatibility (non-Core) profile with GL version 3.0.
|
||||
``3.0FC``
|
||||
select a Core+Forward Compatible profile with GL version 3.0.
|
||||
``3.1``
|
||||
select GL version 3.1 with ``GL_ARB_compatibility`` enabled per
|
||||
the driver default.
|
||||
``3.1FC``
|
||||
select GL version 3.1 with forward compatibility and
|
||||
``GL_ARB_compatibility`` disabled.
|
||||
``3.1COMPAT``
|
||||
select GL version 3.1 with ``GL_ARB_compatibility`` enabled.
|
||||
``X.Y``
|
||||
override GL version to X.Y without changing the profile.
|
||||
``X.YFC``
|
||||
select a Core+Forward Compatible profile with GL version X.Y.
|
||||
``X.YCOMPAT``
|
||||
select a Compatibility profile with GL version X.Y.
|
||||
|
||||
- Mesa may not really implement all the features of the given
|
||||
version. (for developers only)
|
||||
|
||||
``MESA_GLES_VERSION_OVERRIDE``
|
||||
changes the value returned by ``glGetString(GL_VERSION)`` for OpenGL
|
||||
ES.
|
||||
|
||||
- The format should be ``MAJOR.MINOR``
|
||||
- Examples: ``2.0``, ``3.0``, ``3.1``
|
||||
- Mesa may not really implement all the features of the given
|
||||
version. (for developers only)
|
||||
|
||||
``MESA_GLSL_VERSION_OVERRIDE``
|
||||
changes the value returned by
|
||||
``glGetString(GL_SHADING_LANGUAGE_VERSION)``. Valid values are
|
||||
integers, such as ``130``. Mesa will not really implement all the
|
||||
features of the given language version if it's higher than what's
|
||||
normally reported. (for developers only)
|
||||
``MESA_GLSL_CACHE_DISABLE``
|
||||
if set to ``true``, disables the GLSL shader cache
|
||||
``MESA_GLSL_CACHE_MAX_SIZE``
|
||||
if set, determines the maximum size of the on-disk cache of compiled
|
||||
GLSL programs. Should be set to a number optionally followed by
|
||||
``K``, ``M``, or ``G`` to specify a size in kilobytes, megabytes, or
|
||||
gigabytes. By default, gigabytes will be assumed. And if unset, a
|
||||
maximum size of 1GB will be used. Note: A separate cache might be
|
||||
created for each architecture that Mesa is installed for on your
|
||||
system. For example under the default settings you may end up with a
|
||||
1GB cache for x86_64 and another 1GB cache for i386.
|
||||
``MESA_GLSL_CACHE_DIR``
|
||||
if set, determines the directory to be used for the on-disk cache of
|
||||
compiled GLSL programs. If this variable is not set, then the cache
|
||||
will be stored in ``$XDG_CACHE_HOME/mesa_shader_cache`` (if that
|
||||
variable is set), or else within ``.cache/mesa_shader_cache`` within
|
||||
the user's home directory.
|
||||
``MESA_GLSL``
|
||||
`shading language compiler options <shading.html#envvars>`__
|
||||
``MESA_NO_MINMAX_CACHE``
|
||||
when set, the minmax index cache is globally disabled.
|
||||
``MESA_SHADER_CAPTURE_PATH``
|
||||
see `Capturing Shaders <shading.html#capture>`__
|
||||
``MESA_SHADER_DUMP_PATH`` and ``MESA_SHADER_READ_PATH``
|
||||
see `Experimenting with Shader
|
||||
Replacements <shading.html#replacement>`__
|
||||
``MESA_VK_VERSION_OVERRIDE``
|
||||
changes the Vulkan physical device version as returned in
|
||||
``VkPhysicalDeviceProperties::apiVersion``.
|
||||
|
||||
- The format should be ``MAJOR.MINOR[.PATCH]``
|
||||
- This will not let you force a version higher than the driver's
|
||||
instance version as advertised by ``vkEnumerateInstanceVersion``
|
||||
- This can be very useful for debugging but some features may not be
|
||||
implemented correctly. (For developers only)
|
||||
|
||||
NIR passes enviroment variables
|
||||
-------------------------------
|
||||
|
||||
The following are only applicable for drivers that uses NIR, as they
|
||||
modify the behaviour for the common NIR_PASS and NIR_PASS_V macros, that
|
||||
wrap calls to NIR lowering/optimizations.
|
||||
|
||||
``NIR_PRINT``
|
||||
If defined, the resulting NIR shader will be printed out at each
|
||||
succesful NIR lowering/optimization call.
|
||||
``NIR_TEST_CLONE``
|
||||
If defined, cloning a NIR shader would be tested at each succesful
|
||||
NIR lowering/optimization call.
|
||||
``NIR_TEST_SERIALIZE``
|
||||
If defined, serialize and deserialize a NIR shader would be tested at
|
||||
each succesful NIR lowering/optimization call.
|
||||
|
||||
Mesa Xlib driver environment variables
|
||||
--------------------------------------
|
||||
|
||||
The following are only applicable to the Mesa Xlib software driver. See
|
||||
the `Xlib software driver page <xlibdriver.html>`__ for details.
|
||||
|
||||
``MESA_RGB_VISUAL``
|
||||
specifies the X visual and depth for RGB mode
|
||||
``MESA_CI_VISUAL``
|
||||
specifies the X visual and depth for CI mode
|
||||
``MESA_BACK_BUFFER``
|
||||
specifies how to implement the back color buffer, either ``pixmap``
|
||||
or ``ximage``
|
||||
``MESA_GAMMA``
|
||||
gamma correction coefficients for red, green, blue channels
|
||||
``MESA_XSYNC``
|
||||
enable synchronous X behavior (for debugging only)
|
||||
``MESA_GLX_FORCE_CI``
|
||||
if set, force GLX to treat 8bpp visuals as CI visuals
|
||||
``MESA_GLX_FORCE_ALPHA``
|
||||
if set, forces RGB windows to have an alpha channel.
|
||||
``MESA_GLX_DEPTH_BITS``
|
||||
specifies default number of bits for depth buffer.
|
||||
``MESA_GLX_ALPHA_BITS``
|
||||
specifies default number of bits for alpha channel.
|
||||
|
||||
i945/i965 driver environment variables (non-Gallium)
|
||||
----------------------------------------------------
|
||||
|
||||
``INTEL_NO_HW``
|
||||
if set to 1, prevents batches from being submitted to the hardware.
|
||||
This is useful for debugging hangs, etc.
|
||||
``INTEL_DEBUG``
|
||||
a comma-separated list of named flags, which do various things:
|
||||
|
||||
``ann``
|
||||
annotate IR in assembly dumps
|
||||
``aub``
|
||||
dump batches into an AUB trace for use with simulation tools
|
||||
``bat``
|
||||
emit batch information
|
||||
``blit``
|
||||
emit messages about blit operations
|
||||
``blorp``
|
||||
emit messages about the blorp operations (blits & clears)
|
||||
``buf``
|
||||
emit messages about buffer objects
|
||||
``clip``
|
||||
emit messages about the clip unit (for old gens, includes the CLIP
|
||||
program)
|
||||
``color``
|
||||
use color in output
|
||||
``cs``
|
||||
dump shader assembly for compute shaders
|
||||
``do32``
|
||||
generate compute shader SIMD32 programs even if workgroup size
|
||||
doesn't exceed the SIMD16 limit
|
||||
``dri``
|
||||
emit messages about the DRI interface
|
||||
``fbo``
|
||||
emit messages about framebuffers
|
||||
``fs``
|
||||
dump shader assembly for fragment shaders
|
||||
``gs``
|
||||
dump shader assembly for geometry shaders
|
||||
``hex``
|
||||
print instruction hex dump with the disassembly
|
||||
``l3``
|
||||
emit messages about the new L3 state during transitions
|
||||
``miptree``
|
||||
emit messages about miptrees
|
||||
``no8``
|
||||
don't generate SIMD8 fragment shader
|
||||
``no16``
|
||||
suppress generation of 16-wide fragment shaders. useful for
|
||||
debugging broken shaders
|
||||
``nocompact``
|
||||
disable instruction compaction
|
||||
``nodualobj``
|
||||
suppress generation of dual-object geometry shader code
|
||||
``nofc``
|
||||
disable fast clears
|
||||
``norbc``
|
||||
disable single sampled render buffer compression
|
||||
``optimizer``
|
||||
dump shader assembly to files at each optimization pass and
|
||||
iteration that make progress
|
||||
``perf``
|
||||
emit messages about performance issues
|
||||
``perfmon``
|
||||
emit messages about ``AMD_performance_monitor``
|
||||
``pix``
|
||||
emit messages about pixel operations
|
||||
``prim``
|
||||
emit messages about drawing primitives
|
||||
``reemit``
|
||||
mark all state dirty on each draw call
|
||||
``sf``
|
||||
emit messages about the strips & fans unit (for old gens, includes
|
||||
the SF program)
|
||||
``shader_time``
|
||||
record how much GPU time is spent in each shader
|
||||
``spill_fs``
|
||||
force spilling of all registers in the scalar backend (useful to
|
||||
debug spilling code)
|
||||
``spill_vec4``
|
||||
force spilling of all registers in the vec4 backend (useful to
|
||||
debug spilling code)
|
||||
``state``
|
||||
emit messages about state flag tracking
|
||||
``submit``
|
||||
emit batchbuffer usage statistics
|
||||
``sync``
|
||||
after sending each batch, emit a message and wait for that batch
|
||||
to finish rendering
|
||||
``tcs``
|
||||
dump shader assembly for tessellation control shaders
|
||||
``tes``
|
||||
dump shader assembly for tessellation evaluation shaders
|
||||
``tex``
|
||||
emit messages about textures.
|
||||
``urb``
|
||||
emit messages about URB setup
|
||||
``vert``
|
||||
emit messages about vertex assembly
|
||||
``vs``
|
||||
dump shader assembly for vertex shaders
|
||||
|
||||
``INTEL_SCALAR_VS`` (or ``TCS``, ``TES``, ``GS``)
|
||||
force scalar/vec4 mode for a shader stage (Gen8-9 only)
|
||||
``INTEL_PRECISE_TRIG``
|
||||
if set to 1, true or yes, then the driver prefers accuracy over
|
||||
performance in trig functions.
|
||||
|
||||
Radeon driver environment variables (radeon, r200, and r300g)
|
||||
-------------------------------------------------------------
|
||||
|
||||
``RADEON_NO_TCL``
|
||||
if set, disable hardware-accelerated Transform/Clip/Lighting.
|
||||
|
||||
EGL environment variables
|
||||
-------------------------
|
||||
|
||||
Mesa EGL supports different sets of environment variables. See the `Mesa
|
||||
EGL <egl.html>`__ page for the details.
|
||||
|
||||
Gallium environment variables
|
||||
-----------------------------
|
||||
|
||||
``GALLIUM_HUD``
|
||||
draws various information on the screen, like framerate, cpu load,
|
||||
driver statistics, performance counters, etc. Set
|
||||
``GALLIUM_HUD=help`` and run e.g. ``glxgears`` for more info.
|
||||
``GALLIUM_HUD_PERIOD``
|
||||
sets the hud update rate in seconds (float). Use zero to update every
|
||||
frame. The default period is 1/2 second.
|
||||
``GALLIUM_HUD_VISIBLE``
|
||||
control default visibility, defaults to true.
|
||||
``GALLIUM_HUD_TOGGLE_SIGNAL``
|
||||
toggle visibility via user specified signal. Especially useful to
|
||||
toggle hud at specific points of application and disable for
|
||||
unencumbered viewing the rest of the time. For example, set
|
||||
``GALLIUM_HUD_VISIBLE`` to ``false`` and
|
||||
``GALLIUM_HUD_TOGGLE_SIGNAL`` to ``10`` (``SIGUSR1``). Use
|
||||
``kill -10 <pid>`` to toggle the hud as desired.
|
||||
``GALLIUM_HUD_SCALE``
|
||||
Scale hud by an integer factor, for high DPI displays. Default is 1.
|
||||
``GALLIUM_HUD_DUMP_DIR``
|
||||
specifies a directory for writing the displayed hud values into
|
||||
files.
|
||||
``GALLIUM_DRIVER``
|
||||
useful in combination with ``LIBGL_ALWAYS_SOFTWARE=true`` for
|
||||
choosing one of the software renderers ``softpipe``, ``llvmpipe`` or
|
||||
``swr``.
|
||||
``GALLIUM_LOG_FILE``
|
||||
specifies a file for logging all errors, warnings, etc. rather than
|
||||
stderr.
|
||||
``GALLIUM_PRINT_OPTIONS``
|
||||
if non-zero, print all the Gallium environment variables which are
|
||||
used, and their current values.
|
||||
``GALLIUM_DUMP_CPU``
|
||||
if non-zero, print information about the CPU on start-up
|
||||
``TGSI_PRINT_SANITY``
|
||||
if set, do extra sanity checking on TGSI shaders and print any errors
|
||||
to stderr.
|
||||
``DRAW_FSE``
|
||||
???
|
||||
``DRAW_NO_FSE``
|
||||
???
|
||||
``DRAW_USE_LLVM``
|
||||
if set to zero, the draw module will not use LLVM to execute shaders,
|
||||
vertex fetch, etc.
|
||||
``ST_DEBUG``
|
||||
controls debug output from the Mesa/Gallium state tracker. Setting to
|
||||
``tgsi``, for example, will print all the TGSI shaders. See
|
||||
``src/mesa/state_tracker/st_debug.c`` for other options.
|
||||
|
||||
Clover environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``CLOVER_EXTRA_BUILD_OPTIONS``
|
||||
allows specifying additional compiler and linker options. Specified
|
||||
options are appended after the options set by the OpenCL program in
|
||||
``clBuildProgram``.
|
||||
``CLOVER_EXTRA_COMPILE_OPTIONS``
|
||||
allows specifying additional compiler options. Specified options are
|
||||
appended after the options set by the OpenCL program in
|
||||
``clCompileProgram``.
|
||||
``CLOVER_EXTRA_LINK_OPTIONS``
|
||||
allows specifying additional linker options. Specified options are
|
||||
appended after the options set by the OpenCL program in
|
||||
``clLinkProgram``.
|
||||
|
||||
Softpipe driver environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``SOFTPIPE_DUMP_FS``
|
||||
if set, the softpipe driver will print fragment shaders to stderr
|
||||
``SOFTPIPE_DUMP_GS``
|
||||
if set, the softpipe driver will print geometry shaders to stderr
|
||||
``SOFTPIPE_NO_RAST``
|
||||
if set, rasterization is no-op'd. For profiling purposes.
|
||||
``SOFTPIPE_USE_LLVM``
|
||||
if set, the softpipe driver will try to use LLVM JIT for vertex
|
||||
shading processing.
|
||||
|
||||
LLVMpipe driver environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``LP_NO_RAST``
|
||||
if set LLVMpipe will no-op rasterization
|
||||
``LP_DEBUG``
|
||||
a comma-separated list of debug options is accepted. See the source
|
||||
code for details.
|
||||
``LP_PERF``
|
||||
a comma-separated list of options to selectively no-op various parts
|
||||
of the driver. See the source code for details.
|
||||
``LP_NUM_THREADS``
|
||||
an integer indicating how many threads to use for rendering. Zero
|
||||
turns off threading completely. The default value is the number of
|
||||
CPU cores present.
|
||||
|
||||
VMware SVGA driver environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``SVGA_FORCE_SWTNL``
|
||||
force use of software vertex transformation
|
||||
``SVGA_NO_SWTNL``
|
||||
don't allow software vertex transformation fallbacks (will often
|
||||
result in incorrect rendering).
|
||||
``SVGA_DEBUG``
|
||||
for dumping shaders, constant buffers, etc. See the code for details.
|
||||
``SVGA_EXTRA_LOGGING``
|
||||
if set, enables extra logging to the ``vmware.log`` file, such as the
|
||||
OpenGL program's name and command line arguments.
|
||||
``SVGA_NO_LOGGING``
|
||||
if set, disables logging to the ``vmware.log`` file. This is useful
|
||||
when using Valgrind because it otherwise crashes when initializing
|
||||
the host log feature.
|
||||
|
||||
See the driver code for other, lesser-used variables.
|
||||
|
||||
WGL environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``WGL_SWAP_INTERVAL``
|
||||
to set a swap interval, equivalent to calling
|
||||
``wglSwapIntervalEXT()`` in an application. If this environment
|
||||
variable is set, application calls to ``wglSwapIntervalEXT()`` will
|
||||
have no effect.
|
||||
|
||||
VA-API environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``VAAPI_MPEG4_ENABLED``
|
||||
enable MPEG4 for VA-API, disabled by default.
|
||||
|
||||
VC4 driver environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``VC4_DEBUG``
|
||||
a comma-separated list of named flags, which do various things:
|
||||
|
||||
``cl``
|
||||
dump command list during creation
|
||||
``qpu``
|
||||
dump generated QPU instructions
|
||||
``qir``
|
||||
dump QPU IR during program compile
|
||||
``nir``
|
||||
dump NIR during program compile
|
||||
``tgsi``
|
||||
dump TGSI during program compile
|
||||
``shaderdb``
|
||||
dump program compile information for shader-db analysis
|
||||
``perf``
|
||||
print during performance-related events
|
||||
``norast``
|
||||
skip actual hardware execution of commands
|
||||
``always_flush``
|
||||
flush after each draw call
|
||||
``always_sync``
|
||||
wait for finish after each flush
|
||||
``dump``
|
||||
write a GPU command stream trace file (VC4 simulator only)
|
||||
|
||||
RADV driver environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``RADV_DEBUG``
|
||||
a comma-separated list of named flags, which do various things:
|
||||
|
||||
``allbos``
|
||||
force all allocated buffers to be referenced in submissions
|
||||
``allentrypoints``
|
||||
enable all device/instance entrypoints
|
||||
``checkir``
|
||||
validate the LLVM IR before LLVM compiles the shader
|
||||
``errors``
|
||||
display more info about errors
|
||||
``info``
|
||||
show GPU-related information
|
||||
``metashaders``
|
||||
dump internal meta shaders
|
||||
``nobinning``
|
||||
disable primitive binning
|
||||
``nocache``
|
||||
disable shaders cache
|
||||
``nocompute``
|
||||
disable compute queue
|
||||
``nodcc``
|
||||
disable Delta Color Compression (DCC) on images
|
||||
``nodynamicbounds``
|
||||
do not check OOB access for dynamic descriptors
|
||||
``nofastclears``
|
||||
disable fast color/depthstencil clears
|
||||
``nohiz``
|
||||
disable HIZ for depthstencil images
|
||||
``noibs``
|
||||
disable directly recording command buffers in GPU-visible memory
|
||||
``noloadstoreopt``
|
||||
disable LLVM SILoadStoreOptimizer pass
|
||||
``nomemorycache``
|
||||
disable memory shaders cache
|
||||
``nongg``
|
||||
disable NGG for GFX10+
|
||||
``nooutoforder``
|
||||
disable out-of-order rasterization
|
||||
``noshaderballot``
|
||||
disable shader ballot
|
||||
``nothreadllvm``
|
||||
disable LLVM threaded compilation
|
||||
``preoptir``
|
||||
dump LLVM IR before any optimizations
|
||||
``shaders``
|
||||
dump shaders
|
||||
``shaderstats``
|
||||
dump shader statistics
|
||||
``spirv``
|
||||
dump SPIR-V
|
||||
``startup``
|
||||
display info at startup
|
||||
``syncshaders``
|
||||
synchronize shaders after all draws/dispatches
|
||||
``vmfaults``
|
||||
check for VM memory faults via dmesg
|
||||
``zerovram``
|
||||
initialize all memory allocated in VRAM as zero
|
||||
|
||||
``RADV_FORCE_FAMILY``
|
||||
create a null device to compile shaders without a AMD GPU (eg.
|
||||
gfx900)
|
||||
``RADV_PERFTEST``
|
||||
a comma-separated list of named flags, which do various things:
|
||||
|
||||
``aco``
|
||||
enable ACO experimental compiler
|
||||
``bolist``
|
||||
enable the global BO list
|
||||
``cswave32``
|
||||
enable wave32 for compute shaders (GFX10+)
|
||||
``dccmsaa``
|
||||
enable DCC for MSAA images
|
||||
``dfsm``
|
||||
enable dfsm
|
||||
``gewave32``
|
||||
enable wave32 for vertex/tess/geometry shaders (GFX10+)
|
||||
``localbos``
|
||||
enable local BOs
|
||||
``pswave32``
|
||||
enable wave32 for pixel shaders (GFX10+)
|
||||
``shader_ballot``
|
||||
enable shader ballot
|
||||
``tccompatcmask``
|
||||
enable TC-compat cmask for MSAA images
|
||||
|
||||
``RADV_SECURE_COMPILE_THREADS``
|
||||
maximum number of secure compile threads (up to 32)
|
||||
``RADV_TEX_ANISO``
|
||||
force anisotropy filter (up to 16)
|
||||
``RADV_TRACE_FILE``
|
||||
generate cmdbuffer tracefiles when a GPU hang is detected
|
||||
``ACO_DEBUG``
|
||||
a comma-separated list of named flags, which do various things:
|
||||
|
||||
``validateir``
|
||||
validate the ACO IR at various points of compilation (enabled by
|
||||
default for debug/debugoptimized builds)
|
||||
``validatera``
|
||||
validate register assignment of ACO IR and catches many RA bugs
|
||||
``perfwarn``
|
||||
abort on some suboptimal code generation
|
||||
|
||||
radeonsi driver environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``AMD_DEBUG``
|
||||
a comma-separated list of named flags, which do various things:
|
||||
``nodma``
|
||||
Disable SDMA
|
||||
``nodmaclear``
|
||||
Disable SDMA clears
|
||||
``nodmacopyimage``
|
||||
Disable SDMA image copies
|
||||
``zerovram``
|
||||
Clear VRAM allocations.
|
||||
``nodcc``
|
||||
Disable DCC.
|
||||
``nodccclear``
|
||||
Disable DCC fast clear.
|
||||
``nodccfb``
|
||||
Disable separate DCC on the main framebuffer
|
||||
``nodccmsaa``
|
||||
Disable DCC for MSAA
|
||||
``nodpbb``
|
||||
Disable DPBB.
|
||||
``nodfsm``
|
||||
Disable DFSM.
|
||||
``notiling``
|
||||
Disable tiling
|
||||
``nofmask``
|
||||
Disable MSAA compression
|
||||
``nohyperz``
|
||||
Disable Hyper-Z
|
||||
``norbplus``
|
||||
Disable RB+.
|
||||
``no2d``
|
||||
Disable 2D tiling
|
||||
``info``
|
||||
Print driver information
|
||||
``tex``
|
||||
Print texture info
|
||||
``compute``
|
||||
Print compute info
|
||||
``vm``
|
||||
Print virtual addresses when creating resources
|
||||
``vs``
|
||||
Print vertex shaders
|
||||
``ps``
|
||||
Print pixel shaders
|
||||
``gs``
|
||||
Print geometry shaders
|
||||
``tcs``
|
||||
Print tessellation control shaders
|
||||
``tes``
|
||||
Print tessellation evaluation shaders
|
||||
``cs``
|
||||
Print compute shaders
|
||||
``noir``
|
||||
Don't print the LLVM IR
|
||||
``nonir``
|
||||
Don't print NIR when printing shaders
|
||||
``noasm``
|
||||
Don't print disassembled shaders
|
||||
``preoptir``
|
||||
Print the LLVM IR before initial optimizations
|
||||
``gisel``
|
||||
Enable LLVM global instruction selector.
|
||||
``w32ge``
|
||||
Use Wave32 for vertex, tessellation, and geometry shaders.
|
||||
``w32ps``
|
||||
Use Wave32 for pixel shaders.
|
||||
``w32cs``
|
||||
Use Wave32 for computes shaders.
|
||||
``w64ge``
|
||||
Use Wave64 for vertex, tessellation, and geometry shaders.
|
||||
``w64ps``
|
||||
Use Wave64 for pixel shaders.
|
||||
``w64cs``
|
||||
Use Wave64 for computes shaders.
|
||||
``checkir``
|
||||
Enable additional sanity checks on shader IR
|
||||
``mono``
|
||||
Use old-style monolithic shaders compiled on demand
|
||||
``nooptvariant``
|
||||
Disable compiling optimized shader variants.
|
||||
``forcedma``
|
||||
Use SDMA for all operations when possible.
|
||||
``nowc``
|
||||
Disable GTT write combining
|
||||
``check_vm``
|
||||
Check VM faults and dump debug info.
|
||||
``reserve_vmid``
|
||||
Force VMID reservation per context.
|
||||
``nogfx``
|
||||
Disable graphics. Only multimedia compute paths can be used.
|
||||
``nongg``
|
||||
Disable NGG and use the legacy pipeline.
|
||||
``nggc``
|
||||
Always use NGG culling even when it can hurt.
|
||||
``nonggc``
|
||||
Disable NGG culling.
|
||||
``alwayspd``
|
||||
Always enable the primitive discard compute shader.
|
||||
``pd``
|
||||
Enable the primitive discard compute shader for large draw calls.
|
||||
``nopd``
|
||||
Disable the primitive discard compute shader.
|
||||
``switch_on_eop``
|
||||
Program WD/IA to switch on end-of-packet.
|
||||
``nooutoforder``
|
||||
Disable out-of-order rasterization
|
||||
``dpbb``
|
||||
Enable DPBB.
|
||||
``dfsm``
|
||||
Enable DFSM.
|
||||
|
||||
Other Gallium drivers have their own environment variables. These may
|
||||
change frequently so the source code should be consulted for details.
|
|
@ -1,51 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Extensions</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa Extensions</h1>
|
||||
|
||||
<p>
|
||||
A number of extensions have been developed especially for Mesa.
|
||||
The specifications follow.
|
||||
</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><a href="specs/OLD/MESA_agp_offset.spec">MESA_agp_offset.spec</a>
|
||||
<li><a href="specs/MESA_copy_sub_buffer.spec">MESA_copy_sub_buffer.spec</a>
|
||||
<li><a href="specs/MESA_drm_image.spec">MESA_drm_image.spec</a>
|
||||
<li><a href="specs/MESA_multithread_makecurrent.spec">MESA_multithread_makecurrent.spec</a>
|
||||
<li><a href="specs/OLD/MESA_packed_depth_stencil.spec">MESA_packed_depth_stencil.spec</a> (obsolete)
|
||||
<li><a href="specs/MESA_pack_invert.spec">MESA_pack_invert.spec</a>
|
||||
<li><a href="specs/MESA_pixmap_colormap.spec">MESA_pixmap_colormap.spec</a>
|
||||
<li><a href="specs/OLD/MESA_program_debug.spec">MESA_program_debug.spec</a> (obsolete)
|
||||
<li><a href="specs/MESA_release_buffers.spec">MESA_release_buffers.spec</a>
|
||||
<li><a href="specs/OLD/MESA_resize_buffers.spec">MESA_resize_buffers.spec</a> (obsolete)
|
||||
<li><a href="specs/OLD/MESA_set_3dfx_mode.spec">MESA_set_3dfx_mode.spec</a>
|
||||
<li><a href="specs/MESA_shader_debug.spec">MESA_shader_debug.spec</a>
|
||||
<li><a href="specs/OLD/MESA_sprite_point.spec">MESA_sprite_point.spec</a> (obsolete)
|
||||
<li><a href="specs/MESA_swap_control.spec">MESA_swap_control.spec</a>
|
||||
<li><a href="specs/MESA_swap_frame_usage.spec">MESA_swap_frame_usage.spec</a>
|
||||
<li><a href="specs/MESA_texture_array.spec">MESA_texture_array.spec</a>
|
||||
<li><a href="specs/MESA_texture_signed_rgba.spec">MESA_texture_signed_rgba.spec</a>
|
||||
<li><a href="specs/OLD/MESA_trace.spec">MESA_trace.spec</a> (obsolete)
|
||||
<li><a href="specs/MESA_window_pos.spec">MESA_window_pos.spec</a>
|
||||
<li><a href="specs/MESA_ycbcr_texture.spec">MESA_ycbcr_texture.spec</a>
|
||||
<li><a href="specs/WL_bind_wayland_display.spec">WL_bind_wayland_display.spec</a>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,31 @@
|
|||
Mesa Extensions
|
||||
===============
|
||||
|
||||
A number of extensions have been developed especially for Mesa. The
|
||||
specifications follow.
|
||||
|
||||
- `MESA_agp_offset.spec <specs/OLD/MESA_agp_offset.spec>`__
|
||||
- `MESA_copy_sub_buffer.spec <specs/MESA_copy_sub_buffer.spec>`__
|
||||
- `MESA_drm_image.spec <specs/MESA_drm_image.spec>`__
|
||||
- `MESA_multithread_makecurrent.spec <specs/MESA_multithread_makecurrent.spec>`__
|
||||
- `MESA_packed_depth_stencil.spec <specs/OLD/MESA_packed_depth_stencil.spec>`__
|
||||
(obsolete)
|
||||
- `MESA_pack_invert.spec <specs/MESA_pack_invert.spec>`__
|
||||
- `MESA_pixmap_colormap.spec <specs/MESA_pixmap_colormap.spec>`__
|
||||
- `MESA_program_debug.spec <specs/OLD/MESA_program_debug.spec>`__
|
||||
(obsolete)
|
||||
- `MESA_release_buffers.spec <specs/MESA_release_buffers.spec>`__
|
||||
- `MESA_resize_buffers.spec <specs/OLD/MESA_resize_buffers.spec>`__
|
||||
(obsolete)
|
||||
- `MESA_set_3dfx_mode.spec <specs/OLD/MESA_set_3dfx_mode.spec>`__
|
||||
- `MESA_shader_debug.spec <specs/MESA_shader_debug.spec>`__
|
||||
- `MESA_sprite_point.spec <specs/OLD/MESA_sprite_point.spec>`__
|
||||
(obsolete)
|
||||
- `MESA_swap_control.spec <specs/MESA_swap_control.spec>`__
|
||||
- `MESA_swap_frame_usage.spec <specs/MESA_swap_frame_usage.spec>`__
|
||||
- `MESA_texture_array.spec <specs/MESA_texture_array.spec>`__
|
||||
- `MESA_texture_signed_rgba.spec <specs/MESA_texture_signed_rgba.spec>`__
|
||||
- `MESA_trace.spec <specs/OLD/MESA_trace.spec>`__ (obsolete)
|
||||
- `MESA_window_pos.spec <specs/MESA_window_pos.spec>`__
|
||||
- `MESA_ycbcr_texture.spec <specs/MESA_ycbcr_texture.spec>`__
|
||||
- `WL_bind_wayland_display.spec <specs/WL_bind_wayland_display.spec>`__
|
382
docs/faq.html
382
docs/faq.html
|
@ -1,382 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Frequently Asked Questions</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Frequently Asked Questions</h1>
|
||||
Last updated: 19 September 2018
|
||||
|
||||
<h2>Index</h2>
|
||||
<ol>
|
||||
<li><a href="#part1">High-level Questions and Answers</a></li>
|
||||
<li><a href="#part2">Compilation and Installation Problems</a></li>
|
||||
<li><a href="#part3">Runtime / Rendering Problems</a></li>
|
||||
<li><a href="#part4">Developer Questions</a></li>
|
||||
</ol>
|
||||
|
||||
<h2 id="part1">1. High-level Questions and Answers</h2>
|
||||
|
||||
<h3>1.1 What is Mesa?</h3>
|
||||
<p>
|
||||
Mesa is an open-source implementation of the OpenGL specification.
|
||||
OpenGL is a programming library for writing interactive 3D applications.
|
||||
See the <a href="https://www.opengl.org/">OpenGL website</a> for more
|
||||
information.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 9.x supports the OpenGL 3.1 specification.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>1.2 Does Mesa support/use graphics hardware?</h2>
|
||||
<p>
|
||||
Yes. Specifically, Mesa serves as the OpenGL core for the open-source DRI
|
||||
drivers for X.org.
|
||||
</p>
|
||||
<ul>
|
||||
<li>See the <a href="https://dri.freedesktop.org/">DRI website</a>
|
||||
for more information.</li>
|
||||
<li>See <a href="https://01.org/linuxgraphics">01.org</a>
|
||||
for more information about Intel drivers.</li>
|
||||
<li>See <a href="https://nouveau.freedesktop.org">nouveau.freedesktop.org</a>
|
||||
for more information about Nouveau drivers.</li>
|
||||
<li>See <a href="https://www.x.org/wiki/RadeonFeature">www.x.org/wiki/RadeonFeature</a>
|
||||
for more information about Radeon drivers.</li>
|
||||
</ul>
|
||||
|
||||
<h2>1.3 What purpose does Mesa serve today?</h2>
|
||||
<p>
|
||||
Hardware-accelerated OpenGL implementations are available for most popular
|
||||
operating systems today.
|
||||
Still, Mesa serves at least these purposes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Mesa is used as the core of the open-source X.org DRI
|
||||
hardware drivers.
|
||||
</li>
|
||||
<li>Mesa is quite portable and allows OpenGL to be used on systems
|
||||
that have no other OpenGL solution.
|
||||
</li>
|
||||
<li>Software rendering with Mesa serves as a reference for validating the
|
||||
hardware drivers.
|
||||
</li>
|
||||
<li>A software implementation of OpenGL is useful for experimentation,
|
||||
such as testing new rendering techniques.
|
||||
</li>
|
||||
<li>Mesa can render images with deep color channels: 16-bit integer
|
||||
and 32-bit floating point color channels are supported.
|
||||
This capability is only now appearing in hardware.
|
||||
</li>
|
||||
<li>Mesa's internal limits (max lights, clip planes, texture size, etc) can be
|
||||
changed for special needs (hardware limits are hard to overcome).
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>1.4 What's the difference between "Stand-Alone" Mesa and the DRI drivers?</h2>
|
||||
<p>
|
||||
<em>Stand-alone Mesa</em> is the original incarnation of Mesa.
|
||||
On systems running the X Window System it does all its rendering through
|
||||
the Xlib API:
|
||||
</p>
|
||||
<ul>
|
||||
<li>The GLX API is supported, but it's really just an emulation of the
|
||||
real thing.
|
||||
<li>The GLX wire protocol is not supported and there's no OpenGL extension
|
||||
loaded by the X server.
|
||||
<li>There is no hardware acceleration.
|
||||
<li>The OpenGL library, <code>libGL.so</code>, contains everything (the
|
||||
programming API, the GLX functions and all the rendering code).
|
||||
</ul>
|
||||
<p>
|
||||
Alternately, Mesa acts as the core for a number of OpenGL hardware drivers
|
||||
within the DRI (Direct Rendering Infrastructure):
|
||||
<ul>
|
||||
<li>The <code>libGL.so</code> library provides the GL and GLX API functions,
|
||||
a GLX protocol encoder, and a device driver loader.
|
||||
<li>The device driver modules (such as <code>r200_dri.so</code>) contain
|
||||
a built-in copy of the core Mesa code.
|
||||
<li>The X server loads the GLX module.
|
||||
The GLX module decodes incoming GLX protocol and dispatches the commands
|
||||
to a rendering module.
|
||||
For the DRI, this module is basically a software Mesa renderer.
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<h2>1.5 How do I upgrade my DRI installation to use a new Mesa release?</h2>
|
||||
<p>
|
||||
This wasn't easy in the past.
|
||||
Now, the DRI drivers are included in the Mesa tree and can be compiled
|
||||
separately from the X server.
|
||||
Just follow the Mesa <a href="install.html">compilation instructions</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>1.6 Are there other open-source implementations of OpenGL?</h2>
|
||||
<p>
|
||||
Yes, SGI's <a href="http://web.archive.org/web/20171010115110_/http://oss.sgi.com/projects/ogl-sample/index.html">
|
||||
OpenGL Sample Implementation (SI)</a> is available.
|
||||
The SI was written during the time that OpenGL was originally designed.
|
||||
Unfortunately, development of the SI has stagnated.
|
||||
Mesa is much more up to date with modern features and extensions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="https://sourceforge.net/projects/ogl-es/">Vincent</a> is
|
||||
an open-source implementation of OpenGL ES for mobile devices.
|
||||
|
||||
<p>
|
||||
<a href="http://web.archive.org/web/20130830162848/http://www.dsbox.com/minigl.html">miniGL</a>
|
||||
is a subset of OpenGL for PalmOS devices. The website is gone, but the source
|
||||
code can still be found on <a href="https://sourceforge.net/projects/minigl/">sourceforge.net</a>.
|
||||
|
||||
<p>
|
||||
<a href="http://bellard.org/TinyGL/">TinyGL</a>
|
||||
is a subset of OpenGL.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="https://sourceforge.net/projects/softgl/">SoftGL</a>
|
||||
is an OpenGL subset for mobile devices.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="http://chromium.sourceforge.net/">Chromium</a>
|
||||
isn't a conventional OpenGL implementation (it's layered upon OpenGL),
|
||||
but it does export the OpenGL API. It allows tiled rendering, sort-last
|
||||
rendering, etc.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="http://www.ticalc.org/archives/files/fileinfo/361/36173.html">ClosedGL</a>
|
||||
is an OpenGL subset library for TI graphing calculators.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There may be other open OpenGL implementations, but Mesa is the most
|
||||
popular and feature-complete.
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="part2">2. Compilation and Installation Problems</h2>
|
||||
|
||||
<h3>2.1 What's the easiest way to install Mesa?</h3>
|
||||
<p>
|
||||
If you're using a Linux-based system, your distro CD most likely already
|
||||
has Mesa packages (like RPM or DEB) which you can easily install.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>2.2 I get undefined symbols such as bgnpolygon, v3f, etc...</h3>
|
||||
<p>
|
||||
You're application is written in IRIS GL, not OpenGL.
|
||||
IRIS GL was the predecessor to OpenGL and is a different thing (almost)
|
||||
entirely.
|
||||
Mesa's not the solution.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>2.3 Where is the GLUT library?</h3>
|
||||
<p>
|
||||
GLUT (OpenGL Utility Toolkit) is no longer in the separate
|
||||
<code>MesaGLUT-x.y.z.tar.gz</code> file.
|
||||
If you don't already have GLUT installed, you should grab
|
||||
<a href="http://freeglut.sourceforge.net/">freeglut</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>2.4 Where is the GLw library?</h3>
|
||||
<p>
|
||||
GLw (OpenGL widget library) is now available from a separate <a href="https://gitlab.freedesktop.org/mesa/glw">git repository</a>. Unless you're using very old Xt/Motif applications with OpenGL, you shouldn't need it.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>2.5 What's the proper place for the libraries and headers?</h2>
|
||||
<p>
|
||||
On Linux-based systems you'll want to follow the
|
||||
<a href="https://www.khronos.org/registry/OpenGL/ABI/">Linux ABI</a> standard.
|
||||
Basically you'll want the following:
|
||||
</p>
|
||||
<dl>
|
||||
<dt><code>/usr/include/GL/gl.h</code></dt>
|
||||
<dd>the main OpenGL header</dd>
|
||||
<dt><code>/usr/include/GL/glu.h</code></dt>
|
||||
<dd>the OpenGL GLU (utility) header</dd>
|
||||
<dt><code>/usr/include/GL/glx.h</code></dt>
|
||||
<dd>the OpenGL GLX header</dd>
|
||||
<dt><code>/usr/include/GL/glext.h</code></dt>
|
||||
<dd>the OpenGL extensions header</dd>
|
||||
<dt><code>/usr/include/GL/glxext.h</code></dt>
|
||||
<dd>the OpenGL GLX extensions header</dd>
|
||||
<dt><code>/usr/include/GL/osmesa.h</code></dt>
|
||||
<dd>the Mesa off-screen rendering header</dd>
|
||||
<dt><code>/usr/lib/libGL.so</code></dt>
|
||||
<dd>a symlink to <code>libGL.so.1</code></dd>
|
||||
<dt><code>/usr/lib/libGL.so.1</code></dt>
|
||||
<dd>a symlink to <code>libGL.so.1.xyz</code></dd>
|
||||
<dt><code>/usr/lib/libGL.so.xyz</code></dt>
|
||||
<dd>the actual OpenGL/Mesa library. xyz denotes the
|
||||
Mesa version number.
|
||||
</dd>
|
||||
</dl>
|
||||
<p>
|
||||
When configuring Mesa, there are three meson options that affect the install
|
||||
location that you should take care with: <code>--prefix</code>,
|
||||
<code>--libdir</code>, and <code>-D dri-drivers-path</code>. To install Mesa
|
||||
into the system location where it will be available for all programs to use, set
|
||||
<code>--prefix=/usr</code>. Set <code>--libdir</code> to where your Linux
|
||||
distribution installs system libraries, usually either <code>/usr/lib</code> or
|
||||
<code>/usr/lib64</code>. Set <code>-D dri-drivers-path</code> to the directory
|
||||
where your Linux distribution installs DRI drivers. To find your system's DRI
|
||||
driver directory, try executing <code>find /usr -type d -name dri</code>. For
|
||||
example, if the <code>find</code> command listed <code>/usr/lib64/dri</code>,
|
||||
then set <code>-D dri-drivers-path=/usr/lib64/dri</code>.
|
||||
</p>
|
||||
<p>
|
||||
After determining the correct values for the install location, configure Mesa
|
||||
with <code>meson configure --prefix=/usr --libdir=xxx -D dri-drivers-path=xxx</code>
|
||||
and then install with <code>sudo ninja install</code>.
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="part3">3. Runtime / Rendering Problems</h2>
|
||||
|
||||
<h3>3.1 Rendering is slow / why isn't my graphics hardware being used?</h3>
|
||||
<p>
|
||||
If Mesa can't use its hardware accelerated drivers it falls back on one of its software renderers.
|
||||
(eg. classic swrast, softpipe or llvmpipe)
|
||||
</p>
|
||||
<p>
|
||||
You can run the <code>glxinfo</code> program to learn about your OpenGL
|
||||
library.
|
||||
Look for the <code>OpenGL vendor</code> and <code>OpenGL renderer</code> values.
|
||||
That will identify who's OpenGL library with which driver you're using and what sort of
|
||||
hardware it has detected.
|
||||
</p>
|
||||
<p>
|
||||
If you're using a hardware accelerated driver you want <code>direct rendering: Yes</code>.
|
||||
</p>
|
||||
<p>
|
||||
If your DRI-based driver isn't working, go to the
|
||||
<a href="https://dri.freedesktop.org/">DRI website</a> for trouble-shooting information.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>3.2 I'm seeing errors in depth (Z) buffering. Why?</h3>
|
||||
<p>
|
||||
Make sure the ratio of the far to near clipping planes isn't too great.
|
||||
Look
|
||||
<a href="https://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm#0040">here</a>
|
||||
for details.
|
||||
</p>
|
||||
<p>
|
||||
Mesa uses a 16-bit depth buffer by default which is smaller and faster
|
||||
to clear than a 32-bit buffer but not as accurate.
|
||||
If you need a deeper you can modify the parameters to
|
||||
<code>glXChooseVisual</code> in your code.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>3.3 Why Isn't depth buffering working at all?</h3>
|
||||
<p>
|
||||
Be sure you're requesting a depth buffered-visual. If you set the
|
||||
<code>MESA_DEBUG</code> environment variable it will warn you about trying
|
||||
to enable depth testing when you don't have a depth buffer.
|
||||
</p>
|
||||
<p>Specifically, make sure <code>glutInitDisplayMode</code> is being called
|
||||
with <code>GLUT_DEPTH</code> or <code>glXChooseVisual</code> is being
|
||||
called with a non-zero value for <code>GLX_DEPTH_SIZE</code>.
|
||||
</p>
|
||||
<p>This discussion applies to stencil buffers, accumulation buffers and
|
||||
alpha channels too.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>3.4 Why does <code>glGetString()</code> always return <code>NULL</code>?</h3>
|
||||
<p>
|
||||
Be sure you have an active/current OpenGL rendering context before
|
||||
calling <code>glGetString</code>.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>3.5 <code>GL_POINTS</code> and <code>GL_LINES</code> don't touch the
|
||||
right pixels</h3>
|
||||
<p>
|
||||
If you're trying to draw a filled region by using <code>GL_POINTS</code> or
|
||||
<code>GL_LINES</code> and seeing holes or gaps it's because of a float-to-int
|
||||
rounding problem. But this is not a bug. See Appendix H of the OpenGL
|
||||
Programming Guide - "OpenGL Correctness Tips". Basically, applying a
|
||||
translation of (0.375, 0.375, 0.0) to your coordinates will fix the problem.
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="part4">4. Developer Questions</h2>
|
||||
|
||||
<h3>4.1 How can I contribute?</h3>
|
||||
<p>
|
||||
First, join the <a href="lists.html">mesa-dev mailing list</a>.
|
||||
That's where Mesa development is discussed.
|
||||
</p>
|
||||
<p>
|
||||
The <a href="https://www.opengl.org/documentation">
|
||||
OpenGL Specification</a> is the bible for OpenGL implementation work.
|
||||
You should read it.
|
||||
</p>
|
||||
<p>Most of the Mesa development work involves implementing new OpenGL
|
||||
extensions, writing hardware drivers (for the DRI), and code optimization.
|
||||
</p>
|
||||
|
||||
<h3>4.2 How do I write a new device driver?</h3>
|
||||
<p>
|
||||
Unfortunately, writing a device driver isn't easy.
|
||||
It requires detailed understanding of OpenGL, the Mesa code, and your
|
||||
target hardware/operating system.
|
||||
3D graphics are not simple.
|
||||
</p>
|
||||
<p>
|
||||
The best way to get started is to use an existing driver as your starting
|
||||
point.
|
||||
For a classic hardware driver, the i965 driver is a good example.
|
||||
For a Gallium3D hardware driver, the r300g, r600g and the i915g are good examples.
|
||||
</p>
|
||||
<p>The DRI website has more information about writing hardware drivers.
|
||||
The process isn't well document because the Mesa driver interface changes
|
||||
over time, and we seldom have spare time for writing documentation.
|
||||
That being said, many people have managed to figure out the process.
|
||||
</p>
|
||||
<p>
|
||||
Joining the appropriate mailing lists and asking questions (and searching
|
||||
the archives) is a good way to get information.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>4.3 Why isn't <code>GL_EXT_texture_compression_s3tc</code> implemented in
|
||||
Mesa?</h3>
|
||||
<p>
|
||||
Oh but it is! Prior to 2nd October 2017, the Mesa project did not include s3tc
|
||||
support due to intellectual property (IP) and/or patent issues around the s3tc
|
||||
algorithm.
|
||||
</p>
|
||||
<p>
|
||||
As of Mesa 17.3.0, Mesa now officially supports s3tc, as the patent has expired.
|
||||
</p>
|
||||
<p>
|
||||
In versions prior to this, a 3rd party <a href="https://dri.freedesktop.org/wiki/S3TC">
|
||||
plug-in library</a> was required.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,322 @@
|
|||
Frequently Asked Questions
|
||||
==========================
|
||||
|
||||
Last updated: 19 September 2018
|
||||
|
||||
Index
|
||||
-----
|
||||
|
||||
#. `High-level Questions and Answers <#part1>`__
|
||||
#. `Compilation and Installation Problems <#part2>`__
|
||||
#. `Runtime / Rendering Problems <#part3>`__
|
||||
#. `Developer Questions <#part4>`__
|
||||
|
||||
.. _part1:
|
||||
|
||||
1. High-level Questions and Answers
|
||||
-----------------------------------
|
||||
|
||||
1.1 What is Mesa?
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Mesa is an open-source implementation of the OpenGL specification.
|
||||
OpenGL is a programming library for writing interactive 3D applications.
|
||||
See the `OpenGL website <https://www.opengl.org/>`__ for more
|
||||
information.
|
||||
|
||||
Mesa 9.x supports the OpenGL 3.1 specification.
|
||||
|
||||
1.2 Does Mesa support/use graphics hardware?
|
||||
--------------------------------------------
|
||||
|
||||
Yes. Specifically, Mesa serves as the OpenGL core for the open-source
|
||||
DRI drivers for X.org.
|
||||
|
||||
- See the `DRI website <https://dri.freedesktop.org/>`__ for more
|
||||
information.
|
||||
- See `01.org <https://01.org/linuxgraphics>`__ for more information
|
||||
about Intel drivers.
|
||||
- See `nouveau.freedesktop.org <https://nouveau.freedesktop.org>`__ for
|
||||
more information about Nouveau drivers.
|
||||
- See
|
||||
`www.x.org/wiki/RadeonFeature <https://www.x.org/wiki/RadeonFeature>`__
|
||||
for more information about Radeon drivers.
|
||||
|
||||
1.3 What purpose does Mesa serve today?
|
||||
---------------------------------------
|
||||
|
||||
Hardware-accelerated OpenGL implementations are available for most
|
||||
popular operating systems today. Still, Mesa serves at least these
|
||||
purposes:
|
||||
|
||||
- Mesa is used as the core of the open-source X.org DRI hardware
|
||||
drivers.
|
||||
- Mesa is quite portable and allows OpenGL to be used on systems that
|
||||
have no other OpenGL solution.
|
||||
- Software rendering with Mesa serves as a reference for validating the
|
||||
hardware drivers.
|
||||
- A software implementation of OpenGL is useful for experimentation,
|
||||
such as testing new rendering techniques.
|
||||
- Mesa can render images with deep color channels: 16-bit integer and
|
||||
32-bit floating point color channels are supported. This capability
|
||||
is only now appearing in hardware.
|
||||
- Mesa's internal limits (max lights, clip planes, texture size, etc)
|
||||
can be changed for special needs (hardware limits are hard to
|
||||
overcome).
|
||||
|
||||
1.4 What's the difference between "Stand-Alone" Mesa and the DRI drivers?
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
*Stand-alone Mesa* is the original incarnation of Mesa. On systems
|
||||
running the X Window System it does all its rendering through the Xlib
|
||||
API:
|
||||
|
||||
- The GLX API is supported, but it's really just an emulation of the
|
||||
real thing.
|
||||
- The GLX wire protocol is not supported and there's no OpenGL
|
||||
extension loaded by the X server.
|
||||
- There is no hardware acceleration.
|
||||
- The OpenGL library, ``libGL.so``, contains everything (the
|
||||
programming API, the GLX functions and all the rendering code).
|
||||
|
||||
Alternately, Mesa acts as the core for a number of OpenGL hardware
|
||||
drivers within the DRI (Direct Rendering Infrastructure):
|
||||
|
||||
- The ``libGL.so`` library provides the GL and GLX API functions, a GLX
|
||||
protocol encoder, and a device driver loader.
|
||||
- The device driver modules (such as ``r200_dri.so``) contain a
|
||||
built-in copy of the core Mesa code.
|
||||
- The X server loads the GLX module. The GLX module decodes incoming
|
||||
GLX protocol and dispatches the commands to a rendering module. For
|
||||
the DRI, this module is basically a software Mesa renderer.
|
||||
|
||||
1.5 How do I upgrade my DRI installation to use a new Mesa release?
|
||||
-------------------------------------------------------------------
|
||||
|
||||
This wasn't easy in the past. Now, the DRI drivers are included in the
|
||||
Mesa tree and can be compiled separately from the X server. Just follow
|
||||
the Mesa `compilation instructions <install.html>`__.
|
||||
|
||||
1.6 Are there other open-source implementations of OpenGL?
|
||||
----------------------------------------------------------
|
||||
|
||||
Yes, SGI's `OpenGL Sample Implementation
|
||||
(SI) <http://web.archive.org/web/20171010115110_/http://oss.sgi.com/projects/ogl-sample/index.html>`__
|
||||
is available. The SI was written during the time that OpenGL was
|
||||
originally designed. Unfortunately, development of the SI has stagnated.
|
||||
Mesa is much more up to date with modern features and extensions.
|
||||
|
||||
`Vincent <https://sourceforge.net/projects/ogl-es/>`__ is an open-source
|
||||
implementation of OpenGL ES for mobile devices.
|
||||
|
||||
`miniGL <http://web.archive.org/web/20130830162848/http://www.dsbox.com/minigl.html>`__
|
||||
is a subset of OpenGL for PalmOS devices. The website is gone, but the
|
||||
source code can still be found on
|
||||
`sourceforge.net <https://sourceforge.net/projects/minigl/>`__.
|
||||
|
||||
`TinyGL <http://bellard.org/TinyGL/>`__ is a subset of OpenGL.
|
||||
|
||||
`SoftGL <https://sourceforge.net/projects/softgl/>`__ is an OpenGL
|
||||
subset for mobile devices.
|
||||
|
||||
`Chromium <http://chromium.sourceforge.net/>`__ isn't a conventional
|
||||
OpenGL implementation (it's layered upon OpenGL), but it does export the
|
||||
OpenGL API. It allows tiled rendering, sort-last rendering, etc.
|
||||
|
||||
`ClosedGL <http://www.ticalc.org/archives/files/fileinfo/361/36173.html>`__
|
||||
is an OpenGL subset library for TI graphing calculators.
|
||||
|
||||
There may be other open OpenGL implementations, but Mesa is the most
|
||||
popular and feature-complete.
|
||||
|
||||
.. _part2:
|
||||
|
||||
2. Compilation and Installation Problems
|
||||
----------------------------------------
|
||||
|
||||
2.1 What's the easiest way to install Mesa?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you're using a Linux-based system, your distro CD most likely already
|
||||
has Mesa packages (like RPM or DEB) which you can easily install.
|
||||
|
||||
2.2 I get undefined symbols such as bgnpolygon, v3f, etc...
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
You're application is written in IRIS GL, not OpenGL. IRIS GL was the
|
||||
predecessor to OpenGL and is a different thing (almost) entirely. Mesa's
|
||||
not the solution.
|
||||
|
||||
2.3 Where is the GLUT library?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
GLUT (OpenGL Utility Toolkit) is no longer in the separate
|
||||
``MesaGLUT-x.y.z.tar.gz`` file. If you don't already have GLUT
|
||||
installed, you should grab
|
||||
`freeglut <http://freeglut.sourceforge.net/>`__.
|
||||
|
||||
2.4 Where is the GLw library?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
GLw (OpenGL widget library) is now available from a separate `git
|
||||
repository <https://gitlab.freedesktop.org/mesa/glw>`__. Unless you're
|
||||
using very old Xt/Motif applications with OpenGL, you shouldn't need it.
|
||||
|
||||
2.5 What's the proper place for the libraries and headers?
|
||||
----------------------------------------------------------
|
||||
|
||||
On Linux-based systems you'll want to follow the `Linux
|
||||
ABI <https://www.khronos.org/registry/OpenGL/ABI/>`__ standard.
|
||||
Basically you'll want the following:
|
||||
|
||||
``/usr/include/GL/gl.h``
|
||||
the main OpenGL header
|
||||
``/usr/include/GL/glu.h``
|
||||
the OpenGL GLU (utility) header
|
||||
``/usr/include/GL/glx.h``
|
||||
the OpenGL GLX header
|
||||
``/usr/include/GL/glext.h``
|
||||
the OpenGL extensions header
|
||||
``/usr/include/GL/glxext.h``
|
||||
the OpenGL GLX extensions header
|
||||
``/usr/include/GL/osmesa.h``
|
||||
the Mesa off-screen rendering header
|
||||
``/usr/lib/libGL.so``
|
||||
a symlink to ``libGL.so.1``
|
||||
``/usr/lib/libGL.so.1``
|
||||
a symlink to ``libGL.so.1.xyz``
|
||||
``/usr/lib/libGL.so.xyz``
|
||||
the actual OpenGL/Mesa library. xyz denotes the Mesa version number.
|
||||
|
||||
When configuring Mesa, there are three meson options that affect the
|
||||
install location that you should take care with: ``--prefix``,
|
||||
``--libdir``, and ``-D dri-drivers-path``. To install Mesa into the
|
||||
system location where it will be available for all programs to use, set
|
||||
``--prefix=/usr``. Set ``--libdir`` to where your Linux distribution
|
||||
installs system libraries, usually either ``/usr/lib`` or
|
||||
``/usr/lib64``. Set ``-D dri-drivers-path`` to the directory where your
|
||||
Linux distribution installs DRI drivers. To find your system's DRI
|
||||
driver directory, try executing ``find /usr -type d -name dri``. For
|
||||
example, if the ``find`` command listed ``/usr/lib64/dri``, then set
|
||||
``-D dri-drivers-path=/usr/lib64/dri``.
|
||||
|
||||
After determining the correct values for the install location, configure
|
||||
Mesa with
|
||||
``meson configure --prefix=/usr --libdir=xxx -D dri-drivers-path=xxx``
|
||||
and then install with ``sudo ninja install``.
|
||||
|
||||
.. _part3:
|
||||
|
||||
3. Runtime / Rendering Problems
|
||||
-------------------------------
|
||||
|
||||
3.1 Rendering is slow / why isn't my graphics hardware being used?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If Mesa can't use its hardware accelerated drivers it falls back on one
|
||||
of its software renderers. (eg. classic swrast, softpipe or llvmpipe)
|
||||
|
||||
You can run the ``glxinfo`` program to learn about your OpenGL library.
|
||||
Look for the ``OpenGL vendor`` and ``OpenGL renderer`` values. That will
|
||||
identify who's OpenGL library with which driver you're using and what
|
||||
sort of hardware it has detected.
|
||||
|
||||
If you're using a hardware accelerated driver you want
|
||||
``direct rendering: Yes``.
|
||||
|
||||
If your DRI-based driver isn't working, go to the `DRI
|
||||
website <https://dri.freedesktop.org/>`__ for trouble-shooting
|
||||
information.
|
||||
|
||||
3.2 I'm seeing errors in depth (Z) buffering. Why?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Make sure the ratio of the far to near clipping planes isn't too great.
|
||||
Look
|
||||
`here <https://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm#0040>`__
|
||||
for details.
|
||||
|
||||
Mesa uses a 16-bit depth buffer by default which is smaller and faster
|
||||
to clear than a 32-bit buffer but not as accurate. If you need a deeper
|
||||
you can modify the parameters to ``glXChooseVisual`` in your code.
|
||||
|
||||
3.3 Why Isn't depth buffering working at all?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Be sure you're requesting a depth buffered-visual. If you set the
|
||||
``MESA_DEBUG`` environment variable it will warn you about trying to
|
||||
enable depth testing when you don't have a depth buffer.
|
||||
|
||||
Specifically, make sure ``glutInitDisplayMode`` is being called with
|
||||
``GLUT_DEPTH`` or ``glXChooseVisual`` is being called with a non-zero
|
||||
value for ``GLX_DEPTH_SIZE``.
|
||||
|
||||
This discussion applies to stencil buffers, accumulation buffers and
|
||||
alpha channels too.
|
||||
|
||||
3.4 Why does ``glGetString()`` always return ``NULL``?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Be sure you have an active/current OpenGL rendering context before
|
||||
calling ``glGetString``.
|
||||
|
||||
3.5 ``GL_POINTS`` and ``GL_LINES`` don't touch the right pixels
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you're trying to draw a filled region by using ``GL_POINTS`` or
|
||||
``GL_LINES`` and seeing holes or gaps it's because of a float-to-int
|
||||
rounding problem. But this is not a bug. See Appendix H of the OpenGL
|
||||
Programming Guide - "OpenGL Correctness Tips". Basically, applying a
|
||||
translation of (0.375, 0.375, 0.0) to your coordinates will fix the
|
||||
problem.
|
||||
|
||||
.. _part4:
|
||||
|
||||
4. Developer Questions
|
||||
----------------------
|
||||
|
||||
4.1 How can I contribute?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
First, join the `mesa-dev mailing list <lists.html>`__. That's where
|
||||
Mesa development is discussed.
|
||||
|
||||
The `OpenGL Specification <https://www.opengl.org/documentation>`__ is
|
||||
the bible for OpenGL implementation work. You should read it.
|
||||
|
||||
Most of the Mesa development work involves implementing new OpenGL
|
||||
extensions, writing hardware drivers (for the DRI), and code
|
||||
optimization.
|
||||
|
||||
4.2 How do I write a new device driver?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Unfortunately, writing a device driver isn't easy. It requires detailed
|
||||
understanding of OpenGL, the Mesa code, and your target
|
||||
hardware/operating system. 3D graphics are not simple.
|
||||
|
||||
The best way to get started is to use an existing driver as your
|
||||
starting point. For a classic hardware driver, the i965 driver is a good
|
||||
example. For a Gallium3D hardware driver, the r300g, r600g and the i915g
|
||||
are good examples.
|
||||
|
||||
The DRI website has more information about writing hardware drivers. The
|
||||
process isn't well document because the Mesa driver interface changes
|
||||
over time, and we seldom have spare time for writing documentation. That
|
||||
being said, many people have managed to figure out the process.
|
||||
|
||||
Joining the appropriate mailing lists and asking questions (and
|
||||
searching the archives) is a good way to get information.
|
||||
|
||||
4.3 Why isn't ``GL_EXT_texture_compression_s3tc`` implemented in Mesa?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Oh but it is! Prior to 2nd October 2017, the Mesa project did not
|
||||
include s3tc support due to intellectual property (IP) and/or patent
|
||||
issues around the s3tc algorithm.
|
||||
|
||||
As of Mesa 17.3.0, Mesa now officially supports s3tc, as the patent has
|
||||
expired.
|
||||
|
||||
In versions prior to this, a 3rd party `plug-in
|
||||
library <https://dri.freedesktop.org/wiki/S3TC>`__ was required.
|
|
@ -1,89 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Help Wanted</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Help Wanted</h1>
|
||||
|
||||
<p>
|
||||
We can always use more help with the Mesa project.
|
||||
Here are some specific ideas and areas where help would be appreciated:
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
<b>Driver patching and testing.</b>
|
||||
Patches are often posted to the <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev mailing list</a>, but aren't
|
||||
immediately checked into git because not enough people are testing them.
|
||||
Just applying patches, testing and reporting back is helpful.
|
||||
<li>
|
||||
<b>Driver debugging.</b>
|
||||
There are plenty of open bugs in the <a href="https://gitlab.freedesktop.org/mesa/mesa/-/issues">bug database</a>.
|
||||
<li>
|
||||
<b>Remove aliasing warnings.</b>
|
||||
Enable gcc's <code>-Wstrict-aliasing=2 -fstrict-aliasing</code> arguments, and
|
||||
track down aliasing issues in the code.
|
||||
<li>
|
||||
<b>Contribute more tests to
|
||||
<a href="https://piglit.freedesktop.org/">Piglit</a>.</b>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
You can find some further To-do lists here:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Common To-Do lists:</b>
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/docs/features.txt">
|
||||
<code>features.txt</code></a> - Status of OpenGL 3.x / 4.x features in
|
||||
Mesa.</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
<b>Legacy Driver specific To-Do lists:</b>
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="https://dri.freedesktop.org/wiki/R600ToDo">
|
||||
<code>r600g</code></a> - Driver for ATI/AMD R600 - Northern Island.</li>
|
||||
<li><a href="https://dri.freedesktop.org/wiki/R300ToDo">
|
||||
<code>r300g</code></a> - Driver for ATI R300 - R500.</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
If you want to do something new in Mesa, first join the Mesa developer's
|
||||
mailing list.
|
||||
Then post a message to propose what you want to do, just to make sure
|
||||
there's no issues.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Anyone is welcome to contribute code to the Mesa project.
|
||||
By doing so, it's assumed that you agree to the code's licensing terms.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Finally:
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>Try to write high-quality code that follows the existing style.
|
||||
<li>Use uniform indentation, write comments, use meaningful identifiers, etc.
|
||||
<li>Test your code thoroughly. Include test programs if appropriate.
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,47 @@
|
|||
Help Wanted
|
||||
===========
|
||||
|
||||
We can always use more help with the Mesa project. Here are some
|
||||
specific ideas and areas where help would be appreciated:
|
||||
|
||||
#. **Driver patching and testing.** Patches are often posted to the
|
||||
`mesa-dev mailing
|
||||
list <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`__,
|
||||
but aren't immediately checked into git because not enough people are
|
||||
testing them. Just applying patches, testing and reporting back is
|
||||
helpful.
|
||||
#. **Driver debugging.** There are plenty of open bugs in the `bug
|
||||
database <https://gitlab.freedesktop.org/mesa/mesa/-/issues>`__.
|
||||
#. **Remove aliasing warnings.** Enable gcc's
|
||||
``-Wstrict-aliasing=2 -fstrict-aliasing`` arguments, and track down
|
||||
aliasing issues in the code.
|
||||
#. **Contribute more tests
|
||||
to**\ `Piglit <https://piglit.freedesktop.org/>`__\ **.**
|
||||
|
||||
You can find some further To-do lists here:
|
||||
|
||||
**Common To-Do lists:**
|
||||
|
||||
- ```features.txt`` <https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/docs/features.txt>`__
|
||||
- Status of OpenGL 3.x / 4.x features in Mesa.
|
||||
|
||||
**Legacy Driver specific To-Do lists:**
|
||||
|
||||
- ```r600g`` <https://dri.freedesktop.org/wiki/R600ToDo>`__ - Driver
|
||||
for ATI/AMD R600 - Northern Island.
|
||||
- ```r300g`` <https://dri.freedesktop.org/wiki/R300ToDo>`__ - Driver
|
||||
for ATI R300 - R500.
|
||||
|
||||
If you want to do something new in Mesa, first join the Mesa developer's
|
||||
mailing list. Then post a message to propose what you want to do, just
|
||||
to make sure there's no issues.
|
||||
|
||||
Anyone is welcome to contribute code to the Mesa project. By doing so,
|
||||
it's assumed that you agree to the code's licensing terms.
|
||||
|
||||
Finally:
|
||||
|
||||
#. Try to write high-quality code that follows the existing style.
|
||||
#. Use uniform indentation, write comments, use meaningful identifiers,
|
||||
etc.
|
||||
#. Test your code thoroughly. Include test programs if appropriate.
|
2769
docs/index.html
2769
docs/index.html
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,254 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Compiling and Installing</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Compiling and Installing</h1>
|
||||
|
||||
<ol>
|
||||
<li><a href="#prereq-general">Prerequisites for building</a>
|
||||
<ul>
|
||||
<li><a href="#prereq-general">General prerequisites</a>
|
||||
<li><a href="#prereq-dri">For DRI and hardware acceleration</a>
|
||||
</ul>
|
||||
<li><a href="#meson">Building with meson</a>
|
||||
<li><a href="#scons">Building with SCons (Windows/Linux)</a>
|
||||
<li><a href="#android">Building with AOSP (Android)</a>
|
||||
<li><a href="#libs">Library Information</a>
|
||||
<li><a href="#pkg-config">Building OpenGL programs with pkg-config</a>
|
||||
</ol>
|
||||
|
||||
|
||||
<h2 id="prereq-general">1. Prerequisites for building</h2>
|
||||
|
||||
<h3>1.1 General</h3>
|
||||
|
||||
<h4>Build system</h4>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://mesonbuild.com">meson</a> is required when building on *nix platforms and is supported on windows.
|
||||
<li><a href="http://www.scons.org/">SCons</a> is an alternative for building on
|
||||
Windows and Linux.
|
||||
</li>
|
||||
<li>Android Build system when building as native Android component. Meson
|
||||
is used when when building ARC.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>Compiler</h4>
|
||||
<p>
|
||||
The following compilers are known to work, if you know of others or you're
|
||||
willing to maintain support for other compiler get in touch.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>GCC 4.2.0 or later (some parts of Mesa may require later versions)
|
||||
<li>clang - exact minimum requirement is currently unknown.
|
||||
<li>Microsoft Visual Studio 2015 or later is required, for building on Windows.
|
||||
</ul>
|
||||
|
||||
|
||||
<h4>Third party/extra tools.</h4>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.python.org/">Python</a> - Python is required.
|
||||
When building with scons 2.7 is required.
|
||||
When building with meson 3.5 or newer is required.
|
||||
</li>
|
||||
<li><a href="http://www.makotemplates.org/">Python Mako module</a> -
|
||||
Python Mako module is required. Version 0.8.0 or later should work.
|
||||
</li>
|
||||
<li>lex / yacc - for building the Mesa IR and GLSL compiler.
|
||||
<p>
|
||||
On Linux systems, flex and bison versions 2.5.35 and 2.4.1, respectively,
|
||||
(or later) should work.
|
||||
On Windows with MinGW, install flex and bison with:
|
||||
</p>
|
||||
<pre>mingw-get install msys-flex msys-bison</pre>
|
||||
<p>
|
||||
For MSVC on Windows, install
|
||||
<a href="http://winflexbison.sourceforge.net/">Win flex-bison</a>.
|
||||
</p>
|
||||
</ul>
|
||||
<p><strong>Note</strong>: Some versions can be buggy (eg. flex 2.6.2) so do try others if things fail.</p>
|
||||
|
||||
|
||||
<h3 id="prereq-dri">1.2 Requirements</h3>
|
||||
|
||||
<p>
|
||||
The requirements depends on the features selected at configure stage.
|
||||
Check/install the respective -devel package as prompted by the configure error
|
||||
message.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here are some common ways to retrieve most/all of the dependencies based on
|
||||
the packaging tool used by your distro.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
zypper source-install --build-deps-only Mesa # openSUSE/SLED/SLES
|
||||
yum-builddep mesa # yum Fedora, OpenSuse(?)
|
||||
dnf builddep mesa # dnf Fedora
|
||||
apt-get build-dep mesa # Debian and derivatives
|
||||
... # others
|
||||
</pre>
|
||||
|
||||
<h2 id="meson">2. Building with meson</h2>
|
||||
|
||||
<p><strong>Meson >= 0.46.0 is required</strong></p>
|
||||
|
||||
|
||||
<p>
|
||||
Meson is the latest build system in mesa, it is currently able to build for
|
||||
*nix systems like Linux and BSD, macOS, Haiku, and Windows.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The general approach is:
|
||||
</p>
|
||||
<pre>
|
||||
meson builddir/
|
||||
ninja -C builddir/
|
||||
sudo ninja -C builddir/ install
|
||||
</pre>
|
||||
|
||||
<p>On windows you can also use the visual studio backend</p>
|
||||
<pre>
|
||||
meson builddir --backend=vs
|
||||
cd builddir
|
||||
msbuild mesa.sln /m
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Please read the <a href="meson.html">detailed meson instructions</a>
|
||||
for more information
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2 id="scons">3. Building with SCons (Windows/Linux)</h2>
|
||||
|
||||
<p>
|
||||
To build Mesa with SCons on Linux or Windows do
|
||||
</p>
|
||||
<pre>
|
||||
scons
|
||||
</pre>
|
||||
<p>
|
||||
The build output will be placed in
|
||||
build/<i>platform</i>-<i>machine</i>-<i>debug</i>/..., where <i>platform</i> is for
|
||||
example linux or windows, <i>machine</i> is x86 or x86_64, optionally followed
|
||||
by -debug for debug builds.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To build Mesa with SCons for Windows on Linux using the MinGW crosscompiler toolchain do
|
||||
</p>
|
||||
<pre>
|
||||
scons platform=windows toolchain=crossmingw machine=x86 libgl-gdi
|
||||
</pre>
|
||||
<p>
|
||||
This will create:
|
||||
</p>
|
||||
<ul>
|
||||
<li>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa + Gallium + softpipe (or llvmpipe), binary compatible with Windows's opengl32.dll
|
||||
</ul>
|
||||
<p>
|
||||
Put them all in the same directory to test them.
|
||||
|
||||
Additional information is available in <a href="README.WIN32">README.WIN32</a>.
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2 id="android">4. Building with AOSP (Android)</h2>
|
||||
|
||||
<p>
|
||||
Currently one can build Mesa for Android as part of the AOSP project, yet
|
||||
your experience might vary.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In order to achieve that one should update their local manifest to point to the
|
||||
upstream repo, set the appropriate BOARD_GPU_DRIVERS and build the
|
||||
libGLES_mesa library.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
FINISHME: Improve on the instructions add references to Rob H repos/Jenkins,
|
||||
Android-x86 and/or other resources.
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="libs">5. Library Information</h2>
|
||||
|
||||
<p>
|
||||
When compilation has finished, look in the top-level <code>lib/</code>
|
||||
(or <code>lib64/</code>) directory.
|
||||
You'll see a set of library files similar to this:
|
||||
</p>
|
||||
<pre>
|
||||
lrwxrwxrwx 1 brian users 10 Mar 26 07:53 libGL.so -> libGL.so.1*
|
||||
lrwxrwxrwx 1 brian users 19 Mar 26 07:53 libGL.so.1 -> libGL.so.1.5.060100*
|
||||
-rwxr-xr-x 1 brian users 3375861 Mar 26 07:53 libGL.so.1.5.060100*
|
||||
lrwxrwxrwx 1 brian users 14 Mar 26 07:53 libOSMesa.so -> libOSMesa.so.6*
|
||||
lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSMesa.so.6.1.060100*
|
||||
-rwxr-xr-x 1 brian users 23871 Mar 26 07:53 libOSMesa.so.6.1.060100*
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
<b>libGL</b> is the main OpenGL library (i.e. Mesa), while <b>libOSMesa</b>
|
||||
is the OSMesa (Off-Screen) interface library.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you built the DRI hardware drivers, you'll also see the DRI drivers:
|
||||
</p>
|
||||
<pre>
|
||||
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i915_dri.so
|
||||
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i965_dri.so
|
||||
-rwxr-xr-x 1 brian users 11849858 Jul 21 12:12 r200_dri.so
|
||||
-rwxr-xr-x 1 brian users 11757388 Jul 21 12:12 radeon_dri.so
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
If you built with Gallium support, look in lib/gallium/ for Gallium-based
|
||||
versions of libGL and device drivers.
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="pkg-config">6. Building OpenGL programs with pkg-config</h2>
|
||||
|
||||
<p>
|
||||
Running <code>ninja install</code> will install package configuration files
|
||||
for the pkg-config utility.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When compiling your OpenGL application you can use pkg-config to determine
|
||||
the proper compiler and linker flags.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example, compiling and linking a GLUT application can be done with:
|
||||
</p>
|
||||
<pre>
|
||||
gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo
|
||||
</pre>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,212 @@
|
|||
Compiling and Installing
|
||||
========================
|
||||
|
||||
#. `Prerequisites for building <#prereq-general>`__
|
||||
|
||||
- `General prerequisites <#prereq-general>`__
|
||||
- `For DRI and hardware acceleration <#prereq-dri>`__
|
||||
|
||||
#. `Building with meson <#meson>`__
|
||||
#. `Building with SCons (Windows/Linux) <#scons>`__
|
||||
#. `Building with AOSP (Android) <#android>`__
|
||||
#. `Library Information <#libs>`__
|
||||
#. `Building OpenGL programs with pkg-config <#pkg-config>`__
|
||||
|
||||
.. _prereq-general:
|
||||
|
||||
1. Prerequisites for building
|
||||
-----------------------------
|
||||
|
||||
1.1 General
|
||||
~~~~~~~~~~~
|
||||
|
||||
Build system
|
||||
^^^^^^^^^^^^
|
||||
|
||||
- `meson <https://mesonbuild.com>`__ is required when building on \*nix
|
||||
platforms and is supported on windows.
|
||||
- `SCons <http://www.scons.org/>`__ is an alternative for building on
|
||||
Windows and Linux.
|
||||
- Android Build system when building as native Android component. Meson
|
||||
is used when when building ARC.
|
||||
|
||||
Compiler
|
||||
^^^^^^^^
|
||||
|
||||
The following compilers are known to work, if you know of others or
|
||||
you're willing to maintain support for other compiler get in touch.
|
||||
|
||||
- GCC 4.2.0 or later (some parts of Mesa may require later versions)
|
||||
- clang - exact minimum requirement is currently unknown.
|
||||
- Microsoft Visual Studio 2015 or later is required, for building on
|
||||
Windows.
|
||||
|
||||
Third party/extra tools.
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- `Python <https://www.python.org/>`__ - Python is required. When
|
||||
building with scons 2.7 is required. When building with meson 3.5 or
|
||||
newer is required.
|
||||
- `Python Mako module <http://www.makotemplates.org/>`__ - Python Mako
|
||||
module is required. Version 0.8.0 or later should work.
|
||||
- lex / yacc - for building the Mesa IR and GLSL compiler.
|
||||
|
||||
On Linux systems, flex and bison versions 2.5.35 and 2.4.1,
|
||||
respectively, (or later) should work. On Windows with MinGW, install
|
||||
flex and bison with:
|
||||
|
||||
::
|
||||
|
||||
mingw-get install msys-flex msys-bison
|
||||
|
||||
For MSVC on Windows, install `Win
|
||||
flex-bison <http://winflexbison.sourceforge.net/>`__.
|
||||
|
||||
**Note**: Some versions can be buggy (eg. flex 2.6.2) so do try others
|
||||
if things fail.
|
||||
|
||||
.. _prereq-dri:
|
||||
|
||||
1.2 Requirements
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
The requirements depends on the features selected at configure stage.
|
||||
Check/install the respective -devel package as prompted by the configure
|
||||
error message.
|
||||
|
||||
Here are some common ways to retrieve most/all of the dependencies based
|
||||
on the packaging tool used by your distro.
|
||||
|
||||
::
|
||||
|
||||
zypper source-install --build-deps-only Mesa # openSUSE/SLED/SLES
|
||||
yum-builddep mesa # yum Fedora, OpenSuse(?)
|
||||
dnf builddep mesa # dnf Fedora
|
||||
apt-get build-dep mesa # Debian and derivatives
|
||||
... # others
|
||||
|
||||
.. _meson:
|
||||
|
||||
2. Building with meson
|
||||
----------------------
|
||||
|
||||
**Meson >= 0.46.0 is required**
|
||||
|
||||
Meson is the latest build system in mesa, it is currently able to build
|
||||
for \*nix systems like Linux and BSD, macOS, Haiku, and Windows.
|
||||
|
||||
The general approach is:
|
||||
|
||||
::
|
||||
|
||||
meson builddir/
|
||||
ninja -C builddir/
|
||||
sudo ninja -C builddir/ install
|
||||
|
||||
On windows you can also use the visual studio backend
|
||||
|
||||
::
|
||||
|
||||
meson builddir --backend=vs
|
||||
cd builddir
|
||||
msbuild mesa.sln /m
|
||||
|
||||
Please read the `detailed meson instructions <meson.html>`__ for more
|
||||
information
|
||||
|
||||
.. _scons:
|
||||
|
||||
3. Building with SCons (Windows/Linux)
|
||||
--------------------------------------
|
||||
|
||||
To build Mesa with SCons on Linux or Windows do
|
||||
|
||||
::
|
||||
|
||||
scons
|
||||
|
||||
The build output will be placed in
|
||||
build/\ *platform*-*machine*-*debug*/..., where *platform* is for
|
||||
example linux or windows, *machine* is x86 or x86_64, optionally
|
||||
followed by -debug for debug builds.
|
||||
|
||||
To build Mesa with SCons for Windows on Linux using the MinGW
|
||||
crosscompiler toolchain do
|
||||
|
||||
::
|
||||
|
||||
scons platform=windows toolchain=crossmingw machine=x86 libgl-gdi
|
||||
|
||||
This will create:
|
||||
|
||||
- build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll — Mesa
|
||||
+ Gallium + softpipe (or llvmpipe), binary compatible with Windows's
|
||||
opengl32.dll
|
||||
|
||||
Put them all in the same directory to test them. Additional information
|
||||
is available in `README.WIN32 <README.WIN32>`__.
|
||||
|
||||
.. _android:
|
||||
|
||||
4. Building with AOSP (Android)
|
||||
-------------------------------
|
||||
|
||||
Currently one can build Mesa for Android as part of the AOSP project,
|
||||
yet your experience might vary.
|
||||
|
||||
In order to achieve that one should update their local manifest to point
|
||||
to the upstream repo, set the appropriate BOARD_GPU_DRIVERS and build
|
||||
the libGLES_mesa library.
|
||||
|
||||
FINISHME: Improve on the instructions add references to Rob H
|
||||
repos/Jenkins, Android-x86 and/or other resources.
|
||||
|
||||
.. _libs:
|
||||
|
||||
5. Library Information
|
||||
----------------------
|
||||
|
||||
When compilation has finished, look in the top-level ``lib/`` (or
|
||||
``lib64/``) directory. You'll see a set of library files similar to
|
||||
this:
|
||||
|
||||
::
|
||||
|
||||
lrwxrwxrwx 1 brian users 10 Mar 26 07:53 libGL.so -> libGL.so.1*
|
||||
lrwxrwxrwx 1 brian users 19 Mar 26 07:53 libGL.so.1 -> libGL.so.1.5.060100*
|
||||
-rwxr-xr-x 1 brian users 3375861 Mar 26 07:53 libGL.so.1.5.060100*
|
||||
lrwxrwxrwx 1 brian users 14 Mar 26 07:53 libOSMesa.so -> libOSMesa.so.6*
|
||||
lrwxrwxrwx 1 brian users 23 Mar 26 07:53 libOSMesa.so.6 -> libOSMesa.so.6.1.060100*
|
||||
-rwxr-xr-x 1 brian users 23871 Mar 26 07:53 libOSMesa.so.6.1.060100*
|
||||
|
||||
**libGL** is the main OpenGL library (i.e. Mesa), while **libOSMesa** is
|
||||
the OSMesa (Off-Screen) interface library.
|
||||
|
||||
If you built the DRI hardware drivers, you'll also see the DRI drivers:
|
||||
|
||||
::
|
||||
|
||||
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i915_dri.so
|
||||
-rwxr-xr-x 1 brian users 16895413 Jul 21 12:11 i965_dri.so
|
||||
-rwxr-xr-x 1 brian users 11849858 Jul 21 12:12 r200_dri.so
|
||||
-rwxr-xr-x 1 brian users 11757388 Jul 21 12:12 radeon_dri.so
|
||||
|
||||
If you built with Gallium support, look in lib/gallium/ for
|
||||
Gallium-based versions of libGL and device drivers.
|
||||
|
||||
.. _pkg-config:
|
||||
|
||||
6. Building OpenGL programs with pkg-config
|
||||
-------------------------------------------
|
||||
|
||||
Running ``ninja install`` will install package configuration files for
|
||||
the pkg-config utility.
|
||||
|
||||
When compiling your OpenGL application you can use pkg-config to
|
||||
determine the proper compiler and linker flags.
|
||||
|
||||
For example, compiling and linking a GLUT application can be done with:
|
||||
|
||||
::
|
||||
|
||||
gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo
|
404
docs/intro.html
404
docs/intro.html
|
@ -1,404 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Introduction</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Introduction</h1>
|
||||
|
||||
<p>
|
||||
The Mesa project began as an open-source implementation of the
|
||||
<a href="https://www.opengl.org/">OpenGL</a> specification -
|
||||
a system for rendering interactive 3D graphics.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Over the years the project has grown to implement more graphics APIs,
|
||||
including
|
||||
<a href="https://www.khronos.org/opengles/">OpenGL ES</a> (versions 1, 2, 3),
|
||||
<a href="https://www.khronos.org/opencl/">OpenCL</a>,
|
||||
<a href="https://www.khronos.org/openmax/">OpenMAX</a>,
|
||||
<a href="https://en.wikipedia.org/wiki/VDPAU">VDPAU</a>,
|
||||
<a href="https://en.wikipedia.org/wiki/Video_Acceleration_API">VA API</a>,
|
||||
<a href="https://en.wikipedia.org/wiki/X-Video_Motion_Compensation">XvMC</a> and
|
||||
<a href="https://www.khronos.org/vulkan/">Vulkan</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A variety of device drivers allows the Mesa libraries to be used in many
|
||||
different environments ranging from software emulation to complete hardware
|
||||
acceleration for modern GPUs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Mesa ties into several other open-source projects: the
|
||||
<a href="https://dri.freedesktop.org/">Direct Rendering
|
||||
Infrastructure</a> and <a href="https://x.org">X.org</a> to
|
||||
provide OpenGL support on Linux, FreeBSD and other operating
|
||||
systems.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>Project History</h2>
|
||||
|
||||
<p>
|
||||
The Mesa project was originally started by Brian Paul.
|
||||
Here's a short history of the project.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
August, 1993: I begin working on Mesa in my spare time. The project
|
||||
has no name at that point. I was simply interested in writing a simple
|
||||
3D graphics library that used the then-new OpenGL API. I was partially
|
||||
inspired by the <em>VOGL</em> library which emulated a subset of IRIS GL.
|
||||
I had been programming with IRIS GL since 1991.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
November 1994: I contact SGI to ask permission to distribute my OpenGL-like
|
||||
graphics library on the internet. SGI was generally receptive to the
|
||||
idea and after negotiations with SGI's legal department, I get permission
|
||||
to release it.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
February 1995: Mesa 1.0 is released on the internet. I expected that
|
||||
a few people would be interested in it, but not thousands.
|
||||
I was soon receiving patches, new features and thank-you notes on a
|
||||
daily basis. That encouraged me to continue working on Mesa. The
|
||||
name Mesa just popped into my head one day. SGI had asked me not to use
|
||||
the terms <em>"Open"</em> or <em>"GL"</em> in the project name and I didn't
|
||||
want to make up a new acronym. Later, I heard of the Mesa programming
|
||||
language and the Mesa spreadsheet for NeXTStep.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the early days, OpenGL wasn't available on too many systems.
|
||||
It even took a while for SGI to support it across their product line.
|
||||
Mesa filled a big hole during that time.
|
||||
For a lot of people, Mesa was their first introduction to OpenGL.
|
||||
I think SGI recognized that Mesa actually helped to promote
|
||||
the OpenGL API, so they didn't feel threatened by the project.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
1995-1996: I continue working on Mesa both during my spare time and during
|
||||
my work hours at the Space Science and Engineering Center at the University
|
||||
of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me do this because
|
||||
Mesa is now being using for the <a href="https://www.ssec.wisc.edu/%7Ebillh/vis.html">Vis5D</a> project.
|
||||
</p><p>
|
||||
October 1996: Mesa 2.0 is released. It implements the OpenGL 1.1 specification.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
March 1997: Mesa 2.2 is released. It supports the new 3dfx Voodoo graphics
|
||||
card via the Glide library. It's the first really popular hardware OpenGL
|
||||
implementation for Linux.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
September 1998: Mesa 3.0 is released. It's the first publicly-available
|
||||
implementation of the OpenGL 1.2 API.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
March 1999: I attend my first OpenGL ARB meeting. I contribute to the
|
||||
development of several official OpenGL extensions over the years.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
September 1999: I'm hired by Precision Insight, Inc. Mesa is a key
|
||||
component of 3D hardware acceleration in the new DRI project for XFree86.
|
||||
Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon follow.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
October 2001: Mesa 4.0 is released.
|
||||
It implements the OpenGL 1.3 specification.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
November 2001: I cofounded Tungsten Graphics, Inc. with Keith Whitwell,
|
||||
Jens Owen, David Dawes and Frank LaMonica.
|
||||
Tungsten Graphics was acquired by VMware in December 2008.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
November 2002: Mesa 5.0 is released.
|
||||
It implements the OpenGL 1.4 specification.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
January 2003: Mesa 6.0 is released. It implements the OpenGL 1.5
|
||||
specification as well as the GL_ARB_vertex_program and
|
||||
GL_ARB_fragment_program extensions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1 specification
|
||||
and OpenGL Shading Language.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
2008: Keith Whitwell and other Tungsten Graphics employees develop
|
||||
<a href="https://en.wikipedia.org/wiki/Gallium3D">Gallium</a>
|
||||
- a new GPU abstraction layer. The latest Mesa drivers are based on
|
||||
Gallium and other APIs such as OpenVG are implemented on top of Gallium.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
February 2012: Mesa 8.0 is released, implementing the OpenGL 3.0 specification
|
||||
and version 1.30 of the OpenGL Shading Language.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
July 2016: Mesa 12.0 is released, including OpenGL 4.3 support and initial
|
||||
support for Vulkan for Intel GPUs. Plus, there's another gallium software
|
||||
driver ("swr") based on LLVM and developed by Intel.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Ongoing: Mesa is the OpenGL implementation for devices designed by
|
||||
Intel, AMD, NVIDIA, Qualcomm, Broadcom, Vivante, plus the VMware and
|
||||
VirGL virtual GPUs.
|
||||
There's also several software-based renderers: swrast (the legacy
|
||||
Mesa rasterizer), softpipe (a gallium reference driver), llvmpipe
|
||||
(LLVM/JIT-based high-speed rasterizer) and swr (another LLVM-based driver).
|
||||
</p>
|
||||
<p>
|
||||
Work continues on the drivers and core Mesa to implement newer versions
|
||||
of the OpenGL, OpenGL ES and Vulkan specifications.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>Major Versions</h2>
|
||||
|
||||
<p>
|
||||
This is a summary of the major versions of Mesa.
|
||||
Mesa's major version number has been incremented whenever a new version
|
||||
of the OpenGL specification is implemented.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Version 12.x features</h3>
|
||||
<p>
|
||||
Version 12.x of Mesa implements the OpenGL 4.3 API, but not all drivers
|
||||
support OpenGL 4.3.
|
||||
</p>
|
||||
<p>
|
||||
Initial support for Vulkan is also included.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Version 11.x features</h3>
|
||||
<p>
|
||||
Version 11.x of Mesa implements the OpenGL 4.1 API, but not all drivers
|
||||
support OpenGL 4.1.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Version 10.x features</h3>
|
||||
<p>
|
||||
Version 10.x of Mesa implements the OpenGL 3.3 API, but not all drivers
|
||||
support OpenGL 3.3.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Version 9.x features</h3>
|
||||
<p>
|
||||
Version 9.x of Mesa implements the OpenGL 3.1 API.
|
||||
While the driver for Intel Sandy Bridge and Ivy Bridge is the only
|
||||
driver to support OpenGL 3.1, many developers across the open-source
|
||||
community contributed features required for OpenGL 3.1. The primary
|
||||
features added since the Mesa 8.0 release are
|
||||
GL_ARB_texture_buffer_object and GL_ARB_uniform_buffer_object.
|
||||
</p>
|
||||
<p>
|
||||
Version 9.0 of Mesa also included the first release of the Clover state
|
||||
tracker for OpenCL.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Version 8.x features</h3>
|
||||
<p>
|
||||
Version 8.x of Mesa implements the OpenGL 3.0 API.
|
||||
The developers at Intel deserve a lot of credit for implementing most
|
||||
of the OpenGL 3.0 features in core Mesa, the GLSL compiler as well as
|
||||
the i965 driver.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Version 7.x features</h3>
|
||||
<p>
|
||||
Version 7.x of Mesa implements the OpenGL 2.1 API. The main feature
|
||||
of OpenGL 2.x is the OpenGL Shading Language.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Version 6.x features</h3>
|
||||
<p>
|
||||
Version 6.x of Mesa implements the OpenGL 1.5 API with the following
|
||||
extensions incorporated as standard features:
|
||||
</p>
|
||||
<ul>
|
||||
<li>GL_ARB_occlusion_query
|
||||
<li>GL_ARB_vertex_buffer_object
|
||||
<li>GL_EXT_shadow_funcs
|
||||
</ul>
|
||||
<p>
|
||||
Also note that several OpenGL tokens were renamed in OpenGL 1.5
|
||||
for the sake of consistency.
|
||||
The old tokens are still available.
|
||||
</p>
|
||||
<pre>
|
||||
New Token Old Token
|
||||
------------------------------------------------------------
|
||||
GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
|
||||
GL_FOG_COORD GL_FOG_COORDINATE
|
||||
GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
|
||||
GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
|
||||
GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
|
||||
GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
|
||||
GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
|
||||
GL_SRC0_RGB GL_SOURCE0_RGB
|
||||
GL_SRC1_RGB GL_SOURCE1_RGB
|
||||
GL_SRC2_RGB GL_SOURCE2_RGB
|
||||
GL_SRC0_ALPHA GL_SOURCE0_ALPHA
|
||||
GL_SRC1_ALPHA GL_SOURCE1_ALPHA
|
||||
GL_SRC2_ALPHA GL_SOURCE2_ALPHA
|
||||
</pre>
|
||||
<p>
|
||||
See the
|
||||
<a href="https://www.opengl.org/documentation/spec.html">
|
||||
OpenGL specification</a> for more details.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h3>Version 5.x features</h3>
|
||||
<p>
|
||||
Version 5.x of Mesa implements the OpenGL 1.4 API with the following
|
||||
extensions incorporated as standard features:
|
||||
</p>
|
||||
<ul>
|
||||
<li>GL_ARB_depth_texture
|
||||
<li>GL_ARB_shadow
|
||||
<li>GL_ARB_texture_env_crossbar
|
||||
<li>GL_ARB_texture_mirror_repeat
|
||||
<li>GL_ARB_window_pos
|
||||
<li>GL_EXT_blend_color
|
||||
<li>GL_EXT_blend_func_separate
|
||||
<li>GL_EXT_blend_logic_op
|
||||
<li>GL_EXT_blend_minmax
|
||||
<li>GL_EXT_blend_subtract
|
||||
<li>GL_EXT_fog_coord
|
||||
<li>GL_EXT_multi_draw_arrays
|
||||
<li>GL_EXT_point_parameters
|
||||
<li>GL_EXT_secondary_color
|
||||
<li>GL_EXT_stencil_wrap
|
||||
<li>GL_EXT_texture_lod_bias (plus, a per-texture LOD bias parameter)
|
||||
<li>GL_SGIS_generate_mipmap
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>Version 4.x features</h3>
|
||||
|
||||
<p>
|
||||
Version 4.x of Mesa implements the OpenGL 1.3 API with the following
|
||||
extensions incorporated as standard features:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>GL_ARB_multisample
|
||||
<li>GL_ARB_multitexture
|
||||
<li>GL_ARB_texture_border_clamp
|
||||
<li>GL_ARB_texture_compression
|
||||
<li>GL_ARB_texture_cube_map
|
||||
<li>GL_ARB_texture_env_add
|
||||
<li>GL_ARB_texture_env_combine
|
||||
<li>GL_ARB_texture_env_dot3
|
||||
<li>GL_ARB_transpose_matrix
|
||||
</ul>
|
||||
|
||||
<h3>Version 3.x features</h3>
|
||||
|
||||
<p>
|
||||
Version 3.x of Mesa implements the OpenGL 1.2 API with the following
|
||||
features:
|
||||
</p>
|
||||
<ul>
|
||||
<li>BGR, BGRA and packed pixel formats
|
||||
<li>New texture border clamp mode
|
||||
<li>glDrawRangeElements()
|
||||
<li>standard 3-D texturing
|
||||
<li>advanced MIPMAP control
|
||||
<li>separate specular color interpolation
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>Version 2.x features</h3>
|
||||
<p>
|
||||
Version 2.x of Mesa implements the OpenGL 1.1 API with the following
|
||||
features.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Texture mapping:
|
||||
<ul>
|
||||
<li>glAreTexturesResident
|
||||
<li>glBindTexture
|
||||
<li>glCopyTexImage1D
|
||||
<li>glCopyTexImage2D
|
||||
<li>glCopyTexSubImage1D
|
||||
<li>glCopyTexSubImage2D
|
||||
<li>glDeleteTextures
|
||||
<li>glGenTextures
|
||||
<li>glIsTexture
|
||||
<li>glPrioritizeTextures
|
||||
<li>glTexSubImage1D
|
||||
<li>glTexSubImage2D
|
||||
</ul>
|
||||
<li>Vertex Arrays:
|
||||
<ul>
|
||||
<li>glArrayElement
|
||||
<li>glColorPointer
|
||||
<li>glDrawElements
|
||||
<li>glEdgeFlagPointer
|
||||
<li>glIndexPointer
|
||||
<li>glInterleavedArrays
|
||||
<li>glNormalPointer
|
||||
<li>glTexCoordPointer
|
||||
<li>glVertexPointer
|
||||
</ul>
|
||||
<li>Client state management:
|
||||
<ul>
|
||||
<li>glDisableClientState
|
||||
<li>glEnableClientState
|
||||
<li>glPopClientAttrib
|
||||
<li>glPushClientAttrib
|
||||
</ul>
|
||||
<li>Misc:
|
||||
<ul>
|
||||
<li>glGetPointer
|
||||
<li>glIndexub
|
||||
<li>glIndexubv
|
||||
<li>glPolygonOffset
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,308 @@
|
|||
Introduction
|
||||
============
|
||||
|
||||
The Mesa project began as an open-source implementation of the
|
||||
`OpenGL <https://www.opengl.org/>`__ specification - a system for
|
||||
rendering interactive 3D graphics.
|
||||
|
||||
Over the years the project has grown to implement more graphics APIs,
|
||||
including `OpenGL ES <https://www.khronos.org/opengles/>`__ (versions 1,
|
||||
2, 3), `OpenCL <https://www.khronos.org/opencl/>`__,
|
||||
`OpenMAX <https://www.khronos.org/openmax/>`__,
|
||||
`VDPAU <https://en.wikipedia.org/wiki/VDPAU>`__, `VA
|
||||
API <https://en.wikipedia.org/wiki/Video_Acceleration_API>`__,
|
||||
`XvMC <https://en.wikipedia.org/wiki/X-Video_Motion_Compensation>`__ and
|
||||
`Vulkan <https://www.khronos.org/vulkan/>`__.
|
||||
|
||||
A variety of device drivers allows the Mesa libraries to be used in many
|
||||
different environments ranging from software emulation to complete
|
||||
hardware acceleration for modern GPUs.
|
||||
|
||||
Mesa ties into several other open-source projects: the `Direct Rendering
|
||||
Infrastructure <https://dri.freedesktop.org/>`__ and
|
||||
`X.org <https://x.org>`__ to provide OpenGL support on Linux, FreeBSD
|
||||
and other operating systems.
|
||||
|
||||
Project History
|
||||
---------------
|
||||
|
||||
The Mesa project was originally started by Brian Paul. Here's a short
|
||||
history of the project.
|
||||
|
||||
August, 1993: I begin working on Mesa in my spare time. The project has
|
||||
no name at that point. I was simply interested in writing a simple 3D
|
||||
graphics library that used the then-new OpenGL API. I was partially
|
||||
inspired by the *VOGL* library which emulated a subset of IRIS GL. I had
|
||||
been programming with IRIS GL since 1991.
|
||||
|
||||
November 1994: I contact SGI to ask permission to distribute my
|
||||
OpenGL-like graphics library on the internet. SGI was generally
|
||||
receptive to the idea and after negotiations with SGI's legal
|
||||
department, I get permission to release it.
|
||||
|
||||
February 1995: Mesa 1.0 is released on the internet. I expected that a
|
||||
few people would be interested in it, but not thousands. I was soon
|
||||
receiving patches, new features and thank-you notes on a daily basis.
|
||||
That encouraged me to continue working on Mesa. The name Mesa just
|
||||
popped into my head one day. SGI had asked me not to use the terms
|
||||
*"Open"* or *"GL"* in the project name and I didn't want to make up a
|
||||
new acronym. Later, I heard of the Mesa programming language and the
|
||||
Mesa spreadsheet for NeXTStep.
|
||||
|
||||
In the early days, OpenGL wasn't available on too many systems. It even
|
||||
took a while for SGI to support it across their product line. Mesa
|
||||
filled a big hole during that time. For a lot of people, Mesa was their
|
||||
first introduction to OpenGL. I think SGI recognized that Mesa actually
|
||||
helped to promote the OpenGL API, so they didn't feel threatened by the
|
||||
project.
|
||||
|
||||
1995-1996: I continue working on Mesa both during my spare time and
|
||||
during my work hours at the Space Science and Engineering Center at the
|
||||
University of Wisconsin in Madison. My supervisor, Bill Hibbard, lets me
|
||||
do this because Mesa is now being using for the
|
||||
`Vis5D <https://www.ssec.wisc.edu/%7Ebillh/vis.html>`__ project.
|
||||
|
||||
October 1996: Mesa 2.0 is released. It implements the OpenGL 1.1
|
||||
specification.
|
||||
|
||||
March 1997: Mesa 2.2 is released. It supports the new 3dfx Voodoo
|
||||
graphics card via the Glide library. It's the first really popular
|
||||
hardware OpenGL implementation for Linux.
|
||||
|
||||
September 1998: Mesa 3.0 is released. It's the first publicly-available
|
||||
implementation of the OpenGL 1.2 API.
|
||||
|
||||
March 1999: I attend my first OpenGL ARB meeting. I contribute to the
|
||||
development of several official OpenGL extensions over the years.
|
||||
|
||||
September 1999: I'm hired by Precision Insight, Inc. Mesa is a key
|
||||
component of 3D hardware acceleration in the new DRI project for
|
||||
XFree86. Drivers for 3dfx, 3dLabs, Intel, Matrox and ATI hardware soon
|
||||
follow.
|
||||
|
||||
October 2001: Mesa 4.0 is released. It implements the OpenGL 1.3
|
||||
specification.
|
||||
|
||||
November 2001: I cofounded Tungsten Graphics, Inc. with Keith Whitwell,
|
||||
Jens Owen, David Dawes and Frank LaMonica. Tungsten Graphics was
|
||||
acquired by VMware in December 2008.
|
||||
|
||||
November 2002: Mesa 5.0 is released. It implements the OpenGL 1.4
|
||||
specification.
|
||||
|
||||
January 2003: Mesa 6.0 is released. It implements the OpenGL 1.5
|
||||
specification as well as the GL_ARB_vertex_program and
|
||||
GL_ARB_fragment_program extensions.
|
||||
|
||||
June 2007: Mesa 7.0 is released, implementing the OpenGL 2.1
|
||||
specification and OpenGL Shading Language.
|
||||
|
||||
2008: Keith Whitwell and other Tungsten Graphics employees develop
|
||||
`Gallium <https://en.wikipedia.org/wiki/Gallium3D>`__ - a new GPU
|
||||
abstraction layer. The latest Mesa drivers are based on Gallium and
|
||||
other APIs such as OpenVG are implemented on top of Gallium.
|
||||
|
||||
February 2012: Mesa 8.0 is released, implementing the OpenGL 3.0
|
||||
specification and version 1.30 of the OpenGL Shading Language.
|
||||
|
||||
July 2016: Mesa 12.0 is released, including OpenGL 4.3 support and
|
||||
initial support for Vulkan for Intel GPUs. Plus, there's another gallium
|
||||
software driver ("swr") based on LLVM and developed by Intel.
|
||||
|
||||
Ongoing: Mesa is the OpenGL implementation for devices designed by
|
||||
Intel, AMD, NVIDIA, Qualcomm, Broadcom, Vivante, plus the VMware and
|
||||
VirGL virtual GPUs. There's also several software-based renderers:
|
||||
swrast (the legacy Mesa rasterizer), softpipe (a gallium reference
|
||||
driver), llvmpipe (LLVM/JIT-based high-speed rasterizer) and swr
|
||||
(another LLVM-based driver).
|
||||
|
||||
Work continues on the drivers and core Mesa to implement newer versions
|
||||
of the OpenGL, OpenGL ES and Vulkan specifications.
|
||||
|
||||
Major Versions
|
||||
--------------
|
||||
|
||||
This is a summary of the major versions of Mesa. Mesa's major version
|
||||
number has been incremented whenever a new version of the OpenGL
|
||||
specification is implemented.
|
||||
|
||||
Version 12.x features
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 12.x of Mesa implements the OpenGL 4.3 API, but not all drivers
|
||||
support OpenGL 4.3.
|
||||
|
||||
Initial support for Vulkan is also included.
|
||||
|
||||
Version 11.x features
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 11.x of Mesa implements the OpenGL 4.1 API, but not all drivers
|
||||
support OpenGL 4.1.
|
||||
|
||||
Version 10.x features
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 10.x of Mesa implements the OpenGL 3.3 API, but not all drivers
|
||||
support OpenGL 3.3.
|
||||
|
||||
Version 9.x features
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 9.x of Mesa implements the OpenGL 3.1 API. While the driver for
|
||||
Intel Sandy Bridge and Ivy Bridge is the only driver to support OpenGL
|
||||
3.1, many developers across the open-source community contributed
|
||||
features required for OpenGL 3.1. The primary features added since the
|
||||
Mesa 8.0 release are GL_ARB_texture_buffer_object and
|
||||
GL_ARB_uniform_buffer_object.
|
||||
|
||||
Version 9.0 of Mesa also included the first release of the Clover state
|
||||
tracker for OpenCL.
|
||||
|
||||
Version 8.x features
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 8.x of Mesa implements the OpenGL 3.0 API. The developers at
|
||||
Intel deserve a lot of credit for implementing most of the OpenGL 3.0
|
||||
features in core Mesa, the GLSL compiler as well as the i965 driver.
|
||||
|
||||
Version 7.x features
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 7.x of Mesa implements the OpenGL 2.1 API. The main feature of
|
||||
OpenGL 2.x is the OpenGL Shading Language.
|
||||
|
||||
Version 6.x features
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 6.x of Mesa implements the OpenGL 1.5 API with the following
|
||||
extensions incorporated as standard features:
|
||||
|
||||
- GL_ARB_occlusion_query
|
||||
- GL_ARB_vertex_buffer_object
|
||||
- GL_EXT_shadow_funcs
|
||||
|
||||
Also note that several OpenGL tokens were renamed in OpenGL 1.5 for the
|
||||
sake of consistency. The old tokens are still available.
|
||||
|
||||
::
|
||||
|
||||
New Token Old Token
|
||||
------------------------------------------------------------
|
||||
GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE
|
||||
GL_FOG_COORD GL_FOG_COORDINATE
|
||||
GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE
|
||||
GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE
|
||||
GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE
|
||||
GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER
|
||||
GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY
|
||||
GL_SRC0_RGB GL_SOURCE0_RGB
|
||||
GL_SRC1_RGB GL_SOURCE1_RGB
|
||||
GL_SRC2_RGB GL_SOURCE2_RGB
|
||||
GL_SRC0_ALPHA GL_SOURCE0_ALPHA
|
||||
GL_SRC1_ALPHA GL_SOURCE1_ALPHA
|
||||
GL_SRC2_ALPHA GL_SOURCE2_ALPHA
|
||||
|
||||
See the `OpenGL
|
||||
specification <https://www.opengl.org/documentation/spec.html>`__ for
|
||||
more details.
|
||||
|
||||
Version 5.x features
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 5.x of Mesa implements the OpenGL 1.4 API with the following
|
||||
extensions incorporated as standard features:
|
||||
|
||||
- GL_ARB_depth_texture
|
||||
- GL_ARB_shadow
|
||||
- GL_ARB_texture_env_crossbar
|
||||
- GL_ARB_texture_mirror_repeat
|
||||
- GL_ARB_window_pos
|
||||
- GL_EXT_blend_color
|
||||
- GL_EXT_blend_func_separate
|
||||
- GL_EXT_blend_logic_op
|
||||
- GL_EXT_blend_minmax
|
||||
- GL_EXT_blend_subtract
|
||||
- GL_EXT_fog_coord
|
||||
- GL_EXT_multi_draw_arrays
|
||||
- GL_EXT_point_parameters
|
||||
- GL_EXT_secondary_color
|
||||
- GL_EXT_stencil_wrap
|
||||
- GL_EXT_texture_lod_bias (plus, a per-texture LOD bias parameter)
|
||||
- GL_SGIS_generate_mipmap
|
||||
|
||||
Version 4.x features
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 4.x of Mesa implements the OpenGL 1.3 API with the following
|
||||
extensions incorporated as standard features:
|
||||
|
||||
- GL_ARB_multisample
|
||||
- GL_ARB_multitexture
|
||||
- GL_ARB_texture_border_clamp
|
||||
- GL_ARB_texture_compression
|
||||
- GL_ARB_texture_cube_map
|
||||
- GL_ARB_texture_env_add
|
||||
- GL_ARB_texture_env_combine
|
||||
- GL_ARB_texture_env_dot3
|
||||
- GL_ARB_transpose_matrix
|
||||
|
||||
Version 3.x features
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 3.x of Mesa implements the OpenGL 1.2 API with the following
|
||||
features:
|
||||
|
||||
- BGR, BGRA and packed pixel formats
|
||||
- New texture border clamp mode
|
||||
- glDrawRangeElements()
|
||||
- standard 3-D texturing
|
||||
- advanced MIPMAP control
|
||||
- separate specular color interpolation
|
||||
|
||||
Version 2.x features
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Version 2.x of Mesa implements the OpenGL 1.1 API with the following
|
||||
features.
|
||||
|
||||
- Texture mapping:
|
||||
|
||||
- glAreTexturesResident
|
||||
- glBindTexture
|
||||
- glCopyTexImage1D
|
||||
- glCopyTexImage2D
|
||||
- glCopyTexSubImage1D
|
||||
- glCopyTexSubImage2D
|
||||
- glDeleteTextures
|
||||
- glGenTextures
|
||||
- glIsTexture
|
||||
- glPrioritizeTextures
|
||||
- glTexSubImage1D
|
||||
- glTexSubImage2D
|
||||
|
||||
- Vertex Arrays:
|
||||
|
||||
- glArrayElement
|
||||
- glColorPointer
|
||||
- glDrawElements
|
||||
- glEdgeFlagPointer
|
||||
- glIndexPointer
|
||||
- glInterleavedArrays
|
||||
- glNormalPointer
|
||||
- glTexCoordPointer
|
||||
- glVertexPointer
|
||||
|
||||
- Client state management:
|
||||
|
||||
- glDisableClientState
|
||||
- glEnableClientState
|
||||
- glPopClientAttrib
|
||||
- glPushClientAttrib
|
||||
|
||||
- Misc:
|
||||
|
||||
- glGetPointer
|
||||
- glIndexub
|
||||
- glIndexubv
|
||||
- glPolygonOffset
|
|
@ -1,123 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>License and Copyright</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>License and Copyright</h1>
|
||||
|
||||
<h2>Disclaimer</h2>
|
||||
|
||||
<p>
|
||||
Mesa is a 3-D graphics library with an API which is very similar to
|
||||
that of <a href="https://www.opengl.org/">OpenGL</a><sup>[<a href="#trademark">1</a>]</sup>.
|
||||
To the extent that Mesa utilizes the OpenGL command syntax or state
|
||||
machine, it is being used with authorization from <a
|
||||
href="https://www.sgi.com/">Silicon Graphics,
|
||||
Inc.</a>(SGI). However, the author does not possess an OpenGL license
|
||||
from SGI, and makes no claim that Mesa is in any way a compatible
|
||||
replacement for OpenGL or associated with SGI. Those who want a
|
||||
licensed implementation of OpenGL should contact a licensed
|
||||
vendor.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please do not refer to the library as <em>MesaGL</em> (for legal
|
||||
reasons). It's just <em>Mesa</em> or <em>The Mesa 3-D graphics
|
||||
library</em>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a id="trademark">[1]</a>: OpenGL is a trademark of <a
|
||||
href="https://www.sgi.com/">Silicon Graphics Incorporated</a>.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>License / Copyright Information</h2>
|
||||
|
||||
<p>
|
||||
The Mesa distribution consists of several components. Different copyrights
|
||||
and licenses apply to different components.
|
||||
For example, the GLX client code uses the SGI Free Software License B, and
|
||||
some of the Mesa device drivers are copyrighted by their authors.
|
||||
See below for a list of Mesa's main components and the license for each.
|
||||
</p>
|
||||
<p>
|
||||
The core Mesa library is licensed according to the terms of the MIT license.
|
||||
This allows integration with the XFree86, Xorg and DRI projects.
|
||||
</p>
|
||||
<p>
|
||||
The default Mesa license is as follows:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>Attention, Contributors</h2>
|
||||
|
||||
<p>
|
||||
When contributing to the Mesa project you must agree to the licensing terms
|
||||
of the component to which you're contributing.
|
||||
The following section lists the primary components of the Mesa distribution
|
||||
and their respective licenses.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Mesa Component Licenses</h2>
|
||||
|
||||
<pre>
|
||||
Component Location License
|
||||
------------------------------------------------------------------
|
||||
Main Mesa code src/mesa/ MIT
|
||||
|
||||
Device drivers src/mesa/drivers/* MIT, generally
|
||||
|
||||
Gallium code src/gallium/ MIT
|
||||
|
||||
Ext headers include/GL/glext.h Khronos
|
||||
include/GL/glxext.h
|
||||
|
||||
GLX client code src/glx/ SGI Free Software License B
|
||||
|
||||
C11 thread include/c11/threads*.h Boost (permissive)
|
||||
emulation
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
In general, consult the source files for license terms.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,90 @@
|
|||
License and Copyright
|
||||
=====================
|
||||
|
||||
Disclaimer
|
||||
----------
|
||||
|
||||
Mesa is a 3-D graphics library with an API which is very similar to that
|
||||
of
|
||||
`OpenGL <https://www.opengl.org/>`__\ :sup:`[`\ `1 <#trademark>`__\ :sup:`]`.
|
||||
To the extent that Mesa utilizes the OpenGL command syntax or state
|
||||
machine, it is being used with authorization from `Silicon Graphics,
|
||||
Inc. <https://www.sgi.com/>`__\ (SGI). However, the author does not
|
||||
possess an OpenGL license from SGI, and makes no claim that Mesa is in
|
||||
any way a compatible replacement for OpenGL or associated with SGI.
|
||||
Those who want a licensed implementation of OpenGL should contact a
|
||||
licensed vendor.
|
||||
|
||||
Please do not refer to the library as *MesaGL* (for legal reasons). It's
|
||||
just *Mesa* or *The Mesa 3-D graphics library*.
|
||||
|
||||
[1]: OpenGL is a trademark of `Silicon Graphics
|
||||
Incorporated <https://www.sgi.com/>`__.
|
||||
|
||||
License / Copyright Information
|
||||
-------------------------------
|
||||
|
||||
The Mesa distribution consists of several components. Different
|
||||
copyrights and licenses apply to different components. For example, the
|
||||
GLX client code uses the SGI Free Software License B, and some of the
|
||||
Mesa device drivers are copyrighted by their authors. See below for a
|
||||
list of Mesa's main components and the license for each.
|
||||
|
||||
The core Mesa library is licensed according to the terms of the MIT
|
||||
license. This allows integration with the XFree86, Xorg and DRI
|
||||
projects.
|
||||
|
||||
The default Mesa license is as follows:
|
||||
|
||||
::
|
||||
|
||||
Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
Attention, Contributors
|
||||
-----------------------
|
||||
|
||||
When contributing to the Mesa project you must agree to the licensing
|
||||
terms of the component to which you're contributing. The following
|
||||
section lists the primary components of the Mesa distribution and their
|
||||
respective licenses.
|
||||
|
||||
Mesa Component Licenses
|
||||
-----------------------
|
||||
|
||||
::
|
||||
|
||||
Component Location License
|
||||
------------------------------------------------------------------
|
||||
Main Mesa code src/mesa/ MIT
|
||||
|
||||
Device drivers src/mesa/drivers/* MIT, generally
|
||||
|
||||
Gallium code src/gallium/ MIT
|
||||
|
||||
Ext headers include/GL/glext.h Khronos
|
||||
include/GL/glxext.h
|
||||
|
||||
GLX client code src/glx/ SGI Free Software License B
|
||||
|
||||
C11 thread include/c11/threads*.h Boost (permissive)
|
||||
emulation
|
||||
|
||||
In general, consult the source files for license terms.
|
|
@ -1,97 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mailing Lists</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mailing Lists</h1>
|
||||
|
||||
|
||||
<p>There are four Mesa 3D / DRI mailing lists:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-users">mesa-users</a>
|
||||
- intended for end-users of Mesa and DRI drivers. Newbie questions are OK,
|
||||
but please try the general OpenGL resources and Mesa/DRI documentation first.</p>
|
||||
</li>
|
||||
<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">mesa-dev</a>
|
||||
- for Mesa, Gallium and DRI development
|
||||
discussion. Not for beginners.</p>
|
||||
</li>
|
||||
<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-commit">mesa-commit</a>
|
||||
- relays git check-in messages (for developers).
|
||||
In general, people should not post to this list.</p>
|
||||
</li>
|
||||
<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/mesa-announce">mesa-announce</a>
|
||||
- announcements of new Mesa
|
||||
versions are sent to this list. Very low traffic.</p>
|
||||
</li>
|
||||
<li><p><a href="https://lists.freedesktop.org/mailman/listinfo/piglit">piglit</a>
|
||||
- for Piglit (OpenGL driver testing framework) discussion.</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
<b>NOTE</b>: You <b>must</b> subscribe to these lists in order to post to them.
|
||||
If you try to post to a list and you're not a subscriber (or if you try to post
|
||||
from a different email address than you subscribed with) your posting will be
|
||||
held for an indefinite period or may be discarded entirely.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Follow the links above for list archives.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The old Mesa lists hosted at SourceForge are no longer in use.
|
||||
The archives are still available, however:
|
||||
<a href="https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-announce">mesa3d-announce</a>,
|
||||
<a href="https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-users">mesa3d-users</a>,
|
||||
<a href="https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev">mesa3d-dev</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<p>For mailing lists about Direct Rendering Modules (drm) in Linux/BSD
|
||||
kernels, see the
|
||||
<a href="https://dri.freedesktop.org/wiki/MailingLists">DRI wiki</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>IRC</h2>
|
||||
|
||||
<p>join <a href="irc://chat.freenode.net#dri-devel">#dri-devel channel</a>
|
||||
on <a href="https://webchat.freenode.net/">irc.freenode.net</a>
|
||||
</p>
|
||||
|
||||
|
||||
<h2>OpenGL Forums</h2>
|
||||
|
||||
<p>
|
||||
Here are some other OpenGL-related forums you might find useful:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://www.opengl.org/discussion_boards/">OpenGL discussion forums</a>
|
||||
at www.opengl.org</li>
|
||||
<li>Usenet newsgroups:
|
||||
<ul>
|
||||
<li>comp.graphics.algorithms</li>
|
||||
<li>comp.graphics.api.opengl</li>
|
||||
<li>comp.os.linux.x</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,62 @@
|
|||
Mailing Lists
|
||||
=============
|
||||
|
||||
There are four Mesa 3D / DRI mailing lists:
|
||||
|
||||
- `mesa-users <https://lists.freedesktop.org/mailman/listinfo/mesa-users>`__
|
||||
- intended for end-users of Mesa and DRI drivers. Newbie questions
|
||||
are OK, but please try the general OpenGL resources and Mesa/DRI
|
||||
documentation first.
|
||||
|
||||
- `mesa-dev <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`__
|
||||
- for Mesa, Gallium and DRI development discussion. Not for
|
||||
beginners.
|
||||
|
||||
- `mesa-commit <https://lists.freedesktop.org/mailman/listinfo/mesa-commit>`__
|
||||
- relays git check-in messages (for developers). In general, people
|
||||
should not post to this list.
|
||||
|
||||
- `mesa-announce <https://lists.freedesktop.org/mailman/listinfo/mesa-announce>`__
|
||||
- announcements of new Mesa versions are sent to this list. Very low
|
||||
traffic.
|
||||
|
||||
- `piglit <https://lists.freedesktop.org/mailman/listinfo/piglit>`__ -
|
||||
for Piglit (OpenGL driver testing framework) discussion.
|
||||
|
||||
**NOTE**: You **must** subscribe to these lists in order to post to
|
||||
them. If you try to post to a list and you're not a subscriber (or if
|
||||
you try to post from a different email address than you subscribed with)
|
||||
your posting will be held for an indefinite period or may be discarded
|
||||
entirely.
|
||||
|
||||
Follow the links above for list archives.
|
||||
|
||||
The old Mesa lists hosted at SourceForge are no longer in use. The
|
||||
archives are still available, however:
|
||||
`mesa3d-announce <https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-announce>`__,
|
||||
`mesa3d-users <https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-users>`__,
|
||||
`mesa3d-dev <https://sourceforge.net/mailarchive/forum.php?forum_name=mesa3d-dev>`__.
|
||||
|
||||
For mailing lists about Direct Rendering Modules (drm) in Linux/BSD
|
||||
kernels, see the `DRI
|
||||
wiki <https://dri.freedesktop.org/wiki/MailingLists>`__.
|
||||
|
||||
IRC
|
||||
---
|
||||
|
||||
join `#dri-devel channel <irc://chat.freenode.net#dri-devel>`__ on
|
||||
`irc.freenode.net <https://webchat.freenode.net/>`__
|
||||
|
||||
OpenGL Forums
|
||||
-------------
|
||||
|
||||
Here are some other OpenGL-related forums you might find useful:
|
||||
|
||||
- `OpenGL discussion
|
||||
forums <https://www.opengl.org/discussion_boards/>`__ at
|
||||
www.opengl.org
|
||||
- Usenet newsgroups:
|
||||
|
||||
- comp.graphics.algorithms
|
||||
- comp.graphics.api.opengl
|
||||
- comp.os.linux.x
|
|
@ -1,343 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Gallium LLVMpipe Driver</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Gallium LLVMpipe Driver</h1>
|
||||
|
||||
<h2>Introduction</h2>
|
||||
|
||||
<p>
|
||||
The Gallium llvmpipe driver is a software rasterizer that uses LLVM to
|
||||
do runtime code generation.
|
||||
Shaders, point/line/triangle rasterization and vertex processing are
|
||||
implemented with LLVM IR which is translated to x86, x86-64, or ppc64le machine
|
||||
code.
|
||||
Also, the driver is multithreaded to take advantage of multiple CPU cores
|
||||
(up to 8 at this time).
|
||||
It's the fastest software rasterizer for Mesa.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Requirements</h2>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
For x86 or amd64 processors, 64-bit mode is recommended.
|
||||
Support for SSE2 is strongly encouraged. Support for SSE3 and SSE4.1 will
|
||||
yield the most efficient code. The fewer features the CPU has the more
|
||||
likely it is that you will run into underperforming, buggy, or incomplete code.
|
||||
</p>
|
||||
<p>
|
||||
For ppc64le processors, use of the Altivec feature (the Vector
|
||||
Facility) is recommended if supported; use of the VSX feature (the
|
||||
Vector-Scalar Facility) is recommended if supported AND Mesa is
|
||||
built with LLVM version 4.0 or later.
|
||||
</p>
|
||||
<p>
|
||||
See <code>/proc/cpuinfo</code> to know what your CPU supports.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Unless otherwise stated, LLVM version 3.4 is recommended; 3.3 or later is required.</p>
|
||||
<p>
|
||||
For Linux, on a recent Debian based distribution do:
|
||||
</p>
|
||||
<pre>
|
||||
aptitude install llvm-dev
|
||||
</pre>
|
||||
<p>
|
||||
If you want development snapshot builds of LLVM for Debian and derived
|
||||
distributions like Ubuntu, you can use the APT repository at <a
|
||||
href="https://apt.llvm.org/" title="Debian Development packages for LLVM"
|
||||
>apt.llvm.org</a>, which are maintained by Debian's LLVM maintainer.
|
||||
</p>
|
||||
<p>
|
||||
For a RPM-based distribution do:
|
||||
</p>
|
||||
<pre>
|
||||
yum install llvm-devel
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
For Windows you will need to build LLVM from source with MSVC or MINGW
|
||||
(either natively or through cross compilers) and CMake, and set the
|
||||
<code>LLVM</code> environment variable to the directory you installed
|
||||
it to.
|
||||
|
||||
LLVM will be statically linked, so when building on MSVC it needs to be
|
||||
built with a matching CRT as Mesa, and you'll need to pass
|
||||
<code>-DLLVM_USE_CRT_xxx=yyy</code> as described below.
|
||||
</p>
|
||||
|
||||
<table border="1">
|
||||
<tr>
|
||||
<th rowspan="2">LLVM build-type</th>
|
||||
<th colspan="2" align="center">Mesa build-type</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>debug,checked</th>
|
||||
<th>release,profile</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Debug</th>
|
||||
<td><code>-DLLVM_USE_CRT_DEBUG=MTd</code></td>
|
||||
<td><code>-DLLVM_USE_CRT_DEBUG=MT</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Release</th>
|
||||
<td><code>-DLLVM_USE_CRT_RELEASE=MTd</code></td>
|
||||
<td><code>-DLLVM_USE_CRT_RELEASE=MT</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
You can build only the x86 target by passing
|
||||
<code>-DLLVM_TARGETS_TO_BUILD=X86</code> to cmake.
|
||||
</p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p>scons (optional)</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Building</h2>
|
||||
|
||||
To build everything on Linux invoke scons as:
|
||||
|
||||
<pre>
|
||||
scons build=debug libgl-xlib
|
||||
</pre>
|
||||
|
||||
Alternatively, you can build it with meson with:
|
||||
<pre>
|
||||
mkdir build
|
||||
cd build
|
||||
meson -D glx=gallium-xlib -D gallium-drivers=swrast
|
||||
ninja
|
||||
</pre>
|
||||
|
||||
but the rest of these instructions assume that scons is used.
|
||||
|
||||
For Windows the procedure is similar except the target:
|
||||
|
||||
<pre>
|
||||
scons platform=windows build=debug libgl-gdi
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>Using</h2>
|
||||
|
||||
<h3>Linux</h3>
|
||||
|
||||
<p>On Linux, building will create a drop-in alternative for
|
||||
<code>libGL.so</code> into</p>
|
||||
|
||||
<pre>
|
||||
build/foo/gallium/targets/libgl-xlib/libGL.so
|
||||
</pre>
|
||||
or
|
||||
<pre>
|
||||
lib/gallium/libGL.so
|
||||
</pre>
|
||||
|
||||
<p>To use it set the <code>LD_LIBRARY_PATH</code> environment variable
|
||||
accordingly.</p>
|
||||
|
||||
<p>For performance evaluation pass <code>build=release</code> to scons,
|
||||
and use the corresponding lib directory without the <code>-debug</code>
|
||||
suffix.</p>
|
||||
|
||||
|
||||
<h3>Windows</h3>
|
||||
|
||||
<p>
|
||||
On Windows, building will create
|
||||
<code>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll</code>
|
||||
which is a drop-in alternative for system's <code>opengl32.dll</code>. To use
|
||||
it put it in the same directory as your application. It can also be used by
|
||||
replacing the native ICD driver, but it's quite an advanced usage, so if you
|
||||
need to ask, don't even try it.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There is however an easy way to replace the OpenGL software renderer that comes
|
||||
with Microsoft Windows 7 (or later) with llvmpipe (that is, on systems without
|
||||
any OpenGL drivers):
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><p>copy <code>build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll</code>
|
||||
to <code>C:\Windows\SysWOW64\mesadrv.dll</code>
|
||||
</p></li>
|
||||
<li><p>load this registry settings:</p>
|
||||
<pre>REGEDIT4
|
||||
|
||||
; https://technet.microsoft.com/en-us/library/cc749368.aspx
|
||||
; https://www.msfn.org/board/topic/143241-portable-windows-7-build-from-winpe-30/page-5#entry942596
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers\MSOGL]
|
||||
"DLL"="mesadrv.dll"
|
||||
"DriverVersion"=dword:00000001
|
||||
"Flags"=dword:00000001
|
||||
"Version"=dword:00000002
|
||||
</pre>
|
||||
</li>
|
||||
<li>Ditto for 64 bits drivers if you need them.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Profiling</h2>
|
||||
|
||||
<p>
|
||||
To profile llvmpipe you should build as
|
||||
</p>
|
||||
<pre>
|
||||
scons build=profile <same-as-before>
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
This will ensure that frame pointers are used both in C and JIT functions, and
|
||||
that no tail call optimizations are done by gcc.
|
||||
</p>
|
||||
|
||||
<h3>Linux perf integration</h3>
|
||||
|
||||
<p>
|
||||
On Linux, it is possible to have symbol resolution of JIT code with <a href="https://perf.wiki.kernel.org/">Linux perf</a>:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
perf record -g /my/application
|
||||
perf report
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
When run inside Linux perf, llvmpipe will create a
|
||||
<code>/tmp/perf-XXXXX.map</code> file with symbol address table. It also
|
||||
dumps assembly code to <code>/tmp/perf-XXXXX.map.asm</code>, which can be
|
||||
used by the <code>bin/perf-annotate-jit.py</code> script to produce
|
||||
disassembly of the generated code annotated with the samples.
|
||||
</p>
|
||||
|
||||
<p>You can obtain a call graph via
|
||||
<a href="https://github.com/jrfonseca/gprof2dot#linux-perf">Gprof2Dot</a>.</p>
|
||||
|
||||
|
||||
<h2>Unit testing</h2>
|
||||
|
||||
<p>
|
||||
Building will also create several unit tests in
|
||||
<code>build/linux-???-debug/gallium/drivers/llvmpipe</code>:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li> <code>lp_test_blend</code>: blending
|
||||
<li> <code>lp_test_conv</code>: SIMD vector conversion
|
||||
<li> <code>lp_test_format</code>: pixel unpacking/packing
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Some of these tests can output results and benchmarks to a tab-separated file
|
||||
for later analysis, e.g.:
|
||||
</p>
|
||||
<pre>
|
||||
build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_blend -o blend.tsv
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>Development Notes</h2>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
When looking at this code for the first time, start in lp_state_fs.c, and
|
||||
then skim through the <code>lp_bld_*</code> functions called there, and
|
||||
the comments at the top of the <code>lp_bld_*.c</code> functions.
|
||||
</li>
|
||||
<li>
|
||||
The driver-independent parts of the LLVM / Gallium code are found in
|
||||
<code>src/gallium/auxiliary/gallivm/</code>. The filenames and function
|
||||
prefixes need to be renamed from <code>lp_bld_</code> to something else
|
||||
though.
|
||||
</li>
|
||||
<li>
|
||||
We use LLVM-C bindings for now. They are not documented, but follow the C++
|
||||
interfaces very closely, and appear to be complete enough for code
|
||||
generation. See
|
||||
<a href="https://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html">
|
||||
this stand-alone example</a>. See the <code>llvm-c/Core.h</code> file for
|
||||
reference.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="recommended_reading">Recommended Reading</h2>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p>Rasterization</p>
|
||||
<ul>
|
||||
<li><a href="https://www.cs.unc.edu/~olano/papers/2dh-tri/">Triangle Scan Conversion using 2D Homogeneous Coordinates</a></li>
|
||||
<li><a href="http://www.drdobbs.com/parallel/rasterization-on-larrabee/217200602">Rasterization on Larrabee</a> (<a href="http://devmaster.net/posts/2887/rasterization-on-larrabee">DevMaster copy</a>)</li>
|
||||
<li><a href="http://devmaster.net/posts/6133/rasterization-using-half-space-functions">Rasterization using half-space functions</a></li>
|
||||
<li><a href="http://devmaster.net/posts/6145/advanced-rasterization">Advanced Rasterization</a></li>
|
||||
<li><a href="https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-culling-index/">Optimizing Software Occlusion Culling</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Texture sampling</p>
|
||||
<ul>
|
||||
<li><a href="http://chrishecker.com/Miscellaneous_Technical_Articles#Perspective_Texture_Mapping">Perspective Texture Mapping</a></li>
|
||||
<li><a href="https://www.flipcode.com/archives/Texturing_As_In_Unreal.shtml">Texturing As In Unreal</a></li>
|
||||
<li><a href="http://www.gamasutra.com/view/feature/3301/runtime_mipmap_filtering.php">Run-Time MIP-Map Filtering</a></li>
|
||||
<li><a href="http://alt.3dcenter.org/artikel/2003/10-26_a_english.php">Will "brilinear" filtering persist?</a></li>
|
||||
<li><a href="http://ixbtlabs.com/articles2/gffx/nv40-rx800-3.html">Trilinear filtering</a></li>
|
||||
<li><a href="http://devmaster.net/posts/12785/texture-swizzling">Texture Swizzling</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>SIMD</p>
|
||||
<ul>
|
||||
<li><a href="http://www.cdl.uni-saarland.de/projects/wfv/#header4">Whole-Function Vectorization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Optimization</p>
|
||||
<ul>
|
||||
<li><a href="http://www.drdobbs.com/optimizing-pixomatic-for-modern-x86-proc/184405807">Optimizing Pixomatic For Modern x86 Processors</a></li>
|
||||
<li><a href="http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html">Intel 64 and IA-32 Architectures Optimization Reference Manual</a></li>
|
||||
<li><a href="http://www.agner.org/optimize/">Software optimization resources</a></li>
|
||||
<li><a href="https://software.intel.com/en-us/articles/intel-intrinsics-guide">Intel Intrinsics Guide</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>LLVM</p>
|
||||
<ul>
|
||||
<li><a href="http://llvm.org/docs/LangRef.html">LLVM Language Reference Manual</a></li>
|
||||
<li><a href="https://npcontemplation.blogspot.co.uk/2008/06/secret-of-llvm-c-bindings.html">The secret of LLVM C bindings</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>General</p>
|
||||
<ul>
|
||||
<li><a href="https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/">A trip through the Graphics Pipeline</a></li>
|
||||
<li><a href="https://msdn.microsoft.com/en-us/library/gg615082.aspx#architecture">WARP Architecture and Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,272 @@
|
|||
Gallium LLVMpipe Driver
|
||||
=======================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The Gallium llvmpipe driver is a software rasterizer that uses LLVM to
|
||||
do runtime code generation. Shaders, point/line/triangle rasterization
|
||||
and vertex processing are implemented with LLVM IR which is translated
|
||||
to x86, x86-64, or ppc64le machine code. Also, the driver is
|
||||
multithreaded to take advantage of multiple CPU cores (up to 8 at this
|
||||
time). It's the fastest software rasterizer for Mesa.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
- For x86 or amd64 processors, 64-bit mode is recommended. Support for
|
||||
SSE2 is strongly encouraged. Support for SSE3 and SSE4.1 will yield
|
||||
the most efficient code. The fewer features the CPU has the more
|
||||
likely it is that you will run into underperforming, buggy, or
|
||||
incomplete code.
|
||||
|
||||
For ppc64le processors, use of the Altivec feature (the Vector
|
||||
Facility) is recommended if supported; use of the VSX feature (the
|
||||
Vector-Scalar Facility) is recommended if supported AND Mesa is built
|
||||
with LLVM version 4.0 or later.
|
||||
|
||||
See ``/proc/cpuinfo`` to know what your CPU supports.
|
||||
|
||||
- Unless otherwise stated, LLVM version 3.4 is recommended; 3.3 or
|
||||
later is required.
|
||||
|
||||
For Linux, on a recent Debian based distribution do:
|
||||
|
||||
::
|
||||
|
||||
aptitude install llvm-dev
|
||||
|
||||
If you want development snapshot builds of LLVM for Debian and
|
||||
derived distributions like Ubuntu, you can use the APT repository at
|
||||
`apt.llvm.org <https://apt.llvm.org/>`__, which are maintained by
|
||||
Debian's LLVM maintainer.
|
||||
|
||||
For a RPM-based distribution do:
|
||||
|
||||
::
|
||||
|
||||
yum install llvm-devel
|
||||
|
||||
For Windows you will need to build LLVM from source with MSVC or
|
||||
MINGW (either natively or through cross compilers) and CMake, and set
|
||||
the ``LLVM`` environment variable to the directory you installed it
|
||||
to. LLVM will be statically linked, so when building on MSVC it needs
|
||||
to be built with a matching CRT as Mesa, and you'll need to pass
|
||||
``-DLLVM_USE_CRT_xxx=yyy`` as described below.
|
||||
|
||||
LLVM build-type
|
||||
|
||||
- scons (optional)
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
To build everything on Linux invoke scons as:
|
||||
|
||||
::
|
||||
|
||||
scons build=debug libgl-xlib
|
||||
|
||||
Alternatively, you can build it with meson with:
|
||||
|
||||
::
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
meson -D glx=gallium-xlib -D gallium-drivers=swrast
|
||||
ninja
|
||||
|
||||
but the rest of these instructions assume that scons is used. For
|
||||
Windows the procedure is similar except the target:
|
||||
|
||||
::
|
||||
|
||||
scons platform=windows build=debug libgl-gdi
|
||||
|
||||
Using
|
||||
-----
|
||||
|
||||
Linux
|
||||
~~~~~
|
||||
|
||||
On Linux, building will create a drop-in alternative for ``libGL.so``
|
||||
into
|
||||
|
||||
::
|
||||
|
||||
build/foo/gallium/targets/libgl-xlib/libGL.so
|
||||
|
||||
or
|
||||
|
||||
::
|
||||
|
||||
lib/gallium/libGL.so
|
||||
|
||||
To use it set the ``LD_LIBRARY_PATH`` environment variable accordingly.
|
||||
|
||||
For performance evaluation pass ``build=release`` to scons, and use the
|
||||
corresponding lib directory without the ``-debug`` suffix.
|
||||
|
||||
Windows
|
||||
~~~~~~~
|
||||
|
||||
On Windows, building will create
|
||||
``build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll`` which
|
||||
is a drop-in alternative for system's ``opengl32.dll``. To use it put it
|
||||
in the same directory as your application. It can also be used by
|
||||
replacing the native ICD driver, but it's quite an advanced usage, so if
|
||||
you need to ask, don't even try it.
|
||||
|
||||
There is however an easy way to replace the OpenGL software renderer
|
||||
that comes with Microsoft Windows 7 (or later) with llvmpipe (that is,
|
||||
on systems without any OpenGL drivers):
|
||||
|
||||
- copy
|
||||
``build/windows-x86-debug/gallium/targets/libgl-gdi/opengl32.dll`` to
|
||||
``C:\Windows\SysWOW64\mesadrv.dll``
|
||||
|
||||
- load this registry settings:
|
||||
|
||||
::
|
||||
|
||||
REGEDIT4
|
||||
|
||||
; https://technet.microsoft.com/en-us/library/cc749368.aspx
|
||||
; https://www.msfn.org/board/topic/143241-portable-windows-7-build-from-winpe-30/page-5#entry942596
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers\MSOGL]
|
||||
"DLL"="mesadrv.dll"
|
||||
"DriverVersion"=dword:00000001
|
||||
"Flags"=dword:00000001
|
||||
"Version"=dword:00000002
|
||||
|
||||
- Ditto for 64 bits drivers if you need them.
|
||||
|
||||
Profiling
|
||||
---------
|
||||
|
||||
To profile llvmpipe you should build as
|
||||
|
||||
::
|
||||
|
||||
scons build=profile <same-as-before>
|
||||
|
||||
This will ensure that frame pointers are used both in C and JIT
|
||||
functions, and that no tail call optimizations are done by gcc.
|
||||
|
||||
Linux perf integration
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
On Linux, it is possible to have symbol resolution of JIT code with
|
||||
`Linux perf <https://perf.wiki.kernel.org/>`__:
|
||||
|
||||
::
|
||||
|
||||
perf record -g /my/application
|
||||
perf report
|
||||
|
||||
When run inside Linux perf, llvmpipe will create a
|
||||
``/tmp/perf-XXXXX.map`` file with symbol address table. It also dumps
|
||||
assembly code to ``/tmp/perf-XXXXX.map.asm``, which can be used by the
|
||||
``bin/perf-annotate-jit.py`` script to produce disassembly of the
|
||||
generated code annotated with the samples.
|
||||
|
||||
You can obtain a call graph via
|
||||
`Gprof2Dot <https://github.com/jrfonseca/gprof2dot#linux-perf>`__.
|
||||
|
||||
Unit testing
|
||||
------------
|
||||
|
||||
Building will also create several unit tests in
|
||||
``build/linux-???-debug/gallium/drivers/llvmpipe``:
|
||||
|
||||
- ``lp_test_blend``: blending
|
||||
- ``lp_test_conv``: SIMD vector conversion
|
||||
- ``lp_test_format``: pixel unpacking/packing
|
||||
|
||||
Some of these tests can output results and benchmarks to a tab-separated
|
||||
file for later analysis, e.g.:
|
||||
|
||||
::
|
||||
|
||||
build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_blend -o blend.tsv
|
||||
|
||||
Development Notes
|
||||
-----------------
|
||||
|
||||
- When looking at this code for the first time, start in lp_state_fs.c,
|
||||
and then skim through the ``lp_bld_*`` functions called there, and
|
||||
the comments at the top of the ``lp_bld_*.c`` functions.
|
||||
- The driver-independent parts of the LLVM / Gallium code are found in
|
||||
``src/gallium/auxiliary/gallivm/``. The filenames and function
|
||||
prefixes need to be renamed from ``lp_bld_`` to something else
|
||||
though.
|
||||
- We use LLVM-C bindings for now. They are not documented, but follow
|
||||
the C++ interfaces very closely, and appear to be complete enough for
|
||||
code generation. See `this stand-alone
|
||||
example <https://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html>`__.
|
||||
See the ``llvm-c/Core.h`` file for reference.
|
||||
|
||||
.. _recommended_reading:
|
||||
|
||||
Recommended Reading
|
||||
-------------------
|
||||
|
||||
- Rasterization
|
||||
|
||||
- `Triangle Scan Conversion using 2D Homogeneous
|
||||
Coordinates <https://www.cs.unc.edu/~olano/papers/2dh-tri/>`__
|
||||
- `Rasterization on
|
||||
Larrabee <http://www.drdobbs.com/parallel/rasterization-on-larrabee/217200602>`__
|
||||
(`DevMaster
|
||||
copy <http://devmaster.net/posts/2887/rasterization-on-larrabee>`__)
|
||||
- `Rasterization using half-space
|
||||
functions <http://devmaster.net/posts/6133/rasterization-using-half-space-functions>`__
|
||||
- `Advanced
|
||||
Rasterization <http://devmaster.net/posts/6145/advanced-rasterization>`__
|
||||
- `Optimizing Software Occlusion
|
||||
Culling <https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-culling-index/>`__
|
||||
|
||||
- Texture sampling
|
||||
|
||||
- `Perspective Texture
|
||||
Mapping <http://chrishecker.com/Miscellaneous_Technical_Articles#Perspective_Texture_Mapping>`__
|
||||
- `Texturing As In
|
||||
Unreal <https://www.flipcode.com/archives/Texturing_As_In_Unreal.shtml>`__
|
||||
- `Run-Time MIP-Map
|
||||
Filtering <http://www.gamasutra.com/view/feature/3301/runtime_mipmap_filtering.php>`__
|
||||
- `Will "brilinear" filtering
|
||||
persist? <http://alt.3dcenter.org/artikel/2003/10-26_a_english.php>`__
|
||||
- `Trilinear
|
||||
filtering <http://ixbtlabs.com/articles2/gffx/nv40-rx800-3.html>`__
|
||||
- `Texture
|
||||
Swizzling <http://devmaster.net/posts/12785/texture-swizzling>`__
|
||||
|
||||
- SIMD
|
||||
|
||||
- `Whole-Function
|
||||
Vectorization <http://www.cdl.uni-saarland.de/projects/wfv/#header4>`__
|
||||
|
||||
- Optimization
|
||||
|
||||
- `Optimizing Pixomatic For Modern x86
|
||||
Processors <http://www.drdobbs.com/optimizing-pixomatic-for-modern-x86-proc/184405807>`__
|
||||
- `Intel 64 and IA-32 Architectures Optimization Reference
|
||||
Manual <http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html>`__
|
||||
- `Software optimization
|
||||
resources <http://www.agner.org/optimize/>`__
|
||||
- `Intel Intrinsics
|
||||
Guide <https://software.intel.com/en-us/articles/intel-intrinsics-guide>`__
|
||||
|
||||
- LLVM
|
||||
|
||||
- `LLVM Language Reference
|
||||
Manual <http://llvm.org/docs/LangRef.html>`__
|
||||
- `The secret of LLVM C
|
||||
bindings <https://npcontemplation.blogspot.co.uk/2008/06/secret-of-llvm-c-bindings.html>`__
|
||||
|
||||
- General
|
||||
|
||||
- `A trip through the Graphics
|
||||
Pipeline <https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/>`__
|
||||
- `WARP Architecture and
|
||||
Performance <https://msdn.microsoft.com/en-us/library/gg615082.aspx#architecture>`__
|
541
docs/meson.html
541
docs/meson.html
|
@ -1,541 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Compilation and Installation Using Meson</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Compilation and Installation Using Meson</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="#intro">Introduction</a></li>
|
||||
<li><a href="#basic">Basic Usage</a></li>
|
||||
<li><a href="#advanced">Advanced Usage</a></li>
|
||||
<li><a href="#cross-compilation">Cross-compilation and 32-bit builds</a></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="intro">1. Introduction</h2>
|
||||
|
||||
<p>For general information about Meson see the
|
||||
<a href="https://mesonbuild.com/">Meson website</a>.</p>
|
||||
|
||||
<p><strong>Mesa's Meson build system is generally considered stable and ready
|
||||
for production.</strong></p>
|
||||
|
||||
<p><strong>Mesa requires Meson >= 0.52.0 to build.</strong>
|
||||
|
||||
<p>The Meson build of Mesa is tested on Linux, macOS, Windows, Cygwin, Haiku, FreeBSD,
|
||||
DragonflyBSD, NetBSD, and should work on OpenBSD.</p>
|
||||
|
||||
<h4>Unix-like OSes</h4>
|
||||
|
||||
<p>If Meson is not already installed on your system, you can typically
|
||||
install it with your package installer. For example:</p>
|
||||
<pre>
|
||||
sudo apt-get install meson # Ubuntu
|
||||
</pre>
|
||||
or
|
||||
<pre>
|
||||
sudo dnf install meson # Fedora
|
||||
</pre>
|
||||
<p>
|
||||
Some older versions of meson do not check that they are too old and will error
|
||||
out in odd ways.
|
||||
</p>
|
||||
|
||||
<p>You'll also need <a href="https://ninja-build.org/">Ninja</a>.
|
||||
If it's not already installed, use apt-get or dnf to install
|
||||
the <em>ninja-build</em> package.
|
||||
</p>
|
||||
|
||||
<h4>Windows</h4>
|
||||
|
||||
<p>
|
||||
You will need to install python3 and meson as a module using pip. This is
|
||||
because we use python for generating code, and rely on external modules
|
||||
(mako). You also need pkg-config (a hard dependency of meson), flex, and bison.
|
||||
|
||||
The easiest way to install everything you need is with <a
|
||||
href="https://chocolatey.org/">chocolatey</a>.
|
||||
</p>
|
||||
<pre>
|
||||
choco install python3 winflexbison pkgconfiglite
|
||||
</pre>
|
||||
<p>You can even use chocolatey to install mingw and ninja (ninja can be used with MSVC as well)</p>
|
||||
<pre>
|
||||
choco install ninja mingw
|
||||
</pre>
|
||||
<p>Then install meson using pip</p>
|
||||
<pre>
|
||||
py -3 -m pip install meson mako
|
||||
</pre>
|
||||
|
||||
You may need to add the python3 scripts directory to your path for meson.
|
||||
|
||||
<h2 id="basic">2. Basic Usage</h2>
|
||||
|
||||
<p>
|
||||
The meson program is used to configure the source directory and generates
|
||||
either a ninja build file or Visual Studio® build files. The latter must
|
||||
be enabled via the <code>--backend</code> switch, as ninja is the default
|
||||
backend on all operating systems.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Meson only supports out-of-tree builds, and must be passed a
|
||||
directory to put built and generated sources into. We'll call that directory
|
||||
"build" here.
|
||||
It's recommended to create a
|
||||
<a href="https://mesonbuild.com/Using-multiple-build-directories.html">
|
||||
separate build directory</a> for each configuration you might want to use.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<p>Basic configuration is done with:</p>
|
||||
|
||||
<pre>
|
||||
meson build/
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
This will create the build directory.
|
||||
If any dependencies are missing, you can install them, or try to remove
|
||||
the dependency with a Meson configuration option (see below).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To review the options which Meson chose, run:
|
||||
</p>
|
||||
<pre>
|
||||
meson configure build/
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Meson does not currently support listing configuration options before
|
||||
running "meson build/" but this feature is being discussed upstream.
|
||||
For now, we have a <code>bin/meson-options.py</code> script that prints
|
||||
the options for you.
|
||||
If that script doesn't work for some reason, you can always look in the
|
||||
<a href="https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/meson_options.txt">
|
||||
meson_options.txt</a> file at the root of the project.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
With additional arguments <code>meson configure</code> can be used to change
|
||||
options for a previously configured build directory.
|
||||
All options passed to this command are in the form
|
||||
<code>-D "option"="value"</code>.
|
||||
For example:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
meson configure build/ -Dprefix=/tmp/install -Dglx=true
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Note that options taking lists (such as <code>platforms</code>) are
|
||||
<a href="https://mesonbuild.com/Build-options.html#using-build-options">a bit
|
||||
more complicated</a>, but the simplest form compatible with Mesa options
|
||||
is to use a comma to separate values (<code>-D platforms=drm,wayland</code>)
|
||||
and brackets to represent an empty list (<code>-D platforms=[]</code>).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once you've run the initial <code>meson</code> command successfully you can use
|
||||
your configured backend to build the project in your build directory:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
ninja -C build/
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
The next step is to install the Mesa libraries, drivers, etc.
|
||||
This also finishes up some final steps of the build process (such as creating
|
||||
symbolic links for drivers). To install:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
ninja -C build/ install
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Note: autotools automatically updated translation files (used by the DRI
|
||||
configuration tool) as part of the build process,
|
||||
Meson does not do this. Instead, you will need do this:
|
||||
</p>
|
||||
<pre>
|
||||
ninja -C build/ xmlpool-pot xmlpool-update-po xmlpool-gmo
|
||||
</pre>
|
||||
|
||||
<h4>Windows specific instructions</h4>
|
||||
|
||||
<p>
|
||||
On windows you have a couple of choices for compilers. If you installed mingw
|
||||
with chocolatey and want to use ninja you should be able to open any shell
|
||||
and follow the instructions above. If you want to you MSVC, clang-cl, or ICL
|
||||
(the Intel Compiler), read on.
|
||||
</p>
|
||||
<p>
|
||||
Both ICL and MSVC come with shell environments, the easiest way to use meson
|
||||
with these it to open a shell. For clang-cl you will need to open an MSVC
|
||||
shell, and then override the compilers, either using a <a
|
||||
href="https://mesonbuild.com/Native-environments.html">native file</a>, or
|
||||
with the CC and CXX environment variables.
|
||||
</p>
|
||||
<p>
|
||||
All of these compilers are tested and work with ninja, but if you want visual
|
||||
studio integration or you just like msbuild, passing
|
||||
<code>--backend=vs</code> to meson will generate a visual studio solution. If
|
||||
you want to use ICL or clang-cl with the vsbackend you will need meson 0.52.0
|
||||
or greater. Older versions always use the microsoft compiler.
|
||||
</p>
|
||||
|
||||
<h2 id="advanced">3. Advanced Usage</h2>
|
||||
|
||||
<h3>Installation Location</h3>
|
||||
<p>
|
||||
Meson default to installing libGL.so in your system's main lib/ directory
|
||||
and DRI drivers to a dri/ subdirectory.
|
||||
</p>
|
||||
<p>
|
||||
Developers will often want to install Mesa to a testing directory rather
|
||||
than the system library directory.
|
||||
This can be done with the --prefix option. For example:
|
||||
</p>
|
||||
<pre>
|
||||
meson --prefix="${PWD}/build/install" build/
|
||||
</pre>
|
||||
<p>
|
||||
will put the final libraries and drivers into the build/install/
|
||||
directory.
|
||||
Then you can set LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to that location
|
||||
to run/test the driver.
|
||||
</p>
|
||||
<p>
|
||||
Meson also honors <code>DESTDIR</code> for installs.
|
||||
</p>
|
||||
|
||||
<h3>Compiler Options</h3>
|
||||
<p>Meson supports the common CFLAGS, CXXFLAGS, etc. environment
|
||||
variables but their use is discouraged because of the many caveats
|
||||
in using them.
|
||||
</p>
|
||||
<p>Instead, it is recomended to use <code>-D${lang}_args</code> and
|
||||
<code>-D${lang}_link_args</code>. Among the benefits of these options
|
||||
is that they are guaranteed to persist across rebuilds and reconfigurations.
|
||||
</p>
|
||||
<p>
|
||||
This example sets -fmax-errors for compiling C sources and -DMAGIC=123
|
||||
for C++ sources:
|
||||
</p>
|
||||
<pre>
|
||||
meson builddir/ -Dc_args=-fmax-errors=10 -Dcpp_args=-DMAGIC=123
|
||||
</pre>
|
||||
|
||||
|
||||
<h3>Compiler Specification</h3>
|
||||
<p>
|
||||
Meson supports the standard CC and CXX environment variables for
|
||||
changing the default compiler. Note that Meson does not allow
|
||||
changing the compilers in a configured builddir so you will need
|
||||
to create a new build dir for a different compiler.
|
||||
</p>
|
||||
<p>
|
||||
This is an example of specifying the clang compilers and cleaning
|
||||
the build directory before reconfiguring with an extra C option:
|
||||
</p>
|
||||
<pre>
|
||||
CC=clang CXX=clang++ meson build-clang
|
||||
ninja -C build-clang
|
||||
ninja -C build-clang clean
|
||||
meson configure build -Dc_args="-Wno-typedef-redefinition"
|
||||
ninja -C build-clang
|
||||
</pre>
|
||||
<p>
|
||||
The default compilers depends on your operating system. Meson supports most of
|
||||
the popular compilers, a complete list is available
|
||||
<a href="https://mesonbuild.com/Reference-tables.html#compiler-ids">here</a>.
|
||||
</p>
|
||||
|
||||
<h3>LLVM</h3>
|
||||
<p>Meson includes upstream logic to wrap llvm-config using its standard
|
||||
dependency interface.
|
||||
</p>
|
||||
<p>
|
||||
As of meson 0.51.0 meson can use cmake to find llvm (the cmake finder
|
||||
was added in meson 0.49.0, but LLVM cannot be found until 0.51) Due to the
|
||||
way LLVM implements its cmake finder it will only find static libraries, it
|
||||
will never find libllvm.so.
|
||||
|
||||
There is also a <code>-Dcmake_module_path</code> option in this meson version,
|
||||
which points to the root of an alternative installation (the prefix). For
|
||||
example:
|
||||
</p>
|
||||
<pre>
|
||||
meson builddir -Dcmake_module_path=/home/user/mycmake/prefix
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
As of meson 0.49.0 meson also has the concept of a
|
||||
<a href="https://mesonbuild.com/Native-environments.html">"native file"</a>,
|
||||
these files provide information about the native build environment (as opposed
|
||||
to a cross build environment). They are ini formatted and can override where to
|
||||
find llvm-config:
|
||||
</p>
|
||||
|
||||
custom-llvm.ini
|
||||
<pre>
|
||||
[binaries]
|
||||
llvm-config = '/usr/local/bin/llvm/llvm-config'
|
||||
</pre>
|
||||
|
||||
Then configure meson:
|
||||
|
||||
<pre>
|
||||
meson builddir/ --native-file custom-llvm.ini
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Meson < 0.49 doesn't support native files, so to specify a custom
|
||||
<code>llvm-config</code> you need to modify your <code>$PATH</code> (or
|
||||
<code>%PATH%</code> on windows), which will be searched for
|
||||
<code>llvm-config</code>, <code>llvm-config<i>$version</i></code>,
|
||||
and <code>llvm-config-<i>$version</i></code>:
|
||||
</p>
|
||||
<pre>
|
||||
PATH=/path/to/folder/with/llvm-config:$PATH meson build
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
For selecting llvm-config for cross compiling a
|
||||
<a href="https://mesonbuild.com/Cross-compilation.html#defining-the-environment">"cross file"</a>
|
||||
should be used. It uses the same format as the native file above:
|
||||
</p>
|
||||
|
||||
<p>cross-llvm.ini</p>
|
||||
<pre>
|
||||
[binaries]
|
||||
...
|
||||
llvm-config = '/usr/lib/llvm-config-32'
|
||||
cmake = '/usr/bin/cmake-for-my-arch'
|
||||
</pre>
|
||||
|
||||
<p>Obviously, only cmake or llvm-config is required.</p>
|
||||
|
||||
<p>Then configure meson:</p>
|
||||
<pre>
|
||||
meson builddir/ --cross-file cross-llvm.ini
|
||||
</pre>
|
||||
|
||||
See the <a href="#cross-compilation">Cross Compilation</a> section for more information.
|
||||
|
||||
<p>On windows (and in other cases), using llvm-config or cmake may be
|
||||
either undesirable or impossible. Meson's solution for this is a
|
||||
<a href="https://mesonbuild.com/Wrap-dependency-system-manual.html">wrap</a>, in
|
||||
this case a "binary wrap". Follow the steps below:</p>
|
||||
<ul>
|
||||
<li>Install the binaries and headers into the <code>$mesa_src/subprojects/llvm</code></li>
|
||||
<li>Add a meson build.build file to that directory (more on that later)</li>
|
||||
</ul>
|
||||
|
||||
<p>The wrap file must define the following:</p>
|
||||
<ul>
|
||||
<li><code>dep_llvm</code>: a <code>declare_dependency()</code> object with include_directories, dependencies, and version set)</li>
|
||||
</ul>
|
||||
|
||||
<p>It may also define:</p>
|
||||
<ul>
|
||||
<li><code>irbuilder_h</code>: a <code>files()</code> object pointing to llvm/IR/IRBuilder.h (this is requred for SWR)</li>
|
||||
<li><code>has_rtti</code>: a <code>bool</code> that declares whether LLVM was built with RTTI. Defaults to true</li>
|
||||
</ul>
|
||||
|
||||
<p>such a meson.build file might look like:</p>
|
||||
<pre>
|
||||
project('llvm', ['cpp'])
|
||||
|
||||
cpp = meson.get_compiler('cpp')
|
||||
|
||||
_deps = []
|
||||
_search = join_paths(meson.current_source_dir(), 'lib')
|
||||
foreach d : ['libLLVMCodeGen', 'libLLVMScalarOpts', 'libLLVMAnalysis',
|
||||
'libLLVMTransformUtils', 'libLLVMCore', 'libLLVMX86CodeGen',
|
||||
'libLLVMSelectionDAG', 'libLLVMipo', 'libLLVMAsmPrinter',
|
||||
'libLLVMInstCombine', 'libLLVMInstrumentation', 'libLLVMMC',
|
||||
'libLLVMGlobalISel', 'libLLVMObjectYAML', 'libLLVMDebugInfoPDB',
|
||||
'libLLVMVectorize', 'libLLVMPasses', 'libLLVMSupport',
|
||||
'libLLVMLTO', 'libLLVMObject', 'libLLVMDebugInfoCodeView',
|
||||
'libLLVMDebugInfoDWARF', 'libLLVMOrcJIT', 'libLLVMProfileData',
|
||||
'libLLVMObjCARCOpts', 'libLLVMBitReader', 'libLLVMCoroutines',
|
||||
'libLLVMBitWriter', 'libLLVMRuntimeDyld', 'libLLVMMIRParser',
|
||||
'libLLVMX86Desc', 'libLLVMAsmParser', 'libLLVMTableGen',
|
||||
'libLLVMFuzzMutate', 'libLLVMLinker', 'libLLVMMCParser',
|
||||
'libLLVMExecutionEngine', 'libLLVMCoverage', 'libLLVMInterpreter',
|
||||
'libLLVMTarget', 'libLLVMX86AsmParser', 'libLLVMSymbolize',
|
||||
'libLLVMDebugInfoMSF', 'libLLVMMCJIT', 'libLLVMXRay',
|
||||
'libLLVMX86AsmPrinter', 'libLLVMX86Disassembler',
|
||||
'libLLVMMCDisassembler', 'libLLVMOption', 'libLLVMIRReader',
|
||||
'libLLVMLibDriver', 'libLLVMDlltoolDriver', 'libLLVMDemangle',
|
||||
'libLLVMBinaryFormat', 'libLLVMLineEditor',
|
||||
'libLLVMWindowsManifest', 'libLLVMX86Info', 'libLLVMX86Utils']
|
||||
_deps += cpp.find_library(d, dirs : _search)
|
||||
endforeach
|
||||
|
||||
dep_llvm = declare_dependency(
|
||||
include_directories : include_directories('include'),
|
||||
dependencies : _deps,
|
||||
version : '6.0.0',
|
||||
)
|
||||
|
||||
has_rtti = false
|
||||
irbuilder_h = files('include/llvm/IR/IRBuilder.h')
|
||||
</pre>
|
||||
|
||||
<p>It is very important that version is defined and is accurate, if it is not,
|
||||
workarounds for the wrong version of LLVM might be used resulting in build
|
||||
failures.</p>
|
||||
|
||||
<h3><code>PKG_CONFIG_PATH</code></h3>
|
||||
<p>The
|
||||
<code>pkg-config</code> utility is a hard requirement for configuring and
|
||||
building Mesa on Unix-like systems. It is used to search for external libraries
|
||||
on the system. This environment variable is used to control the search path for
|
||||
<code>pkg-config</code>. For instance, setting
|
||||
<code>PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig</code> will search for package
|
||||
metadata in <code>/usr/X11R6</code> before the standard directories.</p>
|
||||
|
||||
<h3>Options</h3>
|
||||
<p>
|
||||
One of the oddities of meson is that some options are different when passed to
|
||||
the <code>meson</code> than to <code>meson configure</code>. These options are
|
||||
passed as --option=foo to <code>meson</code>, but -Doption=foo to <code>meson
|
||||
configure</code>. Mesa defined options are always passed as -Doption=foo.
|
||||
</p>
|
||||
|
||||
<p>For those coming from autotools be aware of the following:</p>
|
||||
|
||||
<dl>
|
||||
<dt><code>--buildtype/-Dbuildtype</code></dt>
|
||||
<dd><p>This option will set the compiler debug/optimisation levels to aid
|
||||
debugging the Mesa libraries.</p>
|
||||
|
||||
<p>Note that in meson this defaults to <code>debugoptimized</code>, and
|
||||
not setting it to <code>release</code> will yield non-optimal
|
||||
performance and binary size. Not using <code>debug</code> may interfere
|
||||
with debugging as some code and validation will be optimized away.
|
||||
</p>
|
||||
|
||||
<p> For those wishing to pass their own optimization flags, use the <code>plain</code>
|
||||
buildtype, which causes meson to inject no additional compiler arguments, only
|
||||
those in the C/CXXFLAGS and those that mesa itself defines.</p>
|
||||
</dd>
|
||||
|
||||
<dt><code>-Db_ndebug</code></dt>
|
||||
<dd><p>This option controls assertions in meson projects. When set to <code>false</code>
|
||||
(the default) assertions are enabled, when set to true they are disabled. This
|
||||
is unrelated to the <code>buildtype</code>; setting the latter to
|
||||
<code>release</code> will not turn off assertions.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h2 id="cross-compilation">4. Cross-compilation and 32-bit builds</h2>
|
||||
|
||||
<p><a href="https://mesonbuild.com/Cross-compilation.html">Meson supports
|
||||
cross-compilation</a> by specifying a number of binary paths and
|
||||
settings in a file and passing this file to <code>meson</code> or
|
||||
<code>meson configure</code> with the <code>--cross-file</code>
|
||||
parameter.</p>
|
||||
|
||||
<p>This file can live at any location, but you can use the bare filename
|
||||
(without the folder path) if you put it in $XDG_DATA_HOME/meson/cross or
|
||||
~/.local/share/meson/cross</p>
|
||||
|
||||
<p>Below are a few example of cross files, but keep in mind that you
|
||||
will likely have to alter them for your system.</p>
|
||||
|
||||
<p>
|
||||
Those running on ArchLinux can use the AUR-maintained packages for some
|
||||
of those, as they'll have the right values for your system:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="https://aur.archlinux.org/packages/meson-cross-x86-linux-gnu">meson-cross-x86-linux-gnu</a></li>
|
||||
<li><a href="https://aur.archlinux.org/packages/meson-cross-aarch64-linux-gnu">meson-cross-aarch64-linux-gnu</a></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
32-bit build on x86 linux:
|
||||
</p>
|
||||
<pre>
|
||||
[binaries]
|
||||
c = '/usr/bin/gcc'
|
||||
cpp = '/usr/bin/g++'
|
||||
ar = '/usr/bin/gcc-ar'
|
||||
strip = '/usr/bin/strip'
|
||||
pkgconfig = '/usr/bin/pkg-config-32'
|
||||
llvm-config = '/usr/bin/llvm-config32'
|
||||
|
||||
[properties]
|
||||
c_args = ['-m32']
|
||||
c_link_args = ['-m32']
|
||||
cpp_args = ['-m32']
|
||||
cpp_link_args = ['-m32']
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = 'x86'
|
||||
cpu = 'i686'
|
||||
endian = 'little'
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
64-bit build on ARM linux:
|
||||
</p>
|
||||
<pre>
|
||||
[binaries]
|
||||
c = '/usr/bin/aarch64-linux-gnu-gcc'
|
||||
cpp = '/usr/bin/aarch64-linux-gnu-g++'
|
||||
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'
|
||||
strip = '/usr/bin/aarch64-linux-gnu-strip'
|
||||
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'
|
||||
exe_wrapper = '/usr/bin/qemu-aarch64-static'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = 'aarch64'
|
||||
cpu = 'aarch64'
|
||||
endian = 'little'
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
64-bit build on x86 windows:
|
||||
</p>
|
||||
<pre>
|
||||
[binaries]
|
||||
c = '/usr/bin/x86_64-w64-mingw32-gcc'
|
||||
cpp = '/usr/bin/x86_64-w64-mingw32-g++'
|
||||
ar = '/usr/bin/x86_64-w64-mingw32-ar'
|
||||
strip = '/usr/bin/x86_64-w64-mingw32-strip'
|
||||
pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
|
||||
exe_wrapper = 'wine'
|
||||
|
||||
[host_machine]
|
||||
system = 'windows'
|
||||
cpu_family = 'x86_64'
|
||||
cpu = 'i686'
|
||||
endian = 'little'
|
||||
</pre>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,498 @@
|
|||
Compilation and Installation Using Meson
|
||||
========================================
|
||||
|
||||
- `Introduction <#intro>`__
|
||||
- `Basic Usage <#basic>`__
|
||||
- `Advanced Usage <#advanced>`__
|
||||
- `Cross-compilation and 32-bit builds <#cross-compilation>`__
|
||||
|
||||
.. _intro:
|
||||
|
||||
1. Introduction
|
||||
---------------
|
||||
|
||||
For general information about Meson see the `Meson
|
||||
website <https://mesonbuild.com/>`__.
|
||||
|
||||
**Mesa's Meson build system is generally considered stable and ready for
|
||||
production.**
|
||||
|
||||
**Mesa requires Meson >= 0.52.0 to build.**
|
||||
|
||||
The Meson build of Mesa is tested on Linux, macOS, Windows, Cygwin,
|
||||
Haiku, FreeBSD, DragonflyBSD, NetBSD, and should work on OpenBSD.
|
||||
|
||||
Unix-like OSes
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
If Meson is not already installed on your system, you can typically
|
||||
install it with your package installer. For example:
|
||||
|
||||
::
|
||||
|
||||
sudo apt-get install meson # Ubuntu
|
||||
|
||||
or
|
||||
|
||||
::
|
||||
|
||||
sudo dnf install meson # Fedora
|
||||
|
||||
Some older versions of meson do not check that they are too old and will
|
||||
error out in odd ways.
|
||||
|
||||
You'll also need `Ninja <https://ninja-build.org/>`__. If it's not
|
||||
already installed, use apt-get or dnf to install the *ninja-build*
|
||||
package.
|
||||
|
||||
Windows
|
||||
^^^^^^^
|
||||
|
||||
You will need to install python3 and meson as a module using pip. This
|
||||
is because we use python for generating code, and rely on external
|
||||
modules (mako). You also need pkg-config (a hard dependency of meson),
|
||||
flex, and bison. The easiest way to install everything you need is with
|
||||
`chocolatey <https://chocolatey.org/>`__.
|
||||
|
||||
::
|
||||
|
||||
choco install python3 winflexbison pkgconfiglite
|
||||
|
||||
You can even use chocolatey to install mingw and ninja (ninja can be
|
||||
used with MSVC as well)
|
||||
|
||||
::
|
||||
|
||||
choco install ninja mingw
|
||||
|
||||
Then install meson using pip
|
||||
|
||||
::
|
||||
|
||||
py -3 -m pip install meson mako
|
||||
|
||||
You may need to add the python3 scripts directory to your path for
|
||||
meson.
|
||||
|
||||
.. _basic:
|
||||
|
||||
2. Basic Usage
|
||||
--------------
|
||||
|
||||
The meson program is used to configure the source directory and
|
||||
generates either a ninja build file or Visual Studio® build files. The
|
||||
latter must be enabled via the ``--backend`` switch, as ninja is the
|
||||
default backend on all operating systems.
|
||||
|
||||
Meson only supports out-of-tree builds, and must be passed a directory
|
||||
to put built and generated sources into. We'll call that directory
|
||||
"build" here. It's recommended to create a `separate build
|
||||
directory <https://mesonbuild.com/Using-multiple-build-directories.html>`__
|
||||
for each configuration you might want to use.
|
||||
|
||||
Basic configuration is done with:
|
||||
|
||||
::
|
||||
|
||||
meson build/
|
||||
|
||||
This will create the build directory. If any dependencies are missing,
|
||||
you can install them, or try to remove the dependency with a Meson
|
||||
configuration option (see below).
|
||||
|
||||
To review the options which Meson chose, run:
|
||||
|
||||
::
|
||||
|
||||
meson configure build/
|
||||
|
||||
Meson does not currently support listing configuration options before
|
||||
running "meson build/" but this feature is being discussed upstream. For
|
||||
now, we have a ``bin/meson-options.py`` script that prints the options
|
||||
for you. If that script doesn't work for some reason, you can always
|
||||
look in the
|
||||
`meson_options.txt <https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/meson_options.txt>`__
|
||||
file at the root of the project.
|
||||
|
||||
With additional arguments ``meson configure`` can be used to change
|
||||
options for a previously configured build directory. All options passed
|
||||
to this command are in the form ``-D "option"="value"``. For example:
|
||||
|
||||
::
|
||||
|
||||
meson configure build/ -Dprefix=/tmp/install -Dglx=true
|
||||
|
||||
Note that options taking lists (such as ``platforms``) are `a bit more
|
||||
complicated <https://mesonbuild.com/Build-options.html#using-build-options>`__,
|
||||
but the simplest form compatible with Mesa options is to use a comma to
|
||||
separate values (``-D platforms=drm,wayland``) and brackets to represent
|
||||
an empty list (``-D platforms=[]``).
|
||||
|
||||
Once you've run the initial ``meson`` command successfully you can use
|
||||
your configured backend to build the project in your build directory:
|
||||
|
||||
::
|
||||
|
||||
ninja -C build/
|
||||
|
||||
The next step is to install the Mesa libraries, drivers, etc. This also
|
||||
finishes up some final steps of the build process (such as creating
|
||||
symbolic links for drivers). To install:
|
||||
|
||||
::
|
||||
|
||||
ninja -C build/ install
|
||||
|
||||
Note: autotools automatically updated translation files (used by the DRI
|
||||
configuration tool) as part of the build process, Meson does not do
|
||||
this. Instead, you will need do this:
|
||||
|
||||
::
|
||||
|
||||
ninja -C build/ xmlpool-pot xmlpool-update-po xmlpool-gmo
|
||||
|
||||
Windows specific instructions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
On windows you have a couple of choices for compilers. If you installed
|
||||
mingw with chocolatey and want to use ninja you should be able to open
|
||||
any shell and follow the instructions above. If you want to you MSVC,
|
||||
clang-cl, or ICL (the Intel Compiler), read on.
|
||||
|
||||
Both ICL and MSVC come with shell environments, the easiest way to use
|
||||
meson with these it to open a shell. For clang-cl you will need to open
|
||||
an MSVC shell, and then override the compilers, either using a `native
|
||||
file <https://mesonbuild.com/Native-environments.html>`__, or with the
|
||||
CC and CXX environment variables.
|
||||
|
||||
All of these compilers are tested and work with ninja, but if you want
|
||||
visual studio integration or you just like msbuild, passing
|
||||
``--backend=vs`` to meson will generate a visual studio solution. If you
|
||||
want to use ICL or clang-cl with the vsbackend you will need meson
|
||||
0.52.0 or greater. Older versions always use the microsoft compiler.
|
||||
|
||||
.. _advanced:
|
||||
|
||||
3. Advanced Usage
|
||||
-----------------
|
||||
|
||||
Installation Location
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Meson default to installing libGL.so in your system's main lib/
|
||||
directory and DRI drivers to a dri/ subdirectory.
|
||||
|
||||
Developers will often want to install Mesa to a testing directory rather
|
||||
than the system library directory. This can be done with the --prefix
|
||||
option. For example:
|
||||
|
||||
::
|
||||
|
||||
meson --prefix="${PWD}/build/install" build/
|
||||
|
||||
will put the final libraries and drivers into the build/install/
|
||||
directory. Then you can set LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to
|
||||
that location to run/test the driver.
|
||||
|
||||
Meson also honors ``DESTDIR`` for installs.
|
||||
|
||||
Compiler Options
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Meson supports the common CFLAGS, CXXFLAGS, etc. environment variables
|
||||
but their use is discouraged because of the many caveats in using them.
|
||||
|
||||
Instead, it is recomended to use ``-D${lang}_args`` and
|
||||
``-D${lang}_link_args``. Among the benefits of these options is that
|
||||
they are guaranteed to persist across rebuilds and reconfigurations.
|
||||
|
||||
This example sets -fmax-errors for compiling C sources and -DMAGIC=123
|
||||
for C++ sources:
|
||||
|
||||
::
|
||||
|
||||
meson builddir/ -Dc_args=-fmax-errors=10 -Dcpp_args=-DMAGIC=123
|
||||
|
||||
Compiler Specification
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Meson supports the standard CC and CXX environment variables for
|
||||
changing the default compiler. Note that Meson does not allow changing
|
||||
the compilers in a configured builddir so you will need to create a new
|
||||
build dir for a different compiler.
|
||||
|
||||
This is an example of specifying the clang compilers and cleaning the
|
||||
build directory before reconfiguring with an extra C option:
|
||||
|
||||
::
|
||||
|
||||
CC=clang CXX=clang++ meson build-clang
|
||||
ninja -C build-clang
|
||||
ninja -C build-clang clean
|
||||
meson configure build -Dc_args="-Wno-typedef-redefinition"
|
||||
ninja -C build-clang
|
||||
|
||||
The default compilers depends on your operating system. Meson supports
|
||||
most of the popular compilers, a complete list is available
|
||||
`here <https://mesonbuild.com/Reference-tables.html#compiler-ids>`__.
|
||||
|
||||
LLVM
|
||||
~~~~
|
||||
|
||||
Meson includes upstream logic to wrap llvm-config using its standard
|
||||
dependency interface.
|
||||
|
||||
As of meson 0.51.0 meson can use cmake to find llvm (the cmake finder
|
||||
was added in meson 0.49.0, but LLVM cannot be found until 0.51) Due to
|
||||
the way LLVM implements its cmake finder it will only find static
|
||||
libraries, it will never find libllvm.so. There is also a
|
||||
``-Dcmake_module_path`` option in this meson version, which points to
|
||||
the root of an alternative installation (the prefix). For example:
|
||||
|
||||
::
|
||||
|
||||
meson builddir -Dcmake_module_path=/home/user/mycmake/prefix
|
||||
|
||||
As of meson 0.49.0 meson also has the concept of a `"native
|
||||
file" <https://mesonbuild.com/Native-environments.html>`__, these files
|
||||
provide information about the native build environment (as opposed to a
|
||||
cross build environment). They are ini formatted and can override where
|
||||
to find llvm-config:
|
||||
|
||||
custom-llvm.ini
|
||||
|
||||
::
|
||||
|
||||
[binaries]
|
||||
llvm-config = '/usr/local/bin/llvm/llvm-config'
|
||||
|
||||
Then configure meson:
|
||||
|
||||
::
|
||||
|
||||
meson builddir/ --native-file custom-llvm.ini
|
||||
|
||||
Meson < 0.49 doesn't support native files, so to specify a custom
|
||||
``llvm-config`` you need to modify your ``$PATH`` (or ``%PATH%`` on
|
||||
windows), which will be searched for ``llvm-config``,
|
||||
``llvm-config$version``, and ``llvm-config-$version``:
|
||||
|
||||
::
|
||||
|
||||
PATH=/path/to/folder/with/llvm-config:$PATH meson build
|
||||
|
||||
For selecting llvm-config for cross compiling a `"cross
|
||||
file" <https://mesonbuild.com/Cross-compilation.html#defining-the-environment>`__
|
||||
should be used. It uses the same format as the native file above:
|
||||
|
||||
cross-llvm.ini
|
||||
|
||||
::
|
||||
|
||||
[binaries]
|
||||
...
|
||||
llvm-config = '/usr/lib/llvm-config-32'
|
||||
cmake = '/usr/bin/cmake-for-my-arch'
|
||||
|
||||
Obviously, only cmake or llvm-config is required.
|
||||
|
||||
Then configure meson:
|
||||
|
||||
::
|
||||
|
||||
meson builddir/ --cross-file cross-llvm.ini
|
||||
|
||||
See the `Cross Compilation <#cross-compilation>`__ section for more
|
||||
information.
|
||||
|
||||
On windows (and in other cases), using llvm-config or cmake may be
|
||||
either undesirable or impossible. Meson's solution for this is a
|
||||
`wrap <https://mesonbuild.com/Wrap-dependency-system-manual.html>`__, in
|
||||
this case a "binary wrap". Follow the steps below:
|
||||
|
||||
- Install the binaries and headers into the
|
||||
``$mesa_src/subprojects/llvm``
|
||||
- Add a meson build.build file to that directory (more on that later)
|
||||
|
||||
The wrap file must define the following:
|
||||
|
||||
- ``dep_llvm``: a ``declare_dependency()`` object with
|
||||
include_directories, dependencies, and version set)
|
||||
|
||||
It may also define:
|
||||
|
||||
- ``irbuilder_h``: a ``files()`` object pointing to llvm/IR/IRBuilder.h
|
||||
(this is requred for SWR)
|
||||
- ``has_rtti``: a ``bool`` that declares whether LLVM was built with
|
||||
RTTI. Defaults to true
|
||||
|
||||
such a meson.build file might look like:
|
||||
|
||||
::
|
||||
|
||||
project('llvm', ['cpp'])
|
||||
|
||||
cpp = meson.get_compiler('cpp')
|
||||
|
||||
_deps = []
|
||||
_search = join_paths(meson.current_source_dir(), 'lib')
|
||||
foreach d : ['libLLVMCodeGen', 'libLLVMScalarOpts', 'libLLVMAnalysis',
|
||||
'libLLVMTransformUtils', 'libLLVMCore', 'libLLVMX86CodeGen',
|
||||
'libLLVMSelectionDAG', 'libLLVMipo', 'libLLVMAsmPrinter',
|
||||
'libLLVMInstCombine', 'libLLVMInstrumentation', 'libLLVMMC',
|
||||
'libLLVMGlobalISel', 'libLLVMObjectYAML', 'libLLVMDebugInfoPDB',
|
||||
'libLLVMVectorize', 'libLLVMPasses', 'libLLVMSupport',
|
||||
'libLLVMLTO', 'libLLVMObject', 'libLLVMDebugInfoCodeView',
|
||||
'libLLVMDebugInfoDWARF', 'libLLVMOrcJIT', 'libLLVMProfileData',
|
||||
'libLLVMObjCARCOpts', 'libLLVMBitReader', 'libLLVMCoroutines',
|
||||
'libLLVMBitWriter', 'libLLVMRuntimeDyld', 'libLLVMMIRParser',
|
||||
'libLLVMX86Desc', 'libLLVMAsmParser', 'libLLVMTableGen',
|
||||
'libLLVMFuzzMutate', 'libLLVMLinker', 'libLLVMMCParser',
|
||||
'libLLVMExecutionEngine', 'libLLVMCoverage', 'libLLVMInterpreter',
|
||||
'libLLVMTarget', 'libLLVMX86AsmParser', 'libLLVMSymbolize',
|
||||
'libLLVMDebugInfoMSF', 'libLLVMMCJIT', 'libLLVMXRay',
|
||||
'libLLVMX86AsmPrinter', 'libLLVMX86Disassembler',
|
||||
'libLLVMMCDisassembler', 'libLLVMOption', 'libLLVMIRReader',
|
||||
'libLLVMLibDriver', 'libLLVMDlltoolDriver', 'libLLVMDemangle',
|
||||
'libLLVMBinaryFormat', 'libLLVMLineEditor',
|
||||
'libLLVMWindowsManifest', 'libLLVMX86Info', 'libLLVMX86Utils']
|
||||
_deps += cpp.find_library(d, dirs : _search)
|
||||
endforeach
|
||||
|
||||
dep_llvm = declare_dependency(
|
||||
include_directories : include_directories('include'),
|
||||
dependencies : _deps,
|
||||
version : '6.0.0',
|
||||
)
|
||||
|
||||
has_rtti = false
|
||||
irbuilder_h = files('include/llvm/IR/IRBuilder.h')
|
||||
|
||||
It is very important that version is defined and is accurate, if it is
|
||||
not, workarounds for the wrong version of LLVM might be used resulting
|
||||
in build failures.
|
||||
|
||||
``PKG_CONFIG_PATH``
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ``pkg-config`` utility is a hard requirement for configuring and
|
||||
building Mesa on Unix-like systems. It is used to search for external
|
||||
libraries on the system. This environment variable is used to control
|
||||
the search path for ``pkg-config``. For instance, setting
|
||||
``PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig`` will search for package
|
||||
metadata in ``/usr/X11R6`` before the standard directories.
|
||||
|
||||
Options
|
||||
~~~~~~~
|
||||
|
||||
One of the oddities of meson is that some options are different when
|
||||
passed to the ``meson`` than to ``meson configure``. These options are
|
||||
passed as --option=foo to ``meson``, but -Doption=foo to
|
||||
``meson configure``. Mesa defined options are always passed as
|
||||
-Doption=foo.
|
||||
|
||||
For those coming from autotools be aware of the following:
|
||||
|
||||
``--buildtype/-Dbuildtype``
|
||||
This option will set the compiler debug/optimisation levels to aid
|
||||
debugging the Mesa libraries.
|
||||
|
||||
Note that in meson this defaults to ``debugoptimized``, and not
|
||||
setting it to ``release`` will yield non-optimal performance and
|
||||
binary size. Not using ``debug`` may interfere with debugging as some
|
||||
code and validation will be optimized away.
|
||||
|
||||
For those wishing to pass their own optimization flags, use the
|
||||
``plain`` buildtype, which causes meson to inject no additional
|
||||
compiler arguments, only those in the C/CXXFLAGS and those that mesa
|
||||
itself defines.
|
||||
|
||||
``-Db_ndebug``
|
||||
This option controls assertions in meson projects. When set to
|
||||
``false`` (the default) assertions are enabled, when set to true they
|
||||
are disabled. This is unrelated to the ``buildtype``; setting the
|
||||
latter to ``release`` will not turn off assertions.
|
||||
|
||||
.. _cross-compilation:
|
||||
|
||||
4. Cross-compilation and 32-bit builds
|
||||
--------------------------------------
|
||||
|
||||
`Meson supports
|
||||
cross-compilation <https://mesonbuild.com/Cross-compilation.html>`__ by
|
||||
specifying a number of binary paths and settings in a file and passing
|
||||
this file to ``meson`` or ``meson configure`` with the ``--cross-file``
|
||||
parameter.
|
||||
|
||||
This file can live at any location, but you can use the bare filename
|
||||
(without the folder path) if you put it in $XDG_DATA_HOME/meson/cross or
|
||||
~/.local/share/meson/cross
|
||||
|
||||
Below are a few example of cross files, but keep in mind that you will
|
||||
likely have to alter them for your system.
|
||||
|
||||
Those running on ArchLinux can use the AUR-maintained packages for some
|
||||
of those, as they'll have the right values for your system:
|
||||
|
||||
- `meson-cross-x86-linux-gnu <https://aur.archlinux.org/packages/meson-cross-x86-linux-gnu>`__
|
||||
- `meson-cross-aarch64-linux-gnu <https://aur.archlinux.org/packages/meson-cross-aarch64-linux-gnu>`__
|
||||
|
||||
32-bit build on x86 linux:
|
||||
|
||||
::
|
||||
|
||||
[binaries]
|
||||
c = '/usr/bin/gcc'
|
||||
cpp = '/usr/bin/g++'
|
||||
ar = '/usr/bin/gcc-ar'
|
||||
strip = '/usr/bin/strip'
|
||||
pkgconfig = '/usr/bin/pkg-config-32'
|
||||
llvm-config = '/usr/bin/llvm-config32'
|
||||
|
||||
[properties]
|
||||
c_args = ['-m32']
|
||||
c_link_args = ['-m32']
|
||||
cpp_args = ['-m32']
|
||||
cpp_link_args = ['-m32']
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = 'x86'
|
||||
cpu = 'i686'
|
||||
endian = 'little'
|
||||
|
||||
64-bit build on ARM linux:
|
||||
|
||||
::
|
||||
|
||||
[binaries]
|
||||
c = '/usr/bin/aarch64-linux-gnu-gcc'
|
||||
cpp = '/usr/bin/aarch64-linux-gnu-g++'
|
||||
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'
|
||||
strip = '/usr/bin/aarch64-linux-gnu-strip'
|
||||
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'
|
||||
exe_wrapper = '/usr/bin/qemu-aarch64-static'
|
||||
|
||||
[host_machine]
|
||||
system = 'linux'
|
||||
cpu_family = 'aarch64'
|
||||
cpu = 'aarch64'
|
||||
endian = 'little'
|
||||
|
||||
64-bit build on x86 windows:
|
||||
|
||||
::
|
||||
|
||||
[binaries]
|
||||
c = '/usr/bin/x86_64-w64-mingw32-gcc'
|
||||
cpp = '/usr/bin/x86_64-w64-mingw32-g++'
|
||||
ar = '/usr/bin/x86_64-w64-mingw32-ar'
|
||||
strip = '/usr/bin/x86_64-w64-mingw32-strip'
|
||||
pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
|
||||
exe_wrapper = 'wine'
|
||||
|
||||
[host_machine]
|
||||
system = 'windows'
|
||||
cpu_family = 'x86_64'
|
||||
cpu = 'i686'
|
||||
endian = 'little'
|
|
@ -1,70 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>OpenGL ES</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>OpenGL ES</h1>
|
||||
|
||||
<p>Mesa implements OpenGL ES 1.1 and OpenGL ES 2.0. More information about
|
||||
OpenGL ES can be found at <a href="https://www.khronos.org/opengles/">
|
||||
https://www.khronos.org/opengles/</a>.</p>
|
||||
|
||||
<p>OpenGL ES depends on a working EGL implementation. Please refer to
|
||||
<a href="egl.html">Mesa EGL</a> for more information about EGL.</p>
|
||||
|
||||
<h2>Build the Libraries</h2>
|
||||
<ol>
|
||||
<li>Run <code>meson configure</code> with <code>-D gles1=true -D gles2=true</code> and enable the Gallium driver for your hardware.</li>
|
||||
<li>Build and install Mesa as usual.</li>
|
||||
</ol>
|
||||
|
||||
Alternatively, if XCB-DRI2 is installed on the system, one can use
|
||||
<code>egl_dri2</code> EGL driver with OpenGL|ES-enabled DRI drivers
|
||||
|
||||
<ol>
|
||||
<li>Run <code>meson configure</code> with <code>-D gles1=true -D gles2=true</code>.</li>
|
||||
<li>Build and install Mesa as usual.</li>
|
||||
</ol>
|
||||
|
||||
<p>Both methods will install libGLESv1_CM, libGLESv2, libEGL, and one or more
|
||||
EGL drivers for your hardware.</p>
|
||||
|
||||
<h2>Run the Demos</h2>
|
||||
|
||||
<p>There are some demos in <code>mesa/demos</code> repository.</p>
|
||||
|
||||
<h2>Developers</h2>
|
||||
|
||||
<h3>Dispatch Table</h3>
|
||||
|
||||
<p>OpenGL ES has an additional indirection when dispatching functions</p>
|
||||
|
||||
<pre>
|
||||
Mesa: glFoo() --> _mesa_Foo()
|
||||
OpenGL ES: glFoo() --> _es_Foo() --> _mesa_Foo()
|
||||
</pre>
|
||||
|
||||
<p>The indirection serves several purposes</p>
|
||||
|
||||
<ul>
|
||||
<li>When a function is in Mesa and the type matches, it checks the arguments and calls the Mesa function.</li>
|
||||
<li>When a function is in Mesa but the type mismatches, it checks and converts the arguments before calling the Mesa function.</li>
|
||||
<li>When a function is not available in Mesa, or accepts arguments that are not available in OpenGL, it provides its own implementation.</li>
|
||||
</ul>
|
||||
|
||||
<p>Other than the last case, OpenGL ES uses <code>APIspec.xml</code> to generate functions to check and/or converts the arguments.</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,54 @@
|
|||
OpenGL ES
|
||||
=========
|
||||
|
||||
Mesa implements OpenGL ES 1.1 and OpenGL ES 2.0. More information about
|
||||
OpenGL ES can be found at https://www.khronos.org/opengles/.
|
||||
|
||||
OpenGL ES depends on a working EGL implementation. Please refer to `Mesa
|
||||
EGL <egl.html>`__ for more information about EGL.
|
||||
|
||||
Build the Libraries
|
||||
-------------------
|
||||
|
||||
#. Run ``meson configure`` with ``-D gles1=true -D gles2=true`` and
|
||||
enable the Gallium driver for your hardware.
|
||||
#. Build and install Mesa as usual.
|
||||
|
||||
Alternatively, if XCB-DRI2 is installed on the system, one can use
|
||||
``egl_dri2`` EGL driver with OpenGL|ES-enabled DRI drivers
|
||||
|
||||
#. Run ``meson configure`` with ``-D gles1=true -D gles2=true``.
|
||||
#. Build and install Mesa as usual.
|
||||
|
||||
Both methods will install libGLESv1_CM, libGLESv2, libEGL, and one or
|
||||
more EGL drivers for your hardware.
|
||||
|
||||
Run the Demos
|
||||
-------------
|
||||
|
||||
There are some demos in ``mesa/demos`` repository.
|
||||
|
||||
Developers
|
||||
----------
|
||||
|
||||
Dispatch Table
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
OpenGL ES has an additional indirection when dispatching functions
|
||||
|
||||
::
|
||||
|
||||
Mesa: glFoo() --> _mesa_Foo()
|
||||
OpenGL ES: glFoo() --> _es_Foo() --> _mesa_Foo()
|
||||
|
||||
The indirection serves several purposes
|
||||
|
||||
- When a function is in Mesa and the type matches, it checks the
|
||||
arguments and calls the Mesa function.
|
||||
- When a function is in Mesa but the type mismatches, it checks and
|
||||
converts the arguments before calling the Mesa function.
|
||||
- When a function is not available in Mesa, or accepts arguments that
|
||||
are not available in OpenGL, it provides its own implementation.
|
||||
|
||||
Other than the last case, OpenGL ES uses ``APIspec.xml`` to generate
|
||||
functions to check and/or converts the arguments.
|
|
@ -1,80 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Off-screen Rendering</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Off-screen Rendering</h1>
|
||||
|
||||
|
||||
<p>
|
||||
Mesa's off-screen interface is used for rendering into user-allocated memory
|
||||
without any sort of window system or operating system dependencies.
|
||||
That is, the GL_FRONT colorbuffer is actually a buffer in main memory,
|
||||
rather than a window on your display.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The OSMesa API provides three basic functions for making off-screen
|
||||
renderings: OSMesaCreateContext(), OSMesaMakeCurrent(), and
|
||||
OSMesaDestroyContext(). See the Mesa/include/GL/osmesa.h header for
|
||||
more information about the API functions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The OSMesa interface may be used with any of three software renderers:
|
||||
</p>
|
||||
<ol>
|
||||
<li>llvmpipe - this is the high-performance Gallium LLVM driver
|
||||
<li>softpipe - this it the reference Gallium software driver
|
||||
<li>swrast - this is the legacy Mesa software rasterizer
|
||||
</ol>
|
||||
|
||||
|
||||
<p>
|
||||
There are several examples of OSMesa in the mesa/demos repository.
|
||||
</p>
|
||||
|
||||
<h2>Building OSMesa</h2>
|
||||
|
||||
<p>
|
||||
Configure and build Mesa with something like:
|
||||
|
||||
<pre>
|
||||
meson builddir -Dosmesa=gallium -Dgallium-drivers=swrast -Ddri-drivers=[] -Dvulkan-drivers=[] -Dprefix=$PWD/builddir/install
|
||||
ninja -C builddir install
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Make sure you have LLVM installed first if you want to use the llvmpipe driver.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When the build is complete you should find:
|
||||
</p>
|
||||
<pre>
|
||||
$PWD/builddir/install/lib/libOSMesa.so (swrast-based OSMesa)
|
||||
$PWD/builddir/install/lib/gallium/libOSMsea.so (gallium-based OSMesa)
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Set your LD_LIBRARY_PATH to point to $PWD/builddir/install to use the libraries
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When you link your application, link with -lOSMesa
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,45 @@
|
|||
Off-screen Rendering
|
||||
====================
|
||||
|
||||
Mesa's off-screen interface is used for rendering into user-allocated
|
||||
memory without any sort of window system or operating system
|
||||
dependencies. That is, the GL_FRONT colorbuffer is actually a buffer in
|
||||
main memory, rather than a window on your display.
|
||||
|
||||
The OSMesa API provides three basic functions for making off-screen
|
||||
renderings: OSMesaCreateContext(), OSMesaMakeCurrent(), and
|
||||
OSMesaDestroyContext(). See the Mesa/include/GL/osmesa.h header for more
|
||||
information about the API functions.
|
||||
|
||||
The OSMesa interface may be used with any of three software renderers:
|
||||
|
||||
#. llvmpipe - this is the high-performance Gallium LLVM driver
|
||||
#. softpipe - this it the reference Gallium software driver
|
||||
#. swrast - this is the legacy Mesa software rasterizer
|
||||
|
||||
There are several examples of OSMesa in the mesa/demos repository.
|
||||
|
||||
Building OSMesa
|
||||
---------------
|
||||
|
||||
Configure and build Mesa with something like:
|
||||
|
||||
::
|
||||
|
||||
meson builddir -Dosmesa=gallium -Dgallium-drivers=swrast -Ddri-drivers=[] -Dvulkan-drivers=[] -Dprefix=$PWD/builddir/install
|
||||
ninja -C builddir install
|
||||
|
||||
Make sure you have LLVM installed first if you want to use the llvmpipe
|
||||
driver.
|
||||
|
||||
When the build is complete you should find:
|
||||
|
||||
::
|
||||
|
||||
$PWD/builddir/install/lib/libOSMesa.so (swrast-based OSMesa)
|
||||
$PWD/builddir/install/lib/gallium/libOSMsea.so (gallium-based OSMesa)
|
||||
|
||||
Set your LD_LIBRARY_PATH to point to $PWD/builddir/install to use the
|
||||
libraries
|
||||
|
||||
When you link your application, link with -lOSMesa
|
|
@ -1,76 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Performance Tips</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Performance Tips</h1>
|
||||
|
||||
<p>
|
||||
Performance tips for software rendering:
|
||||
</p>
|
||||
<ol>
|
||||
|
||||
<li> Turn off smooth shading when you don't need it (glShadeModel)
|
||||
<li> Turn off depth buffering when you don't need it.
|
||||
<li> Turn off dithering when not needed.
|
||||
<li> Use double buffering as it's often faster than single buffering
|
||||
<li> Compile in the X Shared Memory extension option if it's supported
|
||||
on your system by adding -DSHM to CFLAGS and -lXext to XLIBS for
|
||||
your system in the Make-config file.
|
||||
<li> Recompile Mesa with more optimization if possible.
|
||||
<li> Try to maximize the amount of drawing done between glBegin/glEnd pairs.
|
||||
<li> Use the MESA_BACK_BUFFER variable to find best performance in double
|
||||
buffered mode. (X users only)
|
||||
<li> Optimized polygon rasterizers are employed when:
|
||||
rendering into back buffer which is an XImage
|
||||
RGB mode, not grayscale, not monochrome
|
||||
depth buffering is GL_LESS, or disabled
|
||||
flat or smooth shading
|
||||
dithered or non-dithered
|
||||
no other rasterization operations enabled (blending, stencil, etc)
|
||||
<li> Optimized line drawing is employed when:
|
||||
rendering into back buffer which is an XImage
|
||||
RGB mode, not grayscale, not monochrome
|
||||
depth buffering is GL_LESS or disabled
|
||||
flat shading
|
||||
dithered or non-dithered
|
||||
no other rasterization operations enabled (blending, stencil, etc)
|
||||
<li> Textured polygons are fastest when:
|
||||
using a 3-component (RGB), 2-D texture
|
||||
minification and magnification filters are GL_NEAREST
|
||||
texture coordinate wrap modes for S and T are GL_REPEAT
|
||||
GL_DECAL environment mode
|
||||
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST )
|
||||
depth buffering is GL_LESS or disabled
|
||||
<li> Lighting is fastest when:
|
||||
Two-sided lighting is disabled
|
||||
GL_LIGHT_MODEL_LOCAL_VIEWER is false
|
||||
GL_COLOR_MATERIAL is disabled
|
||||
No spot lights are used (all GL_SPOT_CUTOFFs are 180.0)
|
||||
No local lights are used (all position W's are 0.0)
|
||||
All material and light coefficients are >= zero
|
||||
<li> XFree86 users: if you want to use 24-bit color try starting your
|
||||
X server in 32-bit per pixel mode for better performance. That is,
|
||||
start your X server with
|
||||
startx -- -bpp 32
|
||||
instead of
|
||||
startx -- -bpp 24
|
||||
<li> Try disabling dithering with the MESA_NO_DITHER environment variable.
|
||||
If this env var is defined Mesa will disable dithering and the
|
||||
command glEnable(GL_DITHER) will be ignored.
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,44 @@
|
|||
Performance Tips
|
||||
================
|
||||
|
||||
Performance tips for software rendering:
|
||||
|
||||
#. Turn off smooth shading when you don't need it (glShadeModel)
|
||||
#. Turn off depth buffering when you don't need it.
|
||||
#. Turn off dithering when not needed.
|
||||
#. Use double buffering as it's often faster than single buffering
|
||||
#. Compile in the X Shared Memory extension option if it's supported on
|
||||
your system by adding -DSHM to CFLAGS and -lXext to XLIBS for your
|
||||
system in the Make-config file.
|
||||
#. Recompile Mesa with more optimization if possible.
|
||||
#. Try to maximize the amount of drawing done between glBegin/glEnd
|
||||
pairs.
|
||||
#. Use the MESA_BACK_BUFFER variable to find best performance in double
|
||||
buffered mode. (X users only)
|
||||
#. Optimized polygon rasterizers are employed when: rendering into back
|
||||
buffer which is an XImage RGB mode, not grayscale, not monochrome
|
||||
depth buffering is GL_LESS, or disabled flat or smooth shading
|
||||
dithered or non-dithered no other rasterization operations enabled
|
||||
(blending, stencil, etc)
|
||||
#. Optimized line drawing is employed when: rendering into back buffer
|
||||
which is an XImage RGB mode, not grayscale, not monochrome depth
|
||||
buffering is GL_LESS or disabled flat shading dithered or
|
||||
non-dithered no other rasterization operations enabled (blending,
|
||||
stencil, etc)
|
||||
#. Textured polygons are fastest when: using a 3-component (RGB), 2-D
|
||||
texture minification and magnification filters are GL_NEAREST texture
|
||||
coordinate wrap modes for S and T are GL_REPEAT GL_DECAL environment
|
||||
mode glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST ) depth
|
||||
buffering is GL_LESS or disabled
|
||||
#. Lighting is fastest when: Two-sided lighting is disabled
|
||||
GL_LIGHT_MODEL_LOCAL_VIEWER is false GL_COLOR_MATERIAL is disabled No
|
||||
spot lights are used (all GL_SPOT_CUTOFFs are 180.0) No local lights
|
||||
are used (all position W's are 0.0) All material and light
|
||||
coefficients are >= zero
|
||||
#. XFree86 users: if you want to use 24-bit color try starting your X
|
||||
server in 32-bit per pixel mode for better performance. That is,
|
||||
start your X server with startx -- -bpp 32 instead of startx -- -bpp
|
||||
24
|
||||
#. Try disabling dithering with the MESA_NO_DITHER environment variable.
|
||||
If this env var is defined Mesa will disable dithering and the
|
||||
command glEnable(GL_DITHER) will be ignored.
|
|
@ -1,60 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Gallium Post-processing</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Gallium Post-processing</h1>
|
||||
|
||||
<p>
|
||||
The Gallium drivers support user-defined image post-processing.
|
||||
At the end of drawing a frame a post-processing filter can be applied to
|
||||
the rendered image.
|
||||
Example filters include morphological antialiasing and cell shading.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The filters can be toggled per-app via driconf, or per-session via the
|
||||
corresponding environment variables.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Multiple filters can be used together.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>PP environment variables</h2>
|
||||
|
||||
<ul>
|
||||
<li>PP_DEBUG - If defined debug information will be printed to stderr.
|
||||
</ul>
|
||||
|
||||
<h2>Current filters</h2>
|
||||
|
||||
<ul>
|
||||
<li>pp_nored, pp_nogreen, pp_noblue - set to 1 to remove the corresponding color channel.
|
||||
These are basic filters for easy testing of the PP queue.
|
||||
<li>pp_jimenezmlaa, pp_jimenezmlaa_color -
|
||||
<a href="https://www.iryokufx.com/mlaa/" target=_blank>Jimenez's MLAA</a>
|
||||
is a morphological antialiasing filter.
|
||||
The two versions use depth and color data, respectively.
|
||||
Which works better depends on the app - depth will not blur text, but it will
|
||||
miss transparent textures for example.
|
||||
Set to a number from 2 to 32, roughly corresponding to quality.
|
||||
Numbers higher than 8 see minimizing gains.
|
||||
<li>pp_celshade - set to 1 to enable cell shading (a more complex color filter).
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,33 @@
|
|||
Gallium Post-processing
|
||||
=======================
|
||||
|
||||
The Gallium drivers support user-defined image post-processing. At the
|
||||
end of drawing a frame a post-processing filter can be applied to the
|
||||
rendered image. Example filters include morphological antialiasing and
|
||||
cell shading.
|
||||
|
||||
The filters can be toggled per-app via driconf, or per-session via the
|
||||
corresponding environment variables.
|
||||
|
||||
Multiple filters can be used together.
|
||||
|
||||
PP environment variables
|
||||
------------------------
|
||||
|
||||
- PP_DEBUG - If defined debug information will be printed to stderr.
|
||||
|
||||
Current filters
|
||||
---------------
|
||||
|
||||
- pp_nored, pp_nogreen, pp_noblue - set to 1 to remove the
|
||||
corresponding color channel. These are basic filters for easy testing
|
||||
of the PP queue.
|
||||
- pp_jimenezmlaa, pp_jimenezmlaa_color - `Jimenez's
|
||||
MLAA <https://www.iryokufx.com/mlaa/>`__ is a morphological
|
||||
antialiasing filter. The two versions use depth and color data,
|
||||
respectively. Which works better depends on the app - depth will not
|
||||
blur text, but it will miss transparent textures for example. Set to
|
||||
a number from 2 to 32, roughly corresponding to quality. Numbers
|
||||
higher than 8 see minimizing gains.
|
||||
- pp_celshade - set to 1 to enable cell shading (a more complex color
|
||||
filter).
|
|
@ -1,36 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Precompiled libraries</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Precompiled Libraries</h1>
|
||||
|
||||
<p>
|
||||
In general, precompiled Mesa libraries are not available.
|
||||
</p>
|
||||
<p>
|
||||
Some Linux distributions closely follow the latest Mesa releases. On others one
|
||||
has to use unofficial channels.
|
||||
</p>
|
||||
<p>There are some general directions:</p>
|
||||
<ul>
|
||||
<li>Debian/Ubuntu based distros - PPA: xorg-edgers, oibaf and padoka</li>
|
||||
<li>Fedora - Corp: erp and che</li>
|
||||
<li>OpenSuse/SLES - OBS: X11:XOrg and pontostroy:X11</li>
|
||||
<li>Gentoo/Archlinux - officially provided/supported</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,14 @@
|
|||
Precompiled Libraries
|
||||
=====================
|
||||
|
||||
In general, precompiled Mesa libraries are not available.
|
||||
|
||||
Some Linux distributions closely follow the latest Mesa releases. On
|
||||
others one has to use unofficial channels.
|
||||
|
||||
There are some general directions:
|
||||
|
||||
- Debian/Ubuntu based distros - PPA: xorg-edgers, oibaf and padoka
|
||||
- Fedora - Corp: erp and che
|
||||
- OpenSuse/SLES - OBS: X11:XOrg and pontostroy:X11
|
||||
- Gentoo/Archlinux - officially provided/supported
|
|
@ -1,108 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Release Calendar</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Release Calendar</h1>
|
||||
|
||||
<h2>Overview</h2>
|
||||
|
||||
<p>
|
||||
Mesa provides feature/development and stable releases.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The table below lists the date and release manager that is expected to do the
|
||||
specific release.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Regular updates will ensure that the schedule for the current and the next two
|
||||
feature releases are shown in the table.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In order to keep the whole releasing team up to date with the tools used, best
|
||||
practices and other details, the member in charge of the next feature release
|
||||
will be in constant rotation.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The way the release schedule works is explained
|
||||
<a href="releasing.html#schedule" target="_parent">here</a>.
|
||||
</p>
|
||||
<p>
|
||||
Take a look <a href="submittingpatches.html#criteria" target="_parent">here</a>
|
||||
if you'd like to nominate a patch in the next stable release.
|
||||
</p>
|
||||
|
||||
<h2 id="calendar">Calendar</h2>
|
||||
|
||||
<table border="1">
|
||||
|
||||
<tr>
|
||||
<th>Branch</th>
|
||||
<th>Expected date</th>
|
||||
<th>Release</th>
|
||||
<th>Release manager</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan="7">20.1</td>
|
||||
<td>2020-06-24</td>
|
||||
<td>20.1.2</td>
|
||||
<td>Eric Engestrom</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-07-08</td>
|
||||
<td>20.1.3</td>
|
||||
<td>Eric Engestrom</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-07-22</td>
|
||||
<td>20.1.4</td>
|
||||
<td>Eric Engestrom</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-08-05</td>
|
||||
<td>20.1.5</td>
|
||||
<td>Eric Engestrom</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-08-19</td>
|
||||
<td>20.1.6</td>
|
||||
<td>Eric Engestrom</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-09-02</td>
|
||||
<td>20.1.7</td>
|
||||
<td>Eric Engestrom</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2020-09-16</td>
|
||||
<td>20.1.8</td>
|
||||
<td>Eric Engestrom</td>
|
||||
<td>Last planned release of the 20.1 series</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,44 @@
|
|||
Release Calendar
|
||||
================
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
Mesa provides feature/development and stable releases.
|
||||
|
||||
The table below lists the date and release manager that is expected to
|
||||
do the specific release.
|
||||
|
||||
Regular updates will ensure that the schedule for the current and the
|
||||
next two feature releases are shown in the table.
|
||||
|
||||
In order to keep the whole releasing team up to date with the tools
|
||||
used, best practices and other details, the member in charge of the next
|
||||
feature release will be in constant rotation.
|
||||
|
||||
The way the release schedule works is explained
|
||||
`here <releasing.html#schedule>`__.
|
||||
|
||||
Take a look `here <submittingpatches.html#criteria>`__ if you'd like to
|
||||
nominate a patch in the next stable release.
|
||||
|
||||
Calendar
|
||||
--------
|
||||
|
||||
+--------+---------------+---------+-----------------+-----------------------------------------+
|
||||
| Branch | Expected date | Release | Release manager | Notes |
|
||||
+========+===============+=========+=================+=========================================+
|
||||
| 20.1 | 2020-06-24 | 20.1.2 | Eric Engestrom | |
|
||||
| +---------------+---------+-----------------+-----------------------------------------+
|
||||
| | 2020-07-08 | 20.1.3 | Eric Engestrom | |
|
||||
| +---------------+---------+-----------------+-----------------------------------------+
|
||||
| | 2020-07-22 | 20.1.4 | Eric Engestrom | |
|
||||
| +---------------+---------+-----------------+-----------------------------------------+
|
||||
| | 2020-08-05 | 20.1.5 | Eric Engestrom | |
|
||||
| +---------------+---------+-----------------+-----------------------------------------+
|
||||
| | 2020-08-19 | 20.1.6 | Eric Engestrom | |
|
||||
| +---------------+---------+-----------------+-----------------------------------------+
|
||||
| | 2020-09-02 | 20.1.7 | Eric Engestrom | |
|
||||
| +---------------+---------+-----------------+-----------------------------------------+
|
||||
| | 2020-09-16 | 20.1.8 | Eric Engestrom | Last planned release of the 20.1 series |
|
||||
+--------+---------------+---------+-----------------+-----------------------------------------+
|
|
@ -1,423 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Releasing Process</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
|
||||
<h1>Releasing Process</h1>
|
||||
|
||||
<ul>
|
||||
<li><a href="#overview">Overview</a></li>
|
||||
<li><a href="#schedule">Release schedule</a></li>
|
||||
<li><a href="#pickntest">Cherry-pick and test</a></li>
|
||||
<li><a href="#stagingbranch">Staging branch</a></li>
|
||||
<li><a href="#branch">Making a branchpoint</a></li>
|
||||
<li><a href="#release">Making a new release</a></li>
|
||||
<li><a href="#announce">Announce the release</a></li>
|
||||
<li><a href="#gitlab">Update Gitlab Issues</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 id="overview">Overview</h2>
|
||||
|
||||
<p>
|
||||
This document uses the convention X.Y.Z for the release number with X.Y being
|
||||
the stable branch name.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Mesa provides feature and bugfix releases. Former use zero as patch version (Z),
|
||||
while the latter have a non-zero one.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For example:
|
||||
</p>
|
||||
<pre>
|
||||
Mesa 10.1.0 - 10.1 branch, feature
|
||||
Mesa 10.1.4 - 10.1 branch, bugfix
|
||||
Mesa 12.0.0 - 12.0 branch, feature
|
||||
Mesa 12.0.2 - 12.0 branch, bugfix
|
||||
</pre>
|
||||
|
||||
|
||||
<h2 id="schedule">Release schedule</h2>
|
||||
|
||||
<p>
|
||||
Releases should happen on Wednesdays. Delays can occur although those
|
||||
should be kept to a minimum.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
See our <a href="release-calendar.html" target="_parent">calendar</a>
|
||||
for information about how the release schedule is planned, and the
|
||||
date and other details for individual releases.
|
||||
</p>
|
||||
|
||||
<h2>Feature releases</h2>
|
||||
<ul>
|
||||
<li>Available approximately every three months.</li>
|
||||
<li>Initial timeplan available 2-4 weeks before the planned branchpoint (rc1)
|
||||
on the mesa-announce@ mailing list.</li>
|
||||
<li>Typically, the final release will happen after 4
|
||||
candidates. Additional ones may be needed in order to resolve blocking
|
||||
regressions, though.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Stable releases</h2>
|
||||
<ul>
|
||||
<li>Normally available once every two weeks.</li>
|
||||
<li>Only the latest branch has releases. See note below.</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Note: There is one or two releases overlap when changing branches. For example:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The final release from the 12.0 series Mesa 12.0.5 will be out around the same
|
||||
time (or shortly after) 13.0.1 is out.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This also involves that, as a final release may be delayed due to the
|
||||
need of additional candidates to solve some blocking regression(s),
|
||||
the release manager might have to update
|
||||
the <a href="release-calendar.html" target="_parent">calendar</a> with
|
||||
additional bug fix releases of the current stable branch.
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="pickntest">Cherry-picking and testing</h2>
|
||||
|
||||
<p>
|
||||
Commits nominated for the active branch are picked as based on the
|
||||
<a href="submittingpatches.html#criteria" target="_parent">criteria</a> as
|
||||
described in the same section.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Nominations happen via special tags in the commit messages, and via gitlab
|
||||
merge requests against the staging branches. There are special scripts used
|
||||
to read the tags.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The maintainer should watch or be in contact with the Intel CI team, as well
|
||||
as watch the gitlab CI for regressions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Cherry picking should be done with the '-x' switch (to automatically add
|
||||
"cherry picked from ..." to the commit message):
|
||||
</p>
|
||||
|
||||
<code>
|
||||
git cherry-pick -x abcdef12345667890
|
||||
</code>
|
||||
|
||||
<p>
|
||||
Developers can request, <em>as an exception</em>, patches to be applied up-to
|
||||
the last one hour before the actual release. This is made <strong>only</strong>
|
||||
with explicit permission/request, and the patch <strong>must</strong> be very
|
||||
well contained. Thus it cannot affect more than one driver/subsystem.
|
||||
</p>
|
||||
|
||||
<p>Following developers have requested permanent exception</p>
|
||||
<ul>
|
||||
<li><em>Ilia Mirkin</em></li>
|
||||
<li><em>AMD team</em></li>
|
||||
</ul>
|
||||
|
||||
<p>The gitlab CI must pass.</p>
|
||||
|
||||
<p>
|
||||
For Windows related changes, the main contact point is Brian
|
||||
Paul. Jose Fonseca can also help as a fallback contact.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For Android related changes, the main contact is Tapani
|
||||
Pälli. Mauro Rossi is collaborating with android-x86 and may
|
||||
provide feedback about the build status in that project.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
For MacOSX related changes, Jeremy Huddleston Sequoia is currently a
|
||||
good contact point.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<strong>Note:</strong> If a patch in the current queue needs any additional
|
||||
fix(es), then they should be squashed together. The commit messages and the
|
||||
"<code>cherry picked from</code>"-tags must be preserved.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git show b10859ec41d09c57663a258f43fe57c12332698e
|
||||
|
||||
commit b10859ec41d09c57663a258f43fe57c12332698e
|
||||
Author: Jonas Pfeil <pfeiljonas@gmx.de>
|
||||
Date: Wed Mar 1 18:11:10 2017 +0100
|
||||
|
||||
ralloc: Make sure ralloc() allocations match malloc()'s alignment.
|
||||
|
||||
The header of ralloc needs to be aligned, because the compiler assumes
|
||||
...
|
||||
|
||||
(cherry picked from commit cd2b55e536dc806f9358f71db438dd9c246cdb14)
|
||||
|
||||
Squashed with commit:
|
||||
|
||||
ralloc: don't leave out the alignment factor
|
||||
|
||||
Experimentation shows that without alignment factor gcc and clang choose
|
||||
...
|
||||
|
||||
(cherry picked from commit ff494fe999510ea40e3ed5827e7818550b6de126)
|
||||
</pre>
|
||||
|
||||
<h2>Regression/functionality testing</h2>
|
||||
|
||||
<ul>
|
||||
<li><em>no regressions should be observed for Piglit/dEQP/CTS/Vulkan on Intel platforms</em></li>
|
||||
<li><em>no regressions should be observed for Piglit using the swrast, softpipe
|
||||
and llvmpipe drivers</em></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="stagingbranch">Staging branch</h2>
|
||||
|
||||
<p>
|
||||
A live branch, which contains the currently merge/rejected patches is available
|
||||
in the main repository under <code>staging/X.Y</code>. For example:
|
||||
</p>
|
||||
<pre>
|
||||
staging/18.1 - WIP branch for the 18.1 series
|
||||
staging/18.2 - WIP branch for the 18.2 series
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Notes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>People are encouraged to test the staging branch and report regressions.</li>
|
||||
<li>The branch history is not stable and it <strong>will</strong> be rebased,</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2 id="branch">Making a branchpoint</h2>
|
||||
|
||||
<p>
|
||||
A branchpoint is made such that new development can continue in parallel to
|
||||
stabilisation and bugfixing.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Note: Before doing a branch ensure that basic build and <code>meson test</code>
|
||||
testing is done and there are little to-no issues. Ideally all of those should
|
||||
be tackled already.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Check if the version number is going to remain as, alternatively
|
||||
<code> git mv docs/relnotes/{current,new}.html </code> as appropriate.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To setup the branchpoint:
|
||||
</p>
|
||||
<pre>
|
||||
git checkout master # make sure we're in master first
|
||||
git tag -s X.Y-branchpoint -m "Mesa X.Y branchpoint"
|
||||
git checkout -b X.Y
|
||||
git checkout master
|
||||
$EDITOR VERSION # bump the version number
|
||||
git commit -as
|
||||
truncate docs/relnotes/new_features.txt
|
||||
git commit -a
|
||||
git push origin X.Y-branchpoint X.Y
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Now go to
|
||||
<a href="https://gitlab.freedesktop.org/mesa/mesa/-/milestones" target="_parent">gitlab</a> and add the new Mesa version X.Y.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Check that there are no distribution breaking changes and revert them if needed.
|
||||
For example: files being overwritten on install, etc. Happens extremely rarely -
|
||||
we had only one case so far (see commit 2ced8eb136528914e1bf4e000dea06a9d53c7e04).
|
||||
</p>
|
||||
|
||||
<h2 id="release">Making a new release</h2>
|
||||
|
||||
<p>
|
||||
These are the instructions for making a new Mesa release.
|
||||
</p>
|
||||
|
||||
<h3>Get latest source files</h3>
|
||||
|
||||
<p>
|
||||
Ensure the latest code is available - both in your local master and the
|
||||
relevant branch.
|
||||
</p>
|
||||
|
||||
<h3 id="basictesting">Perform basic testing</h3>
|
||||
|
||||
<p>
|
||||
Most of the testing should already be done during the
|
||||
<a href="#pickntest">cherry-pick</a>
|
||||
So we do a quick 'touch test'
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>meson dist</li>
|
||||
<li>scons (from release tarball)</li>
|
||||
<li>the produced binaries work</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Here is one solution:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
__glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"'
|
||||
__es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
|
||||
__es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"'
|
||||
test "x$LD_LIBRARY_PATH" != 'x' && __old_ld="$LD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/:"${__old_ld}"
|
||||
export LIBGL_DRIVERS_PATH=`pwd`/test/usr/local/lib/dri/
|
||||
export LIBGL_DEBUG=verbose
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
export LIBGL_ALWAYS_SOFTWARE=true
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
export LIBGL_ALWAYS_SOFTWARE=true
|
||||
export GALLIUM_DRIVER=softpipe
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
# Smoke test DOTA2
|
||||
unset LD_LIBRARY_PATH
|
||||
test "x$__old_ld" != 'x' && export LD_LIBRARY_PATH="$__old_ld" && unset __old_ld
|
||||
unset LIBGL_DRIVERS_PATH
|
||||
unset LIBGL_DEBUG
|
||||
unset LIBGL_ALWAYS_SOFTWARE
|
||||
unset GALLIUM_DRIVER
|
||||
export VK_ICD_FILENAMES=`pwd`/test/usr/local/share/vulkan/icd.d/intel_icd.x86_64.json
|
||||
steam steam://rungameid/570 -vconsole -vulkan
|
||||
unset VK_ICD_FILENAMES
|
||||
</pre>
|
||||
|
||||
<h3>Create release notes for the new release</h3>
|
||||
|
||||
<p>
|
||||
The release notes are completely generated by the
|
||||
<code>bin/gen_release_notes.py</code> script. Simply run this script before
|
||||
bumping the version, and commit the results.
|
||||
|
||||
The only thing left to do is add the sha256 sums.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Increment the version contained in the file VERSION at Mesa's top-level, then
|
||||
commit this change.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Commit these changes and push the branch.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git push origin HEAD
|
||||
</pre>
|
||||
|
||||
|
||||
<h3>Use the release.sh script from xorg <a href="https://cgit.freedesktop.org/xorg/util/modular/">util-modular</a></h3>
|
||||
|
||||
<p>
|
||||
Start the release process.
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
../relative/path/to/release.sh . # append --dist if you've already done distcheck above
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Pay close attention to the prompts as you might be required to enter your GPG
|
||||
and SSH passphrase(s) to sign and upload the files, respectively.
|
||||
</p>
|
||||
|
||||
<h3>Add the sha256sums to the release notes</h3>
|
||||
|
||||
<p>
|
||||
Edit docs/relnotes/X.Y.Z.html to add the sha256sum as available in the mesa-X.Y.Z.announce template. Commit this change.
|
||||
</p>
|
||||
|
||||
<h3>Back on mesa master, add the new release notes into the tree</h3>
|
||||
|
||||
<p>
|
||||
Something like the following steps will do the trick:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git cherry-pick -x X.Y~1
|
||||
git cherry-pick -x X.Y
|
||||
</pre>
|
||||
|
||||
<p>Then run the <pre>./bin/post_version.py X.Y.Z</pre>, where X.Y.Z is the
|
||||
version you just made. This will updated docs/relnotes.html,
|
||||
docs/index.html, and docs/release-calendar.html. It will then generate
|
||||
a git commit automatically. Check that everything looks correct and push:
|
||||
</p>
|
||||
|
||||
<pre>
|
||||
git push origin master X.Y
|
||||
</pre>
|
||||
|
||||
|
||||
<h2 id="announce">Announce the release</h2>
|
||||
|
||||
<p>
|
||||
Use the generated template during the releasing process.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Again, pay attention to add a note to warn about a final release in a
|
||||
series, if that is the case.
|
||||
</p>
|
||||
|
||||
|
||||
<h2 id="gitlab">Update gitlab issues</h2>
|
||||
|
||||
<p>
|
||||
Parse through the bug reports as listed in the docs/relnotes/X.Y.Z.html
|
||||
document. If there's outstanding action, close the bug referencing the commit
|
||||
ID which addresses the bug and mention the Mesa version that has the fix.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Note: the above is not applicable to all the reports, so use common sense.
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,351 @@
|
|||
Releasing Process
|
||||
=================
|
||||
|
||||
- `Overview <#overview>`__
|
||||
- `Release schedule <#schedule>`__
|
||||
- `Cherry-pick and test <#pickntest>`__
|
||||
- `Staging branch <#stagingbranch>`__
|
||||
- `Making a branchpoint <#branch>`__
|
||||
- `Making a new release <#release>`__
|
||||
- `Announce the release <#announce>`__
|
||||
- `Update Gitlab Issues <#gitlab>`__
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
This document uses the convention X.Y.Z for the release number with X.Y
|
||||
being the stable branch name.
|
||||
|
||||
Mesa provides feature and bugfix releases. Former use zero as patch
|
||||
version (Z), while the latter have a non-zero one.
|
||||
|
||||
For example:
|
||||
|
||||
::
|
||||
|
||||
Mesa 10.1.0 - 10.1 branch, feature
|
||||
Mesa 10.1.4 - 10.1 branch, bugfix
|
||||
Mesa 12.0.0 - 12.0 branch, feature
|
||||
Mesa 12.0.2 - 12.0 branch, bugfix
|
||||
|
||||
.. _schedule:
|
||||
|
||||
Release schedule
|
||||
----------------
|
||||
|
||||
Releases should happen on Wednesdays. Delays can occur although those
|
||||
should be kept to a minimum.
|
||||
|
||||
See our `calendar <release-calendar.html>`__ for information about how
|
||||
the release schedule is planned, and the date and other details for
|
||||
individual releases.
|
||||
|
||||
Feature releases
|
||||
----------------
|
||||
|
||||
- Available approximately every three months.
|
||||
- Initial timeplan available 2-4 weeks before the planned branchpoint
|
||||
(rc1) on the mesa-announce@ mailing list.
|
||||
- Typically, the final release will happen after 4 candidates.
|
||||
Additional ones may be needed in order to resolve blocking
|
||||
regressions, though.
|
||||
|
||||
Stable releases
|
||||
---------------
|
||||
|
||||
- Normally available once every two weeks.
|
||||
- Only the latest branch has releases. See note below.
|
||||
|
||||
Note: There is one or two releases overlap when changing branches. For
|
||||
example:
|
||||
|
||||
The final release from the 12.0 series Mesa 12.0.5 will be out around
|
||||
the same time (or shortly after) 13.0.1 is out.
|
||||
|
||||
This also involves that, as a final release may be delayed due to the
|
||||
need of additional candidates to solve some blocking regression(s), the
|
||||
release manager might have to update the
|
||||
`calendar <release-calendar.html>`__ with additional bug fix releases of
|
||||
the current stable branch.
|
||||
|
||||
.. _pickntest:
|
||||
|
||||
Cherry-picking and testing
|
||||
--------------------------
|
||||
|
||||
Commits nominated for the active branch are picked as based on the
|
||||
`criteria <submittingpatches.html#criteria>`__ as described in the same
|
||||
section.
|
||||
|
||||
Nominations happen via special tags in the commit messages, and via
|
||||
gitlab merge requests against the staging branches. There are special
|
||||
scripts used to read the tags.
|
||||
|
||||
The maintainer should watch or be in contact with the Intel CI team, as
|
||||
well as watch the gitlab CI for regressions.
|
||||
|
||||
Cherry picking should be done with the '-x' switch (to automatically add
|
||||
"cherry picked from ..." to the commit message):
|
||||
|
||||
``git cherry-pick -x abcdef12345667890``
|
||||
|
||||
Developers can request, *as an exception*, patches to be applied up-to
|
||||
the last one hour before the actual release. This is made **only** with
|
||||
explicit permission/request, and the patch **must** be very well
|
||||
contained. Thus it cannot affect more than one driver/subsystem.
|
||||
|
||||
Following developers have requested permanent exception
|
||||
|
||||
- *Ilia Mirkin*
|
||||
- *AMD team*
|
||||
|
||||
The gitlab CI must pass.
|
||||
|
||||
For Windows related changes, the main contact point is Brian Paul. Jose
|
||||
Fonseca can also help as a fallback contact.
|
||||
|
||||
For Android related changes, the main contact is Tapani Pälli. Mauro
|
||||
Rossi is collaborating with android-x86 and may provide feedback about
|
||||
the build status in that project.
|
||||
|
||||
For MacOSX related changes, Jeremy Huddleston Sequoia is currently a
|
||||
good contact point.
|
||||
|
||||
**Note:** If a patch in the current queue needs any additional fix(es),
|
||||
then they should be squashed together. The commit messages and the
|
||||
"``cherry picked from``"-tags must be preserved.
|
||||
|
||||
::
|
||||
|
||||
git show b10859ec41d09c57663a258f43fe57c12332698e
|
||||
|
||||
commit b10859ec41d09c57663a258f43fe57c12332698e
|
||||
Author: Jonas Pfeil <pfeiljonas@gmx.de>
|
||||
Date: Wed Mar 1 18:11:10 2017 +0100
|
||||
|
||||
ralloc: Make sure ralloc() allocations match malloc()'s alignment.
|
||||
|
||||
The header of ralloc needs to be aligned, because the compiler assumes
|
||||
...
|
||||
|
||||
(cherry picked from commit cd2b55e536dc806f9358f71db438dd9c246cdb14)
|
||||
|
||||
Squashed with commit:
|
||||
|
||||
ralloc: don't leave out the alignment factor
|
||||
|
||||
Experimentation shows that without alignment factor gcc and clang choose
|
||||
...
|
||||
|
||||
(cherry picked from commit ff494fe999510ea40e3ed5827e7818550b6de126)
|
||||
|
||||
Regression/functionality testing
|
||||
--------------------------------
|
||||
|
||||
- *no regressions should be observed for Piglit/dEQP/CTS/Vulkan on
|
||||
Intel platforms*
|
||||
- *no regressions should be observed for Piglit using the swrast,
|
||||
softpipe and llvmpipe drivers*
|
||||
|
||||
.. _stagingbranch:
|
||||
|
||||
Staging branch
|
||||
--------------
|
||||
|
||||
A live branch, which contains the currently merge/rejected patches is
|
||||
available in the main repository under ``staging/X.Y``. For example:
|
||||
|
||||
::
|
||||
|
||||
staging/18.1 - WIP branch for the 18.1 series
|
||||
staging/18.2 - WIP branch for the 18.2 series
|
||||
|
||||
Notes:
|
||||
|
||||
- People are encouraged to test the staging branch and report
|
||||
regressions.
|
||||
- The branch history is not stable and it **will** be rebased,
|
||||
|
||||
.. _branch:
|
||||
|
||||
Making a branchpoint
|
||||
--------------------
|
||||
|
||||
A branchpoint is made such that new development can continue in parallel
|
||||
to stabilisation and bugfixing.
|
||||
|
||||
Note: Before doing a branch ensure that basic build and ``meson test``
|
||||
testing is done and there are little to-no issues. Ideally all of those
|
||||
should be tackled already.
|
||||
|
||||
Check if the version number is going to remain as, alternatively
|
||||
``git mv docs/relnotes/{current,new}.html`` as appropriate.
|
||||
|
||||
To setup the branchpoint:
|
||||
|
||||
::
|
||||
|
||||
git checkout master # make sure we're in master first
|
||||
git tag -s X.Y-branchpoint -m "Mesa X.Y branchpoint"
|
||||
git checkout -b X.Y
|
||||
git checkout master
|
||||
$EDITOR VERSION # bump the version number
|
||||
git commit -as
|
||||
truncate docs/relnotes/new_features.txt
|
||||
git commit -a
|
||||
git push origin X.Y-branchpoint X.Y
|
||||
|
||||
Now go to
|
||||
`gitlab <https://gitlab.freedesktop.org/mesa/mesa/-/milestones>`__ and
|
||||
add the new Mesa version X.Y.
|
||||
|
||||
Check that there are no distribution breaking changes and revert them if
|
||||
needed. For example: files being overwritten on install, etc. Happens
|
||||
extremely rarely - we had only one case so far (see commit
|
||||
2ced8eb136528914e1bf4e000dea06a9d53c7e04).
|
||||
|
||||
.. _release:
|
||||
|
||||
Making a new release
|
||||
--------------------
|
||||
|
||||
These are the instructions for making a new Mesa release.
|
||||
|
||||
Get latest source files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Ensure the latest code is available - both in your local master and the
|
||||
relevant branch.
|
||||
|
||||
.. _basictesting:
|
||||
|
||||
Perform basic testing
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Most of the testing should already be done during the
|
||||
`cherry-pick <#pickntest>`__ So we do a quick 'touch test'
|
||||
|
||||
- meson dist
|
||||
- scons (from release tarball)
|
||||
- the produced binaries work
|
||||
|
||||
Here is one solution:
|
||||
|
||||
::
|
||||
|
||||
__glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"'
|
||||
__es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
|
||||
__es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"'
|
||||
test "x$LD_LIBRARY_PATH" != 'x' && __old_ld="$LD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/:"${__old_ld}"
|
||||
export LIBGL_DRIVERS_PATH=`pwd`/test/usr/local/lib/dri/
|
||||
export LIBGL_DEBUG=verbose
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
export LIBGL_ALWAYS_SOFTWARE=true
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
export LIBGL_ALWAYS_SOFTWARE=true
|
||||
export GALLIUM_DRIVER=softpipe
|
||||
eval $__glxinfo_cmd
|
||||
eval $__glxgears_cmd
|
||||
eval $__es2info_cmd
|
||||
eval $__es2gears_cmd
|
||||
# Smoke test DOTA2
|
||||
unset LD_LIBRARY_PATH
|
||||
test "x$__old_ld" != 'x' && export LD_LIBRARY_PATH="$__old_ld" && unset __old_ld
|
||||
unset LIBGL_DRIVERS_PATH
|
||||
unset LIBGL_DEBUG
|
||||
unset LIBGL_ALWAYS_SOFTWARE
|
||||
unset GALLIUM_DRIVER
|
||||
export VK_ICD_FILENAMES=`pwd`/test/usr/local/share/vulkan/icd.d/intel_icd.x86_64.json
|
||||
steam steam://rungameid/570 -vconsole -vulkan
|
||||
unset VK_ICD_FILENAMES
|
||||
|
||||
Create release notes for the new release
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The release notes are completely generated by the
|
||||
``bin/gen_release_notes.py`` script. Simply run this script before
|
||||
bumping the version, and commit the results. The only thing left to do
|
||||
is add the sha256 sums.
|
||||
|
||||
Increment the version contained in the file VERSION at Mesa's top-level,
|
||||
then commit this change.
|
||||
|
||||
Commit these changes and push the branch.
|
||||
|
||||
::
|
||||
|
||||
git push origin HEAD
|
||||
|
||||
Use the release.sh script from xorg `util-modular <https://cgit.freedesktop.org/xorg/util/modular/>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Start the release process.
|
||||
|
||||
::
|
||||
|
||||
../relative/path/to/release.sh . # append --dist if you've already done distcheck above
|
||||
|
||||
Pay close attention to the prompts as you might be required to enter
|
||||
your GPG and SSH passphrase(s) to sign and upload the files,
|
||||
respectively.
|
||||
|
||||
Add the sha256sums to the release notes
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Edit docs/relnotes/X.Y.Z.html to add the sha256sum as available in the
|
||||
mesa-X.Y.Z.announce template. Commit this change.
|
||||
|
||||
Back on mesa master, add the new release notes into the tree
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Something like the following steps will do the trick:
|
||||
|
||||
::
|
||||
|
||||
git cherry-pick -x X.Y~1
|
||||
git cherry-pick -x X.Y
|
||||
|
||||
Then run the
|
||||
|
||||
::
|
||||
|
||||
./bin/post_version.py X.Y.Z
|
||||
|
||||
, where X.Y.Z is the version you just made. This will updated
|
||||
docs/relnotes.html, docs/index.html, and docs/release-calendar.html. It
|
||||
will then generate a git commit automatically. Check that everything
|
||||
looks correct and push:
|
||||
|
||||
::
|
||||
|
||||
git push origin master X.Y
|
||||
|
||||
.. _announce:
|
||||
|
||||
Announce the release
|
||||
--------------------
|
||||
|
||||
Use the generated template during the releasing process.
|
||||
|
||||
Again, pay attention to add a note to warn about a final release in a
|
||||
series, if that is the case.
|
||||
|
||||
.. _gitlab:
|
||||
|
||||
Update gitlab issues
|
||||
--------------------
|
||||
|
||||
Parse through the bug reports as listed in the docs/relnotes/X.Y.Z.html
|
||||
document. If there's outstanding action, close the bug referencing the
|
||||
commit ID which addresses the bug and mention the Mesa version that has
|
||||
the fix.
|
||||
|
||||
Note: the above is not applicable to all the reports, so use common
|
||||
sense.
|
|
@ -1,871 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Release Notes</h1>
|
||||
|
||||
<p>
|
||||
The release notes summarize what's new or changed in each Mesa release.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="relnotes/20.0.8.html">20.0.8 release notes</a></li>
|
||||
<li><a href="relnotes/20.1.1.html">20.1.1 release notes</a></li>
|
||||
<li><a href="relnotes/20.1.0.html">20.1.0 release notes</a></li>
|
||||
<li><a href="relnotes/20.0.7.html">20.0.7 release notes</a></li>
|
||||
<li><a href="relnotes/20.0.6.html">20.0.6 release notes</a></li>
|
||||
<li><a href="relnotes/20.0.5.html">20.0.5 release notes</a></li>
|
||||
<li><a href="relnotes/20.0.4.html">20.0.4 release notes</a></li>
|
||||
<li><a href="relnotes/20.0.3.html">20.0.3 release notes</a></li>
|
||||
<li><a href="relnotes/20.0.2.html">20.0.2 release notes</a></li>
|
||||
<li><a href="relnotes/19.3.5.html">19.3.5 release notes</a></li>
|
||||
<li><a href="relnotes/20.0.1.html">20.0.1 release notes</a></li>
|
||||
<li><a href="relnotes/20.0.0.html">20.0.0 release notes</a></li>
|
||||
<li><a href="relnotes/19.3.4.html">19.3.4 release notes</a></li>
|
||||
<li><a href="relnotes/19.3.3.html">19.3.3 release notes</a></li>
|
||||
<li><a href="relnotes/19.3.2.html">19.3.2 release notes</a></li>
|
||||
<li><a href="relnotes/19.2.8.html">19.2.8 release notes</a></li>
|
||||
<li><a href="relnotes/19.3.1.html">19.3.1 release notes</a></li>
|
||||
<li><a href="relnotes/19.3.0.html">19.3.0 release notes</a></li>
|
||||
<li><a href="relnotes/19.2.7.html">19.2.7 release notes</a></li>
|
||||
<li><a href="relnotes/19.2.6.html">19.2.6 release notes</a></li>
|
||||
<li><a href="relnotes/19.2.5.html">19.2.5 release notes</a></li>
|
||||
<li><a href="relnotes/19.2.4.html">19.2.4 release notes</a></li>
|
||||
<li><a href="relnotes/19.2.3.html">19.2.3 release notes</a></li>
|
||||
<li><a href="relnotes/19.2.2.html">19.2.2 release notes</a></li>
|
||||
<li>
|
||||
<a href="relnotes/19.1.8.html">19.1.8 release notes</a>
|
||||
</li>
|
||||
<li><a href="relnotes/19.2.1.html">19.2.1 release notes</a></li>
|
||||
<li>
|
||||
<a href="relnotes/19.2.0.html">19.2.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.1.7.html">19.1.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.1.6.html">19.1.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.1.5.html">19.1.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.1.4.html">19.1.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.1.3.html">19.1.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.1.2.html">19.1.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.0.8.html">19.0.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.1.1.html">19.1.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.0.7.html">19.0.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.1.0.html">19.1.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.0.6.html">19.0.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.0.5.html">19.0.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.0.4.html">19.0.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.0.3.html">19.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.0.2.html">19.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.3.6.html">18.3.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.0.1.html">19.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.3.5.html">18.3.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/19.0.0.html">19.0.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.3.4.html">18.3.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.3.3.html">18.3.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.3.2.html">18.3.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.2.8.html">18.2.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.2.7.html">18.2.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.3.1.html">18.3.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.3.0.html">18.3.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.2.6.html">18.2.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.2.5.html">18.2.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.2.4.html">18.2.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.2.3.html">18.2.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.2.2.html">18.2.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.9.html">18.1.9 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.2.1.html">18.2.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.2.0.html">18.2.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.8.html">18.1.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.7.html">18.1.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.6.html">18.1.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.5.html">18.1.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.4.html">18.1.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.3.html">18.1.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.2.html">18.1.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.0.5.html">18.0.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.1.html">18.1.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.1.0.html">18.1.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.0.4.html">18.0.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.0.3.html">18.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.0.2.html">18.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.0.1.html">18.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.9.html">17.3.9 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.8.html">17.3.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/18.0.0.html">18.0.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.7.html">17.3.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.6.html">17.3.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.5.html">17.3.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.4.html">17.3.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.3.html">17.3.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.2.html">17.3.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.2.8.html">17.2.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.1.html">17.3.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.2.7.html">17.2.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.3.0.html">17.3.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.2.6.html">17.2.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.2.5.html">17.2.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.2.4.html">17.2.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.2.3.html">17.2.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.2.2.html">17.2.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.10.html">17.1.10 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.2.1.html">17.2.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.9.html">17.1.9 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.2.0.html">17.2.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.8.html">17.1.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.7.html">17.1.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.6.html">17.1.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.5.html">17.1.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.4.html">17.1.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.3.html">17.1.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.2.html">17.1.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.0.7.html">17.0.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.1.html">17.1.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.0.6.html">17.0.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.1.0.html">17.1.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.0.5.html">17.0.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.0.4.html">17.0.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.0.3.html">17.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.0.2.html">17.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/13.0.6.html">13.0.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.0.1.html">17.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/13.0.5.html">13.0.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/17.0.0.html">17.0.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/13.0.4.html">13.0.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/12.0.6.html">12.0.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/13.0.3.html">13.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/12.0.5.html">12.0.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/13.0.2.html">13.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/13.0.1.html">13.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/12.0.4.html">12.0.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/13.0.0.html">13.0.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/12.0.3.html">12.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/12.0.2.html">12.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/12.0.1.html">12.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/12.0.0.html">12.0.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.2.2.html">11.2.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.1.4.html">11.1.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.2.1.html">11.2.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.1.3.html">11.1.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.2.0.html">11.2.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.1.2.html">11.1.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.9.html">11.0.9 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.1.1.html">11.1.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.8.html">11.0.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.1.0.html">11.1.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.7.html">11.0.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.6.html">11.0.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.5.html">11.0.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.4.html">11.0.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.3.html">11.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.9.html">10.6.9 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.2.html">11.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.1.html">11.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.8.html">10.6.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/11.0.0.html">11.0.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.7.html">10.6.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.6.html">10.6.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.5.html">10.6.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.4.html">10.6.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.3.html">10.6.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.2.html">10.6.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.9.html">10.5.9 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.1.html">10.6.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.8.html">10.5.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.6.0.html">10.6.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.7.html">10.5.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.6.html">10.5.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.5.html">10.5.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.4.html">10.5.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.3.html">10.5.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.2.html">10.5.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.4.7.html">10.4.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.1.html">10.5.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.5.0.html">10.5.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.4.6.html">10.4.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.4.5.html">10.4.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.4.4.html">10.4.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.4.3.html">10.4.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.4.2.html">10.4.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.3.7.html">10.3.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.4.1.html">10.4.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.3.6.html">10.3.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.4.html">10.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.3.5.html">10.3.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.3.4.html">10.3.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.3.3.html">10.3.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.3.2.html">10.3.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.3.1.html">10.3.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.9.html">10.2.9 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.3.html">10.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.8.html">10.2.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.7.html">10.2.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.6.html">10.2.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.5.html">10.2.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.4.html">10.2.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.3.html">10.2.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.2.html">10.2.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.1.html">10.2.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.2.html">10.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.1.6.html">10.1.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.1.5.html">10.1.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.1.4.html">10.1.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.1.3.html">10.1.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.1.2.html">10.1.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.1.1.html">10.1.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.1.html">10.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.0.5.html">10.0.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.0.4.html">10.0.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.0.3.html">10.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.0.2.html">10.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.0.1.html">10.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/10.0.html">10.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.2.5.html">9.2.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.2.4.html">9.2.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.2.3.html">9.2.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.2.2.html">9.2.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.2.1.html">9.2.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.2.html">9.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.1.7.html">9.1.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.1.6.html">9.1.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.1.5.html">9.1.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.1.4.html">9.1.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.1.3.html">9.1.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.1.2.html">9.1.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.1.1.html">9.1.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.1.html">9.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.0.3.html">9.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.0.2.html">9.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.0.1.html">9.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/9.0.html">9.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/8.0.5.html">8.0.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/8.0.4.html">8.0.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/8.0.3.html">8.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/8.0.2.html">8.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/8.0.1.html">8.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/8.0.html">8.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.11.2.html">7.11.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.11.1.html">7.11.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.11.html">7.11 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.10.3.html">7.10.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.10.2.html">7.10.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.10.1.html">7.10.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.10.html">7.10 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.9.2.html">7.9.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.9.1.html">7.9.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.9.html">7.9 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.8.3.html">7.8.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.8.2.html">7.8.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.8.1.html">7.8.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.8.html">7.8 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.7.1.html">7.7.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.7.html">7.7 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.6.1.html">7.6.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.6.html">7.6 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.5.2.html">7.5.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.5.1.html">7.5.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.5.html">7.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.4.4.html">7.4.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.4.3.html">7.4.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.4.2.html">7.4.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.4.1.html">7.4.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.4.html">7.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.3.html">7.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.2.html">7.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.1.html">7.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.0.4.html">7.0.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.0.3.html">7.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.0.2.html">7.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.0.1.html">7.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/7.0.html">7.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.5.3.html">6.5.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.5.2.html">6.5.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.5.1.html">6.5.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.5.html">6.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.4.2.html">6.4.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.4.1.html">6.4.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.4.html">6.4 release notes</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Versions of Mesa prior to 6.4 are summarized in the
|
||||
<a href="versions.html">versions file</a> and the following release notes.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a href="relnotes/6.3.2">6.3.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.3.1">6.3.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.3">6.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.2.1">6.2.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.2">6.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.1">6.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.0.1">6.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/6.0">6.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/5.1">5.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/5.0.2">5.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/5.0.1">5.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/5.0">5.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/4.1">4.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/4.0.3">4.0.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/4.0.2">4.0.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/4.0.1">4.0.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/4.0">4.0 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/3.5">3.5 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/3.4.2">3.4.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/3.4.1">3.4.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/3.4">3.4 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/3.3">3.3 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/3.2.1">3.2.1 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/3.2">3.2 release notes</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="relnotes/3.1">3.1 release notes</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,580 @@
|
|||
Release Notes
|
||||
=============
|
||||
|
||||
The release notes summarize what's new or changed in each Mesa release.
|
||||
|
||||
- `20.0.8 release notes <relnotes/20.0.8.html>`__
|
||||
- `20.1.1 release notes <relnotes/20.1.1.html>`__
|
||||
- `20.1.0 release notes <relnotes/20.1.0.html>`__
|
||||
- `20.0.7 release notes <relnotes/20.0.7.html>`__
|
||||
- `20.0.6 release notes <relnotes/20.0.6.html>`__
|
||||
- `20.0.5 release notes <relnotes/20.0.5.html>`__
|
||||
- `20.0.4 release notes <relnotes/20.0.4.html>`__
|
||||
- `20.0.3 release notes <relnotes/20.0.3.html>`__
|
||||
- `20.0.2 release notes <relnotes/20.0.2.html>`__
|
||||
- `19.3.5 release notes <relnotes/19.3.5.html>`__
|
||||
- `20.0.1 release notes <relnotes/20.0.1.html>`__
|
||||
- `20.0.0 release notes <relnotes/20.0.0.html>`__
|
||||
- `19.3.4 release notes <relnotes/19.3.4.html>`__
|
||||
- `19.3.3 release notes <relnotes/19.3.3.html>`__
|
||||
- `19.3.2 release notes <relnotes/19.3.2.html>`__
|
||||
- `19.2.8 release notes <relnotes/19.2.8.html>`__
|
||||
- `19.3.1 release notes <relnotes/19.3.1.html>`__
|
||||
- `19.3.0 release notes <relnotes/19.3.0.html>`__
|
||||
- `19.2.7 release notes <relnotes/19.2.7.html>`__
|
||||
- `19.2.6 release notes <relnotes/19.2.6.html>`__
|
||||
- `19.2.5 release notes <relnotes/19.2.5.html>`__
|
||||
- `19.2.4 release notes <relnotes/19.2.4.html>`__
|
||||
- `19.2.3 release notes <relnotes/19.2.3.html>`__
|
||||
- `19.2.2 release notes <relnotes/19.2.2.html>`__
|
||||
- `19.1.8 release notes <relnotes/19.1.8.html>`__
|
||||
- `19.2.1 release notes <relnotes/19.2.1.html>`__
|
||||
- `19.2.0 release notes <relnotes/19.2.0.html>`__
|
||||
- `19.1.7 release notes <relnotes/19.1.7.html>`__
|
||||
- `19.1.6 release notes <relnotes/19.1.6.html>`__
|
||||
- `19.1.5 release notes <relnotes/19.1.5.html>`__
|
||||
- `19.1.4 release notes <relnotes/19.1.4.html>`__
|
||||
- `19.1.3 release notes <relnotes/19.1.3.html>`__
|
||||
- `19.1.2 release notes <relnotes/19.1.2.html>`__
|
||||
- `19.0.8 release notes <relnotes/19.0.8.html>`__
|
||||
- `19.1.1 release notes <relnotes/19.1.1.html>`__
|
||||
- `19.0.7 release notes <relnotes/19.0.7.html>`__
|
||||
- `19.1.0 release notes <relnotes/19.1.0.html>`__
|
||||
- `19.0.6 release notes <relnotes/19.0.6.html>`__
|
||||
- `19.0.5 release notes <relnotes/19.0.5.html>`__
|
||||
- `19.0.4 release notes <relnotes/19.0.4.html>`__
|
||||
- `19.0.3 release notes <relnotes/19.0.3.html>`__
|
||||
- `19.0.2 release notes <relnotes/19.0.2.html>`__
|
||||
- `18.3.6 release notes <relnotes/18.3.6.html>`__
|
||||
- `19.0.1 release notes <relnotes/19.0.1.html>`__
|
||||
- `18.3.5 release notes <relnotes/18.3.5.html>`__
|
||||
- `19.0.0 release notes <relnotes/19.0.0.html>`__
|
||||
- `18.3.4 release notes <relnotes/18.3.4.html>`__
|
||||
- `18.3.3 release notes <relnotes/18.3.3.html>`__
|
||||
- `18.3.2 release notes <relnotes/18.3.2.html>`__
|
||||
- `18.2.8 release notes <relnotes/18.2.8.html>`__
|
||||
- `18.2.7 release notes <relnotes/18.2.7.html>`__
|
||||
- `18.3.1 release notes <relnotes/18.3.1.html>`__
|
||||
- `18.3.0 release notes <relnotes/18.3.0.html>`__
|
||||
- `18.2.6 release notes <relnotes/18.2.6.html>`__
|
||||
- `18.2.5 release notes <relnotes/18.2.5.html>`__
|
||||
- `18.2.4 release notes <relnotes/18.2.4.html>`__
|
||||
- `18.2.3 release notes <relnotes/18.2.3.html>`__
|
||||
- `18.2.2 release notes <relnotes/18.2.2.html>`__
|
||||
- `18.1.9 release notes <relnotes/18.1.9.html>`__
|
||||
- `18.2.1 release notes <relnotes/18.2.1.html>`__
|
||||
- `18.2.0 release notes <relnotes/18.2.0.html>`__
|
||||
- `18.1.8 release notes <relnotes/18.1.8.html>`__
|
||||
- `18.1.7 release notes <relnotes/18.1.7.html>`__
|
||||
- `18.1.6 release notes <relnotes/18.1.6.html>`__
|
||||
- `18.1.5 release notes <relnotes/18.1.5.html>`__
|
||||
- `18.1.4 release notes <relnotes/18.1.4.html>`__
|
||||
- `18.1.3 release notes <relnotes/18.1.3.html>`__
|
||||
- `18.1.2 release notes <relnotes/18.1.2.html>`__
|
||||
- `18.0.5 release notes <relnotes/18.0.5.html>`__
|
||||
- `18.1.1 release notes <relnotes/18.1.1.html>`__
|
||||
- `18.1.0 release notes <relnotes/18.1.0.html>`__
|
||||
- `18.0.4 release notes <relnotes/18.0.4.html>`__
|
||||
- `18.0.3 release notes <relnotes/18.0.3.html>`__
|
||||
- `18.0.2 release notes <relnotes/18.0.2.html>`__
|
||||
- `18.0.1 release notes <relnotes/18.0.1.html>`__
|
||||
- `17.3.9 release notes <relnotes/17.3.9.html>`__
|
||||
- `17.3.8 release notes <relnotes/17.3.8.html>`__
|
||||
- `18.0.0 release notes <relnotes/18.0.0.html>`__
|
||||
- `17.3.7 release notes <relnotes/17.3.7.html>`__
|
||||
- `17.3.6 release notes <relnotes/17.3.6.html>`__
|
||||
- `17.3.5 release notes <relnotes/17.3.5.html>`__
|
||||
- `17.3.4 release notes <relnotes/17.3.4.html>`__
|
||||
- `17.3.3 release notes <relnotes/17.3.3.html>`__
|
||||
- `17.3.2 release notes <relnotes/17.3.2.html>`__
|
||||
- `17.2.8 release notes <relnotes/17.2.8.html>`__
|
||||
- `17.3.1 release notes <relnotes/17.3.1.html>`__
|
||||
- `17.2.7 release notes <relnotes/17.2.7.html>`__
|
||||
- `17.3.0 release notes <relnotes/17.3.0.html>`__
|
||||
- `17.2.6 release notes <relnotes/17.2.6.html>`__
|
||||
- `17.2.5 release notes <relnotes/17.2.5.html>`__
|
||||
- `17.2.4 release notes <relnotes/17.2.4.html>`__
|
||||
- `17.2.3 release notes <relnotes/17.2.3.html>`__
|
||||
- `17.2.2 release notes <relnotes/17.2.2.html>`__
|
||||
- `17.1.10 release notes <relnotes/17.1.10.html>`__
|
||||
- `17.2.1 release notes <relnotes/17.2.1.html>`__
|
||||
- `17.1.9 release notes <relnotes/17.1.9.html>`__
|
||||
- `17.2.0 release notes <relnotes/17.2.0.html>`__
|
||||
- `17.1.8 release notes <relnotes/17.1.8.html>`__
|
||||
- `17.1.7 release notes <relnotes/17.1.7.html>`__
|
||||
- `17.1.6 release notes <relnotes/17.1.6.html>`__
|
||||
- `17.1.5 release notes <relnotes/17.1.5.html>`__
|
||||
- `17.1.4 release notes <relnotes/17.1.4.html>`__
|
||||
- `17.1.3 release notes <relnotes/17.1.3.html>`__
|
||||
- `17.1.2 release notes <relnotes/17.1.2.html>`__
|
||||
- `17.0.7 release notes <relnotes/17.0.7.html>`__
|
||||
- `17.1.1 release notes <relnotes/17.1.1.html>`__
|
||||
- `17.0.6 release notes <relnotes/17.0.6.html>`__
|
||||
- `17.1.0 release notes <relnotes/17.1.0.html>`__
|
||||
- `17.0.5 release notes <relnotes/17.0.5.html>`__
|
||||
- `17.0.4 release notes <relnotes/17.0.4.html>`__
|
||||
- `17.0.3 release notes <relnotes/17.0.3.html>`__
|
||||
- `17.0.2 release notes <relnotes/17.0.2.html>`__
|
||||
- `13.0.6 release notes <relnotes/13.0.6.html>`__
|
||||
- `17.0.1 release notes <relnotes/17.0.1.html>`__
|
||||
- `13.0.5 release notes <relnotes/13.0.5.html>`__
|
||||
- `17.0.0 release notes <relnotes/17.0.0.html>`__
|
||||
- `13.0.4 release notes <relnotes/13.0.4.html>`__
|
||||
- `12.0.6 release notes <relnotes/12.0.6.html>`__
|
||||
- `13.0.3 release notes <relnotes/13.0.3.html>`__
|
||||
- `12.0.5 release notes <relnotes/12.0.5.html>`__
|
||||
- `13.0.2 release notes <relnotes/13.0.2.html>`__
|
||||
- `13.0.1 release notes <relnotes/13.0.1.html>`__
|
||||
- `12.0.4 release notes <relnotes/12.0.4.html>`__
|
||||
- `13.0.0 release notes <relnotes/13.0.0.html>`__
|
||||
- `12.0.3 release notes <relnotes/12.0.3.html>`__
|
||||
- `12.0.2 release notes <relnotes/12.0.2.html>`__
|
||||
- `12.0.1 release notes <relnotes/12.0.1.html>`__
|
||||
- `12.0.0 release notes <relnotes/12.0.0.html>`__
|
||||
- `11.2.2 release notes <relnotes/11.2.2.html>`__
|
||||
- `11.1.4 release notes <relnotes/11.1.4.html>`__
|
||||
- `11.2.1 release notes <relnotes/11.2.1.html>`__
|
||||
- `11.1.3 release notes <relnotes/11.1.3.html>`__
|
||||
- `11.2.0 release notes <relnotes/11.2.0.html>`__
|
||||
- `11.1.2 release notes <relnotes/11.1.2.html>`__
|
||||
- `11.0.9 release notes <relnotes/11.0.9.html>`__
|
||||
- `11.1.1 release notes <relnotes/11.1.1.html>`__
|
||||
- `11.0.8 release notes <relnotes/11.0.8.html>`__
|
||||
- `11.1.0 release notes <relnotes/11.1.0.html>`__
|
||||
- `11.0.7 release notes <relnotes/11.0.7.html>`__
|
||||
- `11.0.6 release notes <relnotes/11.0.6.html>`__
|
||||
- `11.0.5 release notes <relnotes/11.0.5.html>`__
|
||||
- `11.0.4 release notes <relnotes/11.0.4.html>`__
|
||||
- `11.0.3 release notes <relnotes/11.0.3.html>`__
|
||||
- `10.6.9 release notes <relnotes/10.6.9.html>`__
|
||||
- `11.0.2 release notes <relnotes/11.0.2.html>`__
|
||||
- `11.0.1 release notes <relnotes/11.0.1.html>`__
|
||||
- `10.6.8 release notes <relnotes/10.6.8.html>`__
|
||||
- `11.0.0 release notes <relnotes/11.0.0.html>`__
|
||||
- `10.6.7 release notes <relnotes/10.6.7.html>`__
|
||||
- `10.6.6 release notes <relnotes/10.6.6.html>`__
|
||||
- `10.6.5 release notes <relnotes/10.6.5.html>`__
|
||||
- `10.6.4 release notes <relnotes/10.6.4.html>`__
|
||||
- `10.6.3 release notes <relnotes/10.6.3.html>`__
|
||||
- `10.6.2 release notes <relnotes/10.6.2.html>`__
|
||||
- `10.5.9 release notes <relnotes/10.5.9.html>`__
|
||||
- `10.6.1 release notes <relnotes/10.6.1.html>`__
|
||||
- `10.5.8 release notes <relnotes/10.5.8.html>`__
|
||||
- `10.6.0 release notes <relnotes/10.6.0.html>`__
|
||||
- `10.5.7 release notes <relnotes/10.5.7.html>`__
|
||||
- `10.5.6 release notes <relnotes/10.5.6.html>`__
|
||||
- `10.5.5 release notes <relnotes/10.5.5.html>`__
|
||||
- `10.5.4 release notes <relnotes/10.5.4.html>`__
|
||||
- `10.5.3 release notes <relnotes/10.5.3.html>`__
|
||||
- `10.5.2 release notes <relnotes/10.5.2.html>`__
|
||||
- `10.4.7 release notes <relnotes/10.4.7.html>`__
|
||||
- `10.5.1 release notes <relnotes/10.5.1.html>`__
|
||||
- `10.5.0 release notes <relnotes/10.5.0.html>`__
|
||||
- `10.4.6 release notes <relnotes/10.4.6.html>`__
|
||||
- `10.4.5 release notes <relnotes/10.4.5.html>`__
|
||||
- `10.4.4 release notes <relnotes/10.4.4.html>`__
|
||||
- `10.4.3 release notes <relnotes/10.4.3.html>`__
|
||||
- `10.4.2 release notes <relnotes/10.4.2.html>`__
|
||||
- `10.3.7 release notes <relnotes/10.3.7.html>`__
|
||||
- `10.4.1 release notes <relnotes/10.4.1.html>`__
|
||||
- `10.3.6 release notes <relnotes/10.3.6.html>`__
|
||||
- `10.4 release notes <relnotes/10.4.html>`__
|
||||
- `10.3.5 release notes <relnotes/10.3.5.html>`__
|
||||
- `10.3.4 release notes <relnotes/10.3.4.html>`__
|
||||
- `10.3.3 release notes <relnotes/10.3.3.html>`__
|
||||
- `10.3.2 release notes <relnotes/10.3.2.html>`__
|
||||
- `10.3.1 release notes <relnotes/10.3.1.html>`__
|
||||
- `10.2.9 release notes <relnotes/10.2.9.html>`__
|
||||
- `10.3 release notes <relnotes/10.3.html>`__
|
||||
- `10.2.8 release notes <relnotes/10.2.8.html>`__
|
||||
- `10.2.7 release notes <relnotes/10.2.7.html>`__
|
||||
- `10.2.6 release notes <relnotes/10.2.6.html>`__
|
||||
- `10.2.5 release notes <relnotes/10.2.5.html>`__
|
||||
- `10.2.4 release notes <relnotes/10.2.4.html>`__
|
||||
- `10.2.3 release notes <relnotes/10.2.3.html>`__
|
||||
- `10.2.2 release notes <relnotes/10.2.2.html>`__
|
||||
- `10.2.1 release notes <relnotes/10.2.1.html>`__
|
||||
- `10.2 release notes <relnotes/10.2.html>`__
|
||||
- `10.1.6 release notes <relnotes/10.1.6.html>`__
|
||||
- `10.1.5 release notes <relnotes/10.1.5.html>`__
|
||||
- `10.1.4 release notes <relnotes/10.1.4.html>`__
|
||||
- `10.1.3 release notes <relnotes/10.1.3.html>`__
|
||||
- `10.1.2 release notes <relnotes/10.1.2.html>`__
|
||||
- `10.1.1 release notes <relnotes/10.1.1.html>`__
|
||||
- `10.1 release notes <relnotes/10.1.html>`__
|
||||
- `10.0.5 release notes <relnotes/10.0.5.html>`__
|
||||
- `10.0.4 release notes <relnotes/10.0.4.html>`__
|
||||
- `10.0.3 release notes <relnotes/10.0.3.html>`__
|
||||
- `10.0.2 release notes <relnotes/10.0.2.html>`__
|
||||
- `10.0.1 release notes <relnotes/10.0.1.html>`__
|
||||
- `10.0 release notes <relnotes/10.0.html>`__
|
||||
- `9.2.5 release notes <relnotes/9.2.5.html>`__
|
||||
- `9.2.4 release notes <relnotes/9.2.4.html>`__
|
||||
- `9.2.3 release notes <relnotes/9.2.3.html>`__
|
||||
- `9.2.2 release notes <relnotes/9.2.2.html>`__
|
||||
- `9.2.1 release notes <relnotes/9.2.1.html>`__
|
||||
- `9.2 release notes <relnotes/9.2.html>`__
|
||||
- `9.1.7 release notes <relnotes/9.1.7.html>`__
|
||||
- `9.1.6 release notes <relnotes/9.1.6.html>`__
|
||||
- `9.1.5 release notes <relnotes/9.1.5.html>`__
|
||||
- `9.1.4 release notes <relnotes/9.1.4.html>`__
|
||||
- `9.1.3 release notes <relnotes/9.1.3.html>`__
|
||||
- `9.1.2 release notes <relnotes/9.1.2.html>`__
|
||||
- `9.1.1 release notes <relnotes/9.1.1.html>`__
|
||||
- `9.1 release notes <relnotes/9.1.html>`__
|
||||
- `9.0.3 release notes <relnotes/9.0.3.html>`__
|
||||
- `9.0.2 release notes <relnotes/9.0.2.html>`__
|
||||
- `9.0.1 release notes <relnotes/9.0.1.html>`__
|
||||
- `9.0 release notes <relnotes/9.0.html>`__
|
||||
- `8.0.5 release notes <relnotes/8.0.5.html>`__
|
||||
- `8.0.4 release notes <relnotes/8.0.4.html>`__
|
||||
- `8.0.3 release notes <relnotes/8.0.3.html>`__
|
||||
- `8.0.2 release notes <relnotes/8.0.2.html>`__
|
||||
- `8.0.1 release notes <relnotes/8.0.1.html>`__
|
||||
- `8.0 release notes <relnotes/8.0.html>`__
|
||||
- `7.11.2 release notes <relnotes/7.11.2.html>`__
|
||||
- `7.11.1 release notes <relnotes/7.11.1.html>`__
|
||||
- `7.11 release notes <relnotes/7.11.html>`__
|
||||
- `7.10.3 release notes <relnotes/7.10.3.html>`__
|
||||
- `7.10.2 release notes <relnotes/7.10.2.html>`__
|
||||
- `7.10.1 release notes <relnotes/7.10.1.html>`__
|
||||
- `7.10 release notes <relnotes/7.10.html>`__
|
||||
- `7.9.2 release notes <relnotes/7.9.2.html>`__
|
||||
- `7.9.1 release notes <relnotes/7.9.1.html>`__
|
||||
- `7.9 release notes <relnotes/7.9.html>`__
|
||||
- `7.8.3 release notes <relnotes/7.8.3.html>`__
|
||||
- `7.8.2 release notes <relnotes/7.8.2.html>`__
|
||||
- `7.8.1 release notes <relnotes/7.8.1.html>`__
|
||||
- `7.8 release notes <relnotes/7.8.html>`__
|
||||
- `7.7.1 release notes <relnotes/7.7.1.html>`__
|
||||
- `7.7 release notes <relnotes/7.7.html>`__
|
||||
- `7.6.1 release notes <relnotes/7.6.1.html>`__
|
||||
- `7.6 release notes <relnotes/7.6.html>`__
|
||||
- `7.5.2 release notes <relnotes/7.5.2.html>`__
|
||||
- `7.5.1 release notes <relnotes/7.5.1.html>`__
|
||||
- `7.5 release notes <relnotes/7.5.html>`__
|
||||
- `7.4.4 release notes <relnotes/7.4.4.html>`__
|
||||
- `7.4.3 release notes <relnotes/7.4.3.html>`__
|
||||
- `7.4.2 release notes <relnotes/7.4.2.html>`__
|
||||
- `7.4.1 release notes <relnotes/7.4.1.html>`__
|
||||
- `7.4 release notes <relnotes/7.4.html>`__
|
||||
- `7.3 release notes <relnotes/7.3.html>`__
|
||||
- `7.2 release notes <relnotes/7.2.html>`__
|
||||
- `7.1 release notes <relnotes/7.1.html>`__
|
||||
- `7.0.4 release notes <relnotes/7.0.4.html>`__
|
||||
- `7.0.3 release notes <relnotes/7.0.3.html>`__
|
||||
- `7.0.2 release notes <relnotes/7.0.2.html>`__
|
||||
- `7.0.1 release notes <relnotes/7.0.1.html>`__
|
||||
- `7.0 release notes <relnotes/7.0.html>`__
|
||||
- `6.5.3 release notes <relnotes/6.5.3.html>`__
|
||||
- `6.5.2 release notes <relnotes/6.5.2.html>`__
|
||||
- `6.5.1 release notes <relnotes/6.5.1.html>`__
|
||||
- `6.5 release notes <relnotes/6.5.html>`__
|
||||
- `6.4.2 release notes <relnotes/6.4.2.html>`__
|
||||
- `6.4.1 release notes <relnotes/6.4.1.html>`__
|
||||
- `6.4 release notes <relnotes/6.4.html>`__
|
||||
|
||||
Versions of Mesa prior to 6.4 are summarized in the `versions
|
||||
file <versions.html>`__ and the following release notes.
|
||||
|
||||
- `6.3.2 release notes <relnotes/6.3.2>`__
|
||||
- `6.3.1 release notes <relnotes/6.3.1>`__
|
||||
- `6.3 release notes <relnotes/6.3>`__
|
||||
- `6.2.1 release notes <relnotes/6.2.1>`__
|
||||
- `6.2 release notes <relnotes/6.2>`__
|
||||
- `6.1 release notes <relnotes/6.1>`__
|
||||
- `6.0.1 release notes <relnotes/6.0.1>`__
|
||||
- `6.0 release notes <relnotes/6.0>`__
|
||||
- `5.1 release notes <relnotes/5.1>`__
|
||||
- `5.0.2 release notes <relnotes/5.0.2>`__
|
||||
- `5.0.1 release notes <relnotes/5.0.1>`__
|
||||
- `5.0 release notes <relnotes/5.0>`__
|
||||
- `4.1 release notes <relnotes/4.1>`__
|
||||
- `4.0.3 release notes <relnotes/4.0.3>`__
|
||||
- `4.0.2 release notes <relnotes/4.0.2>`__
|
||||
- `4.0.1 release notes <relnotes/4.0.1>`__
|
||||
- `4.0 release notes <relnotes/4.0>`__
|
||||
- `3.5 release notes <relnotes/3.5>`__
|
||||
- `3.4.2 release notes <relnotes/3.4.2>`__
|
||||
- `3.4.1 release notes <relnotes/3.4.1>`__
|
||||
- `3.4 release notes <relnotes/3.4>`__
|
||||
- `3.3 release notes <relnotes/3.3>`__
|
||||
- `3.2.1 release notes <relnotes/3.2.1>`__
|
||||
- `3.2 release notes <relnotes/3.2>`__
|
||||
- `3.1 release notes <relnotes/3.1>`__
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:hidden:
|
||||
|
||||
relnotes/20.0.8
|
||||
relnotes/20.1.1
|
||||
relnotes/20.1.0
|
||||
relnotes/20.0.7
|
||||
relnotes/20.0.6
|
||||
relnotes/20.0.5
|
||||
relnotes/20.0.4
|
||||
relnotes/20.0.3
|
||||
relnotes/20.0.2
|
||||
relnotes/19.3.5
|
||||
relnotes/20.0.1
|
||||
relnotes/20.0.0
|
||||
relnotes/19.3.4
|
||||
relnotes/19.3.3
|
||||
relnotes/19.3.2
|
||||
relnotes/19.2.8
|
||||
relnotes/19.3.1
|
||||
relnotes/19.3.0
|
||||
relnotes/19.2.7
|
||||
relnotes/19.2.6
|
||||
relnotes/19.2.5
|
||||
relnotes/19.2.4
|
||||
relnotes/19.2.3
|
||||
relnotes/19.2.2
|
||||
relnotes/19.1.8
|
||||
relnotes/19.2.1
|
||||
relnotes/19.2.0
|
||||
relnotes/19.1.7
|
||||
relnotes/19.1.6
|
||||
relnotes/19.1.5
|
||||
relnotes/19.1.4
|
||||
relnotes/19.1.3
|
||||
relnotes/19.1.2
|
||||
relnotes/19.0.8
|
||||
relnotes/19.1.1
|
||||
relnotes/19.0.7
|
||||
relnotes/19.1.0
|
||||
relnotes/19.0.6
|
||||
relnotes/19.0.5
|
||||
relnotes/19.0.4
|
||||
relnotes/19.0.3
|
||||
relnotes/19.0.2
|
||||
relnotes/18.3.6
|
||||
relnotes/19.0.1
|
||||
relnotes/18.3.5
|
||||
relnotes/19.0.0
|
||||
relnotes/18.3.4
|
||||
relnotes/18.3.3
|
||||
relnotes/18.3.2
|
||||
relnotes/18.2.8
|
||||
relnotes/18.2.7
|
||||
relnotes/18.3.1
|
||||
relnotes/18.3.0
|
||||
relnotes/18.2.6
|
||||
relnotes/18.2.5
|
||||
relnotes/18.2.4
|
||||
relnotes/18.2.3
|
||||
relnotes/18.2.2
|
||||
relnotes/18.1.9
|
||||
relnotes/18.2.1
|
||||
relnotes/18.2.0
|
||||
relnotes/18.1.8
|
||||
relnotes/18.1.7
|
||||
relnotes/18.1.6
|
||||
relnotes/18.1.5
|
||||
relnotes/18.1.4
|
||||
relnotes/18.1.3
|
||||
relnotes/18.1.2
|
||||
relnotes/18.0.5
|
||||
relnotes/18.1.1
|
||||
relnotes/18.1.0
|
||||
relnotes/18.0.4
|
||||
relnotes/18.0.3
|
||||
relnotes/18.0.2
|
||||
relnotes/18.0.1
|
||||
relnotes/17.3.9
|
||||
relnotes/17.3.8
|
||||
relnotes/18.0.0
|
||||
relnotes/17.3.7
|
||||
relnotes/17.3.6
|
||||
relnotes/17.3.5
|
||||
relnotes/17.3.4
|
||||
relnotes/17.3.3
|
||||
relnotes/17.3.2
|
||||
relnotes/17.2.8
|
||||
relnotes/17.3.1
|
||||
relnotes/17.2.7
|
||||
relnotes/17.3.0
|
||||
relnotes/17.2.6
|
||||
relnotes/17.2.5
|
||||
relnotes/17.2.4
|
||||
relnotes/17.2.3
|
||||
relnotes/17.2.2
|
||||
relnotes/17.1.10
|
||||
relnotes/17.2.1
|
||||
relnotes/17.1.9
|
||||
relnotes/17.2.0
|
||||
relnotes/17.1.8
|
||||
relnotes/17.1.7
|
||||
relnotes/17.1.6
|
||||
relnotes/17.1.5
|
||||
relnotes/17.1.4
|
||||
relnotes/17.1.3
|
||||
relnotes/17.1.2
|
||||
relnotes/17.0.7
|
||||
relnotes/17.1.1
|
||||
relnotes/17.0.6
|
||||
relnotes/17.1.0
|
||||
relnotes/17.0.5
|
||||
relnotes/17.0.4
|
||||
relnotes/17.0.3
|
||||
relnotes/17.0.2
|
||||
relnotes/13.0.6
|
||||
relnotes/17.0.1
|
||||
relnotes/13.0.5
|
||||
relnotes/17.0.0
|
||||
relnotes/13.0.4
|
||||
relnotes/12.0.6
|
||||
relnotes/13.0.3
|
||||
relnotes/12.0.5
|
||||
relnotes/13.0.2
|
||||
relnotes/13.0.1
|
||||
relnotes/12.0.4
|
||||
relnotes/13.0.0
|
||||
relnotes/12.0.3
|
||||
relnotes/12.0.2
|
||||
relnotes/12.0.1
|
||||
relnotes/12.0.0
|
||||
relnotes/11.2.2
|
||||
relnotes/11.1.4
|
||||
relnotes/11.2.1
|
||||
relnotes/11.1.3
|
||||
relnotes/11.2.0
|
||||
relnotes/11.1.2
|
||||
relnotes/11.0.9
|
||||
relnotes/11.1.1
|
||||
relnotes/11.0.8
|
||||
relnotes/11.1.0
|
||||
relnotes/11.0.7
|
||||
relnotes/11.0.6
|
||||
relnotes/11.0.5
|
||||
relnotes/11.0.4
|
||||
relnotes/11.0.3
|
||||
relnotes/10.6.9
|
||||
relnotes/11.0.2
|
||||
relnotes/11.0.1
|
||||
relnotes/10.6.8
|
||||
relnotes/11.0.0
|
||||
relnotes/10.6.7
|
||||
relnotes/10.6.6
|
||||
relnotes/10.6.5
|
||||
relnotes/10.6.4
|
||||
relnotes/10.6.3
|
||||
relnotes/10.6.2
|
||||
relnotes/10.5.9
|
||||
relnotes/10.6.1
|
||||
relnotes/10.5.8
|
||||
relnotes/10.6.0
|
||||
relnotes/10.5.7
|
||||
relnotes/10.5.6
|
||||
relnotes/10.5.5
|
||||
relnotes/10.5.4
|
||||
relnotes/10.5.3
|
||||
relnotes/10.5.2
|
||||
relnotes/10.4.7
|
||||
relnotes/10.5.1
|
||||
relnotes/10.5.0
|
||||
relnotes/10.4.6
|
||||
relnotes/10.4.5
|
||||
relnotes/10.4.4
|
||||
relnotes/10.4.3
|
||||
relnotes/10.4.2
|
||||
relnotes/10.3.7
|
||||
relnotes/10.4.1
|
||||
relnotes/10.3.6
|
||||
relnotes/10.4
|
||||
relnotes/10.3.5
|
||||
relnotes/10.3.4
|
||||
relnotes/10.3.3
|
||||
relnotes/10.3.2
|
||||
relnotes/10.3.1
|
||||
relnotes/10.2.9
|
||||
relnotes/10.3
|
||||
relnotes/10.2.8
|
||||
relnotes/10.2.7
|
||||
relnotes/10.2.6
|
||||
relnotes/10.2.5
|
||||
relnotes/10.2.4
|
||||
relnotes/10.2.3
|
||||
relnotes/10.2.2
|
||||
relnotes/10.2.1
|
||||
relnotes/10.2
|
||||
relnotes/10.1.6
|
||||
relnotes/10.1.5
|
||||
relnotes/10.1.4
|
||||
relnotes/10.1.3
|
||||
relnotes/10.1.2
|
||||
relnotes/10.1.1
|
||||
relnotes/10.1
|
||||
relnotes/10.0.5
|
||||
relnotes/10.0.4
|
||||
relnotes/10.0.3
|
||||
relnotes/10.0.2
|
||||
relnotes/10.0.1
|
||||
relnotes/10.0
|
||||
relnotes/9.2.5
|
||||
relnotes/9.2.4
|
||||
relnotes/9.2.3
|
||||
relnotes/9.2.2
|
||||
relnotes/9.2.1
|
||||
relnotes/9.2
|
||||
relnotes/9.1.7
|
||||
relnotes/9.1.6
|
||||
relnotes/9.1.5
|
||||
relnotes/9.1.4
|
||||
relnotes/9.1.3
|
||||
relnotes/9.1.2
|
||||
relnotes/9.1.1
|
||||
relnotes/9.1
|
||||
relnotes/9.0.3
|
||||
relnotes/9.0.2
|
||||
relnotes/9.0.1
|
||||
relnotes/9.0
|
||||
relnotes/8.0.5
|
||||
relnotes/8.0.4
|
||||
relnotes/8.0.3
|
||||
relnotes/8.0.2
|
||||
relnotes/8.0.1
|
||||
relnotes/8.0
|
||||
relnotes/7.11.2
|
||||
relnotes/7.11.1
|
||||
relnotes/7.11
|
||||
relnotes/7.10.3
|
||||
relnotes/7.10.2
|
||||
relnotes/7.10.1
|
||||
relnotes/7.10
|
||||
relnotes/7.9.2
|
||||
relnotes/7.9.1
|
||||
relnotes/7.9
|
||||
relnotes/7.8.3
|
||||
relnotes/7.8.2
|
||||
relnotes/7.8.1
|
||||
relnotes/7.8
|
||||
relnotes/7.7.1
|
||||
relnotes/7.7
|
||||
relnotes/7.6.1
|
||||
relnotes/7.6
|
||||
relnotes/7.5.2
|
||||
relnotes/7.5.1
|
||||
relnotes/7.5
|
||||
relnotes/7.4.4
|
||||
relnotes/7.4.3
|
||||
relnotes/7.4.2
|
||||
relnotes/7.4.1
|
||||
relnotes/7.4
|
||||
relnotes/7.3
|
||||
relnotes/7.2
|
||||
relnotes/7.1
|
||||
relnotes/7.0.4
|
||||
relnotes/7.0.3
|
||||
relnotes/7.0.2
|
||||
relnotes/7.0.1
|
||||
relnotes/7.0
|
||||
relnotes/6.5.3
|
||||
relnotes/6.5.2
|
||||
relnotes/6.5.1
|
||||
relnotes/6.5
|
||||
relnotes/6.4.2
|
||||
relnotes/6.4.1
|
||||
relnotes/6.4
|
||||
Older Versions <versions>
|
|
@ -1,150 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.0.1 Release Notes / (December 12, 2013)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.0.1 is a bug fix release which fixes bugs found since the 10.0 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.0.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
0a72ca5b36046a658bf6038326ff32ed MesaLib-10.0.1.tar.bz2
|
||||
01bde35c912e504ba62caf1ef9f7022c MesaLib-10.0.1.tar.gz
|
||||
59a174a11a89e6b1b8ee9c3f7e3c388c MesaLib-10.0.1.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64323">Bug 64323</a> - Severe misrendering in Left 4 Dead 2</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68838">Bug 68838</a> - GLSL: struct declarations produce a "empty declaration warning" in 9.2</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69155">Bug 69155</a> - [NV50 gallium] [piglit] bin/varying-packing-simple triggers memory corruption/failures</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70250">Bug 70250</a> - weston-terminal rendering corrupted with output transform 90 and 270</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70601">Bug 70601</a> - [SNB Bisected]Piglit spec/ARB_texture_float/multisample-formats 2 GL_ARB_texture_float fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72230">Bug 72230</a> - Unable to extract MesaLib-10.0.0.tar.{gz,bz2} with bsdtar</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72325">Bug 72325</a> - [swrast] piglit glean fbo regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72327">Bug 72327</a> - [swrast] piglit glean pointSprite regression</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>The full set of changes can be viewed by using the following git command:</p>
|
||||
|
||||
<pre>
|
||||
git log mesa-10.0..mesa-10.0.1
|
||||
</pre>
|
||||
|
||||
<p>Axel Davy (2):</p>
|
||||
<ul>
|
||||
<li>egl/wayland: Flush the wl_display at the end of SwapBuffers</li>
|
||||
<li>Enable throttling in SwapBuffers</li>
|
||||
</ul>
|
||||
|
||||
<p>Chad Versace (2):</p>
|
||||
<ul>
|
||||
<li>i965/hsw: Apply non-msrt fast color clear w/a to all HSW GTs</li>
|
||||
<li>i965: Add extra-alignment for non-msrt fast color clear for all hw (v2)</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (1):</p>
|
||||
<ul>
|
||||
<li>swrast: fix readback regression since inversion fix</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (1):</p>
|
||||
<ul>
|
||||
<li>automake: include only one copy VERSION in tarball</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add 10.0 release md5sums</li>
|
||||
<li>Remove a057b83 from the pick list</li>
|
||||
<li>glsl: Don't emit empty declaration warning for a struct specifier</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (8):</p>
|
||||
<ul>
|
||||
<li>mesa: don't leak performance monitors on context destroy</li>
|
||||
<li>nv50: Fix GPU_READING/WRITING bit removal</li>
|
||||
<li>nouveau: avoid leaking fences while waiting</li>
|
||||
<li>nv50: wait on the buf's fence before sticking it into pushbuf</li>
|
||||
<li>nv50: enable h264 and mpeg4 for nv98+ (vp3, vp4.0)</li>
|
||||
<li>nouveau/video: update h264 picparm field names based on usage</li>
|
||||
<li>nouveau/video: update a few more h264 picparm field names</li>
|
||||
<li>nv50: report 15 max inputs for fragment programs</li>
|
||||
</ul>
|
||||
|
||||
<p>Jordan Justen (1):</p>
|
||||
<ul>
|
||||
<li>dri megadriver_stub: add compatibility for older DRI loaders</li>
|
||||
</ul>
|
||||
|
||||
<p>Kristian Høgsberg (2):</p>
|
||||
<ul>
|
||||
<li>egl/wayland: Damage INT32_MAX x INT32_MAX region for eglSwapBuffers</li>
|
||||
<li>egl/wayland: Send commit after flushing the driver context</li>
|
||||
</ul>
|
||||
|
||||
<p>Maarten Lankhorst (1):</p>
|
||||
<ul>
|
||||
<li>nouveau: Fix compiler warning regression</li>
|
||||
</ul>
|
||||
|
||||
<p>Paul Berry (1):</p>
|
||||
<ul>
|
||||
<li>i965/gen6: Fix multisample resolve blits for luminance/intensity 32F formats.</li>
|
||||
</ul>
|
||||
|
||||
<p>Thomas Hellstrom (1):</p>
|
||||
<ul>
|
||||
<li>st/xa: Bump major version number to 2</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (2):</p>
|
||||
<ul>
|
||||
<li>r300/compiler/tests: Fix segfault</li>
|
||||
<li>r300/compiler/tests: Fix line length check in test parser</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,124 @@
|
|||
Mesa 10.0.1 Release Notes / (December 12, 2013)
|
||||
===============================================
|
||||
|
||||
Mesa 10.0.1 is a bug fix release which fixes bugs found since the 10.0
|
||||
release.
|
||||
|
||||
Mesa 10.0.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
0a72ca5b36046a658bf6038326ff32ed MesaLib-10.0.1.tar.bz2
|
||||
01bde35c912e504ba62caf1ef9f7022c MesaLib-10.0.1.tar.gz
|
||||
59a174a11a89e6b1b8ee9c3f7e3c388c MesaLib-10.0.1.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 64323 <https://bugs.freedesktop.org/show_bug.cgi?id=64323>`__ -
|
||||
Severe misrendering in Left 4 Dead 2
|
||||
- `Bug 68838 <https://bugs.freedesktop.org/show_bug.cgi?id=68838>`__ -
|
||||
GLSL: struct declarations produce a "empty declaration warning" in
|
||||
9.2
|
||||
- `Bug 69155 <https://bugs.freedesktop.org/show_bug.cgi?id=69155>`__ -
|
||||
[NV50 gallium] [piglit] bin/varying-packing-simple triggers memory
|
||||
corruption/failures
|
||||
- `Bug 70250 <https://bugs.freedesktop.org/show_bug.cgi?id=70250>`__ -
|
||||
weston-terminal rendering corrupted with output transform 90 and 270
|
||||
- `Bug 70601 <https://bugs.freedesktop.org/show_bug.cgi?id=70601>`__ -
|
||||
[SNB Bisected]Piglit spec/ARB_texture_float/multisample-formats 2
|
||||
GL_ARB_texture_float fails
|
||||
- `Bug 72230 <https://bugs.freedesktop.org/show_bug.cgi?id=72230>`__ -
|
||||
Unable to extract MesaLib-10.0.0.tar.{gz,bz2} with bsdtar
|
||||
- `Bug 72325 <https://bugs.freedesktop.org/show_bug.cgi?id=72325>`__ -
|
||||
[swrast] piglit glean fbo regression
|
||||
- `Bug 72327 <https://bugs.freedesktop.org/show_bug.cgi?id=72327>`__ -
|
||||
[swrast] piglit glean pointSprite regression
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
The full set of changes can be viewed by using the following git
|
||||
command:
|
||||
|
||||
::
|
||||
|
||||
git log mesa-10.0..mesa-10.0.1
|
||||
|
||||
Axel Davy (2):
|
||||
|
||||
- egl/wayland: Flush the wl_display at the end of SwapBuffers
|
||||
- Enable throttling in SwapBuffers
|
||||
|
||||
Chad Versace (2):
|
||||
|
||||
- i965/hsw: Apply non-msrt fast color clear w/a to all HSW GTs
|
||||
- i965: Add extra-alignment for non-msrt fast color clear for all hw
|
||||
(v2)
|
||||
|
||||
Dave Airlie (1):
|
||||
|
||||
- swrast: fix readback regression since inversion fix
|
||||
|
||||
Emil Velikov (1):
|
||||
|
||||
- automake: include only one copy VERSION in tarball
|
||||
|
||||
Ian Romanick (3):
|
||||
|
||||
- docs: Add 10.0 release md5sums
|
||||
- Remove a057b83 from the pick list
|
||||
- glsl: Don't emit empty declaration warning for a struct specifier
|
||||
|
||||
Ilia Mirkin (8):
|
||||
|
||||
- mesa: don't leak performance monitors on context destroy
|
||||
- nv50: Fix GPU_READING/WRITING bit removal
|
||||
- nouveau: avoid leaking fences while waiting
|
||||
- nv50: wait on the buf's fence before sticking it into pushbuf
|
||||
- nv50: enable h264 and mpeg4 for nv98+ (vp3, vp4.0)
|
||||
- nouveau/video: update h264 picparm field names based on usage
|
||||
- nouveau/video: update a few more h264 picparm field names
|
||||
- nv50: report 15 max inputs for fragment programs
|
||||
|
||||
Jordan Justen (1):
|
||||
|
||||
- dri megadriver_stub: add compatibility for older DRI loaders
|
||||
|
||||
Kristian Høgsberg (2):
|
||||
|
||||
- egl/wayland: Damage INT32_MAX x INT32_MAX region for eglSwapBuffers
|
||||
- egl/wayland: Send commit after flushing the driver context
|
||||
|
||||
Maarten Lankhorst (1):
|
||||
|
||||
- nouveau: Fix compiler warning regression
|
||||
|
||||
Paul Berry (1):
|
||||
|
||||
- i965/gen6: Fix multisample resolve blits for luminance/intensity 32F
|
||||
formats.
|
||||
|
||||
Thomas Hellstrom (1):
|
||||
|
||||
- st/xa: Bump major version number to 2
|
||||
|
||||
Tom Stellard (2):
|
||||
|
||||
- r300/compiler/tests: Fix segfault
|
||||
- r300/compiler/tests: Fix line length check in test parser
|
|
@ -1,161 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.0.2 Release Notes / (January 9, 2014)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.0.2 is a bug fix release which fixes bugs found since the 10.0.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.0.2 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
de7d14baf0101b697c140d2f47ef27e9 MesaLib-10.0.2.tar.gz
|
||||
8544c0ab3e438a08b5103421ea15b6d2 MesaLib-10.0.2.tar.bz2
|
||||
181b0d6c1afca38e98a930d0e564ed90 MesaLib-10.0.2.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70740">Bug 70740</a> - HiZ on SNB causes GPU hang with WebGL web app</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72026">Bug 72026</a> - SIGSEGV in fs_visitor::visit(ir_dereference_variable*)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72264">Bug 72264</a> - GLSL error reporting</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72369">Bug 72369</a> - glitches in serious sam 3 with the sb shader backend</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>The full set of changes can be viewed by using the following git command:</p>
|
||||
|
||||
<pre>
|
||||
git log mesa-10.0.1..mesa-10.0.2
|
||||
</pre>
|
||||
|
||||
<p>Aaron Watry (8):</p>
|
||||
<ul>
|
||||
<li>clover: Remove unused variable</li>
|
||||
<li>pipe_loader/sw: close dev->lib when initialization fails</li>
|
||||
<li>radeon/compute: Stop leaking LLVMContexts in radeon_llvm_parse_bitcode</li>
|
||||
<li>r600/compute: Free compiled kernels when deleting compute state</li>
|
||||
<li>r600/compute: Use the correct FREE macro when deleting compute state</li>
|
||||
<li>radeon/llvm: Free target data at end of optimization</li>
|
||||
<li>st/vdpau: Destroy context when initialization fails</li>
|
||||
<li>r600/pipe: Stop leaking context->start_compute_cs_cmd.buf on EG/CM</li>
|
||||
</ul>
|
||||
|
||||
<p>Alex Deucher (1):</p>
|
||||
<ul>
|
||||
<li>r600g: fix SUMO2 pci id</li>
|
||||
</ul>
|
||||
|
||||
<p>Alexander von Gluck IV (1):</p>
|
||||
<ul>
|
||||
<li>Haiku: Add in public GL kit headers</li>
|
||||
</ul>
|
||||
|
||||
<p>Anuj Phogat (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix error code generation in glBeginConditionalRender()</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (2):</p>
|
||||
<ul>
|
||||
<li>docs: Add md5sums for the 10.0.1 release.</li>
|
||||
<li>Update version to 10.0.2</li>
|
||||
</ul>
|
||||
|
||||
<p>Chad Versace (1):</p>
|
||||
<ul>
|
||||
<li>i965/gen6: Fix HiZ hang in WebGL Google Maps</li>
|
||||
</ul>
|
||||
|
||||
<p>Erik Faye-Lund (1):</p>
|
||||
<ul>
|
||||
<li>glcpp: error on multiple #else/#elif directives</li>
|
||||
</ul>
|
||||
|
||||
<p>Henri Verbeet (1):</p>
|
||||
<ul>
|
||||
<li>i915: Add support for gl_FragData[0] reads.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (1):</p>
|
||||
<ul>
|
||||
<li>nv50: fix a small leak on context destroy</li>
|
||||
</ul>
|
||||
|
||||
<p>Jonathan Liu (2):</p>
|
||||
<ul>
|
||||
<li>st/mesa: use pipe_sampler_view_release()</li>
|
||||
<li>llvmpipe: use pipe_sampler_view_release() to avoid segfault</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>i965: Fix 3DSTATE_PUSH_CONSTANT_ALLOC_PS packet creation.</li>
|
||||
<li>Revert "mesa: Remove GLXContextID typedef from glx.h."</li>
|
||||
</ul>
|
||||
|
||||
<p>Kevin Rogovin (1):</p>
|
||||
<ul>
|
||||
<li>Use line number information from entire function expression</li>
|
||||
</ul>
|
||||
|
||||
<p>Kristian Høgsberg (1):</p>
|
||||
<ul>
|
||||
<li>dri_util: Don't assume __DRIcontext->driverPrivate is a gl_context</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (2):</p>
|
||||
<ul>
|
||||
<li>mesa: fix interpretation of glClearBuffer(drawbuffer)</li>
|
||||
<li>st/mesa: fix glClear with multiple colorbuffers and different formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Paul Berry (2):</p>
|
||||
<ul>
|
||||
<li>glsl: Teach ir_variable_refcount about ir_loop::counter variables.</li>
|
||||
<li>glsl: Fix inconsistent assumptions about ir_loop::counter.</li>
|
||||
</ul>
|
||||
|
||||
<p>Vadim Girlin (1):</p>
|
||||
<ul>
|
||||
<li>r600g/sb: fix stack size computation on evergreen</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,127 @@
|
|||
Mesa 10.0.2 Release Notes / (January 9, 2014)
|
||||
=============================================
|
||||
|
||||
Mesa 10.0.2 is a bug fix release which fixes bugs found since the 10.0.1
|
||||
release.
|
||||
|
||||
Mesa 10.0.2 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
de7d14baf0101b697c140d2f47ef27e9 MesaLib-10.0.2.tar.gz
|
||||
8544c0ab3e438a08b5103421ea15b6d2 MesaLib-10.0.2.tar.bz2
|
||||
181b0d6c1afca38e98a930d0e564ed90 MesaLib-10.0.2.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 70740 <https://bugs.freedesktop.org/show_bug.cgi?id=70740>`__ -
|
||||
HiZ on SNB causes GPU hang with WebGL web app
|
||||
- `Bug 72026 <https://bugs.freedesktop.org/show_bug.cgi?id=72026>`__ -
|
||||
SIGSEGV in fs_visitor::visit(ir_dereference_variable*)
|
||||
- `Bug 72264 <https://bugs.freedesktop.org/show_bug.cgi?id=72264>`__ -
|
||||
GLSL error reporting
|
||||
- `Bug 72369 <https://bugs.freedesktop.org/show_bug.cgi?id=72369>`__ -
|
||||
glitches in serious sam 3 with the sb shader backend
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
The full set of changes can be viewed by using the following git
|
||||
command:
|
||||
|
||||
::
|
||||
|
||||
git log mesa-10.0.1..mesa-10.0.2
|
||||
|
||||
Aaron Watry (8):
|
||||
|
||||
- clover: Remove unused variable
|
||||
- pipe_loader/sw: close dev->lib when initialization fails
|
||||
- radeon/compute: Stop leaking LLVMContexts in
|
||||
radeon_llvm_parse_bitcode
|
||||
- r600/compute: Free compiled kernels when deleting compute state
|
||||
- r600/compute: Use the correct FREE macro when deleting compute state
|
||||
- radeon/llvm: Free target data at end of optimization
|
||||
- st/vdpau: Destroy context when initialization fails
|
||||
- r600/pipe: Stop leaking context->start_compute_cs_cmd.buf on EG/CM
|
||||
|
||||
Alex Deucher (1):
|
||||
|
||||
- r600g: fix SUMO2 pci id
|
||||
|
||||
Alexander von Gluck IV (1):
|
||||
|
||||
- Haiku: Add in public GL kit headers
|
||||
|
||||
Anuj Phogat (1):
|
||||
|
||||
- mesa: Fix error code generation in glBeginConditionalRender()
|
||||
|
||||
Carl Worth (2):
|
||||
|
||||
- docs: Add md5sums for the 10.0.1 release.
|
||||
- Update version to 10.0.2
|
||||
|
||||
Chad Versace (1):
|
||||
|
||||
- i965/gen6: Fix HiZ hang in WebGL Google Maps
|
||||
|
||||
Erik Faye-Lund (1):
|
||||
|
||||
- glcpp: error on multiple #else/#elif directives
|
||||
|
||||
Henri Verbeet (1):
|
||||
|
||||
- i915: Add support for gl_FragData[0] reads.
|
||||
|
||||
Ilia Mirkin (1):
|
||||
|
||||
- nv50: fix a small leak on context destroy
|
||||
|
||||
Jonathan Liu (2):
|
||||
|
||||
- st/mesa: use pipe_sampler_view_release()
|
||||
- llvmpipe: use pipe_sampler_view_release() to avoid segfault
|
||||
|
||||
Kenneth Graunke (2):
|
||||
|
||||
- i965: Fix 3DSTATE_PUSH_CONSTANT_ALLOC_PS packet creation.
|
||||
- Revert "mesa: Remove GLXContextID typedef from glx.h."
|
||||
|
||||
Kevin Rogovin (1):
|
||||
|
||||
- Use line number information from entire function expression
|
||||
|
||||
Kristian Høgsberg (1):
|
||||
|
||||
- dri_util: Don't assume \__DRIcontext->driverPrivate is a gl_context
|
||||
|
||||
Marek Olšák (2):
|
||||
|
||||
- mesa: fix interpretation of glClearBuffer(drawbuffer)
|
||||
- st/mesa: fix glClear with multiple colorbuffers and different formats
|
||||
|
||||
Paul Berry (2):
|
||||
|
||||
- glsl: Teach ir_variable_refcount about ir_loop::counter variables.
|
||||
- glsl: Fix inconsistent assumptions about ir_loop::counter.
|
||||
|
||||
Vadim Girlin (1):
|
||||
|
||||
- r600g/sb: fix stack size computation on evergreen
|
|
@ -1,206 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.0.3 Release Notes / (February 3, 2014)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.0.3 is a bug fix release which fixes bugs found since the 10.0.2 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.0.3 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
5f9f463ef08129f6762106b434910adb MesaLib-10.0.3.tar.bz2
|
||||
fb3997b6500e153bc32370cb3fc4ca9e MesaLib-10.0.3.tar.gz
|
||||
a07b4b6b9eb449b88a6cb5061e51c331 MesaLib-10.0.3.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72708">Bug 72708</a> - Master fails to build with older gcc due to -msse4.1</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72926">Bug 72926</a> - [REGRESSION,swrast] Memory-related crash with anti-aliasing enabled</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73096">Bug 73096</a> - Query GL_RGBA_SIGNED_COMPONENTS_EXT missing</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73100">Bug 73100</a> - Please use AC_PATH_TOOL instead of AC_PATH_PROG for llvm-config</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73418">Bug 73418</a> - OpenCL hangs graphics on CAYMAN</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73473">Bug 73473</a> - Potential crash bug in src/gallium/auxiliary/rtasm/rtasm_execmem.c</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73915">Bug 73915</a> - sample shading + centroid broken since f5cfb4a</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73956">Bug 73956</a> - SIGSEGV when passing GL_NONE to glReadBuffer</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74026">Bug 74026</a> - Compiler rejects chained assignments involving array dereferences</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>The full set of changes can be viewed by using the following git command:</p>
|
||||
|
||||
<pre>
|
||||
git log mesa-10.0.2..mesa-10.0.3
|
||||
</pre>
|
||||
|
||||
<p>Aaron Watry (2):</p>
|
||||
<ul>
|
||||
<li>radeon: Move gfx/dma cs cleanup to r600_common_context_cleanup</li>
|
||||
<li>st/dri: prevent leak of dri option default values</li>
|
||||
</ul>
|
||||
|
||||
<p>Andreas Fänger (1):</p>
|
||||
<ul>
|
||||
<li>swrast: fix delayed texel buffer allocation regression for OpenMP</li>
|
||||
</ul>
|
||||
|
||||
<p>Anuj Phogat (3):</p>
|
||||
<ul>
|
||||
<li>glsl: Disable ARB_texture_rectangle in shader version 100.</li>
|
||||
<li>i965: Use sample barycentric coordinates with per sample shading</li>
|
||||
<li>i965: Ignore 'centroid' interpolation qualifier in case of persample shading</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (3):</p>
|
||||
<ul>
|
||||
<li>mesa: implement missing glGet(GL_RGBA_SIGNED_COMPONENTS_EXT) query</li>
|
||||
<li>st/mesa: fix glReadBuffer(GL_NONE) segfault</li>
|
||||
<li>draw: fix incorrect vertex size computation in LLVM drawing code</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (5):</p>
|
||||
<ul>
|
||||
<li>Add md5sums for 10.0.2. release.</li>
|
||||
<li>cherry-ignore: Ignore several patches not yet ready for the stable branch</li>
|
||||
<li>Drop another couple of patches.</li>
|
||||
<li>cherry-ignore: Ignore 4 patches at the request of the author, (Anuj).</li>
|
||||
<li>Update version to 10.0.3</li>
|
||||
</ul>
|
||||
|
||||
<p>Chad Versace (1):</p>
|
||||
<ul>
|
||||
<li>i965/gen6/blorp: Emit more flushes to workaround hangs</li>
|
||||
</ul>
|
||||
|
||||
<p>Chris Forbes (1):</p>
|
||||
<ul>
|
||||
<li>i965: fold offset into coord for textureOffset(gsampler2DRect)</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (5):</p>
|
||||
<ul>
|
||||
<li>mesa: use signed temporary variable to store _ColorDrawBufferIndexes</li>
|
||||
<li>st/mesa: use signed temporary variable to store _ColorDrawBufferIndexes</li>
|
||||
<li>nv50: access only the available amount of textures</li>
|
||||
<li>nv50: access only the available amount of constbuf</li>
|
||||
<li>gallium/rtasm: handle mmap failures appropriately</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (2):</p>
|
||||
<ul>
|
||||
<li>i965: Fix handling of MESA_pack_invert in blit (PBO) readpixels.</li>
|
||||
<li>i965: Don't do the temporary-and-blit-copy for INVALIDATE_RANGE maps.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (2):</p>
|
||||
<ul>
|
||||
<li>mesa: Add COMPRESSED_RGBA_S3TC_DXT1_EXT to COMPRESSED_TEXTURE_FORMATS for GLES</li>
|
||||
<li>radeon / r200: Pass the API into _mesa_initialize_context</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (2):</p>
|
||||
<ul>
|
||||
<li>mesa: fix GL_COLOR_SUM enum for drivers without ARB_vertex_program</li>
|
||||
<li>st/vdpau: don't return a device if the screen doesn't support NPOT</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Use IROUND instead of roundf.</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>glsl: Rename "expr" to "lhs_expr" in vector_extract munging code.</li>
|
||||
<li>glsl: Fix chained assignments of vector channels.</li>
|
||||
</ul>
|
||||
|
||||
<p>Lauri Kasanen (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix build to properly check for supported compiler flags</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (2):</p>
|
||||
<ul>
|
||||
<li>st/mesa: use sRGB formats for MSAA resolving if destination is sRGB</li>
|
||||
<li>gallium/util: util_format_srgb should not return FORMAT_NONE for sRGB formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (2):</p>
|
||||
<ul>
|
||||
<li>glcpp: Define GL_EXT_shader_integer_mix in both GL and ES.</li>
|
||||
<li>glx: Update glxext.h to revision 24777.</li>
|
||||
</ul>
|
||||
|
||||
<p>Michał Górny (1):</p>
|
||||
<ul>
|
||||
<li>Use AC_PATH_TOOL instead of AC_PATH_PROG for llvm-config.</li>
|
||||
</ul>
|
||||
|
||||
<p>Paul Berry (1):</p>
|
||||
<ul>
|
||||
<li>i965: Ensure that all necessary state is re-emitted if we run out of aperture.</li>
|
||||
</ul>
|
||||
|
||||
<p>Paul Seidler (1):</p>
|
||||
<ul>
|
||||
<li>build: move ARCH_LIBS definition outside of ASM definition</li>
|
||||
</ul>
|
||||
|
||||
<p>Thomas Sondergaard (4):</p>
|
||||
<ul>
|
||||
<li>mesa: Preliminary support for MSVC_VERSION=12.0</li>
|
||||
<li>mesa: Fix compile error with MSVC 2013</li>
|
||||
<li>mesa: Work around internal compiler error</li>
|
||||
<li>mesa: Namespace qualify fma to override ambiguity with fma from math.h</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (1):</p>
|
||||
<ul>
|
||||
<li>r600g/compute: Emit DEALLOC_STATE on cayman after dispatching a compute shader.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,174 @@
|
|||
Mesa 10.0.3 Release Notes / (February 3, 2014)
|
||||
==============================================
|
||||
|
||||
Mesa 10.0.3 is a bug fix release which fixes bugs found since the 10.0.2
|
||||
release.
|
||||
|
||||
Mesa 10.0.3 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
5f9f463ef08129f6762106b434910adb MesaLib-10.0.3.tar.bz2
|
||||
fb3997b6500e153bc32370cb3fc4ca9e MesaLib-10.0.3.tar.gz
|
||||
a07b4b6b9eb449b88a6cb5061e51c331 MesaLib-10.0.3.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 72708 <https://bugs.freedesktop.org/show_bug.cgi?id=72708>`__ -
|
||||
Master fails to build with older gcc due to -msse4.1
|
||||
- `Bug 72926 <https://bugs.freedesktop.org/show_bug.cgi?id=72926>`__ -
|
||||
[REGRESSION,swrast] Memory-related crash with anti-aliasing enabled
|
||||
- `Bug 73096 <https://bugs.freedesktop.org/show_bug.cgi?id=73096>`__ -
|
||||
Query GL_RGBA_SIGNED_COMPONENTS_EXT missing
|
||||
- `Bug 73100 <https://bugs.freedesktop.org/show_bug.cgi?id=73100>`__ -
|
||||
Please use AC_PATH_TOOL instead of AC_PATH_PROG for llvm-config
|
||||
- `Bug 73418 <https://bugs.freedesktop.org/show_bug.cgi?id=73418>`__ -
|
||||
OpenCL hangs graphics on CAYMAN
|
||||
- `Bug 73473 <https://bugs.freedesktop.org/show_bug.cgi?id=73473>`__ -
|
||||
Potential crash bug in src/gallium/auxiliary/rtasm/rtasm_execmem.c
|
||||
- `Bug 73915 <https://bugs.freedesktop.org/show_bug.cgi?id=73915>`__ -
|
||||
sample shading + centroid broken since f5cfb4a
|
||||
- `Bug 73956 <https://bugs.freedesktop.org/show_bug.cgi?id=73956>`__ -
|
||||
SIGSEGV when passing GL_NONE to glReadBuffer
|
||||
- `Bug 74026 <https://bugs.freedesktop.org/show_bug.cgi?id=74026>`__ -
|
||||
Compiler rejects chained assignments involving array dereferences
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
The full set of changes can be viewed by using the following git
|
||||
command:
|
||||
|
||||
::
|
||||
|
||||
git log mesa-10.0.2..mesa-10.0.3
|
||||
|
||||
Aaron Watry (2):
|
||||
|
||||
- radeon: Move gfx/dma cs cleanup to r600_common_context_cleanup
|
||||
- st/dri: prevent leak of dri option default values
|
||||
|
||||
Andreas Fänger (1):
|
||||
|
||||
- swrast: fix delayed texel buffer allocation regression for OpenMP
|
||||
|
||||
Anuj Phogat (3):
|
||||
|
||||
- glsl: Disable ARB_texture_rectangle in shader version 100.
|
||||
- i965: Use sample barycentric coordinates with per sample shading
|
||||
- i965: Ignore 'centroid' interpolation qualifier in case of persample
|
||||
shading
|
||||
|
||||
Brian Paul (3):
|
||||
|
||||
- mesa: implement missing glGet(GL_RGBA_SIGNED_COMPONENTS_EXT) query
|
||||
- st/mesa: fix glReadBuffer(GL_NONE) segfault
|
||||
- draw: fix incorrect vertex size computation in LLVM drawing code
|
||||
|
||||
Carl Worth (5):
|
||||
|
||||
- Add md5sums for 10.0.2. release.
|
||||
- cherry-ignore: Ignore several patches not yet ready for the stable
|
||||
branch
|
||||
- Drop another couple of patches.
|
||||
- cherry-ignore: Ignore 4 patches at the request of the author, (Anuj).
|
||||
- Update version to 10.0.3
|
||||
|
||||
Chad Versace (1):
|
||||
|
||||
- i965/gen6/blorp: Emit more flushes to workaround hangs
|
||||
|
||||
Chris Forbes (1):
|
||||
|
||||
- i965: fold offset into coord for textureOffset(gsampler2DRect)
|
||||
|
||||
Emil Velikov (5):
|
||||
|
||||
- mesa: use signed temporary variable to store \_ColorDrawBufferIndexes
|
||||
- st/mesa: use signed temporary variable to store
|
||||
\_ColorDrawBufferIndexes
|
||||
- nv50: access only the available amount of textures
|
||||
- nv50: access only the available amount of constbuf
|
||||
- gallium/rtasm: handle mmap failures appropriately
|
||||
|
||||
Eric Anholt (2):
|
||||
|
||||
- i965: Fix handling of MESA_pack_invert in blit (PBO) readpixels.
|
||||
- i965: Don't do the temporary-and-blit-copy for INVALIDATE_RANGE maps.
|
||||
|
||||
Ian Romanick (2):
|
||||
|
||||
- mesa: Add COMPRESSED_RGBA_S3TC_DXT1_EXT to COMPRESSED_TEXTURE_FORMATS
|
||||
for GLES
|
||||
- radeon / r200: Pass the API into \_mesa_initialize_context
|
||||
|
||||
Ilia Mirkin (2):
|
||||
|
||||
- mesa: fix GL_COLOR_SUM enum for drivers without ARB_vertex_program
|
||||
- st/vdpau: don't return a device if the screen doesn't support NPOT
|
||||
|
||||
José Fonseca (1):
|
||||
|
||||
- mesa: Use IROUND instead of roundf.
|
||||
|
||||
Kenneth Graunke (2):
|
||||
|
||||
- glsl: Rename "expr" to "lhs_expr" in vector_extract munging code.
|
||||
- glsl: Fix chained assignments of vector channels.
|
||||
|
||||
Lauri Kasanen (1):
|
||||
|
||||
- mesa: Fix build to properly check for supported compiler flags
|
||||
|
||||
Marek Olšák (2):
|
||||
|
||||
- st/mesa: use sRGB formats for MSAA resolving if destination is sRGB
|
||||
- gallium/util: util_format_srgb should not return FORMAT_NONE for sRGB
|
||||
formats
|
||||
|
||||
Matt Turner (2):
|
||||
|
||||
- glcpp: Define GL_EXT_shader_integer_mix in both GL and ES.
|
||||
- glx: Update glxext.h to revision 24777.
|
||||
|
||||
Michał Górny (1):
|
||||
|
||||
- Use AC_PATH_TOOL instead of AC_PATH_PROG for llvm-config.
|
||||
|
||||
Paul Berry (1):
|
||||
|
||||
- i965: Ensure that all necessary state is re-emitted if we run out of
|
||||
aperture.
|
||||
|
||||
Paul Seidler (1):
|
||||
|
||||
- build: move ARCH_LIBS definition outside of ASM definition
|
||||
|
||||
Thomas Sondergaard (4):
|
||||
|
||||
- mesa: Preliminary support for MSVC_VERSION=12.0
|
||||
- mesa: Fix compile error with MSVC 2013
|
||||
- mesa: Work around internal compiler error
|
||||
- mesa: Namespace qualify fma to override ambiguity with fma from
|
||||
math.h
|
||||
|
||||
Tom Stellard (1):
|
||||
|
||||
- r600g/compute: Emit DEALLOC_STATE on cayman after dispatching a
|
||||
compute shader.
|
|
@ -1,191 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.0.4 Release Notes / (March 12, 2014)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.0.4 is a bug fix release which fixes bugs found since the 10.0.3 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.0.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
5a3c5b90776ec8a9fcd777c99e0607e2 MesaLib-10.0.4.tar.gz
|
||||
8b148869d2620b0720c8a8d2b7eb3e38 MesaLib-10.0.4.tar.bz2
|
||||
da2418d25bfbc273660af7e755fb367e MesaLib-10.0.4.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71870">Bug 71870</a> - Metro: Last Light rendering issues</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72895">Bug 72895</a> - Missing trees in flightgear 2.12.1 with mesa 10.0.1</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74251">Bug 74251</a> - Segfault in st_finalize_texture with Texture Buffer</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74723">Bug 74723</a> - main/shaderapi.c:407: detach_shader: Assertion `shProg->Shaders[j]->Type == 0x8B31 || shProg->Shaders[j]->Type == 0x8B30' failed.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>The full set of changes can be viewed by using the following git command:</p>
|
||||
|
||||
<pre>
|
||||
git log mesa-10.0.3..mesa-10.0.4
|
||||
</pre>
|
||||
|
||||
<p>Anuj Phogat (4):</p>
|
||||
<ul>
|
||||
<li>mesa: Generate correct error code in glDrawBuffers()</li>
|
||||
<li>mesa: Add GL_TEXTURE_CUBE_MAP_ARRAY to legal_get_tex_level_parameter_target()</li>
|
||||
<li>glsl: Fix condition to generate shader link error</li>
|
||||
<li>i965: Fix the region's pitch condition to use blitter</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (8):</p>
|
||||
<ul>
|
||||
<li>r200: move driContextSetFlags(ctx) call after ctx var is initialized</li>
|
||||
<li>radeon: move driContextSetFlags(ctx) call after ctx var is initialized</li>
|
||||
<li>gallium/auxiliary/indices: replace free() with FREE()</li>
|
||||
<li>draw: fix incorrect color of flat-shaded clipped lines</li>
|
||||
<li>st/mesa: avoid sw fallback for getting/decompressing textures</li>
|
||||
<li>mesa: update assertion in detach_shader() for geom shaders</li>
|
||||
<li>mesa: do depth/stencil format conversion in glGetTexImage</li>
|
||||
<li>softpipe: use 64-bit arithmetic in softpipe_resource_layout()</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (4):</p>
|
||||
<ul>
|
||||
<li>docs: Add md5sums for 10.0.3 release</li>
|
||||
<li>main: Avoid double-free of shader Label</li>
|
||||
<li>get-pick-list: Update to only find patches nominated for the 10.0 branch</li>
|
||||
<li>Update version to 10.0.4</li>
|
||||
</ul>
|
||||
|
||||
<p>Chris Forbes (1):</p>
|
||||
<ul>
|
||||
<li>i965: Validate (and resolve) all the bound textures.</li>
|
||||
</ul>
|
||||
|
||||
<p>Christian König (1):</p>
|
||||
<ul>
|
||||
<li>radeon/uvd: fix feedback buffer handling v2</li>
|
||||
</ul>
|
||||
|
||||
<p>Daniel Kurtz (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Add locking to builtin_builder singleton</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>dri/nouveau: Pass the API into _mesa_initialize_context</li>
|
||||
<li>nv50: correctly calculate the number of vertical blocks during transfer map</li>
|
||||
<li>dri/i9*5: correctly calculate the amount of system memory</li>
|
||||
</ul>
|
||||
|
||||
<p>Fredrik Höglund (3):</p>
|
||||
<ul>
|
||||
<li>mesa: Preserve the NewArrays state when copying a VAO</li>
|
||||
<li>glx: Fix the default values for GLXFBConfig attributes</li>
|
||||
<li>glx: Fix the GLXFBConfig attrib sort priorities</li>
|
||||
</ul>
|
||||
|
||||
<p>Hans (2):</p>
|
||||
<ul>
|
||||
<li>util: don't define isfinite(), isnan() for MSVC >= 1800</li>
|
||||
<li>mesa: don't define c99 math functions for MSVC >= 1800</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (6):</p>
|
||||
<ul>
|
||||
<li>meta: Release resources used by decompress_texture_image</li>
|
||||
<li>meta: Release resources used by _mesa_meta_DrawPixels</li>
|
||||
<li>meta: Fallback to software for GetTexImage of compressed GL_TEXTURE_CUBE_MAP_ARRAY</li>
|
||||
<li>meta: Consistenly use non-Apple VAO functions</li>
|
||||
<li>glcpp: Only warn for macro names containing __</li>
|
||||
<li>glsl: Only warn for macro names containing __</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (3):</p>
|
||||
<ul>
|
||||
<li>nv30: report 8 maximum inputs</li>
|
||||
<li>nouveau/video: make sure that firmware is present when checking caps</li>
|
||||
<li>nouveau: fix chipset checks for nv1a by using the oclass instead</li>
|
||||
</ul>
|
||||
|
||||
<p>Julien Cristau (1):</p>
|
||||
<ul>
|
||||
<li>glx/dri2: fix build failure on HURD</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>glsl: Don't lose precision qualifiers when encountering "centroid".</li>
|
||||
<li>i965: Create a hardware context before initializing state module.</li>
|
||||
</ul>
|
||||
|
||||
<p>Kusanagi Kouichi (1):</p>
|
||||
<ul>
|
||||
<li>targets/vdpau: Always use c++ to link</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (1):</p>
|
||||
<ul>
|
||||
<li>st/mesa: fix crash when a shader uses a TBO and it's not bound</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Initialize ubo_binding_mask flags to zero.</li>
|
||||
</ul>
|
||||
|
||||
<p>Paul Berry (2):</p>
|
||||
<ul>
|
||||
<li>glsl: Make condition_to_hir() callable from outside ast_iteration_statement.</li>
|
||||
<li>glsl: Fix continue statements in do-while loops.</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (1):</p>
|
||||
<ul>
|
||||
<li>r600g/compute: PIPE_CAP_COMPUTE should be false for pre-evergreen GPUs</li>
|
||||
</ul>
|
||||
|
||||
<p>Topi Pohjolainen (1):</p>
|
||||
<ul>
|
||||
<li>i965/blorp: do not use unnecessary hw-blending support</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,162 @@
|
|||
Mesa 10.0.4 Release Notes / (March 12, 2014)
|
||||
============================================
|
||||
|
||||
Mesa 10.0.4 is a bug fix release which fixes bugs found since the 10.0.3
|
||||
release.
|
||||
|
||||
Mesa 10.0.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
5a3c5b90776ec8a9fcd777c99e0607e2 MesaLib-10.0.4.tar.gz
|
||||
8b148869d2620b0720c8a8d2b7eb3e38 MesaLib-10.0.4.tar.bz2
|
||||
da2418d25bfbc273660af7e755fb367e MesaLib-10.0.4.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 71870 <https://bugs.freedesktop.org/show_bug.cgi?id=71870>`__ -
|
||||
Metro: Last Light rendering issues
|
||||
- `Bug 72895 <https://bugs.freedesktop.org/show_bug.cgi?id=72895>`__ -
|
||||
Missing trees in flightgear 2.12.1 with mesa 10.0.1
|
||||
- `Bug 74251 <https://bugs.freedesktop.org/show_bug.cgi?id=74251>`__ -
|
||||
Segfault in st_finalize_texture with Texture Buffer
|
||||
- `Bug 74723 <https://bugs.freedesktop.org/show_bug.cgi?id=74723>`__ -
|
||||
main/shaderapi.c:407: detach_shader: Assertion
|
||||
\`shProg->Shaders[j]->Type == 0x8B31 \|\| shProg->Shaders[j]->Type ==
|
||||
0x8B30' failed.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
The full set of changes can be viewed by using the following git
|
||||
command:
|
||||
|
||||
::
|
||||
|
||||
git log mesa-10.0.3..mesa-10.0.4
|
||||
|
||||
Anuj Phogat (4):
|
||||
|
||||
- mesa: Generate correct error code in glDrawBuffers()
|
||||
- mesa: Add GL_TEXTURE_CUBE_MAP_ARRAY to
|
||||
legal_get_tex_level_parameter_target()
|
||||
- glsl: Fix condition to generate shader link error
|
||||
- i965: Fix the region's pitch condition to use blitter
|
||||
|
||||
Brian Paul (8):
|
||||
|
||||
- r200: move driContextSetFlags(ctx) call after ctx var is initialized
|
||||
- radeon: move driContextSetFlags(ctx) call after ctx var is
|
||||
initialized
|
||||
- gallium/auxiliary/indices: replace free() with FREE()
|
||||
- draw: fix incorrect color of flat-shaded clipped lines
|
||||
- st/mesa: avoid sw fallback for getting/decompressing textures
|
||||
- mesa: update assertion in detach_shader() for geom shaders
|
||||
- mesa: do depth/stencil format conversion in glGetTexImage
|
||||
- softpipe: use 64-bit arithmetic in softpipe_resource_layout()
|
||||
|
||||
Carl Worth (4):
|
||||
|
||||
- docs: Add md5sums for 10.0.3 release
|
||||
- main: Avoid double-free of shader Label
|
||||
- get-pick-list: Update to only find patches nominated for the 10.0
|
||||
branch
|
||||
- Update version to 10.0.4
|
||||
|
||||
Chris Forbes (1):
|
||||
|
||||
- i965: Validate (and resolve) all the bound textures.
|
||||
|
||||
Christian König (1):
|
||||
|
||||
- radeon/uvd: fix feedback buffer handling v2
|
||||
|
||||
Daniel Kurtz (1):
|
||||
|
||||
- glsl: Add locking to builtin_builder singleton
|
||||
|
||||
Emil Velikov (3):
|
||||
|
||||
- dri/nouveau: Pass the API into \_mesa_initialize_context
|
||||
- nv50: correctly calculate the number of vertical blocks during
|
||||
transfer map
|
||||
- dri/i9*5: correctly calculate the amount of system memory
|
||||
|
||||
Fredrik Höglund (3):
|
||||
|
||||
- mesa: Preserve the NewArrays state when copying a VAO
|
||||
- glx: Fix the default values for GLXFBConfig attributes
|
||||
- glx: Fix the GLXFBConfig attrib sort priorities
|
||||
|
||||
Hans (2):
|
||||
|
||||
- util: don't define isfinite(), isnan() for MSVC >= 1800
|
||||
- mesa: don't define c99 math functions for MSVC >= 1800
|
||||
|
||||
Ian Romanick (6):
|
||||
|
||||
- meta: Release resources used by decompress_texture_image
|
||||
- meta: Release resources used by \_mesa_meta_DrawPixels
|
||||
- meta: Fallback to software for GetTexImage of compressed
|
||||
GL_TEXTURE_CUBE_MAP_ARRAY
|
||||
- meta: Consistenly use non-Apple VAO functions
|
||||
- glcpp: Only warn for macro names containing \_\_
|
||||
- glsl: Only warn for macro names containing \_\_
|
||||
|
||||
Ilia Mirkin (3):
|
||||
|
||||
- nv30: report 8 maximum inputs
|
||||
- nouveau/video: make sure that firmware is present when checking caps
|
||||
- nouveau: fix chipset checks for nv1a by using the oclass instead
|
||||
|
||||
Julien Cristau (1):
|
||||
|
||||
- glx/dri2: fix build failure on HURD
|
||||
|
||||
Kenneth Graunke (2):
|
||||
|
||||
- glsl: Don't lose precision qualifiers when encountering "centroid".
|
||||
- i965: Create a hardware context before initializing state module.
|
||||
|
||||
Kusanagi Kouichi (1):
|
||||
|
||||
- targets/vdpau: Always use c++ to link
|
||||
|
||||
Marek Olšák (1):
|
||||
|
||||
- st/mesa: fix crash when a shader uses a TBO and it's not bound
|
||||
|
||||
Matt Turner (1):
|
||||
|
||||
- glsl: Initialize ubo_binding_mask flags to zero.
|
||||
|
||||
Paul Berry (2):
|
||||
|
||||
- glsl: Make condition_to_hir() callable from outside
|
||||
ast_iteration_statement.
|
||||
- glsl: Fix continue statements in do-while loops.
|
||||
|
||||
Tom Stellard (1):
|
||||
|
||||
- r600g/compute: PIPE_CAP_COMPUTE should be false for pre-evergreen
|
||||
GPUs
|
||||
|
||||
Topi Pohjolainen (1):
|
||||
|
||||
- i965/blorp: do not use unnecessary hw-blending support
|
|
@ -1,173 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.0.5 Release Notes / April 18, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.0.5 is a bug fix release which fixes bugs found since the 10.0.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.0.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
db606aadd0fe321f3664099677d159bc MesaLib-10.0.5.tar.gz
|
||||
e6009ccd8898d7104bb325b6af9ec354 MesaLib-10.0.5.tar.bz2
|
||||
c8ab9e502542bf32299a4df85b0b704d MesaLib-10.0.5.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=58660">Bug 58660</a> - CAYMAN broken with HyperZ on</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64471">Bug 64471</a> - Radeon HD6570 lockup in Brütal Legend with HyperZ</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66352">Bug 66352</a> - GPU lockup in L4D2 on TURKS with HyperZ</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68799">Bug 68799</a> - [APITRACE] Hyper-Z lockup with Falcon BMS 4.32u6 on CAYMAN</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71547">Bug 71547</a> - compilation failure :#error "SSE4.1 instruction set not enabled"</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=72685">Bug 72685</a> - [radeonsi hyperz] Artifacts in Unigine Sanctuary</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=73088">Bug 73088</a> - [HyperZ] Juniper (6770): Gone Home / Unigine Heaven 4.0 lock up system after several minutes of use</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74428">Bug 74428</a> - hyperz causes gpu hang in Counter-strike: Source</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74803">Bug 74803</a> - [r600g] HyperZ broken on RV630 (Cogs shadows are broken)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74863">Bug 74863</a> - [r600g] HyperZ broken on RV770 and CYPRESS (Left 4 Dead 2 trees corruption) bisected!</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74892">Bug 74892</a> - HyperZ GPU lockup with radeonsi 7970M PITCAIRN and Distance Alpha game</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74988">Bug 74988</a> - Buffer overrun (segfault) decompressing ETC2 texture in GLBenchmark 3.0 Manhattan</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75279">Bug 75279</a> - XCloseDisplay() takes one minute around nouveau_dri.so, freezing Firefox startup</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77102">Bug 77102</a> - gallium nouveau has no profile in vdpau and libva</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77207">Bug 77207</a> - [ivb/hsw] batch overwritten with garbage</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>The full set of changes can be viewed by using the following git command:</p>
|
||||
|
||||
<pre>
|
||||
git log mesa-10.0.4..mesa-10.0.5
|
||||
</pre>
|
||||
|
||||
<p>Alex Deucher (1):</p>
|
||||
<ul>
|
||||
<li>radeon: reverse DBG_NO_HYPERZ logic</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (9):</p>
|
||||
<ul>
|
||||
<li>mesa: add unpacking code for MESA_FORMAT_Z32_FLOAT_S8X24_UINT</li>
|
||||
<li>mesa: fix copy & paste bugs in pack_ubyte_SARGB8()</li>
|
||||
<li>mesa: fix copy & paste bugs in pack_ubyte_SRGB8()</li>
|
||||
<li>mesa: fix unpack_Z32_FLOAT_X24S8() / unpack_Z32_FLOAT() mix-up</li>
|
||||
<li>st/mesa: add null pointer checking in query object functions</li>
|
||||
<li>mesa: fix glMultiDrawArrays inside a display list</li>
|
||||
<li>cso: fix sampler view count in cso_set_sampler_views()</li>
|
||||
<li>svga: replace sampler assertion with conditional</li>
|
||||
<li>svga: move LIST_INITHEAD(dirty_buffers) earlier in svga_context_create()</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add md5sums for the 10.0.4 release.</li>
|
||||
<li>Ignore patches which don't apply.</li>
|
||||
<li>Update version to 10.0.5</li>
|
||||
</ul>
|
||||
|
||||
<p>Christian König (2):</p>
|
||||
<ul>
|
||||
<li>st/mesa: recreate sampler view on context change v3</li>
|
||||
<li>st/mesa: fix sampler view handling with shared textures v4</li>
|
||||
</ul>
|
||||
|
||||
<p>Courtney Goeltzenleuchter (1):</p>
|
||||
<ul>
|
||||
<li>mesa: add bounds checking to eliminate buffer overrun</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (2):</p>
|
||||
<ul>
|
||||
<li>mesa: return v.value_int64 when the requested type is TYPE_INT64</li>
|
||||
<li>glx: drop obsolete _XUnlock_Mutex in __glXInitialize error path</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (1):</p>
|
||||
<ul>
|
||||
<li>i965: Fix buffer overruns in MSAA MCS buffer clearing.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (6):</p>
|
||||
<ul>
|
||||
<li>nouveau: fix fence waiting logic in screen destroy</li>
|
||||
<li>nv50: adjust blit_3d handling of ms output textures</li>
|
||||
<li>mesa/main: condition GL_DEPTH_STENCIL on ARB_depth_texture</li>
|
||||
<li>nouveau: add forgotten GL_COMPRESSED_INTENSITY to texture format list</li>
|
||||
<li>nouveau: there may not have been a texture if the fbo was incomplete</li>
|
||||
<li>nouveau: fix firmware check on nvd7/nvd9</li>
|
||||
</ul>
|
||||
|
||||
<p>Johannes Nixdorf (1):</p>
|
||||
<ul>
|
||||
<li>configure.ac: fix the detection of expat with pkg-config</li>
|
||||
</ul>
|
||||
|
||||
<p>Jonathan Gray (1):</p>
|
||||
<ul>
|
||||
<li>gallium: add endian detection for OpenBSD</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (1):</p>
|
||||
<ul>
|
||||
<li>draw: Duplicate TGSI tokens in draw_pipe_pstipple module.</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Wrap SSE4.1 code in #ifdef __SSE4_1__.</li>
|
||||
</ul>
|
||||
|
||||
<p>Paul Berry (1):</p>
|
||||
<ul>
|
||||
<li>i965/gen7: Prefer vertical alignment of 4 when possible.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,147 @@
|
|||
Mesa 10.0.5 Release Notes / April 18, 2014
|
||||
==========================================
|
||||
|
||||
Mesa 10.0.5 is a bug fix release which fixes bugs found since the 10.0.4
|
||||
release.
|
||||
|
||||
Mesa 10.0.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
db606aadd0fe321f3664099677d159bc MesaLib-10.0.5.tar.gz
|
||||
e6009ccd8898d7104bb325b6af9ec354 MesaLib-10.0.5.tar.bz2
|
||||
c8ab9e502542bf32299a4df85b0b704d MesaLib-10.0.5.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 58660 <https://bugs.freedesktop.org/show_bug.cgi?id=58660>`__ -
|
||||
CAYMAN broken with HyperZ on
|
||||
- `Bug 64471 <https://bugs.freedesktop.org/show_bug.cgi?id=64471>`__ -
|
||||
Radeon HD6570 lockup in Brütal Legend with HyperZ
|
||||
- `Bug 66352 <https://bugs.freedesktop.org/show_bug.cgi?id=66352>`__ -
|
||||
GPU lockup in L4D2 on TURKS with HyperZ
|
||||
- `Bug 68799 <https://bugs.freedesktop.org/show_bug.cgi?id=68799>`__ -
|
||||
[APITRACE] Hyper-Z lockup with Falcon BMS 4.32u6 on CAYMAN
|
||||
- `Bug 71547 <https://bugs.freedesktop.org/show_bug.cgi?id=71547>`__ -
|
||||
compilation failure :#error "SSE4.1 instruction set not enabled"
|
||||
- `Bug 72685 <https://bugs.freedesktop.org/show_bug.cgi?id=72685>`__ -
|
||||
[radeonsi hyperz] Artifacts in Unigine Sanctuary
|
||||
- `Bug 73088 <https://bugs.freedesktop.org/show_bug.cgi?id=73088>`__ -
|
||||
[HyperZ] Juniper (6770): Gone Home / Unigine Heaven 4.0 lock up
|
||||
system after several minutes of use
|
||||
- `Bug 74428 <https://bugs.freedesktop.org/show_bug.cgi?id=74428>`__ -
|
||||
hyperz causes gpu hang in Counter-strike: Source
|
||||
- `Bug 74803 <https://bugs.freedesktop.org/show_bug.cgi?id=74803>`__ -
|
||||
[r600g] HyperZ broken on RV630 (Cogs shadows are broken)
|
||||
- `Bug 74863 <https://bugs.freedesktop.org/show_bug.cgi?id=74863>`__ -
|
||||
[r600g] HyperZ broken on RV770 and CYPRESS (Left 4 Dead 2 trees
|
||||
corruption) bisected!
|
||||
- `Bug 74892 <https://bugs.freedesktop.org/show_bug.cgi?id=74892>`__ -
|
||||
HyperZ GPU lockup with radeonsi 7970M PITCAIRN and Distance Alpha
|
||||
game
|
||||
- `Bug 74988 <https://bugs.freedesktop.org/show_bug.cgi?id=74988>`__ -
|
||||
Buffer overrun (segfault) decompressing ETC2 texture in GLBenchmark
|
||||
3.0 Manhattan
|
||||
- `Bug 75279 <https://bugs.freedesktop.org/show_bug.cgi?id=75279>`__ -
|
||||
XCloseDisplay() takes one minute around nouveau_dri.so, freezing
|
||||
Firefox startup
|
||||
- `Bug 77102 <https://bugs.freedesktop.org/show_bug.cgi?id=77102>`__ -
|
||||
gallium nouveau has no profile in vdpau and libva
|
||||
- `Bug 77207 <https://bugs.freedesktop.org/show_bug.cgi?id=77207>`__ -
|
||||
[ivb/hsw] batch overwritten with garbage
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
The full set of changes can be viewed by using the following git
|
||||
command:
|
||||
|
||||
::
|
||||
|
||||
git log mesa-10.0.4..mesa-10.0.5
|
||||
|
||||
Alex Deucher (1):
|
||||
|
||||
- radeon: reverse DBG_NO_HYPERZ logic
|
||||
|
||||
Brian Paul (9):
|
||||
|
||||
- mesa: add unpacking code for MESA_FORMAT_Z32_FLOAT_S8X24_UINT
|
||||
- mesa: fix copy & paste bugs in pack_ubyte_SARGB8()
|
||||
- mesa: fix copy & paste bugs in pack_ubyte_SRGB8()
|
||||
- mesa: fix unpack_Z32_FLOAT_X24S8() / unpack_Z32_FLOAT() mix-up
|
||||
- st/mesa: add null pointer checking in query object functions
|
||||
- mesa: fix glMultiDrawArrays inside a display list
|
||||
- cso: fix sampler view count in cso_set_sampler_views()
|
||||
- svga: replace sampler assertion with conditional
|
||||
- svga: move LIST_INITHEAD(dirty_buffers) earlier in
|
||||
svga_context_create()
|
||||
|
||||
Carl Worth (3):
|
||||
|
||||
- docs: Add md5sums for the 10.0.4 release.
|
||||
- Ignore patches which don't apply.
|
||||
- Update version to 10.0.5
|
||||
|
||||
Christian König (2):
|
||||
|
||||
- st/mesa: recreate sampler view on context change v3
|
||||
- st/mesa: fix sampler view handling with shared textures v4
|
||||
|
||||
Courtney Goeltzenleuchter (1):
|
||||
|
||||
- mesa: add bounds checking to eliminate buffer overrun
|
||||
|
||||
Emil Velikov (2):
|
||||
|
||||
- mesa: return v.value_int64 when the requested type is TYPE_INT64
|
||||
- glx: drop obsolete \_XUnlock_Mutex in \__glXInitialize error path
|
||||
|
||||
Eric Anholt (1):
|
||||
|
||||
- i965: Fix buffer overruns in MSAA MCS buffer clearing.
|
||||
|
||||
Ilia Mirkin (6):
|
||||
|
||||
- nouveau: fix fence waiting logic in screen destroy
|
||||
- nv50: adjust blit_3d handling of ms output textures
|
||||
- mesa/main: condition GL_DEPTH_STENCIL on ARB_depth_texture
|
||||
- nouveau: add forgotten GL_COMPRESSED_INTENSITY to texture format list
|
||||
- nouveau: there may not have been a texture if the fbo was incomplete
|
||||
- nouveau: fix firmware check on nvd7/nvd9
|
||||
|
||||
Johannes Nixdorf (1):
|
||||
|
||||
- configure.ac: fix the detection of expat with pkg-config
|
||||
|
||||
Jonathan Gray (1):
|
||||
|
||||
- gallium: add endian detection for OpenBSD
|
||||
|
||||
José Fonseca (1):
|
||||
|
||||
- draw: Duplicate TGSI tokens in draw_pipe_pstipple module.
|
||||
|
||||
Matt Turner (1):
|
||||
|
||||
- mesa: Wrap SSE4.1 code in #ifdef \__SSE4_1__.
|
||||
|
||||
Paul Berry (1):
|
||||
|
||||
- i965/gen7: Prefer vertical alignment of 4 when possible.
|
|
@ -1,146 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.0 Release Notes / (November 30th, 2013)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.0 is a new development release.
|
||||
People who are concerned with stability and reliability should stick
|
||||
with a previous release or wait for Mesa 10.0.1.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.0 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
b38626b96c664db67a534d7859682436 MesaLib-10.0.0.tar.gz
|
||||
f3fe55d9735bea158bbe97ed9a0da819 MesaLib-10.0.0.tar.bz2
|
||||
c6ee1ce51e3bf35947d2978b872daf51 MesaLib-10.0.0.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<p>
|
||||
Note: some of the new features are only available with certain drivers.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>GL_AMD_seamless_cubemap_per_texture on i965.</li>
|
||||
<li>GL_ARB_conservative_depth on i965.</li>
|
||||
<li>GL_ARB_texture_gather on i965.</li>
|
||||
<li>GL_ARB_texture_query_levels on i965.</li>
|
||||
<li>GL_ARB_texture_mirror_clamp_to_edge.</li>
|
||||
<li>GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, and GL_ARB_transform_feedback_instanced on i965/Gen7 (with appropriate kernel support).</li>
|
||||
<li>GL_ARB_sample_shading on i965.</li>
|
||||
<li>GL_ARB_shader_atomic_counters on i965.</li>
|
||||
<li>GL_ARB_vertex_attrib_binding</li>
|
||||
<li>GL_ARB_vertex_type_10f_11f_11f_rev on i965 and r600g</li>
|
||||
<li>GL_KHR_debug</li>
|
||||
<li>GLX_MESA_query_renderer</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>Attempts have been made to <b>not</b> include bugs fixed in previous 9.2
|
||||
releases or bugs that were regressions during 10.0 development. This list is
|
||||
likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=47755">Bug 47755</a> - [glsl-compiler] no error checking when Interpolation qualifier for built-in variable is different in vertex and fragment shader</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=52171">Bug 52171</a> - [gallium/r600/clover] Simple benchmarks failed to run</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=53077">Bug 53077</a> - [IVB] Output error with msaa when both of framebuffer and source color's alpha are not 1</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54867">Bug 54867</a> - bug in r300 compiler</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=60929">Bug 60929</a> - [r600-llvm] mono games with opengl are blocking on start</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62142">Bug 62142</a> - Mesa/demo mipmap_limits upside down with running by SOFTWARE</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=62698">Bug 62698</a> - [bisected] WebGL demo "Consumed": texstate.c:628: update_texture_state: Assertion „__builtin_popcount(enabledTargets) == 1“ failed.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64225">Bug 64225</a> - bfgminer --scyte generates Segmentation Fault on Northern Island</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64226">Bug 64226</a> - python-opencl package generate segmentation fault at pipe_r600.so</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=64261">Bug 64261</a> - [SNB Bisected]Ogles3conform GL3Tests_color_buffer_float_color_buffer_float_clamp_fixed.test fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66213">Bug 66213</a> - Certain Mesa Demos Rendering Inverted (vertically)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66806">Bug 66806</a> - [softpipe] glxgears floating point exception</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=67921">Bug 67921</a> - [bisected commit 883987] crosscompiling fails with util/u_cpu_detect.c:247:4: error: 'asm' undeclared (first use in this function)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68162">Bug 68162</a> - [radeonsi] texture rendering is broken in Source-Engine games</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68451">Bug 68451</a> - Texture flicker in native Dota2 in mesa 9.2.0rc1</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68503">Bug 68503</a> - Graphical glitches in Serious Sam 3 when SB is enabled</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68792">Bug 68792</a> - Problems during playback of h264 files using UVD and VLC on AMD E-350 CPU</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=68845">Bug 68845</a> - VDPAU/UVD regression</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69078">Bug 69078</a> - Modern Warfare (1, 2 and 3) broken in Wine on SNB</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=69321">Bug 69321</a> - starting openCL crashes/boots system</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70042">Bug 70042</a> - Major texture flickering in Dota 2 (r600g on HD 6950)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70088">Bug 70088</a> - Glamor on r600g crashes Xserver</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70123">Bug 70123</a> - Freeze caused by 'winsys/radeon: remove cs_queue_empty' commit</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70327">Bug 70327</a> - Casting floating point variable to integer not working properly while constant gets converted properly</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70891">Bug 70891</a> - CL_INVALID_BUILD_OPTIONS results in CL_INVALID_DEVICE when asking for build log</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70913">Bug 70913</a> - [PIGLIT,radeonsi] crash in "spec/EXT_framebuffer_multisample/sample-alpha-to-coverage 4 depth" (buffer overflow)</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71022">Bug 71022</a> - configure: error: Expat required for DRI.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71110">Bug 71110</a> - xorg_driver.c:1030:2: error: too many arguments to function ‘DamageUnregister’</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71172">Bug 71172</a> - Segfault when running glxinfo. NV25GL [Quadro4 900 XGL]</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71512">Bug 71512</a> - dlopen.h:54: undefined reference to `dlopen'</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71870">Bug 71870</a> - Metro: Last Light rendering issues</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<li>Removed X.Org state tracker (unmaintained and broken)</li>
|
||||
<li>Removed the video-accel r300 targets</li>
|
||||
<li>Removed the video-accel softpipe targets</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,132 @@
|
|||
Mesa 10.0 Release Notes / (November 30th, 2013)
|
||||
===============================================
|
||||
|
||||
Mesa 10.0 is a new development release. People who are concerned with
|
||||
stability and reliability should stick with a previous release or wait
|
||||
for Mesa 10.0.1.
|
||||
|
||||
Mesa 10.0 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
b38626b96c664db67a534d7859682436 MesaLib-10.0.0.tar.gz
|
||||
f3fe55d9735bea158bbe97ed9a0da819 MesaLib-10.0.0.tar.bz2
|
||||
c6ee1ce51e3bf35947d2978b872daf51 MesaLib-10.0.0.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
Note: some of the new features are only available with certain drivers.
|
||||
|
||||
- GL_AMD_seamless_cubemap_per_texture on i965.
|
||||
- GL_ARB_conservative_depth on i965.
|
||||
- GL_ARB_texture_gather on i965.
|
||||
- GL_ARB_texture_query_levels on i965.
|
||||
- GL_ARB_texture_mirror_clamp_to_edge.
|
||||
- GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, and
|
||||
GL_ARB_transform_feedback_instanced on i965/Gen7 (with appropriate
|
||||
kernel support).
|
||||
- GL_ARB_sample_shading on i965.
|
||||
- GL_ARB_shader_atomic_counters on i965.
|
||||
- GL_ARB_vertex_attrib_binding
|
||||
- GL_ARB_vertex_type_10f_11f_11f_rev on i965 and r600g
|
||||
- GL_KHR_debug
|
||||
- GLX_MESA_query_renderer
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
Attempts have been made to **not** include bugs fixed in previous 9.2
|
||||
releases or bugs that were regressions during 10.0 development. This
|
||||
list is likely incomplete.
|
||||
|
||||
- `Bug 47755 <https://bugs.freedesktop.org/show_bug.cgi?id=47755>`__ -
|
||||
[glsl-compiler] no error checking when Interpolation qualifier for
|
||||
built-in variable is different in vertex and fragment shader
|
||||
- `Bug 52171 <https://bugs.freedesktop.org/show_bug.cgi?id=52171>`__ -
|
||||
[gallium/r600/clover] Simple benchmarks failed to run
|
||||
- `Bug 53077 <https://bugs.freedesktop.org/show_bug.cgi?id=53077>`__ -
|
||||
[IVB] Output error with msaa when both of framebuffer and source
|
||||
color's alpha are not 1
|
||||
- `Bug 54867 <https://bugs.freedesktop.org/show_bug.cgi?id=54867>`__ -
|
||||
bug in r300 compiler
|
||||
- `Bug 60929 <https://bugs.freedesktop.org/show_bug.cgi?id=60929>`__ -
|
||||
[r600-llvm] mono games with opengl are blocking on start
|
||||
- `Bug 62142 <https://bugs.freedesktop.org/show_bug.cgi?id=62142>`__ -
|
||||
Mesa/demo mipmap_limits upside down with running by SOFTWARE
|
||||
- `Bug 62698 <https://bugs.freedesktop.org/show_bug.cgi?id=62698>`__ -
|
||||
[bisected] WebGL demo "Consumed": texstate.c:628:
|
||||
update_texture_state: Assertion „__builtin_popcount(enabledTargets)
|
||||
== 1“ failed.
|
||||
- `Bug 64225 <https://bugs.freedesktop.org/show_bug.cgi?id=64225>`__ -
|
||||
bfgminer --scyte generates Segmentation Fault on Northern Island
|
||||
- `Bug 64226 <https://bugs.freedesktop.org/show_bug.cgi?id=64226>`__ -
|
||||
python-opencl package generate segmentation fault at pipe_r600.so
|
||||
- `Bug 64261 <https://bugs.freedesktop.org/show_bug.cgi?id=64261>`__ -
|
||||
[SNB Bisected]Ogles3conform
|
||||
GL3Tests_color_buffer_float_color_buffer_float_clamp_fixed.test fail
|
||||
- `Bug 66213 <https://bugs.freedesktop.org/show_bug.cgi?id=66213>`__ -
|
||||
Certain Mesa Demos Rendering Inverted (vertically)
|
||||
- `Bug 66806 <https://bugs.freedesktop.org/show_bug.cgi?id=66806>`__ -
|
||||
[softpipe] glxgears floating point exception
|
||||
- `Bug 67921 <https://bugs.freedesktop.org/show_bug.cgi?id=67921>`__ -
|
||||
[bisected commit 883987] crosscompiling fails with
|
||||
util/u_cpu_detect.c:247:4: error: 'asm' undeclared (first use in this
|
||||
function)
|
||||
- `Bug 68162 <https://bugs.freedesktop.org/show_bug.cgi?id=68162>`__ -
|
||||
[radeonsi] texture rendering is broken in Source-Engine games
|
||||
- `Bug 68451 <https://bugs.freedesktop.org/show_bug.cgi?id=68451>`__ -
|
||||
Texture flicker in native Dota2 in mesa 9.2.0rc1
|
||||
- `Bug 68503 <https://bugs.freedesktop.org/show_bug.cgi?id=68503>`__ -
|
||||
Graphical glitches in Serious Sam 3 when SB is enabled
|
||||
- `Bug 68792 <https://bugs.freedesktop.org/show_bug.cgi?id=68792>`__ -
|
||||
Problems during playback of h264 files using UVD and VLC on AMD E-350
|
||||
CPU
|
||||
- `Bug 68845 <https://bugs.freedesktop.org/show_bug.cgi?id=68845>`__ -
|
||||
VDPAU/UVD regression
|
||||
- `Bug 69078 <https://bugs.freedesktop.org/show_bug.cgi?id=69078>`__ -
|
||||
Modern Warfare (1, 2 and 3) broken in Wine on SNB
|
||||
- `Bug 69321 <https://bugs.freedesktop.org/show_bug.cgi?id=69321>`__ -
|
||||
starting openCL crashes/boots system
|
||||
- `Bug 70042 <https://bugs.freedesktop.org/show_bug.cgi?id=70042>`__ -
|
||||
Major texture flickering in Dota 2 (r600g on HD 6950)
|
||||
- `Bug 70088 <https://bugs.freedesktop.org/show_bug.cgi?id=70088>`__ -
|
||||
Glamor on r600g crashes Xserver
|
||||
- `Bug 70123 <https://bugs.freedesktop.org/show_bug.cgi?id=70123>`__ -
|
||||
Freeze caused by 'winsys/radeon: remove cs_queue_empty' commit
|
||||
- `Bug 70327 <https://bugs.freedesktop.org/show_bug.cgi?id=70327>`__ -
|
||||
Casting floating point variable to integer not working properly while
|
||||
constant gets converted properly
|
||||
- `Bug 70891 <https://bugs.freedesktop.org/show_bug.cgi?id=70891>`__ -
|
||||
CL_INVALID_BUILD_OPTIONS results in CL_INVALID_DEVICE when asking for
|
||||
build log
|
||||
- `Bug 70913 <https://bugs.freedesktop.org/show_bug.cgi?id=70913>`__ -
|
||||
[PIGLIT,radeonsi] crash in
|
||||
"spec/EXT_framebuffer_multisample/sample-alpha-to-coverage 4 depth"
|
||||
(buffer overflow)
|
||||
- `Bug 71022 <https://bugs.freedesktop.org/show_bug.cgi?id=71022>`__ -
|
||||
configure: error: Expat required for DRI.
|
||||
- `Bug 71110 <https://bugs.freedesktop.org/show_bug.cgi?id=71110>`__ -
|
||||
xorg_driver.c:1030:2: error: too many arguments to function
|
||||
‘DamageUnregister’
|
||||
- `Bug 71172 <https://bugs.freedesktop.org/show_bug.cgi?id=71172>`__ -
|
||||
Segfault when running glxinfo. NV25GL [Quadro4 900 XGL]
|
||||
- `Bug 71512 <https://bugs.freedesktop.org/show_bug.cgi?id=71512>`__ -
|
||||
dlopen.h:54: undefined reference to \`dlopen'
|
||||
- `Bug 71870 <https://bugs.freedesktop.org/show_bug.cgi?id=71870>`__ -
|
||||
Metro: Last Light rendering issues
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- Removed X.Org state tracker (unmaintained and broken)
|
||||
- Removed the video-accel r300 targets
|
||||
- Removed the video-accel softpipe targets
|
|
@ -1,254 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.1.1 Release Notes / April 18, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.1 is a bug fix release which fixes bugs found since the 10.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.1.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
96e63674ccfa98e7ec6eb4fee3f770c3 MesaLib-10.1.1.tar.gz
|
||||
1fde7ed079df7aeb9b6a744ca033de8d MesaLib-10.1.1.tar.bz2
|
||||
e64d0a562638664b13d2edf22321df59 MesaLib-10.1.1.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71547">Bug 71547</a> - compilation failure :#error "SSE4.1 instruction set not enabled"</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74868">Bug 74868</a> - r600g: Diablo III Crashes After a few minutes</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74988">Bug 74988</a> - Buffer overrun (segfault) decompressing ETC2 texture in GLBenchmark 3.0 Manhattan</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75279">Bug 75279</a> - XCloseDisplay() takes one minute around nouveau_dri.so, freezing Firefox startup</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75543">Bug 75543</a> - OSMesa Gallium OSMesaMakeCurrent</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75660">Bug 75660</a> - u_inlines.h:277:pipe_buffer_map_range: Assertion `length' failed.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76323">Bug 76323</a> - GLSL compiler ignores layout(binding=N) on uniform blocks</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76377">Bug 76377</a> - DRI3 should only be enabled on Linux due to a udev dependency</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76749">Bug 76749</a> - [HSW] DOTA world lighting has no effect</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77102">Bug 77102</a> - gallium nouveau has no profile in vdpau and libva</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77207">Bug 77207</a> - [ivb/hsw] batch overwritten with garbage</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Aaron Watry (1):</p>
|
||||
<ul>
|
||||
<li>gallium/util: Fix memory leak</li>
|
||||
</ul>
|
||||
|
||||
<p>Alexander von Gluck IV (1):</p>
|
||||
<ul>
|
||||
<li>haiku: Fix build through scons corrections and viewport fixes</li>
|
||||
</ul>
|
||||
|
||||
<p>Anuj Phogat (2):</p>
|
||||
<ul>
|
||||
<li>mesa: Set initial internal format of a texture to GL_RGBA</li>
|
||||
<li>mesa: Allow GL_DEPTH_COMPONENT and GL_DEPTH_STENCIL combinations in glTexImage{123}D()</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (12):</p>
|
||||
<ul>
|
||||
<li>softpipe: use 64-bit arithmetic in softpipe_resource_layout()</li>
|
||||
<li>mesa: don't call ctx->Driver.ClearBufferSubData() if size==0</li>
|
||||
<li>st/osmesa: check buffer size when searching for buffers</li>
|
||||
<li>mesa: fix copy & paste bugs in pack_ubyte_SARGB8()</li>
|
||||
<li>mesa: fix copy & paste bugs in pack_ubyte_SRGB8()</li>
|
||||
<li>c11/threads: don't include assert.h if the assert macro is already defined</li>
|
||||
<li>mesa: fix unpack_Z32_FLOAT_X24S8() / unpack_Z32_FLOAT() mix-up</li>
|
||||
<li>st/mesa: add null pointer checking in query object functions</li>
|
||||
<li>mesa: fix glMultiDrawArrays inside a display list</li>
|
||||
<li>cso: fix sampler view count in cso_set_sampler_views()</li>
|
||||
<li>svga: replace sampler assertion with conditional</li>
|
||||
<li>svga: move LIST_INITHEAD(dirty_buffers) earlier in svga_context_create()</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (3):</p>
|
||||
<ul>
|
||||
<li>cherry-ignore: Ignore a few patches</li>
|
||||
<li>glsl: Allow explicit binding on atomics again</li>
|
||||
<li>Update VERSION to 10.1.1</li>
|
||||
</ul>
|
||||
|
||||
<p>Chia-I Wu (1):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: fix record clearing in copy propagation</li>
|
||||
</ul>
|
||||
|
||||
<p>Christian König (2):</p>
|
||||
<ul>
|
||||
<li>st/mesa: recreate sampler view on context change v3</li>
|
||||
<li>st/mesa: fix sampler view handling with shared textures v4</li>
|
||||
</ul>
|
||||
|
||||
<p>Courtney Goeltzenleuchter (1):</p>
|
||||
<ul>
|
||||
<li>mesa: add bounds checking to eliminate buffer overrun</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (5):</p>
|
||||
<ul>
|
||||
<li>nv50: add missing brackets when handling the samplers array</li>
|
||||
<li>mesa: return v.value_int64 when the requested type is TYPE_INT64</li>
|
||||
<li>configure: enable dri3 only for linux</li>
|
||||
<li>glx: drop obsolete _XUnlock_Mutex in __glXInitialize error path</li>
|
||||
<li>configure: cleanup libudev handling</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (1):</p>
|
||||
<ul>
|
||||
<li>i965: Fix buffer overruns in MSAA MCS buffer clearing.</li>
|
||||
</ul>
|
||||
|
||||
<p>Hans (2):</p>
|
||||
<ul>
|
||||
<li>util: don't define isfinite(), isnan() for MSVC >= 1800</li>
|
||||
<li>mesa: don't define c99 math functions for MSVC >= 1800</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (7):</p>
|
||||
<ul>
|
||||
<li>linker: Split set_uniform_binding into separate functions for blocks and samplers</li>
|
||||
<li>linker: Various trivial clean-ups in set_sampler_binding</li>
|
||||
<li>linker: Fold set_uniform_binding into call site</li>
|
||||
<li>linker: Clean up "unused parameter" warnings</li>
|
||||
<li>linker: Set block bindings based on UniformBlocks rather than UniformStorage</li>
|
||||
<li>linker: Set binding for all elements of UBO array</li>
|
||||
<li>glsl: Propagate explicit binding information from the AST all the way to the linker</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (8):</p>
|
||||
<ul>
|
||||
<li>nouveau: fix fence waiting logic in screen destroy</li>
|
||||
<li>nv50: adjust blit_3d handling of ms output textures</li>
|
||||
<li>loader: add special logic to distinguish nouveau from nouveau_vieux</li>
|
||||
<li>mesa/main: condition GL_DEPTH_STENCIL on ARB_depth_texture</li>
|
||||
<li>nouveau: add forgotten GL_COMPRESSED_INTENSITY to texture format list</li>
|
||||
<li>nouveau: there may not have been a texture if the fbo was incomplete</li>
|
||||
<li>nvc0/ir: move sample id to second source arg to fix sampler2DMS</li>
|
||||
<li>nouveau: fix firmware check on nvd7/nvd9</li>
|
||||
</ul>
|
||||
|
||||
<p>Johannes Nixdorf (1):</p>
|
||||
<ul>
|
||||
<li>configure.ac: fix the detection of expat with pkg-config</li>
|
||||
</ul>
|
||||
|
||||
<p>Jonathan Gray (7):</p>
|
||||
<ul>
|
||||
<li>gallium: add endian detection for OpenBSD</li>
|
||||
<li>loader: use 0 instead of FALSE which isn't defined</li>
|
||||
<li>loader: don't limit the non-udev path to only android</li>
|
||||
<li>megadriver_stub.c: don't use _GNU_SOURCE to gate the compat code</li>
|
||||
<li>egl/dri2: don't require libudev to build drm/wayland platforms</li>
|
||||
<li>egl/dri2: use drm macros to construct device name</li>
|
||||
<li>configure: don't require libudev for gbm or egl drm/wayland</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (4):</p>
|
||||
<ul>
|
||||
<li>c11/threads: Fix nano to milisecond conversion.</li>
|
||||
<li>mapi/u_thread: Use GetCurrentThreadId</li>
|
||||
<li>c11/threads: Don't implement thrd_current on Windows.</li>
|
||||
<li>draw: Duplicate TGSI tokens in draw_pipe_pstipple module.</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (4):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Fix register comparisons in saturate propagation.</li>
|
||||
<li>glsl: Fix lack of i2u in lower_ubo_reference.</li>
|
||||
<li>i965: Stop advertising GL_MESA_ycbcr_texture.</li>
|
||||
<li>glsl: Try vectorizing when seeing a repeated assignment to a channel.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (13):</p>
|
||||
<ul>
|
||||
<li>r600g: fix texelFetchOffset GLSL functions</li>
|
||||
<li>r600g: fix blitting the last 2 mipmap levels for Evergreen</li>
|
||||
<li>mesa: fix the format of glEdgeFlagPointer</li>
|
||||
<li>r600g,radeonsi: fix MAX_TEXTURE_3D_LEVELS and MAX_TEXTURE_ARRAY_LAYERS limits</li>
|
||||
<li>st/mesa: fix per-vertex edge flags and GLSL support (v2)</li>
|
||||
<li>mesa: mark GL_RGB9_E5 as not color-renderable</li>
|
||||
<li>mesa: fix texture border handling for cube arrays</li>
|
||||
<li>mesa: allow generating mipmaps for cube arrays</li>
|
||||
<li>mesa: fix software fallback for generating mipmaps for cube arrays</li>
|
||||
<li>mesa: fix software fallback for generating mipmaps for 3D textures</li>
|
||||
<li>st/mesa: fix generating mipmaps for cube arrays</li>
|
||||
<li>st/mesa: drop the lowering of quad strips to triangle strips</li>
|
||||
<li>r600g: implement edge flags</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (4):</p>
|
||||
<ul>
|
||||
<li>mesa: Wrap SSE4.1 code in #ifdef __SSE4_1__.</li>
|
||||
<li>i965/fs: Fix off-by-one in saturate propagation.</li>
|
||||
<li>i965/fs: Don't propagate saturate modifiers into partial writes.</li>
|
||||
<li>i965/fs: Don't propagate saturation modifiers if there are source modifiers.</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>r600g: Don't leak bytecode on shader compile failure</li>
|
||||
</ul>
|
||||
|
||||
<p>Mike Stroyan (1):</p>
|
||||
<ul>
|
||||
<li>i965: Avoid dependency hints on math opcodes</li>
|
||||
</ul>
|
||||
|
||||
<p>Thomas Hellstrom (5):</p>
|
||||
<ul>
|
||||
<li>winsys/svga: Replace the query mm buffer pool with a slab pool v3</li>
|
||||
<li>winsys/svga: Update the vmwgfx_drm.h header to latest version from kernel</li>
|
||||
<li>winsys/svga: Fix prime surface references also for guest-backed surfaces</li>
|
||||
<li>st/xa: Bind destination before setting new state</li>
|
||||
<li>st/xa: Make sure unused samplers are set to NULL</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (1):</p>
|
||||
<ul>
|
||||
<li>configure: Use LLVM shared libraries by default</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,223 @@
|
|||
Mesa 10.1.1 Release Notes / April 18, 2014
|
||||
==========================================
|
||||
|
||||
Mesa 10.1.1 is a bug fix release which fixes bugs found since the 10.1
|
||||
release.
|
||||
|
||||
Mesa 10.1.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
96e63674ccfa98e7ec6eb4fee3f770c3 MesaLib-10.1.1.tar.gz
|
||||
1fde7ed079df7aeb9b6a744ca033de8d MesaLib-10.1.1.tar.bz2
|
||||
e64d0a562638664b13d2edf22321df59 MesaLib-10.1.1.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
- `Bug 71547 <https://bugs.freedesktop.org/show_bug.cgi?id=71547>`__ -
|
||||
compilation failure :#error "SSE4.1 instruction set not enabled"
|
||||
- `Bug 74868 <https://bugs.freedesktop.org/show_bug.cgi?id=74868>`__ -
|
||||
r600g: Diablo III Crashes After a few minutes
|
||||
- `Bug 74988 <https://bugs.freedesktop.org/show_bug.cgi?id=74988>`__ -
|
||||
Buffer overrun (segfault) decompressing ETC2 texture in GLBenchmark
|
||||
3.0 Manhattan
|
||||
- `Bug 75279 <https://bugs.freedesktop.org/show_bug.cgi?id=75279>`__ -
|
||||
XCloseDisplay() takes one minute around nouveau_dri.so, freezing
|
||||
Firefox startup
|
||||
- `Bug 75543 <https://bugs.freedesktop.org/show_bug.cgi?id=75543>`__ -
|
||||
OSMesa Gallium OSMesaMakeCurrent
|
||||
- `Bug 75660 <https://bugs.freedesktop.org/show_bug.cgi?id=75660>`__ -
|
||||
u_inlines.h:277:pipe_buffer_map_range: Assertion \`length' failed.
|
||||
- `Bug 76323 <https://bugs.freedesktop.org/show_bug.cgi?id=76323>`__ -
|
||||
GLSL compiler ignores layout(binding=N) on uniform blocks
|
||||
- `Bug 76377 <https://bugs.freedesktop.org/show_bug.cgi?id=76377>`__ -
|
||||
DRI3 should only be enabled on Linux due to a udev dependency
|
||||
- `Bug 76749 <https://bugs.freedesktop.org/show_bug.cgi?id=76749>`__ -
|
||||
[HSW] DOTA world lighting has no effect
|
||||
- `Bug 77102 <https://bugs.freedesktop.org/show_bug.cgi?id=77102>`__ -
|
||||
gallium nouveau has no profile in vdpau and libva
|
||||
- `Bug 77207 <https://bugs.freedesktop.org/show_bug.cgi?id=77207>`__ -
|
||||
[ivb/hsw] batch overwritten with garbage
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Aaron Watry (1):
|
||||
|
||||
- gallium/util: Fix memory leak
|
||||
|
||||
Alexander von Gluck IV (1):
|
||||
|
||||
- haiku: Fix build through scons corrections and viewport fixes
|
||||
|
||||
Anuj Phogat (2):
|
||||
|
||||
- mesa: Set initial internal format of a texture to GL_RGBA
|
||||
- mesa: Allow GL_DEPTH_COMPONENT and GL_DEPTH_STENCIL combinations in
|
||||
glTexImage{123}D()
|
||||
|
||||
Brian Paul (12):
|
||||
|
||||
- softpipe: use 64-bit arithmetic in softpipe_resource_layout()
|
||||
- mesa: don't call ctx->Driver.ClearBufferSubData() if size==0
|
||||
- st/osmesa: check buffer size when searching for buffers
|
||||
- mesa: fix copy & paste bugs in pack_ubyte_SARGB8()
|
||||
- mesa: fix copy & paste bugs in pack_ubyte_SRGB8()
|
||||
- c11/threads: don't include assert.h if the assert macro is already
|
||||
defined
|
||||
- mesa: fix unpack_Z32_FLOAT_X24S8() / unpack_Z32_FLOAT() mix-up
|
||||
- st/mesa: add null pointer checking in query object functions
|
||||
- mesa: fix glMultiDrawArrays inside a display list
|
||||
- cso: fix sampler view count in cso_set_sampler_views()
|
||||
- svga: replace sampler assertion with conditional
|
||||
- svga: move LIST_INITHEAD(dirty_buffers) earlier in
|
||||
svga_context_create()
|
||||
|
||||
Carl Worth (3):
|
||||
|
||||
- cherry-ignore: Ignore a few patches
|
||||
- glsl: Allow explicit binding on atomics again
|
||||
- Update VERSION to 10.1.1
|
||||
|
||||
Chia-I Wu (1):
|
||||
|
||||
- i965/vec4: fix record clearing in copy propagation
|
||||
|
||||
Christian König (2):
|
||||
|
||||
- st/mesa: recreate sampler view on context change v3
|
||||
- st/mesa: fix sampler view handling with shared textures v4
|
||||
|
||||
Courtney Goeltzenleuchter (1):
|
||||
|
||||
- mesa: add bounds checking to eliminate buffer overrun
|
||||
|
||||
Emil Velikov (5):
|
||||
|
||||
- nv50: add missing brackets when handling the samplers array
|
||||
- mesa: return v.value_int64 when the requested type is TYPE_INT64
|
||||
- configure: enable dri3 only for linux
|
||||
- glx: drop obsolete \_XUnlock_Mutex in \__glXInitialize error path
|
||||
- configure: cleanup libudev handling
|
||||
|
||||
Eric Anholt (1):
|
||||
|
||||
- i965: Fix buffer overruns in MSAA MCS buffer clearing.
|
||||
|
||||
Hans (2):
|
||||
|
||||
- util: don't define isfinite(), isnan() for MSVC >= 1800
|
||||
- mesa: don't define c99 math functions for MSVC >= 1800
|
||||
|
||||
Ian Romanick (7):
|
||||
|
||||
- linker: Split set_uniform_binding into separate functions for blocks
|
||||
and samplers
|
||||
- linker: Various trivial clean-ups in set_sampler_binding
|
||||
- linker: Fold set_uniform_binding into call site
|
||||
- linker: Clean up "unused parameter" warnings
|
||||
- linker: Set block bindings based on UniformBlocks rather than
|
||||
UniformStorage
|
||||
- linker: Set binding for all elements of UBO array
|
||||
- glsl: Propagate explicit binding information from the AST all the way
|
||||
to the linker
|
||||
|
||||
Ilia Mirkin (8):
|
||||
|
||||
- nouveau: fix fence waiting logic in screen destroy
|
||||
- nv50: adjust blit_3d handling of ms output textures
|
||||
- loader: add special logic to distinguish nouveau from nouveau_vieux
|
||||
- mesa/main: condition GL_DEPTH_STENCIL on ARB_depth_texture
|
||||
- nouveau: add forgotten GL_COMPRESSED_INTENSITY to texture format list
|
||||
- nouveau: there may not have been a texture if the fbo was incomplete
|
||||
- nvc0/ir: move sample id to second source arg to fix sampler2DMS
|
||||
- nouveau: fix firmware check on nvd7/nvd9
|
||||
|
||||
Johannes Nixdorf (1):
|
||||
|
||||
- configure.ac: fix the detection of expat with pkg-config
|
||||
|
||||
Jonathan Gray (7):
|
||||
|
||||
- gallium: add endian detection for OpenBSD
|
||||
- loader: use 0 instead of FALSE which isn't defined
|
||||
- loader: don't limit the non-udev path to only android
|
||||
- megadriver_stub.c: don't use \_GNU_SOURCE to gate the compat code
|
||||
- egl/dri2: don't require libudev to build drm/wayland platforms
|
||||
- egl/dri2: use drm macros to construct device name
|
||||
- configure: don't require libudev for gbm or egl drm/wayland
|
||||
|
||||
José Fonseca (4):
|
||||
|
||||
- c11/threads: Fix nano to milisecond conversion.
|
||||
- mapi/u_thread: Use GetCurrentThreadId
|
||||
- c11/threads: Don't implement thrd_current on Windows.
|
||||
- draw: Duplicate TGSI tokens in draw_pipe_pstipple module.
|
||||
|
||||
Kenneth Graunke (4):
|
||||
|
||||
- i965/fs: Fix register comparisons in saturate propagation.
|
||||
- glsl: Fix lack of i2u in lower_ubo_reference.
|
||||
- i965: Stop advertising GL_MESA_ycbcr_texture.
|
||||
- glsl: Try vectorizing when seeing a repeated assignment to a channel.
|
||||
|
||||
Marek Olšák (13):
|
||||
|
||||
- r600g: fix texelFetchOffset GLSL functions
|
||||
- r600g: fix blitting the last 2 mipmap levels for Evergreen
|
||||
- mesa: fix the format of glEdgeFlagPointer
|
||||
- r600g,radeonsi: fix MAX_TEXTURE_3D_LEVELS and
|
||||
MAX_TEXTURE_ARRAY_LAYERS limits
|
||||
- st/mesa: fix per-vertex edge flags and GLSL support (v2)
|
||||
- mesa: mark GL_RGB9_E5 as not color-renderable
|
||||
- mesa: fix texture border handling for cube arrays
|
||||
- mesa: allow generating mipmaps for cube arrays
|
||||
- mesa: fix software fallback for generating mipmaps for cube arrays
|
||||
- mesa: fix software fallback for generating mipmaps for 3D textures
|
||||
- st/mesa: fix generating mipmaps for cube arrays
|
||||
- st/mesa: drop the lowering of quad strips to triangle strips
|
||||
- r600g: implement edge flags
|
||||
|
||||
Matt Turner (4):
|
||||
|
||||
- mesa: Wrap SSE4.1 code in #ifdef \__SSE4_1__.
|
||||
- i965/fs: Fix off-by-one in saturate propagation.
|
||||
- i965/fs: Don't propagate saturate modifiers into partial writes.
|
||||
- i965/fs: Don't propagate saturation modifiers if there are source
|
||||
modifiers.
|
||||
|
||||
Michel Dänzer (1):
|
||||
|
||||
- r600g: Don't leak bytecode on shader compile failure
|
||||
|
||||
Mike Stroyan (1):
|
||||
|
||||
- i965: Avoid dependency hints on math opcodes
|
||||
|
||||
Thomas Hellstrom (5):
|
||||
|
||||
- winsys/svga: Replace the query mm buffer pool with a slab pool v3
|
||||
- winsys/svga: Update the vmwgfx_drm.h header to latest version from
|
||||
kernel
|
||||
- winsys/svga: Fix prime surface references also for guest-backed
|
||||
surfaces
|
||||
- st/xa: Bind destination before setting new state
|
||||
- st/xa: Make sure unused samplers are set to NULL
|
||||
|
||||
Tom Stellard (1):
|
||||
|
||||
- configure: Use LLVM shared libraries by default
|
|
@ -1,179 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.1.2 Release Notes / (May 5, 2014)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.2 is a bug fix release which fixes bugs found since the 10.1.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.1.2 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
37d79f94b1f41852a89d1fc3900bea76 MesaLib-10.1.2.tar.gz
|
||||
28b60d15ac9f364da1e0155911eaf44e MesaLib-10.1.2.tar.bz2
|
||||
05300039085a65fc53c5472c4bb5747a MesaLib-10.1.2.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=27499">Bug 27499</a> - [855GM i915] GL_LINE_STIPPLE displays incorrect colors</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=75723">Bug 75723</a> - (regression since Linux 3.14?) brw_get_graphics_reset_status: Assertion `brw->hw_ctx != ((void *)0)' failed</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76894">Bug 76894</a> - Piglit/spec/EXT_framebuffer_object/fbo-bind-renderbuffer failed</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77702">Bug 77702</a> - [i965 Bisected]Piglit spec/NV_conditional_render_blitframebuffer fails</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Ander Conselvan de Oliveira (2):</p>
|
||||
<ul>
|
||||
<li>gbm/dri: Fix out-of-memory error path in dri_device_create()</li>
|
||||
<li>egl: Protect use of gbm_dri with ifdef HAVE_DRM_PLATFORM</li>
|
||||
</ul>
|
||||
|
||||
<p>Anuj Phogat (27):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix glGetVertexAttribi(GL_VERTEX_ATTRIB_ARRAY_SIZE)</li>
|
||||
<li>swrast: Add glBlitFramebuffer to commands affected by conditional rendering</li>
|
||||
<li>mesa: Fix error condition for multisample proxy texture targets</li>
|
||||
<li>i965: Put an assertion to check valid varying_to_slot[varying]</li>
|
||||
<li>i965: Fix component mask and varying_to_slot mapping for gl_Layer</li>
|
||||
<li>i965: Fix component mask and varying_to_slot mapping for gl_ViewportIndex</li>
|
||||
<li>mesa: Add helper function _mesa_is_format_integer()</li>
|
||||
<li>mesa: Add error condition for integer formats in glGetTexImage()</li>
|
||||
<li>mesa: Add an error condition in glGetFramebufferAttachmentParameteriv()</li>
|
||||
<li>mesa: Fix error code generation in glReadPixels()</li>
|
||||
<li>glsl: Allow overlapping locations for vertex input attributes</li>
|
||||
<li>mesa: Fix querying location of nth element of an array variable</li>
|
||||
<li>mesa: Use location VERT_ATTRIB_GENERIC0 for vertex attribute 0</li>
|
||||
<li>glsl: Compile error if fs defines conflicting qualifiers for gl_FragCoord</li>
|
||||
<li>glsl: Compile error if fs uses gl_FragCoord before first redeclaration</li>
|
||||
<li>mesa: Add entry for extension ARB_texture_stencil8</li>
|
||||
<li>mesa: Add error condition for format=STENCIL_INDEX in glGetTexImage()</li>
|
||||
<li>i965: Fix crash in do_blit_readpixels()</li>
|
||||
<li>mesa: Add missing types in _mesa_texstore_xx_xx() functions</li>
|
||||
<li>mesa: Allow srcFormat=GL_DEPTH_STENCIL in _mesa_texstore_xx_xx() functions</li>
|
||||
<li>mesa: Add new helper function _mesa_unpack_depth_stencil_row()</li>
|
||||
<li>mesa: Add support to unpack depth-stencil texture in to FLOAT_32_UNSIGNED_INT_24_8_REV</li>
|
||||
<li>mesa: Allow FLOAT_32_UNSIGNED_INT_24_8_REV in get_tex_depth_stencil()</li>
|
||||
<li>i965: Add glBlitFramebuffer to commands affected by conditional rendering</li>
|
||||
<li>glsl: Use switch to allow adding more shader types</li>
|
||||
<li>glsl: Link error if fs defines conflicting qualifiers for gl_FragCoord</li>
|
||||
<li>glsl: Apply the link error conditions to GL_ARB_fragment_coord_conventions</li>
|
||||
</ul>
|
||||
|
||||
<p>Benjamin Bellec (1):</p>
|
||||
<ul>
|
||||
<li>mesa: fix GetStringi error message with correct function name</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>swrast: allocate swrast_texture_image::ImageSlices array if needed</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (4):</p>
|
||||
<ul>
|
||||
<li>docs: Add the MD5 sums for the 10.1.1 release tar files.</li>
|
||||
<li>cherry-ignore: Ignore a patch causing a regression</li>
|
||||
<li>cherry-ignore: Drop an ignored patch now that piglit has been updated.</li>
|
||||
<li>Update VERSION to 10.1.2</li>
|
||||
</ul>
|
||||
|
||||
<p>Chris Forbes (1):</p>
|
||||
<ul>
|
||||
<li>glsl: Only allow `invariant` on shader in/out between stages.</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (1):</p>
|
||||
<ul>
|
||||
<li>i965: Fix render-to-texture in non-FinishRenderTexture cases.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (1):</p>
|
||||
<ul>
|
||||
<li>dri3: Enable GLX_MESA_query_renderer on DRI3 too</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>i965: Don't enable reset notification support on Gen4-5.</li>
|
||||
<li>i965: Actually emit PIPELINE_SELECT and 3DSTATE_VF_STATISTICS.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (10):</p>
|
||||
<ul>
|
||||
<li>r300g: don't crash when getting NULL colorbuffers</li>
|
||||
<li>st/mesa: remove trailing NULL colorbuffers</li>
|
||||
<li>r600g: fix edge flags and layered rendering on R600-R700</li>
|
||||
<li>r600g: disable async DMA on R700</li>
|
||||
<li>r600g: fix MSAA resolve on R6xx when the destination is 1D-tiled</li>
|
||||
<li>r600g: fix flushing on RV670, RS780, RS880 again</li>
|
||||
<li>r600g: fix buffer copying on R600-R700</li>
|
||||
<li>r600g: fix for broken CULL_FRONT behavior on R6xx</li>
|
||||
<li>r600g: fix for an MSAA hang on RV770</li>
|
||||
<li>r600g: fix hang on RV740 by using DX_RASTERIZATION_KILL instead of SX_MISC</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (2):</p>
|
||||
<ul>
|
||||
<li>r600g: Disable LLVM by default at runtime for graphics</li>
|
||||
<li>st/mesa: Fix NULL pointer dereference for incomplete framebuffers</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (1):</p>
|
||||
<ul>
|
||||
<li>wayland: Fix the logic in disabling the prime capability</li>
|
||||
</ul>
|
||||
|
||||
<p>Samuel Iglesias Gonsalvez (1):</p>
|
||||
<ul>
|
||||
<li>mesa: fix check for dummy renderbuffer in _mesa_FramebufferRenderbufferEXT()</li>
|
||||
</ul>
|
||||
|
||||
<p>Thomas Hellstrom (1):</p>
|
||||
<ul>
|
||||
<li>st/xa: Cache render target surface</li>
|
||||
</ul>
|
||||
|
||||
<p>nick (1):</p>
|
||||
<ul>
|
||||
<li>swrast: Fix vertex color in _swsetup_Translate()</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,159 @@
|
|||
Mesa 10.1.2 Release Notes / (May 5, 2014)
|
||||
=========================================
|
||||
|
||||
Mesa 10.1.2 is a bug fix release which fixes bugs found since the 10.1.1
|
||||
release.
|
||||
|
||||
Mesa 10.1.2 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
37d79f94b1f41852a89d1fc3900bea76 MesaLib-10.1.2.tar.gz
|
||||
28b60d15ac9f364da1e0155911eaf44e MesaLib-10.1.2.tar.bz2
|
||||
05300039085a65fc53c5472c4bb5747a MesaLib-10.1.2.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 27499 <https://bugs.freedesktop.org/show_bug.cgi?id=27499>`__ -
|
||||
[855GM i915] GL_LINE_STIPPLE displays incorrect colors
|
||||
- `Bug 75723 <https://bugs.freedesktop.org/show_bug.cgi?id=75723>`__ -
|
||||
(regression since Linux 3.14?) brw_get_graphics_reset_status:
|
||||
Assertion \`brw->hw_ctx != ((void \*)0)' failed
|
||||
- `Bug 76894 <https://bugs.freedesktop.org/show_bug.cgi?id=76894>`__ -
|
||||
Piglit/spec/EXT_framebuffer_object/fbo-bind-renderbuffer failed
|
||||
- `Bug 77702 <https://bugs.freedesktop.org/show_bug.cgi?id=77702>`__ -
|
||||
[i965 Bisected]Piglit spec/NV_conditional_render_blitframebuffer
|
||||
fails
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Ander Conselvan de Oliveira (2):
|
||||
|
||||
- gbm/dri: Fix out-of-memory error path in dri_device_create()
|
||||
- egl: Protect use of gbm_dri with ifdef HAVE_DRM_PLATFORM
|
||||
|
||||
Anuj Phogat (27):
|
||||
|
||||
- mesa: Fix glGetVertexAttribi(GL_VERTEX_ATTRIB_ARRAY_SIZE)
|
||||
- swrast: Add glBlitFramebuffer to commands affected by conditional
|
||||
rendering
|
||||
- mesa: Fix error condition for multisample proxy texture targets
|
||||
- i965: Put an assertion to check valid varying_to_slot[varying]
|
||||
- i965: Fix component mask and varying_to_slot mapping for gl_Layer
|
||||
- i965: Fix component mask and varying_to_slot mapping for
|
||||
gl_ViewportIndex
|
||||
- mesa: Add helper function \_mesa_is_format_integer()
|
||||
- mesa: Add error condition for integer formats in glGetTexImage()
|
||||
- mesa: Add an error condition in
|
||||
glGetFramebufferAttachmentParameteriv()
|
||||
- mesa: Fix error code generation in glReadPixels()
|
||||
- glsl: Allow overlapping locations for vertex input attributes
|
||||
- mesa: Fix querying location of nth element of an array variable
|
||||
- mesa: Use location VERT_ATTRIB_GENERIC0 for vertex attribute 0
|
||||
- glsl: Compile error if fs defines conflicting qualifiers for
|
||||
gl_FragCoord
|
||||
- glsl: Compile error if fs uses gl_FragCoord before first
|
||||
redeclaration
|
||||
- mesa: Add entry for extension ARB_texture_stencil8
|
||||
- mesa: Add error condition for format=STENCIL_INDEX in glGetTexImage()
|
||||
- i965: Fix crash in do_blit_readpixels()
|
||||
- mesa: Add missing types in \_mesa_texstore_xx_xx() functions
|
||||
- mesa: Allow srcFormat=GL_DEPTH_STENCIL in \_mesa_texstore_xx_xx()
|
||||
functions
|
||||
- mesa: Add new helper function \_mesa_unpack_depth_stencil_row()
|
||||
- mesa: Add support to unpack depth-stencil texture in to
|
||||
FLOAT_32_UNSIGNED_INT_24_8_REV
|
||||
- mesa: Allow FLOAT_32_UNSIGNED_INT_24_8_REV in get_tex_depth_stencil()
|
||||
- i965: Add glBlitFramebuffer to commands affected by conditional
|
||||
rendering
|
||||
- glsl: Use switch to allow adding more shader types
|
||||
- glsl: Link error if fs defines conflicting qualifiers for
|
||||
gl_FragCoord
|
||||
- glsl: Apply the link error conditions to
|
||||
GL_ARB_fragment_coord_conventions
|
||||
|
||||
Benjamin Bellec (1):
|
||||
|
||||
- mesa: fix GetStringi error message with correct function name
|
||||
|
||||
Brian Paul (1):
|
||||
|
||||
- swrast: allocate swrast_texture_image::ImageSlices array if needed
|
||||
|
||||
Carl Worth (4):
|
||||
|
||||
- docs: Add the MD5 sums for the 10.1.1 release tar files.
|
||||
- cherry-ignore: Ignore a patch causing a regression
|
||||
- cherry-ignore: Drop an ignored patch now that piglit has been
|
||||
updated.
|
||||
- Update VERSION to 10.1.2
|
||||
|
||||
Chris Forbes (1):
|
||||
|
||||
- glsl: Only allow \`invariant\` on shader in/out between stages.
|
||||
|
||||
Eric Anholt (1):
|
||||
|
||||
- i965: Fix render-to-texture in non-FinishRenderTexture cases.
|
||||
|
||||
Ian Romanick (1):
|
||||
|
||||
- dri3: Enable GLX_MESA_query_renderer on DRI3 too
|
||||
|
||||
Kenneth Graunke (2):
|
||||
|
||||
- i965: Don't enable reset notification support on Gen4-5.
|
||||
- i965: Actually emit PIPELINE_SELECT and 3DSTATE_VF_STATISTICS.
|
||||
|
||||
Marek Olšák (10):
|
||||
|
||||
- r300g: don't crash when getting NULL colorbuffers
|
||||
- st/mesa: remove trailing NULL colorbuffers
|
||||
- r600g: fix edge flags and layered rendering on R600-R700
|
||||
- r600g: disable async DMA on R700
|
||||
- r600g: fix MSAA resolve on R6xx when the destination is 1D-tiled
|
||||
- r600g: fix flushing on RV670, RS780, RS880 again
|
||||
- r600g: fix buffer copying on R600-R700
|
||||
- r600g: fix for broken CULL_FRONT behavior on R6xx
|
||||
- r600g: fix for an MSAA hang on RV770
|
||||
- r600g: fix hang on RV740 by using DX_RASTERIZATION_KILL instead of
|
||||
SX_MISC
|
||||
|
||||
Michel Dänzer (2):
|
||||
|
||||
- r600g: Disable LLVM by default at runtime for graphics
|
||||
- st/mesa: Fix NULL pointer dereference for incomplete framebuffers
|
||||
|
||||
Neil Roberts (1):
|
||||
|
||||
- wayland: Fix the logic in disabling the prime capability
|
||||
|
||||
Samuel Iglesias Gonsalvez (1):
|
||||
|
||||
- mesa: fix check for dummy renderbuffer in
|
||||
\_mesa_FramebufferRenderbufferEXT()
|
||||
|
||||
Thomas Hellstrom (1):
|
||||
|
||||
- st/xa: Cache render target surface
|
||||
|
||||
nick (1):
|
||||
|
||||
- swrast: Fix vertex color in \_swsetup_Translate()
|
|
@ -1,90 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.1.3 Release Notes / (May 9, 2014)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.3 is a bug fix release which fixes bugs found since the 10.1.2 release.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Note: Mesa 10.1.3 is being released sooner than originally scheduled to make
|
||||
available a fix for a performance rgression that was inadvertently introduced
|
||||
to Mesa 10.1.2. The performance regression is reported to make vmware
|
||||
swapbuffers fall back to software.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.3 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
665fe1656aaa2c37b32042068aff92cb MesaLib-10.1.3.tar.gz
|
||||
ba6dbe2b9cab0b4de840c996b9b6a3ad MesaLib-10.1.3.tar.bz2
|
||||
4e6f26330a63d3c47e62ac4bdead39e8 MesaLib-10.1.3.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77245">Bug 77245</a> - Bogus GL_ARB_explicit_attrib_location layout identifier warnings</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Carl Worth (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add MD5 sums for Mesa 10.1.2</li>
|
||||
<li>get-pick-list.sh: Require explicit "10.1" for nominating stable patches</li>
|
||||
<li>VERSION: Update to 10.1.3</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (2):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix MaxNumLayers for 1D array textures.</li>
|
||||
<li>i965: Fix depth (array slices) computation for 1D_ARRAY render targets.</li>
|
||||
</ul>
|
||||
|
||||
<p>Tapani Pälli (1):</p>
|
||||
<ul>
|
||||
<li>glsl: fix bogus layout qualifier warnings</li>
|
||||
</ul>
|
||||
|
||||
<p>Thomas Hellstrom (1):</p>
|
||||
<ul>
|
||||
<li>st/xa: Fix performance regression introduced by commit "Cache render target surface"</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,64 @@
|
|||
Mesa 10.1.3 Release Notes / (May 9, 2014)
|
||||
=========================================
|
||||
|
||||
Mesa 10.1.3 is a bug fix release which fixes bugs found since the 10.1.2
|
||||
release.
|
||||
|
||||
Note: Mesa 10.1.3 is being released sooner than originally scheduled to
|
||||
make available a fix for a performance rgression that was inadvertently
|
||||
introduced to Mesa 10.1.2. The performance regression is reported to
|
||||
make vmware swapbuffers fall back to software.
|
||||
|
||||
Mesa 10.1.3 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
665fe1656aaa2c37b32042068aff92cb MesaLib-10.1.3.tar.gz
|
||||
ba6dbe2b9cab0b4de840c996b9b6a3ad MesaLib-10.1.3.tar.bz2
|
||||
4e6f26330a63d3c47e62ac4bdead39e8 MesaLib-10.1.3.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 77245 <https://bugs.freedesktop.org/show_bug.cgi?id=77245>`__ -
|
||||
Bogus GL_ARB_explicit_attrib_location layout identifier warnings
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Carl Worth (3):
|
||||
|
||||
- docs: Add MD5 sums for Mesa 10.1.2
|
||||
- get-pick-list.sh: Require explicit "10.1" for nominating stable
|
||||
patches
|
||||
- VERSION: Update to 10.1.3
|
||||
|
||||
Kenneth Graunke (2):
|
||||
|
||||
- mesa: Fix MaxNumLayers for 1D array textures.
|
||||
- i965: Fix depth (array slices) computation for 1D_ARRAY render
|
||||
targets.
|
||||
|
||||
Tapani Pälli (1):
|
||||
|
||||
- glsl: fix bogus layout qualifier warnings
|
||||
|
||||
Thomas Hellstrom (1):
|
||||
|
||||
- st/xa: Fix performance regression introduced by commit "Cache render
|
||||
target surface"
|
|
@ -1,100 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.1.4 Release Notes / (May 20, 2014)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.4 is a bug fix release which fixes bugs found since the 10.1.3 release.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
e934365d77f384bfaec844999440bef8 MesaLib-10.1.4.tar.gz
|
||||
6fddee101f49b7409cd29994c34ddee7 MesaLib-10.1.4.tar.bz2
|
||||
ba5f48e7d5e373922c804c2651fec6c1 MesaLib-10.1.4.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78225">Bug 78225</a> - Compile error due to undefined reference to `gbm_dri_backend', fix attached</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78537">Bug 78537</a> - no anisotropic filtering in a native Half-Life 2</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>mesa: fix double-freeing of dispatch tables inside glBegin/End.</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add MD5 sums for 10.1.3</li>
|
||||
<li>cherry-ignore: Roland and Michel agreed to drop these patches.</li>
|
||||
<li>VERSION: Update to 10.1.4</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (1):</p>
|
||||
<ul>
|
||||
<li>configure: error out if building GBM without dri</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (1):</p>
|
||||
<ul>
|
||||
<li>i965/vs: Use samplers for UBOs in the VS like we do for non-UBO pulls.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (3):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: make sure to reverse cond codes on all the OP_SET variants</li>
|
||||
<li>nv50: fix setting of texture ms info to be per-stage</li>
|
||||
<li>nv50/ir: fix integer mul lowering for u32 x u32 -> high u32</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: Fix anisotropic filtering state setup</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (2):</p>
|
||||
<ul>
|
||||
<li>configure.ac: Add LLVM_VERSION_PATCH to DEFINES</li>
|
||||
<li>radeonsi: Enable geometry shaders with LLVM 3.4.1</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,74 @@
|
|||
Mesa 10.1.4 Release Notes / (May 20, 2014)
|
||||
==========================================
|
||||
|
||||
Mesa 10.1.4 is a bug fix release which fixes bugs found since the 10.1.3
|
||||
release.
|
||||
|
||||
Mesa 10.1.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
e934365d77f384bfaec844999440bef8 MesaLib-10.1.4.tar.gz
|
||||
6fddee101f49b7409cd29994c34ddee7 MesaLib-10.1.4.tar.bz2
|
||||
ba5f48e7d5e373922c804c2651fec6c1 MesaLib-10.1.4.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 78225 <https://bugs.freedesktop.org/show_bug.cgi?id=78225>`__ -
|
||||
Compile error due to undefined reference to \`gbm_dri_backend', fix
|
||||
attached
|
||||
- `Bug 78537 <https://bugs.freedesktop.org/show_bug.cgi?id=78537>`__ -
|
||||
no anisotropic filtering in a native Half-Life 2
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Brian Paul (1):
|
||||
|
||||
- mesa: fix double-freeing of dispatch tables inside glBegin/End.
|
||||
|
||||
Carl Worth (3):
|
||||
|
||||
- docs: Add MD5 sums for 10.1.3
|
||||
- cherry-ignore: Roland and Michel agreed to drop these patches.
|
||||
- VERSION: Update to 10.1.4
|
||||
|
||||
Emil Velikov (1):
|
||||
|
||||
- configure: error out if building GBM without dri
|
||||
|
||||
Eric Anholt (1):
|
||||
|
||||
- i965/vs: Use samplers for UBOs in the VS like we do for non-UBO
|
||||
pulls.
|
||||
|
||||
Ilia Mirkin (3):
|
||||
|
||||
- nv50/ir: make sure to reverse cond codes on all the OP_SET variants
|
||||
- nv50: fix setting of texture ms info to be per-stage
|
||||
- nv50/ir: fix integer mul lowering for u32 x u32 -> high u32
|
||||
|
||||
Michel Dänzer (1):
|
||||
|
||||
- radeonsi: Fix anisotropic filtering state setup
|
||||
|
||||
Tom Stellard (2):
|
||||
|
||||
- configure.ac: Add LLVM_VERSION_PATCH to DEFINES
|
||||
- radeonsi: Enable geometry shaders with LLVM 3.4.1
|
|
@ -1,105 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.1.5 Release Notes / (June 6, 2014)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.5 is a bug fix release which fixes bugs found since the 10.1.4 release.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
b0aceaa75bc9a9b2d9215a113e2ad488b5cf85c99005a7624f8cf7c37c5d0eaa MesaLib-10.1.5.tar.gz
|
||||
bc6c5ec7836f254a49d055a29d9aa34c97c54c038f47ad3a00fa57a5fef15bbc MesaLib-10.1.5.tar.bz2
|
||||
78b7255cab0af7918945452a84de7989096ebcdd27e99b31c56c0589274cbc77 MesaLib-10.1.5.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79115">Bug 79115</a> - </li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79421">Bug 79421</a> - </li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>glsl: fix use-after free bug/crash in ast_declarator_list::hir()</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (5):</p>
|
||||
<ul>
|
||||
<li>docs: Add md5sums for 10.1.4 release</li>
|
||||
<li>Merge remote-tracking branch 'origin/10.1' into 10.1</li>
|
||||
<li>cherry-ignore: Ignore two commits.</li>
|
||||
<li>Ignore a patch that is not needed for the 10.1 branch.</li>
|
||||
<li>Update version to 10.1.5</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (1):</p>
|
||||
<ul>
|
||||
<li>glx: do not leak dri3Display</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (2):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: fix s32 x s32 -> high s32 multiply logic</li>
|
||||
<li>nv50/ir: fix constant folding for OP_MUL subop HIGH</li>
|
||||
</ul>
|
||||
|
||||
<p>James Legg (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix unbinding GL_DEPTH_STENCIL_ATTACHMENT</li>
|
||||
</ul>
|
||||
|
||||
<p>Jeremy Huddleston Sequoia (2):</p>
|
||||
<ul>
|
||||
<li>glapi: Avoid heap corruption in _glapi_table</li>
|
||||
<li>darwin: Fix test for kCGLPFAOpenGLProfile support at runtime</li>
|
||||
</ul>
|
||||
|
||||
<p>Pavel Popov (2):</p>
|
||||
<ul>
|
||||
<li>i965: Properly return *RESET* status in glGetGraphicsResetStatusARB</li>
|
||||
<li>i965: Fix Line Stipple enable bit in 3DSTATE_SF for Haswell.</li>
|
||||
</ul>
|
||||
|
||||
<p>Roland Scheidegger (1):</p>
|
||||
<ul>
|
||||
<li>llvmpipe: fix crash when not all attachments are populated in a fb</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,76 @@
|
|||
Mesa 10.1.5 Release Notes / (June 6, 2014)
|
||||
==========================================
|
||||
|
||||
Mesa 10.1.5 is a bug fix release which fixes bugs found since the 10.1.4
|
||||
release.
|
||||
|
||||
Mesa 10.1.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
SHA256 checksums
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
b0aceaa75bc9a9b2d9215a113e2ad488b5cf85c99005a7624f8cf7c37c5d0eaa MesaLib-10.1.5.tar.gz
|
||||
bc6c5ec7836f254a49d055a29d9aa34c97c54c038f47ad3a00fa57a5fef15bbc MesaLib-10.1.5.tar.bz2
|
||||
78b7255cab0af7918945452a84de7989096ebcdd27e99b31c56c0589274cbc77 MesaLib-10.1.5.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 79115 <https://bugs.freedesktop.org/show_bug.cgi?id=79115>`__ -
|
||||
- `Bug 79421 <https://bugs.freedesktop.org/show_bug.cgi?id=79421>`__ -
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Brian Paul (1):
|
||||
|
||||
- glsl: fix use-after free bug/crash in ast_declarator_list::hir()
|
||||
|
||||
Carl Worth (5):
|
||||
|
||||
- docs: Add md5sums for 10.1.4 release
|
||||
- Merge remote-tracking branch 'origin/10.1' into 10.1
|
||||
- cherry-ignore: Ignore two commits.
|
||||
- Ignore a patch that is not needed for the 10.1 branch.
|
||||
- Update version to 10.1.5
|
||||
|
||||
Emil Velikov (1):
|
||||
|
||||
- glx: do not leak dri3Display
|
||||
|
||||
Ilia Mirkin (2):
|
||||
|
||||
- nv50/ir: fix s32 x s32 -> high s32 multiply logic
|
||||
- nv50/ir: fix constant folding for OP_MUL subop HIGH
|
||||
|
||||
James Legg (1):
|
||||
|
||||
- mesa: Fix unbinding GL_DEPTH_STENCIL_ATTACHMENT
|
||||
|
||||
Jeremy Huddleston Sequoia (2):
|
||||
|
||||
- glapi: Avoid heap corruption in \_glapi_table
|
||||
- darwin: Fix test for kCGLPFAOpenGLProfile support at runtime
|
||||
|
||||
Pavel Popov (2):
|
||||
|
||||
- i965: Properly return \*RESET\* status in glGetGraphicsResetStatusARB
|
||||
- i965: Fix Line Stipple enable bit in 3DSTATE_SF for Haswell.
|
||||
|
||||
Roland Scheidegger (1):
|
||||
|
||||
- llvmpipe: fix crash when not all attachments are populated in a fb
|
|
@ -1,138 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.1.6 Release Notes / (June 24, 2014)</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.6 is a bug fix release which fixes bugs found since the 10.1.5 release.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Mesa 10.1.6 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
cde60e06b340d7598802fe4a4484b3fb8befd714f9ab9caabe1f27d3149e8815 MesaLib-10.1.6.tar.bz2
|
||||
e4e726d7805a442f7ed07d12f71335e6126796ec85328a5989eb5348a8042d00 MesaLib-10.1.6.tar.gz
|
||||
bf7e3f721a7ad0c2057a034834b6fea688e64f26a66cf8d1caa2827e405e72dd MesaLib-10.1.6.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54372">Bug 54372</a> - GLX_INTEL_swap_event crashes driver when swapping window buffers</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74005">Bug 74005</a> - [i965 Bisected]Piglit/glx_glx-make-glxdrawable-current fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78581">Bug 78581</a> - </li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79729">Bug 79729</a> - [i965] glClear on a multisample texture doesn't work</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Adrian Negreanu (7):</p>
|
||||
<ul>
|
||||
<li>add megadriver_stub_FILES</li>
|
||||
<li>android: adapt to the megadriver mechanism</li>
|
||||
<li>android: add libloader to libGLES_mesa and libmesa_egl_dri2</li>
|
||||
<li>android: add src/gallium/auxiliary as include path for libmesa_dricore</li>
|
||||
<li>android, egl: add correct drm include for libmesa_egl_dri2</li>
|
||||
<li>android, mesa_gen_matypes: pull in timespec POSIX definition</li>
|
||||
<li>android, dricore: undefined reference to _mesa_streaming_load_memcpy</li>
|
||||
</ul>
|
||||
|
||||
<p>Beren Minor (1):</p>
|
||||
<ul>
|
||||
<li>egl/main: Fix eglMakeCurrent when releasing context from current thread.</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add SHA256 checksums for the 10.1.5 release</li>
|
||||
<li>cherry-ignore: Add a patch to ignore</li>
|
||||
<li>Update VERSION to 10.1.6</li>
|
||||
</ul>
|
||||
|
||||
<p>Daniel Manjarres (1):</p>
|
||||
<ul>
|
||||
<li>glx: Don't crash on swap event for a Window (non-GLXWindow)</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (1):</p>
|
||||
<ul>
|
||||
<li>configure: error out when building opencl without LLVM</li>
|
||||
</ul>
|
||||
|
||||
<p>Iago Toral Quiroga (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (3):</p>
|
||||
<ul>
|
||||
<li>mesa/main: Make get_hash.c values constant.</li>
|
||||
<li>mesa: Make glGetIntegerv(GL_*_ARRAY_SIZE) return GL_BGRA.</li>
|
||||
<li>mesa/main: Prevent sefgault on glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).</li>
|
||||
</ul>
|
||||
|
||||
<p>Kristian Høgsberg (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Remove glClear optimization based on drawable size</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>configure: Only check for OpenCL without LLVM when the latter is certain</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (1):</p>
|
||||
<ul>
|
||||
<li>i965: Set the fast clear color value for texture surfaces</li>
|
||||
</ul>
|
||||
|
||||
<p>Roland Scheidegger (1):</p>
|
||||
<ul>
|
||||
<li>draw: (trivial) fix clamping of viewport index</li>
|
||||
</ul>
|
||||
|
||||
<p>Tobias Klausmann (1):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: clear subop when folding constant expressions</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (2):</p>
|
||||
<ul>
|
||||
<li>clover: Prevent Clang from printing number of errors and warnings to stderr.</li>
|
||||
<li>clover: Don't use llvm's global context</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,110 @@
|
|||
Mesa 10.1.6 Release Notes / (June 24, 2014)
|
||||
===========================================
|
||||
|
||||
Mesa 10.1.6 is a bug fix release which fixes bugs found since the 10.1.5
|
||||
release.
|
||||
|
||||
Mesa 10.1.6 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
SHA256 checksums
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
cde60e06b340d7598802fe4a4484b3fb8befd714f9ab9caabe1f27d3149e8815 MesaLib-10.1.6.tar.bz2
|
||||
e4e726d7805a442f7ed07d12f71335e6126796ec85328a5989eb5348a8042d00 MesaLib-10.1.6.tar.gz
|
||||
bf7e3f721a7ad0c2057a034834b6fea688e64f26a66cf8d1caa2827e405e72dd MesaLib-10.1.6.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 54372 <https://bugs.freedesktop.org/show_bug.cgi?id=54372>`__ -
|
||||
GLX_INTEL_swap_event crashes driver when swapping window buffers
|
||||
- `Bug 74005 <https://bugs.freedesktop.org/show_bug.cgi?id=74005>`__ -
|
||||
[i965 Bisected]Piglit/glx_glx-make-glxdrawable-current fails
|
||||
- `Bug 78581 <https://bugs.freedesktop.org/show_bug.cgi?id=78581>`__ -
|
||||
- `Bug 79729 <https://bugs.freedesktop.org/show_bug.cgi?id=79729>`__ -
|
||||
[i965] glClear on a multisample texture doesn't work
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Adrian Negreanu (7):
|
||||
|
||||
- add megadriver_stub_FILES
|
||||
- android: adapt to the megadriver mechanism
|
||||
- android: add libloader to libGLES_mesa and libmesa_egl_dri2
|
||||
- android: add src/gallium/auxiliary as include path for
|
||||
libmesa_dricore
|
||||
- android, egl: add correct drm include for libmesa_egl_dri2
|
||||
- android, mesa_gen_matypes: pull in timespec POSIX definition
|
||||
- android, dricore: undefined reference to \_mesa_streaming_load_memcpy
|
||||
|
||||
Beren Minor (1):
|
||||
|
||||
- egl/main: Fix eglMakeCurrent when releasing context from current
|
||||
thread.
|
||||
|
||||
Carl Worth (3):
|
||||
|
||||
- docs: Add SHA256 checksums for the 10.1.5 release
|
||||
- cherry-ignore: Add a patch to ignore
|
||||
- Update VERSION to 10.1.6
|
||||
|
||||
Daniel Manjarres (1):
|
||||
|
||||
- glx: Don't crash on swap event for a Window (non-GLXWindow)
|
||||
|
||||
Emil Velikov (1):
|
||||
|
||||
- configure: error out when building opencl without LLVM
|
||||
|
||||
Iago Toral Quiroga (1):
|
||||
|
||||
- mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.
|
||||
|
||||
José Fonseca (3):
|
||||
|
||||
- mesa/main: Make get_hash.c values constant.
|
||||
- mesa: Make glGetIntegerv(GL_*_ARRAY_SIZE) return GL_BGRA.
|
||||
- mesa/main: Prevent sefgault on
|
||||
glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).
|
||||
|
||||
Kristian Høgsberg (1):
|
||||
|
||||
- mesa: Remove glClear optimization based on drawable size
|
||||
|
||||
Michel Dänzer (1):
|
||||
|
||||
- configure: Only check for OpenCL without LLVM when the latter is
|
||||
certain
|
||||
|
||||
Neil Roberts (1):
|
||||
|
||||
- i965: Set the fast clear color value for texture surfaces
|
||||
|
||||
Roland Scheidegger (1):
|
||||
|
||||
- draw: (trivial) fix clamping of viewport index
|
||||
|
||||
Tobias Klausmann (1):
|
||||
|
||||
- nv50/ir: clear subop when folding constant expressions
|
||||
|
||||
Tom Stellard (2):
|
||||
|
||||
- clover: Prevent Clang from printing number of errors and warnings to
|
||||
stderr.
|
||||
- clover: Don't use llvm's global context
|
|
@ -1,75 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.1 Release Notes / March 4, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.1 is a new development release.
|
||||
People who are concerned with stability and reliability should stick
|
||||
with a previous release or wait for Mesa 10.1.1.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
3ec43f79dbcd9aa2a4a27bf1f51655b6 MesaLib-10.1.0.tar.bz2
|
||||
08e796ec7122aa299d32d4f67a254315 MesaLib-10.1.0.tar.gz
|
||||
bd365356543f4b38e57c1ddf7a317c40 MesaLib-10.1.0.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
|
||||
<p>
|
||||
Note: some of the new features are only available with certain drivers.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>GL_ARB_draw_indirect on i965.</li>
|
||||
<li>GL_ARB_clear_buffer_object</li>
|
||||
<li>GL_ARB_viewport_array on i965.</li>
|
||||
<li>GL_ARB_map_buffer_alignment on all drivers that did not previously support
|
||||
it.</li>
|
||||
<li>GL_AMD_shader_trinary_minmax.</li>
|
||||
<li>GL_EXT_framebuffer_blit on r200 and radeon.</li>
|
||||
<li>Reduced memory usage for display lists.</li>
|
||||
<li>OpenGL 3.3 support on nv50, nvc0, r600 and radeonsi</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
TBD.
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<ul>
|
||||
<li>Removed support for the GL_MESA_texture_array extension. This extension
|
||||
enabled the use of texture array with fixed-function and assembly fragment
|
||||
shaders. No applications are known to use this extension.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,50 @@
|
|||
Mesa 10.1 Release Notes / March 4, 2014
|
||||
=======================================
|
||||
|
||||
Mesa 10.1 is a new development release. People who are concerned with
|
||||
stability and reliability should stick with a previous release or wait
|
||||
for Mesa 10.1.1.
|
||||
|
||||
Mesa 10.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
3ec43f79dbcd9aa2a4a27bf1f51655b6 MesaLib-10.1.0.tar.bz2
|
||||
08e796ec7122aa299d32d4f67a254315 MesaLib-10.1.0.tar.gz
|
||||
bd365356543f4b38e57c1ddf7a317c40 MesaLib-10.1.0.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
Note: some of the new features are only available with certain drivers.
|
||||
|
||||
- GL_ARB_draw_indirect on i965.
|
||||
- GL_ARB_clear_buffer_object
|
||||
- GL_ARB_viewport_array on i965.
|
||||
- GL_ARB_map_buffer_alignment on all drivers that did not previously
|
||||
support it.
|
||||
- GL_AMD_shader_trinary_minmax.
|
||||
- GL_EXT_framebuffer_blit on r200 and radeon.
|
||||
- Reduced memory usage for display lists.
|
||||
- OpenGL 3.3 support on nv50, nvc0, r600 and radeonsi
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
TBD.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
- Removed support for the GL_MESA_texture_array extension. This
|
||||
extension enabled the use of texture array with fixed-function and
|
||||
assembly fragment shaders. No applications are known to use this
|
||||
extension.
|
|
@ -1,61 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.2.1 Release Notes / June 6, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.2.1 is a bug fix release which fixes bugs found since the 10.2 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.2.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
96f892dae2d0bb14ac9c2113f586c909 MesaLib-10.2.1.tar.gz
|
||||
093f9b5d077e5f6061dcd7b01b7aa51a MesaLib-10.2.1.tar.bz2
|
||||
6ab76c1608e5deed1eb8b54c62d7a48a MesaLib-10.2.1.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>
|
||||
Mesa 10.2 had a build problem in the radeonsi driver due to an error resolving
|
||||
conflicts in a patch cherry-pick from master. The build error is fixed.
|
||||
</p>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Ian Romanick (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add MD5 checksum, etc. for 10.1 release</li>
|
||||
<li>radeonsi: Fix build error introduced in 5ab9a9c</li>
|
||||
<li>Bump version to 10.2.1</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,42 @@
|
|||
Mesa 10.2.1 Release Notes / June 6, 2014
|
||||
========================================
|
||||
|
||||
Mesa 10.2.1 is a bug fix release which fixes bugs found since the 10.2
|
||||
release.
|
||||
|
||||
Mesa 10.2.1 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
MD5 checksums
|
||||
-------------
|
||||
|
||||
::
|
||||
|
||||
96f892dae2d0bb14ac9c2113f586c909 MesaLib-10.2.1.tar.gz
|
||||
093f9b5d077e5f6061dcd7b01b7aa51a MesaLib-10.2.1.tar.bz2
|
||||
6ab76c1608e5deed1eb8b54c62d7a48a MesaLib-10.2.1.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
Mesa 10.2 had a build problem in the radeonsi driver due to an error
|
||||
resolving conflicts in a patch cherry-pick from master. The build error
|
||||
is fixed.
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Ian Romanick (3):
|
||||
|
||||
- docs: Add MD5 checksum, etc. for 10.1 release
|
||||
- radeonsi: Fix build error introduced in 5ab9a9c
|
||||
- Bump version to 10.2.1
|
|
@ -1,181 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.2.2 Release Notes / June 24, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.2.2 is a bug fix release which fixes bugs found since the 10.2.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.2.2 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
38c4a40364000f89cddaa1694f6f3cfb444981d1110238ce603093585477399c MesaLib-10.2.2.tar.bz2
|
||||
2af2ec8b4db624c352e961eefbcce6c8d1f86d44c5542f6f378c50e1b958d453 MesaLib-10.2.2.tar.gz
|
||||
d4c0372da59367a344d62ebcdf5cf61039c9cae6925f40f2dab8f8d95cf22da9 MesaLib-10.2.2.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=54372">Bug 54372</a> - GLX_INTEL_swap_event crashes driver when swapping window buffers</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66452">Bug 66452</a> - JUNIPER UVD accelerated playback of WMV3 streams does not work</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=74005">Bug 74005</a> - [i965 Bisected]Piglit/glx_glx-make-glxdrawable-current fails</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=77865">Bug 77865</a> - [BDW] Many Ogles3conform framebuffer_blit cases fail</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=78581">Bug 78581</a> - OpenCL: clBuildProgram prints error messages directly rather than storing them</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79029">Bug 79029</a> - INTEL_DEBUG=shader_time is full of lies</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79729">Bug 79729</a> - [i965] glClear on a multisample texture doesn't work</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79907">Bug 79907</a> - Mesa 10.2.1 --enable-vdpau default=auto broken</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80115">Bug 80115</a> - MESA_META_DRAW_BUFFERS induced GL_INVALID_VALUE errors</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Adrian Negreanu (8):</p>
|
||||
<ul>
|
||||
<li>add megadriver_stub_FILES</li>
|
||||
<li>android: adapt to the megadriver mechanism</li>
|
||||
<li>android: add libloader to libGLES_mesa and libmesa_egl_dri2</li>
|
||||
<li>android: add src/gallium/auxiliary as include path for libmesa_dricore</li>
|
||||
<li>android, egl: add correct drm include for libmesa_egl_dri2</li>
|
||||
<li>android, egl: typo dri2_fallback_pixmap_surface -> dri2_fallback_create_pixmap_surface</li>
|
||||
<li>android, mesa_gen_matypes: pull in timespec POSIX definition</li>
|
||||
<li>android, dricore: undefined reference to _mesa_streaming_load_memcpy</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (1):</p>
|
||||
<ul>
|
||||
<li>Update VERSION to 10.2.2</li>
|
||||
</ul>
|
||||
|
||||
<p>Daniel Manjarres (1):</p>
|
||||
<ul>
|
||||
<li>glx: Don't crash on swap event for a Window (non-GLXWindow)</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (3):</p>
|
||||
<ul>
|
||||
<li>targets/xa: limit the amount of exported symbols</li>
|
||||
<li>configure: error out when building opencl without LLVM</li>
|
||||
<li>configure: correctly autodetect xvmc/vdpau/omx</li>
|
||||
</ul>
|
||||
|
||||
<p>Grigori Goronzy (1):</p>
|
||||
<ul>
|
||||
<li>radeon/uvd: disable VC-1 simple/main on UVD 2.x</li>
|
||||
</ul>
|
||||
|
||||
<p>Iago Toral Quiroga (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (3):</p>
|
||||
<ul>
|
||||
<li>docs: Add initial 10.2.1 release notes</li>
|
||||
<li>docs: Add MD5 checksum, etc. for 10.2.1 release</li>
|
||||
<li>meta: Respect the driver's maximum number of draw buffers</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (7):</p>
|
||||
<ul>
|
||||
<li>gk110/ir: emit saturate flag on fadd when needed</li>
|
||||
<li>gk110/ir: fix emitting constbuf file index</li>
|
||||
<li>gk110/ir: fix bfind emission</li>
|
||||
<li>nv50: make sure to mark first scissor dirty after blit</li>
|
||||
<li>nv30: plug some memory leaks on screen destroy and shader compile</li>
|
||||
<li>nv30: avoid dangling references to deleted contexts</li>
|
||||
<li>nv30: hack to avoid errors on unexpected color/zeta combinations</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (1):</p>
|
||||
<ul>
|
||||
<li>meta_blit: properly compute texture width for the CopyTexSubImage fallback</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (1):</p>
|
||||
<ul>
|
||||
<li>mesa/main: Prevent sefgault on glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (9):</p>
|
||||
<ul>
|
||||
<li>i965: Don't use the head sentinel as an fs_inst in Gen4 workaround code.</li>
|
||||
<li>i965: Invalidate live intervals when inserting Gen4 SEND workarounds.</li>
|
||||
<li>i965/vec4: Fix dead code elimination for VGRFs of size > 1.</li>
|
||||
<li>i965: Add missing MOCS setup for 3DSTATE_INDEX_BUFFER on Broadwell.</li>
|
||||
<li>i965: Drop Broadwell perf_debugs about missing MOCS that aren't missing.</li>
|
||||
<li>i965: Add missing newlines to a few perf_debug messages.</li>
|
||||
<li>i965/vec4: Use the sampler for pull constant loads on Broadwell.</li>
|
||||
<li>i965: Use 8x4 aligned rectangles for HiZ operations on Broadwell.</li>
|
||||
<li>i965: Save meta stencil blit programs in the context.</li>
|
||||
</ul>
|
||||
|
||||
<p>Kristian Høgsberg (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Remove glClear optimization based on drawable size</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>configure: Only check for OpenCL without LLVM when the latter is certain</li>
|
||||
</ul>
|
||||
|
||||
<p>Neil Roberts (1):</p>
|
||||
<ul>
|
||||
<li>i965: Set the fast clear color value for texture surfaces</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (2):</p>
|
||||
<ul>
|
||||
<li>clover: Prevent Clang from printing number of errors and warnings to stderr.</li>
|
||||
<li>clover: Don't use llvm's global context</li>
|
||||
</ul>
|
||||
|
||||
<p>Ville Syrjälä (1):</p>
|
||||
<ul>
|
||||
<li>i915: Fix gen2 texblend setup</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,152 @@
|
|||
Mesa 10.2.2 Release Notes / June 24, 2014
|
||||
=========================================
|
||||
|
||||
Mesa 10.2.2 is a bug fix release which fixes bugs found since the 10.2.1
|
||||
release.
|
||||
|
||||
Mesa 10.2.2 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
SHA256 checksums
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
38c4a40364000f89cddaa1694f6f3cfb444981d1110238ce603093585477399c MesaLib-10.2.2.tar.bz2
|
||||
2af2ec8b4db624c352e961eefbcce6c8d1f86d44c5542f6f378c50e1b958d453 MesaLib-10.2.2.tar.gz
|
||||
d4c0372da59367a344d62ebcdf5cf61039c9cae6925f40f2dab8f8d95cf22da9 MesaLib-10.2.2.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 54372 <https://bugs.freedesktop.org/show_bug.cgi?id=54372>`__ -
|
||||
GLX_INTEL_swap_event crashes driver when swapping window buffers
|
||||
- `Bug 66452 <https://bugs.freedesktop.org/show_bug.cgi?id=66452>`__ -
|
||||
JUNIPER UVD accelerated playback of WMV3 streams does not work
|
||||
- `Bug 74005 <https://bugs.freedesktop.org/show_bug.cgi?id=74005>`__ -
|
||||
[i965 Bisected]Piglit/glx_glx-make-glxdrawable-current fails
|
||||
- `Bug 77865 <https://bugs.freedesktop.org/show_bug.cgi?id=77865>`__ -
|
||||
[BDW] Many Ogles3conform framebuffer_blit cases fail
|
||||
- `Bug 78581 <https://bugs.freedesktop.org/show_bug.cgi?id=78581>`__ -
|
||||
OpenCL: clBuildProgram prints error messages directly rather than
|
||||
storing them
|
||||
- `Bug 79029 <https://bugs.freedesktop.org/show_bug.cgi?id=79029>`__ -
|
||||
INTEL_DEBUG=shader_time is full of lies
|
||||
- `Bug 79729 <https://bugs.freedesktop.org/show_bug.cgi?id=79729>`__ -
|
||||
[i965] glClear on a multisample texture doesn't work
|
||||
- `Bug 79907 <https://bugs.freedesktop.org/show_bug.cgi?id=79907>`__ -
|
||||
Mesa 10.2.1 --enable-vdpau default=auto broken
|
||||
- `Bug 80115 <https://bugs.freedesktop.org/show_bug.cgi?id=80115>`__ -
|
||||
MESA_META_DRAW_BUFFERS induced GL_INVALID_VALUE errors
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Adrian Negreanu (8):
|
||||
|
||||
- add megadriver_stub_FILES
|
||||
- android: adapt to the megadriver mechanism
|
||||
- android: add libloader to libGLES_mesa and libmesa_egl_dri2
|
||||
- android: add src/gallium/auxiliary as include path for
|
||||
libmesa_dricore
|
||||
- android, egl: add correct drm include for libmesa_egl_dri2
|
||||
- android, egl: typo dri2_fallback_pixmap_surface ->
|
||||
dri2_fallback_create_pixmap_surface
|
||||
- android, mesa_gen_matypes: pull in timespec POSIX definition
|
||||
- android, dricore: undefined reference to \_mesa_streaming_load_memcpy
|
||||
|
||||
Carl Worth (1):
|
||||
|
||||
- Update VERSION to 10.2.2
|
||||
|
||||
Daniel Manjarres (1):
|
||||
|
||||
- glx: Don't crash on swap event for a Window (non-GLXWindow)
|
||||
|
||||
Emil Velikov (3):
|
||||
|
||||
- targets/xa: limit the amount of exported symbols
|
||||
- configure: error out when building opencl without LLVM
|
||||
- configure: correctly autodetect xvmc/vdpau/omx
|
||||
|
||||
Grigori Goronzy (1):
|
||||
|
||||
- radeon/uvd: disable VC-1 simple/main on UVD 2.x
|
||||
|
||||
Iago Toral Quiroga (1):
|
||||
|
||||
- mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.
|
||||
|
||||
Ian Romanick (3):
|
||||
|
||||
- docs: Add initial 10.2.1 release notes
|
||||
- docs: Add MD5 checksum, etc. for 10.2.1 release
|
||||
- meta: Respect the driver's maximum number of draw buffers
|
||||
|
||||
Ilia Mirkin (7):
|
||||
|
||||
- gk110/ir: emit saturate flag on fadd when needed
|
||||
- gk110/ir: fix emitting constbuf file index
|
||||
- gk110/ir: fix bfind emission
|
||||
- nv50: make sure to mark first scissor dirty after blit
|
||||
- nv30: plug some memory leaks on screen destroy and shader compile
|
||||
- nv30: avoid dangling references to deleted contexts
|
||||
- nv30: hack to avoid errors on unexpected color/zeta combinations
|
||||
|
||||
Jason Ekstrand (1):
|
||||
|
||||
- meta_blit: properly compute texture width for the CopyTexSubImage
|
||||
fallback
|
||||
|
||||
José Fonseca (1):
|
||||
|
||||
- mesa/main: Prevent sefgault on
|
||||
glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING).
|
||||
|
||||
Kenneth Graunke (9):
|
||||
|
||||
- i965: Don't use the head sentinel as an fs_inst in Gen4 workaround
|
||||
code.
|
||||
- i965: Invalidate live intervals when inserting Gen4 SEND workarounds.
|
||||
- i965/vec4: Fix dead code elimination for VGRFs of size > 1.
|
||||
- i965: Add missing MOCS setup for 3DSTATE_INDEX_BUFFER on Broadwell.
|
||||
- i965: Drop Broadwell perf_debugs about missing MOCS that aren't
|
||||
missing.
|
||||
- i965: Add missing newlines to a few perf_debug messages.
|
||||
- i965/vec4: Use the sampler for pull constant loads on Broadwell.
|
||||
- i965: Use 8x4 aligned rectangles for HiZ operations on Broadwell.
|
||||
- i965: Save meta stencil blit programs in the context.
|
||||
|
||||
Kristian Høgsberg (1):
|
||||
|
||||
- mesa: Remove glClear optimization based on drawable size
|
||||
|
||||
Michel Dänzer (1):
|
||||
|
||||
- configure: Only check for OpenCL without LLVM when the latter is
|
||||
certain
|
||||
|
||||
Neil Roberts (1):
|
||||
|
||||
- i965: Set the fast clear color value for texture surfaces
|
||||
|
||||
Tom Stellard (2):
|
||||
|
||||
- clover: Prevent Clang from printing number of errors and warnings to
|
||||
stderr.
|
||||
- clover: Don't use llvm's global context
|
||||
|
||||
Ville Syrjälä (1):
|
||||
|
||||
- i915: Fix gen2 texblend setup
|
|
@ -1,130 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.2.3 Release Notes / July 7, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.2.3 is a bug fix release which fixes bugs found since the 10.2.2 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.2.3 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
e482a96170c98b17d6aba0d6e4dda4b9a2e61c39587bb64ac38cadfa4aba4aeb MesaLib-10.2.3.tar.bz2
|
||||
96cffacaa1c52ae659b3b0f91be2eebf5528b748934256751261fb79ea3d6636 MesaLib-10.2.3.tar.gz
|
||||
82cab6ff14c8038ee39842dbdea0d447a78d119efd8d702d1497bc7c246434e9 MesaLib-10.2.3.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76223">Bug 76223</a> - </li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=79823">Bug 79823</a> - </li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80015">Bug 80015</a> - </li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Aaron Watry (1):</p>
|
||||
<ul>
|
||||
<li>radeon/llvm: Allocate space for kernel metadata operands</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (2):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.2.2 release</li>
|
||||
<li>cherry-ignore: Add a patch that's been rejected</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (4):</p>
|
||||
<ul>
|
||||
<li>nouveau: dup fd before passing it to device</li>
|
||||
<li>nv50: disable dedicated ubo upload method</li>
|
||||
<li>nv50: do an explicit flush on draw when there are persistent buffers</li>
|
||||
<li>nvc0: add a memory barrier when there are persistent UBOs</li>
|
||||
</ul>
|
||||
|
||||
<p>Jasper St. Pierre (1):</p>
|
||||
<ul>
|
||||
<li>glxext: Send the Drawable's ID in the GLX_BufferSwapComplete event</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (3):</p>
|
||||
<ul>
|
||||
<li>i965: Don't emit SURFACE_STATEs for gather workarounds on Broadwell.</li>
|
||||
<li>i965: Include marketing names for Broadwell GPUs.</li>
|
||||
<li>i965/disasm: Fix INTEL_DEBUG=fs on Broadwell for ARB_fp applications.</li>
|
||||
</ul>
|
||||
|
||||
<p>Michel Dänzer (1):</p>
|
||||
<ul>
|
||||
<li>radeon/llvm: Use the llvm.rsq.clamped intrinsic for RSQ</li>
|
||||
</ul>
|
||||
|
||||
<p>Rob Clark (9):</p>
|
||||
<ul>
|
||||
<li>xa: fix segfault</li>
|
||||
<li>freedreno: use OUT_RELOCW when buffer is written</li>
|
||||
<li>freedreno/a3xx: fix depth/stencil GMEM positioning</li>
|
||||
<li>freedreno/a3xx: fix depth/stencil gmem restore</li>
|
||||
<li>freedreno/a3xx: fix blend opcode</li>
|
||||
<li>freedreno: few caps fixes</li>
|
||||
<li>freedreno/a3xx: texture fixes</li>
|
||||
<li>freedreno: fix for null textures</li>
|
||||
<li>freedreno/a3xx: vtx formats</li>
|
||||
</ul>
|
||||
|
||||
<p>Roland Scheidegger (1):</p>
|
||||
<ul>
|
||||
<li>draw: (trivial) fix clamping of viewport index</li>
|
||||
</ul>
|
||||
|
||||
<p>Takashi Iwai (1):</p>
|
||||
<ul>
|
||||
<li>llvmpipe: Fix zero-division in llvmpipe_texture_layout()</li>
|
||||
</ul>
|
||||
|
||||
<p>Thomas Hellstrom (1):</p>
|
||||
<ul>
|
||||
<li>st/xa: Don't close the drm fd on failure v2</li>
|
||||
</ul>
|
||||
|
||||
<p>Tobias Klausmann (1):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: allow gl_ViewportIndex to work on non-provoking vertices</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,96 @@
|
|||
Mesa 10.2.3 Release Notes / July 7, 2014
|
||||
========================================
|
||||
|
||||
Mesa 10.2.3 is a bug fix release which fixes bugs found since the 10.2.2
|
||||
release.
|
||||
|
||||
Mesa 10.2.3 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
SHA256 checksums
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
e482a96170c98b17d6aba0d6e4dda4b9a2e61c39587bb64ac38cadfa4aba4aeb MesaLib-10.2.3.tar.bz2
|
||||
96cffacaa1c52ae659b3b0f91be2eebf5528b748934256751261fb79ea3d6636 MesaLib-10.2.3.tar.gz
|
||||
82cab6ff14c8038ee39842dbdea0d447a78d119efd8d702d1497bc7c246434e9 MesaLib-10.2.3.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 76223 <https://bugs.freedesktop.org/show_bug.cgi?id=76223>`__ -
|
||||
- `Bug 79823 <https://bugs.freedesktop.org/show_bug.cgi?id=79823>`__ -
|
||||
- `Bug 80015 <https://bugs.freedesktop.org/show_bug.cgi?id=80015>`__ -
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Aaron Watry (1):
|
||||
|
||||
- radeon/llvm: Allocate space for kernel metadata operands
|
||||
|
||||
Carl Worth (2):
|
||||
|
||||
- docs: Add sha256 sums for the 10.2.2 release
|
||||
- cherry-ignore: Add a patch that's been rejected
|
||||
|
||||
Ilia Mirkin (4):
|
||||
|
||||
- nouveau: dup fd before passing it to device
|
||||
- nv50: disable dedicated ubo upload method
|
||||
- nv50: do an explicit flush on draw when there are persistent buffers
|
||||
- nvc0: add a memory barrier when there are persistent UBOs
|
||||
|
||||
Jasper St. Pierre (1):
|
||||
|
||||
- glxext: Send the Drawable's ID in the GLX_BufferSwapComplete event
|
||||
|
||||
Kenneth Graunke (3):
|
||||
|
||||
- i965: Don't emit SURFACE_STATEs for gather workarounds on Broadwell.
|
||||
- i965: Include marketing names for Broadwell GPUs.
|
||||
- i965/disasm: Fix INTEL_DEBUG=fs on Broadwell for ARB_fp applications.
|
||||
|
||||
Michel Dänzer (1):
|
||||
|
||||
- radeon/llvm: Use the llvm.rsq.clamped intrinsic for RSQ
|
||||
|
||||
Rob Clark (9):
|
||||
|
||||
- xa: fix segfault
|
||||
- freedreno: use OUT_RELOCW when buffer is written
|
||||
- freedreno/a3xx: fix depth/stencil GMEM positioning
|
||||
- freedreno/a3xx: fix depth/stencil gmem restore
|
||||
- freedreno/a3xx: fix blend opcode
|
||||
- freedreno: few caps fixes
|
||||
- freedreno/a3xx: texture fixes
|
||||
- freedreno: fix for null textures
|
||||
- freedreno/a3xx: vtx formats
|
||||
|
||||
Roland Scheidegger (1):
|
||||
|
||||
- draw: (trivial) fix clamping of viewport index
|
||||
|
||||
Takashi Iwai (1):
|
||||
|
||||
- llvmpipe: Fix zero-division in llvmpipe_texture_layout()
|
||||
|
||||
Thomas Hellstrom (1):
|
||||
|
||||
- st/xa: Don't close the drm fd on failure v2
|
||||
|
||||
Tobias Klausmann (1):
|
||||
|
||||
- nv50/ir: allow gl_ViewportIndex to work on non-provoking vertices
|
|
@ -1,127 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.2.4 Release Notes / July 18, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.2.4 is a bug fix release which fixes bugs found since the 10.2.3 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.2.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
06a2341244eb85c283f59f70161e06ded106f835ed9b6be1ef0243bd9344811a MesaLib-10.2.4.tar.bz2
|
||||
33e3c8b4343503e7d7d17416c670438860a2fd99ec93ea3327f73c3abe33b5e4 MesaLib-10.2.4.tar.gz
|
||||
e26791a4a62a61b82e506e6ba031812d09697d1a831e8239af67e5722a8ee538 MesaLib-10.2.4.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=81157">Bug 81157</a> - [BDW]Piglit some spec_glsl-1.50_execution_built-in-functions* cases fail</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Abdiel Janulgue (3):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Refactor check for potential copy propagated instructions.</li>
|
||||
<li>i965/fs: skip copy-propate for logical instructions with negated src entries</li>
|
||||
<li>i965/vec4: skip copy-propate for logical instructions with negated src entries</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (3):</p>
|
||||
<ul>
|
||||
<li>mesa: fix geometry shader memory leaks</li>
|
||||
<li>st/mesa: fix geometry shader memory leak</li>
|
||||
<li>gallium/u_blitter: fix some shader memory leaks</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (2):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 checksums for the 10.2.3 release</li>
|
||||
<li>Update VERSION to 10.2.4</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (1):</p>
|
||||
<ul>
|
||||
<li>i965: Generalize the pixel_x/y workaround for all UW types.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (4):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: retrieve shadow compare from first arg</li>
|
||||
<li>nv50/ir: ignore bias for samplerCubeShadow on nv50</li>
|
||||
<li>nvc0/ir: do quadops on the right texture coordinates for TXD</li>
|
||||
<li>nvc0/ir: use manual TXD when offsets are involved</li>
|
||||
</ul>
|
||||
|
||||
<p>Jordan Justen (1):</p>
|
||||
<ul>
|
||||
<li>i965: Add auxiliary surface field #defines for Broadwell.</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (9):</p>
|
||||
<ul>
|
||||
<li>i965: Don't copy propagate abs into Broadwell logic instructions.</li>
|
||||
<li>i965: Set execution size to 8 for instructions with force_sechalf set.</li>
|
||||
<li>i965/fs: Set force_uncompressed and force_sechalf on samplepos setup.</li>
|
||||
<li>i965/fs: Use WE_all for gl_SampleID header register munging.</li>
|
||||
<li>i965: Add plumbing for Broadwell's auxiliary surface support.</li>
|
||||
<li>i965: Drop SINT workaround for CMS layout on Broadwell.</li>
|
||||
<li>i965: Hook up the MCS buffers in SURFACE_STATE on Broadwell.</li>
|
||||
<li>i965: Add 2x MSAA support to the MCS allocation function.</li>
|
||||
<li>i965: Enable compressed multisample support (CMS) on Broadwell.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (4):</p>
|
||||
<ul>
|
||||
<li>gallium: fix u_default_transfer_inline_write for textures</li>
|
||||
<li>st/mesa: fix samplerCubeShadow with bias</li>
|
||||
<li>radeonsi: fix samplerCubeShadow with bias</li>
|
||||
<li>radeonsi: add support for TXB2</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (8):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: Don't return void from a void function.</li>
|
||||
<li>i965/vec4: Don't fix_math_operand() on Gen >= 8.</li>
|
||||
<li>i965/fs: Don't fix_math_operand() on Gen >= 8.</li>
|
||||
<li>i965/fs: Make try_constant_propagate() static.</li>
|
||||
<li>i965/fs: Constant propagate into 2-src math instructions on Gen8.</li>
|
||||
<li>i965/vec4: Constant propagate into 2-src math instructions on Gen8.</li>
|
||||
<li>i965/fs: Don't use brw_imm_* unnecessarily.</li>
|
||||
<li>i965/fs: Set correct number of regs_written for MCS fetches.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,103 @@
|
|||
Mesa 10.2.4 Release Notes / July 18, 2014
|
||||
=========================================
|
||||
|
||||
Mesa 10.2.4 is a bug fix release which fixes bugs found since the 10.2.3
|
||||
release.
|
||||
|
||||
Mesa 10.2.4 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
SHA256 checksums
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
06a2341244eb85c283f59f70161e06ded106f835ed9b6be1ef0243bd9344811a MesaLib-10.2.4.tar.bz2
|
||||
33e3c8b4343503e7d7d17416c670438860a2fd99ec93ea3327f73c3abe33b5e4 MesaLib-10.2.4.tar.gz
|
||||
e26791a4a62a61b82e506e6ba031812d09697d1a831e8239af67e5722a8ee538 MesaLib-10.2.4.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 81157 <https://bugs.freedesktop.org/show_bug.cgi?id=81157>`__ -
|
||||
[BDW]Piglit some spec_glsl-1.50_execution_built-in-functions\* cases
|
||||
fail
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Abdiel Janulgue (3):
|
||||
|
||||
- i965/fs: Refactor check for potential copy propagated instructions.
|
||||
- i965/fs: skip copy-propate for logical instructions with negated src
|
||||
entries
|
||||
- i965/vec4: skip copy-propate for logical instructions with negated
|
||||
src entries
|
||||
|
||||
Brian Paul (3):
|
||||
|
||||
- mesa: fix geometry shader memory leaks
|
||||
- st/mesa: fix geometry shader memory leak
|
||||
- gallium/u_blitter: fix some shader memory leaks
|
||||
|
||||
Carl Worth (2):
|
||||
|
||||
- docs: Add sha256 checksums for the 10.2.3 release
|
||||
- Update VERSION to 10.2.4
|
||||
|
||||
Eric Anholt (1):
|
||||
|
||||
- i965: Generalize the pixel_x/y workaround for all UW types.
|
||||
|
||||
Ilia Mirkin (4):
|
||||
|
||||
- nv50/ir: retrieve shadow compare from first arg
|
||||
- nv50/ir: ignore bias for samplerCubeShadow on nv50
|
||||
- nvc0/ir: do quadops on the right texture coordinates for TXD
|
||||
- nvc0/ir: use manual TXD when offsets are involved
|
||||
|
||||
Jordan Justen (1):
|
||||
|
||||
- i965: Add auxiliary surface field #defines for Broadwell.
|
||||
|
||||
Kenneth Graunke (9):
|
||||
|
||||
- i965: Don't copy propagate abs into Broadwell logic instructions.
|
||||
- i965: Set execution size to 8 for instructions with force_sechalf
|
||||
set.
|
||||
- i965/fs: Set force_uncompressed and force_sechalf on samplepos setup.
|
||||
- i965/fs: Use WE_all for gl_SampleID header register munging.
|
||||
- i965: Add plumbing for Broadwell's auxiliary surface support.
|
||||
- i965: Drop SINT workaround for CMS layout on Broadwell.
|
||||
- i965: Hook up the MCS buffers in SURFACE_STATE on Broadwell.
|
||||
- i965: Add 2x MSAA support to the MCS allocation function.
|
||||
- i965: Enable compressed multisample support (CMS) on Broadwell.
|
||||
|
||||
Marek Olšák (4):
|
||||
|
||||
- gallium: fix u_default_transfer_inline_write for textures
|
||||
- st/mesa: fix samplerCubeShadow with bias
|
||||
- radeonsi: fix samplerCubeShadow with bias
|
||||
- radeonsi: add support for TXB2
|
||||
|
||||
Matt Turner (8):
|
||||
|
||||
- i965/vec4: Don't return void from a void function.
|
||||
- i965/vec4: Don't fix_math_operand() on Gen >= 8.
|
||||
- i965/fs: Don't fix_math_operand() on Gen >= 8.
|
||||
- i965/fs: Make try_constant_propagate() static.
|
||||
- i965/fs: Constant propagate into 2-src math instructions on Gen8.
|
||||
- i965/vec4: Constant propagate into 2-src math instructions on Gen8.
|
||||
- i965/fs: Don't use brw_imm_\* unnecessarily.
|
||||
- i965/fs: Set correct number of regs_written for MCS fetches.
|
|
@ -1,188 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.2.5 Release Notes / August 2, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.2.5 is a bug fix release which fixes bugs found since the 10.2.4 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.2.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
b4459f0bf7f4a3c8fb78ece3c9d2eac3d0e5bf38cb470f2a72705e744bd0310d MesaLib-10.2.5.tar.bz2
|
||||
7b4dd0cb683f8c7dc48a3e7a315742bed58ddcd7b756c462aca4177bd1acdc79 MesaLib-10.2.5.tar.gz
|
||||
6180565914fb238dd77ccdaff96b6155d9a6e1b3e981ebbf6a6851301b384fed MesaLib-10.2.5.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=80991">Bug 80991</a> - [BDW]Piglit spec_ARB_sample_shading_builtin-gl-sample-mask_2 fails</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Abdiel Janulgue (3):</p>
|
||||
<ul>
|
||||
<li>i965/fs: Refactor check for potential copy propagated instructions.</li>
|
||||
<li>i965/fs: skip copy-propate for logical instructions with negated src entries</li>
|
||||
<li>i965/vec4: skip copy-propate for logical instructions with negated src entries</li>
|
||||
</ul>
|
||||
|
||||
<p>Adel Gadllah (1):</p>
|
||||
<ul>
|
||||
<li>i915: Fix up intelInitScreen2 for DRI3</li>
|
||||
</ul>
|
||||
|
||||
<p>Anuj Phogat (2):</p>
|
||||
<ul>
|
||||
<li>i965: Fix z_offset computation in intel_miptree_unmap_depthstencil()</li>
|
||||
<li>mesa: Don't use memcpy() in _mesa_texstore() for float depth texture data</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (3):</p>
|
||||
<ul>
|
||||
<li>mesa: fix geometry shader memory leaks</li>
|
||||
<li>st/mesa: fix geometry shader memory leak</li>
|
||||
<li>gallium/u_blitter: fix some shader memory leaks</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (6):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 checksums for the 10.2.3 release</li>
|
||||
<li>Update VERSION to 10.2.4</li>
|
||||
<li>Add release notes for 10.2.4</li>
|
||||
<li>docs: Add SHA256 checksums for the 10.2.4 release</li>
|
||||
<li>cherry-ignore: Ignore a few patches picked in the previous stable release</li>
|
||||
<li>Update version to 10.2.5</li>
|
||||
</ul>
|
||||
|
||||
<p>Christian König (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: fix order of r600_need_dma_space and r600_context_bo_reloc</li>
|
||||
</ul>
|
||||
|
||||
<p>Eric Anholt (1):</p>
|
||||
<ul>
|
||||
<li>i965: Generalize the pixel_x/y workaround for all UW types.</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (2):</p>
|
||||
<ul>
|
||||
<li>mesa: Don't allow GL_TEXTURE_BORDER queries outside compat profile</li>
|
||||
<li>mesa: Don't allow GL_TEXTURE_{LUMINANCE,INTENSITY}_* queries outside compat profile</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (5):</p>
|
||||
<ul>
|
||||
<li>nv50/ir: retrieve shadow compare from first arg</li>
|
||||
<li>nv50/ir: ignore bias for samplerCubeShadow on nv50</li>
|
||||
<li>nvc0/ir: do quadops on the right texture coordinates for TXD</li>
|
||||
<li>nvc0/ir: use manual TXD when offsets are involved</li>
|
||||
<li>nvc0: make sure that the local memory allocation is aligned to 0x10</li>
|
||||
</ul>
|
||||
|
||||
<p>Jason Ekstrand (2):</p>
|
||||
<ul>
|
||||
<li>main/format_pack: Fix a wrong datatype in pack_ubyte_R8G8_UNORM</li>
|
||||
<li>main/get_hash_params: Add GL_SAMPLE_SHADING_ARB</li>
|
||||
</ul>
|
||||
|
||||
<p>Jordan Justen (1):</p>
|
||||
<ul>
|
||||
<li>i965: Add auxiliary surface field #defines for Broadwell.</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (1):</p>
|
||||
<ul>
|
||||
<li>st/wgl: Clamp wglChoosePixelFormatARB's output nNumFormats to nMaxFormats.</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (13):</p>
|
||||
<ul>
|
||||
<li>i965: Don't copy propagate abs into Broadwell logic instructions.</li>
|
||||
<li>i965: Set execution size to 8 for instructions with force_sechalf set.</li>
|
||||
<li>i965/fs: Set force_uncompressed and force_sechalf on samplepos setup.</li>
|
||||
<li>i965/fs: Use WE_all for gl_SampleID header register munging.</li>
|
||||
<li>i965: Add plumbing for Broadwell's auxiliary surface support.</li>
|
||||
<li>i965: Drop SINT workaround for CMS layout on Broadwell.</li>
|
||||
<li>i965: Hook up the MCS buffers in SURFACE_STATE on Broadwell.</li>
|
||||
<li>i965: Add 2x MSAA support to the MCS allocation function.</li>
|
||||
<li>i965: Enable compressed multisample support (CMS) on Broadwell.</li>
|
||||
<li>i965: Add missing persample_shading field to brw_wm_debug_recompile.</li>
|
||||
<li>i965/fs: Fix gl_SampleID for 2x MSAA and SIMD16 mode.</li>
|
||||
<li>i965/fs: Fix gl_SampleMask handling for SIMD16 on Gen8+.</li>
|
||||
<li>i965/fs: Set LastRT on the final FB write on Broadwell.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (14):</p>
|
||||
<ul>
|
||||
<li>gallium: fix u_default_transfer_inline_write for textures</li>
|
||||
<li>st/mesa: fix samplerCubeShadow with bias</li>
|
||||
<li>radeonsi: fix samplerCubeShadow with bias</li>
|
||||
<li>radeonsi: add support for TXB2</li>
|
||||
<li>r600g: switch SNORM conversion to DX and GLES behavior</li>
|
||||
<li>radeonsi: fix CMASK and HTILE calculations for Hawaii</li>
|
||||
<li>gallium/util: add a helper for calculating primitive count from vertex count</li>
|
||||
<li>radeonsi: fix a hang with instancing on Hawaii</li>
|
||||
<li>radeonsi: fix a hang with streamout on Hawaii</li>
|
||||
<li>winsys/radeon: fix vram_size overflow with Hawaii</li>
|
||||
<li>radeonsi: fix occlusion queries on Hawaii</li>
|
||||
<li>r600g,radeonsi: switch all occurences of array_size to util_max_layer</li>
|
||||
<li>radeonsi: fix build because of lack of draw_indirect infrastructure in 10.2</li>
|
||||
<li>radeonsi: use DRAW_PREAMBLE on CIK</li>
|
||||
</ul>
|
||||
|
||||
<p>Matt Turner (8):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: Don't return void from a void function.</li>
|
||||
<li>i965/vec4: Don't fix_math_operand() on Gen >= 8.</li>
|
||||
<li>i965/fs: Don't fix_math_operand() on Gen >= 8.</li>
|
||||
<li>i965/fs: Make try_constant_propagate() static.</li>
|
||||
<li>i965/fs: Constant propagate into 2-src math instructions on Gen8.</li>
|
||||
<li>i965/vec4: Constant propagate into 2-src math instructions on Gen8.</li>
|
||||
<li>i965/fs: Don't use brw_imm_* unnecessarily.</li>
|
||||
<li>i965/fs: Set correct number of regs_written for MCS fetches.</li>
|
||||
</ul>
|
||||
|
||||
<p>Thorsten Glaser (1):</p>
|
||||
<ul>
|
||||
<li>nv50: fix build failure on m68k due to invalid struct alignment assumptions</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (1):</p>
|
||||
<ul>
|
||||
<li>clover: Call end_query before getting timestamp result v2</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,163 @@
|
|||
Mesa 10.2.5 Release Notes / August 2, 2014
|
||||
==========================================
|
||||
|
||||
Mesa 10.2.5 is a bug fix release which fixes bugs found since the 10.2.4
|
||||
release.
|
||||
|
||||
Mesa 10.2.5 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
SHA256 checksums
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
b4459f0bf7f4a3c8fb78ece3c9d2eac3d0e5bf38cb470f2a72705e744bd0310d MesaLib-10.2.5.tar.bz2
|
||||
7b4dd0cb683f8c7dc48a3e7a315742bed58ddcd7b756c462aca4177bd1acdc79 MesaLib-10.2.5.tar.gz
|
||||
6180565914fb238dd77ccdaff96b6155d9a6e1b3e981ebbf6a6851301b384fed MesaLib-10.2.5.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 80991 <https://bugs.freedesktop.org/show_bug.cgi?id=80991>`__ -
|
||||
[BDW]Piglit spec_ARB_sample_shading_builtin-gl-sample-mask_2 fails
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Abdiel Janulgue (3):
|
||||
|
||||
- i965/fs: Refactor check for potential copy propagated instructions.
|
||||
- i965/fs: skip copy-propate for logical instructions with negated src
|
||||
entries
|
||||
- i965/vec4: skip copy-propate for logical instructions with negated
|
||||
src entries
|
||||
|
||||
Adel Gadllah (1):
|
||||
|
||||
- i915: Fix up intelInitScreen2 for DRI3
|
||||
|
||||
Anuj Phogat (2):
|
||||
|
||||
- i965: Fix z_offset computation in intel_miptree_unmap_depthstencil()
|
||||
- mesa: Don't use memcpy() in \_mesa_texstore() for float depth texture
|
||||
data
|
||||
|
||||
Brian Paul (3):
|
||||
|
||||
- mesa: fix geometry shader memory leaks
|
||||
- st/mesa: fix geometry shader memory leak
|
||||
- gallium/u_blitter: fix some shader memory leaks
|
||||
|
||||
Carl Worth (6):
|
||||
|
||||
- docs: Add sha256 checksums for the 10.2.3 release
|
||||
- Update VERSION to 10.2.4
|
||||
- Add release notes for 10.2.4
|
||||
- docs: Add SHA256 checksums for the 10.2.4 release
|
||||
- cherry-ignore: Ignore a few patches picked in the previous stable
|
||||
release
|
||||
- Update version to 10.2.5
|
||||
|
||||
Christian König (1):
|
||||
|
||||
- radeonsi: fix order of r600_need_dma_space and r600_context_bo_reloc
|
||||
|
||||
Eric Anholt (1):
|
||||
|
||||
- i965: Generalize the pixel_x/y workaround for all UW types.
|
||||
|
||||
Ian Romanick (2):
|
||||
|
||||
- mesa: Don't allow GL_TEXTURE_BORDER queries outside compat profile
|
||||
- mesa: Don't allow GL_TEXTURE_{LUMINANCE,INTENSITY}_\* queries outside
|
||||
compat profile
|
||||
|
||||
Ilia Mirkin (5):
|
||||
|
||||
- nv50/ir: retrieve shadow compare from first arg
|
||||
- nv50/ir: ignore bias for samplerCubeShadow on nv50
|
||||
- nvc0/ir: do quadops on the right texture coordinates for TXD
|
||||
- nvc0/ir: use manual TXD when offsets are involved
|
||||
- nvc0: make sure that the local memory allocation is aligned to 0x10
|
||||
|
||||
Jason Ekstrand (2):
|
||||
|
||||
- main/format_pack: Fix a wrong datatype in pack_ubyte_R8G8_UNORM
|
||||
- main/get_hash_params: Add GL_SAMPLE_SHADING_ARB
|
||||
|
||||
Jordan Justen (1):
|
||||
|
||||
- i965: Add auxiliary surface field #defines for Broadwell.
|
||||
|
||||
José Fonseca (1):
|
||||
|
||||
- st/wgl: Clamp wglChoosePixelFormatARB's output nNumFormats to
|
||||
nMaxFormats.
|
||||
|
||||
Kenneth Graunke (13):
|
||||
|
||||
- i965: Don't copy propagate abs into Broadwell logic instructions.
|
||||
- i965: Set execution size to 8 for instructions with force_sechalf
|
||||
set.
|
||||
- i965/fs: Set force_uncompressed and force_sechalf on samplepos setup.
|
||||
- i965/fs: Use WE_all for gl_SampleID header register munging.
|
||||
- i965: Add plumbing for Broadwell's auxiliary surface support.
|
||||
- i965: Drop SINT workaround for CMS layout on Broadwell.
|
||||
- i965: Hook up the MCS buffers in SURFACE_STATE on Broadwell.
|
||||
- i965: Add 2x MSAA support to the MCS allocation function.
|
||||
- i965: Enable compressed multisample support (CMS) on Broadwell.
|
||||
- i965: Add missing persample_shading field to brw_wm_debug_recompile.
|
||||
- i965/fs: Fix gl_SampleID for 2x MSAA and SIMD16 mode.
|
||||
- i965/fs: Fix gl_SampleMask handling for SIMD16 on Gen8+.
|
||||
- i965/fs: Set LastRT on the final FB write on Broadwell.
|
||||
|
||||
Marek Olšák (14):
|
||||
|
||||
- gallium: fix u_default_transfer_inline_write for textures
|
||||
- st/mesa: fix samplerCubeShadow with bias
|
||||
- radeonsi: fix samplerCubeShadow with bias
|
||||
- radeonsi: add support for TXB2
|
||||
- r600g: switch SNORM conversion to DX and GLES behavior
|
||||
- radeonsi: fix CMASK and HTILE calculations for Hawaii
|
||||
- gallium/util: add a helper for calculating primitive count from
|
||||
vertex count
|
||||
- radeonsi: fix a hang with instancing on Hawaii
|
||||
- radeonsi: fix a hang with streamout on Hawaii
|
||||
- winsys/radeon: fix vram_size overflow with Hawaii
|
||||
- radeonsi: fix occlusion queries on Hawaii
|
||||
- r600g,radeonsi: switch all occurences of array_size to util_max_layer
|
||||
- radeonsi: fix build because of lack of draw_indirect infrastructure
|
||||
in 10.2
|
||||
- radeonsi: use DRAW_PREAMBLE on CIK
|
||||
|
||||
Matt Turner (8):
|
||||
|
||||
- i965/vec4: Don't return void from a void function.
|
||||
- i965/vec4: Don't fix_math_operand() on Gen >= 8.
|
||||
- i965/fs: Don't fix_math_operand() on Gen >= 8.
|
||||
- i965/fs: Make try_constant_propagate() static.
|
||||
- i965/fs: Constant propagate into 2-src math instructions on Gen8.
|
||||
- i965/vec4: Constant propagate into 2-src math instructions on Gen8.
|
||||
- i965/fs: Don't use brw_imm_\* unnecessarily.
|
||||
- i965/fs: Set correct number of regs_written for MCS fetches.
|
||||
|
||||
Thorsten Glaser (1):
|
||||
|
||||
- nv50: fix build failure on m68k due to invalid struct alignment
|
||||
assumptions
|
||||
|
||||
Tom Stellard (1):
|
||||
|
||||
- clover: Call end_query before getting timestamp result v2
|
|
@ -1,118 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.2.6 Release Notes / August 19, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.2.6 is a bug fix release which fixes bugs found since the 10.2.5 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.2.6 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
193314d2adba98e43697d726739ac46b4299aae324fa1821aa226890c28ac806 MesaLib-10.2.6.tar.bz2
|
||||
f7a45a5977b485eb95ac024205c584a0c112fe3951c2313c797579bb16a7a448 MesaLib-10.2.6.tar.gz
|
||||
6d086d6fcda8f317adfaaae40011decf2f2e2dc80819c4a7a77c76f73512e8d8 MesaLib-10.2.6.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=81450">Bug 81450</a> - [BDW]Piglit spec_glsl-1.30_execution_tex-miplevel-selection_textureGrad_1DArray cases intel_do_flush_locked failed</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Anuj Phogat (15):</p>
|
||||
<ul>
|
||||
<li>mesa: Fix error condition for valid texture targets in glTexStorage* functions</li>
|
||||
<li>mesa: Turn target_can_be_compressed() in to a utility function</li>
|
||||
<li>mesa: Add error condition for using compressed internalformat in glTexStorage3D()</li>
|
||||
<li>mesa: Fix condition for using compressed internalformat in glCompressedTexImage3D()</li>
|
||||
<li>mesa: Add utility function _mesa_is_enum_format_snorm()</li>
|
||||
<li>mesa: Don't allow snorm internal formats in glCopyTexImage*() in GLES3</li>
|
||||
<li>mesa: Add a helper function _mesa_is_enum_format_unsized()</li>
|
||||
<li>mesa: Add a gles3 error condition for sized internalformat in glCopyTexImage*()</li>
|
||||
<li>mesa: Add gles3 error condition for GL_RGBA10_A2 buffer format in glCopyTexImage*()</li>
|
||||
<li>mesa: Add utility function _mesa_is_enum_format_unorm()</li>
|
||||
<li>mesa: Add gles3 condition for normalized internal formats in glCopyTexImage*()</li>
|
||||
<li>mesa: Allow GL_TEXTURE_CUBE_MAP target with compressed internal formats</li>
|
||||
<li>meta: Use _mesa_get_format_bits() to get the GL_RED_BITS</li>
|
||||
<li>egl: Fix OpenGL ES version checks in _eglParseContextAttribList()</li>
|
||||
<li>meta: Fix datatype computation in get_temp_image_type()</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>mesa: fix assertion in _mesa_drawbuffers()</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (2):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums to the 10.2.5 release notes</li>
|
||||
<li>Update VERSION to 10.2.6</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (1):</p>
|
||||
<ul>
|
||||
<li>mesa/st: only convert AND(a, NOT(b)) into MAD when not using native integers</li>
|
||||
</ul>
|
||||
|
||||
<p>Jordan Justen (1):</p>
|
||||
<ul>
|
||||
<li>i965/miptree: Layout 1D Array as 2D Array with height of 1</li>
|
||||
</ul>
|
||||
|
||||
<p>Maarten Lankhorst (1):</p>
|
||||
<ul>
|
||||
<li>configure.ac: Do not require llvm on x32</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (4):</p>
|
||||
<ul>
|
||||
<li>st/mesa: fix blit-based partial TexSubImage for 1D arrays</li>
|
||||
<li>radeon,r200: fix buffer validation after CS flush</li>
|
||||
<li>radeonsi: fix a hang with instancing in Unigine Heaven/Valley on Hawaii</li>
|
||||
<li>radeonsi: fix CMASK and HTILE allocation on Tahiti</li>
|
||||
</ul>
|
||||
|
||||
<p>Pali Rohár (1):</p>
|
||||
<ul>
|
||||
<li>configure: check for dladdr via AC_CHECK_FUNC/AC_CHECK_LIB</li>
|
||||
</ul>
|
||||
|
||||
<p>Roland Scheidegger (1):</p>
|
||||
<ul>
|
||||
<li>gallivm: fix up out-of-bounds level when using conformant out-of-bound behavior</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,104 @@
|
|||
Mesa 10.2.6 Release Notes / August 19, 2014
|
||||
===========================================
|
||||
|
||||
Mesa 10.2.6 is a bug fix release which fixes bugs found since the 10.2.5
|
||||
release.
|
||||
|
||||
Mesa 10.2.6 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
SHA256 checksums
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
193314d2adba98e43697d726739ac46b4299aae324fa1821aa226890c28ac806 MesaLib-10.2.6.tar.bz2
|
||||
f7a45a5977b485eb95ac024205c584a0c112fe3951c2313c797579bb16a7a448 MesaLib-10.2.6.tar.gz
|
||||
6d086d6fcda8f317adfaaae40011decf2f2e2dc80819c4a7a77c76f73512e8d8 MesaLib-10.2.6.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 81450 <https://bugs.freedesktop.org/show_bug.cgi?id=81450>`__ -
|
||||
[BDW]Piglit
|
||||
spec_glsl-1.30_execution_tex-miplevel-selection_textureGrad_1DArray
|
||||
cases intel_do_flush_locked failed
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Anuj Phogat (15):
|
||||
|
||||
- mesa: Fix error condition for valid texture targets in glTexStorage\*
|
||||
functions
|
||||
- mesa: Turn target_can_be_compressed() in to a utility function
|
||||
- mesa: Add error condition for using compressed internalformat in
|
||||
glTexStorage3D()
|
||||
- mesa: Fix condition for using compressed internalformat in
|
||||
glCompressedTexImage3D()
|
||||
- mesa: Add utility function \_mesa_is_enum_format_snorm()
|
||||
- mesa: Don't allow snorm internal formats in glCopyTexImage*() in
|
||||
GLES3
|
||||
- mesa: Add a helper function \_mesa_is_enum_format_unsized()
|
||||
- mesa: Add a gles3 error condition for sized internalformat in
|
||||
glCopyTexImage*()
|
||||
- mesa: Add gles3 error condition for GL_RGBA10_A2 buffer format in
|
||||
glCopyTexImage*()
|
||||
- mesa: Add utility function \_mesa_is_enum_format_unorm()
|
||||
- mesa: Add gles3 condition for normalized internal formats in
|
||||
glCopyTexImage*()
|
||||
- mesa: Allow GL_TEXTURE_CUBE_MAP target with compressed internal
|
||||
formats
|
||||
- meta: Use \_mesa_get_format_bits() to get the GL_RED_BITS
|
||||
- egl: Fix OpenGL ES version checks in \_eglParseContextAttribList()
|
||||
- meta: Fix datatype computation in get_temp_image_type()
|
||||
|
||||
Brian Paul (1):
|
||||
|
||||
- mesa: fix assertion in \_mesa_drawbuffers()
|
||||
|
||||
Carl Worth (2):
|
||||
|
||||
- docs: Add sha256 sums to the 10.2.5 release notes
|
||||
- Update VERSION to 10.2.6
|
||||
|
||||
Ilia Mirkin (1):
|
||||
|
||||
- mesa/st: only convert AND(a, NOT(b)) into MAD when not using native
|
||||
integers
|
||||
|
||||
Jordan Justen (1):
|
||||
|
||||
- i965/miptree: Layout 1D Array as 2D Array with height of 1
|
||||
|
||||
Maarten Lankhorst (1):
|
||||
|
||||
- configure.ac: Do not require llvm on x32
|
||||
|
||||
Marek Olšák (4):
|
||||
|
||||
- st/mesa: fix blit-based partial TexSubImage for 1D arrays
|
||||
- radeon,r200: fix buffer validation after CS flush
|
||||
- radeonsi: fix a hang with instancing in Unigine Heaven/Valley on
|
||||
Hawaii
|
||||
- radeonsi: fix CMASK and HTILE allocation on Tahiti
|
||||
|
||||
Pali Rohár (1):
|
||||
|
||||
- configure: check for dladdr via AC_CHECK_FUNC/AC_CHECK_LIB
|
||||
|
||||
Roland Scheidegger (1):
|
||||
|
||||
- gallivm: fix up out-of-bounds level when using conformant
|
||||
out-of-bound behavior
|
|
@ -1,211 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Mesa Release Notes</title>
|
||||
<link rel="stylesheet" type="text/css" href="../mesa.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="header">
|
||||
The Mesa 3D Graphics Library
|
||||
</div>
|
||||
|
||||
<iframe src="../contents.html"></iframe>
|
||||
<div class="content">
|
||||
|
||||
<h1>Mesa 10.2.7 Release Notes / September 06, 2014</h1>
|
||||
|
||||
<p>
|
||||
Mesa 10.2.7 is a bug fix release which fixes bugs found since the 10.2.6 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 10.2.7 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 3.3. OpenGL
|
||||
3.3 is <strong>only</strong> available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
</p>
|
||||
|
||||
<h2>SHA256 checksums</h2>
|
||||
<pre>
|
||||
cb67dfaabf88acba29aa2cf0dd58ee17b21ebf9594f8d1226c41794da8de3e9d MesaLib-10.2.7.tar.gz
|
||||
27b958063a4c002071f14ed45c7d2a1ee52cd85e4ac8876e8a1c273495a7d43f MesaLib-10.2.7.tar.bz2
|
||||
a2796a2d5bbbc2edd22857ecc267cba68dfe5d0296f5d84ba7510877b216cc40 MesaLib-10.2.7.zip
|
||||
</pre>
|
||||
|
||||
<h2>New features</h2>
|
||||
<p>None</p>
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
|
||||
<p>This list is likely incomplete.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=36193">Bug 36193</a> - [i965] brw_eu_emit.c:182: validate_reg: Assertion `execsize >= width' failed.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=66184">Bug 66184</a> - src/mesa/state_tracker/st_glsl_to_tgsi.cpp:3216:simplify_cmp: Assertion `inst->dst.index < 4096' failed.</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=70441">Bug 70441</a> - [Gen4-5 clip] Piglit spec_OpenGL_1.1_polygon-offset hits (execsize >= width) assertion</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76188">Bug 76188</a> - EGL_EXT_image_dma_buf_import fd ownership is incorrect</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=76789">Bug 76789</a> - [radeonsi] si_descriptors.c requires -std=gnu99 or -fms-extensions</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82139">Bug 82139</a> - [r600g, bisected] multiple ubo piglit regressions</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82255">Bug 82255</a> - [VP2] Chroma planes are vertically stretched during VDPAU playback</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82671">Bug 82671</a> - [r600g-evergreen][compute]Empty kernel execution causes crash</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82709">Bug 82709</a> - OpenCL not working on radeon hainan</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=82814">Bug 82814</a> - glDrawBuffers(0, NULL) segfaults in _mesa_drawbuffers</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83079">Bug 83079</a> - [NVC0] Dota 2 (Linux native and Wine) crash with Nouveau Drivers</li>
|
||||
|
||||
<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=83355">Bug 83355</a> - FTBFS: src/mesa/program/program_lexer.l:122:64: error: unknown type name 'YYSTYPE'</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Changes</h2>
|
||||
|
||||
<p>Adam Jackson (1):</p>
|
||||
<ul>
|
||||
<li>radeonsi: Don't use anonymous struct trick in atom tracking</li>
|
||||
</ul>
|
||||
|
||||
<p>Alex Deucher (2):</p>
|
||||
<ul>
|
||||
<li>radeonsi: add new CIK pci ids</li>
|
||||
<li>radeonsi: add new SI pci ids</li>
|
||||
</ul>
|
||||
|
||||
<p>Andreas Boll (1):</p>
|
||||
<ul>
|
||||
<li>winsys/radeon: fix nop packet padding for hawaii</li>
|
||||
</ul>
|
||||
|
||||
<p>Anuj Phogat (1):</p>
|
||||
<ul>
|
||||
<li>i965: Bail on vec4 copy propagation for scratch writes with source modifiers</li>
|
||||
</ul>
|
||||
|
||||
<p>Brian Paul (1):</p>
|
||||
<ul>
|
||||
<li>mesa: fix NULL pointer deref bug in _mesa_drawbuffers()</li>
|
||||
</ul>
|
||||
|
||||
<p>Carl Worth (2):</p>
|
||||
<ul>
|
||||
<li>docs: Add sha256 sums for the 10.2.6 release</li>
|
||||
<li>Makefile: Switch from md5sums to sha256sums</li>
|
||||
</ul>
|
||||
|
||||
<p>Dave Airlie (1):</p>
|
||||
<ul>
|
||||
<li>i965: add missing parens in vec4 visitor</li>
|
||||
</ul>
|
||||
|
||||
<p>Emil Velikov (17):</p>
|
||||
<ul>
|
||||
<li>configure.ac: bail out if building gallium_gbm without gallium_egl</li>
|
||||
<li>android: gallium/nouveau: fix include folders, link against libstlport</li>
|
||||
<li>android: egl/main: fixup the nouveau build</li>
|
||||
<li>automake: gallium/freedreno: drop spurious include dirs</li>
|
||||
<li>android: gallium/freedreno: add preliminary build</li>
|
||||
<li>android: egl/main: add/enable freedreno</li>
|
||||
<li>android: gallium/auxiliary: drop log2/log2f redefitions</li>
|
||||
<li>android: drop HAL_PIXEL_FORMAT_RGBA_{5551,4444}</li>
|
||||
<li>android: glsl: the stlport over the limited Android STL</li>
|
||||
<li>android: dri/i915: do not build an 'empty' driver</li>
|
||||
<li>cherry-ignore: remove patch that lacking previous dependencies</li>
|
||||
<li>cherry-ignore: PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE is not it 10.2</li>
|
||||
<li>cherry-ignore: drop whitespace fix</li>
|
||||
<li>cherry-ignore: reject a15088338eb</li>
|
||||
<li>get-pick-list.sh: Require explicit "10.2" for nominating stable patches</li>
|
||||
<li>mesa: fix make tarballs</li>
|
||||
<li>Update VERSION to 10.2.7</li>
|
||||
</ul>
|
||||
|
||||
<p>Ian Romanick (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Handle uninitialized textures like other textures in get_tex_level_parameter_image</li>
|
||||
</ul>
|
||||
|
||||
<p>Ilia Mirkin (9):</p>
|
||||
<ul>
|
||||
<li>nouveau: make sure to invalidate any vbo state as well</li>
|
||||
<li>nouveau: don't keep stale pointer to free'd data</li>
|
||||
<li>nvc0/ir: avoid infinite recursion when finding first uses of tex</li>
|
||||
<li>nv50: zero out unbound samplers</li>
|
||||
<li>nvc0: don't make 1d staging textures linear</li>
|
||||
<li>nv50/ir: avoid creating instructions that can't be emitted</li>
|
||||
<li>nv50: set the miptree address when clearing bo's in vp2 init</li>
|
||||
<li>nv50: mt address may not be the underlying bo's start address</li>
|
||||
<li>nv50: attach the buffer bo to the miptree structures</li>
|
||||
</ul>
|
||||
|
||||
<p>Jan Vesely (1):</p>
|
||||
<ul>
|
||||
<li>gallivm: Fix build with latest LLVM</li>
|
||||
</ul>
|
||||
|
||||
<p>José Fonseca (1):</p>
|
||||
<ul>
|
||||
<li>mesa: Move declaration to top of block.</li>
|
||||
</ul>
|
||||
|
||||
<p>Kenneth Graunke (3):</p>
|
||||
<ul>
|
||||
<li>i965/vec4: Set NoMask for GS_OPCODE_SET_VERTEX_COUNT on Gen8+.</li>
|
||||
<li>i965/vec4: Respect ir->force_writemask_all in Gen8 code generation.</li>
|
||||
<li>i965/clip: Fix brw_clip_unfilled.c/compute_offset's assembly.</li>
|
||||
</ul>
|
||||
|
||||
<p>Marek Olšák (3):</p>
|
||||
<ul>
|
||||
<li>r600g: fix constant buffer fetches</li>
|
||||
<li>radeonsi: save scissor state and sample mask for u_blitter</li>
|
||||
<li>glsl_to_tgsi: allocate and enlarge arrays for temporaries on demand</li>
|
||||
</ul>
|
||||
|
||||
<p>Paulo Sergio Travaglia (2):</p>
|
||||
<ul>
|
||||
<li>android: gallium/radeon: attempt to fix the android build</li>
|
||||
<li>android: egl/main: resolve radeon linking issues</li>
|
||||
</ul>
|
||||
|
||||
<p>Pekka Paalanen (1):</p>
|
||||
<ul>
|
||||
<li>egl_dri2: fix EXT_image_dma_buf_import fds</li>
|
||||
</ul>
|
||||
|
||||
<p>Robert Bragg (1):</p>
|
||||
<ul>
|
||||
<li>meta: save and restore swizzle for _GenerateMipmap</li>
|
||||
</ul>
|
||||
|
||||
<p>Tom Stellard (7):</p>
|
||||
<ul>
|
||||
<li>radeon/compute: Fix reported values for MAX_GLOBAL_SIZE and MAX_MEM_ALLOC_SIZE</li>
|
||||
<li>radeonsi/compute: Update reference counts for buffers in si_set_global_binding()</li>
|
||||
<li>radeonsi/compute: Call si_pm4_free_state() after emitting compute state</li>
|
||||
<li>clover: Flush the command queue in clReleaseCommandQueue()</li>
|
||||
<li>radeon: Add work-around for missing Hainan support in clang < 3.6 v2</li>
|
||||
<li>pipe-loader: Fix memory leak v2</li>
|
||||
<li>r600g/compute: Don't initialize vertex_buffer_state masks to 0x2</li>
|
||||
</ul>
|
||||
|
||||
<p>Vinson Lee (1):</p>
|
||||
<ul>
|
||||
<li>gallivm: Fix build with LLVM >= 3.6 r215967.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,183 @@
|
|||
Mesa 10.2.7 Release Notes / September 06, 2014
|
||||
==============================================
|
||||
|
||||
Mesa 10.2.7 is a bug fix release which fixes bugs found since the 10.2.6
|
||||
release.
|
||||
|
||||
Mesa 10.2.7 implements the OpenGL 3.3 API, but the version reported by
|
||||
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
|
||||
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being
|
||||
used. Some drivers don't support all the features required in OpenGL
|
||||
3.3. OpenGL 3.3 is **only** available if requested at context creation
|
||||
because compatibility contexts are not supported.
|
||||
|
||||
SHA256 checksums
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
cb67dfaabf88acba29aa2cf0dd58ee17b21ebf9594f8d1226c41794da8de3e9d MesaLib-10.2.7.tar.gz
|
||||
27b958063a4c002071f14ed45c7d2a1ee52cd85e4ac8876e8a1c273495a7d43f MesaLib-10.2.7.tar.bz2
|
||||
a2796a2d5bbbc2edd22857ecc267cba68dfe5d0296f5d84ba7510877b216cc40 MesaLib-10.2.7.zip
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
This list is likely incomplete.
|
||||
|
||||
- `Bug 36193 <https://bugs.freedesktop.org/show_bug.cgi?id=36193>`__ -
|
||||
[i965] brw_eu_emit.c:182: validate_reg: Assertion \`execsize >=
|
||||
width' failed.
|
||||
- `Bug 66184 <https://bugs.freedesktop.org/show_bug.cgi?id=66184>`__ -
|
||||
src/mesa/state_tracker/st_glsl_to_tgsi.cpp:3216:simplify_cmp:
|
||||
Assertion \`inst->dst.index < 4096' failed.
|
||||
- `Bug 70441 <https://bugs.freedesktop.org/show_bug.cgi?id=70441>`__ -
|
||||
[Gen4-5 clip] Piglit spec_OpenGL_1.1_polygon-offset hits (execsize >=
|
||||
width) assertion
|
||||
- `Bug 76188 <https://bugs.freedesktop.org/show_bug.cgi?id=76188>`__ -
|
||||
EGL_EXT_image_dma_buf_import fd ownership is incorrect
|
||||
- `Bug 76789 <https://bugs.freedesktop.org/show_bug.cgi?id=76789>`__ -
|
||||
[radeonsi] si_descriptors.c requires -std=gnu99 or -fms-extensions
|
||||
- `Bug 82139 <https://bugs.freedesktop.org/show_bug.cgi?id=82139>`__ -
|
||||
[r600g, bisected] multiple ubo piglit regressions
|
||||
- `Bug 82255 <https://bugs.freedesktop.org/show_bug.cgi?id=82255>`__ -
|
||||
[VP2] Chroma planes are vertically stretched during VDPAU playback
|
||||
- `Bug 82671 <https://bugs.freedesktop.org/show_bug.cgi?id=82671>`__ -
|
||||
[r600g-evergreen][compute]Empty kernel execution causes crash
|
||||
- `Bug 82709 <https://bugs.freedesktop.org/show_bug.cgi?id=82709>`__ -
|
||||
OpenCL not working on radeon hainan
|
||||
- `Bug 82814 <https://bugs.freedesktop.org/show_bug.cgi?id=82814>`__ -
|
||||
glDrawBuffers(0, NULL) segfaults in \_mesa_drawbuffers
|
||||
- `Bug 83079 <https://bugs.freedesktop.org/show_bug.cgi?id=83079>`__ -
|
||||
[NVC0] Dota 2 (Linux native and Wine) crash with Nouveau Drivers
|
||||
- `Bug 83355 <https://bugs.freedesktop.org/show_bug.cgi?id=83355>`__ -
|
||||
FTBFS: src/mesa/program/program_lexer.l:122:64: error: unknown type
|
||||
name 'YYSTYPE'
|
||||
|
||||
Changes
|
||||
-------
|
||||
|
||||
Adam Jackson (1):
|
||||
|
||||
- radeonsi: Don't use anonymous struct trick in atom tracking
|
||||
|
||||
Alex Deucher (2):
|
||||
|
||||
- radeonsi: add new CIK pci ids
|
||||
- radeonsi: add new SI pci ids
|
||||
|
||||
Andreas Boll (1):
|
||||
|
||||
- winsys/radeon: fix nop packet padding for hawaii
|
||||
|
||||
Anuj Phogat (1):
|
||||
|
||||
- i965: Bail on vec4 copy propagation for scratch writes with source
|
||||
modifiers
|
||||
|
||||
Brian Paul (1):
|
||||
|
||||
- mesa: fix NULL pointer deref bug in \_mesa_drawbuffers()
|
||||
|
||||
Carl Worth (2):
|
||||
|
||||
- docs: Add sha256 sums for the 10.2.6 release
|
||||
- Makefile: Switch from md5sums to sha256sums
|
||||
|
||||
Dave Airlie (1):
|
||||
|
||||
- i965: add missing parens in vec4 visitor
|
||||
|
||||
Emil Velikov (17):
|
||||
|
||||
- configure.ac: bail out if building gallium_gbm without gallium_egl
|
||||
- android: gallium/nouveau: fix include folders, link against
|
||||
libstlport
|
||||
- android: egl/main: fixup the nouveau build
|
||||
- automake: gallium/freedreno: drop spurious include dirs
|
||||
- android: gallium/freedreno: add preliminary build
|
||||
- android: egl/main: add/enable freedreno
|
||||
- android: gallium/auxiliary: drop log2/log2f redefitions
|
||||
- android: drop HAL_PIXEL_FORMAT_RGBA_{5551,4444}
|
||||
- android: glsl: the stlport over the limited Android STL
|
||||
- android: dri/i915: do not build an 'empty' driver
|
||||
- cherry-ignore: remove patch that lacking previous dependencies
|
||||
- cherry-ignore: PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE is not it 10.2
|
||||
- cherry-ignore: drop whitespace fix
|
||||
- cherry-ignore: reject a15088338eb
|
||||
- get-pick-list.sh: Require explicit "10.2" for nominating stable
|
||||
patches
|
||||
- mesa: fix make tarballs
|
||||
- Update VERSION to 10.2.7
|
||||
|
||||
Ian Romanick (1):
|
||||
|
||||
- mesa: Handle uninitialized textures like other textures in
|
||||
get_tex_level_parameter_image
|
||||
|
||||
Ilia Mirkin (9):
|
||||
|
||||
- nouveau: make sure to invalidate any vbo state as well
|
||||
- nouveau: don't keep stale pointer to free'd data
|
||||
- nvc0/ir: avoid infinite recursion when finding first uses of tex
|
||||
- nv50: zero out unbound samplers
|
||||
- nvc0: don't make 1d staging textures linear
|
||||
- nv50/ir: avoid creating instructions that can't be emitted
|
||||
- nv50: set the miptree address when clearing bo's in vp2 init
|
||||
- nv50: mt address may not be the underlying bo's start address
|
||||
- nv50: attach the buffer bo to the miptree structures
|
||||
|
||||
Jan Vesely (1):
|
||||
|
||||
- gallivm: Fix build with latest LLVM
|
||||
|
||||
José Fonseca (1):
|
||||
|
||||
- mesa: Move declaration to top of block.
|
||||
|
||||
Kenneth Graunke (3):
|
||||
|
||||
- i965/vec4: Set NoMask for GS_OPCODE_SET_VERTEX_COUNT on Gen8+.
|
||||
- i965/vec4: Respect ir->force_writemask_all in Gen8 code generation.
|
||||
- i965/clip: Fix brw_clip_unfilled.c/compute_offset's assembly.
|
||||
|
||||
Marek Olšák (3):
|
||||
|
||||
- r600g: fix constant buffer fetches
|
||||
- radeonsi: save scissor state and sample mask for u_blitter
|
||||
- glsl_to_tgsi: allocate and enlarge arrays for temporaries on demand
|
||||
|
||||
Paulo Sergio Travaglia (2):
|
||||
|
||||
- android: gallium/radeon: attempt to fix the android build
|
||||
- android: egl/main: resolve radeon linking issues
|
||||
|
||||
Pekka Paalanen (1):
|
||||
|
||||
- egl_dri2: fix EXT_image_dma_buf_import fds
|
||||
|
||||
Robert Bragg (1):
|
||||
|
||||
- meta: save and restore swizzle for \_GenerateMipmap
|
||||
|
||||
Tom Stellard (7):
|
||||
|
||||
- radeon/compute: Fix reported values for MAX_GLOBAL_SIZE and
|
||||
MAX_MEM_ALLOC_SIZE
|
||||
- radeonsi/compute: Update reference counts for buffers in
|
||||
si_set_global_binding()
|
||||
- radeonsi/compute: Call si_pm4_free_state() after emitting compute
|
||||
state
|
||||
- clover: Flush the command queue in clReleaseCommandQueue()
|
||||
- radeon: Add work-around for missing Hainan support in clang < 3.6 v2
|
||||
- pipe-loader: Fix memory leak v2
|
||||
- r600g/compute: Don't initialize vertex_buffer_state masks to 0x2
|
||||
|
||||
Vinson Lee (1):
|
||||
|
||||
- gallivm: Fix build with LLVM >= 3.6 r215967.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue